Skip to content

[clang][DependencyScanning] Dissolve DependencyScannerImpl.h/cpp - #211409

Merged
qiongsiwu merged 1 commit into
users/qiongsiwu/eng_167034309_pr6_tu_via_ciwcfrom
users/qiongsiwu/eng_167034309_pr7_dissolve_impl
Aug 4, 2026
Merged

[clang][DependencyScanning] Dissolve DependencyScannerImpl.h/cpp#211409
qiongsiwu merged 1 commit into
users/qiongsiwu/eng_167034309_pr6_tu_via_ciwcfrom
users/qiongsiwu/eng_167034309_pr7_dissolve_impl

Conversation

@qiongsiwu

Copy link
Copy Markdown
Contributor

DependencyScannerImpl.h/cpp were created to share code between TU scanning and by-name scanning when they were on different code paths. After unifying the implementation through CompilerInstanceWithContext, we no longer need a separate header/cpp pair and all the code are moved into DependencyScanningWorker.cpp. This PR is mechnical and does not intend to introduce behavivor changes.


Stack created with GitHub Stacks CLIGive Feedback 💬

@llvmorg-github-actions

llvmorg-github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown

@llvm/pr-subscribers-clangd

@llvm/pr-subscribers-clang-tools-extra

Author: Qiongsi Wu (qiongsiwu)

Changes

DependencyScannerImpl.h/cpp were created to share code between TU scanning and by-name scanning when they were on different code paths. After unifying the implementation through CompilerInstanceWithContext, we no longer need a separate header/cpp pair and all the code are moved into DependencyScanningWorker.cpp. This PR is mechnical and does not intend to introduce behavivor changes.


<sub>Stack created with <a href="https://github.com/github/gh-stack"&gt;GitHub Stacks CLI</a> • <a href="https://gh.io/stacks-feedback"&gt;Give Feedback 💬</a></sub>


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

9 Files Affected:

  • (modified) clang-tools-extra/clangd/ProjectModules.cpp (+1)
  • (removed) clang/include/clang/DependencyScanning/DependencyScannerImpl.h (-122)
  • (modified) clang/include/clang/DependencyScanning/DependencyScanningUtils.h (-1)
  • (modified) clang/include/clang/DependencyScanning/DependencyScanningWorker.h (+12-2)
  • (modified) clang/include/clang/Tooling/DependencyScanningTool.h (-1)
  • (modified) clang/lib/DependencyScanning/CMakeLists.txt (-1)
  • (removed) clang/lib/DependencyScanning/DependencyScannerImpl.cpp (-678)
  • (modified) clang/lib/DependencyScanning/DependencyScanningWorker.cpp (+671-1)
  • (modified) clang/lib/Tooling/DependencyScanningTool.cpp (-1)
diff --git a/clang-tools-extra/clangd/ProjectModules.cpp b/clang-tools-extra/clangd/ProjectModules.cpp
index 33cbc715e9659..4ea38f4177fe9 100644
--- a/clang-tools-extra/clangd/ProjectModules.cpp
+++ b/clang-tools-extra/clangd/ProjectModules.cpp
@@ -10,6 +10,7 @@
 #include "Compiler.h"
 #include "support/Logger.h"
 #include "clang/DependencyScanning/DependencyScanningService.h"
+#include "clang/Frontend/TextDiagnosticPrinter.h"
 #include "clang/Tooling/DependencyScanningTool.h"
 #include "clang/Tooling/Tooling.h"
 #include "llvm/ADT/SmallString.h"
