MSP430: Don't override default ISA when MCU name is unrecognized
authorJozef Lawrynowicz <jozef.l@mittosystems.com>
Mon, 7 Sep 2020 16:35:04 +0000 (17:35 +0100)
committerJozef Lawrynowicz <jozef.l@mittosystems.com>
Mon, 7 Sep 2020 16:35:04 +0000 (17:35 +0100)
430X is the default ISA under normal operation, so even when the MCU name
passed to -mmcu= is unrecognized, it should not be overriden.

gcc/ChangeLog:

* config/msp430/msp430.c (msp430_option_override): Don't set the
ISA to 430 when the MCU is unrecognized.

gcc/testsuite/ChangeLog:

* gcc.target/msp430/430x-default-isa.c: New test.

gcc/config/msp430/msp430.c
gcc/testsuite/gcc.target/msp430/430x-default-isa.c [new file with mode: 0644]

index c2b24974364f05d96129059f0845ff1b082c2ccd..129b916715e1fdc4bcc85996d590bbed6b1754a9 100644 (file)
@@ -223,7 +223,7 @@ msp430_option_override (void)
                  if (target_cpu == NULL)
                    warning (0,
                             "Unrecognized MCU name %qs, assuming that it is "
-                            "just a MSP430 with no hardware multiply.\n"
+                            "just a MSP430X with no hardware multiply.\n"
                             "Use the %<-mcpu%> and %<-mhwmult%> options to "
                             "set these explicitly.",
                             target_mcu);
@@ -242,22 +242,15 @@ msp430_option_override (void)
              if (msp430_warn_mcu)
                warning (0,
                         "Unrecognized MCU name %qs, assuming that it just "
-                        "supports the MSP430 ISA.\nUse the %<-mcpu%> option "
+                        "supports the MSP430X ISA.\nUse the %<-mcpu%> option "
                         "to set the ISA explicitly.",
                         target_mcu);
-
-             msp430x = false;
            }
          else if (msp430_warn_mcu)
            warning (0, "Unrecognized MCU name %qs.", target_mcu);
        }
     }
 
-  /* The F5 series are all able to support the 430X ISA.  */
-  if (target_cpu == NULL && target_mcu == NULL
-      && msp430_hwmult_type == MSP430_HWMULT_F5SERIES)
-    msp430x = true;
-
   if (TARGET_LARGE && !msp430x)
     error ("%<-mlarge%> requires a 430X-compatible %<-mmcu=%>");
 
diff --git a/gcc/testsuite/gcc.target/msp430/430x-default-isa.c b/gcc/testsuite/gcc.target/msp430/430x-default-isa.c
new file mode 100644 (file)
index 0000000..4e80777
--- /dev/null
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-skip-if "" { *-*-* } { "-mcpu=*" "-mmcu=*" } } */
+/* { dg-options "-mmcu=msp430foobar -mno-warn-mcu -mno-warn-devices-csv" } */
+
+/* Verify that the default ISA is set to 430X when the MCU passed to -mmcu= is
+   unrecognized.  */
+
+#ifndef __MSP430X__
+#error
+#endif