[clang] [analyzer] Check the correct first and last elements in cstring.UninitializedRead (PR #95408)

2024-06-19 Thread Donát Nagy via cfe-commits
https://github.com/NagyDonat edited https://github.com/llvm/llvm-project/pull/95408 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Disallow explicit object parameters in more contexts (PR #89078)

2024-06-19 Thread via cfe-commits
@@ -11463,6 +11463,23 @@ void Sema::CheckExplicitObjectMemberFunction(Declarator &D, D.setInvalidType(); } + // Handle the following case: + // + // struct S { + // struct T { + // int f(this T); + // }; + // + // friend int T::f(this T); // Allow this

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Zibi Sarbinowski via cfe-commits
@@ -224,6 +252,19 @@ class LLVM_LIBRARY_VISIBILITY SystemZTargetInfo : public TargetInfo { std::pair hardwareInterferenceSizes() const override { return std::make_pair(256, 256); } + + uint64_t getPointerWidthV(LangAS AddrSpace) const override { +unsigned TargetAd

[clang] [llvm] [MC,llvm-readobj,yaml2obj] Support CREL relocation format (PR #91280)

2024-06-19 Thread James Henderson via cfe-commits
https://github.com/jh7370 commented: I've spent as much time as I can on this today. I've reviewed the code in its entirety, but still haven't tackled the tests, I'm afraid. https://github.com/llvm/llvm-project/pull/91280 ___ cfe-commits mailing list

[clang] [llvm] [MC,llvm-readobj,yaml2obj] Support CREL relocation format (PR #91280)

2024-06-19 Thread James Henderson via cfe-commits
@@ -392,6 +393,73 @@ ELFFile::decode_relrs(Elf_Relr_Range relrs) const { return Relocs; } +template +Expected +ELFFile::getCrelHeader(ArrayRef Content) const { + DataExtractor Data(Content, isLE(), ELFT::Is64Bits ? 8 : 4); + Error Err = Error::success(); + uint64_t Hdr =

[clang] [llvm] [MC,llvm-readobj,yaml2obj] Support CREL relocation format (PR #91280)

2024-06-19 Thread James Henderson via cfe-commits
@@ -474,9 +480,29 @@ struct Elf_Rel_Impl, true> : public Elf_Rel_Impl, false> { LLVM_ELF_IMPORT_TYPES(Endianness, true) static const bool IsRela = true; + static const bool IsCrel = false; Elf_Sxword r_addend; // Compute value for relocatable field by adding this.

[clang] [llvm] [MC,llvm-readobj,yaml2obj] Support CREL relocation format (PR #91280)

2024-06-19 Thread James Henderson via cfe-commits
https://github.com/jh7370 edited https://github.com/llvm/llvm-project/pull/91280 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [MC,llvm-readobj,yaml2obj] Support CREL relocation format (PR #91280)

2024-06-19 Thread James Henderson via cfe-commits
@@ -392,6 +393,73 @@ ELFFile::decode_relrs(Elf_Relr_Range relrs) const { return Relocs; } +template +Expected +ELFFile::getCrelHeader(ArrayRef Content) const { + DataExtractor Data(Content, isLE(), ELFT::Is64Bits ? 8 : 4); jh7370 wrote: Not quite what I h

[clang] [llvm] [MC,llvm-readobj,yaml2obj] Support CREL relocation format (PR #91280)

2024-06-19 Thread James Henderson via cfe-commits
@@ -3908,7 +3933,8 @@ template void GNUELFDumper::printRelocations() { HasRelocSections = true; std::string EntriesNum = ""; -if (Expected NumOrErr = GetEntriesNum(Sec)) +Expected NumOrErr = GetEntriesNum(Sec); +if (NumOrErr) jh7370 wrote

[clang] [llvm] [MC,llvm-readobj,yaml2obj] Support CREL relocation format (PR #91280)

2024-06-19 Thread James Henderson via cfe-commits
@@ -3840,14 +3849,15 @@ void GNUELFDumper::printRelRelaReloc(const Relocation &R, template static void printRelocHeaderFields(formatted_raw_ostream &OS, unsigned SType, - const typename ELFT::Ehdr &EHeader) { +

[clang] [llvm] [MC,llvm-readobj,yaml2obj] Support CREL relocation format (PR #91280)

2024-06-19 Thread James Henderson via cfe-commits
@@ -4888,6 +4920,34 @@ void ELFDumper::printRelocationsHelper(const Elf_Shdr &Sec) { template void ELFDumper::printDynamicRelocationsHelper() { const bool IsMips64EL = this->Obj.isMips64EL(); + auto DumpCrelRegion = [&](DynRegionInfo &Region) { jh7370 wro

[clang] [llvm] [MC,llvm-readobj,yaml2obj] Support CREL relocation format (PR #91280)

2024-06-19 Thread James Henderson via cfe-commits
@@ -4888,6 +4920,34 @@ void ELFDumper::printRelocationsHelper(const Elf_Shdr &Sec) { template void ELFDumper::printDynamicRelocationsHelper() { const bool IsMips64EL = this->Obj.isMips64EL(); + auto DumpCrelRegion = [&](DynRegionInfo &Region) { +// While the size is u

[clang] [llvm] [MC,llvm-readobj,yaml2obj] Support CREL relocation format (PR #91280)

2024-06-19 Thread James Henderson via cfe-commits
@@ -86,6 +86,8 @@ DYNAMIC_TAG(RELRSZ, 35) // Size of Relr relocation table. DYNAMIC_TAG(RELR, 36)// Address of relocation table (Relr entries). DYNAMIC_TAG(RELRENT, 37) // Size of a Relr relocation entry. +DYNAMIC_TAG(CREL, 38) // CREL relocation table + --

[clang] [clang][CodeGen] Add query for a target's flat address space (PR #95728)

2024-06-19 Thread Alex Voicu via cfe-commits
https://github.com/AlexVlx updated https://github.com/llvm/llvm-project/pull/95728 >From 2b500ad9ef2baf27da29146b5a4123dcb75e Mon Sep 17 00:00:00 2001 From: Alex Voicu Date: Mon, 17 Jun 2024 02:15:00 +0100 Subject: [PATCH 1/2] Add interface for exposing a target's flat address space, if it

[clang] [Clang] Disallow explicit object parameters in more contexts (PR #89078)

2024-06-19 Thread via cfe-commits
@@ -7525,6 +7525,8 @@ def err_explicit_object_parameter_mutable: Error< def err_invalid_explicit_object_type_in_lambda: Error< "invalid explicit object parameter type %0 in lambda with capture; " "the type must be the same as, or derived from, the lambda">; +def err_explici

[clang] [Clang] Disallow explicit object parameters in more contexts (PR #89078)

2024-06-19 Thread via cfe-commits
https://github.com/Sirraide updated https://github.com/llvm/llvm-project/pull/89078 >From c611122688657287e8285edd9a2875e4975d26dd Mon Sep 17 00:00:00 2001 From: Sirraide Date: Wed, 17 Apr 2024 16:15:39 +0200 Subject: [PATCH 01/12] [Clang] Disallow explicit object parameters in more contexts

[clang] [flang] [flang] Implement -mcmodel flag (PR #95411)

2024-06-19 Thread David Truby via cfe-commits
DavidTruby wrote: It looks like `-mcmodel=medium` implies another flag on x86-64 that I haven't implemented. I will post another patch implementing `-mlarge-data-threshold` and endeavour to merge that before this patch so that this works on x86-64. https://github.com/llvm/llvm-project/pull/954

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Zibi Sarbinowski via cfe-commits
@@ -3567,6 +3567,14 @@ void CompilerInvocationBase::GenerateLangArgs(const LangOptions &Opts, GenerateArg(Consumer, OPT_ftrigraphs); } + if (T.isOSzOS()) { +if (!Opts.ZOSExt) + GenerateArg(Consumer, OPT_fno_zos_extensions); zibi2 wrote: I a

[clang] [libcxx] [Clang] Implement resolution for CWG1835 (PR #92957)

2024-06-19 Thread via cfe-commits
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff 93831c73ea51dcf4dc1832a4ea5616b819d36f31 babdee51c4a40a5053ed47846ff57bae2858a21b --e

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Zibi Sarbinowski via cfe-commits
@@ -7097,10 +7098,14 @@ static bool handleMSPointerTypeQualifierAttr(TypeProcessingState &State, else if (Attrs[attr::UPtr]) ASIdx = LangAS::ptr32_uptr; } else if (PtrWidth == 64 && Attrs[attr::Ptr32]) { -if (Attrs[attr::UPtr]) +if (Triple.isOSzOS()) {

[clang] [clang][analyzer] Add notes to PointerSubChecker (PR #95899)

2024-06-19 Thread Balázs Kéri via cfe-commits
https://github.com/balazske updated https://github.com/llvm/llvm-project/pull/95899 From 1eb6e7ebde0e97e1cd077dc27ffd3ebd6ed0e93d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20K=C3=A9ri?= Date: Tue, 18 Jun 2024 10:09:24 +0200 Subject: [PATCH 1/4] [clang][analyzer] Add notes to PointerS

[clang-tools-extra] [clang][include-cleaner]skip stdlib recogntion only when there are defintion with body in main file. (PR #95797)

2024-06-19 Thread Congcong Cai via cfe-commits
@@ -39,20 +40,24 @@ Hints declHints(const Decl *D) { } std::vector> locateDecl(const Decl &D) { - std::vector> Result; - // FIXME: Should we also provide physical locations? - if (auto SS = tooling::stdlib::Recognizer()(&D)) { -Result.push_back({*SS, Hints::CompleteSymb

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Zibi Sarbinowski via cfe-commits
@@ -59,6 +59,14 @@ static std::string computeDataLayout(const Triple &TT) { // Data mangling. Ret += DataLayout::getManglingComponent(TT); + // Special features for z/OS. + if (TT.isOSzOS()) { +if (TT.isArch64Bit()) { zibi2 wrote: You can collapse t

[clang] [Sema] Use llvm::erase_if (NFC) (PR #96068)

2024-06-19 Thread via cfe-commits
https://github.com/Sirraide approved this pull request. https://github.com/llvm/llvm-project/pull/96068 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clangd] Add inlay hints for default function arguments and implicit lambda captures (PR #95712)

2024-06-19 Thread Tor Shepherd via cfe-commits
https://github.com/torshepherd updated https://github.com/llvm/llvm-project/pull/95712 >From 77bb21454b2110bed491689a4c323cff1c745207 Mon Sep 17 00:00:00 2001 From: Tor Shepherd Date: Sun, 16 Jun 2024 10:54:43 -0400 Subject: [PATCH] Add default arguments and lambda captures only --- clang-too

[clang] [clang] Add value_type attr, use it to add noalias when pass-by-value. (PR #95004)

2024-06-19 Thread Florian Hahn via cfe-commits
fhahn wrote: Thanks, I'll hope to get back to this and make the suggested adjustments soonish https://github.com/llvm/llvm-project/pull/95004 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-co

[clang-tools-extra] [clangd] Add inlay hints for default function arguments and implicit lambda captures (PR #95712)

2024-06-19 Thread Tor Shepherd via cfe-commits
https://github.com/torshepherd updated https://github.com/llvm/llvm-project/pull/95712 >From 3830a49faf5e20781f864d459f5478221740ac3d Mon Sep 17 00:00:00 2001 From: Tor Shepherd Date: Wed, 19 Jun 2024 09:55:34 -0400 Subject: [PATCH 1/2] after comments --- clang-tools-extra/clangd/Config.h

[clang-tools-extra] [clangd] Add inlay hints for default function arguments and implicit lambda captures (PR #95712)

2024-06-19 Thread Tor Shepherd via cfe-commits
@@ -15,9 +15,12 @@ #include "support/Context.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/ScopedPrinter.h" +#include "llvm/Support/raw_ostream.h" #include "gmock/gmock.h" #include "gtest/gtest.h" +#include #include +#include torshepherd wrote

[clang-tools-extra] [clangd] Add inlay hints for default function arguments and implicit lambda captures (PR #95712)

2024-06-19 Thread Tor Shepherd via cfe-commits
@@ -372,6 +382,34 @@ maybeDropCxxExplicitObjectParameters(ArrayRef Params) { return Params; } +llvm::StringRef getLambdaCaptureName(const LambdaCapture &Capture) { + if (Capture.capturesVariable()) +return Capture.getCapturedVar()->getName(); + if (Capture.capturesThis

[clang-tools-extra] [clangd] Add inlay hints for default function arguments and implicit lambda captures (PR #95712)

2024-06-19 Thread Tor Shepherd via cfe-commits
@@ -372,6 +382,34 @@ maybeDropCxxExplicitObjectParameters(ArrayRef Params) { return Params; } +llvm::StringRef getLambdaCaptureName(const LambdaCapture &Capture) { + if (Capture.capturesVariable()) +return Capture.getCapturedVar()->getName(); + if (Capture.capturesThis

[clang] [clang][CodeGen] Add query for a target's flat address space (PR #95728)

2024-06-19 Thread Alex Voicu via cfe-commits
https://github.com/AlexVlx updated https://github.com/llvm/llvm-project/pull/95728 >From 2b500ad9ef2baf27da29146b5a4123dcb75e Mon Sep 17 00:00:00 2001 From: Alex Voicu Date: Mon, 17 Jun 2024 02:15:00 +0100 Subject: [PATCH 1/3] Add interface for exposing a target's flat address space, if it

[clang] [llvm] [LLVM] Add InsertPosition union-type to remove overloads of Instruction-creation (PR #94226)

2024-06-19 Thread Nikita Popov via cfe-commits
nikic wrote: It looks like polly needs an update as well. https://github.com/llvm/llvm-project/pull/94226 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [libc] [llvm] [NVPTX] Implement variadic functions using IR lowering (PR #96015)

2024-06-19 Thread Jon Chesterfield via cfe-commits
@@ -203,8 +203,15 @@ ABIArgInfo NVPTXABIInfo::classifyArgumentType(QualType Ty) const { void NVPTXABIInfo::computeInfo(CGFunctionInfo &FI) const { if (!getCXXABI().classifyReturnType(FI)) FI.getReturnInfo() = classifyReturnType(FI.getReturnType()); - for (auto &I : FI.a

[clang] [libc] [llvm] [NVPTX] Implement variadic functions using IR lowering (PR #96015)

2024-06-19 Thread Jon Chesterfield via cfe-commits
@@ -17,6 +17,8 @@ #define MODULE_PASS(NAME, CREATE_PASS) #endif MODULE_PASS("generic-to-nvvm", GenericToNVVMPass()) +MODULE_PASS("expand-variadics", JonChesterfield wrote: This shouldn't be necessary, I think. I don't recall whether I removed it from the amdg

[clang] [libc] [llvm] [NVPTX] Implement variadic functions using IR lowering (PR #96015)

2024-06-19 Thread Jon Chesterfield via cfe-commits
https://github.com/JonChesterfield commented: With the possible exception of some alignment handling this looks about as I'd expect it to. Ideally we'd get some feedback from nvptx-associated people but fixing libc is a good sign https://github.com/llvm/llvm-project/pull/96015 ___

[clang] [libc] [llvm] [NVPTX] Implement variadic functions using IR lowering (PR #96015)

2024-06-19 Thread Jon Chesterfield via cfe-commits
@@ -938,6 +938,37 @@ struct Amdgpu final : public VariadicABIInfo { } }; +struct NVPTX final : public VariadicABIInfo { + + bool enableForTarget() override { return true; } + + bool vaListPassedInSSARegister() override { return true; } + + Type *vaListType(LLVMContext &Ct

[clang] [libc] [llvm] [NVPTX] Implement variadic functions using IR lowering (PR #96015)

2024-06-19 Thread Jon Chesterfield via cfe-commits
https://github.com/JonChesterfield edited https://github.com/llvm/llvm-project/pull/96015 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [libc] [llvm] [NVPTX] Implement variadic functions using IR lowering (PR #96015)

2024-06-19 Thread Joseph Huber via cfe-commits
@@ -17,6 +17,8 @@ #define MODULE_PASS(NAME, CREATE_PASS) #endif MODULE_PASS("generic-to-nvvm", GenericToNVVMPass()) +MODULE_PASS("expand-variadics", jhuber6 wrote: Couldn't remember if adding it to `addIRPasses` applied to all uses. I remember something like

[clang] [libc] [llvm] [NVPTX] Implement variadic functions using IR lowering (PR #96015)

2024-06-19 Thread Joseph Huber via cfe-commits
@@ -938,6 +938,37 @@ struct Amdgpu final : public VariadicABIInfo { } }; +struct NVPTX final : public VariadicABIInfo { + + bool enableForTarget() override { return true; } + + bool vaListPassedInSSARegister() override { return true; } + + Type *vaListType(LLVMContext &Ct

[clang] [libc] [llvm] [NVPTX] Implement variadic functions using IR lowering (PR #96015)

2024-06-19 Thread Joseph Huber via cfe-commits
jhuber6 wrote: > With the possible exception of some alignment handling this looks about as > I'd expect it to. Ideally we'd get some feedback from nvptx-associated people > but fixing libc is a good sign Yep, I believe @Artem-B is on vacation, so hopefully @AlexMaclean can chime in. This sho

[clang] [Clang] Allow raw string literals in C as an extension (PR #88265)

2024-06-19 Thread via cfe-commits
https://github.com/Sirraide updated https://github.com/llvm/llvm-project/pull/88265 >From 40e533e6f58acbe832b3fa4e14ca9fd600cf77cf Mon Sep 17 00:00:00 2001 From: Sirraide Date: Wed, 10 Apr 2024 14:36:23 +0200 Subject: [PATCH 1/5] [Clang] Allow raw string literals in C as an extension --- clan

[clang] 021b9d0 - [Sema] Use llvm::erase_if (NFC) (#96068)

2024-06-19 Thread via cfe-commits
Author: Kazu Hirata Date: 2024-06-19T07:52:54-07:00 New Revision: 021b9d0239f830244ebe0deb77cdca8fceeb6613 URL: https://github.com/llvm/llvm-project/commit/021b9d0239f830244ebe0deb77cdca8fceeb6613 DIFF: https://github.com/llvm/llvm-project/commit/021b9d0239f830244ebe0deb77cdca8fceeb6613.diff L

[clang] [Sema] Use llvm::erase_if (NFC) (PR #96068)

2024-06-19 Thread Kazu Hirata via cfe-commits
https://github.com/kazutakahirata closed https://github.com/llvm/llvm-project/pull/96068 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Allow raw string literals in C as an extension (PR #88265)

2024-06-19 Thread via cfe-commits
Sirraide wrote: Alright, I think this has the behaviour that we want now: - raw string literals are enabled in C++11 and later, as well as in C in gnuXY mode; - raw string literals can be explicitly enabled or disabled in C (and in C++ standards before C++11) using `-f[no-]raw-string-literals`;

[clang] [Clang] Bugfixes and improved support for `AttributedType`s in lambdas (PR #85325)

2024-06-19 Thread via cfe-commits
Sirraide wrote: ping https://github.com/llvm/llvm-project/pull/85325 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [libc] [llvm] [NVPTX] Implement variadic functions using IR lowering (PR #96015)

2024-06-19 Thread Joseph Huber via cfe-commits
https://github.com/jhuber6 updated https://github.com/llvm/llvm-project/pull/96015 >From a05b24a06429c1ad6c4988f232442d53010e79a9 Mon Sep 17 00:00:00 2001 From: Joseph Huber Date: Mon, 17 Jun 2024 15:32:31 -0500 Subject: [PATCH] [NVPTX] Implement variadic functions using IR lowering Summary: T

[clang] 01ba3fa - [Clang] Swap range and noundef metadata to attribute for intrinsics. (#94851)

2024-06-19 Thread via cfe-commits
Author: Andreas Jonson Date: 2024-06-19T17:23:53+02:00 New Revision: 01ba3fa37b22828abca81011b0cb2e4cbbb8cfda URL: https://github.com/llvm/llvm-project/commit/01ba3fa37b22828abca81011b0cb2e4cbbb8cfda DIFF: https://github.com/llvm/llvm-project/commit/01ba3fa37b22828abca81011b0cb2e4cbbb8cfda.diff

[clang] [Clang] Swap range metadata to attribute for intrinsics. (PR #94851)

2024-06-19 Thread Andreas Jonson via cfe-commits
https://github.com/andjo403 closed https://github.com/llvm/llvm-project/pull/94851 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [Clang] [Sema] Diagnose unknown std::initializer_list layout in SemaInit (PR #95580)

2024-06-19 Thread Mital Ashok via cfe-commits
https://github.com/MitalAshok updated https://github.com/llvm/llvm-project/pull/95580 >From ef42900b5e3533839c126cb9e6b19d7dcc7806c6 Mon Sep 17 00:00:00 2001 From: Mital Ashok Date: Fri, 14 Jun 2024 19:14:21 +0100 Subject: [PATCH 1/4] [Clang] [SemaCXX] Diagnose unknown std::initializer_list la

[clang] 1003f5b - [Clang][AArch64] Use 'uint64_t*' for _arm_get_sme_state builtin. (#95982)

2024-06-19 Thread via cfe-commits
Author: Sander de Smalen Date: 2024-06-19T16:38:46+01:00 New Revision: 1003f5b93e0ab0518e285b861573181942e41930 URL: https://github.com/llvm/llvm-project/commit/1003f5b93e0ab0518e285b861573181942e41930 DIFF: https://github.com/llvm/llvm-project/commit/1003f5b93e0ab0518e285b861573181942e41930.di

[clang] [Clang][AArch64] Use 'uint64_t*' for _arm_get_sme_state builtin. (PR #95982)

2024-06-19 Thread Sander de Smalen via cfe-commits
https://github.com/sdesmalen-arm closed https://github.com/llvm/llvm-project/pull/95982 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [LLVM] Add InsertPosition union-type to remove overloads of Instruction-creation (PR #94226)

2024-06-19 Thread Nikita Popov via cfe-commits
@@ -1567,68 +1242,33 @@ void LoadInst::AssertOK() { "Ptr must have pointer type."); } -static Align computeLoadStoreDefaultAlign(Type *Ty, BasicBlock *BB) { - assert(BB && "Insertion BB cannot be null when alignment not provided!"); +static Align computeLoadStoreDefa

[clang] [clang-tools-extra] [Clang] [Sema] Diagnose unknown std::initializer_list layout in SemaInit (PR #95580)

2024-06-19 Thread Mital Ashok via cfe-commits
https://github.com/MitalAshok updated https://github.com/llvm/llvm-project/pull/95580 >From ef42900b5e3533839c126cb9e6b19d7dcc7806c6 Mon Sep 17 00:00:00 2001 From: Mital Ashok Date: Fri, 14 Jun 2024 19:14:21 +0100 Subject: [PATCH 1/4] [Clang] [SemaCXX] Diagnose unknown std::initializer_list la

[clang] [Clang] Clarify diagnostic notes for implcitly generated deduction guides (PR #96084)

2024-06-19 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/96084 Given the following invalid code, ```cpp template struct S { T *a; }; S s = {1}; ``` we produce such diagnostics currently: ``` :2:8: note: candidate template ignored: could not match 'S' against 'int' 2 |

[clang] [Clang] Clarify diagnostic notes for implcitly generated deduction guides (PR #96084)

2024-06-19 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Younan Zhang (zyn0217) Changes Given the following invalid code, ```cpp template struct S { T *a; }; S s = {1}; ``` we produce such diagnostics currently: ``` :2:8: note: candidate template ignored: could not match 'S

[clang] [CodeGen] Remove extraneous ArrayRef (NFC) (PR #96085)

2024-06-19 Thread Kazu Hirata via cfe-commits
https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/96085 ArrayRef can infer the size of a C array. Also, C arrays can be implicitly cast to ArrayRef. >From 62c24545350105e24a5be6334fe7c8075c2a633d Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Wed, 19 Jun 20

[clang] [CodeGen] Remove extraneous ArrayRef (NFC) (PR #96085)

2024-06-19 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang @llvm/pr-subscribers-clang-codegen Author: Kazu Hirata (kazutakahirata) Changes ArrayRef can infer the size of a C array. Also, C arrays can be implicitly cast to ArrayRef. --- Full diff: https://github.com/llvm/llvm-project/pull/96085.diff 1 F

[clang] [clang] Skip auto-init on scalar vars that have a non-constant Init and no self-ref (PR #94642)

2024-06-19 Thread Ilya Biryukov via cfe-commits
@@ -1972,7 +1972,20 @@ void CodeGenFunction::EmitAutoVarInit(const AutoVarEmission &emission) { } if (!constant) { -initializeWhatIsTechnicallyUninitialized(Loc); +if (trivialAutoVarInit != +LangOptions::TrivialAutoVarInitKind::Uninitialized) { + // A

[clang] [clang] Skip auto-init on scalar vars that have a non-constant Init and no self-ref (PR #94642)

2024-06-19 Thread Ilya Biryukov via cfe-commits
https://github.com/ilya-biryukov approved this pull request. https://github.com/llvm/llvm-project/pull/94642 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Skip auto-init on scalar vars that have a non-constant Init and no self-ref (PR #94642)

2024-06-19 Thread Ilya Biryukov via cfe-commits
ilya-biryukov wrote: LGTM! https://github.com/llvm/llvm-project/pull/94642 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Allow raw string literals in C as an extension (PR #88265)

2024-06-19 Thread via cfe-commits
Sirraide wrote: So, apparently, this test here https://github.com/llvm/llvm-project/blob/cb76896d6e45e2c9b7ef5e47b6ec37aeca43f7a8/clang/unittests/Lex/DependencyDirectivesScannerTest.cpp#L586-L589 is now failing, presumably because of this: https://github.com/llvm/llvm-project/blob/cb76896d6e45

[clang] [Clang] Allow raw string literals in C as an extension (PR #88265)

2024-06-19 Thread via cfe-commits
https://github.com/Sirraide updated https://github.com/llvm/llvm-project/pull/88265 >From 40e533e6f58acbe832b3fa4e14ca9fd600cf77cf Mon Sep 17 00:00:00 2001 From: Sirraide Date: Wed, 10 Apr 2024 14:36:23 +0200 Subject: [PATCH 1/6] [Clang] Allow raw string literals in C as an extension --- clan

[clang] [clang][Interp] Implement dynamic memory allocation handling (PR #70306)

2024-06-19 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/70306 >From 02256cbbd7860d788d86864e83ec2ddcedb9f0ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Da

[clang] [clang][Interp] Implement dynamic memory allocation handling (PR #70306)

2024-06-19 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: @@ -2544,6 +2544,85 @@ bool ByteCodeExprGen::VisitCXXInheritedCtorInitExpr( return this->emitCall(F, 0, E); } +template +bool ByteCodeExprGen::VisitCXXNewExpr(const CXXNewE

[clang] [Clang] Clarify diagnostic notes for implcitly generated deduction guides (PR #96084)

2024-06-19 Thread Younan Zhang via cfe-commits
zyn0217 wrote: (A screenshot that helps to understand the changes here) ![ctad](https://github.com/llvm/llvm-project/assets/117258288/09d3d4b0-307b-4d8e-ae85-5f13734a2d07) (compared to what we have now and what GCC gives: https://godbolt.org/z/948M7x7fE) https://github.com/llvm/llvm-project/pu

[clang-tools-extra] [clang-doc] Add --asset option to clang-doc (PR #94717)

2024-06-19 Thread via cfe-commits
https://github.com/PeterChou1 updated https://github.com/llvm/llvm-project/pull/94717 >From eeb334620df72c395a5ad27f44a864a6a0c194a5 Mon Sep 17 00:00:00 2001 From: PeterChou1 Date: Thu, 6 Jun 2024 23:18:12 -0400 Subject: [PATCH 01/18] [clang][clang-doc] add asset path --- .../clang-doc/tool/C

[clang] f7c96d5 - [Interp] Record::getBase - merge isRecordType/getAs() checks. NFC.

2024-06-19 Thread Simon Pilgrim via cfe-commits
Author: Simon Pilgrim Date: 2024-06-19T16:55:33+01:00 New Revision: f7c96d5733915c4ea30dbd7852faffc9cef4aca9 URL: https://github.com/llvm/llvm-project/commit/f7c96d5733915c4ea30dbd7852faffc9cef4aca9 DIFF: https://github.com/llvm/llvm-project/commit/f7c96d5733915c4ea30dbd7852faffc9cef4aca9.diff

[clang] [clang-tools-extra] Reland [clang][Sema, Lex, Parse] Preprocessor embed in C and C++ (PR #95802)

2024-06-19 Thread Jakub Jelínek via cfe-commits
@@ -0,0 +1,98 @@ +// RUN: %clang_cc1 %s -fsyntax-only --embed-dir=%S/Inputs -verify=expected,cxx -Wno-c23-extensions +// RUN: %clang_cc1 -x c -std=c23 %s -fsyntax-only --embed-dir=%S/Inputs -verify=expected,c +#embed +; + +void f (unsigned char x) { (void)x;} +void g () {} +voi

[clang] [Clang] Clarify diagnostic notes for implicitly generated deduction guides (PR #96084)

2024-06-19 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 edited https://github.com/llvm/llvm-project/pull/96084 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Implement CWG2398 provisional TTP matching to class templates (PR #94981)

2024-06-19 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: After we fork for clang-20, we can entirely remove `frelaxed-template-template-args`, and so won't need to worry about testing that non-conforming mode. Would it be reasonable to postpone that until then? https://github.com/llvm/llvm-project/p

[clang] [clang-tools-extra] [Clang] [Sema] Diagnose unknown std::initializer_list layout in SemaInit (PR #95580)

2024-06-19 Thread via cfe-commits
https://github.com/Sirraide approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/95580 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CodeGen] Remove extraneous ArrayRef (NFC) (PR #96085)

2024-06-19 Thread via cfe-commits
https://github.com/Sirraide edited https://github.com/llvm/llvm-project/pull/96085 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CodeGen] Remove extraneous ArrayRef (NFC) (PR #96085)

2024-06-19 Thread via cfe-commits
@@ -1200,15 +1200,14 @@ void CodeGenPGO::emitCounterSetOrIncrement(CGBuilderTy &Builder, const Stmt *S, if (llvm::EnableSingleByteCoverage) Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::instrprof_cover), - ArrayRef(Args, 4)); +

[clang] [CodeGen] Remove extraneous ArrayRef (NFC) (PR #96085)

2024-06-19 Thread via cfe-commits
@@ -1200,15 +1200,14 @@ void CodeGenPGO::emitCounterSetOrIncrement(CGBuilderTy &Builder, const Stmt *S, if (llvm::EnableSingleByteCoverage) Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::instrprof_cover), - ArrayRef(Args, 4)); +

[clang] [CodeGen] Remove extraneous ArrayRef (NFC) (PR #96085)

2024-06-19 Thread via cfe-commits
https://github.com/Sirraide requested changes to this pull request. https://github.com/llvm/llvm-project/pull/96085 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [OpenMP] OpenMP 5.1 "assume" directive parsing support (PR #92731)

2024-06-19 Thread Julian Brown via cfe-commits
https://github.com/jtb20 updated https://github.com/llvm/llvm-project/pull/92731 >From d83105c32a48d73fe547523841a115d6863f7799 Mon Sep 17 00:00:00 2001 From: Julian Brown Date: Wed, 1 May 2024 06:35:59 -0500 Subject: [PATCH 1/2] [OpenMP] OpenMP 5.1 "assume" directive parsing support This is a

[clang] [llvm] [polly] [LLVM] Add InsertPosition union-type to remove overloads of Instruction-creation (PR #94226)

2024-06-19 Thread Stephen Tozer via cfe-commits
SLTozer wrote: Alright, builds now working for LLVM, Clang, Flang, Polly, and MLIR; looks good to merge? https://github.com/llvm/llvm-project/pull/94226 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/lis

[clang] [CodeGen] Remove extraneous ArrayRef (NFC) (PR #96085)

2024-06-19 Thread via cfe-commits
@@ -1200,15 +1200,14 @@ void CodeGenPGO::emitCounterSetOrIncrement(CGBuilderTy &Builder, const Stmt *S, if (llvm::EnableSingleByteCoverage) Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::instrprof_cover), - ArrayRef(Args, 4)); +

[clang-tools-extra] [clang-doc] Add --asset option to clang-doc (PR #94717)

2024-06-19 Thread Paul Kirth via cfe-commits
@@ -1,2 +1,2 @@ // RUN: clang-doc --format=html --executor=standalone %s -output=%t/docs | FileCheck %s -// CHECK: Using default asset: {{.*}}..\share\clang \ No newline at end of file +// CHECK: Using default asset: {{.*}}{{[\\/]}}share{{[\\/]}}clang ilovepi wr

[clang] [CodeGen] Remove extraneous ArrayRef (NFC) (PR #96085)

2024-06-19 Thread Kazu Hirata via cfe-commits
https://github.com/kazutakahirata updated https://github.com/llvm/llvm-project/pull/96085 >From 62c24545350105e24a5be6334fe7c8075c2a633d Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Wed, 19 Jun 2024 08:43:00 -0700 Subject: [PATCH 1/2] [CodeGen] Remove extraneous ArrayRef (NFC) ArrayRef can

[clang] [CodeGen] Remove extraneous ArrayRef (NFC) (PR #96085)

2024-06-19 Thread Kazu Hirata via cfe-commits
https://github.com/kazutakahirata edited https://github.com/llvm/llvm-project/pull/96085 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CodeGen] Remove extraneous ArrayRef (NFC) (PR #96085)

2024-06-19 Thread Kazu Hirata via cfe-commits
@@ -1200,15 +1200,14 @@ void CodeGenPGO::emitCounterSetOrIncrement(CGBuilderTy &Builder, const Stmt *S, if (llvm::EnableSingleByteCoverage) Builder.CreateCall(CGM.getIntrinsic(llvm::Intrinsic::instrprof_cover), - ArrayRef(Args, 4)); +

[clang] [llvm] [OpenMP] OpenMP 5.1 "assume" directive parsing support (PR #92731)

2024-06-19 Thread Julian Brown via cfe-commits
https://github.com/jtb20 updated https://github.com/llvm/llvm-project/pull/92731 >From d83105c32a48d73fe547523841a115d6863f7799 Mon Sep 17 00:00:00 2001 From: Julian Brown Date: Wed, 1 May 2024 06:35:59 -0500 Subject: [PATCH] [OpenMP] OpenMP 5.1 "assume" directive parsing support This is a mini

[clang] [llvm] [OpenMP] Diagnostic check for imperfect loop collapse (PR #96087)

2024-06-19 Thread Julian Brown via cfe-commits
https://github.com/jtb20 created https://github.com/llvm/llvm-project/pull/96087 This patch adds a diagnostic which attempts to detect the case where the "collapse" clause is used with imperfectly-nested parallel loops, something like this: #pragma omp target #pragma omp parallel for colla

[clang] [llvm] [OpenMP] Diagnostic check for imperfect loop collapse (PR #96087)

2024-06-19 Thread via cfe-commits
github-actions[bot] wrote: Thank you for submitting a Pull Request (PR) to the LLVM Project! This PR will be automatically labeled and the relevant teams will be notified. If you wish to, you can add reviewers by using the "Reviewers" section on this page. If this is not working for you, it

[clang] [llvm] [OpenMP] Diagnostic check for imperfect loop collapse (PR #96087)

2024-06-19 Thread Julian Brown via cfe-commits
jtb20 wrote: Adding @jdoerfert https://github.com/llvm/llvm-project/pull/96087 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [OpenMP] Diagnostic check for imperfect loop collapse (PR #96087)

2024-06-19 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-llvm-transforms @llvm/pr-subscribers-clang Author: Julian Brown (jtb20) Changes This patch adds a diagnostic which attempts to detect the case where the "collapse" clause is used with imperfectly-nested parallel loops, something like this: #pragma o

[clang] [Clang] [Sema] Ensure noexcept(typeid(E)) checks if E throws when needed (PR #95846)

2024-06-19 Thread Mital Ashok via cfe-commits
https://github.com/MitalAshok updated https://github.com/llvm/llvm-project/pull/95846 >From 89da8b3bcc678430fe4225c723e87914f2c378cd Mon Sep 17 00:00:00 2001 From: Mital Ashok Date: Mon, 17 Jun 2024 21:48:57 +0100 Subject: [PATCH 1/5] [Clang] [Sema] Ensure noexcept(typeid(E)) checks if E throw

[clang] [llvm] [OpenMP] OpenMP 5.1 "assume" directive parsing support (PR #92731)

2024-06-19 Thread Julian Brown via cfe-commits
jtb20 wrote: Ping? https://github.com/llvm/llvm-project/pull/92731 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Clarify diagnostic notes for implicitly generated deduction guides (PR #96084)

2024-06-19 Thread via cfe-commits
Sirraide wrote: I will say, one worry that I do have is that this would end up issuing... a lot of notes for a single error: ![image](https://github.com/llvm/llvm-project/assets/74590115/3f517fb4-a00d-4093-b690-c2e2e1f49380) C++ error messages already have a reputation of being rather long; I’

[clang] [CodeGen] Remove extraneous ArrayRef (NFC) (PR #96085)

2024-06-19 Thread via cfe-commits
https://github.com/Sirraide approved this pull request. https://github.com/llvm/llvm-project/pull/96085 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clangd] Add inlay hints for default function arguments and implicit lambda captures (PR #95712)

2024-06-19 Thread Tor Shepherd via cfe-commits
https://github.com/torshepherd updated https://github.com/llvm/llvm-project/pull/95712 >From 3830a49faf5e20781f864d459f5478221740ac3d Mon Sep 17 00:00:00 2001 From: Tor Shepherd Date: Wed, 19 Jun 2024 09:55:34 -0400 Subject: [PATCH 1/2] after comments --- clang-tools-extra/clangd/Config.h

[clang-tools-extra] [clangd] Add inlay hints for default function arguments and implicit lambda captures (PR #95712)

2024-06-19 Thread Tor Shepherd via cfe-commits
https://github.com/torshepherd updated https://github.com/llvm/llvm-project/pull/95712 >From 3830a49faf5e20781f864d459f5478221740ac3d Mon Sep 17 00:00:00 2001 From: Tor Shepherd Date: Wed, 19 Jun 2024 09:55:34 -0400 Subject: [PATCH 1/2] after comments --- clang-tools-extra/clangd/Config.h

[clang] [Clang] [Sema] Ensure noexcept(typeid(E)) checks if E throws when needed (PR #95846)

2024-06-19 Thread via cfe-commits
https://github.com/Sirraide approved this pull request. Thanks, the comments are pretty much exactly what I had in mind. https://github.com/llvm/llvm-project/pull/95846 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-

[clang] 498757e - [clang][Interp][NFC] Fix initializing union APValues

2024-06-19 Thread Timm Bäder via cfe-commits
Author: Timm Bäder Date: 2024-06-19T18:31:25+02:00 New Revision: 498757e710f39d536633436fe6b4081df73dd6b7 URL: https://github.com/llvm/llvm-project/commit/498757e710f39d536633436fe6b4081df73dd6b7 DIFF: https://github.com/llvm/llvm-project/commit/498757e710f39d536633436fe6b4081df73dd6b7.diff LO

[clang] e0b66a4 - [clang][Interp][NFC] Loosen an assertion

2024-06-19 Thread Timm Bäder via cfe-commits
Author: Timm Bäder Date: 2024-06-19T18:31:25+02:00 New Revision: e0b66a4d6848dae2a03e4a17292b501c01baa009 URL: https://github.com/llvm/llvm-project/commit/e0b66a4d6848dae2a03e4a17292b501c01baa009 DIFF: https://github.com/llvm/llvm-project/commit/e0b66a4d6848dae2a03e4a17292b501c01baa009.diff LO

[clang] [llvm] [OpenMP] OpenMP 5.1 "assume" directive parsing support (PR #92731)

2024-06-19 Thread Shilei Tian via cfe-commits
https://github.com/shiltian commented: don't you need more code in AST? https://github.com/llvm/llvm-project/pull/92731 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [OpenMP] OpenMP 5.1 "assume" directive parsing support (PR #92731)

2024-06-19 Thread Shilei Tian via cfe-commits
https://github.com/shiltian edited https://github.com/llvm/llvm-project/pull/92731 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [OpenMP] OpenMP 5.1 "assume" directive parsing support (PR #92731)

2024-06-19 Thread Shilei Tian via cfe-commits
@@ -0,0 +1,42 @@ +// RUN: %clang_cc1 -verify -fopenmp -ast-print %s | FileCheck %s +// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -emit-pch -o %t %s +// RUN: %clang_cc1 -fopenmp -std=c++11 -include-pch %t -verify %s -ast-print | FileCheck %s +// expected-no-diagnostics + +#ifndef

[clang] [llvm] [OpenMP] OpenMP 5.1 "assume" directive parsing support (PR #92731)

2024-06-19 Thread Shilei Tian via cfe-commits
@@ -0,0 +1,31 @@ +// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -ast-print %s | FileCheck %s +// expected-no-diagnostics + +extern int bar(int); + +int foo(int arg) +{ + #pragma omp assume no_openmp_routines + { +auto fn = [](int x) { return bar(x); }; +// CHECK: auto fn = [

<    1   2   3   >