summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4>2016-01-07 20:35:53 +0000
committerandreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4>2016-01-07 20:35:53 +0000
commit63c8fa77a45a477c40c2fddda782dc95362f420b (patch)
tree569ad88330263e92f955cf389737117080c4fc40
parent78b01849df64c72fc6bed4f55e501924bc3a9fca (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/config/arm/arm.c4
-rw-r--r--gcc/config/arm/freebsd.h10
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