diff options
author | Martin Sebor <msebor@redhat.com> | 2020-11-20 13:44:57 -0700 |
---|---|---|
committer | Martin Sebor <msebor@redhat.com> | 2020-11-20 13:46:42 -0700 |
commit | df90f070378583f295dd972db4400f324752a240 (patch) | |
tree | 517fce4e670892715baeefb7f19cf09f1824cabe /gcc/c | |
parent | a01dda3c23b836754814fab1cab949a1bbc641e8 (diff) | |
download | gcc-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.c | 3 |
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 (¤t_function_decl, access, 0, old_decl); + decl_attributes (¤t_function_decl, access, ATTR_FLAG_INTERNAL, + old_decl); push_scope (); declare_parm_level (); |