re PR fortran/66545 (ICE on using undefined parameter/variable values)
2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/66545 * primary.c (match_sym_complex_part): Do not dereference NULL pointer. 2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/66545 * gfortran.dg/pr66545_1.f90: New test. * gfortran.dg/pr66545_2.f90: New test. From-SVN: r225348
This commit is contained in:
parent
e62bb796ef
commit
70db5f0228
@ -1,3 +1,8 @@
|
||||
2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/66545
|
||||
* primary.c (match_sym_complex_part): Do not dereference NULL pointer.
|
||||
|
||||
2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
* arith.c (gfc_arith_divide): With -Winteger-division,
|
||||
|
@ -1254,6 +1254,9 @@ match_sym_complex_part (gfc_expr **result)
|
||||
return MATCH_ERROR;
|
||||
}
|
||||
|
||||
if (!sym->value)
|
||||
goto error;
|
||||
|
||||
if (!gfc_numeric_ts (&sym->value->ts))
|
||||
{
|
||||
gfc_error ("Numeric PARAMETER required in complex constant at %C");
|
||||
|
@ -1,3 +1,9 @@
|
||||
2015-07-02 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/66545
|
||||
* gfortran.dg/pr66545_1.f90: New test.
|
||||
* gfortran.dg/pr66545_2.f90: New test.
|
||||
|
||||
2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
|
||||
|
||||
* gcc.dg/vect/vect-strided-a-u16-i4.c (main1): Narrow scope of x,y,z,w.
|
||||
|
17
gcc/testsuite/gfortran.dg/pr66545_1.f90
Normal file
17
gcc/testsuite/gfortran.dg/pr66545_1.f90
Normal file
@ -0,0 +1,17 @@
|
||||
! { dg-do compile }
|
||||
! { dg-options "-Wall" }
|
||||
! PR fortran/66545
|
||||
!
|
||||
subroutine p
|
||||
complex, parameter :: c1 = (c1) ! { dg-error "before its definition" }
|
||||
complex, parameter :: c2 = c2 ! { dg-error "before its definition" }
|
||||
complex :: c3 = (c3) ! { dg-error "has not been declared or is a variable" }
|
||||
complex :: c4 = c4 ! { dg-error "has not been declared or is a variable" }
|
||||
end subroutine p
|
||||
|
||||
subroutine q
|
||||
real, parameter :: r1 = (r1) ! { dg-error "before its definition" }
|
||||
real, parameter :: r2 = r2 ! { dg-error "before its definition" }
|
||||
real :: r3 = (r3) ! { dg-error "has not been declared or is a variable" }
|
||||
real :: r4 = r4 ! { dg-error "has not been declared or is a variable" }
|
||||
end subroutine q
|
23
gcc/testsuite/gfortran.dg/pr66545_2.f90
Normal file
23
gcc/testsuite/gfortran.dg/pr66545_2.f90
Normal file
@ -0,0 +1,23 @@
|
||||
! { dg-do compile }
|
||||
! { dg-options "-Wuninitialized" }
|
||||
! PR fortran/66545
|
||||
!
|
||||
program foo
|
||||
implicit none
|
||||
call p1
|
||||
call q1
|
||||
end program foo
|
||||
|
||||
subroutine p1
|
||||
complex :: c5
|
||||
complex :: c6
|
||||
c5 = (c5) ! { dg-warning "used uninitialized in this" }
|
||||
c6 = c6 ! { dg-warning "used uninitialized in this" }
|
||||
end subroutine p1
|
||||
|
||||
subroutine q1
|
||||
real :: r5
|
||||
real :: r6
|
||||
r5 = (r5) ! { dg-warning "used uninitialized in this" }
|
||||
r6 = r6 ! { dg-warning "used uninitialized in this" }
|
||||
end subroutine q1
|
Loading…
Reference in New Issue
Block a user