[llvm] r339450 - [MS Demangler] Add conversion operator tests.

Matt Morehouse via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 10 12:20:58 PDT 2018


Hi Zach,

This test is failing:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/22180

llvm-undname: /b/sanitizer-x86_64-linux-fast/build/llvm/lib/Demangle/MicrosoftDemangle.cpp:740:
virtual void (anonymous namespace)::Type::outputPre(OutputStream &,
(anonymous namespace)::NameResolver &): Assertion `false && "Invalid
primitive type!"' failed.

Please take a look.

On Fri, Aug 10, 2018 at 9:56 AM Zachary Turner via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: zturner
> Date: Fri Aug 10 09:55:59 2018
> New Revision: 339450
>
> URL: http://llvm.org/viewvc/llvm-project?rev=339450&view=rev
> Log:
> [MS Demangler] Add conversion operator tests.
>
> The mangled names were added in the original commit, but
> the demangled equivalents weren't, so nothing was actually
> being checked.
>
> 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=339450&r1=339449&r2=339450&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/Demangle/ms-conversion-operators.test (original)
> +++ llvm/trunk/test/Demangle/ms-conversion-operators.test Fri Aug 10
> 09:55:59 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
> +i; 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)
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180810/2f7b8567/attachment.html>


More information about the llvm-commits mailing list