diff options
author | andreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-07 20:35:53 +0000 |
---|---|---|
committer | andreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-07 20:35:53 +0000 |
commit | 63c8fa77a45a477c40c2fddda782dc95362f420b (patch) | |
tree | 569ad88330263e92f955cf389737117080c4fc40 | |
parent | 78b01849df64c72fc6bed4f55e501924bc3a9fca (diff) | |
download | gcc-63c8fa77a45a477c40c2fddda782dc95362f420b.tar.gz |
2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
* config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
unaligned_access on the gcc_options set.
* config/arm/arm.c (arm_option_override_internal): Use
SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232141 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 4 | ||||
-rw-r--r-- | gcc/config/arm/freebsd.h | 10 |
3 files changed, 18 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index db0b9592294..ad44844071a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2016-01-07 Andreas Tobler <andreast@gcc.gnu.org> + + * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to + SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check + unaligned_access on the gcc_options set. + * config/arm/arm.c (arm_option_override_internal): Use + SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. + 2016-01-07 Uros Bizjak <ubizjak@gmail.com> PR target/69140 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index b76a91beaae..2a479f2eae2 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -2954,6 +2954,10 @@ arm_option_override_internal (struct gcc_options *opts, /* Thumb2 inline assembly code should always use unified syntax. This will apply to ARM and Thumb1 eventually. */ opts->x_inline_asm_unified = TARGET_THUMB2_P (opts->x_target_flags); + +#ifdef SUBTARGET_OVERRIDE_INTERNAL_OPTIONS + SUBTARGET_OVERRIDE_INTERNAL_OPTIONS; +#endif } /* Fix up any incompatible options that the user has specified. */ diff --git a/gcc/config/arm/freebsd.h b/gcc/config/arm/freebsd.h index 0405ada5ff2..948fdd6843e 100644 --- a/gcc/config/arm/freebsd.h +++ b/gcc/config/arm/freebsd.h @@ -120,10 +120,12 @@ #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9 #endif -#define SUBTARGET_OVERRIDE_OPTIONS \ -do { \ - if (unaligned_access) \ - unaligned_access = 0; \ +#define SUBTARGET_OVERRIDE_INTERNAL_OPTIONS \ +do { \ + if (opts_set->x_unaligned_access == 1) \ + warning (0, "target OS does not support unaligned accesses"); \ + if (opts->x_unaligned_access) \ + opts->x_unaligned_access = 0; \ } while (0) #undef MAX_SYNC_LIBFUNC_SIZE |