summaryrefslogtreecommitdiffstats
path: root/gcc/config
diff options
context:
space:
mode:
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-28 09:28:04 +0000
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-28 09:28:04 +0000
commit8fa0c55d2c355bf9cbae7d66a42a01ade6df3d79 (patch)
tree5c38175fa17d41f22c3dc3d15353610f37e97540 /gcc/config
parent427fec8c91721e4790fa2a2816c9b5f5baf32470 (diff)
downloadppe42-gcc-8fa0c55d2c355bf9cbae7d66a42a01ade6df3d79.tar.gz
ppe42-gcc-8fa0c55d2c355bf9cbae7d66a42a01ade6df3d79.zip
Allow netbsd target to also set structure size boundary
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30234 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/arm/arm.c2
-rw-r--r--gcc/config/arm/arm.h20
-rw-r--r--gcc/config/arm/netbsd.h4
3 files changed, 16 insertions, 10 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 01f4175c017..1bc1c0cd438 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -96,7 +96,7 @@ const char * target_fp_name = NULL;
/* Used to parse -mstructure_size_boundary command line option. */
const char * structure_size_string = NULL;
-int arm_structure_size_boundary = 32; /* Used to be 8 */
+int arm_structure_size_boundary = DEFAULT_STRUCTURE_SIZE_BOUNDARY;
/* Bit values used to identify processor capabilities. */
#define FL_CO_PROC (1 << 0) /* Has external co-processor bus */
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index d64f5906260..0c8c697bfbb 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -615,15 +615,21 @@ extern int arm_is_6_or_7;
(TREE_CODE (EXP) == STRING_CST \
&& (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN))
-/* Setting this to 32 produces more efficient code, but the value set in
- previous versions of this toolchain was 8, which produces more compact
- structures. The command line option -mstructure_size_boundary=<n> can
- be used to change this value, for compatability with the ARM SDK however
- the value should be left at 32. ARM SDT Reference Manual (ARM DUI 0020D)
- page 2-20 says "Structures are aligned on word boundaries". */
-#ifndef STRUCTURE_SIZE_BOUNDARY
+/* Setting STRUCTURE_SIZE_BOUNDARY to 32 produces more efficient code, but the
+ value set in previous versions of this toolchain was 8, which produces more
+ compact structures. The command line option -mstructure_size_boundary=<n>
+ can be used to change this value. For compatability with the ARM SDK
+ however the value should be left at 32. ARM SDT Reference Manual (ARM DUI
+ 0020D) page 2-20 says "Structures are aligned on word boundaries". */
#define STRUCTURE_SIZE_BOUNDARY arm_structure_size_boundary
extern int arm_structure_size_boundary;
+
+/* This is the value used to initialise arm_structure_size_boundary. If a
+ particular arm target wants to change the default value it should change
+ the definition of this macro, not STRUCTRUE_SIZE_BOUNDARY. See netbsd.h
+ for an example of this. */
+#ifndef DEFAULT_STRUCTURE_SIZE_BOUNDARY
+#define DEFAULT_STRUCTURE_SIZE_BOUNDARY 32
#endif
/* Used when parsing command line option -mstructure_size_boundary. */
diff --git a/gcc/config/arm/netbsd.h b/gcc/config/arm/netbsd.h
index 7b03d4a90ff..4c8ce4094fc 100644
--- a/gcc/config/arm/netbsd.h
+++ b/gcc/config/arm/netbsd.h
@@ -157,5 +157,5 @@ Boston, MA 02111-1307, USA. */
This modification is not encouraged but with the present state of the
NetBSD source tree it is currently the only solution that meets the
requirements. */
-#undef STRUCTURE_SIZE_BOUNDARY
-#define STRUCTURE_SIZE_BOUNDARY 8
+#undef DEFAULT_STRUCTURE_SIZE_BOUNDARY
+#define DEFAULT_STRUCTURE_SIZE_BOUNDARY 8
OpenPOWER on IntegriCloud