[llvm] r339466 - Resubmit r339450 - [MS Demangler] Add conversion operator tests

Zachary Turner via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 10 13:08:46 PDT 2018


Author: zturner
Date: Fri Aug 10 13:08:46 2018
New Revision: 339466

URL: http://llvm.org/viewvc/llvm-project?rev=339466&view=rev
Log:
Resubmit r339450 - [MS Demangler] Add conversion operator tests

This was broken because of a malformed check line.  Incidentally,
this exposed a case where we crash when we should just be returning
an error, so we should fix that.  The demangler shouldn't crash due
to user input.

Modified:
    llvm/trunk/test/Demangle/ms-conversion-operators.test

Modified: llvm/trunk/test/Demangle/ms-conversion-operators.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Demangle/ms-conversion-operators.test?rev=339466&r1=339465&r2=339466&view=diff
==============================================================================
--- llvm/trunk/test/Demangle/ms-conversion-operators.test (original)
+++ llvm/trunk/test/Demangle/ms-conversion-operators.test Fri Aug 10 13:08:46 2018
@@ -3,19 +3,49 @@
 ; CHECK-NOT: Invalid mangled name
 
 ??$?BH at TemplateOps@@QAEHXZ
+; CHECK: int __thiscall TemplateOps::operator<int> int(void)
+
 ??BOps@@QAEHXZ
+; CHECK: int __thiscall Ops::operator int(void)
+
 ??BConstOps@@QAE?BHXZ
+; CHECK: int const __thiscall ConstOps::operator int const(void)
+
 ??BVolatileOps@@QAE?CHXZ
+; CHECK: int volatile __thiscall VolatileOps::operator int volatile(void)
+
 ??BConstVolatileOps@@QAE?DHXZ
+; CHECK: int const volatile __thiscall ConstVolatileOps::operator int const volatile(void)
+
 ??$?BN at TemplateOps@@QAENXZ
+; CHECK: double __thiscall TemplateOps::operator<double> double(void)
+
 ??BOps@@QAENXZ
+; CHECK: double __thiscall Ops::operator double(void)
+
 ??BConstOps@@QAE?BNXZ
+; CHECK: double const __thiscall ConstOps::operator double const(void)
+
 ??BVolatileOps@@QAE?CNXZ
+; CHECK: double volatile __thiscall VolatileOps::operator double volatile(void)
+
 ??BConstVolatileOps@@QAE?DNXZ
+; CHECK: double const volatile __thiscall ConstVolatileOps::operator double const volatile(void)
+
 ??BCompoundTypeOps@@QAEPAHXZ
+; CHECK: nt * __thiscall CompoundTypeOps::operator int *(void)
+
 ??BCompoundTypeOps@@QAEPBHXZ
+; CHECK: int const * __thiscall CompoundTypeOps::operator int const *(void)
+
 ??BCompoundTypeOps@@QAE$$QAHXZ
+; CHECK: int && __thiscall CompoundTypeOps::operator int &&(void)
+
 ??BCompoundTypeOps@@QAE?AU?$Foo at H@@XZ
+; CHECK: struct Foo<int> __thiscall CompoundTypeOps::operator struct Foo<int>(void)
+
 ??$?BH at CompoundTypeOps@@QAE?AU?$Bar at U?$Foo at H@@@@XZ
-??$?BPAH at TemplateOps@@QAEPAHXZ
+; CHECK: struct Bar<struct Foo<int>> __thiscall CompoundTypeOps::operator<int> struct Bar<struct Foo<int>>(void)
 
+??$?BPAH at TemplateOps@@QAEPAHXZ
+; CHECK: int * __thiscall TemplateOps::operator<int *> int *(void)




More information about the llvm-commits mailing list