[clang] Set dllimport on Objective C ivar offsets (PR #107604)

2024-09-11 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: @davidchisnall Yes, I don't have merge permissions on this repo; so I'd need someone to merge it for me :-) https://github.com/llvm/llvm-project/pull/107604 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.o

[clang] Set dllimport on Objective C ivar offsets (PR #107604)

2024-09-10 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: @davidchisnall and @compnerd -- anything else you need before this can get merged? https://github.com/llvm/llvm-project/pull/107604 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listi

[clang] Set dllimport on Objective C ivar offsets (PR #107604)

2024-09-07 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: Thanks @davidchisnall and @compnerd . Let me know if there's anything else you need? https://github.com/llvm/llvm-project/pull/107604 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/list

[clang] Set dllimport on Objective C ivar offsets (PR #107604)

2024-09-07 Thread Frederik Carlier via cfe-commits
@@ -1699,11 +1699,18 @@ class CGObjCGNUstep2 : public CGObjCGNUstep { llvm::Value *EmitIvarOffset(CodeGenFunction &CGF, const ObjCInterfaceDecl *Interface, const ObjCIvarDecl *Ivar) override { -const std::string

[clang] Set dllimport on Objective C ivar offsets (PR #107604)

2024-09-07 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: I've added tests to ensure that unmarked ivars are considered protected -- which seems to be the case: https://github.com/llvm/llvm-project/pull/107604/commits/cf93b21734e179144dac34751860b0aa9d2aedaa https://github.com/llvm/llvm-project/pull/107604

[clang] Set dllimport on Objective C ivar offsets (PR #107604)

2024-09-07 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/107604 >From 64073399d392b187297a6aeb1c6634c271103330 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 6 Sep 2024 11:54:59 + Subject: [PATCH 1/2] Set dllimport on Objective C ivar offsets This commit

[clang] Set dllimport on Objective C ivar offsets (PR #107604)

2024-09-06 Thread Frederik Carlier via cfe-commits
@@ -1699,11 +1699,18 @@ class CGObjCGNUstep2 : public CGObjCGNUstep { llvm::Value *EmitIvarOffset(CodeGenFunction &CGF, const ObjCInterfaceDecl *Interface, const ObjCIvarDecl *Ivar) override { -const std::string

[clang] Set dllimport on Objective C ivar offsets (PR #107604)

2024-09-06 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/107604 >From 64073399d392b187297a6aeb1c6634c271103330 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 6 Sep 2024 11:54:59 + Subject: [PATCH] Set dllimport on Objective C ivar offsets This commit ensu

[clang] Set dllimport on Objective C ivar offsets (PR #107604)

2024-09-06 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/107604 >From 2b42d2048e27d30ad77a6793ae36a9b2204b4435 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Fri, 6 Sep 2024 11:54:59 + Subject: [PATCH] Set dllimport on Objective C ivar offsets This commit ensu

[clang] Set dllimport on Objective C ivar offsets (PR #107604)

2024-09-06 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: @davidchisnall Would you mind reviewing this PR? This came up when trying to build gnustep-gui using the Windows-native version of LLVM/clang (i.e., not in MSYS). The problem is that all the ivar references are missing the `dllimport` annotation. This is not a problem on M

[clang] Set dllimport on Objective C ivar offsets (PR #107604)

2024-09-06 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik created https://github.com/llvm/llvm-project/pull/107604 Ensures that offsets for instance variables are marked with `dllimport` if the interface to which they belong has this attribute. >From 83511b91e37a9191fcde289b1f302c79e8533b6f Mon Sep 17 00:00:00 2001 From:

[clang] [ObjC]: Make type encoding safe in symbol names (PR #77797)

2024-01-11 Thread Frederik Carlier via cfe-commits
@@ -1,5 +1,14 @@ // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o %t %s -// RUN: FileCheck < %t %s +// RUN: FileCheck -check-prefix CHECK-DWARF < %t %s + +// RUN: %clang_cc1 -triple x86_64-w64-windows-gnu -emit-llvm -fobjc-runtime=gnustep-2.0 -o %t %s +// RUN: FileCh

[clang] [ObjC]: Make type encoding safe in symbol names (PR #77797)

2024-01-11 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77797 >From 34933c7dbba8168f9d0e568ef1d5c49ce22511fe Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Wed, 10 Jan 2024 16:51:18 + Subject: [PATCH] [ObjC]: Make type encoding safe in symbol names Type encod

[clang] [ObjC]: Make type encoding safe in symbol names (PR #77797)

2024-01-11 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77797 >From e71dd4b65f08e4a552c86a457d4a9aca2b5c Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Wed, 10 Jan 2024 16:51:18 + Subject: [PATCH] [ObjC]: Make type encoding safe in symbol names Type encod

[clang] [ObjC]: Make type encoding safe in symbol names (PR #77797)

2024-01-11 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: /cc @davidchisnall https://github.com/llvm/llvm-project/pull/77797 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [ObjC]: Make type encoding safe in symbol names (PR #77797)

2024-01-11 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik created https://github.com/llvm/llvm-project/pull/77797 Type encodings are part of symbol names in the Objective C ABI. Replace characters which are reseved in symbol names: - ELF: avoid including '@' characters in type encodings - Windows: avoid including '=' ch

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-10 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: @davidchisnall Apologies, that was a fat-finger mistake while addressing the latest feedback. CI is green now. https://github.com/llvm/llvm-project/pull/77255 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llv

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-10 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From 9ede4ecbd65ee35cd2f2f81fb251debf2df189ee Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH] Objective C: use C++ exceptions on MinGW+GNUstep The GNUste

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-10 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From 4d41874bd13cda572105239c0a26f1667c556085 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH] Objective C: use C++ exceptions on MinGW+GNUstep The GNUste

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-10 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From d0d2e2f72965961712dd2df6fe34bd0f7e2befe8 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH] Objective C: use C++ exceptions on MinGW+GNUstep The GNUste

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-10 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From 7048dcba9440bb38ddab6140d6a83839938dae8d Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH 1/2] Objective C: use C++ exceptions on MinGW+GNUstep The GN

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-10 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From 7048dcba9440bb38ddab6140d6a83839938dae8d Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH 1/2] Objective C: use C++ exceptions on MinGW+GNUstep The GN

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-09 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: CI looks green, let me know if there's anything else you need from me on this PR! https://github.com/llvm/llvm-project/pull/77255 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-09 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: Looks like there was an intermittent issue with GitHub, which should be resolved now. I've squashed and pushed. Fingers crossed! https://github.com/llvm/llvm-project/pull/77255 ___ cfe-commits mailing list cfe-commits@lists.llvm.or

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-09 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From be6dccb1691b84a9b84cc78c7bb40fdf2ed53c8a Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH] Objective C: use C++ exceptions on MinGW+GNUstep The GNUste

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-09 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: @compnerd @davidchisnall I've addressed the feedback and CI is (mostly) green. The build failure on Windows seems unrelated: ``` # Removing c:/ws\src # Creating "c:/ws\src" > git clone -v -- https://github.com/llvm-premerge-tests/llvm-project.git . Cloning into '.'... remote

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-09 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From 6195e6c57b5b461dda2bffec0e5497ceb659f82c Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH 1/2] Objective C: use C++ exceptions on MinGW+GNUstep The GN

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-09 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From 6195e6c57b5b461dda2bffec0e5497ceb659f82c Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH 1/2] Objective C: use C++ exceptions on MinGW+GNUstep The GN

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-09 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: @compnerd Thanks for you feedback, I addressed your comments. https://github.com/llvm/llvm-project/pull/77255 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-09 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From 6195e6c57b5b461dda2bffec0e5497ceb659f82c Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH 1/2] Objective C: use C++ exceptions on MinGW+GNUstep The GN

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-09 Thread Frederik Carlier via cfe-commits
@@ -3993,7 +4009,9 @@ void CGObjCGNU::EmitThrowStmt(CodeGenFunction &CGF, ExceptionAsObject = CGF.ObjCEHValueStack.back(); isRethrow = true; } - if (isRethrow && usesSEHExceptions) { + if (isRethrow && + (usesSEHExceptions || (CGM.getTarget().getTriple().isOSCy

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-09 Thread Frederik Carlier via cfe-commits
@@ -819,10 +819,19 @@ class CGObjCGNUstep : public CGObjCGNU { SlotLookupSuperFn.init(&CGM, "objc_slot_lookup_super", SlotTy, PtrToObjCSuperTy, SelectorTy); // If we're in ObjC++ mode, then we want to make - if (usesSEHExceptions) {

[clang] Set dllstorage on ObjectiveC ivar offsets (PR #77385)

2024-01-09 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: No worries, thanks! :-) https://github.com/llvm/llvm-project/pull/77385 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-09 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From 6195e6c57b5b461dda2bffec0e5497ceb659f82c Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH 1/2] Objective C: use C++ exceptions on MinGW+GNUstep The GN

[clang] Set dllstorage on ObjectiveC ivar offsets (PR #77385)

2024-01-09 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: Thanks @davidchisnall . Do you plan to get this merged? https://github.com/llvm/llvm-project/pull/77385 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Set dllstorage on ObjectiveC ivar offsets (PR #77385)

2024-01-08 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik created https://github.com/llvm/llvm-project/pull/77385 Mark instance variable offset symbols with `dllexport`/`dllimport` if they are not hidden and the interface declaration is marked with `dllexport`/`dllimport`, when using the GNUstep 2.x ABI. /cc @davidchisn

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-08 Thread Frederik Carlier via cfe-commits
@@ -2210,7 +2219,12 @@ CGObjCGNU::CGObjCGNU(CodeGenModule &cgm, unsigned runtimeABIVersion, // void objc_exception_throw(id); ExceptionThrowFn.init(&CGM, "objc_exception_throw", VoidTy, IdTy); - ExceptionReThrowFn.init(&CGM, "objc_exception_throw", VoidTy, IdTy); + if (

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-07 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From d5dec27c1b0eb1999a86035ac458da377132ec7d Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH] Objective C: use C++ exceptions on MinGW+GNUstep The GNUste

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-07 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From 4212c79b5bb9168ae741b05b2c3388aa23e38693 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH] Objective C: use C++ exceptions on MinGW+GNUstep The GNUste

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-07 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From d3e6d552b2502765eff8faccd20b7566a9362491 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH] Objective C: use C++ exceptions on MinGW+GNUstep The GNUste

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-07 Thread Frederik Carlier via cfe-commits
@@ -156,7 +154,11 @@ static const EHPersonality &getObjCPersonality(const TargetInfo &Target, case ObjCRuntime::WatchOS: return EHPersonality::NeXT_ObjC; case ObjCRuntime::GNUstep: -if (L.ObjCRuntime.getVersion() >= VersionTuple(1, 7)) +if (T.isOSCygMing()) ---

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-07 Thread Frederik Carlier via cfe-commits
qmfrederik wrote: /cc @davidchisnall https://github.com/llvm/llvm-project/pull/77255 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-07 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik edited https://github.com/llvm/llvm-project/pull/77255 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-07 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik edited https://github.com/llvm/llvm-project/pull/77255 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-07 Thread Frederik Carlier via cfe-commits
@@ -156,7 +154,11 @@ static const EHPersonality &getObjCPersonality(const TargetInfo &Target, case ObjCRuntime::WatchOS: return EHPersonality::NeXT_ObjC; case ObjCRuntime::GNUstep: -if (L.ObjCRuntime.getVersion() >= VersionTuple(1, 7)) +if (T.isOSCygMing()) ---

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-07 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From d04a41177e9c39799b73168d397dd87fb948caa1 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH] Objective C: use C++ exceptions on MinGW+GNUstep The GNUste

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-07 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik updated https://github.com/llvm/llvm-project/pull/77255 >From 62d7da8476b786f7950ea6bb8d6ac223fc6d0468 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Thu, 4 Jan 2024 11:10:05 -0800 Subject: [PATCH] Objective C: use C++ exceptions on MinGW+GNUstep The GNUste

[clang] Objective C: use C++ exceptions on MinGW+GNUstep (PR #77255)

2024-01-07 Thread Frederik Carlier via cfe-commits
https://github.com/qmfrederik created https://github.com/llvm/llvm-project/pull/77255 The GNUstep Objective C runtime (libobjc2) is adding support for MinGW. This runtime uses C++ exceptions in that configuration. >From 4cbc22e9b7c53547b97c666b24f191b25ae8866f Mon Sep 17 00:00:00 2001 From: F