aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2016-02-16 09:00:32 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2016-02-16 09:00:32 +0000
commit4cb5f5a366efff0317dd0a432a56464eafb6f3f4 (patch)
treef7984e1b910fa279e5c5f6bd1bff6de72540470b /gcc
parentc8cfe96e193f91077b97f2ca8605b83628a01448 (diff)
downloadgcc-4cb5f5a366efff0317dd0a432a56464eafb6f3f4.zip
gcc-4cb5f5a366efff0317dd0a432a56464eafb6f3f4.tar.gz
gcc-4cb5f5a366efff0317dd0a432a56464eafb6f3f4.tar.bz2
re PR testsuite/69586 (FAIL: gcc.dg/uninit-21.c for target defaulting to short enum)
2016-02-16 Richard Biener <rguenther@suse.de> PR tree-optimization/69586 * tree-vrp.c (register_edge_assert_for_2): Handle all integral types for conversion sources. From-SVN: r233445
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-vrp.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bb58d51..b787890 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2016-02-16 Richard Biener <rguenther@suse.de>
+ PR tree-optimization/69586
+ * tree-vrp.c (register_edge_assert_for_2): Handle all integral
+ types for conversion sources.
+
+2016-02-16 Richard Biener <rguenther@suse.de>
+
PR middle-end/69801
* fold-const.c (operand_equal_p): For COND_EXPR zero operand
mask OEP_ADDRESS_OF.
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index 9644ba1..0ce7f1f 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -5449,7 +5449,7 @@ register_edge_assert_for_2 (tree name, edge e, gimple_stmt_iterator bsi,
cst2 = NULL_TREE;
if (rhs_code == BIT_AND_EXPR
|| (CONVERT_EXPR_CODE_P (rhs_code)
- && TREE_CODE (TREE_TYPE (val)) == INTEGER_TYPE
+ && INTEGRAL_TYPE_P (TREE_TYPE (val))
&& TYPE_UNSIGNED (TREE_TYPE (val))
&& TYPE_PRECISION (TREE_TYPE (gimple_assign_rhs1 (def_stmt)))
> prec))