From 755cf781f2eb3a6317af90bf3b12206b0fc54a96 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Wed, 9 Dec 2020 18:57:32 -0800 Subject: [PATCH] Add missing varasm DECL_P check. 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. gcc/ * varasm.c (get_section): Add DECL_P check before DECL_PRESERVE_P. --- 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.30.2