https://github.com/tshakalekholoane updated 
https://github.com/llvm/llvm-project/pull/183484

>From a384fe750ad1c760ed2c1a881fee608ea9666769 Mon Sep 17 00:00:00 2001
From: Tshaka Lekholoane <[email protected]>
Date: Mon, 20 Jul 2026 12:40:43 +0200
Subject: [PATCH] [Clang] Add FIXME for missing [[]] spelling on Swift interop
 attributes

Several Swift interop attributes (swift_name, swift_attr, swift_private,
and so on) currently only support the GNU __attribute__ syntax. Adding a
C++11/C23 [[]] spelling was considered, but choosing between a clang or
swift namespace deserves more attention than this change intended to
give it, so it is left as a FIXME for now.

See discussion in #183484.
---
 clang/include/clang/Basic/Attr.td | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/clang/include/clang/Basic/Attr.td 
b/clang/include/clang/Basic/Attr.td
index 328e70b3ed900..c0683f978bf3f 100644
--- a/clang/include/clang/Basic/Attr.td
+++ b/clang/include/clang/Basic/Attr.td
@@ -3147,6 +3147,17 @@ def Regparm : TypeAttr {
   let ASTNode = 0;
 }
 
+// FIXME: The following Swift interop attributes currently only support
+// the GNU __attribute__ syntax and lack a CXX11/C23 [[]] spelling.
+//
+// A Clang vendor namespace spelling (e.g., [[clang::swift_name]]) or a
+// Swift vendor namespace spelling (e.g., [[swift::name]]) were both
+// considered, but it was decided not to commit to either prematurely.
+// Doing so deserves more attention -- among other things, one would
+// want to avoid name stuttering (e.g., [[swift::swift_name]]).
+//
+// See https://github.com/llvm/llvm-project/pull/183484
+
 def SwiftType : Attr {
   // This attribute has no spellings as it is only ever created implicitly
   // from API notes.

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to