diff options
author | Roger Sayle <roger@eyesopen.com> | 2006-02-20 00:34:12 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2006-02-20 00:34:12 +0000 |
commit | 6a34c78895f891207fa2314abe4bd103523f90d1 (patch) | |
tree | 7a2b4312e72d7c2ab8e9e8309209df91039afe1d /gcc/varasm.c | |
parent | 3cdab2662d9f2d69b8aa829b63b9c2bc0671a7ea (diff) | |
download | gcc-6a34c78895f891207fa2314abe4bd103523f90d1.zip gcc-6a34c78895f891207fa2314abe4bd103523f90d1.tar.gz gcc-6a34c78895f891207fa2314abe4bd103523f90d1.tar.bz2 |
re PR middle-end/19543 ([4.1 only] fortran LOGICAL*8 not consistently distinguished from 32 bit integers)
PR middle-end/19543
* varasm.c (compare_constant) <INTEGER_CST>: Integer constants are
only equivalent if the have both the same mode and precision.
* gfortran.dg/logical_1.f90: New test case.
From-SVN: r111294
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index 9801b1f..ed7bbb6 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -2573,6 +2573,8 @@ compare_constant (const tree t1, const tree t2) /* Integer constants are the same only if the same width of type. */ if (TYPE_PRECISION (TREE_TYPE (t1)) != TYPE_PRECISION (TREE_TYPE (t2))) return 0; + if (TYPE_MODE (TREE_TYPE (t1)) != TYPE_MODE (TREE_TYPE (t2))) + return 0; return tree_int_cst_equal (t1, t2); case REAL_CST: |