summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-13 23:22:13 +0000
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-13 23:22:13 +0000
commit60b93f922aa5caab5206936061e19e2accc995a3 (patch)
treedefda8dbed3925b82febb0f106ee66bfb41d35b5 /gcc
parent232542d2f14a3a359104b742d1ce57fae807c798 (diff)
downloadgcc-60b93f922aa5caab5206936061e19e2accc995a3.tar.gz
PR fortran/15314
* gfortran.fortran-torture/execute/der_init_s.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81818 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/der_init_2.f9015
3 files changed, 21 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index e32d1885ed8..8939fc452d3 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,4 +1,4 @@
-2004-05-13 Paul Brook <paul@codesourcery.com>
+2004-05-13 Victor Leikehman <lei@haifasphere.co.il>
PR fortran/15314
* trans-expr.c (gfc_conv_structure): Use field type, not expr type.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 65705ecedc9..4ac96daa562 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-05-13 Paul Brook <paul@codesourcery.com>
+
+ PR fortran/15314
+ * gfortran.fortran-torture/execute/der_init_s.f90: New test.
+
2004-05-13 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/uninit-H.c: Test for __PPC__ and __ppc__
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/der_init_2.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/der_init_2.f90
new file mode 100644
index 00000000000..d0448a55b67
--- /dev/null
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/der_init_2.f90
@@ -0,0 +1,15 @@
+! PR 15314
+! We were looking at the type of the initialization expression, not the type
+! of the field.
+program der_init_2
+ implicit none
+ type foo
+ integer :: a(3) = 42
+ integer :: b = 123
+ end type
+
+ type (foo) :: v
+
+ if ((v%b .ne. 123) .or. any (v%a .ne. 42)) call abort ();
+end program
+