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