[PATCH] D151732: [clang][docs] document __attribute__((cleanup())) GNU C extension

2023-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG8dc13957cb17: [clang][docs] document __attribute__((cleanup())) GNU C extension (authored by nickdesaulniers). Repository: rG LLVM Github

[PATCH] D151732: [clang][docs] document __attribute__((cleanup())) GNU C extension

2023-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 527536. nickdesaulniers added a comment. - rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151732/new/ https://reviews.llvm.org/D151732 Files: clang/include/clang/Basic/Attr.td

[PATCH] D151732: [clang][docs] document __attribute__((cleanup())) GNU C extension

2023-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 527535. nickdesaulniers added a comment. - add note about reverse declaration order for variables declared in the same scope Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151732/new/

[PATCH] D151732: [clang][docs] document __attribute__((cleanup())) GNU C extension

2023-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 527528. nickdesaulniers added a comment. - add note about function signature Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151732/new/ https://reviews.llvm.org/D151732 Files:

[PATCH] D148387: remove Demangle/StringView.h

2023-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG217709cbae34: remove Demangle/StringView.h (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148387/new/

[PATCH] D151741: [Lex] Only warn on defining or undefining language-defined builtins

2023-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. Thanks for the patch! Comment at: clang/test/Preprocessor/undef-x86.c:2 +// RUN: %clang_cc1 -triple=i386-none-none -fsyntax-only -verify %s +// RUN:

[PATCH] D151587: [clang][ConstantEmitter] have tryEmitPrivateForVarInit try ConstExprEmitter fast-path first

2023-05-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGExprConstant.cpp:1324 // This is a string literal initializing an array in an initializer. -return CGM.GetConstantArrayFromStringLiteral(E); +return E->isLValue() ? +

[PATCH] D151741: [Lex] Only warn on defining or undefining language-defined builtins

2023-05-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Preprocessor/init-x86.c:1728-1741 +// RUN: %clang_cc1 -triple=i386-none-none -fsyntax-only -verify -DUNDEF %s +// RUN: %clang_cc1 -triple=i686-none-none -fsyntax-only -verify -DUNDEF %s +// RUN: %clang_cc1

[PATCH] D148387: remove Demangle/StringView.h

2023-05-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 527132. nickdesaulniers added a comment. - rebase for presubmit testing Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148387/new/ https://reviews.llvm.org/D148387 Files:

[PATCH] D151741: [Lex] Only warn on defining or undefining language-defined builtins

2023-05-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Preprocessor/macro-reserved.c:22 +#undef __UINTPTR_TYPE__ +#undef __i386__ +#undef __UINT64_TYPE__ This line wont have coverage unless the RUN line sets `-m32` (even then, an explicit triple would be

[PATCH] D151741: [Lex] Only warn on defining or undefining language-defined builtins

2023-05-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Lex/PPDirectives.cpp:163-172 + // C defines macros starting with __STDC, and C++ defines macros starting with + // __STDCPP + if (MacroName.startswith("__STDC")) +return true; + // C++ defines the __cplusplus

[PATCH] D151741: [Lex] Only warn on defining or undefining language-defined builtins

2023-05-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Preprocessor/macro-reserved.c:19 #undef __STDC_HOSTED__ // expected-warning {{undefining builtin macro}} +#undef __INT32_TYPE__ Please add tests for the rest of

[PATCH] D144654: [Lex] Warn when defining or undefining any builtin macro

2023-05-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D144654#4380488 , @john.brawn wrote: > gcc has the same warning so I wasn't expecting this cause to change problems, > but looking more closely at gcc's behaviour it looks like it only warns for > some builtin

[PATCH] D151732: [clang][docs] document __attribute__((cleanup())) GNU C extension

2023-05-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 526703. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - fixup last sentence as per @erichkeane Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151732/new/

[PATCH] D151732: [clang][docs] document __attribute__((cleanup())) GNU C extension

2023-05-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: erichkeane, aaron.ballman. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Provide an example of how to use this extension

[PATCH] D151587: [clang][ConstantEmitter] have tryEmitPrivateForVarInit try ConstExprEmitter fast-path first

2023-05-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 526210. nickdesaulniers added a comment. - fix string literals; still WIP Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151587/new/ https://reviews.llvm.org/D151587 Files:

[PATCH] D151587: [clang][ConstantEmitter] have tryEmitPrivateForVarInit try ConstExprEmitter fast-path first

2023-05-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 526195. nickdesaulniers added a comment. Herald added subscribers: kerbowa, jvesely. - one more test fix Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151587/new/ https://reviews.llvm.org/D151587

[PATCH] D151587: [clang][ConstantEmitter] have tryEmitPrivateForVarInit try ConstExprEmitter fast-path first

2023-05-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 526192. nickdesaulniers added a comment. - also remove VisitExprWithCleanups, down to two outstanding test failures Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151587/new/

[PATCH] D151587: [clang][ConstantEmitter] have tryEmitPrivateForVarInit try ConstExprEmitter fast-path first

2023-05-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. As suggested by @efriedma in: https://reviews.llvm.org/D76096#4370369 Signed-off-by: Nick Desaulniers

[PATCH] D151572: [clang][ConstantEmitter] have tryEmitPrivate try ConstExprEmitter fast-path first

2023-05-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D151572#4376697 , @efriedma wrote: > Did you intentionally skip moving the ConstExprEmitter call in > tryEmitPrivateForVarInit? (VarDecl::evaluateValue calls the constant > evaluator.) Yes, I'll do that in a follow

[PATCH] D151572: [clang][ConstantEmitter] have tryEmitPrivate try ConstExprEmitter fast-path first

2023-05-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 526131. nickdesaulniers added a comment. - one more style update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151572/new/ https://reviews.llvm.org/D151572 Files:

[PATCH] D151572: [clang][ConstantEmitter] have tryEmitPrivate try ConstExprEmitter fast-path first

2023-05-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. As suggested by @efriedma in: https://reviews.llvm.org/D76096#4370369 Some minor code style fixes as well

[PATCH] D76096: [clang] allow const structs to be constant expressions in initializer lists

2023-05-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. So, @rsmith are you ok with a patch like https://reviews.llvm.org/D76169 that removes those fixmes? It makes sense to me that `const int foo[] = [ ...massive list...];` would take long to validate the entire initializer as all constant expressions, but I'm

[PATCH] D150892: Reland: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-23 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG804af933f731: Reland: [clang][ExprConstant] fix __builtin_object_size for flexible array… (authored by nickdesaulniers). Repository: rG LLVM

[PATCH] D150892: Reland: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 524791. nickdesaulniers added a comment. - prefer OBJECT_SIZE_BUILTIN to __builtin_object_size to additionally test __dynamic_builtin_object_size Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D151148: [clang][ExprConstant] fix __builtin_object_size for compound literal

2023-05-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers marked 2 inline comments as done. nickdesaulniers added a comment. Merged into https://reviews.llvm.org/D150892. Comment at: clang/lib/AST/ExprConstant.cpp:11737 bool Ret = HandleSizeof(Info, ExprLoc, Ty, Result);

[PATCH] D150892: Reland: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 524787. nickdesaulniers retitled this revision from "[clang][ExprConstant] fix __builtin_object_size for flexible array members" to "Reland: [clang][ExprConstant] fix __builtin_object_size for flexible array members". nickdesaulniers added a comment.

[PATCH] D151148: [clang][ExprConstant] fix __builtin_object_size for compound literal

2023-05-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/AST/ExprConstant.cpp:11737 bool Ret = HandleSizeof(Info, ExprLoc, Ty, Result); if (Ty->isStructureType() && Ty->getAsStructureType()->getDecl()->hasFlexibleArrayMember()) { efriedma

[PATCH] D151148: [clang][ExprConstant] fix __builtin_object_size for compound literal

2023-05-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 524532. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - more dyn_cast Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151148/new/ https://reviews.llvm.org/D151148

[PATCH] D150841: [IR] Make stack protector symbol dso_local according to -f[no-]direct-access-external-data

2023-05-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. This also resolves https://github.com/llvm/llvm-project/issues/62482; was that intentional? If so, consider adding a link to

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/AST/ExprConstant.cpp:11740 + LVal.getLValueBase().dyn_cast()); + Result += VD->getFlexibleArrayInitChars(Info.Ctx); +} efriedma wrote: > nickdesaulniers wrote: > > efriedma wrote: > >

