pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not null before emittin...
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Thu, 12 Apr 2007 00:46:13 +0000 (00:46 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Thu, 12 Apr 2007 00:46:13 +0000 (00:46 +0000)
* pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
null before emitting a .nsubspa directive.

From-SVN: r123733

gcc/ChangeLog
gcc/config/pa/pa.c

index 34c970e..372f42f 100644 (file)
@@ -1,3 +1,8 @@
+2007-04-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
+       null before emitting a .nsubspa directive.
+
 2007-04-11  Diego Novillo  <dnovillo@redhat.com>
 
        * tree-ssa-alias.c (dump_mem_ref_stats): Do not call
index a3bf38c..be55a85 100644 (file)
@@ -9279,7 +9279,7 @@ som_output_text_section_asm_op (const void *data ATTRIBUTE_UNUSED)
   gcc_assert (TARGET_SOM);
   if (TARGET_GAS)
     {
-      if (cfun && !cfun->machine->in_nsubspa)
+      if (cfun && cfun->machine && !cfun->machine->in_nsubspa)
        {
          /* We only want to emit a .nsubspa directive once at the
             start of the function.  */
@@ -9304,7 +9304,8 @@ som_output_text_section_asm_op (const void *data ATTRIBUTE_UNUSED)
             text section to output debugging information.  Thus, we
             need to forget that we are in the text section so that
             varasm.c will call us when text_section is selected again.  */
-         gcc_assert (!cfun || cfun->machine->in_nsubspa == 2);
+         gcc_assert (!cfun || !cfun->machine
+                     || cfun->machine->in_nsubspa == 2);
          in_section = NULL;
        }
       output_section_asm_op ("\t.SPACE $TEXT$\n\t.NSUBSPA $CODE$");