[PATCH] D150655: [clang][dataflow] Use `Strict` accessors in more places in Transfer.cpp.

2023-05-17 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked an inline comment as done. mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:717-723 +Value *SubExprVal = Env.getValueStrict(*SubExpr); +if (SubExprVal == nullptr) return; -Env.setStorageLocation(*S, *SubE

[PATCH] D150656: [clang][dataflow] Use `Strict` accessors in TypeErasedDataflowAnalysis.cpp.

2023-05-17 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked 2 inline comments as done. mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp:303 - auto *InitStmtLoc = Env.getStorageLocation(*InitStmt, SkipPast::Reference); - if (InitStmtLoc == nullptr) -return; -

[PATCH] D150657: [clang][dataflow] Use `Strict` accessors in SignAnalysisTest.cpp.

2023-05-17 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked 2 inline comments as done. mboehme added inline comments. Comment at: clang/unittests/Analysis/FlowSensitive/SignAnalysisTest.cpp:240 +// Returns the `Value` associated with `E` (which may be either a prvalue or +// glvalue). Creates a `Value` or `StorageLocation

[PATCH] D150756: [clang][dataflow] Remove unused parameter from `diagnoseUnwrapCall()`.

2023-05-17 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG6a81e694ab80: [clang][dataflow] Remove unused parameter from `diagnoseUnwrapCall()`. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150

[PATCH] D150775: [clang][dataflow] Fix a bug in handling of `operator->` for optional checker.

2023-05-17 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp:789 - // of these accessors. - .CaseOfCFGStmt(valueOperatorCall(std::nullopt), [](const CallExpr *E, yma

[PATCH] D147698: [clang][dataflow] Add support for new expressions.

2023-04-17 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. mboehme marked 3 inline comments as done. Closed by commit rG6ab900f8746e: [clang][dataflow] Add support for new expressions. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https:/

[PATCH] D148006: [clang][dataflow] Associate `FunctionToPointerDecay` nodes with a value.

2023-04-17 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 514520. mboehme added a comment. Rebased to head Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148006/new/ https://reviews.llvm.org/D148006 Files: clang/include/clang/Analysis/FlowSensitive/DataflowEnvironme

[PATCH] D148006: [clang][dataflow] Associate `FunctionToPointerDecay` nodes with a value.

2023-04-18 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd9e717338f80: [clang][dataflow] Associate `FunctionToPointerDecay` nodes with a value. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D1

[PATCH] D148554: [dataflow] Extract arena for Value/StorageLocation out of DataflowAnalysisContext

2023-04-18 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/include/clang/Analysis/FlowSensitive/Arena.h:15-16 + +// The Arena owns the objects that model data within an analysis. +// Currently this is mostly Values and StorageLocations. +class Arena { gribozavr2 wrote: >

[PATCH] D148612: [clang][dataflow] Use existing accessors to check for copy and move assignment ops.

2023-04-18 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG LLVM Github Monorepo https://r

[PATCH] D148949: [dataflow] HTMLLogger - show the value of the current expr

2023-04-24 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp:96 +for (const auto& Prop : V.properties()) + JOS.attributeObject(Prop.first(), [&] { dump(*Prop.second); }); + IIUC, this places properties on the current HTML el

[PATCH] D145581: [clang-tidy] In C++17, callee is guaranteed to be sequenced before arguments.

2023-04-24 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 516359. mboehme marked 2 inline comments as done. mboehme added a comment. Changes in response to review comments, and rebased to head. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145581/new/ https://reviews.

[PATCH] D145581: [clang-tidy] In C++17, callee is guaranteed to be sequenced before arguments.

2023-04-24 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked 4 inline comments as done. mboehme added a comment. In D145581#4290839 , @PiotrZSL wrote: > First, re-base code, looks like there were some changes in this check, and > now there are conflicts with this path. Done. (Not sure what the etiq

[PATCH] D145581: [clang-tidy] In C++17, callee is guaranteed to be sequenced before arguments.

2023-04-24 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked 4 inline comments as done. mboehme added a comment. @MarcoFalke Would you be willing to review? (Thanks for your recent fix in D146288 !) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145581/new/ ht

[PATCH] D145581: [clang-tidy] In C++17, callee is guaranteed to be sequenced before arguments.

2023-04-24 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp:1439 // CHECK-NOTES: [[@LINE-1]]:9: note: move occurred here - // CHECK-NOTES: [[@LINE-4]]:11: note: the use happens in a later loop iteration than the move -

[PATCH] D148612: [clang][dataflow] Use existing accessors to check for copy and move assignment ops.

2023-04-24 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 516378. mboehme added a comment. Rebased to head Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148612/new/ https://reviews.llvm.org/D148612 Files: clang/lib/Analysis/FlowSensitive/Transfer.cpp Index: clang

[PATCH] D148110: [clang-tidy] Ctor arguments are sequenced if ctor call is written as list-initialization.

2023-04-24 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 516390. mboehme marked 2 inline comments as done. mboehme added a comment. Changes in response to review comments, and rebased to head. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148110/new/ https://reviews.

[PATCH] D148110: [clang-tidy] bugprone-use-after-move: Ctor arguments should be sequenced if ctor call is written as list-initialization.

2023-04-24 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. In D148110#4290400 , @carlosgalvezp wrote: > The commit message doesn't really tell me "what" this commit is fixing, it > only points to a section of the Standard. It talks about "a false positive" > but it doesn't tell what th

[PATCH] D148612: [clang][dataflow] Use existing accessors to check for copy and move assignment ops.

2023-04-24 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG6b85cc18eb7b: [clang][dataflow] Use existing accessors to check for copy and move assignment… (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm

[PATCH] D148949: [dataflow] HTMLLogger - show the value of the current expr

2023-04-25 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp:96 +for (const auto& Prop : V.properties()) + JOS.attributeObject(Prop.first(), [&] { dump(*Prop.second); }); + sammccall wrote: > mboehme wrote: > > IIUC, this pl

[PATCH] D149144: [clang][dataflow] Eliminate intermediate `ReferenceValue`s from `Environment::DeclToLoc`.

2023-04-25 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun, inglorion. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. For the wider context of this change,

[PATCH] D149144: [clang][dataflow] Eliminate intermediate `ReferenceValue`s from `Environment::DeclToLoc`.

2023-04-25 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp:43 +namespace { + There were a number of pre-existing declarations that were ODR violation risks. I'm adding a new file-local function below, so instead

[PATCH] D149144: [clang][dataflow] Eliminate intermediate `ReferenceValue`s from `Environment::DeclToLoc`.

2023-04-25 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 516745. mboehme added a comment. Add two assertions that I forgot to add in the first upload. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149144/new/ https://reviews.llvm.org/D149144 Files: clang/include/c

cfe-commits@lists.llvm.org

2023-04-25 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This parameter was already a no-op, so removing

[PATCH] D148110: [clang-tidy] bugprone-use-after-move: Ctor arguments should be sequenced if ctor call is written as list-initialization.

2023-04-26 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 517094. mboehme added a comment. Reworded release notes. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148110/new/ https://reviews.llvm.org/D148110 Files: clang-tools-extra/clang-tidy/utils/ExprSequence.cpp

[PATCH] D148110: [clang-tidy] bugprone-use-after-move: Ctor arguments should be sequenced if ctor call is written as list-initialization.

2023-04-26 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 517101. mboehme added a comment. Reworded release notes. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148110/new/ https://reviews.llvm.org/D148110 Files: clang-tools-extra/clang-tidy/utils/ExprSequence.cpp

[PATCH] D148110: [clang-tidy] bugprone-use-after-move: Ctor arguments should be sequenced if ctor call is written as list-initialization.

2023-04-26 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang-tools-extra/docs/ReleaseNotes.rst:216-219 - Improved :doc:`bugprone-use-after-move - ` check to also cover constructor - initializers. + ` check: Also cover constructor + initializers. Fix check to understand that constructor

[PATCH] D148949: [dataflow] HTMLLogger - show the value of the current expr

2023-04-26 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp:96 +for (const auto& Prop : V.properties()) + JOS.attributeObject(Prop.first(), [&] { dump(*Prop.second); }); + sammccall wrote: > mboehme wrote: > > sammccall wro

[PATCH] D149144: [clang][dataflow] Eliminate intermediate `ReferenceValue`s from `Environment::DeclToLoc`.

2023-04-26 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 517258. mboehme added a comment. Use anonymous namespace only for classes, `static` for functions. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149144/new/ https://reviews.llvm.org/D149144 Files: clang/incl

[PATCH] D149144: [clang][dataflow] Eliminate intermediate `ReferenceValue`s from `Environment::DeclToLoc`.

2023-04-26 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked an inline comment as done. mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp:43 +namespace { + gribozavr2 wrote: > mboehme wrote: > > There were a number of pre-existing declarations that w

[PATCH] D149640: [clang][dataflow] Change PruneTriviallyFalseEdges for building CFG

2023-05-02 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. In D149640#4311963 , @kinu wrote: > In D149640#4311889 , @gribozavr2 > wrote: > >> Is it testable? For example, can we show that we don't compute the program >> state for the program poi

[PATCH] D149640: [clang][dataflow] Change PruneTriviallyFalseEdges for building CFG

2023-05-02 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/unittests/Analysis/FlowSensitive/TransferTest.cpp:2673 - -EXPECT_EQ(BarVal, FooPointeeVal); }); It's unfortuante that all of these checks have gone away. I think the test was actually trying to test

[PATCH] D149144: [clang][dataflow] Eliminate intermediate `ReferenceValue`s from `Environment::DeclToLoc`.

2023-05-02 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 518709. mboehme marked an inline comment as done. mboehme added a comment. Changes in response to review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149144/new/ https://reviews.llvm.org/D149144 File

[PATCH] D149144: [clang][dataflow] Eliminate intermediate `ReferenceValue`s from `Environment::DeclToLoc`.

2023-05-02 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked 5 inline comments as done. mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp:307-311 + auto &ParamLoc = + createStorageLocation(ParamDecl->getType().getNonReferenceType()); setStorageLocation(*P

[PATCH] D149640: [clang][dataflow] Change PruneTriviallyFalseEdges for building CFG

2023-05-03 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/unittests/Analysis/FlowSensitive/TransferTest.cpp:2690 +// `after_loop` is pruned by PruneTriviallyFalseEdges, so we only should +// have `in_loop`. +ASSERT_TRUE(Results.empty()); This comm

[PATCH] D149744: [clang][dataflow][NFC] Eliminate unnecessary helper `stripReference()`.

2023-05-03 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. `QualType::getNonReferenceType()` does the same

[PATCH] D149640: [clang][dataflow] Change PruneTriviallyFalseEdges for building CFG

2023-05-03 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG791b0fd02668: [clang][dataflow] Change PruneTriviallyFalseEdges for building CFG (authored by kinu, committed by mboehme). Repository: rG LLVM Gi

[PATCH] D149144: [clang][dataflow] Eliminate intermediate `ReferenceValue`s from `Environment::DeclToLoc`.

2023-05-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 519373. mboehme marked 3 inline comments as done. mboehme added a comment. - Removed usage of `CFGScopeEnd` - Removed the assertion that two `DeclToLoc` to be joined don't contain conflicting entries Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D149144: [clang][dataflow] Eliminate intermediate `ReferenceValue`s from `Environment::DeclToLoc`.

2023-05-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp:329 +static void +builtinTransferScopeEnd(const CFGScopeEnd &Elt, +TypeErasedDataflowAnalysisState &InputState) { mboehme wrote: > x

[PATCH] D149838: [clang][dataflow] Eliminate `SkipPast::ReferenceThenPointer`.

2023-05-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. As a replacement, we provide the accessors `getI

[PATCH] D148110: [clang-tidy] bugprone-use-after-move: Ctor arguments should be sequenced if ctor call is written as list-initialization.

2023-05-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 519437. mboehme added a comment. Fix typo and rebase to head Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148110/new/ https://reviews.llvm.org/D148110 Files: clang-tools-extra/clang-tidy/utils/ExprSequence.

[PATCH] D148110: [clang-tidy] bugprone-use-after-move: Ctor arguments should be sequenced if ctor call is written as list-initialization.

2023-05-04 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked an inline comment as done. mboehme added a comment. Sorry, missed your LGTM. Will wait for pre-merge checks to complete and will then land. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148110/new/ https://reviews.llvm.org/D148110

[PATCH] D148110: [clang-tidy] bugprone-use-after-move: Ctor arguments should be sequenced if ctor call is written as list-initialization.

2023-05-04 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGc8f81ee1da32: [clang-tidy] bugprone-use-after-move: Ctor arguments should be sequenced if… (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.or

[PATCH] D149744: [clang][dataflow][NFC] Eliminate unnecessary helper `stripReference()`.

2023-05-04 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGc849843c3ef7: [clang][dataflow][NFC] Eliminate unnecessary helper `stripReference()`. (authored by mboehme). Repository: rG LLVM Github Monorepo

[PATCH] D152144: [clang][dataflow] Use a `PointerValue` for `value` property in optional checker.

2023-06-05 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The `ReferenceValue` class will be eliminated as

[PATCH] D152144: [clang][dataflow] Use a `PointerValue` for `value` property in optional checker.

2023-06-05 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. libcxx CI failure looks unrelated. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152144/new/ https://reviews.llvm.org/D152144 ___ cfe-commits mailing list cfe-commits@lists.llvm.

[PATCH] D152144: [clang][dataflow] Use a `PointerValue` for `value` property in optional checker.

2023-06-05 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGaf22be39038a: [clang][dataflow] Use a `PointerValue` for `value` property in optional checker. (authored by mboehme). Repository: rG LLVM Github M

[PATCH] D152369: [clang][dataflow][NFC] Expand comments on losing values in optional checker.

2023-06-07 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. While working on the ongoing migration to strict

[PATCH] D152683: [clang][dataflow] Model pointer value for builtin functions.

2023-06-12 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This fixes a false positive in the Crubit nullab

[PATCH] D152369: [clang][dataflow][NFC] Expand comments on losing values in optional checker.

2023-06-12 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. libcxx failures look unrelated (this is a comment-only change that doesn't touch libcxx) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152369/new/ https://reviews.llvm.org/D152369 _

[PATCH] D152369: [clang][dataflow][NFC] Expand comments on losing values in optional checker.

2023-06-12 Thread Martin Böhme via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGbbeda83090ad: [clang][dataflow][NFC] Expand comments on losing values in optional checker. (authored by mboehme). Repository: rG LLVM Github Monor

[PATCH] D152696: Prevent deadlocks in death tests.

2023-06-12 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added a subscriber: thopre. Herald added a project: All. mboehme requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. We have recently started seeing deadlocks in death tests while running

[PATCH] D152683: [clang][dataflow] Model pointer value for builtin functions.

2023-06-12 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG3f31d3204bd2: [clang][dataflow] Model pointer value for builtin functions. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152683/new/

[PATCH] D152732: [clang][dataflow] Support limits on the SAT solver to force timeouts.

2023-06-12 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. In D152732#4414707 , @ymandel wrote: > In D152732#4414661 , @xazax.hun > wrote: > >> Huge +1, I think most solvers need to have some resource limits in place as >> the runtime can explod

[PATCH] D152696: Prevent deadlocks in death tests.

2023-06-12 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. In D152696#4413626 , @hans wrote: > I'm no expert here, but I went to check what Chromium does, and it seems to > set the death_test_style to "threadsafe" for the whole test suite: > https://source.chromium.org/chromium/chromium

[PATCH] D152696: Prevent deadlocks in death tests.

2023-06-13 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 530789. mboehme added a comment. Set the `death_test_style` flag globally in TestMain.cpp instead of each individual test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152696/new/ https://reviews.llvm.org/D152

[PATCH] D152813: [clang][dataflow] Create `Value`s for integer literals.

2023-06-13 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This patch includes a test that fails without th

[PATCH] D152813: [clang][dataflow] Create `Value`s for integer literals.

2023-06-14 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. Pre-merge check failures are in a test for the unchecked-optional-access check clang-tidy. The test that's failing is the following from unchecked-optional-access.cpp: c++ void multiple_unchecked_accesses(absl::optional opt1, absl:

[PATCH] D152813: [clang][dataflow] Create `Value`s for integer literals.

2023-06-14 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. In D152813#4420445 , @gribozavr2 wrote: > In D152813#4420399 , @mboehme wrote: > >> It looks to me as if the values we're now newly producing for integer >> literals are causing non-conv

[PATCH] D152813: [clang][dataflow] Create `Value`s for integer literals.

2023-06-14 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. In D152813#4420471 , @gribozavr2 wrote: > In D152813#4420448 , @mboehme wrote: > >> We would expect analysis of this code to converge too -- right? > > Yes - but we might need universal t

[PATCH] D152696: Prevent deadlocks in death tests.

2023-06-14 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGdfbcee286b9b: Prevent deadlocks in death tests. (authored by mboehme). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152696/new/ https://reviews.llvm.org/D1

[PATCH] D153006: [clang][dataflow] Perform deep copies in copy and move operations.

2023-06-15 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: martong, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. mboehme requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This serves two purposes: - Because, today, we

[PATCH] D152813: [clang][dataflow] Create `Value`s for integer literals.

2023-06-15 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 531694. mboehme added a comment. Always return the same `Value` for the same integer. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152813/new/ https://reviews.llvm.org/D152813 Files: clang/include/clang/Ana

[PATCH] D152813: [clang][dataflow] Create `Value`s for integer literals.

2023-06-15 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. PTAL Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152813/new/ https://reviews.llvm.org/D152813 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[PATCH] D153006: [clang][dataflow] Perform deep copies in copy and move operations.

2023-06-15 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 531734. mboehme added a comment. Avoid including llvm/Testing/Support/Error.h in clang/unittests/Analysis/FlowSensitive/TestingSupport.h. This can lead to version conflicts in projects that want to include TestingSupport.h but use a different version of gtes

[PATCH] D152813: [clang][dataflow] Create `Value`s for integer literals.

2023-06-15 Thread Martin Böhme via Phabricator via cfe-commits
mboehme updated this revision to Diff 531863. mboehme added a comment. Clarify that integer literals aren't typed. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152813/new/ https://reviews.llvm.org/D152813 Files: clang/include/clang/Analysis/Flo

[PATCH] D152813: [clang][dataflow] Create `Value`s for integer literals.

2023-06-15 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked 2 inline comments as done. mboehme added inline comments. Comment at: clang/include/clang/Analysis/FlowSensitive/Arena.h:89 + /// `Value`. These literals are the same every time. + IntegerValue &makeIntLiteral(llvm::APInt Value); + xazax.hun wrot

[PATCH] D31370: [clang-tidy] Prototype to check for exception specification

2017-03-30 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: docs/clang-tidy/checks/modernize-noexcept-correctness.rst:7 +This check will mark functions as noexcept if that is possible. +`noexcept` is a new keyword in C++ 11 to signal, that no exception will escape from +the function annotated w

[PATCH] D29025: Revert "IRGen: Start using the WriteThinLTOBitcode pass."

2017-01-23 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added subscribers: mgorny, mehdi_amini. This reverts commit r292662. This change broke internal builds. Will provide a reproducer internally. https://reviews.llvm.org/D29025 Files: lib/CodeGen/BackendUtil.cpp test/CMakeLists.txt test/CodeGenCXX/type-

[PATCH] D29025: Revert "IRGen: Start using the WriteThinLTOBitcode pass."

2017-01-23 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL292791: Revert "IRGen: Start using the WriteThinLTOBitcode pass." (authored by mboehme). Changed prior to commit: https://reviews.llvm.org/D29025?vs=85375&id=85379#toc Repository: rL LLVM https://re

[PATCH] D29123: [Driver] Prevent no-arc-exception-silence.m test from writing output.

2017-01-25 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. This enables the test to run on systems where output cannot be written. https://reviews.llvm.org/D29123 Files: test/Driver/no-arc-exception-silence.m Index: test/Driver/no-arc-exception-silence.m

[PATCH] D29123: [Driver] Prevent no-arc-exception-silence.m test from writing output.

2017-01-25 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL293051: [Driver] Prevent no-arc-exception-silence.m test from writing output. (authored by mboehme). Changed prior to commit: https://reviews.llvm.org/D29123?vs=85734&id=85735#toc Repository: rL LLVM

[PATCH] D30569: [clang-tidy] misc-use-after-move: Fix failing assertion

2017-03-03 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added a subscriber: JDevlieghere. I've added a test case that (without the fix) triggers the assertion, which happens when a move happens in an implicitly called conversion operator. https://reviews.llvm.org/D30569 Files: clang-tidy/misc/UseAfterMoveCheck

[PATCH] D30569: [clang-tidy] misc-use-after-move: Fix failing assertion

2017-03-03 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: test/clang-tidy/misc-use-after-move.cpp:285 // CHECK-MESSAGES: [[@LINE-1]]:3: warning: 'a' used after it was moved - // CHECK-MESSAGES: [[@LINE-3]]:6: note: move occurred here + // CHECK-MESSAGES: [[@LINE-3]]:7: note: move occurred

[PATCH] D30569: [clang-tidy] misc-use-after-move: Fix failing assertion

2017-03-03 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked an inline comment as done. mboehme added inline comments. Comment at: test/clang-tidy/misc-use-after-move.cpp:285 // CHECK-MESSAGES: [[@LINE-1]]:3: warning: 'a' used after it was moved - // CHECK-MESSAGES: [[@LINE-3]]:6: note: move occurred here + // CHECK-MES

[PATCH] D30569: [clang-tidy] misc-use-after-move: Fix failing assertion

2017-03-03 Thread Martin Böhme via Phabricator via cfe-commits
mboehme marked an inline comment as done. mboehme added inline comments. Comment at: test/clang-tidy/misc-use-after-move.cpp:285 // CHECK-MESSAGES: [[@LINE-1]]:3: warning: 'a' used after it was moved - // CHECK-MESSAGES: [[@LINE-3]]:6: note: move occurred here + // CHECK-MES

[PATCH] D30569: [clang-tidy] misc-use-after-move: Fix failing assertion

2017-03-06 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL297004: [clang-tidy] misc-use-after-move: Fix failing assertion (authored by mboehme). Changed prior to commit: https://reviews.llvm.org/D30569?vs=90462&id=90658#toc Repository: rL LLVM https://revi

[PATCH] D30636: [analyzer] Fix crash when building CFG with variable of incomplete type

2017-03-06 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. I've included a unit test with a function template containing a variable of incomplete type. Clang compiles this without errors (the standard does not require a diagnostic in this case). Without the fix, this case triggers the crash. https://reviews.llvm.org/D30636

[PATCH] D30650: [clang-tidy] misc-use-after-move: Fix failing assertion

2017-03-06 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: test/clang-tidy/misc-use-after-move.cpp:285 // CHECK-MESSAGES: [[@LINE-1]]:3: warning: 'a' used after it was moved - // CHECK-MESSAGES: [[@LINE-3]]:6: note: move occurred here + // CHECK-MESSAGES: [[@LINE-3]]:7: note: move occurred

[PATCH] D30650: [clang-tidy] misc-use-after-move: Fix failing assertion

2017-03-06 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. Herald added a subscriber: JDevlieghere. I've added a test case that (without the fix) triggers the assertion, which happens when a move happens in an implicitly called conversion operator. This patch also fixes nondeterministic behavior in the source code location

[PATCH] D30650: [clang-tidy] misc-use-after-move: Fix failing assertion

2017-03-06 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. In https://reviews.llvm.org/D30650#693136, @alexfh wrote: > LG. So you won the flappy column game? ;) I hope so... ;) https://reviews.llvm.org/D30650 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.ll

[PATCH] D30636: [analyzer] Fix crash when building CFG with variable of incomplete type

2017-03-07 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL297129: [analyzer] Fix crash when building CFG with variable of incomplete type (authored by mboehme). Changed prior to commit: https://reviews.llvm.org/D30636?vs=90660&id=90810#toc Repository: rL LL

[PATCH] D30650: [clang-tidy] misc-use-after-move: Fix failing assertion

2017-03-08 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. In https://reviews.llvm.org/D30650#695350, @klimek wrote: > In https://reviews.llvm.org/D30650#693165, @Eugene.Zelenko wrote: > > > I think we should refactor this check as part of Static Analyzer, since > > it's path-sensitive. > > > Are you saying it should be path sen

[PATCH] D30650: [clang-tidy] misc-use-after-move: Fix failing assertion

2017-03-08 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL297272: [clang-tidy] misc-use-after-move: Fix failing assertion (authored by mboehme). Changed prior to commit: https://reviews.llvm.org/D30650?vs=90692&id=90997#toc Repository: rL LLVM https://revi

[PATCH] D27350: CFGBuilder: Fix crash when visiting delete expression on dependent type

2016-12-02 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. mboehme added a reviewer: klimek. mboehme added a subscriber: cfe-commits. CXXDeleteExpr::getDestroyedType() can return a null QualType if the destroyed type is a dependent type. This patch protects against this. https://reviews.llvm.org/D27350 Files: lib/Analys

[PATCH] D27350: CFGBuilder: Fix crash when visiting delete expression on dependent type

2016-12-05 Thread Martin Böhme via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL288665: CFGBuilder: Fix crash when visiting delete expression on dependent type (authored by mboehme). Changed prior to commit: https://reviews.llvm.org/D27350?vs=80080&id=80246#toc Repository: rL LL

[PATCH] D27700: [clang-tidy] refactor ExprSequence out of misc-use-after-move check

2016-12-14 Thread Martin Böhme via Phabricator via cfe-commits
mboehme accepted this revision. mboehme added a comment. This revision is now accepted and ready to land. LG apart from minor comments by others and me Comment at: clang-tidy/misc/UseAfterMoveCheck.cpp:18 using namespace clang::ast_matchers; +using namespace clang::tidy::utils

[PATCH] D114235: [clang] Extend ParsedAttr to allow custom handling for type attributes

2022-01-21 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. Aaron and Eric, I'm currently on an extended leave, so I'll only get back to this in a few weeks' time, but I did want to let you know that I've seen this. Thanks for the detailed comments! Cheers, Martin Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACT

[PATCH] D119165: [clang-tidy] Add processing lambda captures at bugprone-use-after-move check

2022-02-23 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added inline comments. Comment at: clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp:403 hasArgument(0, declRefExpr().bind("arg")), - anyOf(hasAncestor(lambdaExpr().bind("containing-lambda")), - hasAncestor(funct

[PATCH] D114235: [clang] Extend ParsedAttr to allow custom handling for type attributes

2022-02-23 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. Sorry for the delay -- finally back from leave. High-level, I think I'd like to return to my earlier approach of adding a new `annotate_type` attribute (see also discussion above). In D114235#324

[PATCH] D114235: [clang] Extend ParsedAttr to allow custom handling for type attributes

2022-02-24 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. In D114235#3340412 , @erichkeane wrote: > In D114235#3340369 , @mboehme wrote: > >> In D114235#3244054 , >> @aaron.ballman wrote: >> >>> so ther

[PATCH] D114235: [clang] Extend ParsedAttr to allow custom handling for type attributes

2022-03-03 Thread Martin Böhme via Phabricator via cfe-commits
mboehme abandoned this revision. mboehme added a comment. Herald added a project: All. Thanks for all of the input! Rather than going deeper into the discussion of the attribute here (on an only vaguely related change), I think it would be better to continue the discussion on the forum. I'm cu

[PATCH] D114235: [clang] Extend ParsedAttr to allow custom handling for type attributes

2022-01-14 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. Thanks for the feedback! And no worries about the delay -- I know you've got a lot on your plate, and the proposed change is invasive. To make sure I understand correctly: The issue is that if a `Type` is replaced by an `AttributedType` in places where Clang does not (y

[PATCH] D114235: [clang] Extend ParsedAttr to allow custom handling for type attributes

2021-12-06 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. Aaron, have you had any chance to look at this yet? I added you as a reviewer because you expressed interest in something like this in this discussion: https://lists.llvm.org/pipermail/cfe-dev/2021-October/069097.html Is there someone else who would be more appropriate

[PATCH] D114235: [clang] Extend ParsedAttr to allow custom handling for type attributes

2021-12-06 Thread Martin Böhme via Phabricator via cfe-commits
mboehme added a comment. In D114235#3173745 , @aaron.ballman wrote: > I've not had the chance, sorry! My review queue is rather full at the moment, > so I'm still digging out from under quite a few reviews (around 50 at last > count) and it may be a bi

[PATCH] D111548: [Clang] Add the `annotate_type` attribute

2021-10-11 Thread Martin Böhme via Phabricator via cfe-commits
mboehme created this revision. mboehme added a project: clang. Herald added a reviewer: aaron.ballman. mboehme requested review of this revision. Herald added a subscriber: cfe-commits. This is an analog to the `annotate` attribute but for types. The intent is to allow adding arbitrary annotation

<    1   2   3   4   5   6