diff options
author | Ian Lance Taylor <iant@google.com> | 2009-06-10 02:01:06 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2009-06-10 02:01:06 +0000 |
commit | bf4066870d1a42226e711c1e941f14733f648f6d (patch) | |
tree | db7cab5db121bc9f4ea32f384356de3085b43d24 /gcc | |
parent | 780ca5bf715142256f55d6bda4a282c9a3529d33 (diff) | |
download | gcc-bf4066870d1a42226e711c1e941f14733f648f6d.zip gcc-bf4066870d1a42226e711c1e941f14733f648f6d.tar.gz gcc-bf4066870d1a42226e711c1e941f14733f648f6d.tar.bz2 |
system.h (HAVE_DESIGNATED_INITIALIZERS): Don't define if compiling with C++.
* 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.
From-SVN: r148336
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/optabs.c | 6 | ||||
-rw-r--r-- | gcc/system.h | 3 |
3 files changed, 15 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 878d18e..cb6507a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/optabs.c b/gcc/optabs.c index 2b9da2cdb..257edd9e 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -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 (); diff --git a/gcc/system.h b/gcc/system.h index 2a111ee..51d9c99 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -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 |