[Bug testsuite/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)
--- Comment #10 from dave at hiauly1 dot hia dot nrc dot ca 2010-09-12 15:38 --- Subject: Re: [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors) I have simplified the testcase to include just the two failing portions from line 160. Some other lines also have failing portions. I have attached the simplified testcase, 080t.cplxlower, and the generated .s at -O1. I'm not sure things go wrong in 080t.cplxlower but it differs substantially from what I see on x86. Dave --- Comment #11 from dave at hiauly1 dot hia dot nrc dot ca 2010-09-12 15:38 --- Created an attachment (id=21778) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21778action=view) --- Comment #12 from dave at hiauly1 dot hia dot nrc dot ca 2010-09-12 15:38 --- Created an attachment (id=21779) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21779action=view) --- Comment #13 from dave at hiauly1 dot hia dot nrc dot ca 2010-09-12 15:38 --- Created an attachment (id=21780) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21780action=view) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43959
[Bug testsuite/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)
--- Comment #6 from danglin at gcc dot gnu dot org 2010-09-07 23:23 --- Subject: Bug 43959 Author: danglin Date: Tue Sep 7 23:23:30 2010 New Revision: 163979 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163979 Log: PR testsuite/43959 * gcc.dg/torture/builtin-cproj-1.c: Require c99 runtime. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/torture/builtin-cproj-1.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43959
[Bug testsuite/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)
--- Comment #7 from ghazi at gcc dot gnu dot org 2010-09-07 23:43 --- (In reply to comment #6) Subject: Bug 43959 Author: danglin Date: Tue Sep 7 23:23:30 2010 New Revision: 163979 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163979 Log: PR testsuite/43959 * gcc.dg/torture/builtin-cproj-1.c: Require c99 runtime. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/torture/builtin-cproj-1.c This change isn't necessary or correct, the test should (and does) fold away all references to cproj on non-c99 platforms. The bug on hppa at -O1 will still occur on hppa-linux. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43959
[Bug testsuite/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)
--- Comment #8 from dave at hiauly1 dot hia dot nrc dot ca 2010-09-08 00:15 --- Subject: Re: [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors) This change isn't necessary or correct, the test should (and does) fold away all references to cproj on non-c99 platforms. The bug on hppa at -O1 will still occur on hppa-linux. I will revert and look at xfailing on hppa. All references to cproj are not folded away, possibly because of return slot optimization. See attachment. Either the test is wrong or there is a tree optimization problem. If the latter is true, the component should be changed. Dave -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43959
[Bug testsuite/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)
--- Comment #9 from danglin at gcc dot gnu dot org 2010-09-08 00:24 --- Subject: Bug 43959 Author: danglin Date: Wed Sep 8 00:24:44 2010 New Revision: 163985 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163985 Log: Revert PR testsuite/43959 * gcc.dg/torture/builtin-cproj-1.c: Require c99 runtime. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/torture/builtin-cproj-1.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43959
[Bug testsuite/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-09-02 10:46 --- Please check whether Index: gcc/testsuite/gcc.dg/torture/builtin-cproj-1.c === --- gcc/testsuite/gcc.dg/torture/builtin-cproj-1.c (revision 163766) +++ gcc/testsuite/gcc.dg/torture/builtin-cproj-1.c (working copy) @@ -7,6 +7,8 @@ /* { dg-do link } */ /* { dg-add-options ieee } */ +/* { dg-add-options c99_runtime } */ +/* { dg-require-effective-target c99_runtime } */ /* All references to link_error should go away at compile-time. The argument is the __LINE__ number. It appears in the tree dump file fixes this (and commit it then). But I think the foldings should succeed anyway, so please investigate. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43959
[Bug testsuite/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)
--- Comment #3 from ghazi at gcc dot gnu dot org 2010-09-02 15:24 --- Please check whether +/* { dg-add-options c99_runtime } */ +/* { dg-require-effective-target c99_runtime } */ You're right that these foldings should succeed anyway, the c99_runtime should not be necessary. If requiring a c99 effective target eliminates the error, it's only because the test doesn't run anymore. The subject indicates the test fails at -O1, but I assume not -O0 or -O2. This leads me to guess that the failing line(s) are in the #ifdef __OPTIMIZE__ section. These bits rely on some generic optimizations to fully fold away the relevant code, which may not be happening here at -O1. I don't have access to a test infrastructure ATM. So if David could please narrow down which line is failing to fold, it would help. Each test line here calls link_error(__LINE__) so if you add -fdump-tree-* you should be able to see which one(s) aren't folding, and hopefully why. I suspect it's something more than the c99 complex stuff. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43959
[Bug testsuite/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)
--- Comment #4 from dave at hiauly1 dot hia dot nrc dot ca 2010-09-02 16:27 --- Subject: Re: [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors) On Thu, 02 Sep 2010, ghazi at gcc dot gnu dot org wrote: --- Comment #3 from ghazi at gcc dot gnu dot org 2010-09-02 15:24 --- Please check whether +/* { dg-add-options c99_runtime } */ +/* { dg-require-effective-target c99_runtime } */ You're right that these foldings should succeed anyway, the c99_runtime should not be necessary. If requiring a c99 effective target eliminates the error, it's only because the test doesn't run anymore. The subject indicates the test fails at -O1, but I assume not -O0 or -O2. This leads me to guess that the failing line(s) are in the #ifdef __OPTIMIZE__ section. These bits rely on some generic optimizations to fully fold away the relevant code, which may not be happening here at -O1. I don't have access to a test infrastructure ATM. So if David could please narrow down which line is failing to fold, it would help. Each test line here calls link_error(__LINE__) so if you add -fdump-tree-* you should be able to see which one(s) aren't folding, and hopefully why. I suspect it's something more than the c99 complex stuff. The test also fails at -O1 on hppa-unknown-linux-gnu. This is a c99 target. It doesn't fail at -O0 or at -O2. Attached builtin-cproj-1.c.149t.optimized. --- Comment #5 from dave at hiauly1 dot hia dot nrc dot ca 2010-09-02 16:27 --- Created an attachment (id=21671) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21671action=view) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43959
[Bug testsuite/43959] [4.6 Regression] FAIL: gcc.dg/torture/builtin-cproj-1.c -O1 (test for excess errors)
--- Comment #1 from rguenth at gcc dot gnu dot org 2010-05-02 15:26 --- They are C99 but the testcase does not require c99-targts. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||ghazi at gcc dot gnu dot org Status|UNCONFIRMED |NEW Component|middle-end |testsuite Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-05-02 15:26:05 date|| Summary|FAIL: |[4.6 Regression] FAIL: |gcc.dg/torture/builtin- |gcc.dg/torture/builtin- |cproj-1.c -O1 (test for |cproj-1.c -O1 (test for |excess errors) |excess errors) Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43959