Skip to content

[Darwin][Driver][clang] apple-none-macho orders the resource directory after internal-externc-isystem when nostdlibinc is used #122035

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 8, 2025

Conversation

ian-twilightcoder
Copy link
Contributor

Embedded development often needs to use a different C standard library, replacing the existing one normally passed as -internal-externc-isystem. This works fine for an apple-macos target, but apple-none-macho doesn't work because the MachO driver doesn't implement AddClangSystemIncludeArgs to add the resource directory as -internal-isystem like most other drivers do. Move most of the search path logic from Darwin and DarwinClang down into an AppleMachO toolchain between the MachO and Darwin toolchains.

Also define MACH for apple-none-macho, as Swift expects all MachO targets to have that defined.

…y after internal-externc-isystem when nostdlibinc is used

Embedded development often needs to use a different C standard library, replacing the existing one normally passed as -internal-externc-isystem. This works fine for an apple-macos target, but apple-none-macho doesn't work because the MachO driver doesn't implement AddClangSystemIncludeArgs to add the resource directory as -internal-isystem like most other drivers do. Move most of the search path logic from Darwin and DarwinClang down into an AppleMachO toolchain between the MachO and Darwin toolchains.

Also define __MACH__ for apple-none-macho, as Swift expects all MachO targets to have that defined.
@llvmbot llvmbot added clang Clang issues not falling into any other category clang:driver 'clang' and 'clang++' user-facing binaries. Not 'clang-cl' clang:frontend Language frontend issues, e.g. anything involving "Sema" labels Jan 8, 2025
@ian-twilightcoder
Copy link
Contributor Author

Same thing as #120507, but with the added unit test fixed to accept libc++ being in the SDK or in the build directory.

@llvmbot
Copy link
Member

llvmbot commented Jan 8, 2025

@llvm/pr-subscribers-clang

@llvm/pr-subscribers-clang-driver

Author: Ian Anderson (ian-twilightcoder)

Changes

Embedded development often needs to use a different C standard library, replacing the existing one normally passed as -internal-externc-isystem. This works fine for an apple-macos target, but apple-none-macho doesn't work because the MachO driver doesn't implement AddClangSystemIncludeArgs to add the resource directory as -internal-isystem like most other drivers do. Move most of the search path logic from Darwin and DarwinClang down into an AppleMachO toolchain between the MachO and Darwin toolchains.

Also define MACH for apple-none-macho, as Swift expects all MachO targets to have that defined.


Patch is 21.94 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/122035.diff

13 Files Affected:

  • (modified) clang/lib/Basic/Targets/OSTargets.cpp (-3)
  • (modified) clang/lib/Driver/Driver.cpp (+2)
  • (modified) clang/lib/Driver/ToolChains/Darwin.cpp (+66-55)
  • (modified) clang/lib/Driver/ToolChains/Darwin.h (+50-28)
  • (modified) clang/lib/Frontend/InitPreprocessor.cpp (+5)
  • (modified) clang/lib/Lex/InitHeaderSearch.cpp (+1-1)
  • (added) clang/test/Driver/Inputs/MacOSX15.1.sdk/embedded/usr/include/.keep ()
  • (added) clang/test/Driver/Inputs/MacOSX15.1.sdk/embedded/usr/local/include/.keep ()
  • (added) clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include/c++/v1/.keep ()
  • (added) clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include/.keep ()
  • (added) clang/test/Driver/darwin-embedded-search-paths.c (+43)
  • (modified) clang/test/Preprocessor/macho-embedded-predefines.c (+3-3)
  • (modified) llvm/include/llvm/TargetParser/Triple.h (+5)
diff --git a/clang/lib/Basic/Targets/OSTargets.cpp b/clang/lib/Basic/Targets/OSTargets.cpp
index 88c054150ab224..6f98353fb8c2e4 100644
--- a/clang/lib/Basic/Targets/OSTargets.cpp
+++ b/clang/lib/Basic/Targets/OSTargets.cpp
@@ -114,9 +114,6 @@ void getDarwinDefines(MacroBuilder &Builder, const LangOptions &Opts,
     assert(OsVersion.getMinor().value_or(0) < 100 &&
            OsVersion.getSubminor().value_or(0) < 100 && "Invalid version!");
     Builder.defineMacro("__ENVIRONMENT_OS_VERSION_MIN_REQUIRED__", Str);
-
-    // Tell users about the kernel if there is one.
-    Builder.defineMacro("__MACH__");
   }
 
   PlatformMinVersion = OsVersion;
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 57fa7c1110a68e..528b7d1a9c7b17 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -6721,6 +6721,8 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
           TC = std::make_unique<toolchains::BareMetal>(*this, Target, Args);
         else if (Target.isOSBinFormatELF())
           TC = std::make_unique<toolchains::Generic_ELF>(*this, Target, Args);
+        else if (Target.isAppleMachO())
+          TC = std::make_unique<toolchains::AppleMachO>(*this, Target, Args);
         else if (Target.isOSBinFormatMachO())
           TC = std::make_unique<toolchains::MachO>(*this, Target, Args);
         else
diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp
index 56b6dd78673cb6..e5dffb11d1a5e6 100644
--- a/clang/lib/Driver/ToolChains/Darwin.cpp
+++ b/clang/lib/Driver/ToolChains/Darwin.cpp
@@ -966,11 +966,14 @@ MachO::MachO(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
   getProgramPaths().push_back(getDriver().Dir);
 }
 
