-2008-04-16 Daniel Kraft <d@domob.eu>
+2008-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ * gfortran.dg/missing_parens_1.f90: Update test.
+ * gfortran.dg/fmt_t_7.f: Update test.
+
+2008-05-16 Steven G. Kargl <kargls@comcast.net>
+
+ * gfortran.dg/int_3.f90: New test.
+ * gfortran.dg/and_or_xor.f90: New test.
+
+2008-05-16 Daniel Kraft <d@domob.eu>
PR fortran/27997
* gfortran.dg/array_constructor_type_1.f03: New test
--- /dev/null
+! { dg-do run }
+program L
+ if (and(.TRUE._1, .TRUE._1) .neqv. .true.) call abort
+ if (or(.TRUE._1, .TRUE._1) .neqv. .true.) call abort
+ if (xor(.TRUE._1, .TRUE._1) .neqv. .false.) call abort
+end program L
+
-! { dg-do run { target fd_truncate } }
-! PR34974 null bytes when reverse-tabbing long records
-! Test case prpared by Jerry DeLisle <jvdelisle@gcc.gnu.org>
- program test
- character(1) :: a, b, c
- write (10,'(t50000,a,t1,a)') 'b', 'a'
- close (10)
- open (10, access="stream")
- read (10, pos=1) a
- read (10, pos=50000) b
- read (10, pos=25474) c
- close (10, status="delete")
- if (a /= "a") call abort
- if (b /= "b") call abort
- if (c /= " ") call abort
- end
+! { dg-do run { target fd_truncate } }\r
+! PR34974 null bytes when reverse-tabbing long records\r
+! Test case prpared by Jerry DeLisle <jvdelisle@gcc.gnu.org>\r
+ program test\r
+ character(1) :: a, b, c\r
+ write (10,'(t50000,a,t1,a)') 'b', 'a'\r
+ close (10)\r
+ open (10, access="stream")\r
+ read (10, pos=1) a\r
+ read (10, pos=50000) b\r
+ read (10, pos=25474) c\r
+ close (10, status="delete")\r
+ if (a /= "a") call abort\r
+ if (b /= "b") call abort\r
+ if (c /= " ") call abort\r
+ end\r
--- /dev/null
+! { dg-do compile }
+subroutine bug1
+ integer, parameter :: ik1 = 1, ik2 = 2
+ integer, parameter :: i = kind(int((0.,0.), kind=ik1))
+ integer, parameter :: j = kind(int((0.,0.), kind=ik2))
+ integer, parameter :: k = kind(int(0., kind=ik1))
+ integer, parameter :: l = kind(int(0., kind=ik2))
+ integer, parameter :: m = kind(int(0, kind=ik1))
+ integer, parameter :: n = kind(int(0, kind=ik2))
+end subroutine bug1
program aa
implicit none
real(kind=8)::r1=0
+real(kind=8),dimension((1)::r2 ! { dg-error "Missing '\\)' in statement" }
+real(kind=8),dimension(3,3)::r3
character(25) :: a
a = 'I am not a )))))'')''.'
if ((((((a /= "I am not a )))))')'.")))))) call abort
if ((((((a /= "I am not a )))))"")"".")))))) call abort
if (((3*r1)**2)>= 0) a = "good"
if ((3*r1)**2)>= 0) a = "bad" ! { dg-error "Missing '\\(' in statement" }
+r3((2,2)) = 4.3 ! { dg-error "found COMPLEX" }
+do while ((.true.) ! { dg-error "Missing '\\)' in statement" }
+do while (.true. ! { dg-error "Missing '\\)' in statement" }
end