aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family/c-attribs.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/c-family/c-attribs.c')
-rw-r--r--gcc/c-family/c-attribs.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/c-family/c-attribs.c b/gcc/c-family/c-attribs.c
index 1c9f285..c62cebf 100644
--- a/gcc/c-family/c-attribs.c
+++ b/gcc/c-family/c-attribs.c
@@ -3227,10 +3227,12 @@ parse_tm_stmt_attr (tree attrs, int allowed)
for ( ; attrs ; attrs = TREE_CHAIN (attrs))
{
- tree a = TREE_PURPOSE (attrs);
+ tree a = get_attribute_name (attrs);
+ tree ns = get_attribute_namespace (attrs);
int m = 0;
- if (is_attribute_p ("outer", a))
+ if (is_attribute_p ("outer", a)
+ && (ns == NULL_TREE || strcmp (IDENTIFIER_POINTER (ns), "gnu") == 0))
m = TM_STMT_ATTR_OUTER;
if ((m & allowed) == 0)