diff options
author | Mark Shinwell <shinwell@codesourcery.com> | 2006-06-04 16:28:55 +0000 |
---|---|---|
committer | Mark Shinwell <shinwell@gcc.gnu.org> | 2006-06-04 16:28:55 +0000 |
commit | 63b4819753c735449a0915e62928fa6374cd70c3 (patch) | |
tree | 8043b65180715166e17c85119e10cb873f903255 /gcc/builtins.c | |
parent | 7ec434b841e8120aad467db3efb249f536f5b819 (diff) | |
download | gcc-63b4819753c735449a0915e62928fa6374cd70c3.zip gcc-63b4819753c735449a0915e62928fa6374cd70c3.tar.gz gcc-63b4819753c735449a0915e62928fa6374cd70c3.tar.bz2 |
tree.h: Declare folding_initializer.
gcc:
* tree.h: Declare folding_initializer.
* builtins.c (fold_builtin_constant_p): Give definite answer
if folding inside an initializer.
* fold-const.c: Define folding_initializer.
(START_FOLD_INIT): Save and then set folding_initializer.
(END_FOLD_INIT): Restore folding_initializer.
gcc/testsuite:
* gcc.c-torture/compile/builtin_constant_p.c: New test.
From-SVN: r114358
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index 7113681..603106a 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -6495,7 +6495,8 @@ fold_builtin_constant_p (tree arglist) if (TREE_SIDE_EFFECTS (arglist) || AGGREGATE_TYPE_P (TREE_TYPE (arglist)) || POINTER_TYPE_P (TREE_TYPE (arglist)) - || cfun == 0) + || cfun == 0 + || folding_initializer) return integer_zero_node; return 0; |