negative_unit.f: Add new check

2007-08-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* gfortran.dg/negative_unit.f: Add new check
	* gfortran.dg/negative_unit_int8.f: New. Same as above except use
	-fdefault-integer-8.

From-SVN: r127818
This commit is contained in:
Jerry DeLisle 2007-08-26 22:17:33 +00:00
parent 128997b6a5
commit ee66b08821
3 changed files with 51 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2007-08-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/negative_unit.f: Add new check
* gfortran.dg/negative_unit_int8.f: New. Same as above except use
-fdefault-integer-8.
2007-08-26 Asher Langton <langton2@llnl.gov>
* gfortran.dg/recursive_stack.f90: New.

View File

@ -2,9 +2,12 @@
!
! PR libfortran/20660 and other bugs (not filed in bugzilla) relating
! to negative units
! PR 33055 Runtime error in INQUIRE unit existance with -fdefault-integer-8
! Test case update by Jerry DeLisle <jvdelisle@gcc.gnu.org>
!
! Bugs submitted by Walt Brainerd
integer i
integer, parameter ::ERROR_BAD_UNIT = 5005
logical l
i = 0
@ -16,7 +19,14 @@
open (unit=-11, file="xxx", iostat=i)
if (i <= 0) call abort
i = 0
inquire (unit=-42, exist=l)
if (l) call abort
i = 0
! This one is nasty
inquire (unit=2_8*huge(0_4)+20_8, exist=l, iostat=i)
if (l) call abort
if (i.ne.ERROR_BAD_UNIT) call abort
end

View File

@ -0,0 +1,35 @@
! { dg-do run }
! { dg-options "-fdefault-integer-8" }
!
! NOTE: This test is identical to negative_unit.f except -fdefault-integer-8
!
! PR libfortran/20660 and other bugs (not filed in bugzilla) relating
! to negative units
! PR 33055 Runtime error in INQUIRE unit existance with -fdefault-integer-8
! Test case update by Jerry DeLisle <jvdelisle@gcc.gnu.org>
!
! Bugs submitted by Walt Brainerd
integer i
integer, parameter ::ERROR_BAD_UNIT = 5005
logical l
i = 0
! gfortran created a 'fort.-1' file and wrote "Hello" in it
write (unit=-1, fmt=*, iostat=i) "Hello"
if (i <= 0) call abort
i = 0
open (unit=-11, file="xxx", iostat=i)
if (i <= 0) call abort
i = 0
inquire (unit=-42, exist=l)
if (l) call abort
i = 0
! This one is nasty
inquire (unit=2_8*huge(0_4)+20_8, exist=l, iostat=i)
if (l) call abort
if (i.ne.ERROR_BAD_UNIT) call abort
end