re PR fortran/78659 ([F03] Spurious "requires DTIO" reported against namelist statement)
2016-12-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/78659 * resolve.c (resolve_fl_namelist): Remove unneeded error. PR fortran/78659 * gfortran.dg/alloc_comp_constraint_1.f90: Update test. * gfortran.dg/alloc_comp_constraint_7.f90: New test. * gfortran.dg/namelist_34.f90: Update test. * gfortran.dg/namelist_63.f90: Update test. From-SVN: r243308
This commit is contained in:
parent
0eada3216b
commit
34022d2b2e
7 changed files with 46 additions and 20 deletions
|
@ -1,3 +1,8 @@
|
|||
2016-12-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR fortran/78659
|
||||
* resolve.c (resolve_fl_namelist): Remove unneeded error.
|
||||
|
||||
2016-12-06 Andre Vehreschild <vehre@gcc.gnu.org>
|
||||
|
||||
PR fortran/78226
|
||||
|
|
|
@ -13900,15 +13900,7 @@ resolve_fl_namelist (gfc_symbol *sym)
|
|||
"or POINTER components", nl->sym->name,
|
||||
sym->name, &sym->declared_at))
|
||||
return false;
|
||||
|
||||
if (!dtio)
|
||||
{
|
||||
gfc_error ("NAMELIST object %qs in namelist %qs at %L has "
|
||||
"ALLOCATABLE or POINTER components and thus requires "
|
||||
"a defined input/output procedure", nl->sym->name,
|
||||
sym->name, &sym->declared_at);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2016-12-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR fortran/78659
|
||||
* gfortran.dg/alloc_comp_constraint_1.f90: Update test.
|
||||
* gfortran.dg/alloc_comp_constraint_7.f90: New test.
|
||||
* gfortran.dg/namelist_34.f90: Update test.
|
||||
* gfortran.dg/namelist_63.f90: Update test.
|
||||
|
||||
2016-12-06 Robert Suchanek <robert.suchanek@imgtec.com>
|
||||
|
||||
* gcc.target/mips/msa-builtins-err.c: New test.
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
! { dg-do compile }
|
||||
! Check that we don't allow IO or NAMELISTs with types with allocatable
|
||||
! { dg-options -std=f2003 }
|
||||
! Check that we don't allow IO of NAMELISTs with types with allocatable
|
||||
! components (PR 20541)
|
||||
program main
|
||||
|
||||
|
@ -13,8 +14,8 @@ program main
|
|||
|
||||
type(foo) :: a
|
||||
type(bar) :: b
|
||||
namelist /blah/ a ! { dg-error "has ALLOCATABLE or POINTER components and thus requires a defined input/output" }
|
||||
|
||||
namelist /blah/ a ! This is allowed under F2003, but not F95
|
||||
! The following require User Defined Derived Type I/O procedures.
|
||||
write (*, *) a ! { dg-error "cannot have ALLOCATABLE components" }
|
||||
|
||||
read (*, *) b ! { dg-error "cannot have ALLOCATABLE components" }
|
||||
|
|
19
gcc/testsuite/gfortran.dg/alloc_comp_constraint_7.f90
Normal file
19
gcc/testsuite/gfortran.dg/alloc_comp_constraint_7.f90
Normal file
|
@ -0,0 +1,19 @@
|
|||
! { dg-do compile }
|
||||
! { dg-options -std=f95 }
|
||||
! Check that we don't allow types with allocatable
|
||||
program main
|
||||
|
||||
type :: foo
|
||||
integer :: k
|
||||
integer, allocatable :: x(:) ! { dg-error "Fortran 2003: ALLOCATABLE" }
|
||||
end type foo
|
||||
|
||||
type :: bar
|
||||
type(foo) :: x
|
||||
end type bar
|
||||
|
||||
type(foo) :: a
|
||||
type(bar) :: b
|
||||
namelist /blah/ a
|
||||
|
||||
end program main
|
|
@ -1,7 +1,7 @@
|
|||
! { dg-do compile }
|
||||
!
|
||||
! { dg-options -std=f95 }
|
||||
! PR fortran/32905 - accepts types with ultimate POINTER components
|
||||
!
|
||||
! updated for PR78659
|
||||
MODULE types
|
||||
type :: tp3
|
||||
real :: x
|
||||
|
@ -22,7 +22,7 @@ MODULE nml
|
|||
USE types
|
||||
type(tp1) :: t1
|
||||
type(tp3) :: t3
|
||||
|
||||
namelist /a/ t1 ! { dg-error "has ALLOCATABLE or POINTER components and thus requires a defined input/output" }
|
||||
namelist /b/ t3 ! { dg-error "has ALLOCATABLE or POINTER components and thus requires a defined input/output" }
|
||||
! The following are allowed under f2003.
|
||||
namelist /a/ t1 ! { dg-error "with ALLOCATABLE or POINTER components" }
|
||||
namelist /b/ t3 ! { dg-error "with ALLOCATABLE or POINTER components" }
|
||||
END MODULE
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! { dg-do compile }
|
||||
!
|
||||
! PR fortran/45530
|
||||
! { dg-options -std=f95 }
|
||||
! PR fortran/45530, updated for PR78659
|
||||
!
|
||||
! Contributed by david.sagan@gmail.com
|
||||
!
|
||||
|
@ -24,5 +24,6 @@ type region_struct
|
|||
end type
|
||||
|
||||
type (c_struct) curve(10)
|
||||
namelist / params / curve ! { dg-error "ALLOCATABLE or POINTER components and thus requires a defined input/output" }
|
||||
! The following is allowed with f2003.
|
||||
namelist / params / curve ! { dg-error "ALLOCATABLE or POINTER components" }
|
||||
end program
|
||||
|
|
Loading…
Add table
Reference in a new issue