diff options
author | Martin Liska <mliska@suse.cz> | 2016-07-08 20:22:22 +0000 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2016-07-08 20:22:22 +0000 |
commit | 6553d0d0a725fa3066384946d80dfe558989caca (patch) | |
tree | b444f003e54aca8e69b8ac03612a9a34148d56b8 | |
parent | e01833c3daa99e4534c20e9c3f1a5474e4e83c46 (diff) |
Do not consider COMPLEX_TYPE as fold_convertible_p
Backported from mainline
2016-07-08 Martin Liska <mliska@suse.cz>
PR middle-end/71606
* fold-const.c (fold_convertible_p): As COMPLEX_TYPE
folding produces SAVE_EXPRs, thus return false for the type.
Backported from mainline
2016-07-08 Martin Liska <mliska@suse.cz>
* gcc.dg/torture/pr71606.c: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@238174 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/fold-const.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr71606.c | 11 |
4 files changed, 27 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ef4bc992e3e..683efeb1a2e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2016-07-08 Martin Liska <mliska@suse.cz> + + Backported from mainline + 2016-07-08 Martin Liska <mliska@suse.cz> + + PR middle-end/71606 + * fold-const.c (fold_convertible_p): As COMPLEX_TYPE + folding produces SAVE_EXPRs, thus return false for the type. + 2016-07-07 Jakub Jelinek <jakub@redhat.com> Backported from mainline diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 61bbf82e169..f6d92abd250 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -1933,7 +1933,6 @@ fold_convertible_p (const_tree type, const_tree arg) case REAL_TYPE: case FIXED_POINT_TYPE: - case COMPLEX_TYPE: case VECTOR_TYPE: case VOID_TYPE: return TREE_CODE (type) == TREE_CODE (orig); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6949e8f23fd..38717717b77 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2016-07-08 Martin Liska <mliska@suse.cz> + + Backported from mainline + 2016-07-08 Martin Liska <mliska@suse.cz> + + * gcc.dg/torture/pr71606.c: New test. + 2016-07-07 Jakub Jelinek <jakub@redhat.com> Backported from mainline diff --git a/gcc/testsuite/gcc.dg/torture/pr71606.c b/gcc/testsuite/gcc.dg/torture/pr71606.c new file mode 100644 index 00000000000..b0cc26ac771 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr71606.c @@ -0,0 +1,11 @@ +_Complex a; +void fn1 (); + +int main () { + fn1 (a); + return 0; +} + +void fn1 (__complex__ long double p1) { + __imag__ p1 = 6.0L; +} |