OSDN Git Service

* config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Aug 2004 17:51:45 +0000 (17:51 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Aug 2004 17:51:45 +0000 (17:51 +0000)
to the compiler.  Use -fshort-wchar by default.

* gcc.dg/symbian4.c: Expect a 2-byte wchar_t, not a 4-byte
wchar_t.
* gcc.dg/symbian5.c: Test -fno-short-wchar.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85648 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/symbian.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/symbian4.c
gcc/testsuite/gcc.dg/symbian5.c [new file with mode: 0644]

index 1318c7c..a55a3d9 100644 (file)
@@ -1,3 +1,8 @@
+2004-08-06  Mark Mitchell  <mark@codesourcery.com>
+
+       * config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
+       to the compiler.  Use -fshort-wchar by default.
+
 2004-08-06  Pat Haugen  <pthaugen@us.ibm.com>
 
        * params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
index 4ad4f46..c03b428 100644 (file)
 
    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 -fno-short-enums"
+   "__declspec(dllexport)".  
+
+   Enumeration types use 4 bytes, even if the enumerals are small,
+   unless explicitly overridden.
+
+   The wchar_t type is a 2-byte type, unless explicitly
+   overridden.  */
+#define CC1_SPEC                                               \
+  "%{!fbuiltin:%{!fno-builtin:-fno-builtin}} "                 \
+  "%{!fvisibility=*:-fvisibility=hidden} "                     \
+  "%{!fshort-enums:%{!fno-short-enums:-fno-short-enums}} "     \
+  "%{!fshort-wchar:%{!fno-short-wchar:-fshort-wchar}} "
 #define CC1PLUS_SPEC CC1_SPEC
 
 /* Symbian OS does not use crt0.o, unlike the generic unknown-elf
index f2d9a97..63ca7a7 100644 (file)
@@ -1,3 +1,9 @@
+2004-08-06  Mark Mitchell  <mark@codesourcery.com>
+
+       * gcc.dg/symbian4.c: Expect a 2-byte wchar_t, not a 4-byte
+       wchar_t.
+       * gcc.dg/symbian5.c: Test -fno-short-wchar.
+
 2004-08-06  Paul Brook  <paul@codesourcery.com>
 
        * gfortran.dg/ret_array_1.f90: New test.
index 20585a7..aede7f5 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target arm*-*-symbianelf* } } */
-/* Check that wchar_t is a 4-byte type.  */
+/* Check that wchar_t is a 2-byte type.  */
 
 extern int i[sizeof (L'a')];
-int i[4];
+int i[2];
diff --git a/gcc/testsuite/gcc.dg/symbian5.c b/gcc/testsuite/gcc.dg/symbian5.c
new file mode 100644 (file)
index 0000000..0bde6b0
--- /dev/null
@@ -0,0 +1,8 @@
+/* { dg-do compile { target arm*-*-symbianelf* } } */
+/* { dg-options "-fno-short-wchar" } */
+/* Check that wchar_t is a 4-byte type when -fno-short-wchar is
+   used.  */
+
+extern int i[sizeof (L'a')];
+int i[4];
+