URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
! { dg-do compile }
|
! { dg-do compile }
|
! This tests the patch for PR25024.
|
! This tests the patch for PR25024.
|
|
|
! PR25024 - The external attribute for subroutine a would cause an ICE.
|
! PR25024 - The external attribute for subroutine a would cause an ICE.
|
subroutine A ()
|
subroutine A ()
|
EXTERNAL A ! { dg-error "EXTERNAL attribute conflicts with SUBROUTINE" }
|
EXTERNAL A ! { dg-error "EXTERNAL attribute conflicts with SUBROUTINE" }
|
END
|
END
|
function ext (y)
|
function ext (y)
|
real ext, y
|
real ext, y
|
external ext ! { dg-error "EXTERNAL attribute conflicts with FUNCTION" }
|
external ext ! { dg-error "EXTERNAL attribute conflicts with FUNCTION" }
|
ext = y * y
|
ext = y * y
|
end function ext
|
end function ext
|
|
|
function ext1 (y)
|
function ext1 (y)
|
real ext1, y
|
real ext1, y
|
external z ! OK no conflict
|
external z ! OK no conflict
|
ext1 = y * y
|
ext1 = y * y
|
end function ext1
|
end function ext1
|
|
|
program main
|
program main
|
real ext, inval
|
real ext, inval
|
external ext ! OK, valid external reference.
|
external ext ! OK, valid external reference.
|
external main ! { dg-error "PROGRAM attribute conflicts with EXTERNAL" }
|
external main ! { dg-error "PROGRAM attribute conflicts with EXTERNAL" }
|
interface
|
interface
|
function ext1 (y)
|
function ext1 (y)
|
real ext1, y
|
real ext1, y
|
external ext1 ! { dg-error "EXTERNAL attribute conflicts with FUNCTION" }
|
external ext1 ! { dg-error "EXTERNAL attribute conflicts with FUNCTION" }
|
end function ext1
|
end function ext1
|
end interface
|
end interface
|
inval = 1.0
|
inval = 1.0
|
print *, ext(inval)
|
print *, ext(inval)
|
print *, ext1(inval)
|
print *, ext1(inval)
|
print *, inv(inval)
|
print *, inv(inval)
|
contains
|
contains
|
function inv (y)
|
function inv (y)
|
real inv, y
|
real inv, y
|
external inv ! { dg-error "EXTERNAL attribute conflicts with FUNCTION" }
|
external inv ! { dg-error "EXTERNAL attribute conflicts with FUNCTION" }
|
inv = y * y * y
|
inv = y * y * y
|
end function inv
|
end function inv
|
end program main
|
end program main
|
|
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.