OSDN Git Service

* system.h (HAVE_DESIGNATED_INITIALIZERS): Don't define if
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Jun 2009 02:01:06 +0000 (02:01 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Jun 2009 02:01:06 +0000 (02:01 +0000)
compiling with C++.
* optabs.c (optab_table): Only use designated initializers if
HAVE_DESIGNATED_INITIALIZERS is defined.
(convert_optab_table): Likewise.
(init_optabs): Always call init_insn_codes if
HAVE_DESIGNATED_INITIALIZERS is not defined.

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

gcc/ChangeLog
gcc/optabs.c
gcc/system.h

index 878d18e..cb6507a 100644 (file)
@@ -1,5 +1,15 @@
 2009-06-09  Ian Lance Taylor  <iant@google.com>
 
+       * system.h (HAVE_DESIGNATED_INITIALIZERS): Don't define if
+       compiling with C++.
+       * optabs.c (optab_table): Only use designated initializers if
+       HAVE_DESIGNATED_INITIALIZERS is defined.
+       (convert_optab_table): Likewise.
+       (init_optabs): Always call init_insn_codes if
+       HAVE_DESIGNATED_INITIALIZERS is not defined.
+
+2009-06-09  Ian Lance Taylor  <iant@google.com>
+
        * targhooks.c (default_builtin_vectorized_function): Change fn
        parameter to unsigned int.
        (default_builtin_vectorized_conversion): Change code parameter to
index 2b9da2c..257edd9 100644 (file)
@@ -54,7 +54,7 @@ along with GCC; see the file COPYING3.  If not see
 
    See expr.h for documentation of these optabs.  */
 
-#if GCC_VERSION >= 4000
+#if GCC_VERSION >= 4000 && HAVE_DESIGNATED_INITIALIZERS
 __extension__ struct optab_d optab_table[OTI_MAX]
   = { [0 ... OTI_MAX - 1].handlers[0 ... NUM_MACHINE_MODES - 1].insn_code
       = CODE_FOR_nothing };
@@ -66,7 +66,7 @@ struct optab_d optab_table[OTI_MAX];
 rtx libfunc_table[LTI_MAX];
 
 /* Tables of patterns for converting one mode to another.  */
-#if GCC_VERSION >= 4000
+#if GCC_VERSION >= 4000 && HAVE_DESIGNATED_INITIALIZERS
 __extension__ struct convert_optab_d convert_optab_table[COI_MAX]
   = { [0 ... COI_MAX - 1].handlers[0 ... NUM_MACHINE_MODES - 1]
        [0 ... NUM_MACHINE_MODES - 1].insn_code
@@ -6153,7 +6153,7 @@ init_optabs (void)
       vcondu_gen_code[i] = CODE_FOR_nothing;
     }
 
-#if GCC_VERSION >= 4000
+#if GCC_VERSION >= 4000 && HAVE_DESIGNATED_INITIALIZERS
   /* We statically initialize the insn_codes with CODE_FOR_nothing.  */
   if (reinit)
     init_insn_codes ();
index 2a111ee..51d9c99 100644 (file)
@@ -452,7 +452,8 @@ extern int vsnprintf(char *, size_t, const char *, va_list);
 /* 1 if we have C99 designated initializers.  */
 #if !defined(HAVE_DESIGNATED_INITIALIZERS)
 #define HAVE_DESIGNATED_INITIALIZERS \
-  ((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L))
+  (((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L)) \
+   && !defined(__cplusplus))
 #endif
 
 #if HAVE_SYS_STAT_H