public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members
@ 2012-10-02 20:07 jkozdon at gmail dot com
2012-10-02 21:52 ` [Bug fortran/54784] [OOP] " janus at gcc dot gnu.org
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: jkozdon at gmail dot com @ 2012-10-02 20:07 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
Bug #: 54784
Summary: [oop] allocation of extended types with polymorphic
allocatable members
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: jkozdon@gmail.com
(Error also occurs with gcc 4.7.1)
When I have a container module with stores a collection of polymorphics types,
I sometimes get an error that a pointer is being freed which was not allocated.
An example program is below. It can be compiled without errors
gfortran bug.f90
It contains four modules each with an associated type. If the type 'block' in
'block_module' the member nFields is commented out the code runs fine.
If a print statement is added in the program the code runs fine
If the dimension of the member 'x' of types block_cart1d and block_cart2d are
changed so that they are not 3 and 4 (only one must be changed), the program
works.
Finally, if the order in the program of the addBlock command is reversed the
bug.f90
--------
module block_module
implicit none
private
public :: block
type,abstract :: block
! if commented out code works fine
integer ,private :: nFields = 0
end type block
end module block_module
module block1d_module
use block_module, only : block
type,extends(block) :: block1d
real,dimension(:,:,:),allocatable,private :: fields
end type
end module
module block2d_module
use block_module, only : block
type,extends(block) :: block2d
real,dimension(:,:,:,:),allocatable,private :: fields
end type
end module
module domain_module
use block_module, only : block
implicit none
type :: list
class(block),allocatable :: B
end type
type :: domain
type(list),dimension(10) :: L
contains
procedure :: addBlock
end type
contains
subroutine addBlock(this,i,b)
implicit none
class(domain),intent(inout) :: this
integer,intent(in) :: i
class(block),intent(in) :: b
allocate(this%L(i)%B,source=b)
end subroutine
end module
program bug
use domain_module, only : domain
use block1d_module, only : block1d
use block2d_module, only : block2d
implicit none
type(domain) :: d
type(block1d) :: b1
type(block2d) :: b2
! crashes with "pointer being freed was not allocated"
call d%addBlock(1,b1)
call d%addBlock(2,b2)
! crashes with "invalid memory reference"
! call d%addBlock(2,b2)
! call d%addBlock(1,b1)
! runs fine
! call d%addBlock(1,b2)
! call d%addBlock(2,b1)
end program bug
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [OOP] allocation of extended types with polymorphic allocatable members
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
@ 2012-10-02 21:52 ` janus at gcc dot gnu.org
2012-10-02 22:15 ` jkozdon at gmail dot com
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: janus at gcc dot gnu.org @ 2012-10-02 21:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Keywords| |wrong-code
Last reconfirmed| |2012-10-02
CC| |janus at gcc dot gnu.org
Ever Confirmed|0 |1
Summary|[oop] allocation of |[OOP] allocation of
|extended types with |extended types with
|polymorphic allocatable |polymorphic allocatable
|members |members
--- Comment #1 from janus at gcc dot gnu.org 2012-10-02 21:51:49 UTC ---
Thanks for reporting this. I can reproduce it with 4.7 and trunk. Here is a
reduced test case:
program bug
implicit none
type :: block
real, allocatable :: fields
end type
type :: list
class(block),allocatable :: B
end type
type :: domain
type(list),dimension(2) :: L
end type
type(domain) :: d
type(block) :: b1
allocate(d%L(2)%B,source=b1)
end program bug
This fails at runtime with:
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 0x7F379D1FDA97
#1 0x7F379D1FE074
#2 0x7F379C72ED9F
#3 0x400804 in __copy_bug_Block at bug.f90:9
#4 0x40097C in bug at bug.f90:19 (discriminator 2)
Segmentation fault
valgrind shows:
==11046== Invalid read of size 8
==11046== at 0x400804: __copy_bug_Block (bug.f90:9)
==11046== by 0x40097C: MAIN__ (bug.f90:19)
==11046== by 0x400A88: main (bug.f90:21)
==11046== Address 0x0 is not stack'd, malloc'd or (recently) free'd
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [OOP] allocation of extended types with polymorphic allocatable members
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
2012-10-02 21:52 ` [Bug fortran/54784] [OOP] " janus at gcc dot gnu.org
@ 2012-10-02 22:15 ` jkozdon at gmail dot com
2012-10-02 22:36 ` janus at gcc dot gnu.org
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: jkozdon at gmail dot com @ 2012-10-02 22:15 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
--- Comment #2 from Jeremy Kozdon <jkozdon at gmail dot com> 2012-10-02 22:14:57 UTC ---
So there is actually two different bugs, one is the invalid memory reference
which happens when you don't allocate in order.
There is a second, the one I was really trying to report, and that's when
allocating in my original example type(block1d) before type(block2d), namely
the call
call d%addBlock(1,b1)
call d%addBlock(2,b2)
as opposed to
call d%addBlock(1,b2)
call d%addBlock(2,b1)
This gives the error:
a.out(4678) malloc: *** error for object 0x7fff82ec09be: pointer being freed
was not allocated
*** set a breakpoint in malloc_error_break to debug
Program received signal SIGABRT: Process abort signal.
Backtrace for this error:
#0 0x100004fbe
#1 0x1000056d4
#2 0x7fff82f1f1b9
Abort trap
(In reply to comment #1)
> Thanks for reporting this. I can reproduce it with 4.7 and trunk. Here is a
> reduced test case:
>
> program bug
> implicit none
>
> type :: block
> real, allocatable :: fields
> end type
>
> type :: list
> class(block),allocatable :: B
> end type
>
> type :: domain
> type(list),dimension(2) :: L
> end type
>
> type(domain) :: d
> type(block) :: b1
>
> allocate(d%L(2)%B,source=b1)
>
> end program bug
>
>
>
> This fails at runtime with:
>
> Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
>
> Backtrace for this error:
> #0 0x7F379D1FDA97
> #1 0x7F379D1FE074
> #2 0x7F379C72ED9F
> #3 0x400804 in __copy_bug_Block at bug.f90:9
> #4 0x40097C in bug at bug.f90:19 (discriminator 2)
> Segmentation fault
>
>
> valgrind shows:
>
> ==11046== Invalid read of size 8
> ==11046== at 0x400804: __copy_bug_Block (bug.f90:9)
> ==11046== by 0x40097C: MAIN__ (bug.f90:19)
> ==11046== by 0x400A88: main (bug.f90:21)
> ==11046== Address 0x0 is not stack'd, malloc'd or (recently) free'd
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [OOP] allocation of extended types with polymorphic allocatable members
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
2012-10-02 21:52 ` [Bug fortran/54784] [OOP] " janus at gcc dot gnu.org
2012-10-02 22:15 ` jkozdon at gmail dot com
@ 2012-10-02 22:36 ` janus at gcc dot gnu.org
2012-10-02 22:46 ` janus at gcc dot gnu.org
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: janus at gcc dot gnu.org @ 2012-10-02 22:36 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
--- Comment #3 from janus at gcc dot gnu.org 2012-10-02 22:35:57 UTC ---
(In reply to comment #2)
> So there is actually two different bugs
Or the two different errors you are seeing are really due to the same
underlying problem. I'm not quite sure about that yet, but I already have a
suspicion ...
> one is the invalid memory reference
> which happens when you don't allocate in order.
>
> There is a second, the one I was really trying to report, and that's when
> allocating in my original example type(block1d) before type(block2d), namely
> the call
> call d%addBlock(1,b1)
> call d%addBlock(2,b2)
Would be great if you could try to find a maximally reduced test for this case,
too. That would definitely help a lot.
In the meantime, I will start looking at the case in comment 1 ...
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [OOP] allocation of extended types with polymorphic allocatable members
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
` (2 preceding siblings ...)
2012-10-02 22:36 ` janus at gcc dot gnu.org
@ 2012-10-02 22:46 ` janus at gcc dot gnu.org
2012-10-02 23:44 ` janus at gcc dot gnu.org
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: janus at gcc dot gnu.org @ 2012-10-02 22:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
--- Comment #4 from janus at gcc dot gnu.org 2012-10-02 22:45:31 UTC ---
(In reply to comment #1)
>
> allocate(d%L(2)%B,source=b1)
>
The code generated for this line has two parts: The allocation and the copying
from the source. While the first part looks fine, it seems there is a problem
in the second. -fdump-tree-original shows:
{
struct block D.1890;
struct list[2] * D.1889;
D.1889 = &d.l;
D.1890 = b1;
{
integer(kind=8) S.0;
S.0 = 1;
while (1)
{
if (S.0 > 2) goto L.1;
__vtab_bug_Block._copy (&D.1890, (*D.1889)[S.0 + -1].b._data);
S.0 = S.0 + 1;
}
L.1:;
}
}
In principle only one element of the array 'd.l' should be copied. However, it
seems like the while loop does a copy for each element!
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [OOP] allocation of extended types with polymorphic allocatable members
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
` (3 preceding siblings ...)
2012-10-02 22:46 ` janus at gcc dot gnu.org
@ 2012-10-02 23:44 ` janus at gcc dot gnu.org
2012-10-03 10:38 ` janus at gcc dot gnu.org
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: janus at gcc dot gnu.org @ 2012-10-02 23:44 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |janus at gcc dot gnu.org
|gnu.org |
--- Comment #5 from janus at gcc dot gnu.org 2012-10-02 23:43:42 UTC ---
The following patch seems to cure the test case in comment 1, as well as both
variants in comment 0:
Index: gcc/fortran/trans-stmt.c
===================================================================
--- gcc/fortran/trans-stmt.c (revision 192004)
+++ gcc/fortran/trans-stmt.c (working copy)
@@ -5145,7 +5145,9 @@ gfc_trans_allocate (gfc_code * code)
dataref = actual->next->expr->ref;
/* Make sure we go up through the reference chain to
the _data reference, where the arrayspec is found. */
- while (dataref->next && dataref->next->type != REF_ARRAY)
+ while (!(dataref->type == REF_COMPONENT
+ && strcmp (dataref->u.c.component->name, "_data") == 0)
+ && dataref->next)
dataref = dataref->next;
if (dataref->u.c.component->as)
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [OOP] allocation of extended types with polymorphic allocatable members
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
` (4 preceding siblings ...)
2012-10-02 23:44 ` janus at gcc dot gnu.org
@ 2012-10-03 10:38 ` janus at gcc dot gnu.org
2012-10-03 16:09 ` [Bug fortran/54784] [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE janus at gcc dot gnu.org
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: janus at gcc dot gnu.org @ 2012-10-03 10:38 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
--- Comment #6 from janus at gcc dot gnu.org 2012-10-03 10:38:22 UTC ---
(In reply to comment #5)
> The following patch seems to cure the test case in comment 1, as well as both
> variants in comment 0:
... and regtests cleanly!
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
` (5 preceding siblings ...)
2012-10-03 10:38 ` janus at gcc dot gnu.org
@ 2012-10-03 16:09 ` janus at gcc dot gnu.org
2012-10-08 16:23 ` sfilippone at uniroma2 dot it
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: janus at gcc dot gnu.org @ 2012-10-03 16:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[OOP] allocation of |[4.7/4.8 Regression] [OOP]
|extended types with |wrong code in polymorphic
|polymorphic allocatable |allocation with SOURCE
|members |
--- Comment #7 from janus at gcc dot gnu.org 2012-10-03 16:09:03 UTC ---
This even seems to be a regression: The test case in comment 1 runs without
error when compiled with gfortran 4.6 (and also the dump looks ok).
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
` (6 preceding siblings ...)
2012-10-03 16:09 ` [Bug fortran/54784] [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE janus at gcc dot gnu.org
@ 2012-10-08 16:23 ` sfilippone at uniroma2 dot it
2012-10-09 10:00 ` sfilippone at uniroma2 dot it
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: sfilippone at uniroma2 dot it @ 2012-10-08 16:23 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
Salvatore Filippone <sfilippone at uniroma2 dot it> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sfilippone at uniroma2 dot
| |it
--- Comment #8 from Salvatore Filippone <sfilippone at uniroma2 dot it> 2012-10-08 16:22:42 UTC ---
Hello,
I have a different problem that is definitely related to this area, but may or
may not be the same.
I have (as usual :) a complex nesting of polymorphic derived types, and I have
a need to handle reallocation and re-population of a vector of such containers.
The type hierarchy is something like this
type mld_d_base_solver_type
end type
type mld_d_base_smoother_type
class(mld_d_base_solver_type), allocatable :: sv
end
type mld_d_onelev_type
class(mld_d_base_smoother_type), allocatable :: sm
end type
type, extends(psb_dprec_type) :: mld_dprec_type
type(mld_d_onelev_type), allocatable :: precv(:)
end type
Consider the following snippet of code:
--------------------
deallocate(p%precv,stat=info)
if (info == 0) allocate(p%precv(newsz),stat=info)
if (info /= 0) then
info = -1
return
end if
do i=1, newsz
if (info == 0) then
if (i ==1) then
allocate(p%precv(i)%sm,source=base_sm,stat=info)
else if (i < newsz) then
allocate(p%precv(i)%sm,source=med_sm,stat=info)
else
allocate(p%precv(i)%sm,source=coarse_sm,stat=info)
end if
end if
if (info /= 0) then
info = -1
return
end if
write(0,*) 'Copy back at level',i
do k=1,i
write(0,*) ' level',k
call p%precv(k)%sm%sv%descr(info,iout=0)
if (info /= 0) return
end do
end do
------------------------------------------------
You would expect the allocate with source at I=4 to leave untouched the
elements of p%precv(1:3), and yet this is the output I get with 4.7.2:
------------------------------------------------
Copy back at level 1
level 1
TLU: test a new solver kind
Copy back at level 2
level 1
TLU: test a new solver kind
level 2
TLU: test a new solver kind
Copy back at level 3
level 1
TLU: test a new solver kind
level 2
TLU: test a new solver kind
level 3
TLU: test a new solver kind
Copy back at level 4
level 1
Incomplete factorization solver: ILU(n)
Fill level: 0
level 2
Incomplete factorization solver: ILU(n)
Fill level: 0
level 3
Incomplete factorization solver: ILU(n)
Fill level: 0
level 4
Incomplete factorization solver: ILU(n)
Fill level: 0
Intermediate at level 1
Incomplete factorization solver: ILU(n)
Fill level: 0
-----------------------------------------------------------------
This clearly does not make sense.
I can send Janus the full code to reproduce the error.
Does it seem related?
Thanks
Salvatore
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
` (7 preceding siblings ...)
2012-10-08 16:23 ` sfilippone at uniroma2 dot it
@ 2012-10-09 10:00 ` sfilippone at uniroma2 dot it
2012-10-10 11:49 ` janus at gcc dot gnu.org
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: sfilippone at uniroma2 dot it @ 2012-10-09 10:00 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
--- Comment #9 from Salvatore Filippone <sfilippone at uniroma2 dot it> 2012-10-09 09:59:28 UTC ---
Just opened 54874. May or may not be a duplicate of this one.....
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
` (8 preceding siblings ...)
2012-10-09 10:00 ` sfilippone at uniroma2 dot it
@ 2012-10-10 11:49 ` janus at gcc dot gnu.org
2012-10-11 17:53 ` janus at gcc dot gnu.org
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: janus at gcc dot gnu.org @ 2012-10-10 11:49 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
--- Comment #10 from janus at gcc dot gnu.org 2012-10-10 11:49:02 UTC ---
*** Bug 54874 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
` (9 preceding siblings ...)
2012-10-10 11:49 ` janus at gcc dot gnu.org
@ 2012-10-11 17:53 ` janus at gcc dot gnu.org
2012-10-11 17:58 ` janus at gcc dot gnu.org
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: janus at gcc dot gnu.org @ 2012-10-11 17:53 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
--- Comment #11 from janus at gcc dot gnu.org 2012-10-11 17:52:44 UTC ---
Author: janus
Date: Thu Oct 11 17:52:36 2012
New Revision: 192374
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192374
Log:
2012-10-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/54784
* trans-stmt.c (gfc_trans_allocate): Correctly determine the reference
to the _data component for polymorphic allocation with SOURCE.
2012-10-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/54784
* gfortran.dg/class_allocate_13.f90: New.
Added:
trunk/gcc/testsuite/gfortran.dg/class_allocate_13.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-stmt.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
` (10 preceding siblings ...)
2012-10-11 17:53 ` janus at gcc dot gnu.org
@ 2012-10-11 17:58 ` janus at gcc dot gnu.org
2012-10-14 22:16 ` janus at gcc dot gnu.org
2012-10-14 22:27 ` janus at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: janus at gcc dot gnu.org @ 2012-10-11 17:58 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
--- Comment #12 from janus at gcc dot gnu.org 2012-10-11 17:58:19 UTC ---
r192374 fixes the problem on trunk. Will commit to the 4.7 branch soon.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
` (11 preceding siblings ...)
2012-10-11 17:58 ` janus at gcc dot gnu.org
@ 2012-10-14 22:16 ` janus at gcc dot gnu.org
2012-10-14 22:27 ` janus at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: janus at gcc dot gnu.org @ 2012-10-14 22:16 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
--- Comment #13 from janus at gcc dot gnu.org 2012-10-14 22:16:29 UTC ---
Author: janus
Date: Sun Oct 14 22:16:24 2012
New Revision: 192442
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192442
Log:
2012-10-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/54784
* trans-stmt.c (gfc_trans_allocate): Correctly determine the reference
to the _data component for polymorphic allocation with SOURCE.
2012-10-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/54784
* gfortran.dg/class_allocate_13.f90: New.
Added:
branches/gcc-4_7-branch/gcc/testsuite/gfortran.dg/class_allocate_13.f90
Modified:
branches/gcc-4_7-branch/gcc/fortran/ChangeLog
branches/gcc-4_7-branch/gcc/fortran/trans-stmt.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug fortran/54784] [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
` (12 preceding siblings ...)
2012-10-14 22:16 ` janus at gcc dot gnu.org
@ 2012-10-14 22:27 ` janus at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: janus at gcc dot gnu.org @ 2012-10-14 22:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54784
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #14 from janus at gcc dot gnu.org 2012-10-14 22:27:12 UTC ---
Fixed for the upcoming releases 4.8.0 and 4.7.3. Closing.
Thanks again for the report!
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2012-10-14 22:27 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-02 20:07 [Bug fortran/54784] New: [oop] allocation of extended types with polymorphic allocatable members jkozdon at gmail dot com
2012-10-02 21:52 ` [Bug fortran/54784] [OOP] " janus at gcc dot gnu.org
2012-10-02 22:15 ` jkozdon at gmail dot com
2012-10-02 22:36 ` janus at gcc dot gnu.org
2012-10-02 22:46 ` janus at gcc dot gnu.org
2012-10-02 23:44 ` janus at gcc dot gnu.org
2012-10-03 10:38 ` janus at gcc dot gnu.org
2012-10-03 16:09 ` [Bug fortran/54784] [4.7/4.8 Regression] [OOP] wrong code in polymorphic allocation with SOURCE janus at gcc dot gnu.org
2012-10-08 16:23 ` sfilippone at uniroma2 dot it
2012-10-09 10:00 ` sfilippone at uniroma2 dot it
2012-10-10 11:49 ` janus at gcc dot gnu.org
2012-10-11 17:53 ` janus at gcc dot gnu.org
2012-10-11 17:58 ` janus at gcc dot gnu.org
2012-10-14 22:16 ` janus at gcc dot gnu.org
2012-10-14 22:27 ` janus 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).