This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, alpha]: Unbreak bootstrap, part IV


Hello!

2009-04-28 Uros Bizjak <ubizjak@gmail.com>

   * config/alpha/alpha.md (usegp): Cast the result of
   alpha_find_lo_sum_using_gp to enum attr_usegp.
   * config/alpha/alpha.c (override_options): Remove end-of-structure
   marker element from cpu_table.  Use array size of cpu_table to handle
   -mcpu and -mtune options.
   (tls_symbolic_operand_type): Change 0 to TLS_MODEL_NONE.

Tested on alphaev56-linux-gnu, committed to mainline.

Uros.


Index: alpha.c
===================================================================
--- alpha.c	(revision 146902)
+++ alpha.c	(working copy)
@@ -275,10 +275,10 @@ override_options (void)
     { "ev6",	PROCESSOR_EV6, MASK_BWX|MASK_MAX|MASK_FIX },
     { "21264",	PROCESSOR_EV6, MASK_BWX|MASK_MAX|MASK_FIX },
     { "ev67",	PROCESSOR_EV6, MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX },
-    { "21264a",	PROCESSOR_EV6, MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX },
-    { 0, 0, 0 }
+    { "21264a",	PROCESSOR_EV6, MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX }
   };
 
+  int const ct_size = ARRAY_SIZE (cpu_table);
   int i;
 
   /* Unicos/Mk doesn't have shared libraries.  */
@@ -370,7 +370,7 @@ override_options (void)
 
   if (alpha_cpu_string)
     {
-      for (i = 0; cpu_table [i].name; i++)
+      for (i = 0; i < ct_size; i++)
 	if (! strcmp (alpha_cpu_string, cpu_table [i].name))
 	  {
 	    alpha_tune = alpha_cpu = cpu_table [i].processor;
@@ -378,19 +378,19 @@ override_options (void)
 	    target_flags |= cpu_table [i].flags;
 	    break;
 	  }
-      if (! cpu_table [i].name)
+      if (i == ct_size)
 	error ("bad value %qs for -mcpu switch", alpha_cpu_string);
     }
 
   if (alpha_tune_string)
     {
-      for (i = 0; cpu_table [i].name; i++)
+      for (i = 0; i < ct_size; i++)
 	if (! strcmp (alpha_tune_string, cpu_table [i].name))
 	  {
 	    alpha_tune = cpu_table [i].processor;
 	    break;
 	  }
-      if (! cpu_table [i].name)
+      if (i == ct_size)
 	error ("bad value %qs for -mcpu switch", alpha_tune_string);
     }
 
@@ -709,7 +709,7 @@ tls_symbolic_operand_type (rtx symbol)
   enum tls_model model;
 
   if (GET_CODE (symbol) != SYMBOL_REF)
-    return 0;
+    return TLS_MODEL_NONE;
   model = SYMBOL_REF_TLS_MODEL (symbol);
 
   /* Local-exec with a 64-bit size is the same code as initial-exec.  */
Index: alpha.md
===================================================================
--- alpha.md	(revision 146902)
+++ alpha.md	(working copy)
@@ -169,7 +169,7 @@
   (cond [(eq_attr "type" "ldsym,jsr")
 	   (const_string "yes")
 	 (eq_attr "type" "ild,fld,ist,fst")
-	   (symbol_ref "alpha_find_lo_sum_using_gp(insn)")
+	   (symbol_ref "((enum attr_usegp) alpha_find_lo_sum_using_gp (insn))")
 	]
 	(const_string "no")))
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]