+AppleMachO::AppleMachO(const Driver &D, const llvm::Triple &Triple,
+                       const ArgList &Args)
+    : MachO(D, Triple, Args), CudaInstallation(D, Triple, Args),
+      RocmInstallation(D, Triple, Args), SYCLInstallation(D, Triple, Args) {}
+
 /// Darwin - Darwin tool chain for i386 and x86_64.
 Darwin::Darwin(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
-    : MachO(D, Triple, Args), TargetInitialized(false),
-      CudaInstallation(D, Triple, Args), RocmInstallation(D, Triple, Args),
-      SYCLInstallation(D, Triple, Args) {}
+    : AppleMachO(D, Triple, Args), TargetInitialized(false) {}
 
 types::ID MachO::LookupTypeForExtension(StringRef Ext) const {
   types::ID Ty = ToolChain::LookupTypeForExtension(Ext);
@@ -1019,18 +1022,18 @@ bool Darwin::hasBlocksRuntime() const {
   }
 }
 
-void Darwin::AddCudaIncludeArgs(const ArgList &DriverArgs,
-                                ArgStringList &CC1Args) const {
+void AppleMachO::AddCudaIncludeArgs(const ArgList &DriverArgs,
+                                    ArgStringList &CC1Args) const {
   CudaInstallation->AddCudaIncludeArgs(DriverArgs, CC1Args);
 }
 
-void Darwin::AddHIPIncludeArgs(const ArgList &DriverArgs,
-                               ArgStringList &CC1Args) const {
+void AppleMachO::AddHIPIncludeArgs(const ArgList &DriverArgs,
+                                   ArgStringList &CC1Args) const {
   RocmInstallation->AddHIPIncludeArgs(DriverArgs, CC1Args);
 }
 
-void Darwin::addSYCLIncludeArgs(const ArgList &DriverArgs,
-                                ArgStringList &CC1Args) const {
+void AppleMachO::addSYCLIncludeArgs(const ArgList &DriverArgs,
+                                    ArgStringList &CC1Args) const {
   SYCLInstallation->addSYCLIncludeArgs(DriverArgs, CC1Args);
 }
 
@@ -1125,6 +1128,8 @@ VersionTuple MachO::getLinkerVersion(const llvm::opt::ArgList &Args) const {
 
 Darwin::~Darwin() {}
 
+AppleMachO::~AppleMachO() {}
+
 MachO::~MachO() {}
 
 std::string Darwin::ComputeEffectiveClangTriple(const ArgList &Args,
@@ -2488,7 +2493,7 @@ static void AppendPlatformPrefix(SmallString<128> &Path,
 // Returns the effective sysroot from either -isysroot or --sysroot, plus the
 // platform prefix (if any).
 llvm::SmallString<128>
-DarwinClang::GetEffectiveSysroot(const llvm::opt::ArgList &DriverArgs) const {
+AppleMachO::GetEffectiveSysroot(const llvm::opt::ArgList &DriverArgs) const {
   llvm::SmallString<128> Path("/");
   if (DriverArgs.hasArg(options::OPT_isysroot))
     Path = DriverArgs.getLastArgValue(options::OPT_isysroot);
@@ -2501,8 +2506,9 @@ DarwinClang::GetEffectiveSysroot(const llvm::opt::ArgList &DriverArgs) const {
   return Path;
 }
 
-void DarwinClang::AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
-                                            llvm::opt::ArgStringList &CC1Args) const {
+void AppleMachO::AddClangSystemIncludeArgs(
+    const llvm::opt::ArgList &DriverArgs,
+    llvm::opt::ArgStringList &CC1Args) const {
   const Driver &D = getDriver();
 
   llvm::SmallString<128> Sysroot = GetEffectiveSysroot(DriverArgs);
@@ -2580,7 +2586,7 @@ bool DarwinClang::AddGnuCPlusPlusIncludePaths(const llvm::opt::ArgList &DriverAr
   return getVFS().exists(Base);
 }
 
-void DarwinClang::AddClangCXXStdlibIncludeArgs(
+void AppleMachO::AddClangCXXStdlibIncludeArgs(
     const llvm::opt::ArgList &DriverArgs,
     llvm::opt::ArgStringList &CC1Args) const {
   // The implementation from a base class will pass through the -stdlib to
@@ -2637,55 +2643,60 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs(
   }
 
   case ToolChain::CST_Libstdcxx:
-    llvm::SmallString<128> UsrIncludeCxx = Sysroot;
-    llvm::sys::path::append(UsrIncludeCxx, "usr", "include", "c++");
-
-    llvm::Triple::ArchType arch = getTriple().getArch();
-    bool IsBaseFound = true;
-    switch (arch) {
-    default: break;
-
-    case llvm::Triple::x86:
-    case llvm::Triple::x86_64:
-      IsBaseFound = AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
-                                                "4.2.1",
-                                                "i686-apple-darwin10",
-                                                arch == llvm::Triple::x86_64 ? "x86_64" : "");
-      IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
-                                                "4.0.0", "i686-apple-darwin8",
-                                                 "");
-      break;
+    AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args);
+    break;
+  }
+}
 
-    case llvm::Triple::arm:
-    case llvm::Triple::thumb:
-      IsBaseFound = AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
-                                                "4.2.1",
-                                                "arm-apple-darwin10",
-                                                "v7");
-      IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
-                                                "4.2.1",
-                                                "arm-apple-darwin10",
-                                                 "v6");
-      break;
+void AppleMachO::AddGnuCPlusPlusIncludePaths(
+    const llvm::opt::ArgList &DriverArgs,
+    llvm::opt::ArgStringList &CC1Args) const {}
 
-    case llvm::Triple::aarch64:
-      IsBaseFound = AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
-                                                "4.2.1",
-                                                "arm64-apple-darwin10",
-                                                "");
-      break;
-    }
+void DarwinClang::AddGnuCPlusPlusIncludePaths(
+    const llvm::opt::ArgList &DriverArgs,
+    llvm::opt::ArgStringList &CC1Args) const {
+  llvm::SmallString<128> UsrIncludeCxx = GetEffectiveSysroot(DriverArgs);
+  llvm::sys::path::append(UsrIncludeCxx, "usr", "include", "c++");
 
-    if (!IsBaseFound) {
-      getDriver().Diag(diag::warn_drv_libstdcxx_not_found);
-    }
+  llvm::Triple::ArchType arch = getTriple().getArch();
+  bool IsBaseFound = true;
+  switch (arch) {
+  default:
+    break;
 
+  case llvm::Triple::x86:
+  case llvm::Triple::x86_64:
+    IsBaseFound = AddGnuCPlusPlusIncludePaths(
+        DriverArgs, CC1Args, UsrIncludeCxx, "4.2.1", "i686-apple-darwin10",
+        arch == llvm::Triple::x86_64 ? "x86_64" : "");
+    IsBaseFound |= AddGnuCPlusPlusIncludePaths(
+        DriverArgs, CC1Args, UsrIncludeCxx, "4.0.0", "i686-apple-darwin8", "");
+    break;
+
+  case llvm::Triple::arm:
+  case llvm::Triple::thumb:
+    IsBaseFound =
+        AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx, "4.2.1",
+                                    "arm-apple-darwin10", "v7");
+    IsBaseFound |=
+        AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx, "4.2.1",
+                                    "arm-apple-darwin10", "v6");
+    break;
+
+  case llvm::Triple::aarch64:
+    IsBaseFound =
+        AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx, "4.2.1",
+                                    "arm64-apple-darwin10", "");
     break;
   }
+
+  if (!IsBaseFound) {
+    getDriver().Diag(diag::warn_drv_libstdcxx_not_found);
+  }
 }
 
-void DarwinClang::AddCXXStdlibLibArgs(const ArgList &Args,
-                                      ArgStringList &CmdArgs) const {
+void AppleMachO::AddCXXStdlibLibArgs(const ArgList &Args,
+                                     ArgStringList &CmdArgs) const {
   CXXStdlibType Type = GetCXXStdlibType(Args);
 
   switch (Type) {
@@ -3621,7 +3632,7 @@ SanitizerMask Darwin::getSupportedSanitizers() const {
   return Res;
 }
 
-void Darwin::printVerboseInfo(raw_ostream &OS) const {
+void AppleMachO::printVerboseInfo(raw_ostream &OS) const {
   CudaInstallation->print(OS);
   RocmInstallation->print(OS);
 }
diff --git a/clang/lib/Driver/ToolChains/Darwin.h b/clang/lib/Driver/ToolChains/Darwin.h
index 5bc18581cfd2e8..c44780c577f4f4 100644
--- a/clang/lib/Driver/ToolChains/Darwin.h
+++ b/clang/lib/Driver/ToolChains/Darwin.h
@@ -291,8 +291,52 @@ class LLVM_LIBRARY_VISIBILITY MachO : public ToolChain {
   /// }
 };
 
+/// Apple specific MachO extensions
+class LLVM_LIBRARY_VISIBILITY AppleMachO : public MachO {
+public:
+  AppleMachO(const Driver &D, const llvm::Triple &Triple,
+             const llvm::opt::ArgList &Args);
+  ~AppleMachO() override;
+
+  /// }
+  /// @name Apple Specific ToolChain Implementation
+  /// {
+  void
+  AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
+                            llvm::opt::ArgStringList &CC1Args) const override;
+
+  void AddCudaIncludeArgs(const llvm::opt::ArgList &DriverArgs,
+                          llvm::opt::ArgStringList &CC1Args) const override;
+  void AddHIPIncludeArgs(const llvm::opt::ArgList &DriverArgs,
+                         llvm::opt::ArgStringList &CC1Args) const override;
+  void addSYCLIncludeArgs(const llvm::opt::ArgList &DriverArgs,
+                          llvm::opt::ArgStringList &CC1Args) const override;
+
+  void AddClangCXXStdlibIncludeArgs(
+      const llvm::opt::ArgList &DriverArgs,
+      llvm::opt::ArgStringList &CC1Args) const override;
+  void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
+                           llvm::opt::ArgStringList &CmdArgs) const override;
+
+  void printVerboseInfo(raw_ostream &OS) const override;
+  /// }
+
+  LazyDetector<CudaInstallationDetector> CudaInstallation;
+  LazyDetector<RocmInstallationDetector> RocmInstallation;
+  LazyDetector<SYCLInstallationDetector> SYCLInstallation;
+
+protected:
+  llvm::SmallString<128>
+  GetEffectiveSysroot(const llvm::opt::ArgList &DriverArgs) const;
+
+private:
+  virtual void
+  AddGnuCPlusPlusIncludePaths(const llvm::opt::ArgList &DriverArgs,
+                              llvm::opt::ArgStringList &CC1Args) const;
+};
+
 /// Darwin - The base Darwin tool chain.
-class LLVM_LIBRARY_VISIBILITY Darwin : public MachO {
+class LLVM_LIBRARY_VISIBILITY Darwin : public AppleMachO {
 public:
   /// Whether the information on the target has been initialized.
   //
@@ -330,10 +374,6 @@ class LLVM_LIBRARY_VISIBILITY Darwin : public MachO {
   /// The target variant triple that was specified (if any).
   mutable std::optional<llvm::Triple> TargetVariantTriple;
 
-  LazyDetector<CudaInstallationDetector> CudaInstallation;
-  LazyDetector<RocmInstallationDetector> RocmInstallation;
-  LazyDetector<SYCLInstallationDetector> SYCLInstallation;
-
 private:
   void AddDeploymentTarget(llvm::opt::DerivedArgList &Args) const;
 
@@ -345,7 +385,7 @@ class LLVM_LIBRARY_VISIBILITY Darwin : public MachO {
   std::string ComputeEffectiveClangTriple(const llvm::opt::ArgList &Args,
                                           types::ID InputType) const override;
 
-  /// @name Apple Specific Toolchain Implementation
+  /// @name Darwin Specific Toolchain Implementation
   /// {
 
   void addMinVersionArgs(const llvm::opt::ArgList &Args,
@@ -561,13 +601,6 @@ class LLVM_LIBRARY_VISIBILITY Darwin : public MachO {
   ObjCRuntime getDefaultObjCRuntime(bool isNonFragile) const override;
   bool hasBlocksRuntime() const override;
 
-  void AddCudaIncludeArgs(const llvm::opt::ArgList &DriverArgs,
-                          llvm::opt::ArgStringList &CC1Args) const override;
-  void AddHIPIncludeArgs(const llvm::opt::ArgList &DriverArgs,
-                         llvm::opt::ArgStringList &CC1Args) const override;
-  void addSYCLIncludeArgs(const llvm::opt::ArgList &DriverArgs,
-                          llvm::opt::ArgStringList &CC1Args) const override;
-
   bool UseObjCMixedDispatch() const override {
     // This is only used with the non-fragile ABI and non-legacy dispatch.
 
@@ -598,8 +631,6 @@ class LLVM_LIBRARY_VISIBILITY Darwin : public MachO {
   bool SupportsEmbeddedBitcode() const override;
 
   SanitizerMask getSupportedSanitizers() const override;
-
-  void printVerboseInfo(raw_ostream &OS) const override;
 };
 
 /// DarwinClang - The Darwin toolchain used by Clang.
@@ -617,16 +648,6 @@ class LLVM_LIBRARY_VISIBILITY DarwinClang : public Darwin {
                              llvm::opt::ArgStringList &CmdArgs,
                              bool ForceLinkBuiltinRT = false) const override;
 
-  void AddClangCXXStdlibIncludeArgs(
-      const llvm::opt::ArgList &DriverArgs,
-      llvm::opt::ArgStringList &CC1Args) const override;
-
-  void AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
-                                 llvm::opt::ArgStringList &CC1Args) const override;
-
-  void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
-                           llvm::opt::ArgStringList &CmdArgs) const override;
-
   void AddCCKextLibArgs(const llvm::opt::ArgList &Args,
                         llvm::opt::ArgStringList &CmdArgs) const override;
 
@@ -651,15 +672,16 @@ class LLVM_LIBRARY_VISIBILITY DarwinClang : public Darwin {
                                StringRef Sanitizer,
                                bool shared = true) const;
 
+  void
+  AddGnuCPlusPlusIncludePaths(const llvm::opt::ArgList &DriverArgs,
+                              llvm::opt::ArgStringList &CC1Args) const override;
+
   bool AddGnuCPlusPlusIncludePaths(const llvm::opt::ArgList &DriverArgs,
                                    llvm::opt::ArgStringList &CC1Args,
                                    llvm::SmallString<128> Base,
                                    llvm::StringRef Version,
                                    llvm::StringRef ArchDir,
                                    llvm::StringRef BitDir) const;
-
-  llvm::SmallString<128>
-  GetEffectiveSysroot(const llvm::opt::ArgList &DriverArgs) const;
 };
 
 } // end namespace toolchains
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp
index 29723b573e771a..8eba766f21a640 100644
--- a/clang/lib/Frontend/InitPreprocessor.cpp
+++ b/clang/lib/Frontend/InitPreprocessor.cpp
@@ -1507,6 +1507,11 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
   // ELF targets define __ELF__
   if (TI.getTriple().isOSBinFormatELF())
     Builder.defineMacro("__ELF__");
+  else if (TI.getTriple().isAppleMachO())
+    // Apple MachO targets define __MACH__ even when not using DarwinTargetInfo.
+    // Hurd will also define this in some circumstances, but that's done in
+    // HurdTargetInfo. Windows targets don't define this.
+    Builder.defineMacro("__MACH__");
 
   // Target OS macro definitions.
   if (PPOpts.DefineTargetOSMacros) {
diff --git a/clang/lib/Lex/InitHeaderSearch.cpp b/clang/lib/Lex/InitHeaderSearch.cpp
index 67c9d92b849ea3..bb2a21356fa8fe 100644
--- a/clang/lib/Lex/InitHeaderSearch.cpp
+++ b/clang/lib/Lex/InitHeaderSearch.cpp
@@ -313,7 +313,7 @@ bool InitHeaderSearch::ShouldAddDefaultIncludePaths(
     break;
 
   case llvm::Triple::UnknownOS:
-    if (triple.isWasm())
+    if (triple.isWasm() || triple.isAppleMachO())
       return false;
     break;
 
diff --git a/clang/test/Driver/Inputs/MacOSX15.1.sdk/embedded/usr/include/.keep b/clang/test/Driver/Inputs/MacOSX15.1.sdk/embedded/usr/include/.keep
new file mode 100644
index 00000000000000..e69de29bb2d1d6
diff --git a/clang/test/Driver/Inputs/MacOSX15.1.sdk/embedded/usr/local/include/.keep b/clang/test/Driver/Inputs/MacOSX15.1.sdk/embedded/usr/local/include/.keep
new file mode 100644
index 00000000000000..e69de29bb2d1d6
diff --git a/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include/c++/v1/.keep b/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include/c++/v1/.keep
new file mode 100644
index 00000000000000..e69de29bb2d1d6
diff --git a/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include/.keep b/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include/.keep
new file mode 100644
index 00000000000000..e69de29bb2d1d6
diff --git a/clang/test/Driver/darwin-embedded-search-paths.c b/clang/test/Driver/darwin-embedded-search-paths.c
new file mode 100644
index 00000000000000..7ada467d66de4f
--- /dev/null
+++ b/clang/test/Driver/darwin-embedded-search-paths.c
@@ -0,0 +1,43 @@
+// UNSUPPORTED: system-windows
+//   Windows is unsupported because we use the Unix path separator `/` in the test.
+
+// Unlike the Darwin driver, the MachO driver doesn't add any framework search paths,
+// only the normal header ones.
+// RUN: %clang -x c -target arm64-apple-none-macho -isysroot %S/Inputs/MacOSX15.1.sdk -### -c %s 2>&1 \
+// RUN: | FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=%S/Inputs/MacOSX15.1.sdk %s
+
+// Unlike the Darwin driver, the MachO driver doesn't default to libc++
+// RUN: %clang -x c++ -target arm64-apple-none-macho -isysroot %S/Inputs/MacOSX15.1.sdk -### -c %s 2>&1 \
+// RUN: | FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=%S/Inputs/MacOSX15.1.sdk %s
+
+// However, if the user requests libc++, the MachO driver should find the search path.
+// RUN: %clang -x c++ -stdlib=libc++ -target arm64-apple-none-macho -isysroot %S/Inputs/MacOSX15.1.sdk -### -c %s 2>&1 \
+// RUN: | FileCheck --check-prefixes=CC1,CXX,ULI,CI,UI,NO-FW -DSDKROOT=%S/Inputs/MacOSX15.1.sdk %s
+
+// Verify that embedded uses can swap in alternate usr/include and usr/local/include directories.
+// usr/local/include is specified in the driver as -internal-isystem, however, the driver generated
+// paths come before the paths in the driver arguments. In order to keep usr/local/include in the
+// same position, -isystem has to be used instead of -Xclang -internal-isystem. There isn't an
+// -externc-isystem, but it's ok to use -Xclang -internal-externc-isystem since the driver doesn't
+// use that if -nostdlibinc or -nostdinc is passed.
+// RUN: %clang -x c++ -stdlib=libc++ -target arm64-apple-none-macho -isysroot %S/Inputs/MacOSX15.1.sdk \
+// RUN:        -nostdlibinc -isystem %S/Inputs/MacOSX15.1.sdk/embedded/usr/local/include \
+// RUN:        -Xclang -internal-externc-isystem -Xclang %S/Inputs/MacOSX15.1.sdk/embedded/usr/include \
+// RUN:        -### -c %s 2>&1 | FileCheck --check-prefixes=CC1,NO-CXX,EULI,CI,EUI,NO-FW -DSDKROOT=%S/Inputs/MacOSX15.1.sdk %s
+
+
+// The ordering of these flags doesn't matter, and so this test is a little
+// fragile. i.e. all of the -internal-isystem paths will be searched before the
+// -internal-externc-isystem ones, and their order on the command line doesn't
+// matter. The line order here is just the current order that the driver writes
+// the cc1 arguments.
+
+// CC1: "-cc1"
+// NO-CXX-NOT: "-internal-isystem" "{{.*}}/include/c++/v1"
+// CXX-SAME: "-internal-isystem" "{{.*}}/include/c++/v1"
+// ULI-SAME: "-internal-isystem" "[[SDKROOT]]/usr/local/include"
+// EULI-SAME: "-isystem" "[[SDKROOT]]/embedded/usr/local/include"
+// CI-SAME: ...
[truncated]

@ian-twilightcoder
Copy link
Contributor Author

tools/llvm-gsymutil/ARM_AArch64/macho-merged-funcs-dwarf.yaml shouldn't be related, it didn't fail in the original patch and the only difference in this one is https://github.com/llvm/llvm-project/pull/122035/files#diff-59f998dac7c93956bd206a4998cdc2180c26e9b8116af4e45343dccaf15693f4R36-R37

@ian-twilightcoder ian-twilightcoder merged commit d6bfe10 into llvm:main Jan 8, 2025
10 of 12 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 8, 2025

LLVM Buildbot has detected a new failure on builder fuchsia-x86_64-linux running on fuchsia-debian-64-us-central1-a-1 while building clang,llvm at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/11/builds/10651

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/fuchsia-linux.py ...' (failure)
...
[1015/1367] Linking CXX executable unittests/DebugInfo/DWARF/DebugInfoDWARFTests
[1016/1367] Running the Clang regression tests
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using clang: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/subst.py:126: note: Did not find clang-repl in /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/ld.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/lld-link
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/ld64.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/wasm-ld
-- Testing: 21766 tests, 60 workers --
Testing:  0.. 10.. 20.. 30.. 40..
FAIL: Clang :: Driver/darwin-embedded-search-paths.c (10801 of 21766)
******************** TEST 'Clang :: Driver/darwin-embedded-search-paths.c' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 6: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c 2>&1  | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
RUN: at line 10: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c++ -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c 2>&1  | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c++ -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c:36:16: error: NO-CXX-NOT: excluded string found in input
// NO-CXX-NOT: "-internal-isystem" "{{.*}}/include/c++/v1"
               ^
<stdin>:6:1023: note: found here
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/llvm" "clang" "-cc1" "-triple" "arm64-apple-none-macho" "-emit-obj" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "darwin-embedded-search-paths.c" "-mrelocation-model" "pic" "-pic-level" "2" "-mframe-pointer=non-leaf" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=1" "-target-cpu" "generic" "-target-feature" "+v8a" "-target-feature" "+fp-armv8" "-target-feature" "+neon" "-target-abi" "aapcs" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/../include/c++/v1" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20/include" "-internal-externc-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include" "-fdeprecated-macro" "-ferror-limit" "19" "-fblocks" "-fencode-extended-block-signature" "-fno-signed-char" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf" "-fcxx-exceptions" "-fexceptions" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "darwin-embedded-search-paths.o" "-x" "c++" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Input file: <stdin>
Check file: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c

-dump-input=help explains the following input dump.

Input was:
<<<<<<
        1: Fuchsia clang version 20.0.0git (https://github.com/llvm/llvm-project.git d6bfe10ac9963eb63e141d6c50e9a183c08d35da) 
        2: Target: arm64-apple-none-macho 
        3: Thread model: posix 
        4: InstalledDir: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin 
        5:  (in-process) 
        6:  "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/llvm" "clang" "-cc1" "-triple" "arm64-apple-none-macho" "-emit-obj" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "darwin-embedded-search-paths.c" "-mrelocation-model" "pic" "-pic-level" "2" "-mframe-pointer=non-leaf" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=1" "-target-cpu" "generic" "-target-feature" "+v8a" "-target-feature" "+fp-armv8" "-target-feature" "+neon" "-target-abi" "aapcs" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/../include/c++/v1" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20/include" "-internal-externc-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include" "-fdeprecated-macro" "-ferror-limit" "19" "-fblocks" "-fencode-extended-block-signature" "-fno-signed-char" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf" "-fcxx-exceptions" "-fexceptions" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "darwin-embedded-search-paths.o" "-x" "c++" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c" 
not:36                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               error: no match expected
>>>>>>

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Step 7 (check) failure: check (failure)
...
[1015/1367] Linking CXX executable unittests/DebugInfo/DWARF/DebugInfoDWARFTests
[1016/1367] Running the Clang regression tests
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using clang: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/subst.py:126: note: Did not find clang-repl in /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/ld.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/lld-link
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/ld64.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/wasm-ld
-- Testing: 21766 tests, 60 workers --
Testing:  0.. 10.. 20.. 30.. 40..
FAIL: Clang :: Driver/darwin-embedded-search-paths.c (10801 of 21766)
******************** TEST 'Clang :: Driver/darwin-embedded-search-paths.c' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 6: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c 2>&1  | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
RUN: at line 10: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c++ -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c 2>&1  | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c++ -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c:36:16: error: NO-CXX-NOT: excluded string found in input
// NO-CXX-NOT: "-internal-isystem" "{{.*}}/include/c++/v1"
               ^
<stdin>:6:1023: note: found here
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/llvm" "clang" "-cc1" "-triple" "arm64-apple-none-macho" "-emit-obj" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "darwin-embedded-search-paths.c" "-mrelocation-model" "pic" "-pic-level" "2" "-mframe-pointer=non-leaf" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=1" "-target-cpu" "generic" "-target-feature" "+v8a" "-target-feature" "+fp-armv8" "-target-feature" "+neon" "-target-abi" "aapcs" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/../include/c++/v1" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20/include" "-internal-externc-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include" "-fdeprecated-macro" "-ferror-limit" "19" "-fblocks" "-fencode-extended-block-signature" "-fno-signed-char" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf" "-fcxx-exceptions" "-fexceptions" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "darwin-embedded-search-paths.o" "-x" "c++" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Input file: <stdin>
Check file: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c

-dump-input=help explains the following input dump.

Input was:
<<<<<<
        1: Fuchsia clang version 20.0.0git (https://github.com/llvm/llvm-project.git d6bfe10ac9963eb63e141d6c50e9a183c08d35da) 
        2: Target: arm64-apple-none-macho 
        3: Thread model: posix 
        4: InstalledDir: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin 
        5:  (in-process) 
        6:  "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/llvm" "clang" "-cc1" "-triple" "arm64-apple-none-macho" "-emit-obj" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "darwin-embedded-search-paths.c" "-mrelocation-model" "pic" "-pic-level" "2" "-mframe-pointer=non-leaf" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=1" "-target-cpu" "generic" "-target-feature" "+v8a" "-target-feature" "+fp-armv8" "-target-feature" "+neon" "-target-abi" "aapcs" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/../include/c++/v1" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20/include" "-internal-externc-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include" "-fdeprecated-macro" "-ferror-limit" "19" "-fblocks" "-fencode-extended-block-signature" "-fno-signed-char" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf" "-fcxx-exceptions" "-fexceptions" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "darwin-embedded-search-paths.o" "-x" "c++" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c" 
not:36                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               error: no match expected
>>>>>>

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 8, 2025

LLVM Buildbot has detected a new failure on builder lldb-remote-linux-ubuntu running on as-builder-9 while building clang,llvm at step 16 "test-check-lldb-api".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/195/builds/3169

Here is the relevant piece of the build log for the reference
Step 16 (test-check-lldb-api) failure: Test just built components: check-lldb-api completed (failure)
...
PASS: lldb-api :: types/TestIntegerType.py (1209 of 1218)
PASS: lldb-api :: types/TestRecursiveTypes.py (1210 of 1218)
PASS: lldb-api :: types/TestIntegerTypeExpr.py (1211 of 1218)
PASS: lldb-api :: types/TestShortType.py (1212 of 1218)
PASS: lldb-api :: types/TestLongTypes.py (1213 of 1218)
PASS: lldb-api :: types/TestShortTypeExpr.py (1214 of 1218)
PASS: lldb-api :: types/TestLongTypesExpr.py (1215 of 1218)
PASS: lldb-api :: tools/lldb-server/TestNonStop.py (1216 of 1218)
PASS: lldb-api :: tools/lldb-server/TestLldbGdbServer.py (1217 of 1218)
TIMEOUT: lldb-api :: python_api/process/cancel_attach/TestCancelAttach.py (1218 of 1218)
******************** TEST 'lldb-api :: python_api/process/cancel_attach/TestCancelAttach.py' FAILED ********************
Script:
--
/usr/bin/python3.12 /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/test/API/dotest.py -u CXXFLAGS -u CFLAGS --env LLVM_LIBS_DIR=/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/./lib --env LLVM_INCLUDE_DIR=/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/include --env LLVM_TOOLS_DIR=/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/./bin --libcxx-include-dir /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/include/c++/v1 --libcxx-include-target-dir /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/include/aarch64-unknown-linux-gnu/c++/v1 --libcxx-library-dir /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/./lib/aarch64-unknown-linux-gnu --arch aarch64 --build-dir /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/lldb-test-build.noindex --lldb-module-cache-dir /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/lldb-test-build.noindex/module-cache-lldb/lldb-api --clang-module-cache-dir /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/lldb-test-build.noindex/module-cache-clang/lldb-api --executable /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/./bin/lldb --compiler /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/bin/clang --dsymutil /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/./bin/dsymutil --make /usr/bin/gmake --llvm-tools-dir /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/./bin --lldb-obj-root /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/tools/lldb --lldb-libs-dir /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/./lib --platform-url connect://jetson-agx-2198.lab.llvm.org:1234 --platform-working-dir /home/ubuntu/lldb-tests --sysroot /mnt/fs/jetson-agx-ubuntu --env ARCH_CFLAGS=-mcpu=cortex-a78 --platform-name remote-linux /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/test/API/python_api/process/cancel_attach -p TestCancelAttach.py
--
Exit Code: -9
Timeout: Reached timeout of 600 seconds

Command Output (stdout):
--
lldb version 20.0.0git (https://github.com/llvm/llvm-project.git revision d6bfe10ac9963eb63e141d6c50e9a183c08d35da)
  clang revision d6bfe10ac9963eb63e141d6c50e9a183c08d35da
  llvm revision d6bfe10ac9963eb63e141d6c50e9a183c08d35da

--
Command Output (stderr):
--
WARNING:root:Custom libc++ is not supported for remote runs: ignoring --libcxx arguments
FAIL: LLDB (/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/bin/clang-aarch64) :: test_scripted_implementation (TestCancelAttach.AttachCancelTestCase.test_scripted_implementation)

--

********************
Slowest Tests:
--------------------------------------------------------------------------
600.04s: lldb-api :: python_api/process/cancel_attach/TestCancelAttach.py
180.96s: lldb-api :: commands/command/script_alias/TestCommandScriptAlias.py
77.98s: lldb-api :: tools/lldb-server/TestLldbGdbServer.py
70.61s: lldb-api :: commands/process/attach/TestProcessAttach.py
40.77s: lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
35.19s: lldb-api :: functionalities/completion/TestCompletion.py
34.05s: lldb-api :: functionalities/single-thread-step/TestSingleThreadStepTimeout.py
33.49s: lldb-api :: tools/lldb-server/TestNonStop.py
21.30s: lldb-api :: commands/statistics/basic/TestStats.py
20.76s: lldb-api :: functionalities/gdb_remote_client/TestPlatformClient.py
18.96s: lldb-api :: functionalities/thread/state/TestThreadStates.py
18.30s: lldb-api :: commands/dwim-print/TestDWIMPrint.py
17.30s: lldb-api :: tools/lldb-server/TestGdbRemote_vCont.py
15.04s: lldb-api :: functionalities/data-formatter/data-formatter-stl/generic/set/TestDataFormatterGenericSet.py

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 8, 2025

LLVM Buildbot has detected a new failure on builder openmp-s390x-linux running on systemz-1 while building clang,llvm at step 6 "test-openmp".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/88/builds/6515

Here is the relevant piece of the build log for the reference
Step 6 (test-openmp) failure: test (failure)
******************** TEST 'libomp :: tasking/issue-94260-2.c' FAILED ********************
Exit Code: -11

Command Output (stdout):
--
# RUN: at line 1
/home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/./bin/clang -fopenmp   -I /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test -L /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/src  -fno-omit-frame-pointer -mbackchain -I /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/ompt /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/tasking/issue-94260-2.c -o /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/tasking/Output/issue-94260-2.c.tmp -lm -latomic && /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/tasking/Output/issue-94260-2.c.tmp
# executed command: /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/./bin/clang -fopenmp -I /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test -L /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -fno-omit-frame-pointer -mbackchain -I /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/ompt /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.src/openmp/runtime/test/tasking/issue-94260-2.c -o /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/tasking/Output/issue-94260-2.c.tmp -lm -latomic
# executed command: /home/uweigand/sandbox/buildbot/openmp-s390x-linux/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/tasking/Output/issue-94260-2.c.tmp
# note: command had no output on stdout or stderr
# error: command failed with exit status: -11

--

********************


@carlocab
Copy link
Member

carlocab commented Jan 8, 2025

LLVM Buildbot has detected a new failure on builder fuchsia-x86_64-linux running on fuchsia-debian-64-us-central1-a-1 while building clang,llvm at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/11/builds/10651

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/fuchsia-linux.py ...' (failure)
...
[1015/1367] Linking CXX executable unittests/DebugInfo/DWARF/DebugInfoDWARFTests
[1016/1367] Running the Clang regression tests
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using clang: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/subst.py:126: note: Did not find clang-repl in /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/ld.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/lld-link
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/ld64.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/wasm-ld
-- Testing: 21766 tests, 60 workers --
Testing:  0.. 10.. 20.. 30.. 40..
FAIL: Clang :: Driver/darwin-embedded-search-paths.c (10801 of 21766)
******************** TEST 'Clang :: Driver/darwin-embedded-search-paths.c' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 6: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c 2>&1  | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
RUN: at line 10: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c++ -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c 2>&1  | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c++ -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c:36:16: error: NO-CXX-NOT: excluded string found in input
// NO-CXX-NOT: "-internal-isystem" "{{.*}}/include/c++/v1"
               ^
<stdin>:6:1023: note: found here
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/llvm" "clang" "-cc1" "-triple" "arm64-apple-none-macho" "-emit-obj" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "darwin-embedded-search-paths.c" "-mrelocation-model" "pic" "-pic-level" "2" "-mframe-pointer=non-leaf" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=1" "-target-cpu" "generic" "-target-feature" "+v8a" "-target-feature" "+fp-armv8" "-target-feature" "+neon" "-target-abi" "aapcs" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/../include/c++/v1" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20/include" "-internal-externc-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include" "-fdeprecated-macro" "-ferror-limit" "19" "-fblocks" "-fencode-extended-block-signature" "-fno-signed-char" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf" "-fcxx-exceptions" "-fexceptions" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "darwin-embedded-search-paths.o" "-x" "c++" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Input file: <stdin>
Check file: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c

-dump-input=help explains the following input dump.

Input was:
<<<<<<
        1: Fuchsia clang version 20.0.0git (https://github.com/llvm/llvm-project.git d6bfe10ac9963eb63e141d6c50e9a183c08d35da) 
        2: Target: arm64-apple-none-macho 
        3: Thread model: posix 
        4: InstalledDir: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin 
        5:  (in-process) 
        6:  "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/llvm" "clang" "-cc1" "-triple" "arm64-apple-none-macho" "-emit-obj" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "darwin-embedded-search-paths.c" "-mrelocation-model" "pic" "-pic-level" "2" "-mframe-pointer=non-leaf" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=1" "-target-cpu" "generic" "-target-feature" "+v8a" "-target-feature" "+fp-armv8" "-target-feature" "+neon" "-target-abi" "aapcs" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/../include/c++/v1" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20/include" "-internal-externc-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include" "-fdeprecated-macro" "-ferror-limit" "19" "-fblocks" "-fencode-extended-block-signature" "-fno-signed-char" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf" "-fcxx-exceptions" "-fexceptions" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "darwin-embedded-search-paths.o" "-x" "c++" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c" 
not:36                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               error: no match expected
>>>>>>

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Step 7 (check) failure: check (failure)
...
[1015/1367] Linking CXX executable unittests/DebugInfo/DWARF/DebugInfoDWARFTests
[1016/1367] Running the Clang regression tests
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using clang: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/subst.py:126: note: Did not find clang-repl in /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/ld.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/lld-link
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/ld64.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/wasm-ld
-- Testing: 21766 tests, 60 workers --
Testing:  0.. 10.. 20.. 30.. 40..
FAIL: Clang :: Driver/darwin-embedded-search-paths.c (10801 of 21766)
******************** TEST 'Clang :: Driver/darwin-embedded-search-paths.c' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 6: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c 2>&1  | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
RUN: at line 10: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c++ -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c 2>&1  | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/FileCheck --check-prefixes=CC1,NO-CXX,ULI,CI,UI,NO-FW -DSDKROOT=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/clang -x c++ -target arm64-apple-none-macho -isysroot /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk -### -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c:36:16: error: NO-CXX-NOT: excluded string found in input
// NO-CXX-NOT: "-internal-isystem" "{{.*}}/include/c++/v1"
               ^
<stdin>:6:1023: note: found here
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/llvm" "clang" "-cc1" "-triple" "arm64-apple-none-macho" "-emit-obj" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "darwin-embedded-search-paths.c" "-mrelocation-model" "pic" "-pic-level" "2" "-mframe-pointer=non-leaf" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=1" "-target-cpu" "generic" "-target-feature" "+v8a" "-target-feature" "+fp-armv8" "-target-feature" "+neon" "-target-abi" "aapcs" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/../include/c++/v1" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20/include" "-internal-externc-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include" "-fdeprecated-macro" "-ferror-limit" "19" "-fblocks" "-fencode-extended-block-signature" "-fno-signed-char" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf" "-fcxx-exceptions" "-fexceptions" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "darwin-embedded-search-paths.o" "-x" "c++" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Input file: <stdin>
Check file: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c

-dump-input=help explains the following input dump.

Input was:
<<<<<<
        1: Fuchsia clang version 20.0.0git (https://github.com/llvm/llvm-project.git d6bfe10ac9963eb63e141d6c50e9a183c08d35da) 
        2: Target: arm64-apple-none-macho 
        3: Thread model: posix 
        4: InstalledDir: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin 
        5:  (in-process) 
        6:  "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/llvm" "clang" "-cc1" "-triple" "arm64-apple-none-macho" "-emit-obj" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "darwin-embedded-search-paths.c" "-mrelocation-model" "pic" "-pic-level" "2" "-mframe-pointer=non-leaf" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=1" "-target-cpu" "generic" "-target-feature" "+v8a" "-target-feature" "+fp-armv8" "-target-feature" "+neon" "-target-abi" "aapcs" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/bin/../include/c++/v1" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-it8eyuar/lib/clang/20/include" "-internal-externc-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include" "-fdeprecated-macro" "-ferror-limit" "19" "-fblocks" "-fencode-extended-block-signature" "-fno-signed-char" "-fgnuc-version=4.2.1" "-fskip-odr-check-in-gmf" "-fcxx-exceptions" "-fexceptions" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "darwin-embedded-search-paths.o" "-x" "c++" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c" 
not:36                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               error: no match expected
>>>>>>

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 

This looks like it needs fixing. @ian-twilightcoder

@ian-twilightcoder
Copy link
Contributor Author

ian-twilightcoder commented Jan 8, 2025

LLVM Buildbot has detected a new failure on builder fuchsia-x86_64-linux running on fuchsia-debian-64-us-central1-a-1 while building clang,llvm at step 4 "annotate".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/11/builds/10651

This looks like it needs fixing. @ian-twilightcoder

Yeah, got me again, just in a different way. #122145

@ian-twilightcoder ian-twilightcoder deleted the macho-driver branch January 8, 2025 19:39
ian-twilightcoder added a commit to ian-twilightcoder/llvm-project that referenced this pull request Jan 9, 2025
…resource directory after internal-externc-isystem when nostdlibinc is used (llvm#122035)

Embedded development often needs to use a different C standard library,
replacing the existing one normally passed as -internal-externc-isystem.
This works fine for an apple-macos target, but apple-none-macho doesn't
work because the MachO driver doesn't implement
AddClangSystemIncludeArgs to add the resource directory as
-internal-isystem like most other drivers do. Move most of the search
path logic from Darwin and DarwinClang down into an AppleMachO toolchain
between the MachO and Darwin toolchains.

Also define __MACH__ for apple-none-macho, as Swift expects all MachO
targets to have that defined.

rdar://141248577
ian-twilightcoder added a commit to swiftlang/llvm-project that referenced this pull request Jan 10, 2025
[stable/20240723][Darwin][Driver][clang] apple-none-macho orders the resource directory after internal-externc-isystem when nostdlibinc is used (llvm#122035)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang:driver 'clang' and 'clang++' user-facing binaries. Not 'clang-cl' clang:frontend Language frontend issues, e.g. anything involving "Sema" clang Clang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants