33 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/gcc/config/avr32/avr32.c
 | 
						|
+++ b/gcc/config/avr32/avr32.c
 | 
						|
@@ -243,14 +243,14 @@ void
 | 
						|
 avr32_override_options (void)
 | 
						|
 {
 | 
						|
   const struct part_type_s *part;
 | 
						|
-  const struct arch_type_s *arch;
 | 
						|
+  const struct arch_type_s *arch, *part_arch;
 | 
						|
 
 | 
						|
   /*Add backward compability*/
 | 
						|
   if (strcmp ("uc", avr32_arch_name)== 0)
 | 
						|
     {
 | 
						|
       fprintf (stderr, "Warning: Deprecated arch `%s' specified. "
 | 
						|
                        "Please use '-march=ucr1' instead. "
 | 
						|
-                       "Converting to arch 'ucr1'\n",
 | 
						|
+                       "Using arch 'ucr1'\n",
 | 
						|
                avr32_arch_name);
 | 
						|
       avr32_arch_name="ucr1";
 | 
						|
     }
 | 
						|
@@ -298,6 +298,12 @@ avr32_override_options (void)
 | 
						|
   if (!arch->name)
 | 
						|
     avr32_arch = &avr32_arch_types[avr32_part->arch_type];
 | 
						|
 
 | 
						|
+   /* When architecture implied by -mpart and one passed in -march are 
 | 
						|
+    * conflicting, issue an error message */
 | 
						|
+   part_arch = &avr32_arch_types[avr32_part->arch_type];
 | 
						|
+   if (strcmp("none",avr32_part_name) && strcmp("none", avr32_arch_name) && strcmp(avr32_arch_name,part_arch->name))
 | 
						|
+     error ("Conflicting architectures implied by -mpart and -march\n");
 | 
						|
+
 | 
						|
   /* If optimization level is two or greater, then align start of loops to a
 | 
						|
      word boundary since this will allow folding the first insn of the loop.
 | 
						|
      Do this only for targets supporting branch prediction. */
 |