summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaTemplate/instantiate-enum.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-03-01 19:00:07 +0000
committerDouglas Gregor <dgregor@apple.com>2010-03-01 19:00:07 +0000
commitaff9c1a03353d09cf9ad97e98e1a952c48cba941 (patch)
tree8ef02ed5313c2607b491c139261eaa687cbd36c6 /clang/test/SemaTemplate/instantiate-enum.cpp
parent12b02282d923f8d8f04d60ae0b943fd263d28fdb (diff)
downloadbcm5719-llvm-aff9c1a03353d09cf9ad97e98e1a952c48cba941.tar.gz
bcm5719-llvm-aff9c1a03353d09cf9ad97e98e1a952c48cba941.zip
When instantiating a function-scoped enum, make sure that it and its
enumeration constants get placed into the local instantiation hash table. Fixes PR6375. llvm-svn: 97471
Diffstat (limited to 'clang/test/SemaTemplate/instantiate-enum.cpp')
-rw-r--r--clang/test/SemaTemplate/instantiate-enum.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/instantiate-enum.cpp b/clang/test/SemaTemplate/instantiate-enum.cpp
index 6f9aa4b116d..5353a92a90b 100644
--- a/clang/test/SemaTemplate/instantiate-enum.cpp
+++ b/clang/test/SemaTemplate/instantiate-enum.cpp
@@ -9,3 +9,19 @@ struct adder {
};
int array1[adder<long, 3, 4>::value == 7? 1 : -1];
+
+namespace PR6375 {
+ template<typename T>
+ void f() {
+ enum Enum
+ {
+ enumerator1 = 0xFFFFFFF,
+ enumerator2 = enumerator1 - 1
+ };
+
+ int xb1 = enumerator1;
+ int xe1 = enumerator2;
+ }
+
+ template void f<int>();
+}
OpenPOWER on IntegriCloud