diff options
author | John McCall <rjmccall@apple.com> | 2010-08-17 21:51:21 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-08-17 21:51:21 +0000 |
commit | 6d86202fa752a3dffa0a7c70f171c175e6028463 (patch) | |
tree | 42c47f3433b002c104c125930e31e2f62b349e01 /clang/test/CodeGenCXX/mangle.cpp | |
parent | cad715fb9bfd50370fa22ca62634048dcc85598b (diff) | |
download | bcm5719-llvm-6d86202fa752a3dffa0a7c70f171c175e6028463.tar.gz bcm5719-llvm-6d86202fa752a3dffa0a7c70f171c175e6028463.zip |
Whoops. Don't fall through into the overload case when mangling a
dependent call expression.
llvm-svn: 111300
Diffstat (limited to 'clang/test/CodeGenCXX/mangle.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/mangle.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle.cpp b/clang/test/CodeGenCXX/mangle.cpp index 4152dabc0b4..6636c926ae4 100644 --- a/clang/test/CodeGenCXX/mangle.cpp +++ b/clang/test/CodeGenCXX/mangle.cpp @@ -540,3 +540,20 @@ namespace test16 { static union { struct { union {}; }; }; static union { struct { struct {}; }; }; } + +// rdar://problem/8302148 +namespace test17 { + template <int N> struct A {}; + + struct B { + static int foo(void); + }; + + template <class T> A<sizeof(T::foo())> func(void); + + // CHECK: define i32 @_ZN6test174testEv() + // CHECK: call {{.*}} @_ZN6test174funcINS_1BEEENS_1AIXszclsrT_3fooEEEEv() + int test() { + func<B>(); // { dg-error "sorry, unimplemented" } + } +} |