aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2020-11-20 13:44:57 -0700
committerMartin Sebor <msebor@redhat.com>2020-11-20 13:46:42 -0700
commitdf90f070378583f295dd972db4400f324752a240 (patch)
tree517fce4e670892715baeefb7f19cf09f1824cabe /gcc/c
parenta01dda3c23b836754814fab1cab949a1bbc641e8 (diff)
downloadgcc-df90f070378583f295dd972db4400f324752a240.zip
gcc-df90f070378583f295dd972db4400f324752a240.tar.gz
gcc-df90f070378583f295dd972db4400f324752a240.tar.bz2
PR middle-end/97879 - ICE on invalid mode in attribute access
gcc/c-family/ChangeLog: PR middle-end/97879 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL. Error out on invalid modes. gcc/c/ChangeLog: PR middle-end/97879 * c-decl.c (start_function): Set ATTR_FLAG_INTERNAL in flags. gcc/ChangeLog: PR middle-end/97879 * tree-core.h (enum attribute_flags): Add ATTR_FLAG_INTERNAL. gcc/testsuite/ChangeLog: PR middle-end/97879 * gcc.dg/attr-access-3.c: New test.
Diffstat (limited to 'gcc/c')
-rw-r--r--gcc/c/c-decl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c
index 1b02240..27f7722 100644
--- a/gcc/c/c-decl.c
+++ b/gcc/c/c-decl.c
@@ -9598,7 +9598,8 @@ start_function (struct c_declspecs *declspecs, struct c_declarator *declarator,
current_function_decl = pushdecl (decl1);
if (tree access = build_attr_access_from_parms (parms, false))
- decl_attributes (&current_function_decl, access, 0, old_decl);
+ decl_attributes (&current_function_decl, access, ATTR_FLAG_INTERNAL,
+ old_decl);
push_scope ();
declare_parm_level ();