From: Ian Lance Taylor Date: Wed, 10 Jun 2009 02:01:06 +0000 (+0000) Subject: system.h (HAVE_DESIGNATED_INITIALIZERS): Don't define if compiling with C++. X-Git-Tag: releases/gcc-4.5.0~5284 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bf4066870d1a42226e711c1e941f14733f648f6d;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 878d18ea0ac5..cb6507a63b54 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2009-06-09 Ian Lance Taylor + + * 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 * targhooks.c (default_builtin_vectorized_function): Change fn diff --git a/gcc/optabs.c b/gcc/optabs.c index 2b9da2cdb29f..257edd9e648f 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 2a111ee8e84c..51d9c995c3cf 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