From 922bc733353866719fbf5de29da23f423284d1dc Mon Sep 17 00:00:00 2001 From: Pavel Belikov Date: Thu, 23 Nov 2017 18:56:27 +0300 Subject: fix inclusion into multiple source files --- .gitignore | 3 +-- CMakeLists.txt | 5 +++++ Makefile | 2 +- args.hxx | 6 +++--- test/multiple_inclusion_1.cpp | 6 ++++++ test/multiple_inclusion_2.cpp | 3 +++ 6 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 test/multiple_inclusion_1.cpp create mode 100644 test/multiple_inclusion_2.cpp diff --git a/.gitignore b/.gitignore index a2312f0..3b651bd 100644 --- a/.gitignore +++ b/.gitignore @@ -29,8 +29,6 @@ /userdoc.* # test and temp files -test* -!test.cxx *.pyc *.swp *.swo @@ -38,6 +36,7 @@ test* /ld # Executable +argstest /build/ CMakeCache.txt CMakeFiles diff --git a/CMakeLists.txt b/CMakeLists.txt index 81864d7..24d4a08 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,5 +35,10 @@ else () target_compile_options(argstest PRIVATE -Wall -Wextra -Werror -pedantic -Wshadow -Wunused-parameter) endif () +add_executable(argstest-multiple-inclusion test/multiple_inclusion_1.cpp test/multiple_inclusion_2.cpp) +target_link_libraries(argstest-multiple-inclusion args) +set_property(TARGET argstest-multiple-inclusion PROPERTY CXX_STANDARD 11) + enable_testing() add_test(NAME "test" COMMAND argstest) +add_test(NAME "test-multiple-inclusion" COMMAND argstest-multiple-inclusion) diff --git a/Makefile b/Makefile index 3a3c785..4c71e96 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ LDFLAGS += $(FLAGS) SOURCES = test.cxx OBJECTS = $(SOURCES:.cxx=.o) DEPENDENCIES= $(SOURCES:.cxx=.d) -EXECUTABLE = test +EXECUTABLE = argstest .PHONY: all clean pages runtests uninstall install installman diff --git a/args.hxx b/args.hxx index d31cdd6..03faade 100644 --- a/args.hxx +++ b/args.hxx @@ -2545,18 +2545,18 @@ namespace args } }; - Command::RaiiSubparser::RaiiSubparser(ArgumentParser &parser_, std::vector args_) + inline Command::RaiiSubparser::RaiiSubparser(ArgumentParser &parser_, std::vector args_) : command(parser_.SelectedCommand()), parser(std::move(args_), parser_, command, parser_.helpParams), oldSubparser(command.subparser) { command.subparser = &parser; } - Command::RaiiSubparser::RaiiSubparser(const Command &command_, const HelpParams ¶ms_): command(command_), parser(command, params_), oldSubparser(command.subparser) + inline Command::RaiiSubparser::RaiiSubparser(const Command &command_, const HelpParams ¶ms_): command(command_), parser(command, params_), oldSubparser(command.subparser) { command.subparser = &parser; } - void Subparser::Parse() + inline void Subparser::Parse() { isParsed = true; Reset(); diff --git a/test/multiple_inclusion_1.cpp b/test/multiple_inclusion_1.cpp new file mode 100644 index 0000000..b831d0a --- /dev/null +++ b/test/multiple_inclusion_1.cpp @@ -0,0 +1,6 @@ +#include + +int foo() { return 42; } +int bar(); + +int main() { return foo() - bar(); } diff --git a/test/multiple_inclusion_2.cpp b/test/multiple_inclusion_2.cpp new file mode 100644 index 0000000..cdcb020 --- /dev/null +++ b/test/multiple_inclusion_2.cpp @@ -0,0 +1,3 @@ +#include + +int bar() { return 42; } -- cgit v1.2.1 From 479527bb9224e250f5c69beca09c9d58e26981a5 Mon Sep 17 00:00:00 2001 From: Pavel Belikov Date: Thu, 23 Nov 2017 19:49:39 +0300 Subject: fix coveralls --- .travis.yml | 2 +- CMakeLists.txt | 2 +- test/multiple_inclusion_1.cpp | 6 ------ test/multiple_inclusion_1.cxx | 6 ++++++ test/multiple_inclusion_2.cpp | 3 --- test/multiple_inclusion_2.cxx | 3 +++ 6 files changed, 11 insertions(+), 11 deletions(-) delete mode 100644 test/multiple_inclusion_1.cpp create mode 100644 test/multiple_inclusion_1.cxx delete mode 100644 test/multiple_inclusion_2.cpp create mode 100644 test/multiple_inclusion_2.cxx diff --git a/.travis.yml b/.travis.yml index d4892fe..efba6f6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -145,6 +145,6 @@ before_install: - pip install --user cpp-coveralls after_success: - - if [ "${COVERAGE}" = 1 ]; then coveralls --root .. -E ".*catch.*" -E ".*CMakeFiles.*" -E ".*gitlike.cxx.*" -E ".*test.cxx.*"; fi + - if [ "${COVERAGE}" = 1 ]; then coveralls --root .. -E ".*catch.*" -E ".*CMakeFiles.*" -E ".*gitlike.cxx.*" -E ".*test.*"; fi diff --git a/CMakeLists.txt b/CMakeLists.txt index 24d4a08..322e8d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,7 +35,7 @@ else () target_compile_options(argstest PRIVATE -Wall -Wextra -Werror -pedantic -Wshadow -Wunused-parameter) endif () -add_executable(argstest-multiple-inclusion test/multiple_inclusion_1.cpp test/multiple_inclusion_2.cpp) +add_executable(argstest-multiple-inclusion test/multiple_inclusion_1.cxx test/multiple_inclusion_2.cxx) target_link_libraries(argstest-multiple-inclusion args) set_property(TARGET argstest-multiple-inclusion PROPERTY CXX_STANDARD 11) diff --git a/test/multiple_inclusion_1.cpp b/test/multiple_inclusion_1.cpp deleted file mode 100644 index b831d0a..0000000 --- a/test/multiple_inclusion_1.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include - -int foo() { return 42; } -int bar(); - -int main() { return foo() - bar(); } diff --git a/test/multiple_inclusion_1.cxx b/test/multiple_inclusion_1.cxx new file mode 100644 index 0000000..b831d0a --- /dev/null +++ b/test/multiple_inclusion_1.cxx @@ -0,0 +1,6 @@ +#include + +int foo() { return 42; } +int bar(); + +int main() { return foo() - bar(); } diff --git a/test/multiple_inclusion_2.cpp b/test/multiple_inclusion_2.cpp deleted file mode 100644 index cdcb020..0000000 --- a/test/multiple_inclusion_2.cpp +++ /dev/null @@ -1,3 +0,0 @@ -#include - -int bar() { return 42; } diff --git a/test/multiple_inclusion_2.cxx b/test/multiple_inclusion_2.cxx new file mode 100644 index 0000000..cdcb020 --- /dev/null +++ b/test/multiple_inclusion_2.cxx @@ -0,0 +1,3 @@ +#include + +int bar() { return 42; } -- cgit v1.2.1 -- cgit v1.2.1