https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95985
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P4 Keywords| |error-recovery --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- While we could do something like: --- c-attribs.c.jj 2020-06-10 14:58:17.422495938 +0200 +++ c-attribs.c 2020-06-29 21:25:58.300888506 +0200 @@ -1975,7 +1975,9 @@ common_handle_aligned_attribute (tree *n yet. */ tree last_decl = node[1] ? node[1] : *node; - if (args) + if (args == error_mark_node) + align_expr = args; + else if (args) { align_expr = TREE_VALUE (args); if (align_expr && TREE_CODE (align_expr) != IDENTIFIER_NODE I don't think it scales well, because we have hundreds of *handle_*attribute functions and all of them assume that args is either NULL or a TREE_LIST and changing them doesn't look right.