aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-06-09 00:24:57 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2015-06-08 22:24:57 +0000
commit64578d988427290be041802901a005b61cebf95a (patch)
tree35be7a92fc2dbe146f3c69e913968b9856f0f396 /gcc/tree.c
parent44433db051a923a6e32baa8e448ec8cf5a88f5f8 (diff)
downloadgcc-64578d988427290be041802901a005b61cebf95a.zip
gcc-64578d988427290be041802901a005b61cebf95a.tar.gz
gcc-64578d988427290be041802901a005b61cebf95a.tar.bz2
lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG.
* lto.c (hash_canonical_type): Drop hashing of TYPE_STRING_FLAG. * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of TYPE_STRING_FLAG. * gfortran.dg/lto/bind_c-2b_0.f90: New testcase * gfortran.dg/lto/bind_c-2b_1.c: New testcase From-SVN: r224252
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index db4ea8e..be01d0e 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -12948,9 +12948,9 @@ gimple_canonical_types_compatible_p (const_tree t1, const_tree t2,
|| TYPE_UNSIGNED (t1) != TYPE_UNSIGNED (t2))
return false;
- if (TREE_CODE (t1) == INTEGER_TYPE
- && TYPE_STRING_FLAG (t1) != TYPE_STRING_FLAG (t2))
- return false;
+ /* Fortran's C_SIGNED_CHAR is !TYPE_STRING_FLAG but needs to be
+ interoperable with "signed char". Unless all frontends are revisited
+ to agree on these types, we must ignore the flag completely. */
/* Fortran standard define C_PTR type that is compatible with every
C pointer. For this reason we need to glob all pointers into one.