Skip to content

Conversation

fmayer
Copy link
Contributor

@fmayer fmayer commented Oct 18, 2025

Reverts #162932

Failed Tests (1): Clang-Unit :: ./AllClangUnitTests/failed_to_discover_tests_from_gtest 
@llvmbot llvmbot added clang Clang issues not falling into any other category clang:dataflow Clang Dataflow Analysis framework - https://clang.llvm.org/docs/DataFlowAnalysisIntro.html clang:analysis labels Oct 18, 2025
@fmayer fmayer enabled auto-merge (squash) October 18, 2025 01:45
@llvmbot
Copy link
Member

llvmbot commented Oct 18, 2025

@llvm/pr-subscribers-clang

@llvm/pr-subscribers-clang-analysis

Author: Florian Mayer (fmayer)

Changes

Reverts llvm/llvm-project#162932

Failed Tests (1): Clang-Unit :: ./AllClangUnitTests/failed_to_discover_tests_from_gtest 

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

9 Files Affected:

  • (removed) clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h (-112)
  • (modified) clang/lib/Analysis/FlowSensitive/Models/CMakeLists.txt (-1)
  • (removed) clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp (-295)
  • (modified) clang/unittests/Analysis/FlowSensitive/CMakeLists.txt (-2)
  • (removed) clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTest.cpp (-34)
  • (removed) clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp (-2518)
  • (removed) clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.h (-157)
  • (modified) llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/Models/BUILD.gn (-1)
  • (modified) llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn (-2)
