On Thu, 27 Jun 2024, Marek Polacek wrote:

> Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
> 
> -- >8 --
> I had this PR in my open tabs so why not go ahead and fix it.
> 
> decl_attributes gets last_decl, the last already pushed declaration,
> to be used in common_handle_aligned_attribute.  In C++, we look up
> the decl via find_last_decl, which returns NULL_TREE if it finds
> a decl that had not been declared.  In C, we look up the decl via
> lookup_last_decl which returns error_mark_node rather than NULL_TREE
> in that case.
> 
> The error_mark_node causes a crash in common_handle_aligned_attribute.
> We can fix this on the C FE side like in the patch below.
> 
>       PR c/115549
> 
> gcc/c/ChangeLog:
> 
>       * c-decl.cc (c_decl_attributes): If lookup_last_decl returns
>       error_mark_node, use NULL_TREE as last_decl.
> 
> gcc/testsuite/ChangeLog:
> 
>       * c-c++-common/attr-aligned-2.c: New test.

OK.

-- 
Joseph S. Myers
josmy...@redhat.com

Reply via email to