From f21f255e94c4b06cd29087a97e58f5a3e71544e7 Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 9 Aug 2019 17:48:08 +0200 Subject: [PATCH] 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 --- lib/tests/binaryreflector.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/tests/binaryreflector.cpp b/lib/tests/binaryreflector.cpp index 1af7a82..46a858e 100644 --- a/lib/tests/binaryreflector.cpp +++ b/lib/tests/binaryreflector.cpp @@ -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 { multiset someMultiset; unordered_set someUnorderedSet; unordered_multiset 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";