summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/function-template-explicit-specialization.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-12-08 05:40:03 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-12-08 05:40:03 +0000
commit7316819fcf056e26d159b7f8ac0f7d9448c4e40f (patch)
tree80a35f980f89968d98689cff388f6ec95d140a4f /clang/test/CodeGenCXX/function-template-explicit-specialization.cpp
parentff09559a8f7eb5ad8a6c77a348b24fdad6d0b9bf (diff)
downloadbcm5719-llvm-7316819fcf056e26d159b7f8ac0f7d9448c4e40f.tar.gz
bcm5719-llvm-7316819fcf056e26d159b7f8ac0f7d9448c4e40f.zip
Fix for PR5710: make sure to put function template specializations into the
DeclContext, so they don't completely disappear from the AST. I don't particularly like this fix, but I don't see any obviously better way to deal with it, and I think it's pretty clearly an improvement; comments welcome. llvm-svn: 90835
Diffstat (limited to 'clang/test/CodeGenCXX/function-template-explicit-specialization.cpp')
-rw-r--r--clang/test/CodeGenCXX/function-template-explicit-specialization.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/function-template-explicit-specialization.cpp b/clang/test/CodeGenCXX/function-template-explicit-specialization.cpp
new file mode 100644
index 00000000000..046bc325a5d
--- /dev/null
+++ b/clang/test/CodeGenCXX/function-template-explicit-specialization.cpp
@@ -0,0 +1,13 @@
+// RUN: clang-cc -emit-llvm %s -o - | FileCheck %s
+
+template<typename T> void a(T);
+template<> void a(int) {}
+
+// CHECK: define void @_Z1aIiEvT_
+
+namespace X {
+template<typename T> void b(T);
+template<> void b(int) {}
+}
+
+// CHECK: define void @_ZN1X1bIiEEvT_
OpenPOWER on IntegriCloud