Skip to content

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

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 7, 2025

Conversation

ian-twilightcoder
Copy link
Contributor

@ian-twilightcoder ian-twilightcoder commented Dec 19, 2024

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 Dec 19, 2024
@llvmbot
Copy link
Member

llvmbot commented Dec 19, 2024

@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 DarwinClang down into MachO, as long as the target triple is an apple one, or the driver is one of the Darwin subclasses.


Full diff: https://github.com/llvm/llvm-project/pull/120507.diff

4 Files Affected:

  • (modified) clang/lib/Driver/ToolChains/Darwin.cpp (+78-53)
  • (modified) clang/lib/Driver/ToolChains/Darwin.h (+40-23)
  • (modified) clang/lib/Lex/InitHeaderSearch.cpp (+1-1)
  • (added) clang/test/Driver/darwin-embedded-search-paths.c (+55)
diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp
index 4105d38d15d7d8..06d9f535160b4e 100644
--- a/clang/lib/Driver/ToolChains/Darwin.cpp
+++ b/clang/lib/Driver/ToolChains/Darwin.cpp
@@ -961,15 +961,15 @@ void darwin::VerifyDebug::ConstructJob(Compilation &C, const JobAction &JA,
 }
 
 MachO::MachO(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
-    : ToolChain(D, Triple, Args) {
+    : ToolChain(D, Triple, Args), CudaInstallation(D, Triple, Args),
+      RocmInstallation(D, Triple, Args) {
   // We expect 'as', 'ld', etc. to be adjacent to our install dir.
   getProgramPaths().push_back(getDriver().Dir);
 }
 
 /// 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) {}
+    : MachO(D, Triple, Args), TargetInitialized(false) {}
 
 types::ID MachO::LookupTypeForExtension(StringRef Ext) const {
   types::ID Ty = ToolChain::LookupTypeForExtension(Ext);
@@ -1018,13 +1018,19 @@ bool Darwin::hasBlocksRuntime() const {
   }
 }
 
-void Darwin::AddCudaIncludeArgs(const ArgList &DriverArgs,
-                                ArgStringList &CC1Args) const {
+void MachO::AddCudaIncludeArgs(const ArgList &DriverArgs,
+                               ArgStringList &CC1Args) const {
+  if (!isTargetAppleBased())
+    return ToolChain::AddCudaIncludeArgs(DriverArgs, CC1Args);
+
   CudaInstallation->AddCudaIncludeArgs(DriverArgs, CC1Args);
 }
 
-void Darwin::AddHIPIncludeArgs(const ArgList &DriverArgs,
-                               ArgStringList &CC1Args) const {
+void MachO::AddHIPIncludeArgs(const ArgList &DriverArgs,
+                              ArgStringList &CC1Args) const {
+  if (!isTargetAppleBased())
+    return ToolChain::AddHIPIncludeArgs(DriverArgs, CC1Args);
+
   RocmInstallation->AddHIPIncludeArgs(DriverArgs, CC1Args);
 }
 
@@ -2482,7 +2488,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 {
+MachO::GetEffectiveSysroot(const llvm::opt::ArgList &DriverArgs) const {
   llvm::SmallString<128> Path("/");
   if (DriverArgs.hasArg(options::OPT_isysroot))
     Path = DriverArgs.getLastArgValue(options::OPT_isysroot);
@@ -2495,8 +2501,11 @@ DarwinClang::GetEffectiveSysroot(const llvm::opt::ArgList &DriverArgs) const {
   return Path;
 }
 
-void DarwinClang::AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
-                                            llvm::opt::ArgStringList &CC1Args) const {
+void MachO::AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
+                                      llvm::opt::ArgStringList &CC1Args) const {
+  if (!isTargetAppleBased())
+    return ToolChain::AddClangSystemIncludeArgs(DriverArgs, CC1Args);
+
   const Driver &D = getDriver();
 
   llvm::SmallString<128> Sysroot = GetEffectiveSysroot(DriverArgs);
@@ -2574,9 +2583,12 @@ bool DarwinClang::AddGnuCPlusPlusIncludePaths(const llvm::opt::ArgList &DriverAr
   return getVFS().exists(Base);
 }
 
-void DarwinClang::AddClangCXXStdlibIncludeArgs(
+void MachO::AddClangCXXStdlibIncludeArgs(
     const llvm::opt::ArgList &DriverArgs,
     llvm::opt::ArgStringList &CC1Args) const {
+  if (!isTargetAppleBased())
+    return ToolChain::AddClangCXXStdlibIncludeArgs(DriverArgs, CC1Args);
+
   // The implementation from a base class will pass through the -stdlib to
   // CC1Args.
   // FIXME: this should not be necessary, remove usages in the frontend
@@ -2631,55 +2643,65 @@ 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 MachO::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> Sysroot = GetEffectiveSysroot(DriverArgs);
 
-    if (!IsBaseFound) {
-      getDriver().Diag(diag::warn_drv_libstdcxx_not_found);
-    }
+  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;
+
+  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 MachO::AddCXXStdlibLibArgs(const ArgList &Args,
+                                ArgStringList &CmdArgs) const {
+  if (!isTargetAppleBased())
+    return ToolChain::AddCXXStdlibLibArgs(Args, CmdArgs);
+
   CXXStdlibType Type = GetCXXStdlibType(Args);
 
   switch (Type) {
@@ -3615,7 +3637,10 @@ SanitizerMask Darwin::getSupportedSanitizers() const {
   return Res;
 }
 
-void Darwin::printVerboseInfo(raw_ostream &OS) const {
+void MachO::printVerboseInfo(raw_ostream &OS) const {
+  if (!isTargetAppleBased())
+    return ToolChain::printVerboseInfo(OS);
+
   CudaInstallation->print(OS);
   RocmInstallation->print(OS);
 }
diff --git a/clang/lib/Driver/ToolChains/Darwin.h b/clang/lib/Driver/ToolChains/Darwin.h
index 2e55b49682a7e9..734b6416bbe0bf 100644
--- a/clang/lib/Driver/ToolChains/Darwin.h
+++ b/clang/lib/Driver/ToolChains/Darwin.h
@@ -180,6 +180,22 @@ class LLVM_LIBRARY_VISIBILITY MachO : public ToolChain {
                                      llvm::opt::ArgStringList &CmdArgs,
                                      bool ForceLinkBuiltinRT = false) const;
 
+  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 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 AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
+                           llvm::opt::ArgStringList &CmdArgs) const override;
+
   virtual void addStartObjectFileArgs(const llvm::opt::ArgList &Args,
                                       llvm::opt::ArgStringList &CmdArgs) const {
   }
@@ -195,6 +211,11 @@ class LLVM_LIBRARY_VISIBILITY MachO : public ToolChain {
   /// this such a target?
   virtual bool isKernelStatic() const { return false; }
 
+  /// Is the target an Apple target?
+  bool isTargetAppleBased() const {
+    return getTriple().getVendor() == llvm::Triple::Apple;
+  }
+
   /// Is the target either iOS or an iOS simulator?
   bool isTargetIOSBased() const { return false; }
 
@@ -287,7 +308,20 @@ class LLVM_LIBRARY_VISIBILITY MachO : public ToolChain {
   // Darwin toolchain uses legacy thin LTO API, which is not
   // capable of unit splitting.
   bool canSplitThinLTOUnit() const override { return false; }
+
+  void printVerboseInfo(raw_ostream &OS) const override;
   /// }
+
+  LazyDetector<CudaInstallationDetector> CudaInstallation;
+  LazyDetector<RocmInstallationDetector> RocmInstallation;
+
+protected:
+  llvm::SmallString<128>
+  GetEffectiveSysroot(const llvm::opt::ArgList &DriverArgs) const;
+
+  virtual void
+  AddGnuCPlusPlusIncludePaths(const llvm::opt::ArgList &DriverArgs,
+                              llvm::opt::ArgStringList &CC1Args) const;
 };
 
 /// Darwin - The base Darwin tool chain.
@@ -329,9 +363,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;
-
 private:
   void AddDeploymentTarget(llvm::opt::DerivedArgList &Args) const;
 
@@ -402,6 +433,8 @@ class LLVM_LIBRARY_VISIBILITY Darwin : public MachO {
   }
 
 public:
+  bool isTargetAppleBased() const { return true; }
+
   bool isTargetIPhoneOS() const {
     assert(TargetInitialized && "Target not initialized!");
     return (TargetPlatform == IPhoneOS || TargetPlatform == TvOS) &&
@@ -559,11 +592,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;
-
   bool UseObjCMixedDispatch() const override {
     // This is only used with the non-fragile ABI and non-legacy dispatch.
 
@@ -594,8 +622,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.
@@ -613,16 +639,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;
 
@@ -647,15 +663,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/Lex/InitHeaderSearch.cpp b/clang/lib/Lex/InitHeaderSearch.cpp
index ea02f5dfb62644..db24ddcc21e42b 100644
--- a/clang/lib/Lex/InitHeaderSearch.cpp
+++ b/clang/lib/Lex/InitHeaderSearch.cpp
@@ -312,7 +312,7 @@ bool InitHeaderSearch::ShouldAddDefaultIncludePaths(
     break;
 
   case llvm::Triple::UnknownOS:
-    if (triple.isWasm())
+    if (triple.isWasm() || ((triple.getVendor() == llvm::Triple::Apple) && triple.isOSBinFormatMachO()))
       return false;
     break;
 
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..02db123dc91932
--- /dev/null
+++ b/clang/test/Driver/darwin-embedded-search-paths.c
@@ -0,0 +1,55 @@
+// UNSUPPORTED: system-windows
+//   Windows is unsupported because we use the Unix path separator `/` in the test.
+
+// Add default directories before running clang to check default
+// search paths.
+// RUN: rm -rf %t && mkdir -p %t
+// RUN: cp -R %S/Inputs/MacOSX15.1.sdk %t/
+// RUN: mkdir -p %t/MacOSX15.1.sdk/usr/include
+// RUN: mkdir -p %t/MacOSX15.1.sdk/usr/include/c++/v1
+// RUN: mkdir -p %t/MacOSX15.1.sdk/usr/local/include
+// RUN: mkdir -p %t/MacOSX15.1.sdk/embedded/usr/include
+// RUN: mkdir -p %t/MacOSX15.1.sdk/embedded/usr/local/include
+
+// Unlike the Darwin driver, the MachO driver doesn't add any framework search paths,
+// only the normal header ones.
+// RUN: %clang -xc %s -target arm64-apple-none-macho -isysroot %t/MacOSX15.1.sdk -E -v 2>&1 | FileCheck --check-prefix=CHECK-C %s
+//
+// CHECK-C:                 -isysroot [[SDKROOT:[^ ]*/MacOSX15.1.sdk]]
+// CHECK-C:                 #include <...> search starts here:
+// CHECK-C-NEXT:            [[SDKROOT]]/usr/local/include
+// CHECK-C-NEXT:            /clang/{{.*}}/include
+// CHECK-C-NEXT:            [[SDKROOT]]/usr/include
+
+// Unlike the Darwin driver, the MachO driver doesn't default to libc++
+// RUN: %clang -xc++ %s -target arm64-apple-none-macho -isysroot %t/MacOSX15.1.sdk -E -v 2>&1 | FileCheck --check-prefix=CHECK-CXX %s
+//
+// CHECK-CXX:               -isysroot [[SDKROOT:[^ ]*/MacOSX15.1.sdk]]
+// CHECK-CXX:               #include <...> search starts here:
+// CHECK-CXX-NEXT:          [[SDKROOT]]/usr/local/include
+// CHECK-CXX-NEXT:          /clang/{{.*}}/include
+// CHECK-CXX-NEXT:          [[SDKROOT]]/usr/include
+
+// However, if the user requests libc++, the MachO driver should find the search path.
+// RUN: %clang -xc++ -stdlib=libc++ %s -target arm64-apple-none-macho -isysroot %t/MacOSX15.1.sdk -E -v 2>&1 | FileCheck --check-prefix=CHECK-LIBCXX %s
+//
+// CHECK-LIBCXX:            -isysroot [[SDKROOT:[^ ]*/MacOSX15.1.sdk]]
+// CHECK-LIBCXX:            #include <...> search starts here:
+// CHECK-LIBCXX-NEXT:       [[SDKROOT]]/usr/include/c++/v1
+// CHECK-LIBCXX-NEXT:       [[SDKROOT]]/usr/local/include
+// CHECK-LIBCXX-NEXT:       /clang/{{.*}}/include
+// CHECK-LIBCXX-NEXT:       [[SDKROOT]]/usr/include
+
+// 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 -xc++ -stdlib=libc++ %s -target arm64-apple-none-macho -isysroot %t/MacOSX15.1.sdk -nostdlibinc -isystem %t/MacOSX15.1.sdk/embedded/usr/local/include -Xclang -internal-externc-isystem -Xclang %t/MacOSX15.1.sdk/embedded/usr/include -E -v 2>&1 | FileCheck --check-prefix=CHECK-EMBEDDED %s
+//
+// CHECK-EMBEDDED:          -isysroot [[SDKROOT:[^ ]*/MacOSX15.1.sdk]]
+// CHECK-EMBEDDED:          #include <...> search starts here:
+// CHECK-EMBEDDED-NEXT:     [[SDKROOT]]/embedded/usr/local/include
+// CHECK-EMBEDDED-NEXT:     /clang/{{.*}}/include
+// CHECK-EMBEDDED-NEXT:     [[SDKROOT]]/embedded/usr/include

@llvmbot
Copy link
Member

llvmbot commented Dec 19, 2024

@llvm/pr-subscribers-clang

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 DarwinClang down into MachO, as long as the target triple is an apple one, or the driver is one of the Darwin subclasses.


Full diff: https://github.com/llvm/llvm-project/pull/120507.diff

4 Files Affected:

  • (modified) clang/lib/Driver/ToolChains/Darwin.cpp (+78-53)
  • (modified) clang/lib/Driver/ToolChains/Darwin.h (+40-23)
  • (modified) clang/lib/Lex/InitHeaderSearch.cpp (+1-1)
  • (added) clang/test/Driver/darwin-embedded-search-paths.c (+55)
diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp
index 4105d38d15d7d8..06d9f535160b4e 100644
--- a/clang/lib/Driver/ToolChains/Darwin.cpp
+++ b/clang/lib/Driver/ToolChains/Darwin.cpp
@@ -961,15 +961,15 @@ void darwin::VerifyDebug::ConstructJob(Compilation &C, const JobAction &JA,
 }
 
 MachO::MachO(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
-    : ToolChain(D, Triple, Args) {
+    : ToolChain(D, Triple, Args), CudaInstallation(D, Triple, Args),
+      RocmInstallation(D, Triple, Args) {
   // We expect 'as', 'ld', etc. to be adjacent to our install dir.
   getProgramPaths().push_back(getDriver().Dir);
 }
 
 /// 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) {}
+    : MachO(D, Triple, Args), TargetInitialized(false) {}
 
 types::ID MachO::LookupTypeForExtension(StringRef Ext) const {
   types::ID Ty = ToolChain::LookupTypeForExtension(Ext);
@@ -1018,13 +1018,19 @@ bool Darwin::hasBlocksRuntime() const {
   }
 }
 
-void Darwin::AddCudaIncludeArgs(const ArgList &DriverArgs,
-                                ArgStringList &CC1Args) const {
+void MachO::AddCudaIncludeArgs(const ArgList &DriverArgs,
+                               ArgStringList &CC1Args) const {
+  if (!isTargetAppleBased())
+    return ToolChain::AddCudaIncludeArgs(DriverArgs, CC1Args);
+
   CudaInstallation->AddCudaIncludeArgs(DriverArgs, CC1Args);
 }
 
-void Darwin::AddHIPIncludeArgs(const ArgList &DriverArgs,
-                               ArgStringList &CC1Args) const {
+void MachO::AddHIPIncludeArgs(const ArgList &DriverArgs,
+                              ArgStringList &CC1Args) const {
+  if (!isTargetAppleBased())
+    return ToolChain::AddHIPIncludeArgs(DriverArgs, CC1Args);
+
   RocmInstallation->AddHIPIncludeArgs(DriverArgs, CC1Args);
 }
 
@@ -2482,7 +2488,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 {
+MachO::GetEffectiveSysroot(const llvm::opt::ArgList &DriverArgs) const {
   llvm::SmallString<128> Path("/");
   if (DriverArgs.hasArg(options::OPT_isysroot))
     Path = DriverArgs.getLastArgValue(options::OPT_isysroot);
@@ -2495,8 +2501,11 @@ DarwinClang::GetEffectiveSysroot(const llvm::opt::ArgList &DriverArgs) const {
   return Path;
 }
 
-void DarwinClang::AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
-                                            llvm::opt::ArgStringList &CC1Args) const {
+void MachO::AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
+                                      llvm::opt::ArgStringList &CC1Args) const {
+  if (!isTargetAppleBased())
+    return ToolChain::AddClangSystemIncludeArgs(DriverArgs, CC1Args);
+
   const Driver &D = getDriver();
 
   llvm::SmallString<128> Sysroot = GetEffectiveSysroot(DriverArgs);
@@ -2574,9 +2583,12 @@ bool DarwinClang::AddGnuCPlusPlusIncludePaths(const llvm::opt::ArgList &DriverAr
   return getVFS().exists(Base);
 }
 
-void DarwinClang::AddClangCXXStdlibIncludeArgs(
+void MachO::AddClangCXXStdlibIncludeArgs(
     const llvm::opt::ArgList &DriverArgs,
     llvm::opt::ArgStringList &CC1Args) const {
+  if (!isTargetAppleBased())
+    return ToolChain::AddClangCXXStdlibIncludeArgs(DriverArgs, CC1Args);
+
   // The implementation from a base class will pass through the -stdlib to
   // CC1Args.
   // FIXME: this should not be necessary, remove usages in the frontend
@@ -2631,55 +2643,65 @@ 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 MachO::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> Sysroot = GetEffectiveSysroot(DriverArgs);
 
-    if (!IsBaseFound) {
-      getDriver().Diag(diag::warn_drv_libstdcxx_not_found);
-    }
+  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;
+
+  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 MachO::AddCXXStdlibLibArgs(const ArgList &Args,
+                                ArgStringList &CmdArgs) const {
+  if (!isTargetAppleBased())
+    return ToolChain::AddCXXStdlibLibArgs(Args, CmdArgs);
+
   CXXStdlibType Type = GetCXXStdlibType(Args);
 
   switch (Type) {
@@ -3615,7 +3637,10 @@ SanitizerMask Darwin::getSupportedSanitizers() const {
   return Res;
 }
 
-void Darwin::printVerboseInfo(raw_ostream &OS) const {
+void MachO::printVerboseInfo(raw_ostream &OS) const {
+  if (!isTargetAppleBased())
+    return ToolChain::printVerboseInfo(OS);
+
   CudaInstallation->print(OS);
   RocmInstallation->print(OS);
 }
diff --git a/clang/lib/Driver/ToolChains/Darwin.h b/clang/lib/Driver/ToolChains/Darwin.h
index 2e55b49682a7e9..734b6416bbe0bf 100644
--- a/clang/lib/Driver/ToolChains/Darwin.h
+++ b/clang/lib/Driver/ToolChains/Darwin.h
@@ -180,6 +180,22 @@ class LLVM_LIBRARY_VISIBILITY MachO : public ToolChain {
                                      llvm::opt::ArgStringList &CmdArgs,
                                      bool ForceLinkBuiltinRT = false) const;
 
+  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 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 AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
+                           llvm::opt::ArgStringList &CmdArgs) const override;
+
   virtual void addStartObjectFileArgs(const llvm::opt::ArgList &Args,
                                       llvm::opt::ArgStringList &CmdArgs) const {
   }
@@ -195,6 +211,11 @@ class LLVM_LIBRARY_VISIBILITY MachO : public ToolChain {
   /// this such a target?
   virtual bool isKernelStatic() const { return false; }
 
+  /// Is the target an Apple target?
+  bool isTargetAppleBased() const {
+    return getTriple().getVendor() == llvm::Triple::Apple;
+  }
+
   /// Is the target either iOS or an iOS simulator?
   bool isTargetIOSBased() const { return false; }
 
@@ -287,7 +308,20 @@ class LLVM_LIBRARY_VISIBILITY MachO : public ToolChain {
   // Darwin toolchain uses legacy thin LTO API, which is not
   // capable of unit splitting.
   bool canSplitThinLTOUnit() const override { return false; }
+
+  void printVerboseInfo(raw_ostream &OS) const override;
   /// }
+
+  LazyDetector<CudaInstallationDetector> CudaInstallation;
+  LazyDetector<RocmInstallationDetector> RocmInstallation;
+
+protected:
+  llvm::SmallString<128>
+  GetEffectiveSysroot(const llvm::opt::ArgList &DriverArgs) const;
+
+  virtual void
+  AddGnuCPlusPlusIncludePaths(const llvm::opt::ArgList &DriverArgs,
+                              llvm::opt::ArgStringList &CC1Args) const;
 };
 
 /// Darwin - The base Darwin tool chain.
@@ -329,9 +363,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;
-
 private:
   void AddDeploymentTarget(llvm::opt::DerivedArgList &Args) const;
 
@@ -402,6 +433,8 @@ class LLVM_LIBRARY_VISIBILITY Darwin : public MachO {
   }
 
 public:
+  bool isTargetAppleBased() const { return true; }
+
   bool isTargetIPhoneOS() const {
     assert(TargetInitialized && "Target not initialized!");
     return (TargetPlatform == IPhoneOS || TargetPlatform == TvOS) &&
@@ -559,11 +592,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;
-
   bool UseObjCMixedDispatch() const override {
     // This is only used with the non-fragile ABI and non-legacy dispatch.
 
@@ -594,8 +622,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.
@@ -613,16 +639,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;
 
@@ -647,15 +663,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/Lex/InitHeaderSearch.cpp b/clang/lib/Lex/InitHeaderSearch.cpp
index ea02f5dfb62644..db24ddcc21e42b 100644
--- a/clang/lib/Lex/InitHeaderSearch.cpp
+++ b/clang/lib/Lex/InitHeaderSearch.cpp
@@ -312,7 +312,7 @@ bool InitHeaderSearch::ShouldAddDefaultIncludePaths(
     break;
 
   case llvm::Triple::UnknownOS:
-    if (triple.isWasm())
+    if (triple.isWasm() || ((triple.getVendor() == llvm::Triple::Apple) && triple.isOSBinFormatMachO()))
       return false;
     break;
 
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..02db123dc91932
--- /dev/null
+++ b/clang/test/Driver/darwin-embedded-search-paths.c
@@ -0,0 +1,55 @@
+// UNSUPPORTED: system-windows
+//   Windows is unsupported because we use the Unix path separator `/` in the test.
+
+// Add default directories before running clang to check default
+// search paths.
+// RUN: rm -rf %t && mkdir -p %t
+// RUN: cp -R %S/Inputs/MacOSX15.1.sdk %t/
+// RUN: mkdir -p %t/MacOSX15.1.sdk/usr/include
+// RUN: mkdir -p %t/MacOSX15.1.sdk/usr/include/c++/v1
+// RUN: mkdir -p %t/MacOSX15.1.sdk/usr/local/include
+// RUN: mkdir -p %t/MacOSX15.1.sdk/embedded/usr/include
+// RUN: mkdir -p %t/MacOSX15.1.sdk/embedded/usr/local/include
+
+// Unlike the Darwin driver, the MachO driver doesn't add any framework search paths,
+// only the normal header ones.
+// RUN: %clang -xc %s -target arm64-apple-none-macho -isysroot %t/MacOSX15.1.sdk -E -v 2>&1 | FileCheck --check-prefix=CHECK-C %s
+//
+// CHECK-C:                 -isysroot [[SDKROOT:[^ ]*/MacOSX15.1.sdk]]
+// CHECK-C:                 #include <...> search starts here:
+// CHECK-C-NEXT:            [[SDKROOT]]/usr/local/include
+// CHECK-C-NEXT:            /clang/{{.*}}/include
+// CHECK-C-NEXT:            [[SDKROOT]]/usr/include
+
+// Unlike the Darwin driver, the MachO driver doesn't default to libc++
+// RUN: %clang -xc++ %s -target arm64-apple-none-macho -isysroot %t/MacOSX15.1.sdk -E -v 2>&1 | FileCheck --check-prefix=CHECK-CXX %s
+//
+// CHECK-CXX:               -isysroot [[SDKROOT:[^ ]*/MacOSX15.1.sdk]]
+// CHECK-CXX:               #include <...> search starts here:
+// CHECK-CXX-NEXT:          [[SDKROOT]]/usr/local/include
+// CHECK-CXX-NEXT:          /clang/{{.*}}/include
+// CHECK-CXX-NEXT:          [[SDKROOT]]/usr/include
+
+// However, if the user requests libc++, the MachO driver should find the search path.
+// RUN: %clang -xc++ -stdlib=libc++ %s -target arm64-apple-none-macho -isysroot %t/MacOSX15.1.sdk -E -v 2>&1 | FileCheck --check-prefix=CHECK-LIBCXX %s
+//
+// CHECK-LIBCXX:            -isysroot [[SDKROOT:[^ ]*/MacOSX15.1.sdk]]
+// CHECK-LIBCXX:            #include <...> search starts here:
+// CHECK-LIBCXX-NEXT:       [[SDKROOT]]/usr/include/c++/v1
+// CHECK-LIBCXX-NEXT:       [[SDKROOT]]/usr/local/include
+// CHECK-LIBCXX-NEXT:       /clang/{{.*}}/include
+// CHECK-LIBCXX-NEXT:       [[SDKROOT]]/usr/include
+
+// 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 -xc++ -stdlib=libc++ %s -target arm64-apple-none-macho -isysroot %t/MacOSX15.1.sdk -nostdlibinc -isystem %t/MacOSX15.1.sdk/embedded/usr/local/include -Xclang -internal-externc-isystem -Xclang %t/MacOSX15.1.sdk/embedded/usr/include -E -v 2>&1 | FileCheck --check-prefix=CHECK-EMBEDDED %s
+//
+// CHECK-EMBEDDED:          -isysroot [[SDKROOT:[^ ]*/MacOSX15.1.sdk]]
+// CHECK-EMBEDDED:          #include <...> search starts here:
+// CHECK-EMBEDDED-NEXT:     [[SDKROOT]]/embedded/usr/local/include
+// CHECK-EMBEDDED-NEXT:     /clang/{{.*}}/include
+// CHECK-EMBEDDED-NEXT:     [[SDKROOT]]/embedded/usr/include

Copy link

github-actions bot commented Dec 20, 2024

✅ With the latest revision this PR passed the C/C++ code formatter.

@ian-twilightcoder ian-twilightcoder force-pushed the macho-driver branch 2 times, most recently from 7b549f3 to 8a08bbd Compare December 20, 2024 20:52
Copy link
Member

@carlocab carlocab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM once @jroelofs is happy.

@ian-twilightcoder ian-twilightcoder force-pushed the macho-driver branch 2 times, most recently from b199530 to 637a7b3 Compare January 3, 2025 01:11
@ian-twilightcoder
Copy link
Contributor Author

@TNorthover do you know if there was any specific reason to make sure that apple-none-macho doesn't define __MACH__? All of the uses I could find contrast that with __ELF__ and take it to mean "producing a Mach object/using the Apple linker" and not "code that will run under a Mach-based kernel".

@jroelofs
Copy link
Contributor

jroelofs commented Jan 3, 2025

IIUC __MACH__ means "the kernel is Mach, and we're going to be loaded by dyld", and the apple-none-macho target is not that.

as Swift expects all MachO targets to have that defined.

can you elaborate on that expectation?

@ian-twilightcoder
Copy link
Contributor Author

as Swift expects all MachO targets to have that defined.

can you elaborate on that expectation?

shims/Visibility.h uses __MACH__ to figure out how to configure the visibility attributes. It's taking __MACH__ to mean Mach-O and not dyld. Without that, apple-none-macho falls down to Windows declspec which is an error. libc++'s __configuration/platform.h takes the same meaning. usr/include/TargetConditionals.h also equates __MACH__ to Mach-O.

@ian-twilightcoder
Copy link
Contributor Author

ian-twilightcoder commented Jan 3, 2025

as Swift expects all MachO targets to have that defined.

can you elaborate on that expectation?

shims/Visibility.h uses __MACH__ to figure out how to configure the visibility attributes. It's taking __MACH__ to mean Mach-O and not dyld. Without that, apple-none-macho falls down to Windows declspec which is an error. libc++'s __configuration/platform.h takes the same meaning. usr/include/TargetConditionals.h also equates __MACH__ to Mach-O.

Actually the TargetConditionals.h use seems to be more like "running Mac OS X native" as opposed to "running in Mac OS 9 or the Classic environment on Mac OS X". gssapi/gssapi.h and krb5/krb5.h are using it for the same purpose. There's similar use in unicode/platform.h and dispatch/dispatch.h, though it's a little less clear what they're trying to figure out (it almost looks like they just don't know about __has_include or don't want to use it because it's not supported by every compiler?).

…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.
@ian-twilightcoder ian-twilightcoder merged commit 653a547 into llvm:main Jan 7, 2025
8 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 7, 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/10589

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)
...
[846/1364] Linking CXX executable tools/clang/unittests/AST/ASTTests
[846/1364] 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-1zsna1lo/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-1zsna1lo/bin:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/bin/wasm-ld
-- Testing: 21759 tests, 60 workers --
Testing:  0.. 10.. 20.. 30.. 40..
FAIL: Clang :: Driver/darwin-embedded-search-paths.c (10812 of 21759)
******************** 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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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 14: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/bin/clang -x c++ -stdlib=libc++ -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-1zsna1lo/bin/FileCheck --check-prefixes=CC1,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-1zsna1lo/bin/clang -x c++ -stdlib=libc++ -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/build/llvm-build-1zsna1lo/bin/FileCheck --check-prefixes=CC1,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/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c:37:14: error: CXX-SAME: expected string not found in input
// CXX-SAME: "-internal-isystem" "[[SDKROOT]]/usr/include/c++/v1"
             ^
<stdin>:6:92: note: scanning from here
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-stdlib=libc++" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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"
                                                                                           ^
<stdin>:6:92: note: with "SDKROOT" equal to "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15\\.1\\.sdk"
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-stdlib=libc++" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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"
                                                                                           ^
<stdin>:6:1040: note: possible intended match here
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-stdlib=libc++" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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 653a54727eaa18c43447ad686c987db67f1dda74) 
           2: Target: arm64-apple-none-macho 
           3: Thread model: posix 
           4: InstalledDir: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/bin 
Step 7 (check) failure: check (failure)
...
[846/1364] Linking CXX executable tools/clang/unittests/AST/ASTTests
[846/1364] 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-1zsna1lo/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-1zsna1lo/bin:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/bin/wasm-ld
-- Testing: 21759 tests, 60 workers --
Testing:  0.. 10.. 20.. 30.. 40..
FAIL: Clang :: Driver/darwin-embedded-search-paths.c (10812 of 21759)
******************** 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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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 14: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/bin/clang -x c++ -stdlib=libc++ -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-1zsna1lo/bin/FileCheck --check-prefixes=CC1,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-1zsna1lo/bin/clang -x c++ -stdlib=libc++ -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/build/llvm-build-1zsna1lo/bin/FileCheck --check-prefixes=CC1,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/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c:37:14: error: CXX-SAME: expected string not found in input
// CXX-SAME: "-internal-isystem" "[[SDKROOT]]/usr/include/c++/v1"
             ^
<stdin>:6:92: note: scanning from here
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-stdlib=libc++" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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"
                                                                                           ^
<stdin>:6:92: note: with "SDKROOT" equal to "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15\\.1\\.sdk"
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-stdlib=libc++" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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"
                                                                                           ^
<stdin>:6:1040: note: possible intended match here
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-stdlib=libc++" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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 653a54727eaa18c43447ad686c987db67f1dda74) 
           2: Target: arm64-apple-none-macho 
           3: Thread model: posix 
           4: InstalledDir: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/bin 

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 7, 2025

LLVM Buildbot has detected a new failure on builder sanitizer-aarch64-linux-bootstrap-asan running on sanitizer-buildbot8 while building clang,llvm at step 2 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 85741 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 
FAIL: LLVM :: ExecutionEngine/JITLink/x86-64/MachO_weak_references.s (52355 of 85741)
******************** TEST 'LLVM :: ExecutionEngine/JITLink/x86-64/MachO_weak_references.s' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp && mkdir -p /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp
+ rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp
+ mkdir -p /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp
RUN: at line 2: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llvm-mc -triple=x86_64-apple-macosx10.9 -filetype=obj -o /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp/macho_weak_refs.o /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references.s
+ /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llvm-mc -triple=x86_64-apple-macosx10.9 -filetype=obj -o /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp/macho_weak_refs.o /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references.s
RUN: at line 3: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llvm-jitlink -noexec -check-name=jitlink-check-bar-present -abs bar=0x1 -check=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references.s /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp/macho_weak_refs.o
+ /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llvm-jitlink -noexec -check-name=jitlink-check-bar-present -abs bar=0x1 -check=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references.s /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp/macho_weak_refs.o
RUN: at line 4: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llvm-jitlink -noexec -check-name=jitlink-check-bar-absent -check=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references.s /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp/macho_weak_refs.o
+ /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llvm-jitlink -noexec -check-name=jitlink-check-bar-absent -check=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references.s /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp/macho_weak_refs.o

=================================================================
==370042==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0xac951f2d648c in malloc /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3
    #1 0xe47a765c1034  (/lib/aarch64-linux-gnu/libc.so.6+0x81034) (BuildId: 32fa4d6f3a8d5f430bdb7af2eb779470cd5ec7c2)
    #2 0xe47a765c177c in dlsym (/lib/aarch64-linux-gnu/libc.so.6+0x8177c) (BuildId: 32fa4d6f3a8d5f430bdb7af2eb779470cd5ec7c2)
    #3 0xac952016c8c8 in llvm::orc::SelfExecutorProcessControl::lookupSymbolsAsync(llvm::ArrayRef<llvm::orc::DylibManager::LookupRequest>, llvm::unique_function<void (llvm::Expected<std::__1::vector<std::__1::vector<llvm::orc::ExecutorSymbolDef, std::__1::allocator<llvm::orc::ExecutorSymbolDef>>, std::__1::allocator<std::__1::vector<llvm::orc::ExecutorSymbolDef, std::__1::allocator<llvm::orc::ExecutorSymbolDef>>>>>)>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp:101:26
    #4 0xac9520003934 in llvm::orc::EPCDynamicLibrarySearchGenerator::tryToGenerate(llvm::orc::LookupState&, llvm::orc::LookupKind, llvm::orc::JITDylib&, llvm::orc::JITDylibLookupFlags, llvm::orc::SymbolLookupSet const&) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp:56:21
    #5 0xac951ff50ca0 in llvm::orc::ExecutionSession::OL_applyQueryPhase1(std::__1::unique_ptr<llvm::orc::InProgressLookupState, std::__1::default_delete<llvm::orc::InProgressLookupState>>, llvm::Error) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:2473:19
    #6 0xac951ff44aec in llvm::orc::ExecutionSession::lookup(llvm::orc::LookupKind, std::__1::vector<std::__1::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>, std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>>> const&, llvm::orc::SymbolLookupSet, llvm::orc::SymbolState, llvm::unique_function<void (llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr, llvm::orc::ExecutorSymbolDef, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>, llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr, llvm::orc::ExecutorSymbolDef>>>)>, std::__1::function<void (llvm::DenseMap<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>>, llvm::DenseMapInfo<llvm::orc::JITDylib*, void>, llvm::detail::DenseMapPair<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>>>> const&)>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:1814:3
    #7 0xac95200941f4 in llvm::orc::LinkGraphLinkingLayer::JITLinkCtx::lookup(llvm::DenseMap<llvm::orc::SymbolStringPtr, llvm::jitlink::SymbolLookupFlags, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>, llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr, llvm::jitlink::SymbolLookupFlags>> const&, std::__1::unique_ptr<llvm::jitlink::JITLinkAsyncLookupContinuation, std::__1::default_delete<llvm::jitlink::JITLinkAsyncLookupContinuation>>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp:117:8
    #8 0xac951fa02cb4 in llvm::jitlink::JITLinkerBase::linkPhase2(std::__1::unique_ptr<llvm::jitlink::JITLinkerBase, std::__1::default_delete<llvm::jitlink::JITLinkerBase>>, llvm::Expected<std::__1::unique_ptr<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc, std::__1::default_delete<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc>>>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp:122:8
    #9 0xac951fa07bf0 in operator() /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp:63:18
    #10 0xac951fa07bf0 in void llvm::detail::UniqueFunctionBase<void, llvm::Expected<std::__1::unique_ptr<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc, std::__1::default_delete<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc>>>>::CallImpl<llvm::jitlink::JITLinkerBase::linkPhase1(std::__1::unique_ptr<llvm::jitlink::JITLinkerBase, std::__1::default_delete<llvm::jitlink::JITLinkerBase>>)::$_1>(void*, llvm::Expected<std::__1::unique_ptr<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc, std::__1::default_delete<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc>>>&) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:222:12
    #11 0xac95200e36d0 in operator() /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:387:12
    #12 0xac95200e36d0 in llvm::orc::MapperJITLinkMemoryManager::allocate(llvm::jitlink::JITLinkDylib const*, llvm::jitlink::LinkGraph&, llvm::unique_function<void (llvm::Expected<std::__1::unique_ptr<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc, std::__1::default_delete<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc>>>)>)::$_0::operator()(llvm::Expected<llvm::orc::ExecutorAddrRange>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp:120:5
    #13 0xac95200f3f64 in void llvm::detail::UniqueFunctionBase<void, llvm::Expected<llvm::orc::ExecutorAddrRange>>::CallImpl<llvm::orc::MapperJITLinkMemoryManager::allocate(llvm::jitlink::JITLinkDylib const*, llvm::jitlink::LinkGraph&, llvm::unique_function<void (llvm::Expected<std::__1::unique_ptr<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc, std::__1::default_delete<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc>>>)>)::$_0>(void*, llvm::Expected<llvm::orc::ExecutorAddrRange>&) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:222:12
    #14 0xac951f349bcc in operator() /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:387:12
    #15 0xac951f349bcc in llvm::InProcessDeltaMapper::reserve(unsigned long, llvm::unique_function<void (llvm::Expected<llvm::orc::ExecutorAddrRange>)>)::'lambda'(llvm::Expected<llvm::orc::ExecutorAddrRange>)::operator()(llvm::Expected<llvm::orc::ExecutorAddrRange>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/tools/llvm-jitlink/llvm-jitlink.cpp:566:11
    #16 0xac951f3495c0 in void llvm::detail::UniqueFunctionBase<void, llvm::Expected<llvm::orc::ExecutorAddrRange>>::CallImpl<llvm::InProcessDeltaMapper::reserve(unsigned long, llvm::unique_function<void (llvm::Expected<llvm::orc::ExecutorAddrRange>)>)::'lambda'(llvm::Expected<llvm::orc::ExecutorAddrRange>)>(void*, llvm::Expected<llvm::orc::ExecutorAddrRange>&) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:222:12
    #17 0xac95200f55cc in operator() /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:387:12
    #18 0xac95200f55cc in llvm::orc::InProcessMemoryMapper::reserve(unsigned long, llvm::unique_function<void (llvm::Expected<llvm::orc::ExecutorAddrRange>)>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp:57:3
Step 11 (stage2/asan check) failure: stage2/asan check (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 85741 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 
FAIL: LLVM :: ExecutionEngine/JITLink/x86-64/MachO_weak_references.s (52355 of 85741)
******************** TEST 'LLVM :: ExecutionEngine/JITLink/x86-64/MachO_weak_references.s' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp && mkdir -p /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp
+ rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp
+ mkdir -p /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp
RUN: at line 2: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llvm-mc -triple=x86_64-apple-macosx10.9 -filetype=obj -o /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp/macho_weak_refs.o /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references.s
+ /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llvm-mc -triple=x86_64-apple-macosx10.9 -filetype=obj -o /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp/macho_weak_refs.o /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references.s
RUN: at line 3: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llvm-jitlink -noexec -check-name=jitlink-check-bar-present -abs bar=0x1 -check=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references.s /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp/macho_weak_refs.o
+ /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llvm-jitlink -noexec -check-name=jitlink-check-bar-present -abs bar=0x1 -check=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references.s /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp/macho_weak_refs.o
RUN: at line 4: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llvm-jitlink -noexec -check-name=jitlink-check-bar-absent -check=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references.s /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp/macho_weak_refs.o
+ /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llvm-jitlink -noexec -check-name=jitlink-check-bar-absent -check=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references.s /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_weak_references.s.tmp/macho_weak_refs.o

=================================================================
==370042==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0xac951f2d648c in malloc /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3
    #1 0xe47a765c1034  (/lib/aarch64-linux-gnu/libc.so.6+0x81034) (BuildId: 32fa4d6f3a8d5f430bdb7af2eb779470cd5ec7c2)
    #2 0xe47a765c177c in dlsym (/lib/aarch64-linux-gnu/libc.so.6+0x8177c) (BuildId: 32fa4d6f3a8d5f430bdb7af2eb779470cd5ec7c2)
    #3 0xac952016c8c8 in llvm::orc::SelfExecutorProcessControl::lookupSymbolsAsync(llvm::ArrayRef<llvm::orc::DylibManager::LookupRequest>, llvm::unique_function<void (llvm::Expected<std::__1::vector<std::__1::vector<llvm::orc::ExecutorSymbolDef, std::__1::allocator<llvm::orc::ExecutorSymbolDef>>, std::__1::allocator<std::__1::vector<llvm::orc::ExecutorSymbolDef, std::__1::allocator<llvm::orc::ExecutorSymbolDef>>>>>)>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp:101:26
    #4 0xac9520003934 in llvm::orc::EPCDynamicLibrarySearchGenerator::tryToGenerate(llvm::orc::LookupState&, llvm::orc::LookupKind, llvm::orc::JITDylib&, llvm::orc::JITDylibLookupFlags, llvm::orc::SymbolLookupSet const&) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp:56:21
    #5 0xac951ff50ca0 in llvm::orc::ExecutionSession::OL_applyQueryPhase1(std::__1::unique_ptr<llvm::orc::InProgressLookupState, std::__1::default_delete<llvm::orc::InProgressLookupState>>, llvm::Error) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:2473:19
    #6 0xac951ff44aec in llvm::orc::ExecutionSession::lookup(llvm::orc::LookupKind, std::__1::vector<std::__1::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>, std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>>> const&, llvm::orc::SymbolLookupSet, llvm::orc::SymbolState, llvm::unique_function<void (llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr, llvm::orc::ExecutorSymbolDef, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>, llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr, llvm::orc::ExecutorSymbolDef>>>)>, std::__1::function<void (llvm::DenseMap<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>>, llvm::DenseMapInfo<llvm::orc::JITDylib*, void>, llvm::detail::DenseMapPair<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>>>> const&)>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:1814:3
    #7 0xac95200941f4 in llvm::orc::LinkGraphLinkingLayer::JITLinkCtx::lookup(llvm::DenseMap<llvm::orc::SymbolStringPtr, llvm::jitlink::SymbolLookupFlags, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>, llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr, llvm::jitlink::SymbolLookupFlags>> const&, std::__1::unique_ptr<llvm::jitlink::JITLinkAsyncLookupContinuation, std::__1::default_delete<llvm::jitlink::JITLinkAsyncLookupContinuation>>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp:117:8
    #8 0xac951fa02cb4 in llvm::jitlink::JITLinkerBase::linkPhase2(std::__1::unique_ptr<llvm::jitlink::JITLinkerBase, std::__1::default_delete<llvm::jitlink::JITLinkerBase>>, llvm::Expected<std::__1::unique_ptr<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc, std::__1::default_delete<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc>>>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp:122:8
    #9 0xac951fa07bf0 in operator() /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp:63:18
    #10 0xac951fa07bf0 in void llvm::detail::UniqueFunctionBase<void, llvm::Expected<std::__1::unique_ptr<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc, std::__1::default_delete<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc>>>>::CallImpl<llvm::jitlink::JITLinkerBase::linkPhase1(std::__1::unique_ptr<llvm::jitlink::JITLinkerBase, std::__1::default_delete<llvm::jitlink::JITLinkerBase>>)::$_1>(void*, llvm::Expected<std::__1::unique_ptr<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc, std::__1::default_delete<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc>>>&) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:222:12
    #11 0xac95200e36d0 in operator() /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:387:12
    #12 0xac95200e36d0 in llvm::orc::MapperJITLinkMemoryManager::allocate(llvm::jitlink::JITLinkDylib const*, llvm::jitlink::LinkGraph&, llvm::unique_function<void (llvm::Expected<std::__1::unique_ptr<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc, std::__1::default_delete<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc>>>)>)::$_0::operator()(llvm::Expected<llvm::orc::ExecutorAddrRange>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp:120:5
    #13 0xac95200f3f64 in void llvm::detail::UniqueFunctionBase<void, llvm::Expected<llvm::orc::ExecutorAddrRange>>::CallImpl<llvm::orc::MapperJITLinkMemoryManager::allocate(llvm::jitlink::JITLinkDylib const*, llvm::jitlink::LinkGraph&, llvm::unique_function<void (llvm::Expected<std::__1::unique_ptr<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc, std::__1::default_delete<llvm::jitlink::JITLinkMemoryManager::InFlightAlloc>>>)>)::$_0>(void*, llvm::Expected<llvm::orc::ExecutorAddrRange>&) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:222:12
    #14 0xac951f349bcc in operator() /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:387:12
    #15 0xac951f349bcc in llvm::InProcessDeltaMapper::reserve(unsigned long, llvm::unique_function<void (llvm::Expected<llvm::orc::ExecutorAddrRange>)>)::'lambda'(llvm::Expected<llvm::orc::ExecutorAddrRange>)::operator()(llvm::Expected<llvm::orc::ExecutorAddrRange>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/tools/llvm-jitlink/llvm-jitlink.cpp:566:11
    #16 0xac951f3495c0 in void llvm::detail::UniqueFunctionBase<void, llvm::Expected<llvm::orc::ExecutorAddrRange>>::CallImpl<llvm::InProcessDeltaMapper::reserve(unsigned long, llvm::unique_function<void (llvm::Expected<llvm::orc::ExecutorAddrRange>)>)::'lambda'(llvm::Expected<llvm::orc::ExecutorAddrRange>)>(void*, llvm::Expected<llvm::orc::ExecutorAddrRange>&) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:222:12
    #17 0xac95200f55cc in operator() /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:387:12
    #18 0xac95200f55cc in llvm::orc::InProcessMemoryMapper::reserve(unsigned long, llvm::unique_function<void (llvm::Expected<llvm::orc::ExecutorAddrRange>)>) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp:57:3

@mikaelholmen
Copy link
Collaborator

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/10589
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)
...
[846/1364] Linking CXX executable tools/clang/unittests/AST/ASTTests
[846/1364] 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-1zsna1lo/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-1zsna1lo/bin:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/bin/wasm-ld
-- Testing: 21759 tests, 60 workers --
Testing:  0.. 10.. 20.. 30.. 40..
FAIL: Clang :: Driver/darwin-embedded-search-paths.c (10812 of 21759)
******************** 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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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 14: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/bin/clang -x c++ -stdlib=libc++ -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-1zsna1lo/bin/FileCheck --check-prefixes=CC1,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-1zsna1lo/bin/clang -x c++ -stdlib=libc++ -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/build/llvm-build-1zsna1lo/bin/FileCheck --check-prefixes=CC1,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/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c:37:14: error: CXX-SAME: expected string not found in input
// CXX-SAME: "-internal-isystem" "[[SDKROOT]]/usr/include/c++/v1"
             ^
<stdin>:6:92: note: scanning from here
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-stdlib=libc++" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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"
                                                                                           ^
<stdin>:6:92: note: with "SDKROOT" equal to "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15\\.1\\.sdk"
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-stdlib=libc++" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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"
                                                                                           ^
<stdin>:6:1040: note: possible intended match here
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-stdlib=libc++" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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 653a54727eaa18c43447ad686c987db67f1dda74) 
           2: Target: arm64-apple-none-macho 
           3: Thread model: posix 
           4: InstalledDir: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/bin 
Step 7 (check) failure: check (failure)
...
[846/1364] Linking CXX executable tools/clang/unittests/AST/ASTTests
[846/1364] 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-1zsna1lo/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-1zsna1lo/bin:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/bin/wasm-ld
-- Testing: 21759 tests, 60 workers --
Testing:  0.. 10.. 20.. 30.. 40..
FAIL: Clang :: Driver/darwin-embedded-search-paths.c (10812 of 21759)
******************** 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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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-1zsna1lo/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 14: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/bin/clang -x c++ -stdlib=libc++ -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-1zsna1lo/bin/FileCheck --check-prefixes=CC1,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-1zsna1lo/bin/clang -x c++ -stdlib=libc++ -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/build/llvm-build-1zsna1lo/bin/FileCheck --check-prefixes=CC1,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/llvm-project/clang/test/Driver/darwin-embedded-search-paths.c:37:14: error: CXX-SAME: expected string not found in input
// CXX-SAME: "-internal-isystem" "[[SDKROOT]]/usr/include/c++/v1"
             ^
<stdin>:6:92: note: scanning from here
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-stdlib=libc++" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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"
                                                                                           ^
<stdin>:6:92: note: with "SDKROOT" equal to "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15\\.1\\.sdk"
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-stdlib=libc++" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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"
                                                                                           ^
<stdin>:6:1040: note: possible intended match here
 "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/tools/clang/test/Driver" "-fcoverage-compilation-dir=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/tools/clang/test/Driver" "-resource-dir" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/lib/clang/20" "-isysroot" "/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/clang/test/Driver/Inputs/MacOSX15.1.sdk" "-stdlib=libc++" "-internal-isystem" "/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/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-1zsna1lo/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 653a54727eaa18c43447ad686c987db67f1dda74) 
           2: Target: arm64-apple-none-macho 
           3: Thread model: posix 
           4: InstalledDir: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-1zsna1lo/bin 

Hi @ian-twilightcoder and @jroelofs

What about these buildbot failures? I see something similar private bots that we have downstream.

@nico
Copy link
Contributor

nico commented Jan 7, 2025

nico added a commit that referenced this pull request Jan 7, 2025
…directory after internal-externc-isystem when nostdlibinc is used (#120507)"

This reverts commit 653a547.
Breaks tests, see #120507 (comment)
@nico
Copy link
Contributor

nico commented Jan 7, 2025

Reverted in ab5133b for now.

@mikaelholmen
Copy link
Collaborator

Thanks @nico !

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.

7 participants