diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/gimple-fold.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wint-conversion-2.c | 11 |
4 files changed, 22 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a0b7d35..91f983d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-07-03 Marek Polacek <polacek@redhat.com> + + PR middle-end/86202 + * gimple-fold.c (size_must_be_zero_p): Check the type of the size. + 2018-07-03 Richard Biener <rguenther@suse.de> PR ipa/86389 diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index a31f507..6ce34bf 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -645,7 +645,7 @@ size_must_be_zero_p (tree size) if (integer_zerop (size)) return true; - if (TREE_CODE (size) != SSA_NAME) + if (TREE_CODE (size) != SSA_NAME || !INTEGRAL_TYPE_P (TREE_TYPE (size))) return false; wide_int min, max; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c1bfad8..9e6f966 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-07-03 Marek Polacek <polacek@redhat.com> + + PR middle-end/86202 + * gcc.dg/Wint-conversion-2.c: New test. + 2018-07-03 Richard Biener <rguenther@suse.de> PR ipa/86389 diff --git a/gcc/testsuite/gcc.dg/Wint-conversion-2.c b/gcc/testsuite/gcc.dg/Wint-conversion-2.c new file mode 100644 index 0000000..0c9dac4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/Wint-conversion-2.c @@ -0,0 +1,11 @@ +/* PR middle-end/86202 */ +/* { dg-do compile } */ +/* { dg-options "-Wint-conversion" } */ + +void *memcpy (void *, void *, __SIZE_TYPE__ *); +void *a, *b; +void f (void) +{ + long unsigned int c = 0; + memcpy (a, b, c); /* { dg-warning "passing argument" } */ +} |