================
@@ -0,0 +1,58 @@
+! Ensure argument -fintrinsic-modules-path works as expected.
+
+!-----------------------------------------
+! FLANG DRIVER
+!-----------------------------------------
+! NOTE: Depending on how Flang is built, the default intrinsics may have higher
+!       or lower priority than -fintrinsic-modules-path added here. Using
+!       basictestmoduleone.mod from Inputs/module-dir/ will trigger an error.
+
+! RUN:     %flang -fsyntax-only --target=x86_64-unknown-linux-gnu 
-resource-dir %S/Inputs/resource_dir_with_per_target_subdir %s -### 2>&1 | 
FileCheck %s --check-prefix=DEFAULTPATH
+
+! RUN:     %flang -fsyntax-only --target=x86_64-unknown-linux-gnu 
-resource-dir %S/Inputs/resource_dir_with_per_target_subdir %s -cpp 
-DINTRINSICS_DEFAULT
+! RUN: not %flang -fsyntax-only --target=x86_64-unknown-linux-gnu 
-resource-dir %S/Inputs/resource_dir_with_per_target_subdir %s -cpp 
-DINTRINSICS_INPUTONE 2>&1 | FileCheck %s --check-prefix=NOINPUTONE
+! RUN: not %flang -fsyntax-only --target=x86_64-unknown-linux-gnu 
-resource-dir %S/Inputs/resource_dir_with_per_target_subdir %s -cpp 
-DINTRINSICS_INPUTTWO 2>&1 | FileCheck %s --check-prefix=NOINPUTTWO
+! RUN:     %flang -fsyntax-only --target=x86_64-unknown-linux-gnu 
-resource-dir %S/Inputs/resource_dir_with_per_target_subdir %s -cpp 
-DINTRINSICS_DEFAULT -DINTRINSICS_INPUTTWO 
-fintrinsic-modules-path=%S/Inputs/module-dir/
+! RUN:     %flang -fsyntax-only --target=x86_64-unknown-linux-gnu 
-resource-dir %S/Inputs/resource_dir_with_per_target_subdir %s -cpp 
-DINTRINSICS_INPUTONE -fintrinsic-modules-path=%S/Inputs/module-dir-one/
+! RUN:     %flang -fsyntax-only --target=x86_64-unknown-linux-gnu 
-resource-dir %S/Inputs/resource_dir_with_per_target_subdir %s -cpp 
-DINTRINSICS_INPUTONE -DINTRINSICS_INPUTTWO 
-fintrinsic-modules-path=%S/Inputs/module-dir-one/ 
-fintrinsic-modules-path=%S/Inputs/module-dir/
+! RUN: not %flang -fsyntax-only --target=x86_64-unknown-linux-gnu 
-resource-dir %S/Inputs/resource_dir_with_per_target_subdir %s -cpp 
-DINTRINSICS_INPUTONE -DINTRINSICS_INPUTTWO 
-fintrinsic-modules-path=%S/Inputs/module-dir/ 
-fintrinsic-modules-path=%S/Inputs/module-dir-one/ 2>&1 | FileCheck %s 
--check-prefix=WRONGINPUTONE
+
+
+!-----------------------------------------
+! FLANG FRONTEND (flang -fc1)
+!-----------------------------------------
+! NOTE: %flang_cc1 the default intrinsics path always has higher priority than
+!       -fintrinsic-modules-path added here. Accidentally using
+!       ieee_arithmetic/iso_fortran_env from the Inputs/ directory will trigger
+!       an error (e.g. when the default intrinsics dir is empty).
+!       Requires the intrinsic modules to be available.
+
+! RUN:     %flang_fc1 -fsyntax-only -cpp %s -DINTRINSICS_DEFAULT
+! RUN: not %flang_fc1 -fsyntax-only -cpp %s -DINTRINSICS_DEFAULT 
-DINTRINSICS_INPUTONE 2>&1 | FileCheck %s --check-prefix=NOINPUTONE
+! RUN: not %flang_fc1 -fsyntax-only -cpp %s -DINTRINSICS_DEFAULT 
-DINTRINSICS_INPUTTWO 2>&1 | FileCheck %s --check-prefix=NOINPUTTWO
+! RUN:     %flang_fc1 -fsyntax-only -cpp %s -DINTRINSICS_DEFAULT 
-DINTRINSICS_INPUTTWO -fintrinsic-modules-path=%S/Inputs/module-dir/
+! RUN:     %flang_fc1 -fsyntax-only -cpp %s -DINTRINSICS_DEFAULT 
-DINTRINSICS_INPUTONE -fintrinsic-modules-path=%S/Inputs/module-dir-one/
+! RUN:     %flang_fc1 -fsyntax-only -cpp %s -DINTRINSICS_DEFAULT 
-DINTRINSICS_INPUTONE -DINTRINSICS_INPUTTWO 
-fintrinsic-modules-path=%S/Inputs/module-dir-one/ 
-fintrinsic-modules-path=%S/Inputs/module-dir/
----------------
Meinersbur wrote:

It checks that the command succeeds. `--allow-empty` would accept anything 
without actual check line, that would be pointless.

https://github.com/llvm/llvm-project/pull/196558
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to