@@ -253,6 +253,17 @@ class TrivialFunctionAnalysisVisitor
return true;
}
+ template
+ bool WithCachedResult(const StmtType *S, CheckFunction Function) {
haoNoQ wrote:
```suggestion
template
bool WithCachedResult(const Stmt *S, CheckFunction Func
@@ -189,18 +202,16 @@ class UncountedLocalVarsChecker
dyn_cast_or_null(Ref->getFoundDecl())) {
const auto *MaybeGuardianArgType =
MaybeGuardian->getType().getTypePtr();
- if (!MaybeGuardianArgType)
-return;
-
https://github.com/haoNoQ edited https://github.com/llvm/llvm-project/pull/82229
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/haoNoQ commented:
Ooo looks great now!
One more round of nitpicks, but I think it's mostly ready to land.
https://github.com/llvm/llvm-project/pull/82229
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org
@@ -474,4 +504,22 @@ bool TrivialFunctionAnalysis::isTrivialImpl(
return Result;
}
+bool TrivialFunctionAnalysis::isTrivialImpl(
+const Stmt *S, TrivialFunctionAnalysis::CacheTy &Cache) {
+ // If the statement isn't in the cache, conservatively assume that
+ // it's no
https://github.com/haoNoQ updated
https://github.com/llvm/llvm-project/pull/79398
>From 21923f92f0ea4169d5fea646221554d4c44e36f1 Mon Sep 17 00:00:00 2001
From: Artem Dergachev
Date: Wed, 24 Jan 2024 14:52:58 -0800
Subject: [PATCH 1/5] [analyzer] Unbreak [[clang::suppress]] on checkers
without
https://github.com/haoNoQ closed https://github.com/llvm/llvm-project/pull/79398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/haoNoQ created
https://github.com/llvm/llvm-project/pull/80220
This is a follow-up for 721dd3bc2 [analyzer] NFC: Don't regenerate duplicate
HTML reports.
Because HTMLRewriter re-runs the Lexer for syntax highlighting and macro
expansion purposes, it may get fairly expensive
haoNoQ wrote:
(There isn't a lot of activity in the `HTMLRewriter` outside of myself these
days but the patch is somewhat large so I decided to make a PR anyway.)
https://github.com/llvm/llvm-project/pull/80220
___
cfe-commits mailing list
cfe-commits
https://github.com/haoNoQ updated
https://github.com/llvm/llvm-project/pull/80220
>From 13fbeb5411f1b877dc86dd6bebd3bf607c7fba7e Mon Sep 17 00:00:00 2001
From: Artem Dergachev
Date: Tue, 30 Jan 2024 17:37:26 -0800
Subject: [PATCH 1/2] [analyzer][HTMLRewriter] Cache partial rewrite results.
Thi
https://github.com/haoNoQ closed https://github.com/llvm/llvm-project/pull/80220
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -61,6 +61,7 @@ void testArraySubscripts(int *p, int **pp) {
);
int a[10]; // expected-warning{{'a' is an unsafe buffer that does
not perform bounds checks}}
+// expected-note@-1{{change type of 'a' to
'std::array' to harden it}}
@@ -58,6 +95,8 @@ class UnsafeBufferUsageHandler {
#endif
public:
+ enum class TargetType { Span, Array };
haoNoQ wrote:
Looks like a bit of dead code?
https://github.com/llvm/llvm-project/pull/80084
___
cfe-commi
@@ -2495,10 +2470,113 @@ static FixItList fixVariableWithSpan(const VarDecl *VD,
return fixLocalVarDeclWithSpan(VD, Ctx, getUserFillPlaceHolder(), Handler);
}
+static FixItList fixVarDeclWithArray(const VarDecl *D, const ASTContext &Ctx,
+
@@ -2495,10 +2470,113 @@ static FixItList fixVariableWithSpan(const VarDecl *VD,
return fixLocalVarDeclWithSpan(VD, Ctx, getUserFillPlaceHolder(), Handler);
}
+static FixItList fixVarDeclWithArray(const VarDecl *D, const ASTContext &Ctx,
+
@@ -61,6 +61,7 @@ void testArraySubscripts(int *p, int **pp) {
);
int a[10]; // expected-warning{{'a' is an unsafe buffer that does
not perform bounds checks}}
+// expected-note@-1{{change type of 'a' to
'std::array' to harden it}}
https://github.com/haoNoQ created
https://github.com/llvm/llvm-project/pull/80371
The attribute is now allowed on an assortment of declarations, to suppress
warnings related to declarations themselves, or all warnings in the lexical
scope of the declaration.
I don't necessarily see a reason t
https://github.com/haoNoQ updated
https://github.com/llvm/llvm-project/pull/80371
>From b702fcca1b4c5924ce4740d054e396aa4bc67e97 Mon Sep 17 00:00:00 2001
From: Artem Dergachev
Date: Thu, 25 Jan 2024 18:05:39 -0800
Subject: [PATCH 1/2] [attributes][analyzer] Generalize [[clang::suppress]] to
de
@@ -147,6 +147,20 @@ bool BugSuppression::isSuppressed(const
PathDiagnosticLocation &Location,
// done as well as perform a lot of work we'll never need.
// Gladly, none of our on-by-default checkers currently need it.
DeclWithIssue = ACtx.getTranslationUnitDecl();
https://github.com/haoNoQ created
https://github.com/llvm/llvm-project/pull/79398
There are currently a few checkers that don't fill in the bug report's
"decl-with-issue" field (typically a function in which the bug is found).
The new attribute `[[clang::suppress]]` uses decl-with-issue to red
https://github.com/haoNoQ unassigned
https://github.com/llvm/llvm-project/pull/79398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
haoNoQ wrote:
The affected checkers were:
- Checkers in the `webkit` package (hence cc @jkorous-apple). These checkers
manually scan the entire TU in order (rejecting the comforts of
`checkASTCodeBody`) in order to properly cover uninstantiated templates.
There's no reason they can't provide a
https://github.com/haoNoQ updated
https://github.com/llvm/llvm-project/pull/79398
>From 21923f92f0ea4169d5fea646221554d4c44e36f1 Mon Sep 17 00:00:00 2001
From: Artem Dergachev
Date: Wed, 24 Jan 2024 14:52:58 -0800
Subject: [PATCH 1/2] [analyzer] Unbreak [[clang::suppress]] on checkers
without
@@ -27,6 +28,8 @@ class PathDiagnosticLocation;
class BugSuppression {
public:
+ BugSuppression(ASTContext &ACtx) : ACtx(ACtx) {}
haoNoQ wrote:
Hmm I somehow never noticed that we have any actual const-correctness for
`ASTContext`, thanks!
https://github.c
https://github.com/haoNoQ updated
https://github.com/llvm/llvm-project/pull/79398
>From 21923f92f0ea4169d5fea646221554d4c44e36f1 Mon Sep 17 00:00:00 2001
From: Artem Dergachev
Date: Wed, 24 Jan 2024 14:52:58 -0800
Subject: [PATCH 1/3] [analyzer] Unbreak [[clang::suppress]] on checkers
without
https://github.com/haoNoQ updated
https://github.com/llvm/llvm-project/pull/79398
>From 21923f92f0ea4169d5fea646221554d4c44e36f1 Mon Sep 17 00:00:00 2001
From: Artem Dergachev
Date: Wed, 24 Jan 2024 14:52:58 -0800
Subject: [PATCH 1/4] [analyzer] Unbreak [[clang::suppress]] on checkers
without
Author: Artem Dergachev
Date: 2024-01-11T15:16:10-08:00
New Revision: 721dd3bc2f159f58542653b56ae272f1504875f8
URL:
https://github.com/llvm/llvm-project/commit/721dd3bc2f159f58542653b56ae272f1504875f8
DIFF:
https://github.com/llvm/llvm-project/commit/721dd3bc2f159f58542653b56ae272f1504875f8.dif
https://github.com/haoNoQ edited https://github.com/llvm/llvm-project/pull/68170
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/haoNoQ commented:
@rniwa I had a look and I think everything looks mostly good! I found one
possible bug and made a couple comments about how I'm frustrated about code
duplication.
https://github.com/llvm/llvm-project/pull/68170
__
@@ -18,24 +18,26 @@ using namespace clang;
namespace {
-bool hasPublicRefAndDeref(const CXXRecordDecl *R) {
+bool hasPublicRefMethod(const CXXRecordDecl *R) {
assert(R);
assert(R->hasDefinition());
- bool hasRef = false;
- bool hasDeref = false;
for (const CXXMet
@@ -70,29 +88,45 @@ std::optional isRefCountable(const CXXRecordDecl* R)
if (!R)
return std::nullopt;
- if (hasPublicRefAndDeref(R))
+ bool hasRef = hasPublicRefMethod(R);
+ bool hasDeref = hasPublicDerefMethod(R);
+ if (hasRef && hasDeref)
return true;
CXX
@@ -44,9 +46,25 @@ bool hasPublicRefAndDeref(const CXXRecordDecl *R) {
namespace clang {
-std::optional
-isRefCountable(const CXXBaseSpecifier* Base)
-{
+std::optional
+hasPublicRefInBase(const CXXBaseSpecifier *Base) {
+ assert(Base);
+
+ const Type *T = Base->getType().ge
Author: Ryosuke Niwa
Date: 2023-10-19T16:10:57-07:00
New Revision: 5070c1e3b07c5b384fe0a064aa99f25b8af4b7e9
URL:
https://github.com/llvm/llvm-project/commit/5070c1e3b07c5b384fe0a064aa99f25b8af4b7e9
DIFF:
https://github.com/llvm/llvm-project/commit/5070c1e3b07c5b384fe0a064aa99f25b8af4b7e9.diff
Author: dergachev
Date: Tue Aug 20 14:41:14 2019
New Revision: 369449
URL: http://llvm.org/viewvc/llvm-project?rev=369449&view=rev
Log:
[analyzer] Improve VirtualCallChecker and enable parts of it by default.
Calling a pure virtual method during construction or destruction
is undefined behavior.
Author: dergachev
Date: Tue Aug 20 14:41:17 2019
New Revision: 369450
URL: http://llvm.org/viewvc/llvm-project?rev=369450&view=rev
Log:
[analyzer] Fix a crash when destroying a non-region.
Add defensive check that prevents a crash when we try to evaluate a destructor
whose this-value is a concret
Author: dergachev
Date: Tue Aug 20 14:41:20 2019
New Revision: 369451
URL: http://llvm.org/viewvc/llvm-project?rev=369451&view=rev
Log:
[analyzer] NFC: Remove the BugTypes set from BugReporter.
Its only purpose was to avoid a bug that's caused by
making a virtual call in BugReporter's destructor.
Author: dergachev
Date: Thu Aug 22 20:23:55 2019
New Revision: 369726
URL: http://llvm.org/viewvc/llvm-project?rev=369726&view=rev
Log:
[analyzer] DynamicTypeInfo: Avoid putting null regions into dynamic typemap.
Fixes a crash.
Modified:
cfe/trunk/lib/StaticAnalyzer/Core/DynamicType.cpp
Author: dergachev
Date: Thu Aug 22 20:23:58 2019
New Revision: 369727
URL: http://llvm.org/viewvc/llvm-project?rev=369727&view=rev
Log:
[analyzer] CastValueChecker: Avoid modeling casts between objects.
Our method only works correctly when casting a pointer to a pointer
or a reference to a refere
Author: dergachev
Date: Thu Aug 22 20:24:01 2019
New Revision: 369728
URL: http://llvm.org/viewvc/llvm-project?rev=369728&view=rev
Log:
[analyzer] CastValueChecker: Provide DynamicTypeMap with pointer types only.
The idea to drop this requirement is good, but for now every other user
of DynamicTy
Author: dergachev
Date: Thu Aug 22 20:24:04 2019
New Revision: 369729
URL: http://llvm.org/viewvc/llvm-project?rev=369729&view=rev
Log:
[analyzer] CastValueChecker: Correctly model results of based-to-derived casts.
Our SVal hierarchy doesn't allow modeling pointer casts as no-op. The
pointer typ
I had a look and i don't observe any regressions here. Both this test
alone and the whole test suite in general take as much time as on
r369520 for me. Additionally, -analyzer-stats doesn't indicate that any
significant amount of time was spent in bug report post-processing.
On 8/23/19 11:41 A
Author: dergachev
Date: Wed Aug 28 11:44:35 2019
New Revision: 370245
URL: http://llvm.org/viewvc/llvm-project?rev=370245&view=rev
Log:
[analyzer] pr43036: Fix support for operator 'sizeof...'.
It was known to be a compile-time constant so it wasn't evaluated during
symbolic execution, but it was
Author: dergachev
Date: Wed Aug 28 11:44:38 2019
New Revision: 370246
URL: http://llvm.org/viewvc/llvm-project?rev=370246&view=rev
Log:
[analyzer] Fix analyzer warnings on analyzer.
Write tests for the actual crash that was found. Write comments and refactor
code around 17 style bugs and suppress
Author: dergachev
Date: Wed Aug 28 11:44:32 2019
New Revision: 370244
URL: http://llvm.org/viewvc/llvm-project?rev=370244&view=rev
Log:
[analyzer] Trust global initializers when analyzing main().
If the global variable has an initializer, we'll ignore it because we're usually
not analyzing the pr
Author: dergachev
Date: Wed Aug 28 11:44:42 2019
New Revision: 370247
URL: http://llvm.org/viewvc/llvm-project?rev=370247&view=rev
Log:
[CFG] Make representation of destructor calls more accurate.
Respect C++17 copy elision; previously it would generate destructor calls
for elided temporaries, in
Author: dergachev
Date: Wed Aug 28 14:19:58 2019
New Revision: 370263
URL: http://llvm.org/viewvc/llvm-project?rev=370263&view=rev
Log:
[analyzer] Fix more analyzer warnings on analyzer and libAnalysis.
Modified:
cfe/trunk/lib/Analysis/BodyFarm.cpp
cfe/trunk/lib/Analysis/CFG.cpp
cfe/t
Author: dergachev
Date: Thu Aug 29 13:37:28 2019
New Revision: 370406
URL: http://llvm.org/viewvc/llvm-project?rev=370406&view=rev
Log:
[CFG] Fix CFG for statement-expressions in return values.
We're building the CFG from bottom to top, so when the return-value expression
has a non-trivial CFG on
Author: dergachev
Date: Wed Sep 4 17:44:56 2019
New Revision: 371002
URL: http://llvm.org/viewvc/llvm-project?rev=371002&view=rev
Log:
[analyzer] scan-build: handle --sysroot=/path in addition to --sysroot /path.
Current code assumes flags in CompilerLinkerOptionMap don't use =,
which isn't alwa
Author: dergachev
Date: Fri Sep 6 13:55:24 2019
New Revision: 371256
URL: http://llvm.org/viewvc/llvm-project?rev=371256&view=rev
Log:
[analyzer] pr43179: Make CallDescription defensive against C variadic functions.
Most functions that our checkers react upon are not C-style variadic functions,
Author: dergachev
Date: Fri Sep 6 13:55:29 2019
New Revision: 371257
URL: http://llvm.org/viewvc/llvm-project?rev=371257&view=rev
Log:
[analyzer] Add minimal support for fix-it hints.
Allow attaching fixit hints to Static Analyzer BugReports.
Fixits are attached either to the bug report itself
Author: dergachev
Date: Mon Sep 9 13:34:44 2019
New Revision: 371451
URL: http://llvm.org/viewvc/llvm-project?rev=371451&view=rev
Log:
[analyzer] NFC: Simplify bug report equivalence classes to not be ilists.
Use a vector of unique pointers instead.
Differential Revision: https://reviews.llvm.o
Author: dergachev
Date: Mon Aug 14 01:38:47 2017
New Revision: 310820
URL: http://llvm.org/viewvc/llvm-project?rev=310820&view=rev
Log:
[analyzer] Rename functions responsible for CFG-based suppress-on-sink.
Update comments. No functional change intended.
Addresses Devin's post-commit review com
Hello,
Do we have time to merge this change into release 5.0.0? It's an
assertion failure fix, which shows up on C++ code involving
double-inheritance with empty base classes.
Artem.
On 8/18/17 9:20 PM, Alexander Shaposhnikov via cfe-commits wrote:
Author: alexshap
Date: Fri Aug 18 11:20:43
Author: Yang Fan
Date: 2020-08-27T12:15:26-07:00
New Revision: 37c21dbb3a3209c31f22070c58f22c77357fa777
URL:
https://github.com/llvm/llvm-project/commit/37c21dbb3a3209c31f22070c58f22c77357fa777
DIFF:
https://github.com/llvm/llvm-project/commit/37c21dbb3a3209c31f22070c58f22c77357fa777.diff
LOG:
Author: Adam Balogh
Date: 2020-08-27T12:15:23-07:00
New Revision: 5a9e7789396e7618c1407aafc329e00584437a2f
URL:
https://github.com/llvm/llvm-project/commit/5a9e7789396e7618c1407aafc329e00584437a2f
DIFF:
https://github.com/llvm/llvm-project/commit/5a9e7789396e7618c1407aafc329e00584437a2f.diff
L
Author: Yang Fan
Date: 2020-08-27T12:15:26-07:00
New Revision: 6e26e49edf0d509fb3e76d984f2cbc8288fd6dc5
URL:
https://github.com/llvm/llvm-project/commit/6e26e49edf0d509fb3e76d984f2cbc8288fd6dc5
DIFF:
https://github.com/llvm/llvm-project/commit/6e26e49edf0d509fb3e76d984f2cbc8288fd6dc5.diff
LOG:
Author: Adam Balogh
Date: 2020-08-27T12:15:25-07:00
New Revision: 4448affede5100658530aea8793ae7a7bc05a110
URL:
https://github.com/llvm/llvm-project/commit/4448affede5100658530aea8793ae7a7bc05a110
DIFF:
https://github.com/llvm/llvm-project/commit/4448affede5100658530aea8793ae7a7bc05a110.diff
L
Author: Artem Dergachev
Date: 2020-12-10T11:02:54-08:00
New Revision: ea6641085d025ca0a5cef940465ef14d0ccace02
URL:
https://github.com/llvm/llvm-project/commit/ea6641085d025ca0a5cef940465ef14d0ccace02
DIFF:
https://github.com/llvm/llvm-project/commit/ea6641085d025ca0a5cef940465ef14d0ccace02.dif
Author: Artem Dergachev
Date: 2020-12-10T11:02:54-08:00
New Revision: 00ffea77ad887b576e9db82d98c97a31fee172cb
URL:
https://github.com/llvm/llvm-project/commit/00ffea77ad887b576e9db82d98c97a31fee172cb
DIFF:
https://github.com/llvm/llvm-project/commit/00ffea77ad887b576e9db82d98c97a31fee172cb.dif
Author: Artem Dergachev
Date: 2020-12-10T19:46:33-08:00
New Revision: 8c5ca7c6e62c203b9642dca2a1d9118c36777ad5
URL:
https://github.com/llvm/llvm-project/commit/8c5ca7c6e62c203b9642dca2a1d9118c36777ad5
DIFF:
https://github.com/llvm/llvm-project/commit/8c5ca7c6e62c203b9642dca2a1d9118c36777ad5.dif
t 8:03 PM Artem Dergachev via cfe-commits
mailto:cfe-commits@lists.llvm.org>> wrote:
Author: Artem Dergachev
Date: 2020-12-10T11:02:54-08:00
New Revision: ea6641085d025ca0a5cef940465ef14d0ccace02
URL:
https://github.com/llvm/llvm-project/commit/ea6641085d025ca0a5c
Author: Artem Dergachev
Date: 2020-11-16T14:37:50-08:00
New Revision: 499bce3abab8a362b9b4197944bd40b826c736c4
URL:
https://github.com/llvm/llvm-project/commit/499bce3abab8a362b9b4197944bd40b826c736c4
DIFF:
https://github.com/llvm/llvm-project/commit/499bce3abab8a362b9b4197944bd40b826c736c4.dif
Author: Artem Dergachev
Date: 2020-11-17T16:01:49-08:00
New Revision: f8f6d6455f963d5924990824866c4b55ae694639
URL:
https://github.com/llvm/llvm-project/commit/f8f6d6455f963d5924990824866c4b55ae694639
DIFF:
https://github.com/llvm/llvm-project/commit/f8f6d6455f963d5924990824866c4b55ae694639.dif
Author: Artem Dergachev
Date: 2020-11-17T18:45:09-08:00
New Revision: 41bcc05e2a4e3062eb12ac6e071bc835decc38f5
URL:
https://github.com/llvm/llvm-project/commit/41bcc05e2a4e3062eb12ac6e071bc835decc38f5
DIFF:
https://github.com/llvm/llvm-project/commit/41bcc05e2a4e3062eb12ac6e071bc835decc38f5.dif
Author: Artem Dergachev
Date: 2020-11-17T18:59:21-08:00
New Revision: 6a89cb8136f3435bd977b419b683dc0acc98e61e
URL:
https://github.com/llvm/llvm-project/commit/6a89cb8136f3435bd977b419b683dc0acc98e61e
DIFF:
https://github.com/llvm/llvm-project/commit/6a89cb8136f3435bd977b419b683dc0acc98e61e.dif
Author: Artem Dergachev
Date: 2020-10-13T10:53:10-07:00
New Revision: b76dc111dd02672488df794570d82e3edbbfa5d8
URL:
https://github.com/llvm/llvm-project/commit/b76dc111dd02672488df794570d82e3edbbfa5d8
DIFF:
https://github.com/llvm/llvm-project/commit/b76dc111dd02672488df794570d82e3edbbfa5d8.dif
Author: Artem Dergachev
Date: 2020-10-13T10:53:10-07:00
New Revision: 44b7cf2983b6a8373c99a9b254f8c3f944e03f35
URL:
https://github.com/llvm/llvm-project/commit/44b7cf2983b6a8373c99a9b254f8c3f944e03f35
DIFF:
https://github.com/llvm/llvm-project/commit/44b7cf2983b6a8373c99a9b254f8c3f944e03f35.dif
Author: Artem Dergachev
Date: 2020-10-13T10:53:10-07:00
New Revision: fd4b3f123d6e64769881e4c6351d5bbbdac30ce3
URL:
https://github.com/llvm/llvm-project/commit/fd4b3f123d6e64769881e4c6351d5bbbdac30ce3
DIFF:
https://github.com/llvm/llvm-project/commit/fd4b3f123d6e64769881e4c6351d5bbbdac30ce3.dif
Author: Artem Dergachev
Date: 2020-10-13T12:03:04-07:00
New Revision: 77bb3ebebbca13f0648beb433fbd1b06ba95a19c
URL:
https://github.com/llvm/llvm-project/commit/77bb3ebebbca13f0648beb433fbd1b06ba95a19c
DIFF:
https://github.com/llvm/llvm-project/commit/77bb3ebebbca13f0648beb433fbd1b06ba95a19c.dif
Author: Artem Dergachev
Date: 2020-10-13T12:07:28-07:00
New Revision: 662ed9e67adace3d011f42478bc8bcb1773a2821
URL:
https://github.com/llvm/llvm-project/commit/662ed9e67adace3d011f42478bc8bcb1773a2821
DIFF:
https://github.com/llvm/llvm-project/commit/662ed9e67adace3d011f42478bc8bcb1773a2821.dif
Author: Artem Dergachev
Date: 2020-10-13T12:07:36-07:00
New Revision: 10f1ca99b498347186ec74b01046ad292bde9a4c
URL:
https://github.com/llvm/llvm-project/commit/10f1ca99b498347186ec74b01046ad292bde9a4c
DIFF:
https://github.com/llvm/llvm-project/commit/10f1ca99b498347186ec74b01046ad292bde9a4c.dif
Author: Artem Dergachev
Date: 2021-05-13T11:25:00-07:00
New Revision: dd98ea528c0c23f5fee6d3dbafc261b81cca9f0d
URL:
https://github.com/llvm/llvm-project/commit/dd98ea528c0c23f5fee6d3dbafc261b81cca9f0d
DIFF:
https://github.com/llvm/llvm-project/commit/dd98ea528c0c23f5fee6d3dbafc261b81cca9f0d.dif
Author: Artem Dergachev
Date: 2021-05-13T11:25:00-07:00
New Revision: 6a079dfdc992706408f2bde84c48bf76e52c4311
URL:
https://github.com/llvm/llvm-project/commit/6a079dfdc992706408f2bde84c48bf76e52c4311
DIFF:
https://github.com/llvm/llvm-project/commit/6a079dfdc992706408f2bde84c48bf76e52c4311.dif
Author: Artem Dergachev
Date: 2021-05-13T11:25:01-07:00
New Revision: 46c6c08c9428a36bdf88f51b1a14164aa4cbb93e
URL:
https://github.com/llvm/llvm-project/commit/46c6c08c9428a36bdf88f51b1a14164aa4cbb93e
DIFF:
https://github.com/llvm/llvm-project/commit/46c6c08c9428a36bdf88f51b1a14164aa4cbb93e.dif
Author: Artem Dergachev
Date: 2021-05-13T11:25:02-07:00
New Revision: 5ad2eeeadaf15856332f66ed7c244d52a86b0be7
URL:
https://github.com/llvm/llvm-project/commit/5ad2eeeadaf15856332f66ed7c244d52a86b0be7
DIFF:
https://github.com/llvm/llvm-project/commit/5ad2eeeadaf15856332f66ed7c244d52a86b0be7.dif
Author: Artem Dergachev
Date: 2021-01-28T22:31:49-08:00
New Revision: ec812898318036f6c33579b1d35c1a7f83cf112f
URL:
https://github.com/llvm/llvm-project/commit/ec812898318036f6c33579b1d35c1a7f83cf112f
DIFF:
https://github.com/llvm/llvm-project/commit/ec812898318036f6c33579b1d35c1a7f83cf112f.dif
Author: Artem Dergachev
Date: 2021-01-28T22:31:49-08:00
New Revision: b92a39ac1319c796777bca19a3af2856acbc69c1
URL:
https://github.com/llvm/llvm-project/commit/b92a39ac1319c796777bca19a3af2856acbc69c1
DIFF:
https://github.com/llvm/llvm-project/commit/b92a39ac1319c796777bca19a3af2856acbc69c1.dif
Author: Artem Dergachev
Date: 2021-02-09T23:44:33-08:00
New Revision: ddb01010b275c68deb7340ec32e0d1beaa9bbf13
URL:
https://github.com/llvm/llvm-project/commit/ddb01010b275c68deb7340ec32e0d1beaa9bbf13
DIFF:
https://github.com/llvm/llvm-project/commit/ddb01010b275c68deb7340ec32e0d1beaa9bbf13.dif
Author: Artem Dergachev
Date: 2022-12-20T16:05:13-08:00
New Revision: 8fd62e70cde135943e54d80851984988cb0a
URL:
https://github.com/llvm/llvm-project/commit/8fd62e70cde135943e54d80851984988cb0a
DIFF:
https://github.com/llvm/llvm-project/commit/8fd62e70cde135943e54d80851984988cb0a.dif
haoNoQ wrote:
#61826 has my data (which I unfortunately couldn't publish as-is, but the order
of magnitude is, around 300 reports).
My main problem with the tainted-number checkers is that they don't consider at
constraints at all. Eg., this is clearly a false positive:
```
char buf[100];
size
haoNoQ wrote:
(Yeah we still have those false positives, though `memset` isn't actually
covered yet as a potential sink: https://godbolt.org/z/6h5x87vMc)
https://github.com/llvm/llvm-project/pull/67352
___
cfe-commits mailing list
cfe-commits@lists.ll
haoNoQ wrote:
> @haoNoQ I don't really understand your remark that
>
> > The report may be technically correct but I think the entire idea of the
> > checker never made sense in the first place. It doesn't matter that
> > untrusted data is used to specify buffer size once; it matters that data
haoNoQ wrote:
> Before merging this PR, the diagnostics of the EnumCast checker should be
> updated to mention the name of the `enum` type in question. @gamesh411 could
> you create a PR that implements this improvement (as we discussed)?
Yes, it should call out the enum, call out the value, a
https://github.com/haoNoQ created
https://github.com/llvm/llvm-project/pull/68170
Patch by Ryosuke Niwa!
>From fc5a447a0dd4203ee69a506cfc791255d555462a Mon Sep 17 00:00:00 2001
From: Ryosuke Niwa
Date: Tue, 3 Oct 2023 18:13:21 -0700
Subject: [PATCH] [analyzer] WebKit checkers: support ref and
Author: Artem Dergachev
Date: 2023-07-27T17:51:49-07:00
New Revision: 7f25a882616263108d99f7696407b725351324de
URL:
https://github.com/llvm/llvm-project/commit/7f25a882616263108d99f7696407b725351324de
DIFF:
https://github.com/llvm/llvm-project/commit/7f25a882616263108d99f7696407b725351324de.dif
haoNoQ wrote:
We will need a new warning text here. "To preserve bounds information" isn't
our goal; the traditional C array already preserves bounds information as part
of the type. Theoretically, we could teach the compiler to harden all raw C
array operations without converting it to `std::
@@ -392,19 +393,26 @@ void DynamicTypePropagation::checkPostCall(const
CallEvent &Call,
}
}
-/// TODO: Handle explicit casts.
-/// Handle C++ casts.
-///
-/// Precondition: the cast is between ObjCObjectPointers.
ExplodedNode *DynamicTypePropagation::dynamicTypePropa
@@ -492,11 +492,13 @@ void check_required_cast() {
void check_cast_behavior(OSObject *obj) {
OSArray *arr1 = OSDynamicCast(OSArray, obj);
- clang_analyzer_eval(arr1 == obj); // expected-warning{{TRUE}}
-// expected-note@-1{{TRUE}}
-
https://github.com/haoNoQ edited https://github.com/llvm/llvm-project/pull/69057
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Artem Dergachev
Date: 2023-07-10T15:57:10-07:00
New Revision: 7c7b19143429dfa6095564d6bb9103410506c183
URL:
https://github.com/llvm/llvm-project/commit/7c7b19143429dfa6095564d6bb9103410506c183
DIFF:
https://github.com/llvm/llvm-project/commit/7c7b19143429dfa6095564d6bb9103410506c183.dif
Author: Artem Dergachev
Date: 2020-04-01T18:16:44+03:00
New Revision: 3500cc8d891bb3825bb3275affe6db8b12f2f695
URL:
https://github.com/llvm/llvm-project/commit/3500cc8d891bb3825bb3275affe6db8b12f2f695
DIFF:
https://github.com/llvm/llvm-project/commit/3500cc8d891bb3825bb3275affe6db8b12f2f695.dif
Author: Artem Dergachev
Date: 2020-02-25T18:37:23+03:00
New Revision: a82ffe9d93a24abf30bcf63081096ea18baf78dc
URL:
https://github.com/llvm/llvm-project/commit/a82ffe9d93a24abf30bcf63081096ea18baf78dc
DIFF:
https://github.com/llvm/llvm-project/commit/a82ffe9d93a24abf30bcf63081096ea18baf78dc.dif
Author: Artem Dergachev
Date: 2019-11-07T17:15:53-08:00
New Revision: acac540422e8cee4a77d10f087b2a2b67504b27b
URL:
https://github.com/llvm/llvm-project/commit/acac540422e8cee4a77d10f087b2a2b67504b27b
DIFF:
https://github.com/llvm/llvm-project/commit/acac540422e8cee4a77d10f087b2a2b67504b27b.dif
Author: Artem Dergachev
Date: 2019-11-07T17:15:53-08:00
New Revision: 5e0fb648420702e47c94de53757928360a106e8c
URL:
https://github.com/llvm/llvm-project/commit/5e0fb648420702e47c94de53757928360a106e8c
DIFF:
https://github.com/llvm/llvm-project/commit/5e0fb648420702e47c94de53757928360a106e8c.dif
Author: Artem Dergachev
Date: 2019-11-08T18:27:14-08:00
New Revision: e4da37e8a0a3197baca674d683cb05341c6a4097
URL:
https://github.com/llvm/llvm-project/commit/e4da37e8a0a3197baca674d683cb05341c6a4097
DIFF:
https://github.com/llvm/llvm-project/commit/e4da37e8a0a3197baca674d683cb05341c6a4097.dif
Author: Artem Dergachev
Date: 2019-11-08T18:27:14-08:00
New Revision: 57adc37fe57c6edabc006e6de41523319e874c65
URL:
https://github.com/llvm/llvm-project/commit/57adc37fe57c6edabc006e6de41523319e874c65
DIFF:
https://github.com/llvm/llvm-project/commit/57adc37fe57c6edabc006e6de41523319e874c65.dif
Author: Artem Dergachev
Date: 2019-11-21T18:11:15-08:00
New Revision: 6bbca3411b3861904c3b302f61d59efa14d4d0b9
URL:
https://github.com/llvm/llvm-project/commit/6bbca3411b3861904c3b302f61d59efa14d4d0b9
DIFF:
https://github.com/llvm/llvm-project/commit/6bbca3411b3861904c3b302f61d59efa14d4d0b9.dif
Author: Artem Dergachev
Date: 2019-11-21T18:59:46-08:00
New Revision: 0b58b80edb81bf8fb401f8a6e057ca9d50abc0f7
URL:
https://github.com/llvm/llvm-project/commit/0b58b80edb81bf8fb401f8a6e057ca9d50abc0f7
DIFF:
https://github.com/llvm/llvm-project/commit/0b58b80edb81bf8fb401f8a6e057ca9d50abc0f7.dif
Author: Artem Dergachev
Date: 2019-11-21T18:59:46-08:00
New Revision: bbc8662db1548f98b1c475cadf6260f9079c11ea
URL:
https://github.com/llvm/llvm-project/commit/bbc8662db1548f98b1c475cadf6260f9079c11ea
DIFF:
https://github.com/llvm/llvm-project/commit/bbc8662db1548f98b1c475cadf6260f9079c11ea.dif
Author: Artem Dergachev
Date: 2019-11-21T21:55:58-08:00
New Revision: a3b22da4e0ea84ed5890063926b6f54685c23225
URL:
https://github.com/llvm/llvm-project/commit/a3b22da4e0ea84ed5890063926b6f54685c23225
DIFF:
https://github.com/llvm/llvm-project/commit/a3b22da4e0ea84ed5890063926b6f54685c23225.dif
501 - 600 of 1254 matches
Mail list logo