[clang] [InstallAPI] Add test to validate cc1 arg forwading (PR #87666)
Cyndy Ishida via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 4 13:13:10 PDT 2024
https://github.com/cyndyishida updated https://github.com/llvm/llvm-project/pull/87666
>From 6b2f262d1e69724d4eb96f5ad75aa2c202f3eb2d Mon Sep 17 00:00:00 2001
From: Cyndy Ishida <cyndy_ishida at apple.com>
Date: Thu, 4 Apr 2024 10:36:47 -0700
Subject: [PATCH] [InstallAPI] Add test to validate cc1 arg forwading
---
.../Foundation.framework/Headers/Foundation.h | 19 +++++++++++
.../InstallAPI/extra-exclude-headers.test | 22 +-----------
.../InstallAPI/forwarded-search-paths.test | 34 +++++++++++++++++++
3 files changed, 54 insertions(+), 21 deletions(-)
create mode 100644 clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Headers/Foundation.h
create mode 100644 clang/test/InstallAPI/forwarded-search-paths.test
diff --git a/clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Headers/Foundation.h b/clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Headers/Foundation.h
new file mode 100644
index 00000000000000..e731b59ac5308b
--- /dev/null
+++ b/clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Headers/Foundation.h
@@ -0,0 +1,19 @@
+ at interface NSObject
+ at end
+
+typedef unsigned char BOOL;
+#ifndef NS_AVAILABLE
+#define NS_AVAILABLE(x,y) __attribute__((availability(macosx,introduced=x)))
+#endif
+#ifndef NS_UNAVAILABLE
+#define NS_UNAVAILABLE __attribute__((unavailable))
+#endif
+#ifndef NS_DEPRECATED_MAC
+#define NS_DEPRECATED_MAC(x,y) __attribute__((availability(macosx,introduced=x,deprecated=y,message="" )));
+#endif
+
+ at interface NSManagedObject
+ at end
+
+ at interface NSSet
+ at end
diff --git a/clang/test/InstallAPI/extra-exclude-headers.test b/clang/test/InstallAPI/extra-exclude-headers.test
index 663ca1a5d5000d..addb81f5386f3e 100644
--- a/clang/test/InstallAPI/extra-exclude-headers.test
+++ b/clang/test/InstallAPI/extra-exclude-headers.test
@@ -2,6 +2,7 @@
; RUN: split-file %s %t
; RUN: mkdir -p %t/System/Library/Frameworks
; RUN: cp -r %S/Inputs/Simple/Simple.framework %t/System/Library/Frameworks/
+; RUN: cp -r %S/Inputs/Foundation/Foundation.framework %t/System/Library/Frameworks/
; RUN: sed -e "s|DSTROOT|%/t|g" %t/inputs.json.in > %t/inputs.json
; RUN: yaml2obj %S/Inputs/Simple/Simple.yaml -o %t/Simple
@@ -184,24 +185,3 @@
],
"version": "3"
}
-
-;--- System/Library/Frameworks/Foundation.framework/Headers/Foundation.h
- at interface NSObject
- at end
-
-typedef unsigned char BOOL;
-#ifndef NS_AVAILABLE
-#define NS_AVAILABLE(x,y) __attribute__((availability(macosx,introduced=x)))
-#endif
-#ifndef NS_UNAVAILABLE
-#define NS_UNAVAILABLE __attribute__((unavailable))
-#endif
-#ifndef NS_DEPRECATED_MAC
-#define NS_DEPRECATED_MAC(x,y) __attribute__((availability(macosx,introduced=x,deprecated=y,message="" )));
-#endif
-
- at interface NSManagedObject
- at end
-
- at interface NSSet
- at end
diff --git a/clang/test/InstallAPI/forwarded-search-paths.test b/clang/test/InstallAPI/forwarded-search-paths.test
new file mode 100644
index 00000000000000..dc1e9006060f44
--- /dev/null
+++ b/clang/test/InstallAPI/forwarded-search-paths.test
@@ -0,0 +1,34 @@
+; RUN: rm -rf %t
+; RUN: split-file %s %t
+; RUN: sed -e "s|DSTROOT|%/t|g" %t/input.json.in > %t/input.json
+
+; RUN: mkdir -p %t/System/Library/Frameworks
+; RUN: cp -r %S/Inputs/Foundation/Foundation.framework %t/System/Library/Frameworks/
+; RUN: cp -r %S/Inputs/Simple/Simple.framework %t/System/Library/Frameworks/
+; RUN: yaml2obj %S/Inputs/Simple/Simple.yaml -o %t/Simple
+; RUN: mkdir -p %t/usr/include/after
+
+; RUN: clang-installapi -target x86_64-apple-macosx10.12 \
+; RUN: -install_name /System/Library/Frameworks/Simple.framework/Versions/A/Simple \
+; RUN: -current_version 1.2.3 -compatibility_version 1 -o %t/Simple.tbd \
+; RUN: -idirafter %t/usr/include/after \
+; RUN: -F %t/System/Library/Frameworks \
+; RUN: --verify-against=%t/Simple --verify-mode=ErrorsOnly \
+; RUN: %t/input.json -v 2>&1 | FileCheck %s
+
+; CHECK: "-idirafter" {{.*}}/usr/include/after"
+; CHECK: #include "..." search starts here:
+; CHECK: #include <...> search starts here:
+; CHECK: usr/include/after
+; CHECK-NEXT: End of search list.
+
+;--- input.json.in
+{
+ "version" : "3",
+ "headers" : [
+ {
+ "type" : "public",
+ "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/Headers/Basic.h"
+ }
+ ]
+}
More information about the cfe-commits
mailing list