On Wed, Dec 9, 2020 at 7:10 PM Jim Wilson <j...@sifive.com> wrote: > > 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? > > 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) > -- > 2.17.1 >
A testcase? -- H.J.