From aff9c1a03353d09cf9ad97e98e1a952c48cba941 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Mon, 1 Mar 2010 19:00:07 +0000 Subject: 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 --- clang/test/SemaTemplate/instantiate-enum.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'clang/test/SemaTemplate') 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::value == 7? 1 : -1]; + +namespace PR6375 { + template + void f() { + enum Enum + { + enumerator1 = 0xFFFFFFF, + enumerator2 = enumerator1 - 1 + }; + + int xb1 = enumerator1; + int xe1 = enumerator2; + } + + template void f(); +} -- cgit v1.2.3