@@ -321,6 +321,14 @@ TEST(MangledTest, NameIndexes_FindFunctionSymbols) {
321321 EXPECT_EQ (0 , Count (" undemangable" , eFunctionNameTypeMethod));
322322}
323323
324+ static bool NameInfoEquals (const DemangledNameInfo &lhs,
325+ const DemangledNameInfo &rhs) {
326+ return std::tie (lhs.BasenameRange , lhs.ArgumentsRange , lhs.ScopeRange ,
327+ lhs.QualifiersRange ) ==
328+ std::tie (rhs.BasenameRange , rhs.ArgumentsRange , rhs.ScopeRange ,
329+ rhs.QualifiersRange );
330+ }
331+
324332TEST (MangledTest, DemangledNameInfo_SetMangledResets) {
325333 Mangled mangled;
326334 EXPECT_EQ (mangled.GetDemangledInfo (), std::nullopt );
@@ -339,7 +347,7 @@ TEST(MangledTest, DemangledNameInfo_SetMangledResets) {
339347 ASSERT_NE (info2, std::nullopt );
340348 EXPECT_TRUE (info2->hasBasename ());
341349
342- EXPECT_NE ( info1.value (), info2.value ());
350+ EXPECT_FALSE ( NameInfoEquals ( info1.value (), info2.value () ));
343351 EXPECT_EQ (mangled.GetDemangledName (), " func()" );
344352}
345353
@@ -375,11 +383,12 @@ TEST(MangledTest, DemangledNameInfo_SetValue) {
375383 mangled.SetValue (ConstString (" _Z3foov" ));
376384 auto demangled_foo = mangled.GetDemangledInfo ();
377385 EXPECT_NE (demangled_foo, std::nullopt );
378- EXPECT_NE ( demangled_foo, demangled_func);
386+ EXPECT_FALSE ( NameInfoEquals ( demangled_foo. value () , demangled_func. value ()) );
379387
380388 // SetValue(demangled) resets demangled-info
381389 mangled.SetValue (ConstString (" _Z4funcv" ));
382- EXPECT_EQ (mangled.GetDemangledInfo (), demangled_func);
390+ EXPECT_TRUE (NameInfoEquals (mangled.GetDemangledInfo ().value (),
391+ demangled_func.value ()));
383392
384393 // SetValue(empty) resets demangled-info
385394 mangled.SetValue (ConstString ());
0 commit comments