diff options
Diffstat (limited to 'gcc/c-parse.in')
| -rw-r--r-- | gcc/c-parse.in | 21 | 
1 files changed, 13 insertions, 8 deletions
| diff --git a/gcc/c-parse.in b/gcc/c-parse.in index 5132b3f1d6b..889425e26c2 100644 --- a/gcc/c-parse.in +++ b/gcc/c-parse.in @@ -261,13 +261,17 @@ static tree declspec_stack;  /* For __extension__, save/restore the warning flags which are     controlled by __extension__.  */ -#define SAVE_WARN_FLAGS()	\ -	size_int (pedantic | (warn_pointer_arith << 1)) -#define RESTORE_WARN_FLAGS(tval) \ -  do {                                     \ -    int val = tree_low_cst (tval, 0);      \ -    pedantic = val & 1;                    \ -    warn_pointer_arith = (val >> 1) & 1;   \ +#define SAVE_WARN_FLAGS()			\ +	size_int (pedantic			\ +		  | (warn_pointer_arith << 1)	\ +		  | (warn_traditional << 2)) + +#define RESTORE_WARN_FLAGS(tval)		\ +  do {						\ +    int val = tree_low_cst (tval, 0);		\ +    pedantic = val & 1;				\ +    warn_pointer_arith = (val >> 1) & 1;	\ +    warn_traditional = (val >> 2) & 1;		\    } while (0)  ifobjc @@ -2620,7 +2624,8 @@ extension:  	EXTENSION  		{ $$ = SAVE_WARN_FLAGS();  		  pedantic = 0; -		  warn_pointer_arith = 0; } +		  warn_pointer_arith = 0; +		  warn_traditional = 0; }  	;  ifobjc | 

