[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727

Jan Hubicka hubicka@ucw.cz
Tue Dec 14 13:18:00 GMT 2010


Hi,
does the following patch fix the problem?
darwin_text_section no longer needs to care about hot/cold code since this is
already done in darwin_function_section.

In fact you might additionally consider putting 
  return (DECL_WEAK (decl)
	  ? darwin_sections[text_coal_section]
	  : text_section);
into places returning NULL in darwin_function_section, removing case SECCAT_TEXT
from machopic_select_section undefining USE_SELECT_SECTION_FOR_FUNCTIONS
as suggested by rth as cleanup.

Honza

Index: opts.c
===================================================================
--- opts.c	(revision 167794)
+++ opts.c	(working copy)
@@ -738,6 +738,9 @@ finish_options (struct gcc_options *opts
       opts->x_flag_reorder_blocks = 1;
     }
 
+  if (opts->x_flag_reorder_blocks_and_partition)
+    opts->x_flag_reorder_blocks = 1;
+
   /* If the target requested unwind info, then turn off the partitioning
      optimization with a different message.  Likewise, if the target does not
      support named sections.  */
Index: config/darwin.c
===================================================================
--- config/darwin.c	(revision 167794)
+++ config/darwin.c	(working copy)
@@ -1145,16 +1145,11 @@ darwin_mark_decl_preserved (const char *
 }
 
 static section *
-darwin_text_section (int reloc, int weak)
+darwin_text_section (int weak)
 {
-  if (reloc)
-    return (weak
-	    ? darwin_sections[text_unlikely_coal_section]
-	    : unlikely_text_section ());
-  else
-    return (weak
-	    ? darwin_sections[text_coal_section]
-	    : text_section);
+  return (weak
+	  ? darwin_sections[text_coal_section]
+	  : text_section);
 }
 
 static section *



More information about the Gcc-bugs mailing list