Author: rnk Date: Wed Jun 15 20:21:28 2016 New Revision: 272862 URL: http://llvm.org/viewvc/llvm-project?rev=272862&view=rev Log: [DebugInfo] Enable generation of unique identifiers for externally visible MS ABI types
We implemented the mangling for this a long time ago. Added: cfe/trunk/test/CodeGenCXX/debug-info-ms-abi.cpp Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=272862&r1=272861&r2=272862&view=diff ============================================================================== --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original) +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Wed Jun 15 20:21:28 2016 @@ -649,10 +649,6 @@ static SmallString<256> getUniqueTagType if (!hasCXXMangling(TD, TheCU) || !TD->isExternallyVisible()) return FullName; - // Microsoft Mangler does not have support for mangleCXXRTTIName yet. - if (CGM.getTarget().getCXXABI().isMicrosoft()) - return FullName; - // TODO: This is using the RTTI name. Is there a better way to get // a unique string for a type? llvm::raw_svector_ostream Out(FullName); Added: cfe/trunk/test/CodeGenCXX/debug-info-ms-abi.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/debug-info-ms-abi.cpp?rev=272862&view=auto ============================================================================== --- cfe/trunk/test/CodeGenCXX/debug-info-ms-abi.cpp (added) +++ cfe/trunk/test/CodeGenCXX/debug-info-ms-abi.cpp Wed Jun 15 20:21:28 2016 @@ -0,0 +1,13 @@ +// RUN: %clang_cc1 %s -triple=i686-pc-windows-msvc -debug-info-kind=limited -emit-llvm -o - | FileCheck %s + +// Tests that certain miscellaneous features work in the MS ABI. + +struct Foo { + struct Nested {}; +}; +Foo f; +Foo::Nested n; +// CHECK: distinct !DICompositeType(tag: DW_TAG_structure_type, name: "Foo", +// CHECK-SAME: identifier: ".?AUFoo@@" +// CHECK: distinct !DICompositeType(tag: DW_TAG_structure_type, name: "Nested", +// CHECK-SAME: identifier: ".?AUNested@Foo@@" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits