[clang] 6a870cc - Add tests for driver to propagate module map flags for layering check (#75827)

via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 21 10:15:06 PST 2023


Author: Walter Lee
Date: 2023-12-21T13:15:02-05:00
New Revision: 6a870cca70e3df6070bdcd2768d6569daae8e1ba

URL: https://github.com/llvm/llvm-project/commit/6a870cca70e3df6070bdcd2768d6569daae8e1ba
DIFF: https://github.com/llvm/llvm-project/commit/6a870cca70e3df6070bdcd2768d6569daae8e1ba.diff

LOG: Add tests for driver to propagate module map flags for layering check (#75827)

Xcode 14.3.1 seems to have dropped these flags so we are creating unit tests to reproduce the issue.

Added: 
    

Modified: 
    clang/test/Driver/modules.m

Removed: 
    


################################################################################
diff  --git a/clang/test/Driver/modules.m b/clang/test/Driver/modules.m
index 9eb3569805569a..d1a65f5cb07133 100644
--- a/clang/test/Driver/modules.m
+++ b/clang/test/Driver/modules.m
@@ -57,7 +57,21 @@
 // CHECK-MODULE-MAP-FILES: "-fmodule-map-file=foo.map"
 // CHECK-MODULE-MAP-FILES: "-fmodule-map-file=bar.map"
 
-// RUN: %clang -fmodules -fbuiltin-module-map -### %s 2>&1 | FileCheck -check-prefix=CHECK-BUILTIN-MODULE-MAP %s
+// Verify that the driver propagates -fmodule-name and -fmodule-map-file flags when
+// -fmodules-decluse or -fmodules-strict-decluse, as used for layering check.
+// RUN: %clang -fmodules-decluse -fmodule-name=foo -c -### %s 2>&1 | FileCheck -check-prefix=CHECK-DECLUSE-PROPAGATE-MODULE-NAME %s
+// CHECK-DECLUSE-PROPAGATE-MODULE-NAME: -fmodule-name=foo
+
+// RUN: %clang -fmodules-decluse -fmodule-map-file=foo.map -c -### %s 2>&1 | FileCheck -check-prefix=CHECK-DECLUSE-PROPAGATE-MODULE-MAPS %s
+// CHECK-DECLUSE-PROPAGATE-MODULE-MAPS: -fmodule-map-file=foo.map
+
+// RUN: %clang -fmodules-strict-decluse -fmodule-name=foo -c -### %s 2>&1 | FileCheck -check-prefix=CHECK-STRICT-DECLUSE-PROPAGATE-MODULE-NAME %s
+// CHECK-STRICT-DECLUSE-PROPAGATE-MODULE-NAME: -fmodule-name=foo
+
+// RUN: %clang -fmodules-strict-decluse -fmodule-map-file=foo.map -c -### %s 2>&1 | FileCheck -check-prefix=CHECK-STRICT-DECLUSE-PROPAGATE-MODULE-MAPS %s
+// CHECK-STRICT-DECLUSE-PROPAGATE-MODULE-MAPS: -fmodule-map-file=foo.map
+
+    // RUN: %clang -fmodules -fbuiltin-module-map -### %s 2>&1 | FileCheck -check-prefix=CHECK-BUILTIN-MODULE-MAP %s
 // CHECK-BUILTIN-MODULE-MAP: "-fmodules"
 // CHECK-BUILTIN-MODULE-MAP: "-fmodule-map-file={{.*}}include{{/|\\\\}}module.modulemap"
 


        


More information about the cfe-commits mailing list