diff --git a/clang/include/clang/DependencyScanning/DependencyScannerImpl.h b/clang/include/clang/DependencyScanning/DependencyScannerImpl.h
deleted file mode 100644
index 6c77dd936a092..0000000000000
--- a/clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+++ /dev/null
@@ -1,122 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_DEPENDENCYSCANNING_DEPENDENCYSCANNERIMPL_H
-#define LLVM_CLANG_DEPENDENCYSCANNING_DEPENDENCYSCANNERIMPL_H
-
-#include "clang/DependencyScanning/DependencyScanningFilesystem.h"
-#include "clang/DependencyScanning/ModuleDepCollector.h"
-#include "clang/Frontend/CompilerInstance.h"
-#include "clang/Frontend/CompilerInvocation.h"
-#include "clang/Frontend/TextDiagnosticPrinter.h"
-#include "llvm/Support/VirtualFileSystem.h"
-#include <mutex>
-#include <thread>
-
-namespace clang {
-class DiagnosticConsumer;
-
-namespace dependencies {
-class DependencyScanningService;
-class DependencyScanningWorker;
-
-class DependencyConsumer;
-class DependencyActionController;
-class DependencyScanningWorkerFilesystem;
-
-// Helper functions and data types.
-std::unique_ptr<DiagnosticOptions>
-createDiagOptions(ArrayRef<std::string> CommandLine);
-
-struct DiagnosticsEngineWithDiagOpts {
-  // We need to bound the lifetime of the DiagOpts used to create the
-  // DiganosticsEngine with the DiagnosticsEngine itself.
-  std::unique_ptr<DiagnosticOptions> DiagOpts;
-  IntrusiveRefCntPtr<DiagnosticsEngine> DiagEngine;
-
-  DiagnosticsEngineWithDiagOpts(ArrayRef<std::string> CommandLine,
-                                IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS,
-                                DiagnosticConsumer &DC);
-};
-
-std::unique_ptr<CompilerInvocation>
-createCompilerInvocation(ArrayRef<std::string> CommandLine,
-                         DiagnosticsEngine &Diags);
-
-/// Canonicalizes command-line macro defines (e.g. removing "-DX -UX").
-void canonicalizeDefines(PreprocessorOptions &PPOpts);
-
-/// Creates a CompilerInvocation suitable for the dependency scanner.
-std::shared_ptr<CompilerInvocation>
-createScanCompilerInvocation(const CompilerInvocation &Invocation,
-                             const DependencyScanningService &Service,
-                             DependencyActionController &Controller);
-
-/// Creates dependency output options to be reported to the dependency consumer,
-/// deducing missing information if necessary.
-std::unique_ptr<DependencyOutputOptions>
-createDependencyOutputOptions(const CompilerInvocation &Invocation);
-
-void initializeScanCompilerInstance(
-    CompilerInstance &ScanInstance,
-    IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS,
-    DiagnosticConsumer *DiagConsumer, DependencyScanningService &Service,
-    IntrusiveRefCntPtr<DependencyScanningWorkerFilesystem> DepFS);
-
-SmallVector<StringRef>
-getInitialStableDirs(const CompilerInstance &ScanInstance);
-
-std::optional<PrebuiltModulesAttrsMap>
-computePrebuiltModulesASTMap(CompilerInstance &ScanInstance,
-                             SmallVector<StringRef> &StableDirs);
-
-/// Create the dependency collector that will collect the produced
-/// dependencies. May return the created ModuleDepCollector depending
-/// on the scanning format.
-std::shared_ptr<ModuleDepCollector> initializeScanInstanceDependencyCollector(
-    CompilerInstance &ScanInstance,
-    std::unique_ptr<DependencyOutputOptions> DepOutputOpts,
-    DependencyScanningService &Service, CompilerInvocation &Inv,
-    DependencyActionController &Controller,
-    PrebuiltModulesAttrsMap PrebuiltModulesASTMap,
-    SmallVector<StringRef> &StableDirs);
-
-/// Manages (and terminates) the asynchronous compilation of modules.
-class AsyncModuleCompiles {
-  std::mutex Mutex;
-  bool Stop = false;
-  // FIXME: Have the service own a thread pool and use that instead.
-  std::vector<std::thread> Compiles;
-
-public:
-  /// Registers the module compilation, unless this instance is about to be
-  /// destroyed.
-  void add(llvm::unique_function<void()> Compile) {
-    std::lock_guard<std::mutex> Lock(Mutex);
-    if (!Stop)
-      Compiles.emplace_back(std::move(Compile));
-  }
-
-  ~AsyncModuleCompiles() {
-    {
-      std::lock_guard<std::mutex> Lock(Mutex);
-      Stop = true;
-    }
-    for (std::thread &Compile : Compiles)
-      Compile.join();
-  }
-};
-
-void runTUModulePrescan(CompilerInstance &PrescanCI,
-                        DependencyScanningService &Service,
-                        DependencyActionController &Controller,
-                        AsyncModuleCompiles &Compiles);
-} // namespace dependencies
-} // namespace clang
-
-#endif // LLVM_CLANG_DEPENDENCYSCANNING_DEPENDENCYSCANNERIMPL_H
diff --git a/clang/include/clang/DependencyScanning/DependencyScanningUtils.h b/clang/include/clang/DependencyScanning/DependencyScanningUtils.h
index 33f7216762b03..952342d2a322d 100644
--- a/clang/include/clang/DependencyScanning/DependencyScanningUtils.h
+++ b/clang/include/clang/DependencyScanning/DependencyScanningUtils.h
@@ -11,7 +11,6 @@
 
 #include "clang/DependencyScanning/DependencyActionController.h"
 #include "clang/DependencyScanning/DependencyConsumer.h"
-#include "clang/DependencyScanning/DependencyScannerImpl.h"
 #include "clang/DependencyScanning/DependencyScanningWorker.h"
 #include "clang/DependencyScanning/ModuleDepCollector.h"
 #include "llvm/ADT/DenseSet.h"
diff --git a/clang/include/clang/DependencyScanning/DependencyScanningWorker.h b/clang/include/clang/DependencyScanning/DependencyScanningWorker.h
index e30e2280f13af..c71ca63cbd650 100644
--- a/clang/include/clang/DependencyScanning/DependencyScanningWorker.h
+++ b/clang/include/clang/DependencyScanning/DependencyScanningWorker.h
@@ -9,11 +9,10 @@
 #ifndef LLVM_CLANG_DEPENDENCYSCANNING_DEPENDENCYSCANNINGWORKER_H
 #define LLVM_CLANG_DEPENDENCYSCANNING_DEPENDENCYSCANNINGWORKER_H
 
-#include "clang/Basic/AtomicLineLogger.h"
+#include "clang/Basic/Diagnostic.h"
 #include "clang/Basic/DiagnosticOptions.h"
 #include "clang/Basic/FileManager.h"
 #include "clang/Basic/LLVM.h"
-#include "clang/DependencyScanning/DependencyScannerImpl.h"
 #include "clang/DependencyScanning/DependencyScanningService.h"
 #include "clang/DependencyScanning/ModuleDepCollector.h"
 #include "clang/Frontend/PCHContainerOperations.h"
