DanShaders wrote:
I do, thanks!
https://github.com/llvm/llvm-project/pull/98426
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/98426
>From 723205411efe18dbe8bb154839525b59963b1638 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Wed, 10 Jul 2024 23:39:42 -0400
Subject: [PATCH 1/2] [clang] Do not allow unorderable features in
[[gnu::target{
DanShaders wrote:
Just FYI, there's a similar diagnostic `-Wpadded-bitfield` that warns about any
padding inserted into bitfields in Itanium mode. They are somehow emitted in
the completely different parts of the layout code, so it doesn't show up in the
diff at all.
https://github.com/llvm/l
DanShaders wrote:
I won't have any free time to revive this until after Christmas.
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
DanShaders wrote:
Fair enough
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
DanShaders wrote:
Ping @MaskRay
Changes in the force-push:
- rebased on top of main;
- moved `defaultsToMsStruct` to `ASTContext` since it also depends on auxiliary
target.
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From 39f27a9093edd1b034f193c721b76e85e790693a Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Fri, 3 Nov 2023 21:18:06 -0400
Subject: [PATCH] [clang] Stub out gcc_struct attribute
This commit implements gcc
DanShaders wrote:
Rebased on top of main to hopefully pass github CI (no changes otherwise)
https://github.com/llvm/llvm-project/pull/98426
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/98426
>From 6ac4e250788570f4155108ef3baa1fa3532a67fa Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Wed, 10 Jul 2024 23:39:42 -0400
Subject: [PATCH] [clang] Do not allow unorderable features in
[[gnu::target{,_cl
DanShaders wrote:
CC @FreddyLeaf, @phoebewang
https://github.com/llvm/llvm-project/pull/98426
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders created
https://github.com/llvm/llvm-project/pull/98426
This partially addresses #98244.
>From a8ddcb19d5fb2bb6a846c7a33f2c90c580d212fe Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Wed, 10 Jul 2024 23:39:42 -0400
Subject: [PATCH] [clang] Do not allow unorderab
https://github.com/DanShaders created
https://github.com/llvm/llvm-project/pull/89842
Caught by compiling a project (SerenityOS) that uses compiler-rt and not
silencing warnings from system headers.
>From 8c924ea810352c27bffaf1ac30bbe4ad4ffbadc2 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date
DanShaders wrote:
@rjmccall Re asking GCC developers about gcc_struct on non-x86:
https://gcc.gnu.org/pipermail/gcc/2024-January/243154.html. Either GCC devs
aren't really worried about this or I can't properly write emails (what's
totally possible).
@MaskRay Any chance you can look at this
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From d0484b032b13109a226c088f18cf0ccd6026bceb Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Fri, 3 Nov 2023 21:18:06 -0400
Subject: [PATCH] [clang] Stub out gcc_struct attribute
This commit implements gcc
DanShaders wrote:
@MaskRay Bump
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From b26dd88d456cff7f412cdff6126d0e48454d9eb9 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Fri, 3 Nov 2023 21:18:06 -0400
Subject: [PATCH] [clang] Stub out gcc_struct attribute
This commit implements gcc
DanShaders wrote:
Hmm, but `ms_struct` has been accepted on non-x86 for at least 5 years now. The
PR merely adds a per-structure opt out toggle for it and, honestly, I don't see
how GCC might implement it differently.
https://github.com/llvm/llvm-project/pull/71148
___
DanShaders wrote:
@rjmccall
The problem will arise only if GCC implements support for MSVC C++ ABI and
decides that there is a better way to implement `gcc_struct`. Since, AFAIC,
MSVC-compatibility for GCC is not even planned, it's unlikely anybody there
will have strong opinions on this. Yet
DanShaders wrote:
Okay, @mstorsjo @MaskRay, what is the way forward?
Am I right that, as for the user-facing changes, `[[gcc_struct]]` cancelling
implicit `-mms-bitfilds` on MinGW is fine and silently ignoring
`-m{no-}ms-bitfields` on `windows-msvc` is not? When exactly should we disallow
`-m
DanShaders wrote:
One more thing. Re binary compatibility concerns: `-mno-ms-bitfields` on MinGW
is an equally-sized footgun as on MSVC. Without proper header annotation with
`#pragma ms_struct on`, either of them will silently make an ABI mismatch.
However, for some reason, supporting `-mno-m
DanShaders wrote:
> Therefore I don't think it's too relevant to implement -mno-ms-bitfields for
> MSVC targets (as I guess it could open a huge can of worms).
I want to only alter the layout of explicit fields in the class with the future
MSVC `-mno-ms-bitfields` implementation. This is alway
DanShaders wrote:
Yes, I know by now :) But this requires using the same type for all the
bit-fields which might lead to unnecessary casts in the algorithm itself. And
the other case is not as easy to fix.
https://github.com/llvm/llvm-project/pull/71148
DanShaders wrote:
@MaskRay
> I am now confused by the subject "[clang] Stub out gcc_struct attribute".
The user-facing change is `[[gcc_struct]]` attribute implemented for Itanium
C++ ABI. Better handling of `-mms-bitfields` is just a byproduct. I agree that
commit message should be more spe
DanShaders wrote:
@MaskRay
> It does not make sense for MSVC.
Let me share a bit of background here. While porting SerenityOS's libraries to
Windows and, specifically, to `x86_64-pc-windows-msvc`, we discovered a few
tests that were mysteriously failing. It turned out that the change in beha
DanShaders wrote:
@MaskRay, I figured the alternative solution with the completely decoupled
driver/frontend flags might actually be better than my initial approach. The
only issue I see with it is that it requires
`s/-mms-bitfields/-fms-layout-compatibility=microsoft/g` in quite a large
numb
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/73737
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders created
https://github.com/llvm/llvm-project/pull/73737
This causes CI failure for PRs updating `AttrDocs.td`. CC @llvm-beanz
>From d30a251b2026065de3260f473b34c080102504e9 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Tue, 28 Nov 2023 22:04:47 -0500
Subject: [
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From 1033441efd9e790bdb027824ffa1986cd09c06f2 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Fri, 3 Nov 2023 21:18:06 -0400
Subject: [PATCH 1/7] [clang] Stub out gcc_struct attribute
This commit implements
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From 1033441efd9e790bdb027824ffa1986cd09c06f2 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Fri, 3 Nov 2023 21:18:06 -0400
Subject: [PATCH 1/6] [clang] Stub out gcc_struct attribute
This commit implements
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4393,15 +4393,15 @@ def : Joined<["-"], "mmacosx-version-min=">,
Group, Alias;
def mms_bitfields : Flag<["-"], "mms-bitfields">, Group,
Visibility<[ClangOption, CC1Option]>,
- HelpText<"Set the default structure layout to be compatible with the
Microsoft compiler stan
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From 5fb6768149bf2b4e7d74c4874e17dbf4e0e656b7 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Fri, 3 Nov 2023 21:18:06 -0400
Subject: [PATCH 1/5] [clang] Stub out gcc_struct attribute
This commit implements
DanShaders wrote:
@rjmccall Would you mind merging this then? (I don't have write access)
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commit
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -5031,7 +5031,12 @@ void RecordDecl::completeDefinition() {
/// This which can be turned on with an attribute, pragma, or the
/// -mms-bitfields command-line option.
bool RecordDecl::isMsStruct(const ASTContext &C) const {
- return hasAttr() || C.getLangOpts().MSBitfields =
@@ -5031,7 +5031,12 @@ void RecordDecl::completeDefinition() {
/// This which can be turned on with an attribute, pragma, or the
/// -mms-bitfields command-line option.
bool RecordDecl::isMsStruct(const ASTContext &C) const {
- return hasAttr() || C.getLangOpts().MSBitfields =
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From 5fb6768149bf2b4e7d74c4874e17dbf4e0e656b7 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Fri, 3 Nov 2023 21:18:06 -0400
Subject: [PATCH 1/4] [clang] Stub out gcc_struct attribute
This commit implements
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -5031,7 +5031,12 @@ void RecordDecl::completeDefinition() {
/// This which can be turned on with an attribute, pragma, or the
/// -mms-bitfields command-line option.
bool RecordDecl::isMsStruct(const ASTContext &C) const {
- return hasAttr() || C.getLangOpts().MSBitfields =
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From 5fb6768149bf2b4e7d74c4874e17dbf4e0e656b7 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Fri, 3 Nov 2023 21:18:06 -0400
Subject: [PATCH 1/3] [clang] Stub out gcc_struct attribute
This commit implements
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From 5fb6768149bf2b4e7d74c4874e17dbf4e0e656b7 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Fri, 3 Nov 2023 21:18:06 -0400
Subject: [PATCH 1/2] [clang] Stub out gcc_struct attribute
This commit implements
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From 19124226ee4d08a8025f1e6b61d750096e13ee75 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Fri, 3 Nov 2023 21:18:06 -0400
Subject: [PATCH] [clang] Stub out gcc_struct attribute
This commit implements gcc
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From 0d6728f06d7633b6b9ffaed45182dac0e54546ba Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Fri, 3 Nov 2023 21:18:06 -0400
Subject: [PATCH] [clang] Stub out gcc_struct attribute
This commit implements gcc
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From 7e268c2b4f5b48648acad08f6f188d27388b95f7 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Thu, 2 Nov 2023 23:49:54 -0400
Subject: [PATCH] [clang] Implement gcc_struct attribute
This implements gcc_struc
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From da5f4a4081c4917317549075f5d0916ebb26d0e9 Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Thu, 2 Nov 2023 23:49:54 -0400
Subject: [PATCH] [clang] Implement gcc_struct attribute
This implements gcc_struc
DanShaders wrote:
And, I guess, CC @erichkeane
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
DanShaders wrote:
Hmmm, formatting issues are in the code which I did not change.
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders updated
https://github.com/llvm/llvm-project/pull/71148
>From ea8a7ea979ac54c91440dab75c9aa65f2f81e30f Mon Sep 17 00:00:00 2001
From: Dan Klishch
Date: Thu, 2 Nov 2023 23:49:54 -0400
Subject: [PATCH] [clang] Implement gcc_struct attribute
This implements gcc_struc
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders edited
https://github.com/llvm/llvm-project/pull/71148
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/DanShaders created
https://github.com/llvm/llvm-project/pull/71148
This implements gcc_struct attribute with the behavior similar to one in GCC.
In particular, when C++ ABI is not "Microsoft" (i. e. when ItaniumRecordBuilder
is used), [[gcc_struct]] will locally cancel the e
62 matches
Mail list logo