https://github.com/balazske created
https://github.com/llvm/llvm-project/pull/81461
This is only a code reformatting and rename of variables to the newer format.
From d1078be3394fc240de014f72116e18d6740b5773 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Mon, 12 Feb 2
balazske wrote:
The change was evaluated on the following projects. "Lost reports" shows
results that disappear if the `ModelPOSIX` option is changed to true. "New
reports" shows the new results. Many of the new results come from the large
number of modeled functions. The lost reports are more
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/80457
From 1f65abda712efce624c01ec99675c8261a8e6cea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Wed, 31 Jan 2024 17:40:21 +0100
Subject: [PATCH] {clang][analyzer] Change default value of c
https://github.com/balazske created
https://github.com/llvm/llvm-project/pull/81138
This checker does not exist (any more?) but appeared in the documentation. No
other references to CallAndMessageUnInitRefArg are found in the full clang code.
From b9f0e178ab08286fda1c11e96e2ad46ab75ecf8b Mon S
https://github.com/balazske closed
https://github.com/llvm/llvm-project/pull/76979
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -57,6 +61,12 @@ class BlockInCriticalSectionChecker : public
Checker {
const CallEvent &call,
CheckerContext &C) const;
+ CritSectionMarker getCriticalSectionMarker(const CallEvent &Call,
+
@@ -57,6 +61,12 @@ class BlockInCriticalSectionChecker : public
Checker {
const CallEvent &call,
CheckerContext &C) const;
+ CritSectionMarker getCriticalSectionMarker(const CallEvent &Call,
+
https://github.com/balazske created
https://github.com/llvm/llvm-project/pull/80457
Default value of checker option `ModelPOSIX` is changed to `true`.
Documentation is updated.
From 1f65abda712efce624c01ec99675c8261a8e6cea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Dat
@@ -1385,14 +1385,16 @@ Improvements
- Improved the ``unix.StdCLibraryFunctions`` checker by modeling more
- functions like ``send``, ``recv``, ``readlink``, ``fflush``, ``mkdtemp``,
- ``getcwd`` and ``errno`` behavior.
+ functions like ``send``, ``recv``, ``re
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/76979
From e4932449fd2407cee888f3f0e5dc00c6ce637221 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Thu, 4 Jan 2024 18:16:12 +0100
Subject: [PATCH 1/6] [clang][analyzer] Add missing stream rel
balazske wrote:
I think we could get a note at the first `lock` call in this code, this
behavior is not entirely correct:
```
void test() {
std::mutex m;
m.lock();
m.unlock();
m.lock();
sleep(3);
m.unlock();
}
```
https://github.com/llvm/llvm-project/pull/80029
_
@@ -9896,9 +9903,13 @@ Expected ASTImporter::Import(FileID FromID, bool
IsBuiltin) {
// FIXME: The filename may be a virtual name that does probably not
// point to a valid file and we get no Entry here. In this case try
with
// the memory buffer below
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/79312
From 62dc7fdb2f86c81af501f7f1255a98d97ede303f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Wed, 24 Jan 2024 16:28:57 +0100
Subject: [PATCH 1/2] [clang][analyzer] Simplify code of Stre
https://github.com/balazske approved this pull request.
https://github.com/llvm/llvm-project/pull/79939
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/balazske edited
https://github.com/llvm/llvm-project/pull/79939
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2992,12 +2992,14 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
// char *realpath(const char *restrict file_name,
//char *restrict resolved_name);
-// FIXME: Improve for errno modeling.
addToFunctionSummaryMap(
"realpat
https://github.com/balazske closed
https://github.com/llvm/llvm-project/pull/78284
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -9896,9 +9903,13 @@ Expected ASTImporter::Import(FileID FromID, bool
IsBuiltin) {
// FIXME: The filename may be a virtual name that does probably not
// point to a valid file and we get no Entry here. In this case try
with
// the memory buffer below
@@ -9896,9 +9903,13 @@ Expected ASTImporter::Import(FileID FromID, bool
IsBuiltin) {
// FIXME: The filename may be a virtual name that does probably not
// point to a valid file and we get no Entry here. In this case try
with
// the memory buffer below
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/79470
From dbd9af4e77c34fcf6ce82f226f7dbf836033a8f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Thu, 25 Jan 2024 17:50:42 +0100
Subject: [PATCH 1/2] [clang][analyzer] Fix argument invalida
@@ -544,6 +545,21 @@ const ExplodedNode
*StreamChecker::getAcquisitionSite(const ExplodedNode *N,
return nullptr;
}
+static ProgramStateRef
+escapeArgs(ProgramStateRef State, CheckerContext &C, const CallEvent &Call,
+ const SmallVector &EscapingArgs) {
+ const a
@@ -0,0 +1,133 @@
+// RUN: %clang_analyze_cc1 -verify %s \
+// RUN: -analyzer-checker=core \
+// RUN: -analyzer-checker=alpha.unix.Stream \
+// RUN: -analyzer-checker=debug.StreamTester \
+// RUN: -analyzer-checker=debug.ExprInspection
+
+#include "Inputs/system-header-simulator.h
balazske wrote:
For clarification, the `evalRWCommon` new function is not planned to be used in
the same way as other `eval*` calls, the name may be misleading. This function
contains a "generic algorithm" that is called from the other `eval*` calls, but
not used directly in `CallDescriptionMa
https://github.com/balazske created
https://github.com/llvm/llvm-project/pull/79470
Specific arguments passed to stream handling functions are changed by the
function, this means these should be invalidated ("escaped") by the analyzer.
This change adds the argument invalidation (in specific ca
https://github.com/balazske approved this pull request.
https://github.com/llvm/llvm-project/pull/78895
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2211,6 +2221,15 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
ErrnoNEZeroIrrelevant, GenericFailureMsg)
.ArgConstraint(NotNull(ArgNo(0;
+// int pclose(FILE *stream);
+addToFunctionSummaryMap(
+"pclose", Signatu
balazske wrote:
My concern was the addition of many small functions that are used only from few
other `eval*` calls and are relatively special. And all of these need a common
big set of arguments like `StreamSym`, `CE`, `Call`. The build of states for
success and failure cases in the thing tha
@@ -926,6 +932,49 @@ void StreamChecker::evalFputx(const FnDescription *Desc,
const CallEvent &Call,
C.addTransition(StateFailed);
}
+void StreamChecker::evalFprintf(const FnDescription *Desc,
+const CallEvent &Call,
+
@@ -2211,6 +2221,15 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
ErrnoNEZeroIrrelevant, GenericFailureMsg)
.ArgConstraint(NotNull(ArgNo(0;
+// int pclose(FILE *stream);
+addToFunctionSummaryMap(
+"pclose", Signatu
@@ -778,42 +781,61 @@ void StreamChecker::evalFgetc(const FnDescription *Desc,
const CallEvent &Call,
assertStreamStateOpened(OldSS);
balazske wrote:
There should be a same kind of problem with `fread`, or not? (That function was
not changed in the recent
balazske wrote:
Later more functions can be simplified with `evalRWCommon`, probably in a next
patch to make the review more simple.
https://github.com/llvm/llvm-project/pull/79312
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.
https://github.com/balazske created
https://github.com/llvm/llvm-project/pull/79312
Common parts of some "eval" functions are moved into one function. The
non-common parts of the "eval" functions are passed through lambda parameters
to the new function.
From 62dc7fdb2f86c81af501f7f1255a98d97e
@@ -778,42 +781,61 @@ void StreamChecker::evalFgetc(const FnDescription *Desc,
const CallEvent &Call,
assertStreamStateOpened(OldSS);
balazske wrote:
Will this invalidate only the buffer, not `F1`?
https://github.com/llvm/llvm-project/pull/73638
__
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/76979
From e4932449fd2407cee888f3f0e5dc00c6ce637221 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Thu, 4 Jan 2024 18:16:12 +0100
Subject: [PATCH 1/6] [clang][analyzer] Add missing stream rel
balazske wrote:
> This patch breaks a downstream test, like this:
I think this can be caused by missing the default `evalCall` for `fscanf`, but
did not find the exact reason.
https://github.com/llvm/llvm-project/pull/78180
___
cfe-commits mailing li
@@ -916,6 +922,45 @@ void StreamChecker::evalFputx(const FnDescription *Desc,
const CallEvent &Call,
C.addTransition(StateFailed);
}
+void StreamChecker::evalUngetc(const FnDescription *Desc, const CallEvent
&Call,
+ CheckerContext &C) const {
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/76979
From e4932449fd2407cee888f3f0e5dc00c6ce637221 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Thu, 4 Jan 2024 18:16:12 +0100
Subject: [PATCH 1/5] [clang][analyzer] Add missing stream rel
balazske wrote:
Test for these functions can be added to file std-c-library-functions-POSIX.c
(with check of return value and `errno`).
https://github.com/llvm/llvm-project/pull/78930
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lis
https://github.com/balazske approved this pull request.
https://github.com/llvm/llvm-project/pull/78930
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/balazske edited
https://github.com/llvm/llvm-project/pull/78895
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -51,6 +51,17 @@ void check_freopen(void) {
if (errno) {} // expected-warning{{An undefined value may be read from
'errno'}}
}
+void check_popen(void) {
+ FILE *F = popen("xxx", "r");
+ if (!F) {
+clang_analyzer_eval(errno != 0); // expected-warning{{TRUE}}
+if
@@ -2201,6 +2214,56 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
ErrnoNEZeroIrrelevant, GenericFailureMsg)
.ArgConstraint(NotNull(ArgNo(0;
+// int fgetc(FILE *stream);
+// 'getc' is the same as 'fgetc' but may be a macro
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/76979
From c45d8c9ef074c8dbce862d88222e16c2e60be619 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Thu, 4 Jan 2024 18:16:12 +0100
Subject: [PATCH 1/5] [clang][analyzer] Add missing stream rel
https://github.com/balazske approved this pull request.
OK, change can be merged before the simplification.
https://github.com/llvm/llvm-project/pull/78693
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/l
https://github.com/balazske closed
https://github.com/llvm/llvm-project/pull/78180
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
balazske wrote:
I have already a working code to simplify code repetitions, but want to merge
first patches #76979 and #78180 (@NagyDonat could you look at these too?).
https://github.com/llvm/llvm-project/pull/78693
___
cfe-commits mailing list
cfe-
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/76979
From c45d8c9ef074c8dbce862d88222e16c2e60be619 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Thu, 4 Jan 2024 18:16:12 +0100
Subject: [PATCH 1/4] [clang][analyzer] Add missing stream rel
https://github.com/balazske approved this pull request.
https://github.com/llvm/llvm-project/pull/78680
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/76979
From c45d8c9ef074c8dbce862d88222e16c2e60be619 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Thu, 4 Jan 2024 18:16:12 +0100
Subject: [PATCH 1/3] [clang][analyzer] Add missing stream rel
https://github.com/balazske closed
https://github.com/llvm/llvm-project/pull/72242
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/78284
From 41393908cb142f5b863a7a4203d89a57c5ce4bc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Wed, 22 Nov 2023 16:33:58 +0100
Subject: [PATCH 1/2] [clang][ASTImporter] Improve import of
balazske wrote:
After this change it should be possible to add a
```
static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
VarTemplateDecl *D1, VarTemplateDecl *D2)
```
function with all tests passing.
https://github.com/llvm/llvm-projec
https://github.com/balazske created
https://github.com/llvm/llvm-project/pull/78284
Code of `VisitVarTemplateSpecializationDecl` was rewritten based on code of
`VisitVarDecl`. Additional changes (in structural equivalence) were made to
make tests pass.
From 41393908cb142f5b863a7a4203d89a57c5c
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/78180
From aacfc3f06ee51ede08464cb23ec32b210e703b6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Mon, 15 Jan 2024 16:41:34 +0100
Subject: [PATCH 1/2] [clang][analyzer] Add function 'fscanf'
https://github.com/balazske approved this pull request.
https://github.com/llvm/llvm-project/pull/78079
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -248,3 +248,25 @@ void check_fflush_all(void) {
if (errno) {}// no-warning
}
}
+
+void check_opendir(const char *Path) {
+ DIR *Dir = opendir(Path);
+ if (Dir == NULL) {
+clang_analyzer_eval(errno != 0); // expected-warning{{TRUE}}
+if (er
@@ -248,3 +248,25 @@ void check_fflush_all(void) {
if (errno) {}// no-warning
}
}
+
+void check_opendir(const char *Path) {
+ DIR *Dir = opendir(Path);
+ if (Dir == NULL) {
+clang_analyzer_eval(errno != 0); // expected-warning{{TRUE}}
+if (er
https://github.com/balazske approved this pull request.
https://github.com/llvm/llvm-project/pull/77902
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/balazske created
https://github.com/llvm/llvm-project/pull/78180
None
From aacfc3f06ee51ede08464cb23ec32b210e703b6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Mon, 15 Jan 2024 16:41:34 +0100
Subject: [PATCH] [clang][analyzer] Add function 'fscan
https://github.com/balazske closed
https://github.com/llvm/llvm-project/pull/72841
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -6245,17 +6245,21 @@ ExpectedDecl
ASTNodeImporter::VisitVarTemplateDecl(VarTemplateDecl *D) {
D->getTemplatedDecl()))
continue;
if (IsStructuralMatch(D, FoundTemplate)) {
-// The Decl in the "From" context
@@ -2252,6 +2252,176 @@ TEST_F(StructuralEquivalenceStmtTest,
UnaryOperatorDifferentOps) {
EXPECT_FALSE(testStructuralMatch(t));
}
+TEST_F(StructuralEquivalenceStmtTest,
+ CXXOperatorCallExprVsUnaryBinaryOperator) {
+ auto t = makeNamedDecls(
+ R"(
+ templa
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/72242
From 5300f979c96eb2f88c298872f0519e274c155cfe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Tue, 14 Nov 2023 11:53:20 +0100
Subject: [PATCH 1/3] [clang][ASTImporter] Improve structural
https://github.com/balazske closed
https://github.com/llvm/llvm-project/pull/77613
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2859,13 +2859,19 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
"fseeko",
Signature(ArgTypes{FilePtrTy, Off_tTy, IntTy}, RetType{IntTy}),
Summary(NoEvalCall)
-.Case(ReturnsZeroOrMinusOne, ErrnoIrrelevant)
-.ArgCons
@@ -2859,13 +2859,19 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
"fseeko",
Signature(ArgTypes{FilePtrTy, Off_tTy, IntTy}, RetType{IntTy}),
Summary(NoEvalCall)
-.Case(ReturnsZeroOrMinusOne, ErrnoIrrelevant)
-.ArgCons
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/77613
From 96a786f07ca5fb84b372e0b7c60f371bf4cdfd7c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Wed, 10 Jan 2024 10:55:27 +0100
Subject: [PATCH] [clang][analyzer] Add function 'fprintf' to
https://github.com/balazske approved this pull request.
https://github.com/llvm/llvm-project/pull/77580
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/balazske deleted
https://github.com/llvm/llvm-project/pull/77580
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/balazske deleted
https://github.com/llvm/llvm-project/pull/77580
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/balazske closed
https://github.com/llvm/llvm-project/pull/74627
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -268,8 +268,12 @@ class StreamChecker : public Checkerhttps://github.com/llvm/llvm-project/pull/77580
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -324,6 +343,60 @@ void error_fseek_0(void) {
fclose(F);
}
+void error_fseeko_0(void) {
+ FILE *F = fopen("file", "r");
+ if (!F)
+return;
+ int rc = fseeko(F, 0, SEEK_SET);
+ if (rc) {
+int IsFEof = feof(F), IsFError = ferror(F);
+// Get ferror or no error
@@ -268,8 +268,12 @@ class StreamChecker : public Checkerhttps://github.com/llvm/llvm-project/pull/77580
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -324,6 +355,57 @@ void error_fseek_0(void) {
fclose(F);
}
+void error_fseeko_0(void) {
+ FILE *F = fopen("file", "r");
+ if (!F)
+return;
+ int rc = fseeko(F, 0, SEEK_SET);
+ if (rc) {
+int IsFEof = feof(F), IsFError = ferror(F);
+// Get ferror or no error
@@ -324,6 +355,57 @@ void error_fseek_0(void) {
fclose(F);
}
+void error_fseeko_0(void) {
+ FILE *F = fopen("file", "r");
+ if (!F)
+return;
+ int rc = fseeko(F, 0, SEEK_SET);
+ if (rc) {
+int IsFEof = feof(F), IsFError = ferror(F);
+// Get ferror or no error
https://github.com/balazske deleted
https://github.com/llvm/llvm-project/pull/77580
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -324,6 +355,57 @@ void error_fseek_0(void) {
fclose(F);
}
+void error_fseeko_0(void) {
+ FILE *F = fopen("file", "r");
+ if (!F)
+return;
+ int rc = fseeko(F, 0, SEEK_SET);
+ if (rc) {
+int IsFEof = feof(F), IsFError = ferror(F);
+// Get ferror or no error
@@ -324,6 +355,57 @@ void error_fseek_0(void) {
fclose(F);
}
+void error_fseeko_0(void) {
+ FILE *F = fopen("file", "r");
+ if (!F)
+return;
+ int rc = fseeko(F, 0, SEEK_SET);
+ if (rc) {
+int IsFEof = feof(F), IsFError = ferror(F);
+// Get ferror or no error
balazske wrote:
It is better to replace in code of `evalFtell` the `C.getASTContext().LongTy`
with `Call.getResultType()` (occurs 2 times), this is more exact if `off_t` is
defined to something else than `long`.
https://github.com/llvm/llvm-project/pull/77580
__
https://github.com/balazske created
https://github.com/llvm/llvm-project/pull/77613
[clang][analyzer] Add function 'fprintf' to StreamChecker.
From 574816e425d623b3b07674422b901879cc3c83c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Wed, 10 Jan 2024 10:55:27 +0100
https://github.com/balazske approved this pull request.
https://github.com/llvm/llvm-project/pull/77576
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/balazske closed
https://github.com/llvm/llvm-project/pull/77331
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -5919,15 +5919,26 @@ ExpectedDecl
ASTNodeImporter::VisitClassTemplateDecl(ClassTemplateDecl *D) {
if (ToD)
return ToD;
- bool IsFriendTemplate = D->getFriendObjectKind() != Decl::FOK_None;
- bool IsDependentContext = DC != LexicalDC ? LexicalDC->isDependentContext(
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/74627
From cbcb81ebdbc49e3bd11b6f716ac14658a729b787 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Tue, 5 Dec 2023 15:23:37 +0100
Subject: [PATCH 1/4] [clang][ASTImporter] Improve import of f
@@ -2201,6 +2214,56 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
ErrnoNEZeroIrrelevant, GenericFailureMsg)
.ArgConstraint(NotNull(ArgNo(0;
+// int fgetc(FILE *stream);
+// 'getc' is the same as 'fgetc' but may be a macro
balazske wrote:
I have already a patch to add these functions: #76979. The conditions for
`fputc` are not the same, this can be clarified at the other patch.
https://github.com/llvm/llvm-project/pull/77435
___
cfe-commits mailing list
cfe-commits@list
@@ -916,6 +922,44 @@ void StreamChecker::evalFputx(const FnDescription *Desc,
const CallEvent &Call,
C.addTransition(StateFailed);
}
+void StreamChecker::evalUngetc(const FnDescription *Desc, const CallEvent
&Call,
+ CheckerContext &C) const {
@@ -916,6 +922,44 @@ void StreamChecker::evalFputx(const FnDescription *Desc,
const CallEvent &Call,
C.addTransition(StateFailed);
}
+void StreamChecker::evalUngetc(const FnDescription *Desc, const CallEvent
&Call,
+ CheckerContext &C) const {
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/77331
From 9bcc43b5c62ba969f91c495d4d570c5c4337aca2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Mon, 8 Jan 2024 16:42:58 +0100
Subject: [PATCH 1/3] [clang][analyzer] Add 'ungetc' to Stream
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/77331
From 9bcc43b5c62ba969f91c495d4d570c5c4337aca2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Mon, 8 Jan 2024 16:42:58 +0100
Subject: [PATCH 1/2] [clang][analyzer] Add 'ungetc' to Stream
https://github.com/balazske created
https://github.com/llvm/llvm-project/pull/77331
`StdLibraryFunctionsChecker` is updated too with `ungetc`.
From 9bcc43b5c62ba969f91c495d4d570c5c4337aca2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Mon, 8 Jan 2024 16:42:58 +0100
S
https://github.com/balazske approved this pull request.
https://github.com/llvm/llvm-project/pull/77040
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/balazske approved this pull request.
This reordering is not a significant feature (and may change in the future) and
no test existed before, it is enough (if this exists) if there is a GDB test
for the crash.
https://github.com/llvm/llvm-project/pull/77079
__
https://github.com/balazske updated
https://github.com/llvm/llvm-project/pull/76979
From e24b90eebfff7a352dd2c0df7f948ffef26ea3b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?=
Date: Thu, 4 Jan 2024 18:16:12 +0100
Subject: [PATCH 1/3] [clang][analyzer] Add missing stream rel
@@ -75,13 +75,16 @@ void errno_mkdtemp(char *template) {
}
}
-void errno_getcwd(char *Buf, size_t sz) {
- char *Path = getcwd(Buf, sz);
- if (Path == NULL) {
-clang_analyzer_eval(errno != 0); // expected-warning{{TRUE}}
-if (errno) {} /
@@ -2519,12 +2519,17 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
addToFunctionSummaryMap(
"getcwd", Signature(ArgTypes{CharPtrTy, SizeTy}, RetType{CharPtrTy}),
Summary(NoEvalCall)
-.Case({ReturnValueCondition(BO_EQ, ArgNo(0))},
+
@@ -2519,12 +2519,17 @@ void StdLibraryFunctionsChecker::initFunctionSummaries(
addToFunctionSummaryMap(
"getcwd", Signature(ArgTypes{CharPtrTy, SizeTy}, RetType{CharPtrTy}),
Summary(NoEvalCall)
-.Case({ReturnValueCondition(BO_EQ, ArgNo(0))},
+
balazske wrote:
I can not check what caused exactly the problems but the change looks correct
and in change D154764 there seems to be no reason for re-ordering at non-record
objects. As an improvement, some tests could be added that check for
re-ordering at `RecordDecl` and (this is the more
https://github.com/balazske edited
https://github.com/llvm/llvm-project/pull/76979
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
301 - 400 of 712 matches
Mail list logo