aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Pinski <apinski@marvell.com>2020-01-22 23:34:34 +0000
committerAndrew Pinski <apinski@marvell.com>2020-01-23 01:23:28 +0000
commit41fe06f89f96c5f9599855a2778c8a3dd7efe22d (patch)
treef4bfdd4c7bd7297409a1799ceaeeaf361eeff55c
parent83b0448980f894b527ed8df588a0ae12510f06d5 (diff)
downloadgcc-41fe06f89f96c5f9599855a2778c8a3dd7efe22d.zip
gcc-41fe06f89f96c5f9599855a2778c8a3dd7efe22d.tar.gz
gcc-41fe06f89f96c5f9599855a2778c8a3dd7efe22d.tar.bz2
Fix patchable-function-entry on arc
The problem here is arc looks at current_output_insn unconditional but sometimes current_output_insn is NULL. With patchable-function-entry, it will be. This is similar to how the nios2, handles "%.". Committed as obvious after a simple test with -fpatchable-function-entry=1. ChangeLog: * config/arc/arc.c (output_short_suffix): Check insn for nullness.
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/arc/arc.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 07e7356..55b2392 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2020-01-22 Andrew Pinski <apinski@marvell.com>
+
+ * config/arc/arc.c (output_short_suffix): Check insn for nullness.
+
2020-01-22 David Malcolm <dmalcolm@redhat.com>
PR analyzer/93307
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index 02ab339..22475f2 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -5537,6 +5537,8 @@ static void
output_short_suffix (FILE *file)
{
rtx_insn *insn = current_output_insn;
+ if (!insn)
+ return;
if (arc_verify_short (insn, cfun->machine->unalign, 1))
{