From 96183f6b0659c036100ce4718d219ceb43a82edd Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Thu, 23 Apr 2015 05:21:20 +0000 Subject: [MS ABI] Treat ConstantArrayType like IncompleteArrayType in args Type backreferences for arguments use the DecayedType's original type. Because of this, arguments with the same canonical type with the same mangling would not backreference each other if one was a ConstantArrayType while the other was an IncompleteArrayType. Solve this by canonicalizing the ConstantArrayType to a suitable IncompleteArrayType. This fixes PR23325. llvm-svn: 235572 --- clang/test/CodeGenCXX/mangle-ms-arg-qualifiers.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'clang/test/CodeGenCXX/mangle-ms-arg-qualifiers.cpp') diff --git a/clang/test/CodeGenCXX/mangle-ms-arg-qualifiers.cpp b/clang/test/CodeGenCXX/mangle-ms-arg-qualifiers.cpp index fae2e1ab2df..41aa89b61aa 100644 --- a/clang/test/CodeGenCXX/mangle-ms-arg-qualifiers.cpp +++ b/clang/test/CodeGenCXX/mangle-ms-arg-qualifiers.cpp @@ -258,3 +258,8 @@ void mangle_yes_backref3(ptr_to_fun_type *const, void (**const)(void)) {} void mangle_yes_backref4(int *const __restrict, int *const __restrict) {} // CHECK: "\01?mangle_yes_backref4@@YAXQIAH0@Z" // X64: "\01?mangle_yes_backref4@@YAXQEIAH0@Z" + +struct S {}; +void pr23325(const S[1], const S[]) {} +// CHECK: "\01?pr23325@@YAXQBUS@@0@Z" +// X64: "\01?pr23325@@YAXQEBUS@@0@Z" -- cgit v1.2.3