diff --git a/CMakeLists.txt b/CMakeLists.txt index f072533..9ca3e38 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,7 @@ endif() if(UNIX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wextra -pedantic") - add_definitions(-std=c++11) + add_definitions(-std=c++14) endif() if(WIN32) diff --git a/build/.gitignore b/build/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/build/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/include/version.h b/include/version.h index 6228f67..58e2613 100644 --- a/include/version.h +++ b/include/version.h @@ -136,9 +136,9 @@ namespace version { /// Copy version data from another Basic_version to this one. Basic_version& operator=(const Basic_version&); - const int major() const; ///< Get major version. - const int minor() const; ///< Get minor version. - const int patch() const; ///< Get patch version. + int major() const; ///< Get major version. + int minor() const; ///< Get minor version. + int patch() const; ///< Get patch version. const std::string prerelease() const; ///< Get prerelease version string. const std::string build() const; ///< Get build version string. diff --git a/include/version.inl b/include/version.inl index ef93b66..c2e5e76 100644 --- a/include/version.inl +++ b/include/version.inl @@ -24,6 +24,7 @@ SOFTWARE. #pragma once +#include #include "version.h" namespace version { @@ -46,11 +47,11 @@ namespace version { template Basic_version::Basic_version(Parser p, Comparator c) - : parser_(p), comparator_(c), ver_(parser_.parse("0.0.0")) {}; + : parser_(p), comparator_(c), ver_(parser_.parse("0.0.0")) {} template Basic_version::Basic_version(const std::string& v, Parser p, Comparator c) - : parser_(p), comparator_(c), ver_(parser_.parse(v)) {}; + : parser_(p), comparator_(c), ver_(parser_.parse(v)) {} template Basic_version::Basic_version(const Basic_version&) = default; @@ -60,17 +61,17 @@ namespace version { const Basic_version&) = default; template - const int Basic_version::major() const { + int Basic_version::major() const { return ver_.major; } template - const int Basic_version::minor() const { + int Basic_version::minor() const { return ver_.minor; } template - const int Basic_version::patch() const { + int Basic_version::patch() const { return ver_.patch; } @@ -139,4 +140,4 @@ namespace version { const Basic_version& r) { return !(l > r); } -} \ No newline at end of file +} diff --git a/src/Semver200_comparator.cpp b/src/Semver200_comparator.cpp index e40b33a..814ef08 100644 --- a/src/Semver200_comparator.cpp +++ b/src/Semver200_comparator.cpp @@ -72,7 +72,7 @@ namespace version { }; // Compare prerelease identifiers based on their types. - int compare_prerel_identifiers(const Prerelease_identifier& l, const Prerelease_identifier& r) { + inline int compare_prerel_identifiers(const Prerelease_identifier& l, const Prerelease_identifier& r) { auto cmp = comparators.at({ l.second, r.second }); return cmp(l.first, r.first); } @@ -107,4 +107,4 @@ namespace version { return l.prerelease_ids.size() > r.prerelease_ids.size() ? 1 : -1; } -} \ No newline at end of file +} diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 97088b0..dc8cbd2 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -9,19 +9,19 @@ include_directories( ${Boost_INCLUDE_DIRS} ) -add_executable(semver200_parser_tests semver200_parser_tests.cpp) +add_executable(semver200_parser_tests semver200_parser_tests.cpp clang_fixes.cpp) target_link_libraries(semver200_parser_tests ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} semver ) -add_executable(semver200_comparator_tests semver200_comparator_tests.cpp) +add_executable(semver200_comparator_tests semver200_comparator_tests.cpp clang_fixes.cpp) target_link_libraries(semver200_comparator_tests ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} semver ) -add_executable(semver200_version_tests semver200_version_tests.cpp) +add_executable(semver200_version_tests semver200_version_tests.cpp clang_fixes.cpp) target_link_libraries(semver200_version_tests ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} semver diff --git a/test/clang_fixes.cpp b/test/clang_fixes.cpp new file mode 100644 index 0000000..6cbefa7 --- /dev/null +++ b/test/clang_fixes.cpp @@ -0,0 +1,14 @@ +#ifdef __clang__ + +#include +#include + +namespace boost { namespace unit_test { namespace ut_detail { + std::string normalize_test_case_name(const_string name) { + return ( name[0] == '&' ? std::string(name.begin()+1, name.size()-1) : std::string(name.begin(), name.size() )); + } +}}} + +#endif + + diff --git a/test/semver200_comparator_tests.cpp b/test/semver200_comparator_tests.cpp index 50ce8b2..b664ede 100644 --- a/test/semver200_comparator_tests.cpp +++ b/test/semver200_comparator_tests.cpp @@ -102,4 +102,4 @@ BOOST_AUTO_TEST_CASE(compare_build) { EQ("1.0.0", "1.0.0+build.1.2.3"); EQ("1.0.0+ZZZ", "1.0.0+build.1.2.3"); EQ("1.0.0+100", "1.0.0+200"); -} \ No newline at end of file +}