Clean-up code to satisfy GCC's pedantic mode requirements. Add fix for Clang not working with GCC 5 C++ library (https://llvm.org/bugs/show_bug.cgi?id=23529)
This commit is contained in:
+1
-1
@@ -19,7 +19,7 @@ endif()
|
|||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wextra -pedantic")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wextra -pedantic")
|
||||||
add_definitions(-std=c++11)
|
add_definitions(-std=c++14)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
*
|
||||||
|
!.gitignore
|
||||||
+3
-3
@@ -136,9 +136,9 @@ namespace version {
|
|||||||
/// Copy version data from another Basic_version to this one.
|
/// Copy version data from another Basic_version to this one.
|
||||||
Basic_version& operator=(const Basic_version&);
|
Basic_version& operator=(const Basic_version&);
|
||||||
|
|
||||||
const int major() const; ///< Get major version.
|
int major() const; ///< Get major version.
|
||||||
const int minor() const; ///< Get minor version.
|
int minor() const; ///< Get minor version.
|
||||||
const int patch() const; ///< Get patch version.
|
int patch() const; ///< Get patch version.
|
||||||
const std::string prerelease() const; ///< Get prerelease version string.
|
const std::string prerelease() const; ///< Get prerelease version string.
|
||||||
const std::string build() const; ///< Get build version string.
|
const std::string build() const; ///< Get build version string.
|
||||||
|
|
||||||
|
|||||||
+7
-6
@@ -24,6 +24,7 @@ SOFTWARE.
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <sstream>
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
|
||||||
namespace version {
|
namespace version {
|
||||||
@@ -46,11 +47,11 @@ namespace version {
|
|||||||
|
|
||||||
template<typename Parser, typename Comparator>
|
template<typename Parser, typename Comparator>
|
||||||
Basic_version<Parser, Comparator>::Basic_version(Parser p, Comparator c)
|
Basic_version<Parser, Comparator>::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<typename Parser, typename Comparator>
|
template<typename Parser, typename Comparator>
|
||||||
Basic_version<Parser, Comparator>::Basic_version(const std::string& v, Parser p, Comparator c)
|
Basic_version<Parser, Comparator>::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<typename Parser, typename Comparator>
|
template<typename Parser, typename Comparator>
|
||||||
Basic_version<Parser, Comparator>::Basic_version(const Basic_version<Parser, Comparator>&) = default;
|
Basic_version<Parser, Comparator>::Basic_version(const Basic_version<Parser, Comparator>&) = default;
|
||||||
@@ -60,17 +61,17 @@ namespace version {
|
|||||||
const Basic_version<Parser, Comparator>&) = default;
|
const Basic_version<Parser, Comparator>&) = default;
|
||||||
|
|
||||||
template<typename Parser, typename Comparator>
|
template<typename Parser, typename Comparator>
|
||||||
const int Basic_version<Parser, Comparator>::major() const {
|
int Basic_version<Parser, Comparator>::major() const {
|
||||||
return ver_.major;
|
return ver_.major;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename Parser, typename Comparator>
|
template<typename Parser, typename Comparator>
|
||||||
const int Basic_version<Parser, Comparator>::minor() const {
|
int Basic_version<Parser, Comparator>::minor() const {
|
||||||
return ver_.minor;
|
return ver_.minor;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename Parser, typename Comparator>
|
template<typename Parser, typename Comparator>
|
||||||
const int Basic_version<Parser, Comparator>::patch() const {
|
int Basic_version<Parser, Comparator>::patch() const {
|
||||||
return ver_.patch;
|
return ver_.patch;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,4 +140,4 @@ namespace version {
|
|||||||
const Basic_version<Parser, Comparator>& r) {
|
const Basic_version<Parser, Comparator>& r) {
|
||||||
return !(l > r);
|
return !(l > r);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ namespace version {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Compare prerelease identifiers based on their types.
|
// 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 });
|
auto cmp = comparators.at({ l.second, r.second });
|
||||||
return cmp(l.first, r.first);
|
return cmp(l.first, r.first);
|
||||||
}
|
}
|
||||||
@@ -107,4 +107,4 @@ namespace version {
|
|||||||
return l.prerelease_ids.size() > r.prerelease_ids.size() ? 1 : -1;
|
return l.prerelease_ids.size() > r.prerelease_ids.size() ? 1 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -9,19 +9,19 @@ include_directories(
|
|||||||
${Boost_INCLUDE_DIRS}
|
${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
|
target_link_libraries(semver200_parser_tests
|
||||||
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
||||||
semver
|
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
|
target_link_libraries(semver200_comparator_tests
|
||||||
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
||||||
semver
|
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
|
target_link_libraries(semver200_version_tests
|
||||||
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
||||||
semver
|
semver
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#ifdef __clang__
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <boost/test/unit_test.hpp>
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
@@ -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", "1.0.0+build.1.2.3");
|
||||||
EQ("1.0.0+ZZZ", "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");
|
EQ("1.0.0+100", "1.0.0+200");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user