Add the following options: * -fimplicit-none and -fno-implicit-none * -fbackslash and -fno-backslash * -flogical-abbreviations and -fno-logical-abbreviations * -fxor-operator and -fno-xor-operator * -falternative-parameter-statement * -finput-charset=<value> Summary of changes: - Enable extensions in CompilerInvocation#ParseFrontendArgs - Add encoding_ to Fortran::frontend::FrontendOptions - Add encoding to Fortran::parser::Options Differential Revision: https://reviews.llvm.org/D96407
28 lines
999 B
Fortran
28 lines
999 B
Fortran
! RUN: not %flang -falternative-parameter-statement -fsyntax-only %s 2>&1 | FileCheck %s
|
|
|
|
! Error tests for "old style" PARAMETER statements
|
|
subroutine subr(x1,x2,x3,x4,x5)
|
|
type(*), intent(in) :: x1
|
|
class(*), intent(in) :: x2
|
|
real, intent(in) :: x3(*)
|
|
real, intent(in) :: x4(:)
|
|
character(*), intent(in) :: x5
|
|
!CHECK: error: TYPE(*) dummy argument may only be used as an actual argument
|
|
parameter p1 = x1
|
|
!CHECK: error: Must be a constant value
|
|
parameter p2 = x2
|
|
!CHECK: error: Whole assumed-size array 'x3' may not appear here without subscripts
|
|
parameter p3 = x3
|
|
!CHECK: error: Must be a constant value
|
|
parameter p4 = x4
|
|
!CHECK: error: Must be a constant value
|
|
parameter p5 = x5
|
|
!CHECK: The expression must be a constant of known type
|
|
parameter p6 = z'feedfacedeadbeef'
|
|
!CHECK: error: Must be a constant value
|
|
parameter p7 = len(x5)
|
|
real :: p8
|
|
!CHECK: error: Alternative style PARAMETER 'p8' must not already have an explicit type
|
|
parameter p8 = 666
|
|
end
|