[PATCH] D151148: [clang][ExprConstant] fix __builtin_object_size for compound literal

2023-05-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: efriedma, erichkeane. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Fixup to D150892 .

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/AST/ExprConstant.cpp:11740 + LVal.getLValueBase().dyn_cast()); + Result += VD->getFlexibleArrayInitChars(Info.Ctx); +} efriedma wrote: > nickdesaulniers wrote: > > nickdesaulniers

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-22 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG57c5c1ab2a18: [clang][ExprConstant] fix __builtin_object_size for flexible array members (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 524359. nickdesaulniers added a comment. - rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150892/new/ https://reviews.llvm.org/D150892 Files: clang/docs/ReleaseNotes.rst

[PATCH] D148387: remove Demangle/StringView.h

2023-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 523923. nickdesaulniers added a comment. - rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148387/new/ https://reviews.llvm.org/D148387 Files: clang/docs/tools/clang-formatted-files.txt

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 523492. nickdesaulniers added a comment. - test __builtin_dynamic_object_size too, add that to release notes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150892/new/ https://reviews.llvm.org/D150892

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. This also changes the behavior of `__builtin_dynamic_object_size` (see @kees ' full example: https://github.com/llvm/llvm-project/issues/62789#issue-1714764560). s/changes/fixes/. Let me add more tests and notes about that. Repository: rG LLVM Github

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Sure, thanks for the quick turnaround time on reviews!  Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150892/new/ https://reviews.llvm.org/D150892 ___ cfe-commits

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 523484. nickdesaulniers added a comment. - slightly reword bug fix release note Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150892/new/ https://reviews.llvm.org/D150892 Files:

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 523480. nickdesaulniers added a comment. - moar tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150892/new/ https://reviews.llvm.org/D150892 Files: clang/docs/ReleaseNotes.rst

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 523478. nickdesaulniers added a comment. - add release note on bugfix Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150892/new/ https://reviews.llvm.org/D150892 Files: clang/docs/ReleaseNotes.rst

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 523476. nickdesaulniers added a comment. - add release note Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150892/new/ https://reviews.llvm.org/D150892 Files: clang/docs/ReleaseNotes.rst

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/AST/ExprConstant.cpp:11740 + LVal.getLValueBase().dyn_cast()); + Result += VD->getFlexibleArrayInitChars(Info.Ctx); +} nickdesaulniers wrote: > erichkeane wrote: > > nickdesaulniers

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/AST/ExprConstant.cpp:11740 + LVal.getLValueBase().dyn_cast()); + Result += VD->getFlexibleArrayInitChars(Info.Ctx); +} erichkeane wrote: > nickdesaulniers wrote: > > erichkeane wrote:

