diff options
author | Jason Merrill <jason@gcc.gnu.org> | 2009-11-04 18:14:56 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2009-11-04 18:14:56 -0500 |
commit | cb5f2074802fe0ca5668b6ec3f86cbaf01840637 (patch) | |
tree | 9e8832c953e2949ac3886a66da6c7b9bf9d3766d /gcc/varasm.c | |
parent | be998fb7bc776c814e63bb0f1d469c0bd57f405d (diff) | |
download | gcc-cb5f2074802fe0ca5668b6ec3f86cbaf01840637.zip gcc-cb5f2074802fe0ca5668b6ec3f86cbaf01840637.tar.gz gcc-cb5f2074802fe0ca5668b6ec3f86cbaf01840637.tar.bz2 |
Revert untested varasm.c change
From-SVN: r153923
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index c9953d1..b6ff4ae 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -4322,10 +4322,6 @@ initializer_constant_valid_p (tree value, tree endtype) case POINTER_PLUS_EXPR: case PLUS_EXPR: - /* Any valid floating-point constants will have been folded by now; - with -frounding-math we hit this with addition of two constants. */ - if (TREE_CODE (endtype) == REAL_TYPE) - return NULL_TREE; if (! INTEGRAL_TYPE_P (endtype) || TYPE_PRECISION (endtype) >= int_or_pointer_precision (TREE_TYPE (value))) @@ -4349,8 +4345,6 @@ initializer_constant_valid_p (tree value, tree endtype) break; case MINUS_EXPR: - if (TREE_CODE (endtype) == REAL_TYPE) - return NULL_TREE; if (! INTEGRAL_TYPE_P (endtype) || TYPE_PRECISION (endtype) >= int_or_pointer_precision (TREE_TYPE (value))) @@ -4566,8 +4560,8 @@ output_constant (tree exp, unsigned HOST_WIDE_INT size, unsigned int align) case REAL_TYPE: if (TREE_CODE (exp) != REAL_CST) error ("initializer for floating value is not a floating constant"); - else - assemble_real (TREE_REAL_CST (exp), TYPE_MODE (TREE_TYPE (exp)), align); + + assemble_real (TREE_REAL_CST (exp), TYPE_MODE (TREE_TYPE (exp)), align); break; case COMPLEX_TYPE: |