diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/varasm.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/varasm.cc b/gcc/varasm.cc index f2a19aa..542315f 100644 --- a/gcc/varasm.cc +++ b/gcc/varasm.cc @@ -4944,6 +4944,7 @@ initializer_constant_valid_p_1 (tree value, tree endtype, tree *cache) if (cache && cache[0] == value) return cache[1]; if (! INTEGRAL_TYPE_P (endtype) + || ! INTEGRAL_TYPE_P (TREE_TYPE (value)) || TYPE_PRECISION (endtype) >= TYPE_PRECISION (TREE_TYPE (value))) { tree ncache[4] = { NULL_TREE, NULL_TREE, NULL_TREE, NULL_TREE }; @@ -4980,6 +4981,7 @@ initializer_constant_valid_p_1 (tree value, tree endtype, tree *cache) if (cache && cache[0] == value) return cache[1]; if (! INTEGRAL_TYPE_P (endtype) + || ! INTEGRAL_TYPE_P (TREE_TYPE (value)) || TYPE_PRECISION (endtype) >= TYPE_PRECISION (TREE_TYPE (value))) { tree ncache[4] = { NULL_TREE, NULL_TREE, NULL_TREE, NULL_TREE }; |