Jim Wilson <j...@sifive.com> writes:
> This fixes a riscv64-linux bootstrap failure.
>
> get_constant_section calls the select_section target hook, and select_section
> calls get_named_section which calls get_section.  So it is possible to have
> a constant not a decl in both of these functions.  They already call DECL_P
> checks everywhere except for the new code HJ recently added.  This adds the
> missing DECL_P check.
>
> Verified with a riscv64-linux bootstrap.
>
> OK?

OK, thanks.  (And yeah, I agree a testcase isn't needed for bootstrap fixes.)

Richard

>
> Jim
> ---
>  gcc/varasm.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/gcc/varasm.c b/gcc/varasm.c
> index 0fac3688828..5b2e123b0da 100644
> --- a/gcc/varasm.c
> +++ b/gcc/varasm.c
> @@ -294,6 +294,7 @@ get_section (const char *name, unsigned int flags, tree 
> decl,
>    flags |= SECTION_NAMED;
>    if (HAVE_GAS_SHF_GNU_RETAIN
>        && decl != nullptr
> +      && DECL_P (decl)
>        && DECL_PRESERVE_P (decl))
>      flags |= SECTION_RETAIN;
>    if (*slot == NULL)

Reply via email to