--- Comment #12 from pinskia at gcc dot gnu dot org 2007-03-13 16:12
---
Created an attachment (id=13201)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13201&action=view)
patch which I need to retest and fix the last regression
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3
--
mmitchel at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|4.1.2 |4.1.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30132
--
mmitchel at gcc dot gnu dot org changed:
What|Removed |Added
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30132
--- Comment #11 from pinskia at gcc dot gnu dot org 2007-01-22 19:30
---
(In reply to comment #10)
> Here is a Fortran test case:
I think that Fortran issue is something unrelated to this bug.
In fact that Fortran testcase was fixed for 4.1.2 by PR 27889.
--
http://gcc.gnu.org/bugz
--- Comment #10 from geir at cray dot com 2007-01-22 19:24 ---
Here is a Fortran test case:
$ cat bug2737.f90
PROGRAM get_tst_inc_complex
implicit none
external subrrg, checkrr
complex :: vrr, trr
vrr=cmplx(1.,2.);
call subrr ( )
contains
su
--- Comment #8 from pinskia at gcc dot gnu dot org 2006-12-09 19:36 ---
I now have a fix for both issues (fixing the first problem of ineffient
gimplification is enough to fix this bug but might not be enough to fix
others).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30132
--- Comment #7 from pinskia at gcc dot gnu dot org 2006-12-09 19:24 ---
The second issue (the invalid gimple), comes from marking a variable as
ADDRESSABLE late after the orginal gimplification to that variable had
happened:
/* Mark the RHS addressable. */
lang_hooks
--- Comment #6 from pinskia at gcc dot gnu dot org 2006-12-09 19:11 ---
We have:
if ((fallback & fb_lvalue) == 0)
{
result = tmp2 = tmp = create_tmp_var (TREE_TYPE (expr), "iftmp");
ret = GS_ALL_DONE;
}
But fallback is "fallback=fb_either" so th
--- Comment #5 from pinskia at gcc dot gnu dot org 2006-12-09 14:24 ---
After gimplification:
D.1853 = *t;
if (D.1853 == __complex__ (0.0, 0.0))
{
D.1854 = __complex__ (0.0, 0.0);
iftmp.0 = &D.1854;
}
else
{
D.1855 = *t;
D.1856 = -D.1855;
i
--- Comment #4 from pinskia at gcc dot gnu dot org 2006-12-09 14:22 ---
Also note moving catching it earlier makes this a middle-end (gimplifier) issue
rather than an optimization issue.
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Adde
10 matches
Mail list logo