diff --git a/clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h b/clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h deleted file mode 100644 index cb619fb0cb5bb..0000000000000 --- a/clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h +++ /dev/null @@ -1,112 +0,0 @@ -//===- UncheckedStatusOrAccessModel.h -------------------------------------===// -// -// 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 CLANG_ANALYSIS_FLOWSENSITIVE_MODELS_UNCHECKEDSTATUSORACCESSMODEL_H -#define CLANG_ANALYSIS_FLOWSENSITIVE_MODELS_UNCHECKEDSTATUSORACCESSMODEL_H - -#include "clang/AST/Type.h" -#include "clang/ASTMatchers/ASTMatchers.h" -#include "clang/Analysis/CFG.h" -#include "clang/Analysis/FlowSensitive/CFGMatchSwitch.h" -#include "clang/Analysis/FlowSensitive/DataflowAnalysis.h" -#include "clang/Analysis/FlowSensitive/DataflowEnvironment.h" -#include "clang/Analysis/FlowSensitive/MatchSwitch.h" -#include "clang/Analysis/FlowSensitive/NoopLattice.h" -#include "clang/Analysis/FlowSensitive/StorageLocation.h" -#include "clang/Analysis/FlowSensitive/Value.h" -#include "clang/Basic/SourceLocation.h" -#include "llvm/ADT/SmallVector.h" -#include "llvm/ADT/StringMap.h" -#include "llvm/ADT/StringRef.h" - -namespace clang::dataflow::statusor_model { - -// The helper functions exported here are for use of downstream vendor -// extensions of this model. - -// Match declaration of `absl::StatusOr<T>` and bind `T` to "T". -clang::ast_matchers::DeclarationMatcher statusOrClass(); -// Match declaration of `absl::Status`. -clang::ast_matchers::DeclarationMatcher statusClass(); -// Match declaration of `absl::internal_statusor::OperatorBase`. -clang::ast_matchers::DeclarationMatcher statusOrOperatorBaseClass(); -clang::ast_matchers::TypeMatcher statusOrType(); - -// Get RecordStorageLocation for the `Status` contained in the `StatusOr` -RecordStorageLocation &locForStatus(RecordStorageLocation &StatusOrLoc); -// Get the StorageLocation for the OK boolean in the `Status` -StorageLocation &locForOk(RecordStorageLocation &StatusLoc); -// Get the OK boolean in the `Status`, and initialize it if necessary. -BoolValue &valForOk(RecordStorageLocation &StatusLoc, Environment &Env); -// Get synthetic fields for the types modelled by -// `UncheckedStatusOrAccessModel`. -llvm::StringMap<QualType> getSyntheticFields(QualType Ty, QualType StatusType, - const CXXRecordDecl &RD); - -// Initialize the synthetic fields of the `StatusOr`. -// N.B. if it is already initialized, the value gets reset. -BoolValue &initializeStatusOr(RecordStorageLocation &StatusOrLoc, - Environment &Env); -// Initialize the synthetic fields of the `Status`. -// N.B. if it is already initialized, the value gets reset. -BoolValue &initializeStatus(RecordStorageLocation &StatusLoc, Environment &Env); - -bool isRecordTypeWithName(QualType Type, llvm::StringRef TypeName); -// Return true if `Type` is instantiation of `absl::StatusOr<T>` -bool isStatusOrType(QualType Type); -// Return true if `Type` is `absl::Status` -bool isStatusType(QualType Type); - -// Get `QualType` for `absl::Status`, or default-constructed -// QualType if it does not exist. -QualType findStatusType(const ASTContext &Ctx); - -struct UncheckedStatusOrAccessModelOptions {}; - -// Dataflow analysis that discovers unsafe uses of StatusOr values. -class UncheckedStatusOrAccessModel - : public DataflowAnalysis<UncheckedStatusOrAccessModel, NoopLattice> { -public: - explicit UncheckedStatusOrAccessModel(ASTContext &Ctx, Environment &Env); - - static Lattice initialElement() { return {}; } - - void transfer(const CFGElement &Elt, Lattice &L, Environment &Env); - -private: - CFGMatchSwitch<TransferState<Lattice>> TransferMatchSwitch; -}; - -using LatticeTransferState = - TransferState<UncheckedStatusOrAccessModel::Lattice>; - -// Extend the Builder with the transfer functions for -// `UncheckedStatusOrAccessModel`. This is useful to write downstream models -// that extend the model. -CFGMatchSwitch<LatticeTransferState> -buildTransferMatchSwitch(ASTContext &Ctx, - CFGMatchSwitchBuilder<LatticeTransferState> Builder); - -class UncheckedStatusOrAccessDiagnoser { -public: - explicit UncheckedStatusOrAccessDiagnoser( - UncheckedStatusOrAccessModelOptions Options = {}); - - llvm::SmallVector<SourceLocation> operator()( - const CFGElement &Elt, ASTContext &Ctx, - const TransferStateForDiagnostics<UncheckedStatusOrAccessModel::Lattice> - &State); - -private: - CFGMatchSwitch<const Environment, llvm::SmallVector<SourceLocation>> - DiagnoseMatchSwitch; -}; - -} // namespace clang::dataflow::statusor_model - -#endif // CLANG_ANALYSIS_FLOWSENSITIVE_MODELS_UNCHECKEDSTATUSORACCESSMODEL_H diff --git a/clang/lib/Analysis/FlowSensitive/Models/CMakeLists.txt b/clang/lib/Analysis/FlowSensitive/Models/CMakeLists.txt index d1236f5714881..89bbe8791eb2c 100644 --- a/clang/lib/Analysis/FlowSensitive/Models/CMakeLists.txt +++ b/clang/lib/Analysis/FlowSensitive/Models/CMakeLists.txt @@ -1,7 +1,6 @@ add_clang_library(clangAnalysisFlowSensitiveModels ChromiumCheckModel.cpp UncheckedOptionalAccessModel.cpp - UncheckedStatusOrAccessModel.cpp LINK_LIBS clangAnalysis diff --git a/clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp b/clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp deleted file mode 100644 index 75b0959491c22..0000000000000 --- a/clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp +++ /dev/null @@ -1,295 +0,0 @@ -//===- UncheckedStatusOrAccessModel.cpp -----------------------------------===// -// -// 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/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h" - -#include <cassert> -#include <utility> - -#include "clang/AST/DeclCXX.h" -#include "clang/AST/DeclTemplate.h" -#include "clang/AST/Expr.h" -#include "clang/AST/ExprCXX.h" -#include "clang/AST/TypeBase.h" -#include "clang/ASTMatchers/ASTMatchFinder.h" -#include "clang/ASTMatchers/ASTMatchers.h" -#include "clang/ASTMatchers/ASTMatchersInternal.h" -#include "clang/Analysis/CFG.h" -#include "clang/Analysis/FlowSensitive/CFGMatchSwitch.h" -#include "clang/Analysis/FlowSensitive/DataflowAnalysis.h" -#include "clang/Analysis/FlowSensitive/DataflowEnvironment.h" -#include "clang/Analysis/FlowSensitive/MatchSwitch.h" -#include "clang/Analysis/FlowSensitive/StorageLocation.h" -#include "clang/Analysis/FlowSensitive/Value.h" -#include "clang/Basic/LLVM.h" -#include "clang/Basic/SourceLocation.h" -#include "llvm/ADT/StringMap.h" - -namespace clang::dataflow::statusor_model { -namespace { - -using ::clang::ast_matchers::MatchFinder; -using ::clang::ast_matchers::StatementMatcher; - -} // namespace - -static bool namespaceEquals(const NamespaceDecl *NS, - clang::ArrayRef<clang::StringRef> NamespaceNames) { - while (!NamespaceNames.empty() && NS) { - if (NS->getName() != NamespaceNames.consume_back()) - return false; - NS = dyn_cast_or_null<NamespaceDecl>(NS->getParent()); - } - return NamespaceNames.empty() && !NS; -} - -// TODO: move this to a proper place to share with the rest of clang -static bool isTypeNamed(QualType Type, clang::ArrayRef<clang::StringRef> NS, - StringRef Name) { - if (Type.isNull()) - return false; - if (auto *RD = Type->getAsRecordDecl()) - if (RD->getName() == Name) - if (const auto *N = dyn_cast_or_null<NamespaceDecl>(RD->getDeclContext())) - return namespaceEquals(N, NS); - return false; -} - -static bool isStatusOrOperatorBaseType(QualType Type) { - return isTypeNamed(Type, {"absl", "internal_statusor"}, "OperatorBase"); -} - -static bool isSafeUnwrap(RecordStorageLocation *StatusOrLoc, - const Environment &Env) { - if (!StatusOrLoc) - return false; - auto &StatusLoc = locForStatus(*StatusOrLoc); - auto *OkVal = Env.get<BoolValue>(locForOk(StatusLoc)); - return OkVal != nullptr && Env.proves(OkVal->formula()); -} - -static ClassTemplateSpecializationDecl * -getStatusOrBaseClass(const QualType &Ty) { - auto *RD = Ty->getAsCXXRecordDecl(); - if (RD == nullptr) - return nullptr; - if (isStatusOrType(Ty) || - // In case we are analyzing code under OperatorBase itself that uses - // operator* (e.g. to implement operator->). - isStatusOrOperatorBaseType(Ty)) - return cast<ClassTemplateSpecializationDecl>(RD); - if (!RD->hasDefinition()) - return nullptr; - for (const auto &Base : RD->bases()) - if (auto *QT = getStatusOrBaseClass(Base.getType())) - return QT; - return nullptr; -} - -static QualType getStatusOrValueType(ClassTemplateSpecializationDecl *TRD) { - return TRD->getTemplateArgs().get(0).getAsType(); -} - -static auto isStatusOrMemberCallWithName(llvm::StringRef member_name) { - using namespace ::clang::ast_matchers; // NOLINT: Too many names - return cxxMemberCallExpr( - on(expr(unless(cxxThisExpr()))), - callee(cxxMethodDecl( - hasName(member_name), - ofClass(anyOf(statusOrClass(), statusOrOperatorBaseClass()))))); -} - -static auto isStatusOrOperatorCallWithName(llvm::StringRef operator_name) { - using namespace ::clang::ast_matchers; // NOLINT: Too many names - return cxxOperatorCallExpr( - hasOverloadedOperatorName(operator_name), - callee(cxxMethodDecl( - ofClass(anyOf(statusOrClass(), statusOrOperatorBaseClass()))))); -} - -static auto valueCall() { - using namespace ::clang::ast_matchers; // NOLINT: Too many names - return anyOf(isStatusOrMemberCallWithName("value"), - isStatusOrMemberCallWithName("ValueOrDie")); -} - -static auto valueOperatorCall() { - using namespace ::clang::ast_matchers; // NOLINT: Too many names - return expr(anyOf(isStatusOrOperatorCallWithName("*"), - isStatusOrOperatorCallWithName("->"))); -} - -static auto -buildDiagnoseMatchSwitch(const UncheckedStatusOrAccessModelOptions &Options) { - return CFGMatchSwitchBuilder<const Environment, - llvm::SmallVector<SourceLocation>>() - // StatusOr::value, StatusOr::ValueOrDie - .CaseOfCFGStmt<CXXMemberCallExpr>( - valueCall(), - [](const CXXMemberCallExpr *E, - const ast_matchers::MatchFinder::MatchResult &, - const Environment &Env) { - if (!isSafeUnwrap(getImplicitObjectLocation(*E, Env), Env)) - return llvm::SmallVector<SourceLocation>({E->getExprLoc()}); - return llvm::SmallVector<SourceLocation>(); - }) - - // StatusOr::operator*, StatusOr::operator-> - .CaseOfCFGStmt<CXXOperatorCallExpr>( - valueOperatorCall(), - [](const CXXOperatorCallExpr *E, - const ast_matchers::MatchFinder::MatchResult &, - const Environment &Env) { - RecordStorageLocation *StatusOrLoc = - Env.get<RecordStorageLocation>(*E->getArg(0)); - if (!isSafeUnwrap(StatusOrLoc, Env)) - return llvm::SmallVector<SourceLocation>({E->getOperatorLoc()}); - return llvm::SmallVector<SourceLocation>(); - }) - .Build(); -} - -UncheckedStatusOrAccessDiagnoser::UncheckedStatusOrAccessDiagnoser( - UncheckedStatusOrAccessModelOptions Options) - : DiagnoseMatchSwitch(buildDiagnoseMatchSwitch(Options)) {} - -llvm::SmallVector<SourceLocation> UncheckedStatusOrAccessDiagnoser::operator()( - const CFGElement &Elt, ASTContext &Ctx, - const TransferStateForDiagnostics<UncheckedStatusOrAccessModel::Lattice> - &State) { - return DiagnoseMatchSwitch(Elt, Ctx, State.Env); -} - -BoolValue &initializeStatus(RecordStorageLocation &StatusLoc, - Environment &Env) { - auto &OkVal = Env.makeAtomicBoolValue(); - Env.setValue(locForOk(StatusLoc), OkVal); - return OkVal; -} - -BoolValue &initializeStatusOr(RecordStorageLocation &StatusOrLoc, - Environment &Env) { - return initializeStatus(locForStatus(StatusOrLoc), Env); -} - -clang::ast_matchers::DeclarationMatcher statusOrClass() { - using namespace ::clang::ast_matchers; // NOLINT: Too many names - return classTemplateSpecializationDecl( - hasName("absl::StatusOr"), - hasTemplateArgument(0, refersToType(type().bind("T")))); -} - -clang::ast_matchers::DeclarationMatcher statusClass() { - using namespace ::clang::ast_matchers; // NOLINT: Too many names - return cxxRecordDecl(hasName("absl::Status")); -} - -clang::ast_matchers::DeclarationMatcher statusOrOperatorBaseClass() { - using namespace ::clang::ast_matchers; // NOLINT: Too many names - return classTemplateSpecializationDecl( - hasName("absl::internal_statusor::OperatorBase")); -} - -clang::ast_matchers::TypeMatcher statusOrType() { - using namespace ::clang::ast_matchers; // NOLINT: Too many names - return hasCanonicalType(qualType(hasDeclaration(statusOrClass()))); -} - -bool isRecordTypeWithName(QualType Type, llvm::StringRef TypeName) { - return Type->isRecordType() && - Type->getAsCXXRecordDecl()->getQualifiedNameAsString() == TypeName; -} - -bool isStatusOrType(QualType Type) { - return isTypeNamed(Type, {"absl"}, "StatusOr"); -} - -bool isStatusType(QualType Type) { - return isTypeNamed(Type, {"absl"}, "Status"); -} - -llvm::StringMap<QualType> getSyntheticFields(QualType Ty, QualType StatusType, - const CXXRecordDecl &RD) { - if (auto *TRD = getStatusOrBaseClass(Ty)) - return {{"status", StatusType}, {"value", getStatusOrValueType(TRD)}}; - if (isStatusType(Ty) || (RD.hasDefinition() && - RD.isDerivedFrom(StatusType->getAsCXXRecordDecl()))) - return {{"ok", RD.getASTContext().BoolTy}}; - return {}; -} - -RecordStorageLocation &locForStatus(RecordStorageLocation &StatusOrLoc) { - return cast<RecordStorageLocation>(StatusOrLoc.getSyntheticField("status")); -} - -StorageLocation &locForOk(RecordStorageLocation &StatusLoc) { - return StatusLoc.getSyntheticField("ok"); -} - -BoolValue &valForOk(RecordStorageLocation &StatusLoc, Environment &Env) { - if (auto *Val = Env.get<BoolValue>(locForOk(StatusLoc))) - return *Val; - return initializeStatus(StatusLoc, Env); -} - -static void transferStatusOrOkCall(const CXXMemberCallExpr *Expr, - const MatchFinder::MatchResult &, - LatticeTransferState &State) { - RecordStorageLocation *StatusOrLoc = - getImplicitObjectLocation(*Expr, State.Env); - if (StatusOrLoc == nullptr) - return; - - auto &OkVal = valForOk(locForStatus(*StatusOrLoc), State.Env); - State.Env.setValue(*Expr, OkVal); -} - -CFGMatchSwitch<LatticeTransferState> -buildTransferMatchSwitch(ASTContext &Ctx, - CFGMatchSwitchBuilder<LatticeTransferState> Builder) { - using namespace ::clang::ast_matchers; // NOLINT: Too many names - return std::move(Builder) - .CaseOfCFGStmt<CXXMemberCallExpr>(isStatusOrMemberCallWithName("ok"), - transferStatusOrOkCall) - .Build(); -} - -QualType findStatusType(const ASTContext &Ctx) { - for (Type *Ty : Ctx.getTypes()) - if (isStatusType(QualType(Ty, 0))) - return QualType(Ty, 0); - - return QualType(); -} - -UncheckedStatusOrAccessModel::UncheckedStatusOrAccessModel(ASTContext &Ctx, - Environment &Env) - : DataflowAnalysis<UncheckedStatusOrAccessModel, - UncheckedStatusOrAccessModel::Lattice>(Ctx), - TransferMatchSwitch(buildTransferMatchSwitch(Ctx, {})) { - QualType StatusType = findStatusType(Ctx); - Env.getDataflowAnalysisContext().setSyntheticFieldCallback( - [StatusType](QualType Ty) -> llvm::StringMap<QualType> { - CXXRecordDecl *RD = Ty->getAsCXXRecordDecl(); - if (RD == nullptr) - return {}; - - if (auto Fields = getSyntheticFields(Ty, StatusType, *RD); - !Fields.empty()) - return Fields; - return {}; - }); -} - -void UncheckedStatusOrAccessModel::transfer(const CFGElement &Elt, Lattice &L, - Environment &Env) { - LatticeTransferState State(L, Env); - TransferMatchSwitch(Elt, getASTContext(), State); -} - -} // namespace clang::dataflow::statusor_model diff --git a/clang/unittests/Analysis/FlowSensitive/CMakeLists.txt b/clang/unittests/Analysis/FlowSensitive/CMakeLists.txt index 1d932ec6e8a96..35082387b46e9 100644 --- a/clang/unittests/Analysis/FlowSensitive/CMakeLists.txt +++ b/clang/unittests/Analysis/FlowSensitive/CMakeLists.txt @@ -25,8 +25,6 @@ add_clang_unittest(ClangAnalysisFlowSensitiveTests TransferTest.cpp TypeErasedDataflowAnalysisTest.cpp UncheckedOptionalAccessModelTest.cpp - UncheckedStatusOrAccessModelTest.cpp - UncheckedStatusOrAccessModelTestFixture.cpp ValueTest.cpp WatchedLiteralsSolverTest.cpp CLANG_LIBS diff --git a/clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTest.cpp b/clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTest.cpp deleted file mode 100644 index 07d3f2412e842..0000000000000 --- a/clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTest.cpp +++ /dev/null @@ -1,34 +0,0 @@ -//===- UncheckedStatusOrAccessModelTest.cpp -------------------------------===// -// -// 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 <utility> - -#include "UncheckedStatusOrAccessModelTestFixture.h" -#include "clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h" -#include "gtest/gtest.h" - -namespace clang::dataflow::statusor_model { -namespace { - -INSTANTIATE_TEST_SUITE_P( - UncheckedStatusOrAccessModelTest, UncheckedStatusOrAccessModelTest, - testing::Values( - std::make_pair(new UncheckedStatusOrAccessModelTestExecutor< - UncheckedStatusOrAccessModel>(), - UncheckedStatusOrAccessModelTestAliasKind::kUnaliased), - std::make_pair( - new UncheckedStatusOrAccessModelTestExecutor< - UncheckedStatusOrAccessModel>(), - UncheckedStatusOrAccessModelTestAliasKind::kPartiallyAliased), - std::make_pair( - new UncheckedStatusOrAccessModelTestExecutor< - UncheckedStatusOrAccessModel>(), - UncheckedStatusOrAccessModelTestAliasKind::kFullyAliased))); -} // namespace - -} // namespace clang::dataflow::statusor_model diff --git a/clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp b/clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp deleted file mode 100644 index 4827cc1d0a7e9..0000000000000 --- a/clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp +++ /dev/null @@ -1,2518 +0,0 @@ -//===- UncheckedStatusOrAccessModelTestFixture.cpp ------------------------===// -// -// 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 "UncheckedStatusOrAccessModelTestFixture.h" -#include "MockHeaders.h" -#include "llvm/Support/ErrorHandling.h" - -#include <string> -#include <utility> -#include <vector> - -#include "gtest/gtest.h" - -namespace clang::dataflow::statusor_model { -namespace { - -TE... [truncated] 
@fmayer fmayer merged commit eed8d3a into main Oct 18, 2025
13 of 14 checks passed
@fmayer fmayer deleted the revert-162932-users/fmayer/spr/flowsensitive-statusor-1n-add-minimal-model branch October 18, 2025 02:07
@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 18, 2025

