xref: /llvm-project/flang/test/Driver/fixed-free-detection.f90 (revision d5d420bb3bcc2eea926fb70fc3e6818c32e1eecc)
145da495fSAndrzej Warzynski! Ensure the driver correctly switches between fixed and free form based on the file extension.
2*3338ef93Speter klausler! This test exploits the fact that the prescanner treats whitespace differently for free
345da495fSAndrzej Warzynski! and fixed form input files.
445da495fSAndrzej Warzynski
545da495fSAndrzej Warzynski!--------------------------
6808a5a25SAndrzej Warzynski! FLANG DRIVER (flang)
745da495fSAndrzej Warzynski!--------------------------
8*3338ef93Speter klausler! RUN: %flang -E -Xflang -fno-reformat %S/Inputs/free-form-test.f90  2>&1 | FileCheck %s --check-prefix=FREEFORM
9*3338ef93Speter klausler! RUN: %flang -E -Xflang -fno-reformat %S/Inputs/fixed-form-test.f  2>&1 | FileCheck %s --check-prefix=FIXEDFORM
10*3338ef93Speter klausler! RUN: %flang -E -Xflang -fno-reformat %S/Inputs/free-form-test.f90 %S/Inputs/fixed-form-test.f  2>&1 | FileCheck %s --check-prefix=MULTIPLEFORMS
1145da495fSAndrzej Warzynski
1245da495fSAndrzej Warzynski!-----------------------------------------
13808a5a25SAndrzej Warzynski! FRONTEND FLANG DRIVER (flang_fc1)
1445da495fSAndrzej Warzynski!-----------------------------------------
15*3338ef93Speter klausler! RUN: %flang_fc1 -E -fno-reformat %S/Inputs/free-form-test.f90  2>&1 | FileCheck %s --check-prefix=FREEFORM
16*3338ef93Speter klausler! RUN: %flang_fc1 -E -fno-reformat %S/Inputs/fixed-form-test.f  2>&1 | FileCheck %s --check-prefix=FIXEDFORM
17*3338ef93Speter klausler! RUN: %flang_fc1 -E -fno-reformat %S/Inputs/free-form-test.f90 %S/Inputs/fixed-form-test.f  2>&1 | FileCheck %s --check-prefix=MULTIPLEFORMS
1845da495fSAndrzej Warzynski
1945da495fSAndrzej Warzynski! FREEFORM:program freeform
2045da495fSAndrzej Warzynski! FREEFORM-NOT:programfixedform
2145da495fSAndrzej Warzynski
2245da495fSAndrzej Warzynski! FIXEDFORM:programfixedform
2345da495fSAndrzej Warzynski! FIXEDFORM-NOT:program freeform
2445da495fSAndrzej Warzynski
2545da495fSAndrzej Warzynski! MULTIPLEFORMS:program freeform
2645da495fSAndrzej Warzynski! MULTIPLEFORMS-NOT:programfixedform
2745da495fSAndrzej Warzynski! MULTIPLEFORMS-NEXT:end
2845da495fSAndrzej Warzynski! MULTIPLEFORMS-NEXT:programfixedform
2945da495fSAndrzej Warzynski! MULTIPLEFORMS-NOT:program freeform
30