blob: 7c4689c6374d3559d132ae8999eeb20347840913 [file] [log] [blame]
program main
print *, __FILE__, __LINE__
end
! This test verifies that `flang`'s `-x` options behave like `gfortran`'s.
! Specifically:
! - `-x f95` should process the file based on its extension unless overridden.
! - `-x f95-cpp-input` should behave like `-x f95` but with preprocessing
! (`-cpp`) enabled unless overridden.
! ---
! Ensure the file is treated as fixed-form unless explicitly set otherwise
! ---
! RUN: not %flang -Werror -fsyntax-only -x f95 -cpp %s 2>&1 | FileCheck --check-prefix=SCAN-ERROR %s
! RUN: not %flang -Werror -fsyntax-only -x f95-cpp-input %s 2>&1 | FileCheck --check-prefix=SCAN-ERROR %s
! SCAN-ERROR: error: Could not scan
! RUN: %flang -Werror -fsyntax-only -x f95 -cpp -ffree-form %s 2>&1 | FileCheck --check-prefix=NO-SCAN-ERROR --allow-empty %s
! RUN: %flang -Werror -fsyntax-only -x f95-cpp-input -ffree-form %s 2>&1 | FileCheck --check-prefix=NO-SCAN-ERROR --allow-empty %s
! NO-SCAN-ERROR-NOT: error
! ---
! Ensure `-cpp` is not enabled by default unless explicitly requested
! ---
! RUN: not %flang -Werror -fsyntax-only -x f95 -ffree-form %s 2>&1 | FileCheck --check-prefix=SEMA-ERROR %s
! RUN: not %flang -Werror -fsyntax-only -x f95-cpp-input -nocpp -ffree-form %s 2>&1 | FileCheck --check-prefix=SEMA-ERROR %s
! SEMA-ERROR: error: Semantic errors
! RUN: %flang -Werror -fsyntax-only -x f95 -cpp -ffree-form %s 2>&1 | FileCheck --check-prefix=NO-SEMA-ERROR --allow-empty %s
! RUN: %flang -Werror -fsyntax-only -x f95-cpp-input -ffree-form %s 2>&1 | FileCheck --check-prefix=NO-SEMA-ERROR --allow-empty %s
! NO-SEMA-ERROR-NOT: error