aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2004-08-06 07:54:19 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2004-08-06 07:54:19 +0000
commit866cf0373156f1a614d620522caef62a36b2b5e4 (patch)
tree9c0095eed3486fdf32af542fc27c8ed79d2e43c8 /gcc
parent9652c5316a476e5e85ebf416602c4ac61a75fef0 (diff)
downloadgcc-866cf0373156f1a614d620522caef62a36b2b5e4.zip
gcc-866cf0373156f1a614d620522caef62a36b2b5e4.tar.gz
gcc-866cf0373156f1a614d620522caef62a36b2b5e4.tar.bz2
symbian.h (CC1_SPEC): Add -fno-short-enums.
* config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums. (CC1PLUS_SPEC): Define it to be the same as CC1_SPEC. * gcc.dg/enum2.c: New test. * gcc.dg/symbian3.c: Likewise. * gcc.dg/symbian4.c: Likewise. * gcc.dg/wchar_t-2.c: Likewise. From-SVN: r85632
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/symbian.h4
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.dg/enum2.c8
-rw-r--r--gcc/testsuite/gcc.dg/symbian3.c7
-rw-r--r--gcc/testsuite/gcc.dg/symbian4.c5
-rw-r--r--gcc/testsuite/gcc.dg/wchar_t-2.c6
7 files changed, 40 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b35bb6a..53bfd1f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-08-06 Mark Mitchell <mark@codesourcery.com>
+
+ * config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums.
+ (CC1PLUS_SPEC): Define it to be the same as CC1_SPEC.
+
2004-08-06 Roman Zippel <zippel@linux-m68k.org>
* config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New.
diff --git a/gcc/config/arm/symbian.h b/gcc/config/arm/symbian.h
index 2f8320d..4ad4f46 100644
--- a/gcc/config/arm/symbian.h
+++ b/gcc/config/arm/symbian.h
@@ -35,8 +35,8 @@
Make all symbols hidden by default. Symbian OS expects that all
exported symbols will be explicitly marked with
"__declspec(dllexport)". */
-#define CC1_SPEC "-fno-builtin -fvisibility=hidden"
-#define CC1PLUS_SPEC "-fno-builtin -fvisibility=hidden"
+#define CC1_SPEC "-fno-builtin -fvisibility=hidden -fno-short-enums"
+#define CC1PLUS_SPEC CC1_SPEC
/* Symbian OS does not use crt0.o, unlike the generic unknown-elf
configuration. */
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 02bff74..480bdcf 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2004-08-06 Mark Mitchell <mark@codesourcery.com>
+
+ * gcc.dg/enum2.c: New test.
+ * gcc.dg/symbian3.c: Likewise.
+ * gcc.dg/symbian4.c: Likewise.
+ * gcc.dg/wchar_t-2.c: Likewise.
+
2004-08-05 Mark Mitchell <mark@codesourcery.com>
* g++.dg/ext/visibility/visibility-8.C: Add constructor and
diff --git a/gcc/testsuite/gcc.dg/enum2.c b/gcc/testsuite/gcc.dg/enum2.c
new file mode 100644
index 0000000..575cc5c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/enum2.c
@@ -0,0 +1,8 @@
+/* { dg-options "-fshort-enums" } */
+/* Check that "-fshort-enums" packs enumeration tyes into a minimal
+ number of bytes.. */
+
+enum e { e_1 };
+
+extern int i[sizeof (enum e)];
+int i[1];
diff --git a/gcc/testsuite/gcc.dg/symbian3.c b/gcc/testsuite/gcc.dg/symbian3.c
new file mode 100644
index 0000000..2f11d35
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/symbian3.c
@@ -0,0 +1,7 @@
+/* { dg-do compile { target arm*-*-symbianelf* } } */
+/* Check that enumeration types are 4-byte types. */
+
+enum e { e_1 };
+
+extern int i[sizeof (enum e)];
+int i[4];
diff --git a/gcc/testsuite/gcc.dg/symbian4.c b/gcc/testsuite/gcc.dg/symbian4.c
new file mode 100644
index 0000000..20585a7
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/symbian4.c
@@ -0,0 +1,5 @@
+/* { dg-do compile { target arm*-*-symbianelf* } } */
+/* Check that wchar_t is a 4-byte type. */
+
+extern int i[sizeof (L'a')];
+int i[4];
diff --git a/gcc/testsuite/gcc.dg/wchar_t-2.c b/gcc/testsuite/gcc.dg/wchar_t-2.c
new file mode 100644
index 0000000..c51f252
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/wchar_t-2.c
@@ -0,0 +1,6 @@
+/* { dg-options "-fshort-wchar" } */
+/* Check that "-fshort-wchar" makes wchar_t the same size as "unsigned
+ short". /
+
+extern int i[sizeof (L'a')];
+int i[sizeof (unsigned short)];