https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/87623
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1332,6 +1332,54 @@ llvm::DIType *CGDebugInfo::CreateType(const
TemplateSpecializationType *Ty,
auto PP = getPrintingPolicy();
Ty->getTemplateName().print(OS, PP, TemplateName::Qualified::None);
+ SourceLocation Loc = AliasDecl->getLocation();
+
+ if (CGM.getCodeGenO
@@ -1332,6 +1332,54 @@ llvm::DIType *CGDebugInfo::CreateType(const
TemplateSpecializationType *Ty,
auto PP = getPrintingPolicy();
Ty->getTemplateName().print(OS, PP, TemplateName::Qualified::None);
+ SourceLocation Loc = AliasDecl->getLocation();
+
+ if (CGM.getCodeGenO
@@ -1332,6 +1332,54 @@ llvm::DIType *CGDebugInfo::CreateType(const
TemplateSpecializationType *Ty,
auto PP = getPrintingPolicy();
Ty->getTemplateName().print(OS, PP, TemplateName::Qualified::None);
+ SourceLocation Loc = AliasDecl->getLocation();
+
+ if (CGM.getCodeGenO
@@ -0,0 +1,38 @@
+// RUN: %clang_cc1 -triple x86_64-unk-unk -o - -emit-llvm
-debug-info-kind=standalone -gtemplate-alias %s -gsimple-template-names=simple \
+// RUN: | FileCheck %s
+
+ Check that -gtemplate-alias causes DW_TAG_template_alias emission for
+ template aliase
https://github.com/Michael137 approved this pull request.
LGTM, if @pogo59 and @dwblaikie are happy with the driver changes
https://github.com/llvm/llvm-project/pull/87623
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/c
@@ -0,0 +1,38 @@
+// RUN: %clang_cc1 -triple x86_64-unk-unk -o - -emit-llvm
-debug-info-kind=standalone -gtemplate-alias %s -gsimple-template-names=simple \
+// RUN: | FileCheck %s
+
+ Check that -gtemplate-alias causes DW_TAG_template_alias emission for
+ template aliase
https://github.com/Michael137 approved this pull request.
https://github.com/llvm/llvm-project/pull/89594
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 created
https://github.com/llvm/llvm-project/pull/100355
This patch is motivated by the debug-info issue in
https://github.com/llvm/llvm-project/issues/48909. Clang is currently emitting
the `DW_AT_artificial` attribute on debug-info entries for structured binding
Michael137 wrote:
> Thanks for the patch!
>
> I would actually prefer option 2 here.
>
> `isImplicit` has other uses - namely for AST matchers and refactoring tools
> that also rely on knowing whether something was spelled in source.
>
> Note that I cannot comment on what make sense for debug
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/100355
>From 2b1255de05856e4c79f58d3e4071384ba80a881d Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 18 Jul 2024 16:26:16 -0500
Subject: [PATCH 1/2] [clang][Sema] Don't mark VarDecls of bindings in
tuple-li
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/100355
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/100355
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
Updated the PR and description with the alternative approach
https://github.com/llvm/llvm-project/pull/100355
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/100355
>From 2b1255de05856e4c79f58d3e4071384ba80a881d Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 18 Jul 2024 16:26:16 -0500
Subject: [PATCH 1/3] [clang][Sema] Don't mark VarDecls of bindings in
tuple-li
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/100355
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
> It looks like this is working for all other kinds of structured binding
> because `EmitDeclare(BindingDecl*, ...)` emits a proper `DILocalVariable` for
> them. But it skips `BindingDecl`s that have a holding variable for some
> reason. Perhaps a cleaner approach would be to
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/100767
>From 427fe3468534d31778ae361cc057dad817ecffea Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 26 Jul 2024 16:40:04 +0100
Subject: [PATCH 1/2] [clang][CGDebugInfo] Don't generate an implicit 'this'
pa
https://github.com/Michael137 created
https://github.com/llvm/llvm-project/pull/100903
This reverts commit 88e5206f2c96a34e23a4d63f0a38afb2db044f0a. The original
change went in a while ago (last year) in https://reviews.llvm.org/D145057. The
specific reason I'm proposing a revert is that this
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/100903
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/100903
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/100767
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/100903
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
ping
https://github.com/llvm/llvm-project/pull/100355
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/96422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
Closing in favour of https://github.com/llvm/llvm-project/pull/96422
https://github.com/llvm/llvm-project/pull/93809
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/93809
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 approved this pull request.
https://github.com/llvm/llvm-project/pull/90032
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From 07e603f7afc98e5af31962a5b1f44f4e4c079ebb Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 1/9] [clang][CGRecordLayout] Remove dependency on isZeroSize
Th
Michael137 wrote:
> > > For CGClass, it's not directly tied to the LLVM structure layout, but I'm
> > > not sure the generated code would be semantically correct if an "empty"
> > > field that isn't isEmpty() overlaps with actual data.
> >
> >
> > I haven't addressed this yet. To clarify, are
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From 07e603f7afc98e5af31962a5b1f44f4e4c079ebb Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 01/10] [clang][CGRecordLayout] Remove dependency on isZeroSize
Michael137 wrote:
> I wouldn't be surprised if there's missing coverage here.
Added a test for the `memcpy` part in the latest commit.
https://github.com/llvm/llvm-project/pull/96422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://list
@@ -185,6 +203,18 @@ CALL_AO(PackedMembers)
// CHECK: call void @llvm.memcpy.p0.p0.i64({{.*}} align 1 {{.*}} align 1
{{.*}}i64 16, i1 {{.*}})
// CHECK: ret ptr
+// WithEmptyField copy-assignment:
+// CHECK-LABEL: define linkonce_odr nonnull align {{[0-9]+}}
dereferenceable({
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/96422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/96422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
> If I'm understanding correctly, the way this currently works is that you do
> normal field layout, then if you discover that the actual offset of a field
> is less than the offset normal field layout would produce, you assume the
> struct is packed. This misses cases where
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/96422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -185,6 +203,18 @@ CALL_AO(PackedMembers)
// CHECK: call void @llvm.memcpy.p0.p0.i64({{.*}} align 1 {{.*}} align 1
{{.*}}i64 16, i1 {{.*}})
// CHECK: ret ptr
+// WithEmptyField copy-assignment:
+// CHECK-LABEL: define linkonce_odr nonnull align {{[0-9]+}}
dereferenceable({
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/96422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From 07e603f7afc98e5af31962a5b1f44f4e4c079ebb Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 01/11] [clang][CGRecordLayout] Remove dependency on isZeroSize
@@ -1,7 +1,17 @@
-// RUN: %clang_cc1 -emit-llvm < %s | grep "zeroinitializer, i16 16877"
+// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
// PR4390
struct sysfs_dirent {
- union { struct sysfs_elem_dir {} s_dir; };
+ union { struct sysfs_elem_dir { int x; } s_dir; };
unsi
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From 07e603f7afc98e5af31962a5b1f44f4e4c079ebb Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 01/12] [clang][CGRecordLayout] Remove dependency on isZeroSize
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From 07e603f7afc98e5af31962a5b1f44f4e4c079ebb Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 01/13] [clang][CGRecordLayout] Remove dependency on isZeroSize
@@ -1,7 +1,19 @@
-// RUN: %clang_cc1 -emit-llvm < %s | grep "zeroinitializer, i16 16877"
+// RUN: %clang_cc1 %s -emit-llvm -triple x86_64-linux-gnu -o - | FileCheck %s
--check-prefixes=CHECK,EMPTY
+// RUN: %clang_cc1 %s -emit-llvm -triple x86_64-windows-msvc -o - | FileCheck
%s
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/96422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/96422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
Some of the libc++ tests seem to be crashing on the x86_64 bot (can repro this
on my x86_64 at home, not aarch64 though). Looks like they're segfaulting
trying to access the member of an empty class. E.g., in
```
Process 1370440 stopped
* thread #1, name = 't.tmp.exe', stop re
Michael137 wrote:
> Some of the libc++ tests seem to be crashing on the x86_64 bot (can repro
> locally, on aarch64 too). Looks like they're segfaulting trying to access the
> member of an empty class. E.g., in
>
> ```
> Process 1370440 stopped
> * thread #1, name = 't.tmp.exe', stop reason =
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From 07e603f7afc98e5af31962a5b1f44f4e4c079ebb Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 01/15] [clang][CGRecordLayout] Remove dependency on isZeroSize
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From 07e603f7afc98e5af31962a5b1f44f4e4c079ebb Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 01/16] [clang][CGRecordLayout] Remove dependency on isZeroSize
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From 07e603f7afc98e5af31962a5b1f44f4e4c079ebb Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 01/19] [clang][CGRecordLayout] Remove dependency on isZeroSize
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From 46d15431cae1123282f4c0856360c9e3ce7322fc Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 01/20] [clang][CGRecordLayout] Remove dependency on isZeroSize
https://github.com/Michael137 created
https://github.com/llvm/llvm-project/pull/90717
Prior to this change the debug-location for the `llvm.instrprof.increment`
intrinsic was set to whatever the current DIBuilder's current debug location
was set to. This meant that for switch-statements, a cou
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/90717
>From 94c812abc4e528d3d3cb96fa3c3b7f78b6a87a91 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Wed, 1 May 2024 11:03:08 +0100
Subject: [PATCH 1/2] [clang][PGO] Apply artificial DebugLoc to
llvm.instrprof.in
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/90717
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
Broke some build bots. Fixing...
https://github.com/llvm/llvm-project/pull/90717
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 created
https://github.com/llvm/llvm-project/pull/90916
Caused build-bot failures on various platforms.
>From 062311676d54dadeae4f463fcf5dcc9ef8d1d971 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 3 May 2024 00:25:24 +0100
Subject: [PATCH] [clang][PGO][te
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/90916
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
`18707f53d6d2665634373847a0e9bdcbcac88c57`
https://github.com/llvm/llvm-project/pull/90717
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
> @Michael137 said:
>
> > Btw, as a follow-up to this patch should we check that this is compatible
> > with dsymutil (i.e., running dsymutil --verify)? I suspect it might need a
> > fixup (given LLDB doesn't even support this tag)
Yup, dsymutil looks good now, thanks
> The
@@ -137,6 +137,16 @@ bool isEmptyField(ASTContext &Context, const FieldDecl
*FD, bool AllowArrays,
bool isEmptyRecord(ASTContext &Context, QualType T, bool AllowArrays,
bool AsIfNoUniqueAddr = false);
+/// isEmptyFieldForLayout - Return true iff the field i
https://github.com/Michael137 created
https://github.com/llvm/llvm-project/pull/96385
This formatter doesn't currently provide much value. It only formats
`SourceLocation` and `QualType`. The only formatting it does for `QualType` is
call `getAsString()` on it.
The main motivator for the remo
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/96385
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
> LLVM Buildbot has detected a new failure on builder `lldb-arm-ubuntu` running
> on `linaro-lldb-arm-ubuntu` while building `clang` at step 6 "test".
>
> Full details are available at:
> https://lab.llvm.org/buildbot/#/builders/18/builds/384
>
> Here is the relevant piece o
https://github.com/Michael137 created
https://github.com/llvm/llvm-project/pull/96422
This is a follow-up from the conversation starting at
https://github.com/llvm/llvm-project/pull/93809#issuecomment-2173729801
The root problem that motivated the change are external AST sources that
compute
Michael137 wrote:
In draft for now because I'm still wrapping my head around some of the IR
implications of this. Some of them seem suspect.
https://github.com/llvm/llvm-project/pull/96422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https:
Michael137 wrote:
> It's not that hard to compute "no-data": non-RecordDecls are never no-data,
> RecordDecls are no-data if they don't have a vtable pointer
> (isDynamicClass()), and all fields are no-data. We can save it in the
> CGRecordLayout.
>
> Assuming that's the route we want to go,
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From f5938919b3a0060db6b373bead1c52f4bb65c841 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 1/2] [clang][CGRecordLayout] Remove dependency on isZeroSize
Th
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From f5938919b3a0060db6b373bead1c52f4bb65c841 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 1/3] [clang][CGRecordLayout] Remove dependency on isZeroSize
Th
Michael137 wrote:
> LGTM
>
> > We should eventually develop proper formatters for Clang data-types, but
> > these are currently not ready.
>
> Yes, I'm still working on that in background. LLDB has to have a way to
> understand custom RTTI we use in AST nodes for statements and types, because
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From f5938919b3a0060db6b373bead1c52f4bb65c841 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 1/4] [clang][CGRecordLayout] Remove dependency on isZeroSize
Th
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From f5938919b3a0060db6b373bead1c52f4bb65c841 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 1/4] [clang][CGRecordLayout] Remove dependency on isZeroSize
Th
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From f5938919b3a0060db6b373bead1c52f4bb65c841 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 1/4] [clang][CGRecordLayout] Remove dependency on isZeroSize
Th
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/96422
>From f5938919b3a0060db6b373bead1c52f4bb65c841 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Fri, 21 Jun 2024 12:15:07 +0100
Subject: [PATCH 1/4] [clang][CGRecordLayout] Remove dependency on isZeroSize
Th
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/96422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/96422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
> (Please move out of "draft" when you think this is ready.)
Updated the PR with some more context. There's still a few instances of
`FieldDecl::isZeroSize`/`CXXRecordDecl::isEmpty` around `CodeGen` (see
`CGClass`, `CGExprConstant`), but it wasn't obvious to me whether those
https://github.com/Michael137 ready_for_review
https://github.com/llvm/llvm-project/pull/96422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
While fixing the libc++ formatters in preparation for the [compressed_pair
change](https://github.com/llvm/llvm-project/issues/93069), i encountered
another issue which I'm not sure entirely how to best reconcile. There's [this
assumption in
`RecordLayoutBuilder`](https://gi
Michael137 wrote:
> Here's the smallest patch that would put explicit alignment on any packed
> structure:
>
> ```
> diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp
> b/clang/lib/CodeGen/CGDebugInfo.cpp
> index a072475ba770..bbb13ddd593b 100644
> --- a/clang/lib/CodeGen/CGDebugInfo.cpp
> +++ b/
@@ -3518,6 +3518,10 @@ llvm::DIType *CGDebugInfo::CreateTypeDefinition(const
EnumType *Ty) {
SmallVector Enumerators;
ED = ED->getDefinition();
+
+ if (!ED)
+return nullptr;
+
Michael137 wrote:
Do you have an example/reproducer where this would get
Michael137 wrote:
> For CGExprConstant, the code is checking "empty" in the sense of whether
> there's a corresponding LLVM field. So almost certainly needs changes. Not
> sure how that isn't causing test failures; maybe there's missing test
> coverage.
Yea I was pretty sure we'd have to adju
Michael137 wrote:
ping
(btw, @labath is the alignment miscalculation still causing issues for you
internally? or did you find a workaround?)
https://github.com/llvm/llvm-project/pull/97443
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https
Michael137 wrote:
> > Skipping empty fields does seem like a better heuristic here
>
> FWIW, I (independently) came to the same conclusion when investigating the
> fallout of #76756, though it's not fully clear to me whether the PR has been
> updated to do that.
Not yet, but will have a look
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/110767
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/97443
>From 38b7837bcc5da9e89778191654f9552ebccacbd5 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Tue, 2 Jul 2024 18:43:34 +0200
Subject: [PATCH 1/3] [clang][RecordLayoutBuilder] Be stricter about inferring
pa
https://github.com/Michael137 commented:
gentle ping
@efriedma-quic mind taking another look? Latest iteration skips over empty
fields that overlap.
https://github.com/llvm/llvm-project/pull/97443
___
cfe-commits mailing list
cfe-commits@lists.llvm.o
Michael137 wrote:
Just to circle back on this. Managed to reduce the crash I was seeing to
something pretty simple. The gist of the issue is that we silently create ODR
violations in LLDB's scratch context (and LLDB uses `ODRHandlingType::Liberal`,
so we try to continue `ASTImport`ing despite
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/110767
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/110767
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/114529
>From 9337e170d920eaabe2b59a25622f0c554ca5afcf Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Sun, 20 Oct 2024 11:35:15 +0100
Subject: [PATCH 1/2] [WIP][lldb][Expression] More reliable function call
resol
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/114529
>From 9337e170d920eaabe2b59a25622f0c554ca5afcf Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Sun, 20 Oct 2024 11:35:15 +0100
Subject: [PATCH 1/2] [WIP][lldb][Expression] More reliable function call
resol
Michael137 wrote:
I haven't done an in-depth review of the patch yet but my first instinct here
is that this looks like a lot of work for LLDB which the compiler has already
done, so we ideally don't want to repeat. Where is this actually an issue from
a user perspective? In the example you ga
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/114529
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/114529
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -6120,6 +6119,19 @@ ExpectedDecl
ASTNodeImporter::VisitClassTemplateDecl(ClassTemplateDecl *D) {
// see ASTTests test ImportExistingFriendClassTemplateDef.
continue;
}
+// When importing a friend, it is possible that multiple declarations
Michael137 wrote:
> > Another possible solution: Use two `NonEquivalentDecls` sets, one for
> > `IgnoreTemplateParmDepth = true` and one for `false`. This may use less
> > memory (no rarely used third value in the key) but requires more code
> > changes.
>
> I like this idea, and I think it c
https://github.com/Michael137 approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/115518
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Michael137 wrote:
> Another possible solution: Use two `NonEquivalentDecls` sets, one for
> `IgnoreTemplateParmDepth` = true and one for false. This may use less memory
> (no rarely used third value in the key) but requires more code changes.
> Probably use these two caches only in `ASTImporte
Michael137 wrote:
> It is a realistic requirement that new similar parameters are added, I had
> already an (experimental) fix where this is needed. Still I like better the
> solution with separate caches because efficiency reasons
> (`IgnoreTemplateParmDepth = true` is rarely used, not at all
201 - 300 of 511 matches
Mail list logo