LLVM Buildbot has detected a new failure on builder flang-x86_64-windows running on minipc-ryzen-win while building clang,llvm at step 7 "test-build-unified-tree-check-flang".

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

Here is the relevant piece of the build log for the reference
Step 7 (test-build-unified-tree-check-flang) failure: test (failure) ... 3.472 [208/6/43] Linking CXX executable tools\flang\unittests\Evaluate\real.test.exe 3.505 [208/5/44] Building LinalgInterfaces.h.inc... 3.815 [48/6/45] Building CXX object tools\flang\unittests\Frontend\CMakeFiles\FlangFrontendTests.dir\CodeGenActionTest.cpp.obj 3.935 [47/6/46] Linking CXX executable tools\flang\unittests\Evaluate\expression.test.exe 4.002 [46/6/47] Linking CXX executable tools\flang\unittests\Evaluate\intrinsics.test.exe 4.085 [45/6/48] Building CXX object tools\flang\unittests\Frontend\CMakeFiles\FlangFrontendTests.dir\CompilerInstanceTest.cpp.obj 4.190 [44/6/49] Building CXX object tools\flang\unittests\Frontend\CMakeFiles\FlangFrontendTests.dir\FrontendActionTest.cpp.obj 4.301 [43/6/50] Linking CXX executable bin\llvm-objdump.exe 4.619 [43/5/51] Linking CXX executable tools\flang\unittests\Evaluate\folding.test.exe 41.022 [43/4/52] Building CXX object tools\flang\unittests\Optimizer\CMakeFiles\FlangOptimizerTests.dir\Builder\CharacterTest.cpp.obj FAILED: [code=2] tools/flang/unittests/Optimizer/CMakeFiles/FlangOptimizerTests.dir/Builder/CharacterTest.cpp.obj ccache C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe /nologo /TP -DFLANG_INCLUDE_TESTS=1 -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\buildbot\flang-x86_64-windows\build\tools\flang\unittests\Optimizer -IC:\buildbot\flang-x86_64-windows\llvm-project\flang\unittests\Optimizer -IC:\buildbot\flang-x86_64-windows\llvm-project\flang\include -IC:\buildbot\flang-x86_64-windows\build\tools\flang\include -IC:\buildbot\flang-x86_64-windows\build\include -IC:\buildbot\flang-x86_64-windows\llvm-project\llvm\include -IC:\buildbot\flang-x86_64-windows\llvm-project\third-party\unittest\googletest\include -IC:\buildbot\flang-x86_64-windows\llvm-project\third-party\unittest\googlemock\include -external:IC:\buildbot\flang-x86_64-windows\llvm-project\flang\..\mlir\include -external:IC:\buildbot\flang-x86_64-windows\build\tools\mlir\include -external:IC:\buildbot\flang-x86_64-windows\build\tools\clang\include -external:IC:\buildbot\flang-x86_64-windows\llvm-project\llvm\..\clang\include -external:W0 /DWIN32 /D_WINDOWS /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /O2 /Ob2 -std:c++17 -MD /EHs-c- /GR- -UNDEBUG /showIncludes /Fotools\flang\unittests\Optimizer\CMakeFiles\FlangOptimizerTests.dir\Builder\CharacterTest.cpp.obj /Fdtools\flang\unittests\Optimizer\CMakeFiles\FlangOptimizerTests.dir\ /FS -c C:\buildbot\flang-x86_64-windows\llvm-project\flang\unittests\Optimizer\Builder\CharacterTest.cpp tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2143: syntax error: missing ';' before '?' tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2059: syntax error: '?' 41.359 [43/3/53] Building CXX object tools\flang\unittests\Optimizer\CMakeFiles\FlangOptimizerTests.dir\Builder\DoLoopHelperTest.cpp.obj FAILED: [code=2] tools/flang/unittests/Optimizer/CMakeFiles/FlangOptimizerTests.dir/Builder/DoLoopHelperTest.cpp.obj ccache C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe /nologo /TP -DFLANG_INCLUDE_TESTS=1 -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\buildbot\flang-x86_64-windows\build\tools\flang\unittests\Optimizer -IC:\buildbot\flang-x86_64-windows\llvm-project\flang\unittests\Optimizer -IC:\buildbot\flang-x86_64-windows\llvm-project\flang\include -IC:\buildbot\flang-x86_64-windows\build\tools\flang\include -IC:\buildbot\flang-x86_64-windows\build\include -IC:\buildbot\flang-x86_64-windows\llvm-project\llvm\include -IC:\buildbot\flang-x86_64-windows\llvm-project\third-party\unittest\googletest\include -IC:\buildbot\flang-x86_64-windows\llvm-project\third-party\unittest\googlemock\include -external:IC:\buildbot\flang-x86_64-windows\llvm-project\flang\..\mlir\include -external:IC:\buildbot\flang-x86_64-windows\build\tools\mlir\include -external:IC:\buildbot\flang-x86_64-windows\build\tools\clang\include -external:IC:\buildbot\flang-x86_64-windows\llvm-project\llvm\..\clang\include -external:W0 /DWIN32 /D_WINDOWS /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /O2 /Ob2 -std:c++17 -MD /EHs-c- /GR- -UNDEBUG /showIncludes /Fotools\flang\unittests\Optimizer\CMakeFiles\FlangOptimizerTests.dir\Builder\DoLoopHelperTest.cpp.obj /Fdtools\flang\unittests\Optimizer\CMakeFiles\FlangOptimizerTests.dir\ /FS -c C:\buildbot\flang-x86_64-windows\llvm-project\flang\unittests\Optimizer\Builder\DoLoopHelperTest.cpp tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2143: syntax error: missing ';' before '?' tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2059: syntax error: '?' 41.415 [43/2/54] Building CXX object tools\flang\unittests\Optimizer\CMakeFiles\FlangOptimizerTests.dir\Builder\ComplexTest.cpp.obj FAILED: [code=2] tools/flang/unittests/Optimizer/CMakeFiles/FlangOptimizerTests.dir/Builder/ComplexTest.cpp.obj ccache C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe /nologo /TP -DFLANG_INCLUDE_TESTS=1 -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\buildbot\flang-x86_64-windows\build\tools\flang\unittests\Optimizer -IC:\buildbot\flang-x86_64-windows\llvm-project\flang\unittests\Optimizer -IC:\buildbot\flang-x86_64-windows\llvm-project\flang\include -IC:\buildbot\flang-x86_64-windows\build\tools\flang\include -IC:\buildbot\flang-x86_64-windows\build\include -IC:\buildbot\flang-x86_64-windows\llvm-project\llvm\include -IC:\buildbot\flang-x86_64-windows\llvm-project\third-party\unittest\googletest\include -IC:\buildbot\flang-x86_64-windows\llvm-project\third-party\unittest\googlemock\include -external:IC:\buildbot\flang-x86_64-windows\llvm-project\flang\..\mlir\include -external:IC:\buildbot\flang-x86_64-windows\build\tools\mlir\include -external:IC:\buildbot\flang-x86_64-windows\build\tools\clang\include -external:IC:\buildbot\flang-x86_64-windows\llvm-project\llvm\..\clang\include -external:W0 /DWIN32 /D_WINDOWS /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /O2 /Ob2 -std:c++17 -MD /EHs-c- /GR- -UNDEBUG /showIncludes /Fotools\flang\unittests\Optimizer\CMakeFiles\FlangOptimizerTests.dir\Builder\ComplexTest.cpp.obj /Fdtools\flang\unittests\Optimizer\CMakeFiles\FlangOptimizerTests.dir\ /FS -c C:\buildbot\flang-x86_64-windows\llvm-project\flang\unittests\Optimizer\Builder\ComplexTest.cpp tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2143: syntax error: missing ';' before '?' tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2059: syntax error: '?' 42.015 [43/1/55] Building CXX object tools\mlir\lib\Dialect\Linalg\IR\CMakeFiles\obj.MLIRLinalgDialect.dir\LinalgOps.cpp.obj FAILED: [code=2] tools/mlir/lib/Dialect/Linalg/IR/CMakeFiles/obj.MLIRLinalgDialect.dir/LinalgOps.cpp.obj ccache C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe /nologo /TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\buildbot\flang-x86_64-windows\build\tools\mlir\lib\Dialect\Linalg\IR -IC:\buildbot\flang-x86_64-windows\llvm-project\mlir\lib\Dialect\Linalg\IR -IC:\buildbot\flang-x86_64-windows\build\tools\mlir\include -IC:\buildbot\flang-x86_64-windows\llvm-project\mlir\include -IC:\buildbot\flang-x86_64-windows\build\include -IC:\buildbot\flang-x86_64-windows\llvm-project\llvm\include /DWIN32 /D_WINDOWS /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /O2 /Ob2 -std:c++17 -MD /EHs-c- /GR- -UNDEBUG /showIncludes /Fotools\mlir\lib\Dialect\Linalg\IR\CMakeFiles\obj.MLIRLinalgDialect.dir\LinalgOps.cpp.obj /Fdtools\mlir\lib\Dialect\Linalg\IR\CMakeFiles\obj.MLIRLinalgDialect.dir\ /FS -c C:\buildbot\flang-x86_64-windows\llvm-project\mlir\lib\Dialect\Linalg\IR\LinalgOps.cpp ..\llvm-project\mlir\include\mlir/IR/BuiltinAttributes.h(359): warning C4996: 'std::complex<llvm::APFloat>::complex': warning STL4037: The effect of instantiating the template std::complex for any type other than float, double, or long double is unspecified. You can define _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING to suppress this warning. tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2143: syntax error: missing ';' before '?' tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2059: syntax error: '?' tools\mlir\include\mlir/Dialect/Complex/IR/ComplexAttributes.h.inc(34): warning C4996: 'std::complex<llvm::APFloat>::complex': warning STL4037: The effect of instantiating the template std::complex for any type other than float, double, or long double is unspecified. You can define _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING to suppress this warning. ninja: build stopped: subcommand failed. Cache directory: C:\Users\buildbot-worker\AppData\Local\ccache Config file: C:\Users\buildbot-worker\AppData\Local\ccache\ccache.conf System config file: C:\ProgramData\ccache\ccache.conf Stats updated: 10/17/25 19:30:17 Cacheable calls: 21 / 25 (84.00%) Hits: 21 / 21 (100.0%) Direct: 21 / 21 (100.0%) Preprocessed: 0 / 21 ( 0.00%) Misses: 0 / 21 ( 0.00%) Uncacheable calls: 4 / 25 (16.00%) Compilation failed: 4 / 4 (100.0%) Successful lookups: Direct: 21 / 25 (84.00%) Preprocessed: 0 / 4 ( 0.00%) Local storage: Cache size (GB): 5.0 / 5.0 (99.92%) Files: 20744 Step 8 (test-build-unified-tree-check-flang-rt) failure: test (failure) ... 2.330 [2/6/126] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/truncdfbf2.c.obj 2.332 [2/5/127] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/trunctfbf2.c.obj 2.363 [2/4/128] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/truncsfbf2.c.obj 2.595 [2/3/129] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/enable_execute_stack.c.obj 3.377 [2/2/130] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/emutls.c.obj 3.529 [2/1/131] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/cpu_model/x86.c.obj 3.587 [1/1/132] Linking C static library C:\buildbot\flang-x86_64-windows\build\lib\clang\22\lib\windows\clang_rt.builtins-x86_64.lib 15.011 [6/2/13] No install step for 'builtins' 15.126 [5/2/15] Completed 'builtins' 39.366 [5/1/16] Building CXX object tools\mlir\lib\Dialect\Linalg\IR\CMakeFiles\obj.MLIRLinalgDialect.dir\LinalgOps.cpp.obj FAILED: [code=2] tools/mlir/lib/Dialect/Linalg/IR/CMakeFiles/obj.MLIRLinalgDialect.dir/LinalgOps.cpp.obj ccache C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe /nologo /TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\buildbot\flang-x86_64-windows\build\tools\mlir\lib\Dialect\Linalg\IR -IC:\buildbot\flang-x86_64-windows\llvm-project\mlir\lib\Dialect\Linalg\IR -IC:\buildbot\flang-x86_64-windows\build\tools\mlir\include -IC:\buildbot\flang-x86_64-windows\llvm-project\mlir\include -IC:\buildbot\flang-x86_64-windows\build\include -IC:\buildbot\flang-x86_64-windows\llvm-project\llvm\include /DWIN32 /D_WINDOWS /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /O2 /Ob2 -std:c++17 -MD /EHs-c- /GR- -UNDEBUG /showIncludes /Fotools\mlir\lib\Dialect\Linalg\IR\CMakeFiles\obj.MLIRLinalgDialect.dir\LinalgOps.cpp.obj /Fdtools\mlir\lib\Dialect\Linalg\IR\CMakeFiles\obj.MLIRLinalgDialect.dir\ /FS -c C:\buildbot\flang-x86_64-windows\llvm-project\mlir\lib\Dialect\Linalg\IR\LinalgOps.cpp ..\llvm-project\mlir\include\mlir/IR/BuiltinAttributes.h(359): warning C4996: 'std::complex<llvm::APFloat>::complex': warning STL4037: The effect of instantiating the template std::complex for any type other than float, double, or long double is unspecified. You can define _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING to suppress this warning. tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2143: syntax error: missing ';' before '?' tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2059: syntax error: '?' tools\mlir\include\mlir/Dialect/Complex/IR/ComplexAttributes.h.inc(34): warning C4996: 'std::complex<llvm::APFloat>::complex': warning STL4037: The effect of instantiating the template std::complex for any type other than float, double, or long double is unspecified. You can define _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING to suppress this warning. ninja: build stopped: subcommand failed. Cache directory: C:\Users\buildbot-worker\AppData\Local\ccache Config file: C:\Users\buildbot-worker\AppData\Local\ccache\ccache.conf System config file: C:\ProgramData\ccache\ccache.conf Stats updated: 10/17/25 19:30:58 Cacheable calls: 0 / 1 ( 0.00%) Hits: 0 Direct: 0 Preprocessed: 0 Misses: 0 Uncacheable calls: 1 / 1 (100.0%) Compilation failed: 1 / 1 (100.0%) Successful lookups: Direct: 0 / 1 ( 0.00%) Preprocessed: 0 / 1 ( 0.00%) Local storage: Cache size (GB): 5.0 / 5.0 (99.92%) Files: 20744 Hits: 0 Misses: 0 Reads: 2 Writes: 0 Step 9 (install-build-unified-treeall) failure: build (failure) ... 12.446 [60/6/31] Linking CXX executable bin\f18-parse-demo.exe 15.066 [59/6/32] Linking CXX executable bin\bugpoint.exe 15.074 [58/6/33] Linking CXX executable bin\dsymutil.exe 15.944 [57/6/34] Generating export list for LLVM-C 16.011 [56/6/35] Creating export file for LLVM-C 16.983 [55/6/36] Linking CXX executable bin\llvm-cfi-verify.exe 17.591 [54/6/37] Linking CXX executable bin\llvm-c-test.exe 18.072 [53/6/38] Linking CXX executable bin\llvm-debuginfo-analyzer.exe 19.041 [52/6/39] Linking CXX executable bin\llc.exe 19.348 [51/6/40] Building CXX object tools\mlir\test\lib\Dialect\TestIRDLToCpp\CMakeFiles\MLIRTestIRDLToCppDialect.dir\TestIRDLToCppDialect.cpp.obj FAILED: [code=2] tools/mlir/test/lib/Dialect/TestIRDLToCpp/CMakeFiles/MLIRTestIRDLToCppDialect.dir/TestIRDLToCppDialect.cpp.obj ccache C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe /nologo /TP -DGTEST_HAS_RTTI=0 -DMLIR_INCLUDE_TESTS -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\buildbot\flang-x86_64-windows\build\tools\mlir\test\lib\Dialect\TestIRDLToCpp -IC:\buildbot\flang-x86_64-windows\llvm-project\mlir\test\lib\Dialect\TestIRDLToCpp -IC:\buildbot\flang-x86_64-windows\build\tools\mlir\include -IC:\buildbot\flang-x86_64-windows\llvm-project\mlir\include -IC:\buildbot\flang-x86_64-windows\build\include -IC:\buildbot\flang-x86_64-windows\llvm-project\llvm\include /DWIN32 /D_WINDOWS /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /O2 /Ob2 -std:c++17 -MD /EHs-c- /GR- -UNDEBUG /showIncludes /Fotools\mlir\test\lib\Dialect\TestIRDLToCpp\CMakeFiles\MLIRTestIRDLToCppDialect.dir\TestIRDLToCppDialect.cpp.obj /Fdtools\mlir\test\lib\Dialect\TestIRDLToCpp\CMakeFiles\MLIRTestIRDLToCppDialect.dir\MLIRTestIRDLToCppDialect.pdb /FS -c C:\buildbot\flang-x86_64-windows\llvm-project\mlir\test\lib\Dialect\TestIRDLToCpp\TestIRDLToCppDialect.cpp ..\llvm-project\mlir\include\mlir/IR/BuiltinAttributes.h(359): warning C4996: 'std::complex<llvm::APFloat>::complex': warning STL4037: The effect of instantiating the template std::complex for any type other than float, double, or long double is unspecified. You can define _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING to suppress this warning. tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2143: syntax error: missing ';' before '?' tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2059: syntax error: '?' 19.580 [51/5/41] Linking CXX executable bin\clang-repl.exe 20.175 [51/4/42] Linking CXX executable bin\llvm-dwarfutil.exe 20.527 [51/3/43] Linking CXX executable bin\llvm-dwp.exe 21.825 [51/2/44] Linking CXX executable bin\llvm-exegesis.exe 40.820 [51/1/45] Building CXX object tools\mlir\lib\Dialect\Linalg\IR\CMakeFiles\obj.MLIRLinalgDialect.dir\LinalgOps.cpp.obj FAILED: [code=2] tools/mlir/lib/Dialect/Linalg/IR/CMakeFiles/obj.MLIRLinalgDialect.dir/LinalgOps.cpp.obj ccache C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe /nologo /TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\buildbot\flang-x86_64-windows\build\tools\mlir\lib\Dialect\Linalg\IR -IC:\buildbot\flang-x86_64-windows\llvm-project\mlir\lib\Dialect\Linalg\IR -IC:\buildbot\flang-x86_64-windows\build\tools\mlir\include -IC:\buildbot\flang-x86_64-windows\llvm-project\mlir\include -IC:\buildbot\flang-x86_64-windows\build\include -IC:\buildbot\flang-x86_64-windows\llvm-project\llvm\include /DWIN32 /D_WINDOWS /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /O2 /Ob2 -std:c++17 -MD /EHs-c- /GR- -UNDEBUG /showIncludes /Fotools\mlir\lib\Dialect\Linalg\IR\CMakeFiles\obj.MLIRLinalgDialect.dir\LinalgOps.cpp.obj /Fdtools\mlir\lib\Dialect\Linalg\IR\CMakeFiles\obj.MLIRLinalgDialect.dir\ /FS -c C:\buildbot\flang-x86_64-windows\llvm-project\mlir\lib\Dialect\Linalg\IR\LinalgOps.cpp ..\llvm-project\mlir\include\mlir/IR/BuiltinAttributes.h(359): warning C4996: 'std::complex<llvm::APFloat>::complex': warning STL4037: The effect of instantiating the template std::complex for any type other than float, double, or long double is unspecified. You can define _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING to suppress this warning. tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2143: syntax error: missing ';' before '?' tools\mlir\include\mlir/Dialect/Arith/IR/ArithOps.h.inc(3049): error C2059: syntax error: '?' tools\mlir\include\mlir/Dialect/Complex/IR/ComplexAttributes.h.inc(34): warning C4996: 'std::complex<llvm::APFloat>::complex': warning STL4037: The effect of instantiating the template std::complex for any type other than float, double, or long double is unspecified. You can define _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING to suppress this warning. ninja: build stopped: subcommand failed. Cache directory: C:\Users\buildbot-worker\AppData\Local\ccache Config file: C:\Users\buildbot-worker\AppData\Local\ccache\ccache.conf System config file: C:\ProgramData\ccache\ccache.conf Stats updated: 10/17/25 19:31:41 Cacheable calls: 0 / 2 ( 0.00%) Hits: 0 Direct: 0 Preprocessed: 0 Misses: 0 Uncacheable calls: 2 / 2 (100.0%) Compilation failed: 2 / 2 (100.0%) Successful lookups: Direct: 0 / 2 ( 0.00%) Preprocessed: 0 / 2 ( 0.00%) Local storage: Cache size (GB): 5.0 / 5.0 (99.92%) Files: 20744 Hits: 0 Misses: 0 Reads: 4 Writes: 0 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clang:analysis clang:dataflow Clang Dataflow Analysis framework - https://clang.llvm.org/docs/DataFlowAnalysisIntro.html clang Clang issues not falling into any other category

3 participants