summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorJan Korous <jkorous@apple.com>2017-10-09 19:51:33 +0000
committerJan Korous <jkorous@apple.com>2017-10-09 19:51:33 +0000
commit663ba15ed6cf3509ef5b77bec985e06666d95a10 (patch)
tree25aafdc5aa24d1d03e9778726d13f2b62f30cae8 /clang/test
parent1364d268a418bd77863f6f35e3fb285376441ecd (diff)
downloadbcm5719-llvm-663ba15ed6cf3509ef5b77bec985e06666d95a10.tar.gz
bcm5719-llvm-663ba15ed6cf3509ef5b77bec985e06666d95a10.zip
PR13575: Fix USR mangling for fixed-size arrays
Differential Revision: https://reviews.llvm.org/D38643 llvm-svn: 315236
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Index/USR/array-type.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/Index/USR/array-type.cpp b/clang/test/Index/USR/array-type.cpp
new file mode 100644
index 00000000000..2ebeb7f4a1d
--- /dev/null
+++ b/clang/test/Index/USR/array-type.cpp
@@ -0,0 +1,11 @@
+// RUN: c-index-test core -print-source-symbols -- %s | FileCheck %s
+
+// Function template specializations differing in array type parameter should have unique USRs.
+
+template<class buffer> void foo(buffer);
+// CHECK: {{[0-9]+}}:17 | function(Gen,TS)/C++ | foo | c:@F@foo<#{n16C>#*C# | __Z3fooIA16_cEvT_ | Decl,RelSpecialization | rel: 1
+template<> void foo<char[16]>(char[16]);
+// CHECK: {{[0-9]+}}:17 | function(Gen,TS)/C++ | foo | c:@F@foo<#{n32C>#*C# | __Z3fooIA32_cEvT_ | Decl,RelSpecialization | rel: 1
+template<> void foo<char[32]>(char[32]);
+// CHECK: {{[0-9]+}}:17 | function(Gen,TS)/C++ | foo | c:@F@foo<#{n64C>#*C# | __Z3fooIA64_cEvT_ | Decl,RelSpecialization | rel: 1
+template<> void foo<char[64]>(char[64]);
OpenPOWER on IntegriCloud