https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/134310
>From 44f9ccd6b4104fb07ad9cf9581c41c6d473525ec Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 3 Apr 2025 14:53:29 -0700
Subject: [PATCH 1/3] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/134310
>From 44f9ccd6b4104fb07ad9cf9581c41c6d473525ec Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 3 Apr 2025 14:53:29 -0700
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
fmayer wrote:
Looks like this CL broke the MSAN bot:
https://lab.llvm.org/buildbot/#/builders/169/builds/10068
https://github.com/llvm/llvm-project/pull/132748
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/ma
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/134310
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer edited
https://github.com/llvm/llvm-project/pull/134310
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer ready_for_review
https://github.com/llvm/llvm-project/pull/134310
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/134310
>From 44f9ccd6b4104fb07ad9cf9581c41c6d473525ec Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 3 Apr 2025 14:53:29 -0700
Subject: [PATCH 1/6] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/134310
>From 44f9ccd6b4104fb07ad9cf9581c41c6d473525ec Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 3 Apr 2025 14:53:29 -0700
Subject: [PATCH 1/5] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/134310
>From 44f9ccd6b4104fb07ad9cf9581c41c6d473525ec Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 3 Apr 2025 14:53:29 -0700
Subject: [PATCH 1/4] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer created
https://github.com/llvm/llvm-project/pull/134310
This will improve performance, because the trap checks fail at most once
(when the program crashes).
>From 44f9ccd6b4104fb07ad9cf9581c41c6d473525ec Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 3 Apr
Author: Florian Mayer
Date: 2025-03-28T13:21:03-07:00
New Revision: c0952a931c7d556ca9f0073d86d591a37eb60477
URL:
https://github.com/llvm/llvm-project/commit/c0952a931c7d556ca9f0073d86d591a37eb60477
DIFF:
https://github.com/llvm/llvm-project/commit/c0952a931c7d556ca9f0073d86d591a37eb60477.diff
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/133350
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -164,16 +161,19 @@ ast_matchers::StatementMatcher
isPointerLikeOperatorArrow() {
ofClass(pointerClass();
}
-ast_matchers::StatementMatcher isSmartPointerLikeValueMethodCall() {
+ast_matchers::StatementMatcher
+isSmartPointerLikeValueMethodCal
@@ -23,12 +24,27 @@ using ast_matchers::pointerType;
using ast_matchers::referenceType;
using ast_matchers::returns;
-bool hasSmartPointerClassShape(const CXXRecordDecl &RD, bool &HasGet,
- bool &HasValue) {
+CanQualType getLikeReturnType(QualType
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/133350
>From 8ece858e76fad0962b2567f03bf80bcaf2828348 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 27 Mar 2025 18:25:23 -0700
Subject: [PATCH 1/7] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UT
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/133350
>From 8ece858e76fad0962b2567f03bf80bcaf2828348 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 27 Mar 2025 18:25:23 -0700
Subject: [PATCH 1/5] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UT
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/133350
>From 8ece858e76fad0962b2567f03bf80bcaf2828348 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 27 Mar 2025 18:25:23 -0700
Subject: [PATCH 1/4] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UT
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/133350
>From 8ece858e76fad0962b2567f03bf80bcaf2828348 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 27 Mar 2025 18:25:23 -0700
Subject: [PATCH 1/3] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UT
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/133350
>From 8ece858e76fad0962b2567f03bf80bcaf2828348 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 27 Mar 2025 18:25:23 -0700
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UT
https://github.com/fmayer created
https://github.com/llvm/llvm-project/pull/132993
None
>From 4bd5834b5f32250269e67a9b26e406b9e01a37b1 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Tue, 25 Mar 2025 14:05:31 -0700
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/132993
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/132314
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer approved this pull request.
https://github.com/llvm/llvm-project/pull/132091
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
fmayer wrote:
Please take a look at the sanitizer buildbot failure above.
https://github.com/llvm/llvm-project/pull/132037
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1681,7 +1681,7 @@ std::optional
Sema::GetDecompositionElementCount(QualType T,
llvm::APSInt TupleSize(Ctx.getTypeSize(Ctx.getSizeType()));
switch (isTupleLike(*this, Loc, T, TupleSize)) {
case IsTupleLike::Error:
-return {};
+return std::nullopt;
@@ -1681,7 +1681,7 @@ std::optional
Sema::GetDecompositionElementCount(QualType T,
llvm::APSInt TupleSize(Ctx.getTypeSize(Ctx.getSizeType()));
switch (isTupleLike(*this, Loc, T, TupleSize)) {
case IsTupleLike::Error:
-return {};
+return std::nullopt;
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/121957
>From 2feb85c15f64546cb6874e1ca0a1310bd1e1bedd Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Tue, 7 Jan 2025 07:57:09 -0800
Subject: [PATCH 1/7] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
fmayer wrote:
Actually, there was a bug I fixed: even if the alignment of the original
variable is >= 16, we still need to fix up the size.
https://github.com/llvm/llvm-project/pull/121957
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https:
@@ -715,8 +715,16 @@ MCSymbol *AsmPrinter::getSymbolPreferLocal(const
GlobalValue &GV) const {
return TM.getSymbol(&GV);
}
-/// EmitGlobalVariable - Emit the specified global variable to the .s file.
void AsmPrinter::emitGlobalVariable(const GlobalVariable *GV) {
+ MaybeA
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/121957
>From 2feb85c15f64546cb6874e1ca0a1310bd1e1bedd Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Tue, 7 Jan 2025 07:57:09 -0800
Subject: [PATCH 1/7] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/121957
>From 2feb85c15f64546cb6874e1ca0a1310bd1e1bedd Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Tue, 7 Jan 2025 07:57:09 -0800
Subject: [PATCH 1/6] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/121957
>From 2feb85c15f64546cb6874e1ca0a1310bd1e1bedd Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Tue, 7 Jan 2025 07:57:09 -0800
Subject: [PATCH 1/5] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/128976
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/128976
>From 1903289d8fc62619f107094c9cb8b1dbccc09f91 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Wed, 26 Feb 2025 16:59:52 -0800
Subject: [PATCH 1/4] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UT
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/128976
>From 1903289d8fc62619f107094c9cb8b1dbccc09f91 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Wed, 26 Feb 2025 16:59:52 -0800
Subject: [PATCH 1/3] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UT
@@ -8663,31 +8663,95 @@ static const RecordDecl
*GetEnclosingNamedOrTopAnonRecord(const FieldDecl *FD) {
return RD;
}
-static bool
-CheckCountExpr(Sema &S, FieldDecl *FD, Expr *E,
- llvm::SmallVectorImpl &Decls) {
+enum class CountedByInvalidPointeeTypeKind {
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/128976
>From 1903289d8fc62619f107094c9cb8b1dbccc09f91 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Wed, 26 Feb 2025 16:59:52 -0800
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UT
https://github.com/fmayer created
https://github.com/llvm/llvm-project/pull/128976
None
>From 1903289d8fc62619f107094c9cb8b1dbccc09f91 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Wed, 26 Feb 2025 16:59:52 -0800
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
@@ -8663,31 +8663,95 @@ static const RecordDecl
*GetEnclosingNamedOrTopAnonRecord(const FieldDecl *FD) {
return RD;
}
-static bool
-CheckCountExpr(Sema &S, FieldDecl *FD, Expr *E,
- llvm::SmallVectorImpl &Decls) {
+enum class CountedByInvalidPointeeTypeKind {
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/121957
>From 2feb85c15f64546cb6874e1ca0a1310bd1e1bedd Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Tue, 7 Jan 2025 07:57:09 -0800
Subject: [PATCH 1/5] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/128259
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/121957
>From 2feb85c15f64546cb6874e1ca0a1310bd1e1bedd Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Tue, 7 Jan 2025 07:57:09 -0800
Subject: [PATCH 1/3] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/121957
>From 2feb85c15f64546cb6874e1ca0a1310bd1e1bedd Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Tue, 7 Jan 2025 07:57:09 -0800
Subject: [PATCH 1/4] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/128259
>From 19e50c78a6922dd64dce764bb9d27d6e3bb5cbad Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Fri, 21 Feb 2025 17:05:04 -0800
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UT
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/121957
>From 2feb85c15f64546cb6874e1ca0a1310bd1e1bedd Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Tue, 7 Jan 2025 07:57:09 -0800
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer created
https://github.com/llvm/llvm-project/pull/128259
None
>From 19e50c78a6922dd64dce764bb9d27d6e3bb5cbad Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Fri, 21 Feb 2025 17:05:04 -0800
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/128218
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer created
https://github.com/llvm/llvm-project/pull/128218
we want the stack safety analysis to be able to skip array accesses that
are already checked by array-bounds.
>From 5d98080bb90e412b3e91c00dc54060d1e7163c89 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Fr
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/126656
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/126163
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
fmayer wrote:
Sorry, I made a mistake. This should not be needed.
https://github.com/llvm/llvm-project/pull/126163
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/126796
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
fmayer wrote:
> I think isa should be preferred if the result of dyncast is not used. Same
> applied to the surrounding ifs too.
https://github.com/llvm/llvm-project/commit/ad905f133c5b22896900f3f335de990d0daf1ff4
https://github.com/llvm/llvm-project/pull/126796
___
Author: Florian Mayer
Date: 2025-02-11T13:42:31-08:00
New Revision: ad905f133c5b22896900f3f335de990d0daf1ff4
URL:
https://github.com/llvm/llvm-project/commit/ad905f133c5b22896900f3f335de990d0daf1ff4
DIFF:
https://github.com/llvm/llvm-project/commit/ad905f133c5b22896900f3f335de990d0daf1ff4.diff
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/126166
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/126166
>From 85540ede2e0ba1b6f0b8a69ac6d5a6ddf56fdfc8 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 6 Feb 2025 17:41:59 -0800
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer ready_for_review
https://github.com/llvm/llvm-project/pull/126796
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer created
https://github.com/llvm/llvm-project/pull/126796
None
>From 9811b24583640d9d70e5a496d1e3444ee86fea77 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Tue, 11 Feb 2025 13:14:26 -0800
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
fmayer wrote:
> The idea here makes sense to me and I don't mind if it lands without "NFC" in
> the title, but I think enforcing this at compile time would be more robust.
> Could we use `static_assert` with something like `llvm::BitWidth` and
> supporting infrastructure from `llvm/include/ADT
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/126658
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/126658
>From cc8aa7242294c5af5ae839396f02acc22b3afbb5 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Mon, 10 Feb 2025 19:10:56 -0800
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UT
https://github.com/fmayer created
https://github.com/llvm/llvm-project/pull/126658
IsLastOrInvalidFieldDecl would always return true if `Invalid=true`, so
we know that !IsLastOrInvalidFieldDecl(...) means !Invalid.
>From cc8aa7242294c5af5ae839396f02acc22b3afbb5 Mon Sep 17 00:00:00 2001
From: F
fmayer wrote:
> > > > > Not sure I understand your question? Which assertion? `clang.exe t.c`
> > > > > is triggering an assertion?
> > > >
> > > >
> > > > I don't understand why you say
> > > > > The value `CX_None` is the defaut value given to the `Range` when no
> > > > > `fcomplex-arithme
fmayer wrote:
> A fix-forward for a `-Werror` failure is much easier
> [07f2154](https://github.com/llvm/llvm-project/commit/07f21541424c95b4451292b288e5d69272c8020c).
Yeah I realised, so I closed this :) Sorry for the spam
https://github.com/llvm/llvm-project/pull/126610
_
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/126610
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer created
https://github.com/llvm/llvm-project/pull/126610
Reverts llvm/llvm-project#126544
This broke the build on sanitizer buildbots:
https://lab.llvm.org/buildbot/#/builders/66/builds/9811
>From 7d3737f2374f489256bc3fce9cb96283e8307f75 Mon Sep 17 00:00:00 2001
From
fmayer wrote:
> > > Not sure I understand your question? Which assertion? `clang.exe t.c` is
> > > triggering an assertion?
> >
> >
> > I don't understand why you say
> > > The value `CX_None` is the defaut value given to the `Range` when no
> > > `fcomplex-arithmetic` is used on the command
fmayer wrote:
> Not sure I understand your question? Which assertion? `clang.exe t.c` is
> triggering an assertion?
I don't understand why you say
> The value `CX_None` is the defaut value given to the `Range` when no
> `fcomplex-arithmetic` is used on the command lin
but imply it does not n
fmayer wrote:
> > @zahiraam the default of the `ComplexRange`, `CX_None` does overflow the
> > `2` storage bits. That means we were probably still using `CX_Full` (4
> > should overflow to `0`) even after #78330 (I am not sure why why that
> > changed the default in the first place). Also it's
fmayer wrote:
> Usually our tweak flags looks like -fsanitize--
>
> "bounds" is a group for (array-bounds + local-bounds) "undefined" is also
> group, but we already have -fsanitize-undefined-, but they kind of affect a
> few sanitizers
>
> so: `-fsanitize-undefined-strict-flex-arrays` or
>
https://github.com/fmayer edited
https://github.com/llvm/llvm-project/pull/126163
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/126163
>From e9f2dbecb2b4836100a565b4c741fc3425d08966 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 6 Feb 2025 16:50:02 -0800
Subject: [PATCH 1/3] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/126163
>From e9f2dbecb2b4836100a565b4c741fc3425d08966 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 6 Feb 2025 16:50:02 -0800
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
@@ -1192,13 +1193,40 @@ llvm::Value *CodeGenFunction::EmitLoadOfCountedByField(
return nullptr;
}
+LangOptions::StrictFlexArraysLevelKind
+CodeGenFunction::effectiveArrayBoundsFlexArraysLevel() {
+ using StrictFlexArraysLevelKind = LangOptions::StrictFlexArraysLevelKind;
+
@@ -444,6 +444,19 @@ class LangOptionsBase {
IncompleteOnly = 3,
};
+ enum class ArrayBoundsStrictFlexArraysLevelKind {
fmayer wrote:
i have a weak preference for flags to have a value that can represent the state
that is the same as if they were not
@@ -444,6 +444,19 @@ class LangOptionsBase {
IncompleteOnly = 3,
};
+ enum class ArrayBoundsStrictFlexArraysLevelKind {
fmayer wrote:
because we currently only store 3 bits for this, using -1 would be out of range
of that and just truncate to 111 = 7
@@ -1192,13 +1193,40 @@ llvm::Value *CodeGenFunction::EmitLoadOfCountedByField(
return nullptr;
}
+LangOptions::StrictFlexArraysLevelKind
+CodeGenFunction::effectiveArrayBoundsFlexArraysLevel() {
+ using StrictFlexArraysLevelKind = LangOptions::StrictFlexArraysLevelKind;
+
https://github.com/fmayer deleted
https://github.com/llvm/llvm-project/pull/126163
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -444,6 +444,19 @@ class LangOptionsBase {
IncompleteOnly = 3,
};
+ enum class ArrayBoundsStrictFlexArraysLevelKind {
fmayer wrote:
Wouldn't that mean that cc1 and clang have different semantics for this flag?
https://github.com/llvm/llvm-project/pu
@@ -444,6 +444,19 @@ class LangOptionsBase {
IncompleteOnly = 3,
};
+ enum class ArrayBoundsStrictFlexArraysLevelKind {
fmayer wrote:
we can't use -1 because it's a bitfield, but I can use 4
https://github.com/llvm/llvm-project/pull/126163
___
@@ -7,6 +7,16 @@
// RUN: %clang_cc1 -emit-llvm -triple x86_64 -fstrict-flex-arrays=2
-fsanitize=array-bounds -x c++ %s -o - | FileCheck %s
--check-prefixes=CHECK,CHECK-STRICT-2,CXX
// RUN: %clang_cc1 -emit-llvm -triple x86_64 -fstrict-flex-arrays=3
-fsanitize=array-bounds
fmayer wrote:
> What else even uses the level? __builtin_object_size codegen? Can you add a
> DocBrief to the flag explaining when you'd want to use it?
Let me find out details. We have some code that miscompiles with
`-fstrict-flex-arrays=1`, so something is exploiting the UB.
https://githu
fmayer wrote:
@zahiraam the default of the `ComplexRange`, `CX_None` does overflow the `2`
storage bits. That means we were probably still using `CX_Full` (4 should
overflow to `0`) even after https://github.com/llvm/llvm-project/pull/78330 (I
am not sure why "make sure why that changed the de
https://github.com/fmayer ready_for_review
https://github.com/llvm/llvm-project/pull/126166
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer updated
https://github.com/llvm/llvm-project/pull/126166
>From 85540ede2e0ba1b6f0b8a69ac6d5a6ddf56fdfc8 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 6 Feb 2025 17:41:59 -0800
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF
https://github.com/fmayer created
https://github.com/llvm/llvm-project/pull/126166
Fix existing failure
>From 85540ede2e0ba1b6f0b8a69ac6d5a6ddf56fdfc8 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 6 Feb 2025 17:41:59 -0800
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=9
https://github.com/fmayer ready_for_review
https://github.com/llvm/llvm-project/pull/126163
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer created
https://github.com/llvm/llvm-project/pull/126163
This is the control the definition of flex arrays separately for bounds
sanitizer than for the codegen.
>From e9f2dbecb2b4836100a565b4c741fc3425d08966 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 6 F
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/125958
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer ready_for_review
https://github.com/llvm/llvm-project/pull/125958
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer created
https://github.com/llvm/llvm-project/pull/125958
one would assume that `getCanonicalTypeUnqualified` returns an
unqualified type, but sadly one would be wrong. the current logic fails
for std::optional as implemented in libcxx, because Star and Arrow types
misma
https://github.com/fmayer closed
https://github.com/llvm/llvm-project/pull/123228
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer ready_for_review
https://github.com/llvm/llvm-project/pull/123228
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/fmayer created
https://github.com/llvm/llvm-project/pull/123228
This slightly simplifies the code.
>From 010c9738c2182d3e269c305fd97dbb498a5dc717 Mon Sep 17 00:00:00 2001
From: Florian Mayer
Date: Thu, 16 Jan 2025 11:23:54 -0800
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9
fmayer wrote:
> Seems like the root cause was an vectorizer bug, sent
> https://github.com/llvm/llvm-project/pull/120730 that fixes it.
This is landed, so from that side we could reland this.
https://github.com/llvm/llvm-project/pull/119225
___
cfe-c
fmayer wrote:
Seems like the root cause was an vectorizer bug, sent
https://github.com/llvm/llvm-project/pull/120730 that fixes it.
https://github.com/llvm/llvm-project/pull/119225
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.
fmayer wrote:
I was working on this miscompile. I cannot give a reproducer right now, but the
following observations:
The generated IR is clearly incorrect (the `inbounds nuw`), of the form:
```
%x = alloca [12 x i32], align 16
[...]
%59 = getelementptr inbounds nuw i8, ptr %x, i64 -4
%wide.ma
fmayer wrote:
> > I had to do something very similar for CHERI downstream: We have to ensure
> > that all globals are precisely representable (which may require rounding up
> > the size+alignment) so you don't end up creating bounds that include
> > adjacent ones. The original patch from 2019
@@ -0,0 +1,194 @@
+//===- unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
==//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,134 @@
+#include "clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h"
+
+#include "clang/AST/CanonicalType.h"
+#include "clang/AST/DeclCXX.h"
+#include "clang/ASTMatchers/ASTMatchers.h"
+#include "clang/Basic/OperatorKinds.h"
+
+namespace clang::dataflow {
+
+na
1 - 100 of 235 matches
Mail list logo