parse.c (decode_statement): Suppress "Unclassifiable statement" error if previous error messages were emittes.
2019-01-01 Steven G. Kargl <kargl@gcc.gnu.org> * parse.c (decode_statement): Suppress "Unclassifiable statement" error if previous error messages were emittes. 2019-01-01 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/argument_checking_7.f90: Remove run-on error message. * gfortran.dg/dec_d_lines_3.f: Ditto. * gfortran.dg/dec_structure_24.f90: Ditto. * gfortran.dg/dec_structure_26.f90: Ditto. * gfortran.dg/dec_structure_27.f90: Ditto. * gfortran.dg/dec_type_print_3.f90: Ditto. * gfortran.dg/derived_name_1.f90: Ditto. * gfortran.dg/error_recovery_1.f90: Ditto. * gfortran.dg/gomp/pr29759.f90: Ditto. * gfortran.dg/pr36192.f90: Ditto. * gfortran.dg/pr56007.f90: Ditto. * gfortran.dg/pr56520.f90: Ditto. * gfortran.dg/pr78741.f90: Ditto. * gfortran.dg/print_fmt_2.f90: Ditto. * gfortran.dg/select_type_20.f90: Ditto. From-SVN: r267526
This commit is contained in:
parent
aaf83eb753
commit
f8fdc8c99a
|
@ -1,3 +1,8 @@
|
||||||
|
2019-01-01 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||||
|
|
||||||
|
* parse.c (decode_statement): Suppress "Unclassifiable statement"
|
||||||
|
error if previous error messages were emittes.
|
||||||
|
|
||||||
2019-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
|
2019-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/82743
|
PR fortran/82743
|
||||||
|
|
|
@ -587,10 +587,16 @@ decode_statement (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* All else has failed, so give up. See if any of the matchers has
|
/* All else has failed, so give up. See if any of the matchers has
|
||||||
stored an error message of some sort. */
|
stored an error message of some sort. Suppress the "Unclassifiable
|
||||||
|
statement" if a previous error message was emitted, e.g., by
|
||||||
|
gfc_error_now (). */
|
||||||
if (!gfc_error_check ())
|
if (!gfc_error_check ())
|
||||||
gfc_error_now ("Unclassifiable statement at %C");
|
{
|
||||||
|
int ecnt;
|
||||||
|
gfc_get_errors (NULL, &ecnt);
|
||||||
|
if (ecnt <= 0)
|
||||||
|
gfc_error_now ("Unclassifiable statement at %C");
|
||||||
|
}
|
||||||
|
|
||||||
reject_statement ();
|
reject_statement ();
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,21 @@
|
||||||
|
2019-01-02 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||||
|
|
||||||
|
* gfortran.dg/argument_checking_7.f90: Remove run-on error message.
|
||||||
|
* gfortran.dg/dec_d_lines_3.f: Ditto.
|
||||||
|
* gfortran.dg/dec_structure_24.f90: Ditto.
|
||||||
|
* gfortran.dg/dec_structure_26.f90: Ditto.
|
||||||
|
* gfortran.dg/dec_structure_27.f90: Ditto.
|
||||||
|
* gfortran.dg/dec_type_print_3.f90: Ditto.
|
||||||
|
* gfortran.dg/derived_name_1.f90: Ditto.
|
||||||
|
* gfortran.dg/error_recovery_1.f90: Ditto.
|
||||||
|
* gfortran.dg/gomp/pr29759.f90: Ditto.
|
||||||
|
* gfortran.dg/pr36192.f90: Ditto.
|
||||||
|
* gfortran.dg/pr56007.f90: Ditto.
|
||||||
|
* gfortran.dg/pr56520.f90: Ditto.
|
||||||
|
* gfortran.dg/pr78741.f90: Ditto.
|
||||||
|
* gfortran.dg/print_fmt_2.f90: Ditto.
|
||||||
|
* gfortran.dg/select_type_20.f90: Ditto.
|
||||||
|
|
||||||
2019-01-02 Marek Polacek <polacek@redhat.com>
|
2019-01-02 Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
PR c++/86875
|
PR c++/86875
|
||||||
|
|
|
@ -12,7 +12,7 @@ module cyclic
|
||||||
character(len(y)-1) ouch ! { dg-error "used before it is typed" }
|
character(len(y)-1) ouch ! { dg-error "used before it is typed" }
|
||||||
integer i
|
integer i
|
||||||
do i = 1, len(ouch)
|
do i = 1, len(ouch)
|
||||||
ouch(i:i) = achar(ieor(iachar(x(i:i)),iachar(y(i:i)))) ! { dg-error "Unclassifiable statement" }
|
ouch(i:i) = achar(ieor(iachar(x(i:i)),iachar(y(i:i))))
|
||||||
end do
|
end do
|
||||||
end function ouch
|
end function ouch
|
||||||
end module cyclic
|
end module cyclic
|
||||||
|
|
|
@ -9,6 +9,4 @@
|
||||||
include 'dec_d_lines_2.f'
|
include 'dec_d_lines_2.f'
|
||||||
|
|
||||||
! { dg-error "character in statement label" " " { target *-*-*} 6 }
|
! { dg-error "character in statement label" " " { target *-*-*} 6 }
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-*} 6 }
|
|
||||||
! { dg-error "character in statement label" " " { target *-*-*} 7 }
|
! { dg-error "character in statement label" " " { target *-*-*} 7 }
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-*} 7 }
|
|
||||||
|
|
|
@ -12,10 +12,6 @@ include 'dec_structure_1.f90'
|
||||||
! { dg-error "Expecting END PROGRAM" " " { target *-*-* } 19 }
|
! { dg-error "Expecting END PROGRAM" " " { target *-*-* } 19 }
|
||||||
! { dg-error "-fdec-structure" " " { target *-*-* } 21 }
|
! { dg-error "-fdec-structure" " " { target *-*-* } 21 }
|
||||||
! { dg-error "-fdec-structure" " " { target *-*-* } 22 }
|
! { dg-error "-fdec-structure" " " { target *-*-* } 22 }
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-* } 25 }
|
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-* } 26 }
|
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-* } 27 }
|
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-* } 28 }
|
|
||||||
! { dg-error "is not a variable" " " { target *-*-* } 30 }
|
! { dg-error "is not a variable" " " { target *-*-* } 30 }
|
||||||
! { dg-error "Bad character" " " { target *-*-* } 32 }
|
! { dg-error "Bad character" " " { target *-*-* } 32 }
|
||||||
! { dg-error "Expecting END PROGRAM" " " { target *-*-* } 34 }
|
! { dg-error "Expecting END PROGRAM" " " { target *-*-* } 34 }
|
||||||
|
|
|
@ -14,10 +14,6 @@ include 'dec_structure_1.f90'
|
||||||
! { dg-error "Expecting END PROGRAM" " " { target *-*-* } 19 }
|
! { dg-error "Expecting END PROGRAM" " " { target *-*-* } 19 }
|
||||||
! { dg-error "-fdec-structure" " " { target *-*-* } 21 }
|
! { dg-error "-fdec-structure" " " { target *-*-* } 21 }
|
||||||
! { dg-error "-fdec-structure" " " { target *-*-* } 22 }
|
! { dg-error "-fdec-structure" " " { target *-*-* } 22 }
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-* } 25 }
|
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-* } 26 }
|
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-* } 27 }
|
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-* } 28 }
|
|
||||||
! { dg-error "is not a variable" " " { target *-*-* } 30 }
|
! { dg-error "is not a variable" " " { target *-*-* } 30 }
|
||||||
! { dg-error "Bad character" " " { target *-*-* } 32 }
|
! { dg-error "Bad character" " " { target *-*-* } 32 }
|
||||||
! { dg-error "Expecting END PROGRAM" " " { target *-*-* } 34 }
|
! { dg-error "Expecting END PROGRAM" " " { target *-*-* } 34 }
|
||||||
|
|
|
@ -14,10 +14,6 @@ include 'dec_structure_1.f90'
|
||||||
! { dg-error "Expecting END PROGRAM" " " { target *-*-* } 19 }
|
! { dg-error "Expecting END PROGRAM" " " { target *-*-* } 19 }
|
||||||
! { dg-error "-fdec-structure" " " { target *-*-* } 21 }
|
! { dg-error "-fdec-structure" " " { target *-*-* } 21 }
|
||||||
! { dg-error "-fdec-structure" " " { target *-*-* } 22 }
|
! { dg-error "-fdec-structure" " " { target *-*-* } 22 }
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-* } 25 }
|
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-* } 26 }
|
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-* } 27 }
|
|
||||||
! { dg-error "Unclassifiable statement" " " { target *-*-* } 28 }
|
|
||||||
! { dg-error "is not a variable" " " { target *-*-* } 30 }
|
! { dg-error "is not a variable" " " { target *-*-* } 30 }
|
||||||
! { dg-error "Bad character" " " { target *-*-* } 32 }
|
! { dg-error "Bad character" " " { target *-*-* } 32 }
|
||||||
! { dg-error "Expecting END PROGRAM" " " { target *-*-* } 34 }
|
! { dg-error "Expecting END PROGRAM" " " { target *-*-* } 34 }
|
||||||
|
|
|
@ -15,7 +15,6 @@ include 'dec_type_print.f90'
|
||||||
! { dg-error "Invalid character in name" "" { target *-*-* } 56 }
|
! { dg-error "Invalid character in name" "" { target *-*-* } 56 }
|
||||||
! { dg-error "Invalid character in name" "" { target *-*-* } 57 }
|
! { dg-error "Invalid character in name" "" { target *-*-* } 57 }
|
||||||
! { dg-error "Invalid character in name" "" { target *-*-* } 58 }
|
! { dg-error "Invalid character in name" "" { target *-*-* } 58 }
|
||||||
! { dg-error "Unclassifiable statement" "" { target *-*-* } 59 }
|
|
||||||
! { dg-error "conflicts with PROCEDURE" "" { target *-*-* } 60 }
|
! { dg-error "conflicts with PROCEDURE" "" { target *-*-* } 60 }
|
||||||
! { dg-error "Cannot assign to a named constant" "" { target *-*-* } 80 }
|
! { dg-error "Cannot assign to a named constant" "" { target *-*-* } 80 }
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,9 @@ type complex ! { dg-error "cannot be the same as an intrinsic type" }
|
||||||
type character ! { dg-error "cannot be the same as an intrinsic type" }
|
type character ! { dg-error "cannot be the same as an intrinsic type" }
|
||||||
type logical ! { dg-error "cannot be the same as an intrinsic type" }
|
type logical ! { dg-error "cannot be the same as an intrinsic type" }
|
||||||
type complex ! { dg-error "cannot be the same as an intrinsic type" }
|
type complex ! { dg-error "cannot be the same as an intrinsic type" }
|
||||||
type double precision ! { dg-error "Unclassifiable statement" }
|
type double precision
|
||||||
type doubleprecision ! { dg-error "cannot be the same as an intrinsic type" }
|
type doubleprecision ! { dg-error "cannot be the same as an intrinsic type" }
|
||||||
type double complex ! { dg-error "Unclassifiable statement" }
|
type double complex
|
||||||
type doublecomplex ! { dg-error "cannot be the same as an intrinsic type" }
|
type doublecomplex ! { dg-error "cannot be the same as an intrinsic type" }
|
||||||
|
|
||||||
type x
|
type x
|
||||||
|
|
|
@ -10,6 +10,6 @@ module gfcbug29_import
|
||||||
end module gfcbug29_import
|
end module gfcbug29_import
|
||||||
|
|
||||||
subroutine FOO
|
subroutine FOO
|
||||||
X :: I ! { dg-error "Unclassifiable statement" }
|
X :: I
|
||||||
equivalence (I,I)
|
equivalence (I,I)
|
||||||
end
|
end
|
||||||
|
|
|
@ -22,21 +22,21 @@ PROGRAM test_omp
|
||||||
|
|
||||||
|
|
||||||
!$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" }
|
!$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" }
|
||||||
!$ NUM_THREADS(2) ! { dg-error "Unclassifiable|Invalid character" }
|
!$ NUM_THREADS(2)
|
||||||
!$OMP END PARALLEL ! { dg-error "Unexpected" }
|
!$OMP END PARALLEL ! { dg-error "Unexpected" }
|
||||||
|
|
||||||
!$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" }
|
!$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" }
|
||||||
!$ & NUM_THREADS(2) ! { dg-error "Unclassifiable|Invalid character" }
|
!$ & NUM_THREADS(2) ! { dg-error "Invalid character" }
|
||||||
!$OMP END PARALLEL ! { dg-error "Unexpected" }
|
!$OMP END PARALLEL ! { dg-error "Unexpected" }
|
||||||
|
|
||||||
!$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" }
|
!$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" }
|
||||||
!
|
!
|
||||||
!$ NUM_THREADS(2) ! { dg-error "Unclassifiable|Invalid character" }
|
!$ NUM_THREADS(2)
|
||||||
!$OMP END PARALLEL ! { dg-error "Unexpected" }
|
!$OMP END PARALLEL ! { dg-error "Unexpected" }
|
||||||
|
|
||||||
!$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" }
|
!$OMP PARALLEL & ! { dg-error "Unclassifiable OpenMP" }
|
||||||
!
|
!
|
||||||
!$ & NUM_THREADS(2) ! { dg-error "Unclassifiable|Invalid character" }
|
!$ & NUM_THREADS(2) ! { dg-error "Invalid character" }
|
||||||
!$OMP END PARALLEL ! { dg-error "Unexpected" }
|
!$OMP END PARALLEL ! { dg-error "Unexpected" }
|
||||||
|
|
||||||
END PROGRAM
|
END PROGRAM
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
program three_body
|
program three_body
|
||||||
real, parameter :: n = 2, d = 2
|
real, parameter :: n = 2, d = 2
|
||||||
real, dimension(n,d) :: x ! { dg-error "Expecting a scalar INTEGER" }
|
real, dimension(n,d) :: x ! { dg-error "Expecting a scalar INTEGER" }
|
||||||
x(1,:) = (/ 1.0, 0.0 /) ! { dg-error "Unclassifiable" }
|
x(1,:) = (/ 1.0, 0.0 /)
|
||||||
end program three_body
|
end program three_body
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
integer iw1(90), doiw1(90)
|
integer iw1(90), doiw1(90)
|
||||||
do iw1=1,2 ! { dg-error "cannot be an array" }
|
do iw1=1,2 ! { dg-error "cannot be an array" }
|
||||||
end do ! { dg-error "Expecting END PROGRAM statement" }
|
end do ! { dg-error "Expecting END PROGRAM statement" }
|
||||||
do iw1(1)=1 ! { dg-error "Unclassifiable statement" }
|
do iw1(1)=1
|
||||||
do iw1=1 ! { dg-error "cannot be an array" }
|
do iw1=1 ! { dg-error "cannot be an array" }
|
||||||
end do ! { dg-error "Expecting END PROGRAM statement" }
|
end do ! { dg-error "Expecting END PROGRAM statement" }
|
||||||
END program
|
END program
|
||||||
|
|
|
@ -6,8 +6,8 @@ program misleading
|
||||||
real a, c
|
real a, c
|
||||||
a = 1.0
|
a = 1.0
|
||||||
c = exp(+a) ) ! { dg-error "Unclassifiable statement" }
|
c = exp(+a) ) ! { dg-error "Unclassifiable statement" }
|
||||||
c = exp(-a) ) ! { dg-error "Unclassifiable statement" }
|
c = exp(-a) )
|
||||||
c = exp((a)) ) ! { dg-error "Unclassifiable statement" }
|
c = exp((a)) )
|
||||||
c = exp(a) ) ! { dg-error "Unclassifiable statement" }
|
c = exp(a) )
|
||||||
c = exp(a)
|
c = exp(a)
|
||||||
end program misleading
|
end program misleading
|
||||||
|
|
|
@ -11,6 +11,6 @@ entry g(n, x) ! { dg-error "is already defined" }
|
||||||
x = 'b'
|
x = 'b'
|
||||||
contains
|
contains
|
||||||
subroutine g ! { dg-error "(1)" }
|
subroutine g ! { dg-error "(1)" }
|
||||||
z(1) = x(1:1) ! { dg-error "Unclassifiable statement" }
|
z(1) = x(1:1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,5 +7,5 @@ real x
|
||||||
namelist /mynml/ x
|
namelist /mynml/ x
|
||||||
printf, "check" ! { dg-error "Unclassifiable" }
|
printf, "check" ! { dg-error "Unclassifiable" }
|
||||||
x = 1
|
x = 1
|
||||||
printmynml ! { dg-error "" }
|
printmynml
|
||||||
end
|
end
|
||||||
|
|
|
@ -15,21 +15,21 @@ module gfcbug111
|
||||||
|
|
||||||
contains
|
contains
|
||||||
|
|
||||||
function my_dot_v_v (this,a,b) ! { dg-error "has no IMPLICIT type" }
|
function my_dot_v_v (this,a,b) ! { dg-error "has no IMPLICIT type" }
|
||||||
class(trivial_inner_product_type), intent(in) :: this
|
class(trivial_inner_product_type), intent(in) :: this
|
||||||
class(vector_class), intent(in) :: a,b ! { dg-error "Derived type" }
|
class(vector_class), intent(in) :: a,b ! { dg-error "Derived type" }
|
||||||
real :: my_dot_v_v
|
real :: my_dot_v_v
|
||||||
|
|
||||||
select type (a)
|
select type (a) ! { dg-error "Selector shall be polymorphic" }
|
||||||
class is (trivial_vector_type) ! { dg-error "Syntax error in CLASS IS" }
|
class is (trivial_vector_type) ! { dg-error "Syntax error in CLASS IS" }
|
||||||
select type (b) ! { dg-error "Expected TYPE IS" }
|
select type (b) ! { dg-error "Expected TYPE IS" }
|
||||||
class is (trivial_vector_type) ! { dg-error "Syntax error in CLASS IS" }
|
class is (trivial_vector_type) ! { dg-error "Syntax error in CLASS IS" }
|
||||||
class default
|
class default
|
||||||
end select
|
end select
|
||||||
class default ! { dg-error "Unclassifiable statement" }
|
class default
|
||||||
end select ! { dg-error "Expecting END FUNCTION" }
|
end select ! { dg-error "Expecting END FUNCTION" }
|
||||||
end function my_dot_v_v
|
end function my_dot_v_v
|
||||||
end module gfcbug111
|
end module gfcbug111
|
||||||
|
|
||||||
select type (a)
|
select type (a)
|
||||||
! { dg-excess-errors "Unexpected end of file" }
|
! { dg-prune-output "Unexpected end of file" }
|
||||||
|
|
Loading…
Reference in New Issue