@@ -33,6 +32,17 @@ namespace dependencies {
 class DependencyConsumer;
 class DependencyScanningWorkerFilesystem;
 
+struct DiagnosticsEngineWithDiagOpts {
+  // We need to bound the lifetime of the DiagOpts used to create the
+  // DiganosticsEngine with the DiagnosticsEngine itself.
+  std::unique_ptr<DiagnosticOptions> DiagOpts;
+  IntrusiveRefCntPtr<DiagnosticsEngine> DiagEngine;
+
+  DiagnosticsEngineWithDiagOpts(ArrayRef<std::string> CommandLine,
+                                IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS,
+                                DiagnosticConsumer &DC);
+};
+
 /// An individual dependency scanning worker that is able to run on its own
 /// thread.
 ///
diff --git a/clang/include/clang/Tooling/DependencyScanningTool.h b/clang/include/clang/Tooling/DependencyScanningTool.h
index 0f1f6fb3d6d0e..ae0619e51de54 100644
--- a/clang/include/clang/Tooling/DependencyScanningTool.h
+++ b/clang/include/clang/Tooling/DependencyScanningTool.h
@@ -9,7 +9,6 @@
 #ifndef LLVM_CLANG_TOOLING_DEPENDENCYSCANNINGTOOL_H
 #define LLVM_CLANG_TOOLING_DEPENDENCYSCANNINGTOOL_H
 
-#include "clang/DependencyScanning/DependencyScannerImpl.h"
 #include "clang/DependencyScanning/DependencyScanningService.h"
 #include "clang/DependencyScanning/DependencyScanningUtils.h"
 #include "clang/DependencyScanning/DependencyScanningWorker.h"
diff --git a/clang/lib/DependencyScanning/CMakeLists.txt b/clang/lib/DependencyScanning/CMakeLists.txt
index 015c6bcb12326..88eb6408842f9 100644
--- a/clang/lib/DependencyScanning/CMakeLists.txt
+++ b/clang/lib/DependencyScanning/CMakeLists.txt
@@ -11,7 +11,6 @@ add_clang_library(clangDependencyScanning
   DependencyScanningService.cpp
   DependencyScanningWorker.cpp
   DependencyScanningUtils.cpp
-  DependencyScannerImpl.cpp
   InProcessModuleCache.cpp
   ModuleDepCollector.cpp
 
diff --git a/clang/lib/DependencyScanning/DependencyScannerImpl.cpp b/clang/lib/DependencyScanning/DependencyScannerImpl.cpp
deleted file mode 100644
index 003d0170df41f..0000000000000
--- a/clang/lib/DependencyScanning/DependencyScannerImpl.cpp
+++ /dev/null
@@ -1,678 +0,0 @@
-//===- DependencyScannerImpl.cpp - Implements module dependency scanning --===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "clang/DependencyScanning/DependencyScannerImpl.h"
-#include "clang/Basic/DiagnosticFrontend.h"
-#include "clang/Basic/DiagnosticSerialization.h"
-#include "clang/DependencyScanning/DependencyActionController.h"
-#include "clang/DependencyScanning/DependencyConsumer.h"
-#include "clang/DependencyScanning/DependencyScanningFilesystem.h"
-#include "clang/DependencyScanning/DependencyScanningService.h"
-#include "clang/DependencyScanning/DependencyScanningWorker.h"
-#include "clang/Frontend/FrontendActions.h"
-#include "llvm/ADT/IntrusiveRefCntPtr.h"
-#include "llvm/ADT/ScopeExit.h"
-#include "llvm/Option/Option.h"
-#include "llvm/Support/AdvisoryLock.h"
-#include "llvm/Support/CrashRecoveryContext.h"
-#include "llvm/Support/VirtualFileSystem.h"
-#include "llvm/TargetParser/Host.h"
-
-#include <mutex>
-#include <thread>
-
-using namespace clang;
-using namespace dependencies;
-
-static bool checkHeaderSearchPaths(const HeaderSearchOptions &HSOpts,
-                                   const HeaderSearchOptions &ExistingHSOpts,
-                                   DiagnosticsEngine *Diags,
-                                   const LangOptions &LangOpts) {
-  if (LangOpts.Modules) {
-    if (HSOpts.VFSOverlayFiles != ExistingHSOpts.VFSOverlayFiles) {
-      if (Diags) {
-        Diags->Report(diag::warn_pch_vfsoverlay_mismatch);
-        auto VFSNote = [&](int Type, ArrayRef<std::string> VFSOverlays) {
-          if (VFSOverlays.empty()) {
-            Diags->Report(diag::note_pch_vfsoverlay_empty) << Type;
-          } else {
-            std::string Files = llvm::join(VFSOverlays, "\n");
-            Diags->Report(diag::note_pch_vfsoverlay_files) << Type << Files;
-          }
-        };
-        VFSNote(0, HSOpts.VFSOverlayFiles);
-        VFSNote(1, ExistingHSOpts.VFSOverlayFiles);
-      }
-    }
-  }
-  return false;
-}
-
-namespace {
-
-using PrebuiltModuleFilesT = decltype(HeaderSearchOptions::PrebuiltModuleFiles);
-
-/// A listener that collects the imported modules and the input
-/// files. While visiting, collect vfsoverlays and file inputs that determine
-/// whether prebuilt modules fully resolve in stable directories.
-class PrebuiltModuleListener : public ASTReaderListener {
-public:
-  PrebuiltModuleListener(PrebuiltModuleFilesT &PrebuiltModuleFiles,
-                         llvm::SmallVector<std::string> &NewModuleFiles,
-                         PrebuiltModulesAttrsMap &PrebuiltModulesASTMap,
-                         const HeaderSearchOptions &HSOpts,
-                         const LangOptions &LangOpts, DiagnosticsEngine &Diags,
-                         const ArrayRef<StringRef> StableDirs)
-      : PrebuiltModuleFiles(PrebuiltModuleFiles),
-        NewModuleFiles(NewModuleFiles),
-        PrebuiltModulesASTMap(PrebuiltModulesASTMap), ExistingHSOpts(HSOpts),
-        ExistingLangOpts(LangOpts), Diags(Diags), StableDirs(StableDirs) {}
-
-  bool needsImportVisitation() const override { return true; }
-  bool needsInputFileVisitation() override { return true; }
-  bool needsSystemInputFileVisitation() override { return true; }
-
-  /// Accumulate the modules are transitively depended on by the initial
-  /// prebuilt module.
-  void visitImport(StringRef ModuleName, StringRef Filename) override {
-    if (PrebuiltModuleFiles.insert({ModuleName.str(), Filename.str()}).second)
-      NewModuleFiles.push_back(Filename.str());
-
-    auto PrebuiltMapEntry = PrebuiltModulesASTMap.try_emplace(Filename);
-    PrebuiltModuleASTAttrs &PrebuiltModule = PrebuiltMapEntry.first->second;
-    if (PrebuiltMapEntry.second)
-      PrebuiltModule.setInStableDir(!StableDirs.empty());
-
-    if (auto It = PrebuiltModulesASTMap.find(CurrentFile);
-        It != PrebuiltModulesASTMap.end() && CurrentFile != Filename)
-      PrebuiltModule.addDependent(It->getKey());
-  }
-
-  /// For each input file discovered, check whether it's external path is in a
-  /// stable directory. Traversal is stopped if the current module is not
-  /// considered stable.
-  bool visitInputFileAsRequested(StringRef FilenameAsRequested,
-                                 StringRef Filename, bool isSystem,
-                                 bool isOverridden, time_t StoredTime,
-                                 bool isExplicitModule) override {
-    if (StableDirs.empty())
-      return false;
-    auto PrebuiltEntryIt = PrebuiltModulesASTMap.find(CurrentFile);
-    if ((PrebuiltEntryIt == PrebuiltModulesASTMap.end()) ||
-        (!PrebuiltEntryIt->second.isInStableDir()))
-      return false;
-
-    PrebuiltEntryIt->second.setInStableDir(
-        isPathInStableDir(StableDirs, Filename));
-    return PrebuiltEntryIt->second.isInStableDir();
-  }
-
-  /// Update which module that is being actively traversed.
-  void visitModuleFile(ModuleFileName Filename, serialization::ModuleKind Kind,
-                       bool DirectlyImported) override {
-    // If the CurrentFile is not
-    // considered stable, update any of it's transitive dependents.
-    auto PrebuiltEntryIt = PrebuiltModulesASTMap.find(CurrentFile);
-    if ((PrebuiltEntryIt != PrebuiltModulesASTMap.end()) &&
-        !PrebuiltEntryIt->second.isInStableDir())
-      PrebuiltEntryIt->second.updateDependentsNotInStableDirs(
-          PrebuiltModulesASTMap);
-    CurrentFile = Filename.str();
-  }
-
-  /// Check the header search options for a given module when considering
-  /// if the module comes from stable directories.
-  bool ReadHeaderSearchOptions(const HeaderSearchOptions &HSOpts,
-                               StringRef ModuleFilename, StringRef ContextHash,
-                               bool Complain) override {
-
-    auto PrebuiltMapEntry = PrebuiltModulesASTMap.try_emplace(CurrentFile);
-    PrebuiltModuleASTAttrs &PrebuiltModule = PrebuiltMapEntry.first->second;
-    if (PrebuiltMapEntry.second)
-      PrebuiltModule.setInStableDir(!StableDirs.empty());
-
-    if (PrebuiltModule.isInStableDir())
-      PrebuiltModule.setInStableDir(areOptionsInStableDir(StableDirs, HSOpts));
-
-    return false;
-  }
-
-  /// Accumulate vfsoverlays used to build these prebuilt modules.
-  bool ReadHeaderSearchPaths(const HeaderSearchOptions &HSOpts,
-                             bool Complain) override {
-
-    auto PrebuiltMapEntry = PrebuiltModulesASTMap.try_emplace(CurrentFile);
-    PrebuiltModuleASTAttrs &PrebuiltModule = PrebuiltMapEntry.first->second;
-    if (PrebuiltMapEntry.second)
-      PrebuiltModule.setInStableDir(!StableDirs.empty());
-
-    PrebuiltModule.setVFS(
-        llvm::StringSet<>(llvm::from_range, HSOpts.VFSOverlayFiles));
-
-    return checkHeaderSearchPaths(
-        HSOpts, ExistingHSOpts, Complain ? &Diags : nullptr, ExistingLangOpts);
-  }
-
-private:
-  PrebuiltModuleFilesT &PrebuiltModuleFiles;
-  llvm::SmallVector<std::string> &NewModuleFiles;
-  PrebuiltModulesAttrsMap &PrebuiltModulesASTMap;
-  const HeaderSearchOptions &ExistingHSOpts;
-  const LangOptions &ExistingLangOpts;
-  DiagnosticsEngine &Diags;
-  std::string CurrentFile;
-  const ArrayRef<StringRef> StableDirs;
-};
-
-/// Visit the given prebuilt module and collect all of the modules it
-/// transitively imports and contributing input files.
-static bool visitPrebuiltModule(StringRef PrebuiltModuleFilename,
-                                CompilerInstance &CI,
-                                PrebuiltModuleFilesT &ModuleFiles,
-                                PrebuiltModulesAttrsMap &PrebuiltModulesASTMap,
-                                DiagnosticsEngine &Diags,
-                                const ArrayRef<StringRef> StableDirs) {
-  // List of module files to be processed.
-  llvm::SmallVector<std::string> Worklist;
-
-  PrebuiltModuleListener Listener(ModuleFiles, Worklist, PrebuiltModulesASTMap,
-                                  CI.getHeaderSearchOpts(), CI.getLangOpts(),
-                                  Diags, StableDirs);
-
-  Listener.visitModuleFile(ModuleFileName::makeExplicit(PrebuiltModuleFilename),
-                           serialization::MK_ExplicitModule,
-                           /*DirectlyImported=*/true);
-  if (ASTReader::readASTFileControlBlock(
-          PrebuiltModuleFilename, CI.getFileManager(), CI.getModuleCache(),
-          CI.getPCHContainerReader(),
-          /*FindModuleFileExtensions=*/false, Listener,
-          /*ValidateDiagnosticOptions=*/false, ASTReader::ARR_OutOfDate))
-    return true;
-
-  while (!Worklist.empty()) {
-    // FIXME: This is assuming the PCH only refers to explicitly-built modules,
-    // which technically is not guaranteed. To remove the assumption, we'd need
-    // to also rework how the module files are handled to the scan, specifically
-    // change the values of HeaderSearchOptions::PrebuiltModuleFiles from plain
-    // paths to ModuleFileName.
-    Listener.visitModuleFile(ModuleFileName::makeExplicit(Worklist.back()),
-                             serialization::MK_ExplicitModule,
-                             /*DirectlyImported=*/false);
-    if (ASTReader::readASTFileControlBlock(
-            Worklist.pop_back_val(), CI.getFileManager(), CI.getModuleCache(),
-            CI.getPCHContainerReader(),
-            /*FindModuleFileExtensions=*/false, Listener,
-            /*ValidateDiagnosticOptions=*/false))
-      return true;
-  }
-  return false;
-}
-
-/// Transform arbitrary file name into an object-like file name.
-static std::string makeObjFileName(StringRef FileName) {
-  SmallString<128> ObjFileName(FileName);
-  llvm::sys::path::replace_extension(ObjFileName, "o");
-  return std::string(ObjFileName);
-}
-
-/// Deduce the dependency target based on the output file and input files.
-static std::string
-deduceDepTarget(const std::string &OutputFile,
-                const SmallVectorImpl<FrontendInputFile> &InputFiles) {
-  if (OutputFile != "-")
-    return OutputFile;
-
-  if (InputFiles.empty() || !InputFiles.front().isFile())
-    return "clang-scan-deps\\ dependency";
-
-  return makeObjFileName(InputFiles.front().getFile());
-}
-
-// Clang implements -D and -U by splatting text into a predefines buffer. This
-// allows constructs such as `-DFඞ=3 "-D F\u{0D9E} 4 3 2”` to be accepted and
-// define the same macro, or adding C++ style comments before the macro name.
-//
-// This function checks that the first non-space characters in the macro
-// obviously form an identifier that can be uniqued on without lexing. Failing
-// to do this could lead to changing the final definition of a macro.
-//
-// We could set up a preprocessor and actually lex the name, but that's very
-// heavyweight for a situation that will almost never happen in practice.
-static std::optional<StringRef> getSimpleMacroName(StringRef Macro) {
-  StringRef Name = Macro.split("=").first.ltrim(" \t");
- ...
[truncated]

@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown

🐧 Linux x64 Test Results

  • 121164 tests passed
  • 4977 tests skipped

✅ The build succeeded and all tests passed.

@qiongsiwu
qiongsiwu force-pushed the users/qiongsiwu/eng_167034309_pr7_dissolve_impl branch from f075003 to c2b9dc3 Compare July 23, 2026 16:33
@qiongsiwu
qiongsiwu force-pushed the users/qiongsiwu/eng_167034309_pr7_dissolve_impl branch from c2b9dc3 to 7f6263c Compare July 23, 2026 18:06
@qiongsiwu
qiongsiwu force-pushed the users/qiongsiwu/eng_167034309_pr7_dissolve_impl branch from 7f6263c to 2f68341 Compare July 23, 2026 21:29
@qiongsiwu
qiongsiwu force-pushed the users/qiongsiwu/eng_167034309_pr7_dissolve_impl branch from 2f68341 to 6713742 Compare July 29, 2026 19:37
@qiongsiwu
qiongsiwu force-pushed the users/qiongsiwu/eng_167034309_pr7_dissolve_impl branch from 6713742 to e4f9c70 Compare July 29, 2026 22:16
@qiongsiwu
qiongsiwu force-pushed the users/qiongsiwu/eng_167034309_pr7_dissolve_impl branch from e4f9c70 to 01f4aa9 Compare July 29, 2026 22:19
@qiongsiwu
qiongsiwu force-pushed the users/qiongsiwu/eng_167034309_pr7_dissolve_impl branch from 01f4aa9 to 9e9e37d Compare July 30, 2026 17:07
@qiongsiwu
qiongsiwu force-pushed the users/qiongsiwu/eng_167034309_pr7_dissolve_impl branch 2 times, most recently from 9e9e37d to 136cd43 Compare July 30, 2026 20:19
@qiongsiwu
qiongsiwu force-pushed the users/qiongsiwu/eng_167034309_pr7_dissolve_impl branch 2 times, most recently from e593771 to 308bbda Compare July 30, 2026 21:14
Comment thread clang/include/clang/DependencyScanning/DependencyScanningWorker.h Outdated
@qiongsiwu
qiongsiwu force-pushed the users/qiongsiwu/eng_167034309_pr7_dissolve_impl branch from 308bbda to c2c6041 Compare July 31, 2026 16:16
@qiongsiwu
qiongsiwu force-pushed the users/qiongsiwu/eng_167034309_pr7_dissolve_impl branch from c2c6041 to acea7a4 Compare August 3, 2026 17:30
@qiongsiwu
qiongsiwu requested a review from jansvoboda11 August 3, 2026 17:36
@qiongsiwu
qiongsiwu merged commit 04722a4 into main Aug 4, 2026
12 checks passed
@qiongsiwu
qiongsiwu deleted the users/qiongsiwu/eng_167034309_pr7_dissolve_impl branch August 4, 2026 19:38
googlewalt pushed a commit that referenced this pull request Aug 4, 2026
This fixes 04722a4 (#211409).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=04722a4a32e6fec1897cc3cb5a54809fcd8c9cae

Co-authored-by: Google Bazel Bot <google-bazel-bot@google.com>
@llvm-ci

llvm-ci commented Aug 4, 2026

Copy link
Copy Markdown

LLVM Buildbot has detected a new failure on builder amdgpu-hip-blender running on AMD-bb-w-04 while building clang-tools-extra,clang at step 3 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 3 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/hip-build.sh --jobs=' (failure)
...
[42/95] Building CXX object External/HIP/CMakeFiles/multi_output-1-hip-7.1.1.dir/multi_output.hip.o
[43/95] Building CXX object External/HIP/CMakeFiles/multi_output-3-hip-7.1.1.dir/multi_output.hip.o
[44/95] Building CXX object External/HIP/CMakeFiles/multi_output-2-hip-7.1.1.dir/multi_output.hip.o
[45/95] Building CXX object External/HIP/CMakeFiles/multi_output-6-hip-7.1.1.dir/multi_output.hip.o
[46/95] Building CXX object External/HIP/CMakeFiles/array-hip-7.1.1.dir/array.hip.o
[47/95] Building CXX object External/HIP/CMakeFiles/multi_output-7-hip-7.1.1.dir/multi_output.hip.o
[48/95] Linking CXX executable External/HIP/multi_output-5-hip-7.1.1
[49/95] Building CXX object External/HIP/CMakeFiles/with-fopenmp-hip-7.1.1.dir/with-fopenmp.hip.o
[50/95] Linking CXX executable External/HIP/multi_output-1-hip-7.1.1
[51/95] Linking CXX executable External/HIP/multi_output-3-hip-7.1.1
FAILED: External/HIP/multi_output-3-hip-7.1.1 
: && /home/botworker/bbot/hip-blender/botworker/amdgpu-hip-blender/llvm/bin/clang++ -O3 -DNDEBUG  External/HIP/CMakeFiles/multi_output-3-hip-7.1.1.dir/multi_output.hip.o -o External/HIP/multi_output-3-hip-7.1.1  --rocm-path=/opt/botworker/llvm/External/hip/rocm-7.1.1 --hip-link -rtlib=compiler-rt -unwindlib=libgcc -frtlib-add-rpath && cd /home/botworker/bbot/hip-blender/botworker/amdgpu-hip-blender/test-suite-build/External/HIP && /usr/local/therock-tools/bin/cmake -E create_symlink /home/botworker/bbot/hip-blender/llvm-test-suite/External/HIP/multi_output.reference_output /home/botworker/bbot/hip-blender/botworker/amdgpu-hip-blender/test-suite-build/External/HIP/multi_output.reference_output-hip-7.1.1
CMake Error: failed to create symbolic link '/home/botworker/bbot/hip-blender/botworker/amdgpu-hip-blender/test-suite-build/External/HIP/multi_output.reference_output-hip-7.1.1': File exists
[52/95] Linking CXX executable External/HIP/multi_output-6-hip-7.1.1
[53/95] Building CXX object External/HIP/CMakeFiles/sdivrem23-hip-7.1.1.dir/sdivrem23.hip.o
[54/95] Linking CXX executable External/HIP/multi_output-2-hip-7.1.1
[55/95] Linking CXX executable External/HIP/array-hip-7.1.1
[56/95] Building CXX object External/HIP/CMakeFiles/saxpy-hip-7.1.1.dir/saxpy.hip.o
[57/95] Linking CXX executable External/HIP/multi_output-7-hip-7.1.1
[58/95] Building CXX object External/HIP/CMakeFiles/udivrem24-hip-7.1.1.dir/udivrem24.hip.o
[59/95] Building CXX object External/HIP/CMakeFiles/udivrem23-hip-7.1.1.dir/udivrem23.hip.o
[60/95] Linking CXX executable External/HIP/with-fopenmp-hip-7.1.1
[61/95] Building CXX object External/HIP/CMakeFiles/sdiv64_32-hip-7.1.1.dir/sdiv64_32.hip.o
[62/95] Building CXX object External/HIP/CMakeFiles/fast-i24-div-path-1-hip-7.1.1.dir/fast-i24-div-path.hip.o
[63/95] Building CXX object External/HIP/CMakeFiles/builtin-logb-scalbn-hip-7.1.1.dir/builtin-logb-scalbn.hip.o
[64/95] Building CXX object External/HIP/CMakeFiles/split-kernel-args-hip-7.1.1.dir/split-kernel-args.hip.o
[65/95] Generating complex.hip
[66/95] Building CXX object External/HIP/CMakeFiles/simplify-f64-cmps-hip-7.1.1.dir/simplify-f64-cmps.hip.o
[67/95] Building CXX object External/HIP/CMakeFiles/algorithm-hip-7.1.1.dir/algorithm.hip.o
[68/95] Building CXX object External/HIP/CMakeFiles/new-hip-7.1.1.dir/new.hip.o
[69/95] Building CXX object External/HIP/CMakeFiles/memmove-hip-7.1.1.dir/memmove.hip.o
[70/95] Building CXX object External/HIP/CMakeFiles/InOneWeekend-hip-7.1.1.dir/workload/ray-tracing/InOneWeekend/main.cc.o
[71/95] Building CXX object External/HIP/CMakeFiles/memset-hip-7.1.1.dir/memset.hip.o
[72/95] Generating cmath.hip
[73/95] Generating math_h.hip
[74/95] Building CXX object External/HIP/CMakeFiles/TheNextWeek-hip-7.1.1.dir/workload/ray-tracing/TheNextWeek/main.cc.o
ninja: build stopped: subcommand failed.
Step 11 (Building HIP test-suite) failure: Building HIP test-suite (failure)
...
[42/95] Building CXX object External/HIP/CMakeFiles/multi_output-1-hip-7.1.1.dir/multi_output.hip.o
[43/95] Building CXX object External/HIP/CMakeFiles/multi_output-3-hip-7.1.1.dir/multi_output.hip.o
[44/95] Building CXX object External/HIP/CMakeFiles/multi_output-2-hip-7.1.1.dir/multi_output.hip.o
[45/95] Building CXX object External/HIP/CMakeFiles/multi_output-6-hip-7.1.1.dir/multi_output.hip.o
[46/95] Building CXX object External/HIP/CMakeFiles/array-hip-7.1.1.dir/array.hip.o
[47/95] Building CXX object External/HIP/CMakeFiles/multi_output-7-hip-7.1.1.dir/multi_output.hip.o
[48/95] Linking CXX executable External/HIP/multi_output-5-hip-7.1.1
[49/95] Building CXX object External/HIP/CMakeFiles/with-fopenmp-hip-7.1.1.dir/with-fopenmp.hip.o
[50/95] Linking CXX executable External/HIP/multi_output-1-hip-7.1.1
[51/95] Linking CXX executable External/HIP/multi_output-3-hip-7.1.1
FAILED: External/HIP/multi_output-3-hip-7.1.1 
: && /home/botworker/bbot/hip-blender/botworker/amdgpu-hip-blender/llvm/bin/clang++ -O3 -DNDEBUG  External/HIP/CMakeFiles/multi_output-3-hip-7.1.1.dir/multi_output.hip.o -o External/HIP/multi_output-3-hip-7.1.1  --rocm-path=/opt/botworker/llvm/External/hip/rocm-7.1.1 --hip-link -rtlib=compiler-rt -unwindlib=libgcc -frtlib-add-rpath && cd /home/botworker/bbot/hip-blender/botworker/amdgpu-hip-blender/test-suite-build/External/HIP && /usr/local/therock-tools/bin/cmake -E create_symlink /home/botworker/bbot/hip-blender/llvm-test-suite/External/HIP/multi_output.reference_output /home/botworker/bbot/hip-blender/botworker/amdgpu-hip-blender/test-suite-build/External/HIP/multi_output.reference_output-hip-7.1.1
CMake Error: failed to create symbolic link '/home/botworker/bbot/hip-blender/botworker/amdgpu-hip-blender/test-suite-build/External/HIP/multi_output.reference_output-hip-7.1.1': File exists
[52/95] Linking CXX executable External/HIP/multi_output-6-hip-7.1.1
[53/95] Building CXX object External/HIP/CMakeFiles/sdivrem23-hip-7.1.1.dir/sdivrem23.hip.o
[54/95] Linking CXX executable External/HIP/multi_output-2-hip-7.1.1
[55/95] Linking CXX executable External/HIP/array-hip-7.1.1
[56/95] Building CXX object External/HIP/CMakeFiles/saxpy-hip-7.1.1.dir/saxpy.hip.o
[57/95] Linking CXX executable External/HIP/multi_output-7-hip-7.1.1
[58/95] Building CXX object External/HIP/CMakeFiles/udivrem24-hip-7.1.1.dir/udivrem24.hip.o
[59/95] Building CXX object External/HIP/CMakeFiles/udivrem23-hip-7.1.1.dir/udivrem23.hip.o
[60/95] Linking CXX executable External/HIP/with-fopenmp-hip-7.1.1
[61/95] Building CXX object External/HIP/CMakeFiles/sdiv64_32-hip-7.1.1.dir/sdiv64_32.hip.o
[62/95] Building CXX object External/HIP/CMakeFiles/fast-i24-div-path-1-hip-7.1.1.dir/fast-i24-div-path.hip.o
[63/95] Building CXX object External/HIP/CMakeFiles/builtin-logb-scalbn-hip-7.1.1.dir/builtin-logb-scalbn.hip.o
[64/95] Building CXX object External/HIP/CMakeFiles/split-kernel-args-hip-7.1.1.dir/split-kernel-args.hip.o
[65/95] Generating complex.hip
[66/95] Building CXX object External/HIP/CMakeFiles/simplify-f64-cmps-hip-7.1.1.dir/simplify-f64-cmps.hip.o
[67/95] Building CXX object External/HIP/CMakeFiles/algorithm-hip-7.1.1.dir/algorithm.hip.o
[68/95] Building CXX object External/HIP/CMakeFiles/new-hip-7.1.1.dir/new.hip.o
[69/95] Building CXX object External/HIP/CMakeFiles/memmove-hip-7.1.1.dir/memmove.hip.o
[70/95] Building CXX object External/HIP/CMakeFiles/InOneWeekend-hip-7.1.1.dir/workload/ray-tracing/InOneWeekend/main.cc.o
[71/95] Building CXX object External/HIP/CMakeFiles/memset-hip-7.1.1.dir/memset.hip.o
[72/95] Generating cmath.hip
[73/95] Generating math_h.hip
[74/95] Building CXX object External/HIP/CMakeFiles/TheNextWeek-hip-7.1.1.dir/workload/ray-tracing/TheNextWeek/main.cc.o
ninja: build stopped: subcommand failed.
program finished with exit code 1
elapsedTime=239.128473

@qiongsiwu

Copy link
Copy Markdown
Contributor Author

LLVM Buildbot has detected a new failure on builder amdgpu-hip-blender running on AMD-bb-w-04 while building clang-tools-extra,clang at step 3 "annotate".

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

Here is the relevant piece of the build log for the reference

This looks flaky. The next build succeeded already.

@llvm-ci

llvm-ci commented Aug 4, 2026

Copy link
Copy Markdown

LLVM Buildbot has detected a new failure on builder lldb-aarch64-ubuntu running on linaro-lldb-aarch64-ubuntu while building clang-tools-extra,clang at step 6 "test".

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

Here is the relevant piece of the build log for the reference
Step 6 (test) failure: build (failure)
...
PASS: lldb-api :: terminal/hidden_frame_markers/TestHiddenFrameMarkers.py (1321 of 2704)
PASS: lldb-api :: tools/lldb-dap/breakpoint-events/TestDAP_breakpointEvents.py (1322 of 2704)
PASS: lldb-api :: tools/lldb-dap/attach-commands/TestDAP_attachCommands.py (1323 of 2704)
PASS: lldb-api :: tools/lldb-dap/breakpoint-assembly/TestDAP_breakpointAssembly.py (1324 of 2704)
PASS: lldb-api :: source-manager/TestSourceManager.py (1325 of 2704)
PASS: lldb-api :: tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py (1326 of 2704)
PASS: lldb-api :: tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py (1327 of 2704)
PASS: lldb-api :: tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py (1328 of 2704)
PASS: lldb-api :: python_api/watchpoint/watchlocation/TestSetWatchlocation.py (1329 of 2704)
PASS: lldb-api :: tools/lldb-dap/attach/TestDAP_attach.py (1330 of 2704)
FAIL: lldb-api :: tools/lldb-dap/breakpoint/TestDAP_logpoints.py (1331 of 2704)
******************** TEST 'lldb-api :: tools/lldb-dap/breakpoint/TestDAP_logpoints.py' FAILED ********************
Script:
--
/usr/bin/python3.10 /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/dotest.py -u CXXFLAGS -u CFLAGS --env LLVM_LIBS_DIR=/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./lib --env LLVM_INCLUDE_DIR=/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/include --env LLVM_TOOLS_DIR=/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./bin --triple aarch64-unknown-linux-gnu --build-dir /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/lldb-test-build --lldb-module-cache-dir /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/lldb-test-build/module-cache-lldb/lldb-api --clang-module-cache-dir /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/lldb-test-build/module-cache-clang/lldb-api --executable /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./bin/lldb --lldb-python-dir /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/local/lib/python3.10/dist-packages --compiler /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./bin/clang --dsymutil /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./bin/dsymutil --make /usr/bin/gmake --llvm-tools-dir /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./bin --lldb-obj-root /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/tools/lldb --lldb-libs-dir /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/./lib --cmake-build-type Release /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/tools/lldb-dap/breakpoint -p TestDAP_logpoints.py
--
Exit Code: 1

Command Output (stdout):
--
Skipping the following test categories: libc++, msvcstl, dsym, pdb, gmodules, debugserver, objc

--
Command Output (stderr):
--
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_logMessage_basic (TestDAP_logpoints.TestDAP_logpoints)
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_logmessage_advanced (TestDAP_logpoints.TestDAP_logpoints)
FAIL: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_logmessage_format (TestDAP_logpoints.TestDAP_logpoints)
Log Files:
 - /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/lldb-test-build/tools/lldb-dap/breakpoint/TestDAP_logpoints/Failure_test_logmessage_format.log
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang-aarch64) :: test_logmessage_format_failure (TestDAP_logpoints.TestDAP_logpoints)
======================================================================
FAIL: test_logmessage_format (TestDAP_logpoints.TestDAP_logpoints)
   Tests breakpoint logmessage functionality with format.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_logpoints.py", line 162, in test_logmessage_format
    self.assertEqual(
AssertionError: "This is log message for -- part1\tpart2\[44 chars]11'." != 'This is log message for -- part1\tpart2\x08part3dpart4-1'
- This is log message for -- part1	part2
part3dpart4<error: Ran expression as 'C++11'.
?                                 	                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ---
+ This is log message for -- part1	part2
part3dpart4-1
?                                 	                 ^

Config=aarch64-/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang
----------------------------------------------------------------------
Ran 4 tests in 2.397s

@qiongsiwu

qiongsiwu commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

LLVM Buildbot has detected a new failure on builder lldb-aarch64-ubuntu running on linaro-lldb-aarch64-ubuntu while building clang-tools-extra,clang at step 6 "test".

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

Here is the relevant piece of the build log for the reference

This does not look related either. I will keep an eye on the next few builds.

Update: the next build succeeded. https://lab.llvm.org/buildbot/#/builders/59/builds/36316

@llvm-ci

llvm-ci commented Aug 5, 2026

Copy link
Copy Markdown

LLVM Buildbot has detected a new failure on builder clang-aarch64-sve-vla running on linaro-g3-02 while building clang-tools-extra,clang at step 7 "ninja check 1".

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

Here is the relevant piece of the build log for the reference
Step 7 (ninja check 1) failure: stage 1 checked (failure)
******************** TEST 'HWAddressSanitizer-aarch64 :: TestCases/hwasan_symbolize_stack_overflow.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
rm -rf /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp; mkdir /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp
# executed command: rm -rf /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp
# executed command: mkdir /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp
# RUN: at line 2
/home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/./bin/clang    -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -gline-tables-only -fsanitize=hwaddress -fuse-ld=lld -mllvm -hwasan-globals -mllvm -hwasan-use-short-granules -mllvm -hwasan-instrument-landing-pads=0 -mllvm -hwasan-instrument-personality-functions -Wl,--build-id -g /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp -o /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp/hwasan_overflow
# executed command: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/./bin/clang -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -gline-tables-only -fsanitize=hwaddress -fuse-ld=lld -mllvm -hwasan-globals -mllvm -hwasan-use-short-granules -mllvm -hwasan-instrument-landing-pads=0 -mllvm -hwasan-instrument-personality-functions -Wl,--build-id -g /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp -o /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp/hwasan_overflow
# RUN: at line 3
env HWASAN_OPTIONS=disable_allocator_tagging=1:random_tags=0:fail_without_syscall_abi=0:symbolize=0 not  /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp/hwasan_overflow 16 2>&1 | /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/hwasan_symbolize --symbols /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp --index | FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp --check-prefixes=CHECK,AFTER0
# executed command: env HWASAN_OPTIONS=disable_allocator_tagging=1:random_tags=0:fail_without_syscall_abi=0:symbolize=0 not /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp/hwasan_overflow 16
# executed command: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/hwasan_symbolize --symbols /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp --index
# .---command stderr------------
# | Could not find symbols for lib/aarch64-linux-gnu/libc.so.6 (Build ID: 9f32d43c341bff10b9e7196738eedcfc4f3cc36c)
# `-----------------------------
# executed command: FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp --check-prefixes=CHECK,AFTER0
# RUN: at line 4
env HWASAN_OPTIONS=disable_allocator_tagging=1:random_tags=0:fail_without_syscall_abi=0:symbolize=0 not  /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp/hwasan_overflow 17 2>&1 | /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/hwasan_symbolize --symbols /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp --index | FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp --check-prefixes=CHECK,AFTER1
# executed command: env HWASAN_OPTIONS=disable_allocator_tagging=1:random_tags=0:fail_without_syscall_abi=0:symbolize=0 not /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp/hwasan_overflow 17
# executed command: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/hwasan_symbolize --symbols /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp --index
# .---command stderr------------
# | Could not find symbols for lib/aarch64-linux-gnu/libc.so.6 (Build ID: 9f32d43c341bff10b9e7196738eedcfc4f3cc36c)
# `-----------------------------
# executed command: FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp --check-prefixes=CHECK,AFTER1
# RUN: at line 5
env HWASAN_OPTIONS=disable_allocator_tagging=1:random_tags=0:fail_without_syscall_abi=0:symbolize=0 not  /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp/hwasan_overflow -1 2>&1 | /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/hwasan_symbolize --symbols /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp --index | FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp --check-prefixes=CHECK,BEFORE1
# executed command: env HWASAN_OPTIONS=disable_allocator_tagging=1:random_tags=0:fail_without_syscall_abi=0:symbolize=0 not /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp/hwasan_overflow -1
# executed command: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/hwasan_symbolize --symbols /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp --index
# .---command stderr------------
# | Could not find symbols for lib/aarch64-linux-gnu/libc.so.6 (Build ID: 9f32d43c341bff10b9e7196738eedcfc4f3cc36c)
# `-----------------------------
# executed command: FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp --check-prefixes=CHECK,BEFORE1
# RUN: at line 6
env HWASAN_OPTIONS=disable_allocator_tagging=1:random_tags=0:fail_without_syscall_abi=0:symbolize=0 not  /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp/hwasan_overflow -17 2>&1 | /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/hwasan_symbolize --symbols /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp --index | FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp --check-prefixes=CHECK,BEFORE17
# executed command: env HWASAN_OPTIONS=disable_allocator_tagging=1:random_tags=0:fail_without_syscall_abi=0:symbolize=0 not /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp/hwasan_overflow -17
# executed command: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/hwasan_symbolize --symbols /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp --index
# .---command stderr------------
# | Could not find symbols for lib/aarch64-linux-gnu/libc.so.6 (Build ID: 9f32d43c341bff10b9e7196738eedcfc4f3cc36c)
# `-----------------------------
# executed command: FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp --check-prefixes=CHECK,BEFORE17
# RUN: at line 7
env HWASAN_OPTIONS=disable_allocator_tagging=1:random_tags=0:fail_without_syscall_abi=0:symbolize=0 not  /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp/hwasan_overflow 1016 2>&1 | /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/hwasan_symbolize --symbols /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp --index | FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp --check-prefixes=CHECK,AFTER1000
# executed command: env HWASAN_OPTIONS=disable_allocator_tagging=1:random_tags=0:fail_without_syscall_abi=0:symbolize=0 not /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp/hwasan_overflow 1016
# executed command: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/hwasan_symbolize --symbols /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/hwasan/AARCH64/TestCases/Output/hwasan_symbolize_stack_overflow.cpp.tmp --index
# .---command stderr------------
# | Could not find symbols for lib/aarch64-linux-gnu/libc.so.6 (Build ID: 9f32d43c341bff10b9e7196738eedcfc4f3cc36c)
...

@qiongsiwu

Copy link
Copy Markdown
Contributor Author

LLVM Buildbot has detected a new failure on builder clang-aarch64-sve-vla running on linaro-g3-02 while building clang-tools-extra,clang at step 7 "ninja check 1".

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

Here is the relevant piece of the build log for the reference

Failure also disappeared in the next build https://lab.llvm.org/buildbot/#/builders/17/builds/16759.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants