aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/call.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 4ce77d4..65d0e7c 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2011-08-02 Jason Merrill <jason@redhat.com>
+
+ * call.c (build_call_a): Also check at_function_scope_p.
+
2011-08-01 Jason Merrill <jason@redhat.com>
PR c++/49932
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 2eab782..b0133e2 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -352,7 +352,7 @@ build_call_a (tree function, int n, tree *argarray)
nothrow = ((decl && TREE_NOTHROW (decl))
|| TYPE_NOTHROW_P (TREE_TYPE (TREE_TYPE (function))));
- if (!nothrow && cfun && cp_function_chain)
+ if (!nothrow && at_function_scope_p () && cfun && cp_function_chain)
cp_function_chain->can_throw = 1;
if (decl && TREE_THIS_VOLATILE (decl) && cfun && cp_function_chain)