aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@cygnus.com>1999-10-28 09:28:04 +0000
committerNick Clifton <nickc@gcc.gnu.org>1999-10-28 09:28:04 +0000
commit723ae7c17d94b54f886c7f3cb212b8256fc8bb5f (patch)
tree5c38175fa17d41f22c3dc3d15353610f37e97540
parent566047c21e297eef4295a3af9892a506bcab4754 (diff)
downloadgcc-723ae7c17d94b54f886c7f3cb212b8256fc8bb5f.zip
gcc-723ae7c17d94b54f886c7f3cb212b8256fc8bb5f.tar.gz
gcc-723ae7c17d94b54f886c7f3cb212b8256fc8bb5f.tar.bz2
Allow netbsd target to also set structure size boundary
From-SVN: r30234
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/arm/arm.c2
-rw-r--r--gcc/config/arm/arm.h20
-rw-r--r--gcc/config/arm/netbsd.h4
4 files changed, 25 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fefd38d..f0e2727 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+Thu Oct 28 10:00:48 1999 Nick Clifton <nickc@cygnus.com>
+
+ * config/arm/arm.c: Initialise arm_structure_size_boundary to
+ DEFAULT_STRUCTURE_SIZE_BOUNDARY.
+ * config/arm/arm.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define
+ to the value 32 if it has not already been defined.
+ * config/arm/netbsd.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY):
+ Override definition in arm.h with a value of 8.
+
Thu Oct 28 03:12:02 1999 David Starner <dstarner98@aasaa.ofe.org>
* c-pragma.c (push_alignment): Don't check the return value
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 01f4175..1bc1c0c 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 d64f590..0c8c697 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 7b03d4a..4c8ce40 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