diff options
Diffstat (limited to 'gcc/system.h')
-rw-r--r-- | gcc/system.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/system.h b/gcc/system.h index be70b026ff4..80bfe619c3d 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -786,8 +786,9 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; change after the fact). Beyond these uses, most other cases of using this macro should be viewed with extreme caution. */ -#if defined(__GNUC__) && GCC_VERSION != 4000 -/* GCC 4.0.x has a bug where it may ICE on this expression. */ +#if defined(__GNUC__) && GCC_VERSION > 4000 +/* GCC 4.0.x has a bug where it may ICE on this expression, + so does GCC 3.4.x (PR17436). */ #define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE _q; TOTYPE _nq;})(X))._nq) #else #define CONST_CAST2(TOTYPE,FROMTYPE,X) ((TOTYPE)(FROMTYPE)(X)) @@ -796,6 +797,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; #define CONST_CAST_TREE(X) CONST_CAST(union tree_node *, (X)) #define CONST_CAST_RTX(X) CONST_CAST(struct rtx_def *, (X)) #define CONST_CAST_BB(X) CONST_CAST(struct basic_block_def *, (X)) +#define CONST_CAST_GIMPLE(X) CONST_CAST(union gimple_statement_d *, (X)) /* Activate certain diagnostics as warnings (not errors via the -Werror flag). */ |