Files
clang-p2996/flang/test/Parser/include.f
Peter Klausler 4dfed691a9 [flang][preprocessor] Don't expand INCLUDE under -E by default (#110333)
Fortran INCLUDE lines have (until now) been treated like #include
directives. This isn't how things work with other Fortran compilers when
running under the -E option for preprocessing only, so stop doing it by
default, and add -fpreprocess-include-lines to turn it back on when
desired.
2024-09-30 12:38:47 -07:00

69 lines
2.0 KiB
Fortran

! RUN: %flang_fc1 -E -fpreprocess-include-lines -I %S/Inputs %s 2>&1 | FileCheck %s
include 'include-file'
include "include-file"
include 1_'include-file'
include 1_"include-file"
i n c l u d e 'include-file'
INCLUDE 'include-file'
I N C L U D E 'include-file'
include 'include-file'
include "include-file"
include 1_'include-file'
include 1_"include-file"
i n c l u d e 'include-file'
INCLUDE 'include-file'
I N C L U D E 'include-file'
0include 'include-file'
x = 2
include 'include-file'
print *, "
1include 'not-an-include'
2"
cinclude 'not-an-include'
*include 'not-an-include'
!include 'not-an-include'
c include 'not-an-include'
* include 'not-an-include'
! include 'not-an-include'
end
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include.f" 17
!CHECK: x = 2
!CHECK:#line "{{.*[/\\]}}include-file" 1
!CHECK: x = 1
!CHECK:#line "{{.*[/\\]}}include.f" 19
!CHECK: print *, " &
!CHECK: &include 'not-an-include' &
!CHECK: &"
!CHECK: end