@@ -3424,6 +3445,26 @@ llvm::DIMacroFile
*CGDebugInfo::CreateTempMacroFile(llvm::DIMacroFile *Parent,
return DBuilder.createTempMacroFile(Parent, Line, FName);
}
+llvm::DILocation *CGDebugInfo::CreateTrapFailureMessageFor(
dwblaikie wrote:
Eh, I'm not too
dwblaikie wrote:
Hmm, do other builtins actually end up as symbol names? I think most of them
lower to an instruction or two - I guess this one doesn't lower to an actual
symbol, only a DWARF symbol - but maybe that's still different enough it should
use an llvm or clang in the name...
dwblaikie wrote:
@pogo59 - you might find this interesting in terms of bitrotten tests, etc.
https://github.com/llvm/llvm-project/pull/91854
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
dwblaikie wrote:
> Switched to 0x4014 (generic range) to retain linker errors while making
> the experimental status stand out. Add a comment to make the intention
> clearer.
Seems a bit weird/problematic, using something in the reserved range/not in a
user extension space, but I guess
dwblaikie wrote:
> This approahc parallels the strategy used for
> [-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang](https://reviews.llvm.org/D125142),
> albeit a nicer name.
Fair enough - yeah, if we're wordsmithing this. Maybe "allow" would be a good
word, rather
dwblaikie wrote:
Oh, and I take it there's no /official/ extension space in the SHT_* space? The
intent is to standardize it where it lies? (like use 20 for the shipped
version? Or eventually get some lower designation?) I understand tnhe hesitance
to use "SHT_LLVM" or the like (though
dwblaikie wrote:
Presumably this'll be split out into separate reviews for the components here?
(I'd guess llvm-mc then clang integrated assembler, with readobj and yaml2obj
in any order/don't have dependencies, unless they're needed for testing, in
which case I guess they come first?)
I
dwblaikie wrote:
> Though we detect when the types aren't identical and don't try to use them
> interchangeably. The change extends the existing behavior for structs/unions
> to enums.
OK, still a bit confused though - "like in C++", I assume in C++ we reject
mismatched types coming from
@@ -5636,6 +5636,84 @@ void
CGDebugInfo::EmitExternalVariable(llvm::GlobalVariable *Var,
Var->addDebugInfo(GVE);
}
+void CGDebugInfo::EmitPseudoVariable(CGBuilderTy ,
+ llvm::Instruction *Value, QualType Ty) {
+ // Only when -g2 or
@@ -27,6 +27,9 @@ namespace llvm {
}
}
+// Prefix for __builtin_verbose_trap.
+#define CLANG_VERBOSE_TRAP_PREFIX "__llvm_verbose_trap"
dwblaikie wrote:
& not sure it being a compile time constant regex is super important - the
regex compilation probably
@@ -27,6 +27,9 @@ namespace llvm {
}
}
+// Prefix for __builtin_verbose_trap.
+#define CLANG_VERBOSE_TRAP_PREFIX "__llvm_verbose_trap"
dwblaikie wrote:
I think we usually use some llvm or clang prefix in these sort of things, to
reduce the chance of
dwblaikie wrote:
> > Comment in the code should probably mention this as a FIXME and include a
> > reference to the issue?
>
> Sure, added in
> [f78949a](https://github.com/llvm/llvm-project/commit/f78949a07e33017a798c410a102c95455685a9b1)
Thanks!
> > Also, there's another bug here - the
Author: David Blaikie
Date: 2024-04-29T23:50:18Z
New Revision: 1cb33713910501c6352d0eb2a15b7a15e6e18695
URL:
https://github.com/llvm/llvm-project/commit/1cb33713910501c6352d0eb2a15b7a15e6e18695
DIFF:
https://github.com/llvm/llvm-project/commit/1cb33713910501c6352d0eb2a15b7a15e6e18695.diff
dwblaikie wrote:
> > C doesn't have an odr, does it?
>
> For non-C++ "ODR" has a meaning more like "ODR-inspired checks". But there is
> no language rule that would require enforcement and there is no impact on
> linkage (at least during deserialization).
Not sure I'm following the response
dwblaikie wrote:
Comment in the code should probably mention this as a FIXME and include a
reference to the issue?
Also, there's another bug here - the DW_TAG_typedef is in the CU scope, instead
of the struct scope. But if the struct is a non-template, the typedef is in the
struct scope as
dwblaikie wrote:
C doesn't have an odr, does it?
https://github.com/llvm/llvm-project/pull/90298
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3379,6 +3379,60 @@ Query for this feature with
``__has_builtin(__builtin_debugtrap)``.
Query for this feature with ``__has_builtin(__builtin_trap)``.
+``__builtin_verbose_trap``
dwblaikie wrote:
Ah, OK - that seems like more reason the prefix should be
@@ -0,0 +1,28 @@
+// RUN: %clang_cc1 -std=c++11 -fsyntax-only -fcxx-exceptions -verify %s
+
+#if !__has_builtin(__builtin_verbose_trap)
+#error
+#endif
+
+constexpr char const* constMsg1 = "hello";
+char const* const constMsg2 = "hello";
+char const constMsg3[] = "hello";
+
@@ -3424,6 +3445,26 @@ llvm::DIMacroFile
*CGDebugInfo::CreateTempMacroFile(llvm::DIMacroFile *Parent,
return DBuilder.createTempMacroFile(Parent, Line, FName);
}
+llvm::DILocation *CGDebugInfo::CreateTrapFailureMessageFor(
dwblaikie wrote:
I think I agree
@@ -5636,6 +5636,84 @@ void
CGDebugInfo::EmitExternalVariable(llvm::GlobalVariable *Var,
Var->addDebugInfo(GVE);
}
+void CGDebugInfo::EmitPseudoVariable(CGBuilderTy ,
+ llvm::Instruction *Value, QualType Ty) {
+ // Only when -g2 or
@@ -5636,6 +5636,84 @@ void
CGDebugInfo::EmitExternalVariable(llvm::GlobalVariable *Var,
Var->addDebugInfo(GVE);
}
+void CGDebugInfo::EmitPseudoVariable(CGBuilderTy ,
+ llvm::Instruction *Value, QualType Ty) {
+ // Only when -g2 or
@@ -1787,7 +1787,26 @@ Value *ScalarExprEmitter::VisitMemberExpr(MemberExpr *E)
{
}
}
- return EmitLoadOfLValue(E);
+ llvm::Value *Result = EmitLoadOfLValue(E);
+
+ // If -fdebug_info_for_profiling is specified, emit a pseudo variable and its
dwblaikie wrote:
> Yes it's fixed now.
Please include details of the fix I the patch description
https://github.com/llvm/llvm-project/pull/89036
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
dwblaikie wrote:
> The original patch pointed out a regression:
>
> https://github.com/llvm/llvm-project/pull/83124#issuecomment-2060090590
>
> Please contact that person and get a reproducer and make sure you aren't
> breaking them.
Repro was provided further down:
dwblaikie wrote:
Simplified a bit more:
```
template
void f1() {
int (*x)[1] = new int[1][1]; // fails
}
template void f1();
void f2() {
int (*x)[1] = new int[1][1]; // passes
}
```
https://godbolt.org/z/MhaYbvefG - yeah seems pretty clear this is a regression.
Compiles with GCC, fails
dwblaikie wrote:
> Thanks @dwblaikie
>
> > Bit unfortunate to store template parameters in different ways (in the
> > extraData for the alias template, but in the templateParams for the
> > composite types) - but I guess it'd be more invasive to try to represent
> > alias templates as
dwblaikie wrote:
Re: code: Looks about right.
Bit unfortunate to store template parameters in different ways (in the
`extraData` for the alias template, but in the `templateParams` for the
composite types) - but I guess it'd be more invasive to try to represent alias
templates as composite
https://github.com/dwblaikie edited
https://github.com/llvm/llvm-project/pull/85050
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dwblaikie approved this pull request.
Give it a go
https://github.com/llvm/llvm-project/pull/85050
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1061,6 +1070,16 @@ CodeGenAction::CreateASTConsumer(CompilerInstance ,
StringRef InFile) {
CI.getPreprocessor().addPPCallbacks(std::move(Callbacks));
}
+ if (CI.getFrontendOpts().GenReducedBMI &&
+ !CI.getFrontendOpts().ModuleOutputPath.empty()) {
+
dwblaikie wrote:
> > I'm a little uncomfortable with adding a new user-facing option for
> > template aliases. Even with that in place, we should not warn and refuse to
> > do what the user asked for, based on DWARF version. -gdwarf-2 -gsplit-dwarf
> > generates a .dwo file claiming to be v2,
dwblaikie wrote:
> As for impact, I believe @namhyung did some measurement for building the
> Linux kernel, and it does not have a significant impact.
That'd surprise me quite a bit - perhaps a self-host build of clang (ideally in
Google's build config, that being the one you and I care about
dwblaikie wrote:
Thanks for continuing to look into this!
@cor3ntin - perhaps you've got some more thoughts on this too?
https://github.com/llvm/llvm-project/pull/86401
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
@@ -1483,10 +1483,15 @@ void ASTDeclWriter::VisitCXXRecordDecl(CXXRecordDecl
*D) {
if (D->isThisDeclarationADefinition())
Record.AddCXXDefinitionData(D);
- // Store (what we currently believe to be) the key function to avoid
- // deserializing every method so we can
@@ -41,9 +43,10 @@ Base::~Base() {}
// CHECK: @_ZTSW3Mod4Base = constant
// CHECK: @_ZTIW3Mod4Base = constant
-// CHECK-INLINE: @_ZTVW3Mod4Base = linkonce_odr {{.*}}unnamed_addr constant
-// CHECK-INLINE: @_ZTSW3Mod4Base = linkonce_odr {{.*}}constant
-// CHECK-INLINE:
@@ -3017,6 +3017,7 @@ defm prebuilt_implicit_modules :
BoolFOption<"prebuilt-implicit-modules",
def fmodule_output_EQ : Joined<["-"], "fmodule-output=">,
Flags<[NoXarchOption]>, Visibility<[ClangOption, CC1Option]>,
+ MarshallingInfoString>,
dwblaikie
@@ -193,6 +193,20 @@ DwarfFissionKind getDebugFissionKind(const Driver ,
const llvm::opt::ArgList ,
llvm::opt::Arg *);
+// Calculate the output path of the module file when compiling a module unit
+//
dwblaikie wrote:
Cleaning up some old branches - @pogo59 @rnk who commented on the original
https://reviews.llvm.org/D152017
I think the only outstanding thing was the flag name, I've renamed it from
`-gincomplete-types` to `-gomit-unreferenced-members` to try to address the
feedback. It's
https://github.com/dwblaikie created
https://github.com/llvm/llvm-project/pull/87018
Complete C++ type information can be quite expensive - and there's
limited value in representing every member function, even those that
can't be called (we don't do similarly for every non-member function
dwblaikie wrote:
> > Reading LLVM IR lit CHECK lines from clang codegen is a bit difficult -
> > could you include some simple examples (perhaps from the new clang tests in
> > this patch) showing the DWARF output just as comments in this review for
> > something more easily glanceable?
>
>
@@ -60,11 +63,11 @@ int use() {
// CHECK-NOT: @_ZTSW3Mod4Base = constant
// CHECK-NOT: @_ZTIW3Mod4Base = constant
-// CHECK: @_ZTVW3Mod4Base = external unnamed_addr
+// CHECK: @_ZTVW3Mod4Base = external
-// CHECK-INLINE: @_ZTVW3Mod4Base = linkonce_odr {{.*}}unnamed_addr
@@ -41,9 +43,10 @@ Base::~Base() {}
// CHECK: @_ZTSW3Mod4Base = constant
// CHECK: @_ZTIW3Mod4Base = constant
-// CHECK-INLINE: @_ZTVW3Mod4Base = linkonce_odr {{.*}}unnamed_addr constant
-// CHECK-INLINE: @_ZTSW3Mod4Base = linkonce_odr {{.*}}constant
-// CHECK-INLINE:
@@ -1483,10 +1483,15 @@ void ASTDeclWriter::VisitCXXRecordDecl(CXXRecordDecl
*D) {
if (D->isThisDeclarationADefinition())
Record.AddCXXDefinitionData(D);
- // Store (what we currently believe to be) the key function to avoid
- // deserializing every method so we can
dwblaikie wrote:
> > > > > @iains @dwblaikie Understood. And I thought the major problem is that
> > > > > there are a lot flags from clang modules. And it is indeed confusing.
> > > > > But given we have to introduce new flags in this case, probably we
> > > > > can only try to make it more
dwblaikie wrote:
Yep, the original code still crashes with this PR applied, and the reduced test
case comes down to something identical to the code shown in
https://github.com/llvm/llvm-project/pull/86401#issuecomment-2024151742 with a
stack trace that looks the same as the one caused by the
dwblaikie wrote:
> @dwblaikie Feel free to checkout this patch locally and see if it resolves
> the original issue - I won't merge it until you confirm it works or discover
> another issue that goes beyond the scope of this patch. (e.g. another
> aforementioned issue)
First glance it seems
dwblaikie wrote:
> For those files in the repository that do need CRLF endings, I've adopted a
> policy of eol=crlf which means that git will store them in history with LF,
> but regardless of user config, they'll be checked out in tree with CRLF.
This ^ seems a bit problematic to me, though
dwblaikie wrote:
Hmm, actually - does this fix address /other/ ways a pack could appear, like
this? https://godbolt.org/z/oez8TbGqM
Presumably a pack could appear in a variety of expressions, not just wrapped in
parens - could be in a function call (as in the above example), or nested
https://github.com/dwblaikie approved this pull request.
LGTM, seems consistent with the previous patch - thanks!
https://github.com/llvm/llvm-project/pull/86401
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
dwblaikie wrote:
+1 to @iains's comments about being careful about the introduction and naming
of driver flags & probably avoid it in this case, if possible, or try to make
it clearly experimental.
https://github.com/llvm/llvm-project/pull/85050
___
dwblaikie wrote:
Reading LLVM IR lit CHECK lines from clang codegen is a bit difficult - could
you include some simple examples (perhaps from the new clang tests in this
patch) showing the DWARF output just as comments in this review for something
more easily glanceable?
As for flags - I
dwblaikie wrote:
FWIW, @jyknight's example fails to compile with GCC - succeeds with clang 18
release but assert-fails with clang 18 +Asserts build. (not sure about the
original/full internal reproduction - we have a way to run compile with
assertions enaled, but I'm not sure I'm holding it
Author: David Blaikie
Date: 2024-03-13T16:03:16Z
New Revision: f15a790fd383665ec4defa0711e975476fd8b18b
URL:
https://github.com/llvm/llvm-project/commit/f15a790fd383665ec4defa0711e975476fd8b18b
DIFF:
https://github.com/llvm/llvm-project/commit/f15a790fd383665ec4defa0711e975476fd8b18b.diff
dwblaikie wrote:
Cool cool - thanks for the extra context!
https://github.com/llvm/llvm-project/pull/84423
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dwblaikie approved this pull request.
Sounds OK to me.
(though several other instances of system_category are touched in this patch -
out of curiosity, how are those different from the one fixed case you called
out in JSONTransport.cpp? Are the other uses of system_category
https://github.com/dwblaikie approved this pull request.
Yeah, still not sure why something like `%clang -### -c -target x86_64 -g
-gsplit-dwarf %s` wouldn't change behavior on a darwin host and cause the check
for gnu-pubnames to fail there but if you say that works, guess that's OK &
if
dwblaikie wrote:
Oh, maybe issues related to layered patches - this is intended to be submitted
after the introduction of the ThreadPoolInterface? But includes those changes
in this review at the moment (I still haven't figured out what we're doing for
dependent changes - and I thought the
dwblaikie wrote:
> I did the first part of the renaming @dwblaikie : looks good?
Hmm - this patch still seems to have both renamings in it, if I'm reading the
PR correctly? I take it from the subject that isn't the intent/the intent is
that his patch only does the
dwblaikie wrote:
perhaps the llvm libSupport prats of this change should be unit tested in LLVM,
rather than only tested indirectly in clang?
https://github.com/llvm/llvm-project/pull/83989
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
@@ -1591,6 +1591,14 @@ static void checkConfigMacro(Preprocessor , StringRef
ConfigMacro,
}
}
+static void checkConfigMacros(Preprocessor , Module *M,
+ SourceLocation ImportLoc) {
+ clang::Module *TopModule = M->getTopLevelModule();
+ for
dwblaikie wrote:
> level 20 is a sweet spot for both compression rate and compression time
I wonder how much this is overfitting for kernels of a particular size, though?
(is it making the window just large enough that there's some "memory" from one
kernel to the next - but a slightly larger
@@ -11,7 +11,6 @@
// NOINLINE-NOT: "-fsplit-dwarf-inlining"
// SPLIT-NOT: "-dumpdir"
// SPLIT: "-debug-info-kind=constructor"
-// SPLIT-SAME: "-ggnu-pubnames"
dwblaikie wrote:
Nah, I think that's probably fine without an explicit `-ggdb` test - though
@@ -11,7 +11,6 @@
// NOINLINE-NOT: "-fsplit-dwarf-inlining"
// SPLIT-NOT: "-dumpdir"
// SPLIT: "-debug-info-kind=constructor"
-// SPLIT-SAME: "-ggnu-pubnames"
dwblaikie wrote:
> As discussed in original PR, #82840 , the idea is if -gsplit-dwarf with
>
dwblaikie wrote:
Presumably similar things might show up in macros? But can cross that bridge
when we come to it.
Perhaps we have some/could use some generic utility for this sort of contextual
warning "if these things are literally written next to each other, warn, but if
they came to be
@@ -11,7 +11,6 @@
// NOINLINE-NOT: "-fsplit-dwarf-inlining"
// SPLIT-NOT: "-dumpdir"
// SPLIT: "-debug-info-kind=constructor"
-// SPLIT-SAME: "-ggnu-pubnames"
dwblaikie wrote:
has this lost coverage for non `-glldb` configurations?
(like would we still
dwblaikie wrote:
Some test coverage would be good to help demonstrate the issue/fix
https://github.com/llvm/llvm-project/pull/83175
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dwblaikie approved this pull request.
https://github.com/llvm/llvm-project/pull/82840
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dwblaikie wrote:
+1 to @pogo59's comment about pruning complete paths - I suspect they're in the
minority. Might be worth checking whether the `===` at the start and end is
markup for any particular thing (I /think/ the `-*- C++ -*-` is load bearing
for some editors to inform them this `.h`
dwblaikie wrote:
Commit without precommit review is fine, especially from a code owner - if you
only wanted the PR for automated precommit checking, you can add the
`skip-precommit-approval` to indicate that the PR isn't intended for precommit
review. But, yeah, otherwise it's good that if
dwblaikie wrote:
The dev policy says "Avoid committing formatting- or whitespace-only changes
outside of code you plan to make subsequent changes to." - I think it's
reasonable to consider changing this, but probably under the "clang-format
everything" or a similar discussion (broad
dwblaikie wrote:
If you're debugging with lldb you should probably be using -glldb - if you're
doing that, certainly gnu-pubnames should not be enabled by default or
implicitly by gsplit-dwarf.
I'd say -gsplit-dwarf -glldb probably doesn't need any names/accelerator table
by default (any
dwblaikie wrote:
did I miss something - it looks like this was committed without approval?
https://github.com/llvm/llvm-project/pull/80371
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/dwblaikie approved this pull request.
Seems ok
https://github.com/llvm/llvm-project/pull/80687
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -5401,6 +5409,8 @@ std::string CGDebugInfo::GetName(const Decl *D, bool
Qualified) const {
// feasible some day.
return TA.getAsIntegral().getBitWidth() <= 64 &&
IsReconstitutableType(TA.getIntegralType());
+ case
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
dwblaikie wrote:
Can't seem to load the image - and generally a copy/paste of the text is more
usable for everyone than a screenshot. If you could include the copy/pasted
text, that'd be handy, thanks!
https://github.com/llvm/llvm-project/pull/80814
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
@@ -610,6 +610,345 @@ the following style significantly:
The key part of the tip is to reduce the duplications from the text includes.
+Ideas for converting to modules
+---
+
+For new libraries, we encourage them to use modules completely from day
https://github.com/dwblaikie commented:
Generally seems like good stuff to write down - I'm not sure about the ABI
breaking version (that mostly seems like it would make more problems than
solutions).
Commented on some minor grammatical issues.
https://github.com/llvm/llvm-project/pull/80687
https://github.com/dwblaikie edited
https://github.com/llvm/llvm-project/pull/80687
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dwblaikie wrote:
Sure - wrote down my thoughts here:
https://discourse.llvm.org/t/prs-without-approvals-muddy-the-waters/76656 (my
understanding is that this (waiting for approval after sending out a review -
and that all PRs are reviews until we figure out a way to differentiate them)
is
@@ -346,6 +346,14 @@ class CGDebugInfo {
const FieldDecl *BitFieldDecl, const llvm::DIDerivedType *BitFieldDI,
llvm::ArrayRef PreviousFieldsDI, const RecordDecl *RD);
+ // A cache that maps artificial inlined function names used for
+ // __builtin_verbose_trap
@@ -3424,6 +3445,26 @@ llvm::DIMacroFile
*CGDebugInfo::CreateTempMacroFile(llvm::DIMacroFile *Parent,
return DBuilder.createTempMacroFile(Parent, Line, FName);
}
+llvm::DILocation *CGDebugInfo::CreateTrapFailureMessageFor(
dwblaikie wrote:
There's
@@ -3424,6 +3445,26 @@ llvm::DIMacroFile
*CGDebugInfo::CreateTempMacroFile(llvm::DIMacroFile *Parent,
return DBuilder.createTempMacroFile(Parent, Line, FName);
}
+llvm::DILocation *CGDebugInfo::CreateTrapFailureMessageFor(
+llvm::DebugLoc TrapLocation, StringRef
dwblaikie wrote:
I'd still idly vote against adding this flag/support - but if other modules
contributors feel it's the right thing to do, I won't stand in the way.
https://github.com/llvm/llvm-project/pull/79959
___
cfe-commits mailing list
dwblaikie wrote:
(Please don't send pull requests that aren't going to be reviewed - commit
directly instead. Otherwise it's unclear which pull requests are expecting
review (& should wait on it) and which pull requests don't need review.
Especially for new contributors, it'd be good to not
dwblaikie wrote:
> > Could you show the stack (omitting/annotating the repeated part) that leads
> > to failure? and/or the AST shape that leads to failure?
>
> See the test I added. All you need is ~10k overloads of a method in a class
> and a `using Base::func` in the derived class. The AST
dwblaikie wrote:
Could you show the stack (omitting/annotating the repeated part) that leads to
failure? and/or the AST shape that leads to failure?
https://github.com/llvm/llvm-project/pull/79875
___
cfe-commits mailing list
https://github.com/dwblaikie edited
https://github.com/llvm/llvm-project/pull/79230
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
1 - 100 of 1266 matches
Mail list logo