diff options
author | John McCall <rjmccall@apple.com> | 2012-03-21 00:45:33 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2012-03-21 00:45:33 +0000 |
commit | 4c7a6c6e51be5f4ad98c086bbf115ee3ee08ebaf (patch) | |
tree | c0ddc627656afc26623ddbcb5d3211701e579727 /test/SemaCXX | |
parent | fde05e1d482c5a96800fcca5dbcedd2375d8c6fc (diff) |
Test case for rdar://problem/11055105, a bug with the instantiation
of references to function template parameters in noexcept clauses when
the instantiation is forced from a point during parsing when a block
is in scope.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153152 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX')
-rw-r--r-- | test/SemaCXX/blocks-1.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/test/SemaCXX/blocks-1.cpp b/test/SemaCXX/blocks-1.cpp index 29de1e666a..1b1509482a 100644 --- a/test/SemaCXX/blocks-1.cpp +++ b/test/SemaCXX/blocks-1.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s -fblocks +// RUN: %clang_cc1 -fsyntax-only -verify %s -fblocks -std=c++11 extern "C" int exit(int); @@ -43,3 +43,16 @@ namespace rdar8134521 { P = (int(^)(int))((void*)1); } } + +namespace rdar11055105 { + struct A { + void foo(); + }; + + template <class T> void foo(T &x) noexcept(noexcept(x.foo())); + + void (^block)() = ^{ + A a; + foo(a); + }; +} |