This patch checks that cfun is valid in the gcn_asm_output_symbol_ref
function. This prevents a crash when that function is called with NULL
cfun, i.e. when outputting debug symbols.
OK?
Thanks,
Julian
ChangeLog
gcc/
* config/gcn/gcn.c (gcn_asm_output_symbol_ref): Handle null cfun.
---
gcc/config/gcn/gcn.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/gcc/config/gcn/gcn.c b/gcc/config/gcn/gcn.c
index 2f758ef3ddc..3584ac85021 100644
--- a/gcc/config/gcn/gcn.c
+++ b/gcc/config/gcn/gcn.c
@@ -5199,7 +5199,8 @@ void
gcn_asm_output_symbol_ref (FILE *file, rtx x)
{
tree decl;
- if ((decl = SYMBOL_REF_DECL (x)) != 0
+ if (cfun
+ && (decl = SYMBOL_REF_DECL (x)) != 0
&& TREE_CODE (decl) == VAR_DECL
&& AS_LDS_P (TYPE_ADDR_SPACE (TREE_TYPE (decl
{
@@ -5214,7 +5215,8 @@ gcn_asm_output_symbol_ref (FILE *file, rtx x)
{
assemble_name (file, XSTR (x, 0));
/* FIXME: See above -- this condition is unreachable. */
- if ((decl = SYMBOL_REF_DECL (x)) != 0
+ if (cfun
+ && (decl = SYMBOL_REF_DECL (x)) != 0
&& TREE_CODE (decl) == VAR_DECL
&& AS_LDS_P (TYPE_ADDR_SPACE (TREE_TYPE (decl
fputs ("@abs32", file);
--
2.23.0