philnik777 wrote:
They have to be compatible, but we don't need separate macros anymore for
exported classes.
https://github.com/llvm/llvm-project/pull/133699
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailm
philnik777 wrote:
IMO this kind of flag requires an RFC. This is a non-conforming extension and I
don't see any rationale for why we'd want to add it.
https://github.com/llvm/llvm-project/pull/136436
___
cfe-commits mailing list
cfe-commits@lists.llvm
philnik777 wrote:
@tstellar Yes, it's #125185.
https://github.com/llvm/llvm-project/pull/123678
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
philnik777 wrote:
Ah, ok. That's why I couldn't figure it out :D. I'm a bit worried that you
could get the constant evaluator in a bad state that way, but I trust you that
that's not a problem. Nobody should ever try to modify any state in a
`__builtin_constant_p` anyways.
https://github.com/
philnik777 wrote:
I think this makes sense to me. However, it's entirely unclear to me how you
prevent modifications for cases like
```c++
bool test(int& i) {
return __builtin_constant_p(i = 5); // How does this fail?
}
```
> Okay, this fixes 112 libc++ tests.
BTW, this is awesome! The rate
@@ -5037,6 +5037,66 @@ def ArithmeticFence : LangBuiltin<"ALL_LANGUAGES"> {
let Prototype = "void(...)";
}
+class SNUWTemplate :
+ Template<["int", "long int", "long long int"],
+ ["_nuw", "l_nuw", "ll_nuw"]>;
philnik777 wrote:
I'm
@@ -5037,6 +5037,66 @@ def ArithmeticFence : LangBuiltin<"ALL_LANGUAGES"> {
let Prototype = "void(...)";
}
+class SNUWTemplate :
+ Template<["int", "long int", "long long int"],
+ ["_nuw", "l_nuw", "ll_nuw"]>;
+
+class SNSWTemplate :
+ Template<["in
@@ -5037,6 +5037,66 @@ def ArithmeticFence : LangBuiltin<"ALL_LANGUAGES"> {
let Prototype = "void(...)";
}
+class SNUWTemplate :
philnik777 wrote:
Can we just make these builtins generic instead? There are like a dozen builtin
families that first only got
@@ -1960,13 +1960,103 @@ static bool interp__builtin_memcmp(InterpState &S,
CodePtr OpPC,
// However, if we read all the available bytes but were instructed to read
// even more, diagnose this as a "read of dereferenced one-past-the-end
- // pointer". This is what would
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/121199
>From 55f9d1e5abf5f217e58988742bd7f375d744beb8 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Fri, 27 Sep 2024 22:11:14 +0200
Subject: [PATCH] [Clang] Add __builtin_common_reference
---
clang/docs/Lan
@@ -0,0 +1,120 @@
+// RUN: %clang_cc1 -std=c++2c -fexperimental-new-constant-interpreter
-verify=expected,both %s
+// RUN: %clang_cc1 -std=c++2c -verify=ref,both %s
+
+// both-no-diagnostics
+
+namespace std {
+inline namespace {
philnik777 wrote:
What is this
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/123736
>From 586dd4edfc79c88cc1583b64d186c1481fbd6ce1 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Wed, 4 Sep 2024 13:31:39 +0200
Subject: [PATCH 1/7] [Clang] Add BuiltinTemplates.td to generate code for
bu
@@ -0,0 +1,162 @@
+//=- ClangBuiltinsEmitter.cpp - Generate Clang builtin templates-*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,46 @@
+//===--- BuiltinTemplates.td - Clang builtin template aliases ---*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
@@ -0,0 +1,162 @@
+//=- ClangBuiltinsEmitter.cpp - Generate Clang builtin templates-*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -1826,6 +1827,12 @@ The following type trait primitives are supported by
Clang. Those traits marked
functionally equivalent to copying the underlying bytes and then dropping the
source object on the floor. This is true of trivial types and types which
were made trivia
https://github.com/philnik777 closed
https://github.com/llvm/llvm-project/pull/123736
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/philnik777 closed
https://github.com/llvm/llvm-project/pull/107689
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1826,6 +1827,12 @@ The following type trait primitives are supported by
Clang. Those traits marked
functionally equivalent to copying the underlying bytes and then dropping the
source object on the floor. This is true of trivial types and types which
were made trivia
@@ -1826,6 +1827,12 @@ The following type trait primitives are supported by
Clang. Those traits marked
functionally equivalent to copying the underlying bytes and then dropping the
source object on the floor. This is true of trivial types and types which
were made trivia
https://github.com/philnik777 ready_for_review
https://github.com/llvm/llvm-project/pull/121199
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From c52c8f35af6a10411ce94e7551781c38cec01f07 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH] [Clang] Add __builtin_invoke and recognize std::invoke as a
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/121199
>From 3010ba7ab5392394b37261807fc7cf4cbb205e0c Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Fri, 27 Sep 2024 22:11:14 +0200
Subject: [PATCH] [Clang] Add __builtin_common_reference
---
clang/docs/Lan
https://github.com/philnik777 created
https://github.com/llvm/llvm-project/pull/133699
MinGW and Win32 disagree on where the `__declspec(dllexport)` should be placed.
However, there doesn't
fundamentally seem to be a problem with putting the annotation in both places.
This patch adds a new
dia
https://github.com/philnik777 created
https://github.com/llvm/llvm-project/pull/133587
Fixes #132672
>From 1c0a267544c43235d0004edb9beb127a124abd7a Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Sat, 29 Mar 2025 15:21:10 +0100
Subject: [PATCH] [Clang] Make enums trivially equality comp
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/121199
>From 19a76935988b306201ed536e99e9094b18006a0f Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Fri, 27 Sep 2024 22:11:14 +0200
Subject: [PATCH] [Clang] Add __builtin_common_reference
---
clang/docs/Lan
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From ddcc9187ffe1aa07988145ab91c0d038aef5800c Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH] [Clang] Add __builtin_invoke and recognize std::invoke as a
https://github.com/philnik777 created
https://github.com/llvm/llvm-project/pull/134105
Reverts llvm/llvm-project#133265
This causes the whole libc++ CI to fail, since we're not building against a
compiler built from current trunk.
>From adbf46d2b5b226452eee71825dd26b4414617f7d Mon Sep 17 00:0
philnik777 wrote:
I think we need some better transition story here. Maybe don't enable the
warning by default for time until we've had time to update the libc++
containers?
https://github.com/llvm/llvm-project/pull/134105
___
cfe-commits mailing lis
philnik777 wrote:
CC @DKLoehr @AaronBallman @zmodem - I'm landing this now, since this halts
basically all libc++ development.
https://github.com/llvm/llvm-project/pull/134105
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.
@@ -1611,29 +1611,7 @@ void Parser::ParseClassSpecifier(tok::TokenKind
TagTokKind,
Tok.isOneOf(
#define TRANSFORM_TYPE_TRAIT_DEF(_, Trait) tok::kw___##Trait,
#include "clang/Basic/TransformTypeTraits.def"
- tok::kw___is_abstract,
- tok::kw___is_aggregat
@@ -5406,6 +5408,101 @@ ExprResult Sema::ConvertVectorExpr(Expr *E,
TypeSourceInfo *TInfo,
RParenLoc, CurFPFeatureOverrides());
}
+ExprResult Sema::BuiltinInvoke(CallExpr *TheCall) {
+ auto Loc = TheCall->getBeginLoc();
+ auto Args = Mutab
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 1/2] [Clang] Add __builtin_invoke and recognize std::invoke a
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 1/3] [Clang] Add __builtin_invoke and recognize std::invoke a
@@ -5406,6 +5408,101 @@ ExprResult Sema::ConvertVectorExpr(Expr *E,
TypeSourceInfo *TInfo,
RParenLoc, CurFPFeatureOverrides());
}
+ExprResult Sema::BuiltinInvoke(CallExpr *TheCall) {
+ auto Loc = TheCall->getBeginLoc();
+ auto Args = Mutab
@@ -5406,6 +5408,103 @@ ExprResult Sema::ConvertVectorExpr(Expr *E,
TypeSourceInfo *TInfo,
RParenLoc, CurFPFeatureOverrides());
}
+ExprResult Sema::BuiltinInvoke(CallExpr *TheCall) {
+ SourceLocation Loc = TheCall->getBeginLoc();
+ auto Ar
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 1/4] [Clang] Add __builtin_invoke and recognize std::invoke a
https://github.com/philnik777 ready_for_review
https://github.com/llvm/llvm-project/pull/116709
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 1/5] [Clang] Add __builtin_invoke and recognize std::invoke a
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH] [Clang] Add __builtin_invoke and recognize std::invoke as a
@@ -3231,6 +3241,230 @@ static QualType builtinCommonTypeImpl(Sema &S,
TemplateName BaseTemplate,
}
}
+static QualType CopyCV(QualType From, QualType To) {
+ if (From.isConstQualified())
+To.addConst();
+ if (From.isVolatileQualified())
+To.addVolatile();
+ retur
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/138293
>From d19c634bc341b33a15ddf05de556fddd4d1bf168 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Fri, 2 May 2025 17:24:13 +0200
Subject: [PATCH] [libc++] Upgrade to GCC 15
---
.github/workflows/libcxx-bu
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/138293
>From e735a57745e840f4a19bdd433e823a851890bcbe Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Fri, 2 May 2025 17:24:13 +0200
Subject: [PATCH] [libc++] Upgrade to GCC 15
---
.github/workflows/libcxx-bu
@@ -3231,6 +3241,230 @@ static QualType builtinCommonTypeImpl(Sema &S,
TemplateName BaseTemplate,
}
}
+static QualType CopyCV(QualType From, QualType To) {
+ if (From.isConstQualified())
+To.addConst();
+ if (From.isVolatileQualified())
+To.addVolatile();
+ retur
philnik777 wrote:
> This seems reasonable to me? I'm not a huge fan of how much is being put into
> `SemaTemplate.cpp` to support all the builtins though. I'm wondering if we
> need to split that up in a follow-up and have a `SemaTemplateBuiltins` for
> all of these to live.
I can take a look
@@ -3231,6 +3241,230 @@ static QualType builtinCommonTypeImpl(Sema &S,
TemplateName BaseTemplate,
}
}
+static QualType CopyCV(QualType From, QualType To) {
+ if (From.isConstQualified())
+To.addConst();
+ if (From.isVolatileQualified())
+To.addVolatile();
+ retur
@@ -3231,6 +3241,230 @@ static QualType builtinCommonTypeImpl(Sema &S,
TemplateName BaseTemplate,
}
}
+static QualType CopyCV(QualType From, QualType To) {
+ if (From.isConstQualified())
+To.addConst();
+ if (From.isVolatileQualified())
+To.addVolatile();
+ retur
philnik777 wrote:
> Thanks for working on that. Do you have any benchmarks?
I haven't benchmarked extensively, but as stated in the commit message, The
instantiation of `std::format` is ~20ms faster. IMO that's a significant enough
speedup on its own that it grants adding a builtin.
I've jus
@@ -6540,67 +6540,70 @@ ExprResult Sema::ActOnTypeTrait(TypeTrait Kind,
SourceLocation KWLoc,
return BuildTypeTrait(Kind, KWLoc, ConvertedArgs, RParenLoc);
}
-static bool EvaluateBinaryTypeTrait(Sema &Self, TypeTrait BTT, const
TypeSourceInfo *Lhs,
-
@@ -3231,6 +3241,230 @@ static QualType builtinCommonTypeImpl(Sema &S,
TemplateName BaseTemplate,
}
}
+static QualType CopyCV(QualType From, QualType To) {
+ if (From.isConstQualified())
+To.addConst();
+ if (From.isVolatileQualified())
+To.addVolatile();
+ retur
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/138293
>From 29273cf49b2cae51f6eee43970deb547272eb97f Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Fri, 2 May 2025 17:24:13 +0200
Subject: [PATCH] [libc++] Upgrade to GCC 15
---
.github/workflows/libcxx-bu
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/138293
>From 68a5c9df4e5dc4599a97ccd24b95708ac0e0a327 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Fri, 2 May 2025 17:24:13 +0200
Subject: [PATCH] [libc++] Upgrade to GCC 15
---
.github/workflows/libcxx-bu
@@ -3990,6 +3990,13 @@ def LocksExcluded : InheritableAttr {
let Documentation = [Undocumented];
}
+def ReentrantCapability : InheritableAttr {
+ let Spellings = [Clang<"reentrant_capability">];
+ let Subjects = SubjectList<[Record, TypedefName]>;
+ let Documentation = [U
https://github.com/philnik777 closed
https://github.com/llvm/llvm-project/pull/78071
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -124,8 +126,8 @@ void test() {
#if _LIBCPP_HAS_EXCEPTIONS
// expected-error-re@*:* {{call to deleted constructor of{{.*
// expected-error-re@*:* {{call to deleted constructor of{{.*
- // expected-error-re@*:* {{call to deleted constructor of{{.*
- // expect
https://github.com/philnik777 approved this pull request.
The libc++ changes LGTM.
https://github.com/llvm/llvm-project/pull/144220
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
philnik777 wrote:
ping @erichkeane @cor3ntin @zmodem
https://github.com/llvm/llvm-project/pull/133699
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/philnik777 edited
https://github.com/llvm/llvm-project/pull/133699
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
philnik777 wrote:
> > I too had trouble understanding this change based on the description. Could
> > you give a concrete example of how mingw and msvc disagree on where to put
> > the attribute, and explain how this pr changes things?
```
template
class S {};
extern template class __declspe
philnik777 wrote:
Oh, also note that by default there will still be diagnostics about all
incorrect placements. You'll have to opt-in to silently ignoring incorrect
placements via `-Wno-dllexport-explicit-instantiation` (assuming I did things
correctly).
https://github.com/llvm/llvm-project/p
@@ -28,14 +28,15 @@ int main(int, char**) {
{
MoveOnly mo[] = {MoveOnly{3}};
// expected-error@array:* {{to_array requires copy constructible elements}}
-// expected-error-re@array:* (call to implicitly-deleted copy
constructor of 'MoveOnly')|(call to deleted
@@ -124,8 +126,8 @@ void test() {
#if _LIBCPP_HAS_EXCEPTIONS
// expected-error-re@*:* {{call to deleted constructor of{{.*
// expected-error-re@*:* {{call to deleted constructor of{{.*
- // expected-error-re@*:* {{call to deleted constructor of{{.*
- // expect
https://github.com/philnik777 edited
https://github.com/llvm/llvm-project/pull/144161
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
philnik777 wrote:
> @philnik777 Is it my fault that tests fail with `Error: Process completed
> with exit code 255`?
No, it's the CI being problematic. I've restarted the failed CI.
https://github.com/llvm/llvm-project/pull/144220
___
cfe-commits mai
philnik777 wrote:
I feel like this is a solution that can grow out of hand very easily. IMO the
better solution would be to have `-Wmissing-noreturn` place a `[[noreturn]]`
into the AST to avoid incorrect follow-up diagnostics.
https://github.com/llvm/llvm-project/pull/145166
_
philnik777 wrote:
> > > @philnik777 Is it my fault that tests fail with `Error: Process completed
> > > with exit code 255`?
> >
> >
> > No, it's the CI being problematic. I've restarted the failed CI.
>
> Hmmm CI is still failing but with msan issues. Is this still CI being
> problematic?
https://github.com/philnik777 created
https://github.com/llvm/llvm-project/pull/145653
I don't see any reason this shouldn't be allowed. AFAICT this is only disabled
due to the heuristics used to determine whether it makes sense to allow the use
of an attribute with `#pragma clang attribute`.
philnik777 wrote:
@AaronBallman Are any of these concerns specific to `[[gnu::visibility]]`? The
exact same concerns seem to apply to any other attribute that applies to
functions.
https://github.com/llvm/llvm-project/pull/145653
___
cfe-commits mail
philnik777 wrote:
Ping @AaronBallman
https://github.com/llvm/llvm-project/pull/116709
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/143162
>From a5c4dbe693af9b1f2dd6ef45aa803453c5fbfe28 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Fri, 6 Jun 2025 17:31:23 +0200
Subject: [PATCH] [libunwind] Remove checks for -nostdlib++
---
libunwind/cm
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/138293
>From 932b62f3a1f5cc7b69a9f2d0e794c511da0eaa6a Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Fri, 2 May 2025 17:24:13 +0200
Subject: [PATCH] [libc++] Upgrade to GCC 15
---
.github/workflows/libcxx-bu
https://github.com/philnik777 ready_for_review
https://github.com/llvm/llvm-project/pull/138293
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -55,6 +55,7 @@ void test() {
// expected-error-re@*:* {{static assertion failed {{.*}}The result of
f(value()) must be a specialization of std::expected}}
// expected-error-re@*:* .*}}cannot be used prior to '::' because it
has no members}}
// expecte
https://github.com/philnik777 commented:
> Hi, @AaronBallman! I noticed that the libc++ tests are not using the latest
> version of my code. How can I run them with the latest version? Thank you!
They are being run with the current trunk, but also with older versions of
Clang, because libc++ s
https://github.com/philnik777 edited
https://github.com/llvm/llvm-project/pull/144220
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 1/8] [Clang] Add __builtin_invoke and recognize std::invoke a
@@ -1547,6 +1547,58 @@ ExprResult Sema::ActOnTypeTrait(TypeTrait Kind,
SourceLocation KWLoc,
return BuildTypeTrait(Kind, KWLoc, ConvertedArgs, RParenLoc);
}
+bool Sema::BuiltinIsBaseOf(SourceLocation RhsTLoc, QualType LhsT,
+ QualType RhsT) {
+ //
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 1/7] [Clang] Add __builtin_invoke and recognize std::invoke a
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 1/8] [Clang] Add __builtin_invoke and recognize std::invoke a
@@ -349,7 +350,12 @@ class Triple {
/// triple fields unknown.
Triple() = default;
+ LLVM_ABI explicit Triple(std::string &&Str);
philnik777 wrote:
That is indeed the case. Technically there is an additional `move`, OTOH that
pretty much never matters,
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 01/10] [Clang] Add __builtin_invoke and recognize std::invoke
https://github.com/philnik777 closed
https://github.com/llvm/llvm-project/pull/145653
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
philnik777 wrote:
Gentle ping @AaronBallman @cor3ntin
https://github.com/llvm/llvm-project/pull/116709
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/138293
>From 633b22215dd7b4addf5a9e1718a76030dd37f9e9 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Fri, 2 May 2025 17:24:13 +0200
Subject: [PATCH] [libc++] Upgrade to GCC 15
---
.github/workflows/libcxx-bu
https://github.com/philnik777 created
https://github.com/llvm/llvm-project/pull/143162
libunwind uses a C linker, so it's never even trying to link against any C++
libraries. This removes the code which tries to drop C++ libraries, which makes
the CMake configuration simpler and allows for upg
https://github.com/philnik777 closed
https://github.com/llvm/llvm-project/pull/143162
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 1/6] [Clang] Add __builtin_invoke and recognize std::invoke a
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 1/6] [Clang] Add __builtin_invoke and recognize std::invoke a
philnik777 wrote:
> This looks fine. The meaning is clear. (If anything, the C++ standard should
> have a better way to talk about "partial or explicit specializations")
Given that the whole argument to change this is that it's closer to the
standard wording I don't see how the current change
https://github.com/philnik777 requested changes to this pull request.
I don't think this is required, or even works after #143162.
https://github.com/llvm/llvm-project/pull/143533
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.ll
https://github.com/philnik777 requested changes to this pull request.
This seems incorrect. A specialization is instantiated or an explicit
specialization according to https://eel.is/c++draft/temp.spec.general#4, which
is definitely _not_ what we mean.
https://github.com/llvm/llvm-project/pull
https://github.com/philnik777 edited
https://github.com/llvm/llvm-project/pull/143839
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/121199
>From 273d0e6149a8326284ec1e385e83c8728c41ff68 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Fri, 27 Sep 2024 22:11:14 +0200
Subject: [PATCH] [Clang] Add __builtin_common_reference
---
clang/docs/Lan
philnik777 wrote:
> > Thank you all for weighing in here. It seems there is some disagreement on
> > how to move forward with this. I believe the current change addresses the
> > initial issue this PR is tied to, which aimed to clarify this attribute
> > affects more than just explicit special
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/145653
>From 5b1e8206ef1e69a4304178f45732b3b1a4b0a59e Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Wed, 25 Jun 2025 10:43:08 +0200
Subject: [PATCH 1/2] [Clang] Allow the use of [[gnu::visibility]] with #prag
philnik777 wrote:
> This is missing test coverage for the interesting cases.
>
> I'm a bit worried about how easy it will be to apply this attribute in
> unexpected places. e.g., it will apply to member functions as well as free
> functions, will anyone expect that though?
This is explicitly
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 01/12] [Clang] Add __builtin_invoke and recognize std::invoke
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 01/11] [Clang] Add __builtin_invoke and recognize std::invoke
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 1/9] [Clang] Add __builtin_invoke and recognize std::invoke a
https://github.com/philnik777 updated
https://github.com/llvm/llvm-project/pull/116709
>From e0bb550672326e21a556ac727f2e2a6ef65f0469 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser
Date: Tue, 1 Oct 2024 11:08:02 +0200
Subject: [PATCH 01/14] [Clang] Add __builtin_invoke and recognize std::invoke
501 - 600 of 609 matches
Mail list logo