[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-07 Thread Gábor Horváth via cfe-commits
https://github.com/Xazax-hun updated https://github.com/llvm/llvm-project/pull/115021 From 2c1b0358a5ebc65af8c4abc0720fc1febeb3109d Mon Sep 17 00:00:00 2001 From: Gabor Horvath Date: Tue, 5 Nov 2024 16:37:57 + Subject: [PATCH] [clang] Support 'this' position for lifetimebound attribute Thi

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-07 Thread Gábor Horváth via cfe-commits
https://github.com/Xazax-hun closed https://github.com/llvm/llvm-project/pull/115021 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-07 Thread Saleem Abdulrasool via cfe-commits
https://github.com/compnerd approved this pull request. https://github.com/llvm/llvm-project/pull/115021 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-06 Thread Saleem Abdulrasool via cfe-commits
@@ -730,7 +731,9 @@ class YAMLConverter { } } - void convertParams(const ParamsSeq &Params, FunctionInfo &OutInfo) { + std::optional convertParams(const ParamsSeq &Params, + FunctionInfo &OutInfo) { compnerd wrot

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-06 Thread Gábor Horváth via cfe-commits
@@ -730,7 +731,9 @@ class YAMLConverter { } } - void convertParams(const ParamsSeq &Params, FunctionInfo &OutInfo) { + std::optional convertParams(const ParamsSeq &Params, + FunctionInfo &OutInfo) { Xazax-hun wro

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-06 Thread Gábor Horváth via cfe-commits
https://github.com/Xazax-hun updated https://github.com/llvm/llvm-project/pull/115021 From 3ef43fcbb6540b50ed0b41c68d6b26bb31cb1a68 Mon Sep 17 00:00:00 2001 From: Gabor Horvath Date: Tue, 5 Nov 2024 16:37:57 + Subject: [PATCH] [clang] Support 'this' position for lifetimebound attribute Thi

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-06 Thread Gábor Horváth via cfe-commits
@@ -730,7 +731,9 @@ class YAMLConverter { } } - void convertParams(const ParamsSeq &Params, FunctionInfo &OutInfo) { + std::optional convertParams(const ParamsSeq &Params, + FunctionInfo &OutInfo) { +std::optional thisOrSelf;

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-06 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 cfa5ecde415d509b835b2dc5551187f2b7eff773 81b8faed9e6da8d8a0cc9905d14716f4b2f09665 --e

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-06 Thread Gábor Horváth via cfe-commits
https://github.com/Xazax-hun updated https://github.com/llvm/llvm-project/pull/115021 From 80aa4c2c5675e1de12fa4ee05c02355346e88c06 Mon Sep 17 00:00:00 2001 From: Gabor Horvath Date: Tue, 5 Nov 2024 16:37:57 + Subject: [PATCH] [clang] Support 'this' position for lifetimebound attribute Thi

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-06 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Gábor Horváth (Xazax-hun) Changes This patch makes the position -1 interpreted as the position for 'this'. Adds some basic infrastructure and support for lifetimebound attribute. --- Full diff: https://github.com/llvm/llvm-project/pull/11

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-06 Thread Gábor Horváth via cfe-commits
https://github.com/Xazax-hun updated https://github.com/llvm/llvm-project/pull/115021 From 81b8faed9e6da8d8a0cc9905d14716f4b2f09665 Mon Sep 17 00:00:00 2001 From: Gabor Horvath Date: Tue, 5 Nov 2024 16:37:57 + Subject: [PATCH] [clang] Support 'this' position for lifetimebound attribute Thi

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-06 Thread Gábor Horváth via cfe-commits
https://github.com/Xazax-hun ready_for_review https://github.com/llvm/llvm-project/pull/115021 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-05 Thread Saleem Abdulrasool via cfe-commits
@@ -396,12 +397,19 @@ class ObjCMethodTableInfo const uint8_t *&Data) { ObjCMethodInfo Info; uint8_t Payload = *Data++; +bool HasSelf = Payload & 0x01; +Payload >>= 1; Info.RequiredInit = Payload & 0x01; Payload

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-05 Thread Saleem Abdulrasool via cfe-commits
@@ -730,7 +731,9 @@ class YAMLConverter { } } - void convertParams(const ParamsSeq &Params, FunctionInfo &OutInfo) { + std::optional convertParams(const ParamsSeq &Params, + FunctionInfo &OutInfo) { compnerd wrot

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-05 Thread Saleem Abdulrasool via cfe-commits
@@ -516,7 +524,17 @@ class CXXMethodTableInfo static CXXMethodInfo readUnversioned(internal_key_type Key, const uint8_t *&Data) { CXXMethodInfo Info; + +uint8_t Payload = *Data++; +bool HasThis = Payload & 0x01; +Payload

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-05 Thread Saleem Abdulrasool via cfe-commits
@@ -739,10 +742,16 @@ class YAMLConverter { PI.setLifetimebound(P.Lifetimebound); PI.setType(std::string(P.Type)); PI.setRetainCountConvention(P.RetainCountConvention); - if (OutInfo.Params.size() <= P.Position) + if (static_cast(OutInfo.Params.size(

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-05 Thread Saleem Abdulrasool via cfe-commits
@@ -926,11 +935,17 @@ class YAMLConverter { TheNamespace.Items, SwiftVersion); } - void convertFunction(const Function &Function, FunctionInfo &FI) { + template + void convertFunction(const Function &Function, FuncOrMethodInfo &FI) { convert

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-05 Thread Saleem Abdulrasool via cfe-commits
@@ -793,12 +802,22 @@ class CXXMethodTableInfo return static_cast(key.hashValue()); } - unsigned getUnversionedInfoSize(const CXXMethodInfo &OMI) { -return getFunctionInfoSize(OMI); + unsigned getUnversionedInfoSize(const CXXMethodInfo &CxxMI) { +auto size = ge

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-05 Thread Saleem Abdulrasool via cfe-commits
@@ -730,7 +731,9 @@ class YAMLConverter { } } - void convertParams(const ParamsSeq &Params, FunctionInfo &OutInfo) { + std::optional convertParams(const ParamsSeq &Params, + FunctionInfo &OutInfo) { +std::optional thisOrSelf;

[clang] [clang] Support 'this' position for lifetimebound attribute (PR #115021)

2024-11-05 Thread Gábor Horváth via cfe-commits
https://github.com/Xazax-hun created https://github.com/llvm/llvm-project/pull/115021 This patch makes the position -1 interpreted as the position for 'this'. Adds some basic infrastructure and support for lifetimebound attribute. From 77fa0b631e8743385768f3eb9ee607e9d01e9736 Mon Sep 17 00:00: