public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/45777] New: Missing temporary ?
@ 2010-09-24 10:45 Joost.VandeVondele at pci dot uzh.ch
2010-09-24 10:46 ` [Bug fortran/45777] " Joost.VandeVondele at pci dot uzh.ch
` (15 more replies)
0 siblings, 16 replies; 17+ messages in thread
From: Joost.VandeVondele at pci dot uzh.ch @ 2010-09-24 10:45 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
Summary: Missing temporary ?
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: Joost.VandeVondele@pci.uzh.ch
this one seems like a missing temporary:
MODULE M1
TYPE T1
INTEGER, DIMENSION(:), ALLOCATABLE :: data
END TYPE T1
CONTAINS
SUBROUTINE S1(T,d)
INTEGER, DIMENSION(:), POINTER :: d
TYPE(T1), POINTER :: T
d(1:5)=T%data(3:7)
END SUBROUTINE
END MODULE
USE M1
TYPE(T1), POINTER :: T
INTEGER, DIMENSION(:), POINTER :: d
ALLOCATE(T)
ALLOCATE(T%data(10))
T%data=(/(i,i=1,10)/)
d=>T%data(5:9)
CALL S1(T,d)
IF (ANY(d.NE.(/3,4,5,6,7/))) CALL ABORT()
DEALLOCATE(T%data)
DEALLOCATE(T)
END
--
Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Missing temporary ?
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
@ 2010-09-24 10:46 ` Joost.VandeVondele at pci dot uzh.ch
2010-09-24 11:51 ` burnus at gcc dot gnu.org
` (14 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Joost.VandeVondele at pci dot uzh.ch @ 2010-09-24 10:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
Joost VandeVondele <Joost.VandeVondele at pci dot uzh.ch> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |4.3.0, 4.4.0, 4.5.0, 4.6.0
--- Comment #1 from Joost VandeVondele <Joost.VandeVondele at pci dot uzh.ch> 2010-09-24 10:45:28 UTC ---
This was inspired by PR45586 (what does the restrict attribute on a component
of a type mean?)
--
Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Missing temporary ?
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
2010-09-24 10:46 ` [Bug fortran/45777] " Joost.VandeVondele at pci dot uzh.ch
@ 2010-09-24 11:51 ` burnus at gcc dot gnu.org
2010-09-24 16:25 ` burnus at gcc dot gnu.org
` (13 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-09-24 11:51 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |burnus at gcc dot gnu.org
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-09-24 11:42:33 UTC ---
For what it is worth: gfortran 4.6 and 4.3.2, ifort 11.1, and pgf90 10.1 print
3 4 3 4 3
and thus call abort().
--
Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Missing temporary ?
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
2010-09-24 10:46 ` [Bug fortran/45777] " Joost.VandeVondele at pci dot uzh.ch
2010-09-24 11:51 ` burnus at gcc dot gnu.org
@ 2010-09-24 16:25 ` burnus at gcc dot gnu.org
2010-09-24 18:10 ` Joost.VandeVondele at pci dot uzh.ch
` (12 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-09-24 16:25 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
Status|UNCONFIRMED |NEW
Last reconfirmed| |2010.09.24 16:14:05
date| |
Ever Confirmed|0 |1
--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-09-24 16:14:05 UTC ---
With Crayftn, there is no abort.
Thinking a bit about the program, I believe it is valid, i.e. gfortran has a
wrong-code bug.
--
Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Missing temporary ?
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (2 preceding siblings ...)
2010-09-24 16:25 ` burnus at gcc dot gnu.org
@ 2010-09-24 18:10 ` Joost.VandeVondele at pci dot uzh.ch
2010-09-25 16:46 ` burnus at gcc dot gnu.org
` (11 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: Joost.VandeVondele at pci dot uzh.ch @ 2010-09-24 18:10 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
--- Comment #4 from Joost VandeVondele <Joost.VandeVondele at pci dot uzh.ch> 2010-09-24 17:59:40 UTC ---
(In reply to comment #3)
> With Crayftn, there is no abort.
that also holds for NAG and g95, BTW.
> Thinking a bit about the program, I believe it is valid, i.e. gfortran has a
> wrong-code bug.
yes, I also think this testcase is valid.
One little bit more tricky (in my mind) is the case where one declares T as
'TYPE(T1) :: T' in S1. It could be that that is not valid.
--
Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Missing temporary ?
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (3 preceding siblings ...)
2010-09-24 18:10 ` Joost.VandeVondele at pci dot uzh.ch
@ 2010-09-25 16:46 ` burnus at gcc dot gnu.org
2010-11-30 16:59 ` [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref tkoenig at gcc dot gnu.org
` (10 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-09-25 16:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-09-25 14:30:55 UTC ---
The issue seems to be how alias checking is implemented in trans-array.c:
gfc_could_be_alias (gfc_ss * lss, gfc_ss * rss)
[...]
for (rref = rss->expr->ref; rref != rss->data.info.ref; rref = rref->next)
{
if (gfc_symbols_could_alias (rref->u.c.sym, lsym))
return 1;
}
While "rss->expr->symtree->n.sym" (= "rsym") has the pointer and target
attribute, the element "rref->u.c.sym" usually has not.
Thus, the gfc_symbols_could_alias check succeeds (first argument is neither a
pointer nor a target thus it cannot alias with the second argument, unless both
symbol are the same); cf. symbol.c's
gfc_symbols_could_alias (gfc_symbol *lsym, gfc_symbol *rsym)
[...]
if (lsym->attr.pointer
&& (rsym->attr.pointer || rsym->attr.allocatable || rsym->attr.target))
return 1;
if (lsym->attr.target && rsym->attr.pointer)
return 1;
if (lsym->attr.allocatable && rsym->attr.pointer)
return 1;
[...]
return 0;
--
Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (4 preceding siblings ...)
2010-09-25 16:46 ` burnus at gcc dot gnu.org
@ 2010-11-30 16:59 ` tkoenig at gcc dot gnu.org
2010-12-29 22:04 ` tkoenig at gcc dot gnu.org
` (9 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2010-11-30 16:59 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
--- Comment #6 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2010-11-30 16:40:10 UTC ---
At least one problem occurs because the typespec of rref->u.c.sym is not
filled out correctly when chasing the refs on the rhs:
(gdb) p rref
No symbol "rref" in current context.
(gdb) up
#1 0x000000000054ceaa in gfc_could_be_alias (lss=<value optimized out>,
rss=<value optimized out>)
at ../../trunk/gcc/fortran/trans-array.c:3501
3501 if (gfc_symbols_could_alias (rref->u.c.sym, lsym))
(gdb) p rref
$6 = (gfc_ref *) 0x1458b90
(gdb) p rref->u.c.sym
$7 = (gfc_symbol *) 0x1454230
(gdb) p *(rref->u.c.sym)
$8 = {name = 0x7ffff5d11f98 "t1", module = 0x7ffff5d11f88 "m1", declared_at =
{nextc = 0x14507f0,
lb = 0x14507b0}, ts = {type = BT_UNKNOWN, kind = 0, u = {derived = 0x0, cl
= 0x0, pad = 0},
(gdb) p rref->u.c.sym.ts
$10 = {type = BT_UNKNOWN, kind = 0, u = {derived = 0x0, cl = 0x0, pad = 0},
interface = 0x0,
is_c_interop = 0, is_iso_c = 0, f90_type = BT_UNKNOWN, deferred = 0 '\000'}
Thus, gfc_symbols_could_alias has no chance of checking for type equivalence.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (5 preceding siblings ...)
2010-11-30 16:59 ` [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref tkoenig at gcc dot gnu.org
@ 2010-12-29 22:04 ` tkoenig at gcc dot gnu.org
2010-12-30 14:56 ` mikael at gcc dot gnu.org
` (8 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2010-12-29 22:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
--- Comment #7 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2010-12-29 22:03:47 UTC ---
I think we should be doing the checking against the
typespec of the component. The component looks reasonable:
p *(rref->u.c.component)
$19 = {name = 0x7ffff5d11fa8 "data", ts = {type = BT_INTEGER, kind = 4, u =
{derived = 0x0, cl = 0x0,
pad = 0},
but the sym just has
(gdb) p *(rref->u.c.sym)
$20 = {name = 0x7ffff5d11f98 "t1", module = 0x7ffff5d11f88 "m1", declared_at =
{nextc = 0x148a8e0,
lb = 0x148a8a0}, ts = {type = BT_UNKNOWN, kind = 0, u = {derived = 0x0, cl
= 0x0, pad = 0},
interface = 0x0, is_c_interop = 0, is_iso_c = 0, f90_type = BT_UNKNOWN,
deferred = 0 '\000'}, attr = {
allocatable = 0, dimension = 0, codimension = 0, external = 0, intrinsic =
0, optional = 0,
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (6 preceding siblings ...)
2010-12-29 22:04 ` tkoenig at gcc dot gnu.org
@ 2010-12-30 14:56 ` mikael at gcc dot gnu.org
2010-12-30 16:15 ` tkoenig at gcc dot gnu.org
` (7 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: mikael at gcc dot gnu.org @ 2010-12-30 14:56 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
Mikael Morin <mikael at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mikael at gcc dot gnu.org
--- Comment #8 from Mikael Morin <mikael at gcc dot gnu.org> 2010-12-30 14:56:27 UTC ---
(In reply to comment #7)
> I think we should be doing the checking against the
> typespec of the component. The component looks reasonable:
>
[...]
>
> but the sym just has
>
[...]
According to how it is used, it seems that u.c.sym is the component's derived
type. And the dump you show doesn't contradict that (name="t1", empty type
specification, ...). What's wrong ?
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (7 preceding siblings ...)
2010-12-30 14:56 ` mikael at gcc dot gnu.org
@ 2010-12-30 16:15 ` tkoenig at gcc dot gnu.org
2011-01-03 11:50 ` tkoenig at gcc dot gnu.org
` (6 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2010-12-30 16:15 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
--- Comment #9 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2010-12-30 16:15:36 UTC ---
(In reply to comment #8)
> (In reply to comment #7)
> > I think we should be doing the checking against the
> > typespec of the component. The component looks reasonable:
> >
> [...]
> >
> > but the sym just has
> >
> [...]
>
> According to how it is used, it seems that u.c.sym is the component's derived
> type. And the dump you show doesn't contradict that (name="t1", empty type
> specification, ...). What's wrong ?
The way we use it is wrong.
In gfc_could_be_alias, we call gfc_symbols_could_alias to check
possible aliases, like this:
for (rref = rss->expr->ref; rref != rss->data.info.ref; rref = rref->next)
{
if (rref->type != REF_COMPONENT)
break;
if (gfc_symbols_could_alias (rref->u.c.sym, lsym))
return 1;
}
gfc_symbols_could_alias then checks, based on type, if the two
symbols could alias. Unfortunately, the relevant type information is
lacking in rref->u.c.sym, so this check is a no-op.
For this test case, we need to perform a check on the type information
in the component, instead.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (8 preceding siblings ...)
2010-12-30 16:15 ` tkoenig at gcc dot gnu.org
@ 2011-01-03 11:50 ` tkoenig at gcc dot gnu.org
2011-01-03 23:43 ` tkoenig at gcc dot gnu.org
` (5 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-01-03 11:50 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
Thomas Koenig <tkoenig at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |tkoenig at gcc dot gnu.org
|gnu.org |
--- Comment #10 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-01-03 11:49:53 UTC ---
I'm working on it.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (9 preceding siblings ...)
2011-01-03 11:50 ` tkoenig at gcc dot gnu.org
@ 2011-01-03 23:43 ` tkoenig at gcc dot gnu.org
2011-01-04 12:33 ` tkoenig at gcc dot gnu.org
` (4 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-01-03 23:43 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
--- Comment #11 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-01-03 23:43:29 UTC ---
Created attachment 22887
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22887
Tentative patch
This could to the trick.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (10 preceding siblings ...)
2011-01-03 23:43 ` tkoenig at gcc dot gnu.org
@ 2011-01-04 12:33 ` tkoenig at gcc dot gnu.org
2011-01-08 10:07 ` tkoenig at gcc dot gnu.org
` (3 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-01-04 12:33 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
Thomas Koenig <tkoenig at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
URL| |http://gcc.gnu.org/ml/fortr
| |an/2011-01/msg00014.html
--- Comment #12 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-01-04 12:33:39 UTC ---
Patch here:
http://gcc.gnu.org/ml/fortran/2011-01/msg00014.html
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (11 preceding siblings ...)
2011-01-04 12:33 ` tkoenig at gcc dot gnu.org
@ 2011-01-08 10:07 ` tkoenig at gcc dot gnu.org
2011-01-08 11:39 ` tkoenig at gcc dot gnu.org
` (2 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-01-08 10:07 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
--- Comment #13 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-01-08 09:38:17 UTC ---
Author: tkoenig
Date: Sat Jan 8 09:38:13 2011
New Revision: 168596
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168596
Log:
2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/45777
* symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,
make static and move in front of its only caller, to ...
* trans-array.c (symbols_could_alias): ... here.
Pass information about pointer and target status as
arguments. Allocatable arrays don't alias anything
unless they have the POINTER attribute.
(gfc_could_be_alias): Keep track of pointer and target
status when following references. Also check if typespecs
of components match those of other components or symbols.
2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/45777
* gfortran.dg/dependency_39.f90: New test.
Added:
trunk/gcc/testsuite/gfortran.dg/dependency_39.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/symbol.c
trunk/gcc/fortran/trans-array.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (12 preceding siblings ...)
2011-01-08 10:07 ` tkoenig at gcc dot gnu.org
@ 2011-01-08 11:39 ` tkoenig at gcc dot gnu.org
2011-01-16 11:50 ` tkoenig at gcc dot gnu.org
2011-01-16 12:03 ` tkoenig at gcc dot gnu.org
15 siblings, 0 replies; 17+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-01-08 11:39 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
Thomas Koenig <tkoenig at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |4.6.0
Known to fail|4.5.0, 4.6.0 |4.5.2
--- Comment #14 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-01-08 10:04:00 UTC ---
Fixed on trunk, backport to 4.5 pending.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (13 preceding siblings ...)
2011-01-08 11:39 ` tkoenig at gcc dot gnu.org
@ 2011-01-16 11:50 ` tkoenig at gcc dot gnu.org
2011-01-16 12:03 ` tkoenig at gcc dot gnu.org
15 siblings, 0 replies; 17+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-01-16 11:50 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
--- Comment #15 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-01-16 11:47:00 UTC ---
Author: tkoenig
Date: Sun Jan 16 11:46:55 2011
New Revision: 168851
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168851
Log:
2011-01-16 Thomas Koenig <tkoenig@gcc.gnu.org>
Backport from trunk
PR fortran/45777
* symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,
make static and move in front of its only caller, to ...
* trans-array.c (symbols_could_alias): ... here.
Pass information about pointer and target status as
arguments. Allocatable arrays don't alias anything
unless they have the POINTER attribute.
(gfc_could_be_alias): Keep track of pointer and target
status when following references. Also check if typespecs
of components match those of other components or symbols.
* gfortran.h: Remove prototype for gfc_symbols_could_alias.
2011-01-16 Thomas Koenig <tkoenig@gcc.gnu.org>
Backport from trunk
PR fortran/45777
* gfortran.dg/dependency_39.f90: New test.
Added:
branches/gcc-4_5-branch/gcc/testsuite/gfortran.dg/dependency_39.f90
Modified:
branches/gcc-4_5-branch/gcc/fortran/ChangeLog
branches/gcc-4_5-branch/gcc/fortran/gfortran.h
branches/gcc-4_5-branch/gcc/fortran/symbol.c
branches/gcc-4_5-branch/gcc/fortran/trans-array.c
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
` (14 preceding siblings ...)
2011-01-16 11:50 ` tkoenig at gcc dot gnu.org
@ 2011-01-16 12:03 ` tkoenig at gcc dot gnu.org
15 siblings, 0 replies; 17+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2011-01-16 12:03 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
Thomas Koenig <tkoenig at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #16 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2011-01-16 11:47:31 UTC ---
Fixed on 4.5 as well, closing.
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2011-01-16 11:48 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-24 10:45 [Bug fortran/45777] New: Missing temporary ? Joost.VandeVondele at pci dot uzh.ch
2010-09-24 10:46 ` [Bug fortran/45777] " Joost.VandeVondele at pci dot uzh.ch
2010-09-24 11:51 ` burnus at gcc dot gnu.org
2010-09-24 16:25 ` burnus at gcc dot gnu.org
2010-09-24 18:10 ` Joost.VandeVondele at pci dot uzh.ch
2010-09-25 16:46 ` burnus at gcc dot gnu.org
2010-11-30 16:59 ` [Bug fortran/45777] Alias analysis broken for arrays where LHS or RHS is a component ref tkoenig at gcc dot gnu.org
2010-12-29 22:04 ` tkoenig at gcc dot gnu.org
2010-12-30 14:56 ` mikael at gcc dot gnu.org
2010-12-30 16:15 ` tkoenig at gcc dot gnu.org
2011-01-03 11:50 ` tkoenig at gcc dot gnu.org
2011-01-03 23:43 ` tkoenig at gcc dot gnu.org
2011-01-04 12:33 ` tkoenig at gcc dot gnu.org
2011-01-08 10:07 ` tkoenig at gcc dot gnu.org
2011-01-08 11:39 ` tkoenig at gcc dot gnu.org
2011-01-16 11:50 ` tkoenig at gcc dot gnu.org
2011-01-16 12:03 ` tkoenig at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).