aix: only create named section for VAR_DECL or FUNCTION_DECL

get_constant_section() can be passed constant-like non-DECLs, such as
CONSTRUCTOR or STRING_CST, which make DECL_SECTION_NAME unhappy
(asserted in symtab_node::get).  This patch ensures that xcoff select
section only invokes resolve_unique_section() for DECLs.

gcc/ChangeLog

2020-07-10  David Edelsohn  <dje.gcc@gmail.com>

	* config/rs6000/rs6000.c (rs6000_xcoff_select_section): Only
	create named section for VAR_DECL or FUNCTION_DECL.
This commit is contained in:
David Edelsohn 2020-07-10 17:06:21 -04:00
parent b2104239c8
commit c5ec2f858b

View file

@ -20465,7 +20465,7 @@ rs6000_xcoff_select_section (tree decl, int reloc,
{
/* Place variables with alignment stricter than BIGGEST_ALIGNMENT into
named section. */
if (align > BIGGEST_ALIGNMENT)
if (align > BIGGEST_ALIGNMENT && VAR_OR_FUNCTION_DECL_P (decl))
{
resolve_unique_section (decl, reloc, true);
if (IN_NAMED_SECTION (decl))