https://github.com/ziqingluo-90 closed
https://github.com/llvm/llvm-project/pull/92031
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 edited
https://github.com/llvm/llvm-project/pull/92031
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ziqingluo-90 wrote:
Just realized how stupid I am (O_o)---the current implementation only compares
source locations with opt-out regions that are in the same source file, for all
source locations from loaded files. This is not going to work for cases like
below.
```
// in a pch header:
#prag
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/92031
>From ac5aeb5c3a134d085320fc7fc5cf3f2c8c41a1f1 Mon Sep 17 00:00:00 2001
From: ziqingluo-90
Date: Mon, 13 May 2024 13:31:21 -0700
Subject: [PATCH 1/4] fix safe buffer opt-out region serialization
---
clang/
ziqingluo-90 wrote:
Learned more about how loaded files & ASTs are managed in clang. Now opt-out
regions in a loaded AST can span over multiple files (within one TU). They now
behave in a consistent way when they are from loaded files or local files.
https://github.com/llvm/llvm-project/pul
https://github.com/ziqingluo-90 edited
https://github.com/llvm/llvm-project/pull/92031
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1025,6 +1421,92 @@ class DataInvocationGadget : public WarningGadget {
DeclUseList getClaimedVarUseSites() const override { return {}; }
};
+class UnsafeLibcFunctionCallGadget : public WarningGadget {
+ const CallExpr *const Call;
+ constexpr static const char *const T
@@ -443,6 +449,396 @@ AST_MATCHER(ArraySubscriptExpr, isSafeArraySubscript) {
return false;
}
+AST_MATCHER_P(CallExpr, hasNumArgs, unsigned, Num) {
+ return Node.getNumArgs() == Num;
+}
+
+namespace libc_func_matchers {
+// Under `libc_func_matchers`, define a set of matche
@@ -12383,6 +12383,13 @@ def warn_unsafe_buffer_operation : Warning<
"%select{unsafe pointer operation|unsafe pointer arithmetic|"
"unsafe buffer access|function introduces unsafe buffer manipulation|unsafe
invocation of span::data}0">,
InGroup, DefaultIgnore;
+def warn_
https://github.com/ziqingluo-90 edited
https://github.com/llvm/llvm-project/pull/105383
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,101 @@
+// RUN: %clang_cc1 -std=c++20 -Wno-all -Wunsafe-buffer-usage \
+// RUN:-verify %s
+
+typedef struct {} FILE;
+void memcpy();
+void __asan_memcpy();
+void strcpy();
+void strcpy_s();
+void wcscpy_s();
+unsigned strlen( const char* str );
+int fprintf(
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/101583
>From cce5781733a7c294f10dc75f48372ff6ee331239 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 1 Aug 2024 16:36:27 -0700
Subject: [PATCH 1/4] [-Wunsafe-buffer-usage] Add warn on unsafe calls to libc
f
ziqingluo-90 wrote:
Addressed comments.
https://github.com/llvm/llvm-project/pull/101583
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -12383,6 +12383,13 @@ def warn_unsafe_buffer_operation : Warning<
"%select{unsafe pointer operation|unsafe pointer arithmetic|"
"unsafe buffer access|function introduces unsafe buffer manipulation|unsafe
invocation of span::data}0">,
InGroup, DefaultIgnore;
+def warn_
https://github.com/ziqingluo-90 edited
https://github.com/llvm/llvm-project/pull/101583
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/101583
>From cce5781733a7c294f10dc75f48372ff6ee331239 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 1 Aug 2024 16:36:27 -0700
Subject: [PATCH 1/5] [-Wunsafe-buffer-usage] Add warn on unsafe calls to libc
f
https://github.com/ziqingluo-90 edited
https://github.com/llvm/llvm-project/pull/101583
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 created
https://github.com/llvm/llvm-project/pull/92031
A pair of `#pragma clang unsafe_buffer_usage begin/end` pragmas marks a
warning-opt-out region. The begin and end locations (opt-out regions) are
stored in preprocessor instances (PP) and will be queried b
@@ -1551,6 +1567,58 @@ bool
Preprocessor::isPPInSafeBufferOptOutRegion(SourceLocation &StartLoc) {
return InSafeBufferOptOutRegion;
}
+SmallVector
+Preprocessor::serializeSafeBufferOptOutMap() const {
+ assert(!InSafeBufferOptOutRegion &&
ziqingluo-90 wrot
ziqingluo-90 wrote:
> I'm very happy that this is going somewhere! Everything makes sense to me but
> I also don't know a lot about this stuff.
>
> > During serialization, it only serializes regions of the current translation
> > unit. Regions from loaded files are not serialized.
>
> Hmm how
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/92031
>From ac5aeb5c3a134d085320fc7fc5cf3f2c8c41a1f1 Mon Sep 17 00:00:00 2001
From: ziqingluo-90
Date: Mon, 13 May 2024 13:31:21 -0700
Subject: [PATCH 1/2] fix safe buffer opt-out region serialization
---
clang/
@@ -1551,6 +1567,58 @@ bool
Preprocessor::isPPInSafeBufferOptOutRegion(SourceLocation &StartLoc) {
return InSafeBufferOptOutRegion;
}
+SmallVector
+Preprocessor::serializeSafeBufferOptOutMap() const {
+ assert(!InSafeBufferOptOutRegion &&
ziqingluo-90 wrot
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/92031
>From ac5aeb5c3a134d085320fc7fc5cf3f2c8c41a1f1 Mon Sep 17 00:00:00 2001
From: ziqingluo-90
Date: Mon, 13 May 2024 13:31:21 -0700
Subject: [PATCH 1/3] fix safe buffer opt-out region serialization
---
clang/
@@ -1551,6 +1567,58 @@ bool
Preprocessor::isPPInSafeBufferOptOutRegion(SourceLocation &StartLoc) {
return InSafeBufferOptOutRegion;
}
+SmallVector
+Preprocessor::serializeSafeBufferOptOutMap() const {
+ assert(!InSafeBufferOptOutRegion &&
+ "Attempt to serialize sa
@@ -420,25 +420,64 @@ AST_MATCHER(ArraySubscriptExpr, isSafeArraySubscript) {
//already duplicated
// - call both from Sema and from here
- const auto *BaseDRE =
- dyn_cast(Node.getBase()->IgnoreParenImpCasts());
- if (!BaseDRE)
+ if (const auto *BaseDRE =
+
https://github.com/ziqingluo-90 created
https://github.com/llvm/llvm-project/pull/101583
None
>From 0ccb5a8fc0855b2dfb948c4bb844e0394b5cedb0 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 1 Aug 2024 16:36:27 -0700
Subject: [PATCH 1/2] [-Wunsafe-buffer-usage] Add warn on unsafe calls to l
https://github.com/ziqingluo-90 edited
https://github.com/llvm/llvm-project/pull/101583
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/101583
>From 0ccb5a8fc0855b2dfb948c4bb844e0394b5cedb0 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 1 Aug 2024 16:36:27 -0700
Subject: [PATCH 1/2] [-Wunsafe-buffer-usage] Add warn on unsafe calls to libc
f
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/101583
>From 0ccb5a8fc0855b2dfb948c4bb844e0394b5cedb0 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 1 Aug 2024 16:36:27 -0700
Subject: [PATCH 1/3] [-Wunsafe-buffer-usage] Add warn on unsafe calls to libc
f
ziqingluo-90 wrote:
Though we probably don't need this warning anymore but this is really a great
catch of wording issues!
https://github.com/llvm/llvm-project/pull/101583
___
cfe-commits mailing list
cfe-commits@lis
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/101583
>From 8a8b317c2b1c73117bcbbf771a783338448724a5 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 1 Aug 2024 16:36:27 -0700
Subject: [PATCH] [-Wunsafe-buffer-usage] Add warn on unsafe calls to libc
funct
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/101583
>From 8a8b317c2b1c73117bcbbf771a783338448724a5 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 1 Aug 2024 16:36:27 -0700
Subject: [PATCH 1/2] [-Wunsafe-buffer-usage] Add warn on unsafe calls to libc
f
@@ -443,6 +448,260 @@ AST_MATCHER(ArraySubscriptExpr, isSafeArraySubscript) {
return false;
}
+AST_MATCHER(CallExpr, isUnsafeLibcFunctionCall) {
+ static const std::set PredefinedNames{
+ // numeric conversion:
+ "atof",
+ "atoi",
+ "atol",
+ "atoll
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/101583
>From 979619ea3ac0b52944468160f582d82fce3cee7d Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 1 Aug 2024 16:36:27 -0700
Subject: [PATCH] [-Wunsafe-buffer-usage] Add warn on unsafe calls to libc
funct
https://github.com/ziqingluo-90 created
https://github.com/llvm/llvm-project/pull/105383
Depending on https://github.com/llvm/llvm-project/pull/101583
(rdar://117182250)
>From b0970a849a21180315ace77e40f3db95fddac346 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 1 Aug 2024 16:36:27 -07
@@ -0,0 +1,101 @@
+// RUN: %clang_cc1 -std=c++20 -Wno-all -Wunsafe-buffer-usage \
+// RUN:-verify %s
+
+typedef struct {} FILE;
+void memcpy();
+void __asan_memcpy();
+void strcpy();
+void strcpy_s();
+void wcscpy_s();
+unsigned strlen( const char* str );
+int fprintf(
@@ -0,0 +1,101 @@
+// RUN: %clang_cc1 -std=c++20 -Wno-all -Wunsafe-buffer-usage \
+// RUN:-verify %s
+
+typedef struct {} FILE;
+void memcpy();
+void __asan_memcpy();
+void strcpy();
+void strcpy_s();
+void wcscpy_s();
+unsigned strlen( const char* str );
+int fprintf(
https://github.com/ziqingluo-90 closed
https://github.com/llvm/llvm-project/pull/105383
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 created
https://github.com/llvm/llvm-project/pull/108308
For `snprintf(a, sizeof a, ...)`, the first two arguments form a safe pattern
if `a` is a constant array. In such a case, this commit will suppress the
warning.
(rdar://117182250)
This pattern will effe
https://github.com/ziqingluo-90 edited
https://github.com/llvm/llvm-project/pull/108308
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/108308
>From 3c8830a0e69922faf4fad190ba0b2e01a3392e62 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Tue, 6 Aug 2024 17:54:23 -0700
Subject: [PATCH 1/2] [-Wunsafe-buffer-usage] Reduce false positives with
consta
https://github.com/ziqingluo-90 closed
https://github.com/llvm/llvm-project/pull/108308
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 created
https://github.com/llvm/llvm-project/pull/113226
The analysis now searches for every descendant stmt of constructor initializers
and recurses if the descendant is another constructor call.
(rdar://137999201)
>From e27fccf11bb750e32453be923f6925abd4cfda3
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/113226
>From e27fccf11bb750e32453be923f6925abd4cfda31 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Mon, 21 Oct 2024 14:12:12 -0700
Subject: [PATCH 1/2] [-Wunsafe-buffer-usage] Fix false negatives of missing
2-
ziqingluo-90 wrote:
Worth to mention that there could be "false positives" introduced to those
std::span calls in C'tor initializers because the safe-pattern matching is
syntactic only, which doesn't know there can be "call stacks" involved in
those recursive cases.
https://github.com/llvm/l
@@ -420,6 +420,118 @@ AST_MATCHER(CXXConstructExpr,
isSafeSpanTwoParamConstruct) {
return false;
}
+class MaxValueEval : public RecursiveASTVisitor {
+
+ std::vector val;
+ ASTContext &Context;
+ llvm::APInt Max;
+ unsigned bit_width;
+
+public:
+ typedef RecursiveASTV
@@ -420,6 +420,118 @@ AST_MATCHER(CXXConstructExpr,
isSafeSpanTwoParamConstruct) {
return false;
}
+class MaxValueEval : public RecursiveASTVisitor {
+
+ std::vector val;
+ ASTContext &Context;
+ llvm::APInt Max;
+ unsigned bit_width;
+
+public:
+ typedef RecursiveASTV
@@ -420,6 +420,118 @@ AST_MATCHER(CXXConstructExpr,
isSafeSpanTwoParamConstruct) {
return false;
}
+class MaxValueEval : public RecursiveASTVisitor {
+
+ std::vector val;
+ ASTContext &Context;
+ llvm::APInt Max;
+ unsigned bit_width;
+
+public:
+ typedef RecursiveASTV
@@ -420,6 +420,118 @@ AST_MATCHER(CXXConstructExpr,
isSafeSpanTwoParamConstruct) {
return false;
}
+class MaxValueEval : public RecursiveASTVisitor {
+
+ std::vector val;
+ ASTContext &Context;
+ llvm::APInt Max;
+ unsigned bit_width;
+
+public:
+ typedef RecursiveASTV
@@ -420,6 +420,118 @@ AST_MATCHER(CXXConstructExpr,
isSafeSpanTwoParamConstruct) {
return false;
}
+class MaxValueEval : public RecursiveASTVisitor {
+
+ std::vector val;
+ ASTContext &Context;
+ llvm::APInt Max;
+ unsigned bit_width;
+
+public:
+ typedef RecursiveASTV
@@ -3912,3 +3896,56 @@ void clang::checkUnsafeBufferUsage(const Decl *D,
}
}
}
+
+void clang::checkUnsafeBufferUsage(const Decl *D,
+ UnsafeBufferUsageHandler &Handler,
+ bool EmitSuggestions) {
+#ifndef
https://github.com/ziqingluo-90 approved this pull request.
LGTM! Thank you @danakj for the continuous effort!
https://github.com/llvm/llvm-project/pull/91991
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailm
https://github.com/ziqingluo-90 created
https://github.com/llvm/llvm-project/pull/114894
We can take advantage of the attribute `alloc_size`. For example,
```
void * malloc(size_t size) __attribute__((alloc_size(1)));
std::span{(char *)malloc(x), x}; // this is safe
```
rdar://136634730
>F
https://github.com/ziqingluo-90 approved this pull request.
LGTM! Thank you @malavikasamak
https://github.com/llvm/llvm-project/pull/115552
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com
ziqingluo-90 wrote:
> This overlaps with #91991 which should probably be landed in its entirety.
> (It looks like it's about attributes but in fact it isn't. It's about finding
> _all_ gadgets in all those new places.) I think that patch was almost ready
> and it was a matter of considering my
https://github.com/ziqingluo-90 approved this pull request.
Nice!
nit: please add the pattern `std::span{std::addressor(...), 1}` to the
comment:
```
// Given a two-param std::span construct call, matches iff the call has the
// following forms:
// 1. `std::span{new T[n], n}`, where `n` is a
https://github.com/ziqingluo-90 closed
https://github.com/llvm/llvm-project/pull/109496
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/109496
>From e7f7f82b25eaae86623ac8f47731892b3b629d7d Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Fri, 20 Sep 2024 16:27:09 -0700
Subject: [PATCH 1/3] [-Wunsafe-buffer-usage] Fix a bug and suppress libc
warni
@@ -784,12 +786,12 @@ AST_MATCHER_P(CallExpr, hasUnsafePrintfStringArg,
return false; // possibly some user-defined printf function
ASTContext &Ctx = Finder->getASTContext();
- QualType FristParmTy = FD->getParamDecl(0)->getType();
+ QualType FirstParmTy = FD->getParam
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/109496
>From e7f7f82b25eaae86623ac8f47731892b3b629d7d Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Fri, 20 Sep 2024 16:27:09 -0700
Subject: [PATCH 1/4] [-Wunsafe-buffer-usage] Fix a bug and suppress libc
warni
https://github.com/ziqingluo-90 created
https://github.com/llvm/llvm-project/pull/109496
- Fix a bug in UnsafeBufferUsage.cpp related to casting to PointerType (report
by @hnrklssn
[here](https://github.com/llvm/llvm-project/pull/101583#discussion_r1767705992))
- Suppress -Wunsafe-buffer-usage
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/109496
>From e7f7f82b25eaae86623ac8f47731892b3b629d7d Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Fri, 20 Sep 2024 16:27:09 -0700
Subject: [PATCH] [-Wunsafe-buffer-usage] Fix a bug and suppress libc warnings
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/109496
>From e7f7f82b25eaae86623ac8f47731892b3b629d7d Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Fri, 20 Sep 2024 16:27:09 -0700
Subject: [PATCH 1/2] [-Wunsafe-buffer-usage] Fix a bug and suppress libc
warni
ziqingluo-90 wrote:
Hi @danakj , we are really looking forward to this change! Will you finish
it soon? Or I can pick it up and land it on behalf of you?
https://github.com/llvm/llvm-project/pull/91991
___
cfe-commits mailing list
cfe-commits@list
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/114894
>From bfcce44fe554ff4b0e274de68e1c460075b925de Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Mon, 4 Nov 2024 14:56:10 -0800
Subject: [PATCH] [-Wunsafe-buffer-usage] Add alloc_size attribute knowledge to
https://github.com/ziqingluo-90 edited
https://github.com/llvm/llvm-project/pull/114894
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 approved this pull request.
Neat!
https://github.com/llvm/llvm-project/pull/117021
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/116433
>From 429dd67554681595390828c990050c85dcbb557b Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 14 Nov 2024 23:08:47 -0800
Subject: [PATCH] [-Wunsafe-buffer-usage] Fix bug in unsafe cast to incomplete
@@ -2270,19 +2270,28 @@ class UnsafeBufferUsageReporter : public
UnsafeBufferUsageHandler {
MsgParam = 5;
} else if (const auto *ECE = dyn_cast(Operation)) {
QualType destType = ECE->getType();
+bool destTypeComplete = true;
+
if (!isa(de
https://github.com/ziqingluo-90 closed
https://github.com/llvm/llvm-project/pull/116433
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ziqingluo-90 wrote:
@ZequanWu Thanks for the bug-catching! I will look into it!
https://github.com/llvm/llvm-project/pull/91991
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 created
https://github.com/llvm/llvm-project/pull/116433
Fixed the crash coming from attempting to get size of incomplete types.
Casting `span.data()` to a pointer-to-incomplete-type should be immediately
considered unsafe.
Solving issue #116286.
>From 5aacab
@@ -124,24 +124,26 @@ void ExprEngine::VisitObjCForCollectionStmt(const
ObjCForCollectionStmt *S,
bool isContainerNull = state->isNull(collectionV).isConstrainedTrue();
- ExplodedNodeSet dstLocation;
- evalLocation(dstLocation, S, elem, Pred, state, elementV, false);
+
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/124477
>From 1f67a396d917428ff35ca54ecb2d9124c14342de Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 30 Jan 2025 12:24:45 -0800
Subject: [PATCH 1/2] [StaticAnalyzer] Add reproducers for a bug in
VisitObjCFo
ziqingluo-90 wrote:
> > I added @ziqingluo-90 @jkorous-apple as reviewers since you've approved
> > recent changes to this warning. Please let us know if you're the right
> > reviewers for this and feel free to loop in more people if necessary.
>
> Thank you @ivanaivanovska, the profiling and
https://github.com/ziqingluo-90 approved this pull request.
Thank you for the fix! I am curious if you have a counterexample? Because I
thought that `Size` must have an integral type.
https://github.com/llvm/llvm-project/pull/124022
___
cfe-commits m
@@ -431,6 +431,122 @@ AST_MATCHER(CXXConstructExpr,
isSafeSpanTwoParamConstruct) {
return false;
}
+class MaxValueEval : public ConstStmtVisitor {
+
+ ASTContext &Context;
+ llvm::APInt Max;
+ unsigned bit_width;
+
+public:
+ typedef ConstStmtVisitor VisitorBase;
+
+ e
@@ -431,6 +431,122 @@ AST_MATCHER(CXXConstructExpr,
isSafeSpanTwoParamConstruct) {
return false;
}
+class MaxValueEval : public ConstStmtVisitor {
+
+ ASTContext &Context;
+ llvm::APInt Max;
+ unsigned bit_width;
+
+public:
+ typedef ConstStmtVisitor VisitorBase;
+
+ e
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/124477
>From 635cba186fb9cda4718263caa0d349729279390d Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 30 Jan 2025 12:24:45 -0800
Subject: [PATCH 1/2] [StaticAnalyzer] Add a reproducer for a bug in
VisitObjCF
https://github.com/ziqingluo-90 closed
https://github.com/llvm/llvm-project/pull/124477
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ziqingluo-90 wrote:
> I wanted to push to your branch but for some reason I could not. Here is what
> I would have proposed to unblock this change:
>
> ```diff
> commit ab9670b613be2bdd802342f031bd5e3d20680925
> Author: Balazs Benics
> Date: 2025.01.29 13:02:16
>
> Add a unittest demons
@@ -124,24 +124,26 @@ void ExprEngine::VisitObjCForCollectionStmt(const
ObjCForCollectionStmt *S,
bool isContainerNull = state->isNull(collectionV).isConstrainedTrue();
- ExplodedNodeSet dstLocation;
- evalLocation(dstLocation, S, elem, Pred, state, elementV, false);
---
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/124477
>From b932fb61338ed6ec47db351240dc65b9454ba28c Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 30 Jan 2025 12:24:45 -0800
Subject: [PATCH 1/2] [StaticAnalyzer] Add reproducers for a bug in
VisitObjCFo
ziqingluo-90 wrote:
@steakhal I have added your test on behalf of you here:
https://github.com/llvm/llvm-project/pull/124477/commits/b932fb61338ed6ec47db351240dc65b9454ba28c
https://github.com/llvm/llvm-project/pull/124477
___
cfe-commits mailing list
https://github.com/ziqingluo-90 approved this pull request.
LGTM! Thanks.
https://github.com/llvm/llvm-project/pull/118249
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/120341
>From 69477100ca48508517a56c9efc3db6840bea82cb Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Wed, 18 Dec 2024 12:14:05 -0800
Subject: [PATCH] [clang][NFC] Increase NumStmtBits by 1 as we are approaching
ziqingluo-90 wrote:
> Let's just increase to 9 bits.
>
> Have you checked whether the size of `Stmt` or `Expr` changes when you do
> this?
I changed it to 9 bits and checked that `Stmt` is still 8 bytes and `Expr` is
still 16 bytes.
https://github.com/llvm/llvm-project/pull/120341
__
https://github.com/ziqingluo-90 edited
https://github.com/llvm/llvm-project/pull/120341
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 created
https://github.com/llvm/llvm-project/pull/120341
We have already hit the limit of NumStmtBits downstream after
010d0115fc8e3834fc6f747f0841f3b1e467c4da, which adds 4 new StmtNodes.
>From 6cb8ccb8005342c74018508e7e4d267bd6f44e4c Mon Sep 17 00:00:00 2001
F
https://github.com/ziqingluo-90 approved this pull request.
LGTM, thank you @malavikasamak
https://github.com/llvm/llvm-project/pull/119340
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com
https://github.com/ziqingluo-90 closed
https://github.com/llvm/llvm-project/pull/120341
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ziqingluo-90 created
https://github.com/llvm/llvm-project/pull/120643
In the previous commit 4797437463e63ee289a1ff1904cfb7b2fe6cb4c2, I used
`llvm::isInt(StmtClass::LAST##Class)` to test if `StmtClass` is
strictly bounded by the an unsigned integer of 'NumStmtBits'. That i
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/120643
>From b057ae37da2426e4ad04297600ce9bdf7d9a31c4 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 19 Dec 2024 13:44:42 -0800
Subject: [PATCH] [clang][NFC] Fix the static assertion in 4797437
In the previ
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/120643
>From dd71be83e763128ce432d3a77e17abb439575f4d Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 19 Dec 2024 13:44:42 -0800
Subject: [PATCH] [clang][NFC] Fix the static assertion in 4797437
In the previ
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/120643
>From d1b45d14157f9adf4ec8f41840f269b262ee8da6 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 19 Dec 2024 13:44:42 -0800
Subject: [PATCH] [clang][NFC] Fix the static assertion in 4797437
In the previ
https://github.com/ziqingluo-90 updated
https://github.com/llvm/llvm-project/pull/120643
>From ada689aff13ea5c582280ce72d3e735ca07caf60 Mon Sep 17 00:00:00 2001
From: Ziqing Luo
Date: Thu, 19 Dec 2024 13:44:42 -0800
Subject: [PATCH] [clang][NFC] Fix the static assertion in 4797437
In the previ
Author: Ziqing Luo
Date: 2024-12-20T12:42:21-08:00
New Revision: 131acb07d814fabcc969dcaa63f4f352cd529267
URL:
https://github.com/llvm/llvm-project/commit/131acb07d814fabcc969dcaa63f4f352cd529267
DIFF:
https://github.com/llvm/llvm-project/commit/131acb07d814fabcc969dcaa63f4f352cd529267.diff
LO
https://github.com/ziqingluo-90 closed
https://github.com/llvm/llvm-project/pull/120643
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ziqingluo-90 wrote:
> [#120341
> (comment)](https://github.com/llvm/llvm-project/pull/120341#discussion_r1893822845)
oops, I saw this after I hit the merge button. I will do it in a follow-up
commit.
https://github.com/llvm/llvm-project/pull/120643
___
@@ -433,37 +433,36 @@ AST_MATCHER(ArraySubscriptExpr, isSafeArraySubscript) {
//already duplicated
// - call both from Sema and from here
- const auto *BaseDRE =
- dyn_cast(Node.getBase()->IgnoreParenImpCasts());
- const auto *SLiteral =
- dyn_cast(Node.ge
101 - 200 of 264 matches
Mail list logo