m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove.
authorKazu Hirata <kazu@codesourcery.com>
Sat, 1 Sep 2007 18:55:48 +0000 (18:55 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Sat, 1 Sep 2007 18:55:48 +0000 (18:55 +0000)
* config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove.
(override_options): Turn on -mstrict-align on non-ColdFire
targets.
* config/m68k/m68k.h (BIGGEST_ALIGNMENT): Update a comment.

From-SVN: r128015

gcc/ChangeLog
gcc/config/m68k/m68k.c
gcc/config/m68k/m68k.h

index 4b0271c1c12575e3b8edd5e8326d6b71de0ab1f6..60eb7cae1b7648f067147bdd586e3a059547c596 100644 (file)
@@ -1,3 +1,10 @@
+2007-09-01  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove.
+       (override_options): Turn on -mstrict-align on non-ColdFire
+       targets.
+       * config/m68k/m68k.h (BIGGEST_ALIGNMENT): Update a comment.
+
 2007-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * c-common.c (const_strip_array_types): Delete.
index f1f09bc86c11657605882b627f6f2e89fa5968cc..76d765e725245eda1337d335b49bd7b1b6e276f1 100644 (file)
@@ -185,8 +185,6 @@ int m68k_last_compare_had_fp_operands;
 #undef TARGET_ASM_FILE_START_APP_OFF
 #define TARGET_ASM_FILE_START_APP_OFF true
 
-#undef TARGET_DEFAULT_TARGET_FLAGS
-#define TARGET_DEFAULT_TARGET_FLAGS MASK_STRICT_ALIGNMENT
 #undef TARGET_HANDLE_OPTION
 #define TARGET_HANDLE_OPTION m68k_handle_option
 
@@ -510,6 +508,11 @@ override_options (void)
   /* Use the architecture setting to derive default values for
      certain flags.  */
   target_mask = 0;
+
+  /* ColdFire is lenient about alignment.  */
+  if (!TARGET_COLDFIRE)
+    target_mask |= MASK_STRICT_ALIGNMENT;
+
   if ((m68k_cpu_flags & FL_BITFIELD) != 0)
     target_mask |= MASK_BITFIELD;
   if ((m68k_cpu_flags & FL_CF_HWDIV) != 0)
index a5f6eedf07057a8c6400df6d0bf2e8231941bce1..96756f3a4c85b2a51491a9ee24cd38ee87e31192 100644 (file)
@@ -305,8 +305,7 @@ along with GCC; see the file COPYING3.  If not see
 /* No data type wants to be aligned rounder than this.
    Most published ABIs say that ints should be aligned on 16-bit
    boundaries, but CPUs with 32-bit busses get better performance
-   aligned on 32-bit boundaries.  ColdFires without a misalignment
-   module require 32-bit alignment.  */
+   aligned on 32-bit boundaries.  */
 #define BIGGEST_ALIGNMENT (TARGET_ALIGN_INT ? 32 : 16)
 
 #define STRICT_ALIGNMENT (TARGET_STRICT_ALIGNMENT)