Don't use the same enum names twice
Prevents ``` [ 168s] /home/abuild/rpmbuild/BUILD/reflective-rapidjson-1563638877.5f7c18b/lib/tests/jsonreflector.cpp:41:12: warning: type 'SomeEnumClass' violates the C++ One Definition Rule [-Wodr] [ 168s] 41 | enum class SomeEnumClass { [ 168s] | ^ [ 168s] /home/abuild/rpmbuild/BUILD/reflective-rapidjson-1563638877.5f7c18b/lib/tests/binaryreflector.cpp:39:12: note: a type with different precision is defined in another translation unit [ 168s] 39 | enum class SomeEnumClass : std::uint16_t { [ 168s] | ^ ``` observed in LTO-enabled builds
This commit is contained in:
parent
8394c145f6
commit
f21f255e94
|
@ -30,13 +30,13 @@ using namespace ReflectiveRapidJSON;
|
|||
/// \cond
|
||||
|
||||
// define some enums and structs for testing serialization
|
||||
enum SomeEnum {
|
||||
enum SomeEnumBinary {
|
||||
SomeEnumItem1,
|
||||
SomeEnumItem2,
|
||||
SomeEnumItem3,
|
||||
};
|
||||
|
||||
enum class SomeEnumClass : std::uint16_t {
|
||||
enum class SomeEnumClassBinary : std::uint16_t {
|
||||
Item1,
|
||||
Item2,
|
||||
Item3,
|
||||
|
@ -54,8 +54,8 @@ struct TestObjectBinary : public BinarySerializable<TestObjectBinary> {
|
|||
multiset<string> someMultiset;
|
||||
unordered_set<string> someUnorderedSet;
|
||||
unordered_multiset<string> someUnorderedMultiset;
|
||||
SomeEnum someEnum;
|
||||
SomeEnumClass someEnumClass;
|
||||
SomeEnumBinary someEnum;
|
||||
SomeEnumClassBinary someEnumClass;
|
||||
TimeSpan timeSpan;
|
||||
DateTime dateTime;
|
||||
};
|
||||
|
@ -224,7 +224,7 @@ void BinaryReflectorTests::setUp()
|
|||
m_testObj.someSet = { "1", "2", "3", "2" };
|
||||
m_testObj.someMultiset = { "1", "2", "3", "2" };
|
||||
m_testObj.someEnum = SomeEnumItem2;
|
||||
m_testObj.someEnumClass = SomeEnumClass::Item3;
|
||||
m_testObj.someEnumClass = SomeEnumClassBinary::Item3;
|
||||
m_testObj.timeSpan = TimeSpan(0xABCD);
|
||||
m_testObj.dateTime = DateTime(0xEFAB);
|
||||
m_nestedTestObj.name = "struct with nesting";
|
||||
|
|
Loading…
Reference in New Issue