[PATCH] D150891: [Clang] precommit test

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. Merged into D150892 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150891/new/ https://reviews.llvm.org/D150891

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 523470. nickdesaulniers added a comment. - use stronger casts, combine patches Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150892/new/ https://reviews.llvm.org/D150892 Files:

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/AST/ExprConstant.cpp:11740 + LVal.getLValueBase().dyn_cast()); + Result += VD->getFlexibleArrayInitChars(Info.Ctx); +} erichkeane wrote: > Isn't this a possible null-deref? I don't

[PATCH] D150892: [clang][ExprConstant] fix __builtin_object_size for flexible array members

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. As reported by @kees, GCC treats __builtin_object_size of structures containing flexible array members (aka

[PATCH] D150891: [Clang] precommit test

2023-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Add test case demonstrating issue. Link: https://github.com/llvm/llvm-project/issues/62789 Repository:

[PATCH] D150632: [IR] Adds Instruction::setNoSanitizeMetadata()

2023-05-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/SanitizerMetadata.cpp:105-107 void SanitizerMetadata::disableSanitizerForInstruction(llvm::Instruction *I) { - I->setMetadata(llvm::LLVMContext::MD_nosanitize, -

[PATCH] D149104: [Demangle] make llvm::demangle take std::string_view rather than const std::string

2023-05-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D149104#4313210 , @nickdesaulniers wrote: > Looks like this is causing a regression in lld/test/wasm/why-extract.s when > `-DLLVM_ENABLE_EXPENSIVE_CHECKS=ON` is enabled. I'm looking into it and > hoping to fix

[PATCH] D149104: [Demangle] make llvm::demangle take std::string_view rather than const std::string

2023-05-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Looks like this is causing a regression in lld/test/wasm/why-extract.s when `-DLLVM_ENABLE_EXPENSIVE_CHECKS=ON` is enabled. I'm looking into it and hoping to fix forward by EOD. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D149104: [Demangle] make llvm::demangle take std::string_view rather than const std::string

2023-05-02 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. nickdesaulniers marked an inline comment as done. Closed by commit rGc117c2c8ba4a: [Demangle] make llvm::demangle take std::string_view rather than const std…

[PATCH] D149104: [Demangle] make llvm::demangle take std::string_view rather than const std::string

2023-05-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. Thanks for the review! Comment at: llvm/docs/ReleaseNotes.rst:289 +* ``llvm::demangle`` now takes a ``std::string_view`` rather than a + ``const std::string&``. Be careful passing temporaries

[PATCH] D149104: [Demangle] make llvm::demangle take std::string_view rather than const std::string

2023-05-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. bumping for review Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149104/new/ https://reviews.llvm.org/D149104 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D141451: [clang] report inlining decisions with -Wattribute-{warning|error}

2023-05-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Frontend/backend-attribute-error-warning-optimize.c:12 foo(); // expected-error {{call to 'foo' declared with 'error' attribute: oh no foo}} + // expected-note@* {{In function 'baz'}} if (x())

[PATCH] D148381: [WIP][Clang] Add element_count attribute

2023-04-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/Attr.td:4170 +private: + mutable SmallVector CountFieldRanges; +public: `mutable`...my least favorite keyword in C++. If you drop `const` from `addCountFieldSourceRange`

[PATCH] D141451: [clang] report inlining decisions with -Wattribute-{warning|error}

2023-04-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Frontend/backend-attribute-error-warning-optimize.c:12 foo(); // expected-error {{call to 'foo' declared with 'error' attribute: oh no foo}} + // expected-note@* {{In function 'baz'}} if (x())

[PATCH] D141451: [clang] report inlining decisions with -Wattribute-{warning|error}

2023-04-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 517358. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - rebase - use llvm::enumerate Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141451/new/

[PATCH] D149274: [NFC][Clang]Remove a reference on argument since 'Name' is not modified'

2023-04-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. Thanks for the patch! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149274/new/ https://reviews.llvm.org/D149274

[PATCH] D149123: [AArch64][InlineAsm]Add Clang support for flag output constraints

2023-04-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. Thanks for the patch! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149123/new/ https://reviews.llvm.org/D149123 ___

[PATCH] D149123: [AArch64][InlineAsm]Add Clang support for flag output constraints

2023-04-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Basic/Targets/AArch64.cpp:1216 +// Returns the length of cc constraint. +static unsigned matchAsmCCConstraint(const char *) { + constexpr unsigned len = 5; davidxl wrote: > Name is not modified in

[PATCH] D141451: [clang] report inlining decisions with -Wattribute-{warning|error}

2023-04-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Herald added a subscriber: hoy. Ping for review Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141451/new/ https://reviews.llvm.org/D141451 ___ cfe-commits mailing list

[PATCH] D149104: [Demangle] make llvm::demangle take std::string_view rather than const std::string

2023-04-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 516582. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - fix typos - simplify maybeDemangleSymbol in lld COFF - restore maybeDemangleSymbol Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D149104: [Demangle] make llvm::demangle take std::string_view rather than const std::string

2023-04-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: lld/ELF/Symbols.cpp:50 +std::string root = symName.str(); +return demangle(root); + } MaskRay wrote: > `return demangle(symName.str());` > > perhaps `return demangle(symName);` works as well? > perhaps

[PATCH] D149104: [Demangle] make llvm::demangle take std::string_view rather than const std::string

2023-04-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: lld/COFF/Symbols.cpp:43 if (demangled != demangleInput) - return prefix + demangle(demangleInput.str()); + return prefix + demangle(demangleInput); return (prefix + prefixless).str();

[PATCH] D149104: [Demangle] make llvm::demangle take std::string_view rather than const std::string

2023-04-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 516580. nickdesaulniers marked an inline comment as done. nickdesaulniers retitled this revision from "[Demangle] use moar std::string_view" to "[Demangle] make llvm::demangle take std::string_view rather than const std::string&". nickdesaulniers

[PATCH] D148556: [libcxxabi][demangle] create helper for std::string_view::starts_with

2023-04-20 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG691c4800be80: [libcxxabi][demangle] create helper for std::string_view::starts_with (authored by nickdesaulniers). Repository: rG LLVM Github

[PATCH] D148556: [libcxxabi][demangle] create helper for std::string_view::starts_with

2023-04-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 515083. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - use @Maskray's recommended commit description, thanks @Maskray! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D141451: [clang] report inlining decisions with -Wattribute-{warning|error}

2023-04-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/DiagnosticFrontendKinds.td:94 +def note_fe_backend_in : Note<"In function '%0'">; +def note_fe_backend_inlined : Note<"\twhich inlined function '%0'">; erichkeane wrote: > This tab in

[PATCH] D141451: [clang] report inlining decisions with -Wattribute-{warning|error}

2023-04-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 514746. nickdesaulniers marked 3 inline comments as done. nickdesaulniers added a comment. - rebase, invert inlining reporting chain, update diagnostic text Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D148556: [libcxxabi][demangle] create helper for std::string_view::starts_with

2023-04-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 514410. nickdesaulniers added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. - add new file to clang/docs/tools/clang-formatted-files.txt Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D148387: remove Demangle/StringView.h

2023-04-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 514405. nickdesaulniers retitled this revision from "[RFC] remove Demangle/StringView.h" to "remove Demangle/StringView.h". nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. Herald added a project: clang. Herald

[PATCH] D148381: [WIP][Clang] Add element_count attribute

2023-04-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGExpr.cpp:951-952 +if (auto *ME = dyn_cast(CE->getSubExpr())) { + if (ME->isFlexibleArrayMemberLike(CGF.getContext(), +StrictFlexArraysLevel, true)) { +

[PATCH] D148385: [RISCV] Implement KCFI operand bundle lowering for RV64

2023-04-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp:299-300 + ++NextReg; +Reg = NextReg++; +if (Reg > RISCV::X31) + report_fatal_error("Unable to find scratch registers for KCFI_CHECK"); if (++NextReg >

[PATCH] D148385: [RISCV] Implement KCFI operand bundle lowering for RV64

2023-04-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/RISCV/RISCVKCFI.cpp:106-107 + for (MachineBasicBlock : MF) { +for (MachineBasicBlock::instr_iterator MII = MBB.instr_begin(), + MIE = MBB.instr_end(); + MII

[PATCH] D148381: [WIP][Clang] Add element_count attribute

2023-04-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Cool! How about some codegen tests? This looks a lot like the EuroLLVM keynote: https://llvm.swoogo.com/2023eurollvm/agenda (Thursday `-fbounds-safety`). What's your plan for reconciling this with the authors of that? Have you reached out to them with this

[PATCH] D148181: [Demangle] make llvm::demangle take a StringRef; NFC

2023-04-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. Just going to rip out llvm::StringView. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148181/new/ https://reviews.llvm.org/D148181

[PATCH] D148181: [Demangle] make llvm::demangle take a StringRef; NFC

2023-04-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Demangle/Demangle.cpp:31 std::string Result; - const char *S = MangledName.c_str(); + std::string Copy = MangledName.str(); + const char *S = Copy.data(); erichkeane wrote: > nickdesaulniers

[PATCH] D148181: [Demangle] make llvm::demangle take a StringRef; NFC

2023-04-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Demangle/Demangle.cpp:31 std::string Result; - const char *S = MangledName.c_str(); + std::string Copy = MangledName.str(); + const char *S = Copy.data(); nickdesaulniers wrote: > erichkeane

[PATCH] D148181: [Demangle] make llvm::demangle take a StringRef; NFC

2023-04-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Demangle/Demangle.cpp:31 std::string Result; - const char *S = MangledName.c_str(); + std::string Copy = MangledName.str(); + const char *S = Copy.data(); erichkeane wrote: > `std::string` is

[PATCH] D148181: [Demangle] make llvm::demangle take a StringRef; NFC

2023-04-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. There's a few more callsites I'd like to clean up, tomorrow: - llvm/tools/llvm-objdump/llvm-objdump.cpp - llvm/tools/llvm-objdump/XCOFFDump.cpp Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148181/new/

[PATCH] D148181: [Demangle] make llvm::demangle take a StringRef; NFC

2023-04-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: erichkeane, MaskRay. Herald added subscribers: pmatos, asb, hiraditya, arichardson, sbc100, emaste. Herald added a reviewer: jhenderson. Herald added projects: lld-macho, All. Herald added a reviewer: lld-macho.

[PATCH] D141451: [clang] report inlining decisions with -Wattribute-{warning|error}

2023-04-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D141451#4258031 , @aaron.ballman wrote: > Have you checked to see how the diagnostics work in practice on deep inlining > stacks? If it's usually only 1-2 extra notes, that's probably not going to > overwhelm

[PATCH] D141451: [clang] report inlining decisions with -Wattribute-{warning|error}

2023-04-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CodeGenAction.cpp:860 + + Diags.Report(diag::note_fe_backend_in) << llvm::demangle(D.getCaller().str()); + erichkeane wrote: > Could we

[PATCH] D141451: [clang] report inlining decisions with -Wattribute-{warning|error}

2023-04-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 512230. nickdesaulniers added a comment. - rebase, in response to https://discourse.llvm.org/t/rfc-improving-clangs-middle-and-back-end-diagnostics/69261/11?u=nickdesaulniers Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D147714: [Attr] Introduce [[clang::nonportable_musttail]] as less strict version of [[clang::musttail]]

2023-04-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D147714#4253247 , @xbolva00 wrote: >>> I'm curious if folks have pursued @efriedma 's suggestion #2 from >>> https://github.com/llvm/llvm-project/issues/54964#issuecomment-1101612886? > > This is something we

[PATCH] D147714: [Attr] Introduce [[clang::nonportable_musttail]] as less strict version of [[clang::musttail]]

2023-04-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers requested changes to this revision. nickdesaulniers added a comment. This revision now requires changes to proceed. In D147714#4249274 , @efriedma wrote: > Any thoughts on diagnostics here? If I'm not mistaken, with this patch, if > you

[PATCH] D146269: MIPS: allow o32 abi with 64bit CPU and 64 abi with 32bit triple

2023-04-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D146269#4239702 , @wzssyqa wrote: > ping @maskray is offline until Tuesday April 11. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146269/new/ https://reviews.llvm.org/D146269

[PATCH] D146269: MIPS: allow o32 abi with 64bit CPU and 64 abi with 32bit triple

2023-04-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. This came up in https://lore.kernel.org/llvm/ebe3e940-b8ee-4682-a1f6-1ccf98eac...@flygoat.com/ (follow up thread, FWIW: https://lore.kernel.org/llvm/20230407102721.14814-1-jiaxun.y...@flygoat.com/) CHANGES SINCE LAST ACTION

[PATCH] D145726: Fix assembler error when -g and -gdwarf-* is passed with -fno-integrated-as.

2023-03-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:980-981 +StringRef BaseInput = StringRef(II.getBaseInput()); +types::ID InputType = types::lookupTypeForExtension( +llvm::sys::path::extension(BaseInput).drop_front()); +if

[PATCH] D145726: Fix assembler error when -g and -gdwarf-* is passed with -fno-integrated-as.

2023-03-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers requested changes to this revision. nickdesaulniers added inline comments. This revision now requires changes to proceed. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:980-981 +StringRef BaseInput = StringRef(II.getBaseInput()); +types::ID InputType =

[PATCH] D145726: Fix assembler error when -g and -gdwarf-* is passed with -fno-integrated-as.

2023-03-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. @garvitgupta08 what's your email address so that I may attribute your authorship correctly when committing on your behalf? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D145726/new/ https://reviews.llvm.org/D145726

[PATCH] D145726: Fix assembler error when -g and -gdwarf-* is passed with -fno-integrated-as.

2023-03-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D145726#4225082 , @garvitgupta08 wrote: > I do not have the commit access, can you commit on my behalf @nickdesaulniers Sure thing; I'll test it out with some Linux kernel builds, too. I'll try to get that done

[PATCH] D145726: Fix assembler error when -g and -gdwarf-* is passed with -fno-integrated-as.

2023-03-27 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:976-985 + bool IsInputTyAsm = false; + for (const auto : Inputs) { +CmdArgs.push_back(II.getFilename()); +StringRef BaseInput = StringRef(II.getBaseInput()); +types::ID

[PATCH] D146827: [diagtool] explain that yellow is used to denote disabled-by-default warnings

2023-03-27 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG9ea912fe978d: [diagtool] explain that yellow is used to denote disabled-by-default warnings (authored by nickdesaulniers). Repository: rG LLVM

[PATCH] D146827: [diagtool] explain that yellow is used to denote disabled-by-default warnings

2023-03-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/tools/diagtool/TreeView.cpp:130-131 << " = enabled by default"; +out << '\n' +<< Colors::YELLOW << "YELLOW" << Colors::RESET +<< " = disabled by default"; it was clang-format,

[PATCH] D146827: [diagtool] explain that yellow is used to denote disabled-by-default warnings

2023-03-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This is already implied, but let's just be explicit about it. Repository: rG LLVM Github Monorepo

[PATCH] D146466: [clang] diagnose function fallthrough

2023-03-23 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D146466#4217487 , @efriedma wrote: > The problem with a change like that is that it's not clear what the > underlying semantic model is. If we add a flag that says "try to generate > code that matches Linux kernel

<    1   2   3   4   5   6   7   8   9   10   >