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
This commit is contained in:
John McCall 2012-03-21 00:45:33 +00:00
Родитель fde05e1d48
Коммит 4c7a6c6e51
1 изменённых файлов: 14 добавлений и 1 удалений

Просмотреть файл

@ -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);
};
}