From 4c7a6c6e51be5f4ad98c086bbf115ee3ee08ebaf Mon Sep 17 00:00:00 2001 From: John McCall Date: Wed, 21 Mar 2012 00:45:33 +0000 Subject: [PATCH] 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 --- test/SemaCXX/blocks-1.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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 void foo(T &x) noexcept(noexcept(x.foo())); + + void (^block)() = ^{ + A a; + foo(a); + }; +} -- 2.50.1