[clang] [clang][TSA] Make RequiresCapability a DeclOrType attribute (PR #67095)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 6 06:53:45 PST 2024


Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>,
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>,
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>,
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>,
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/67095 at github.com>


================
@@ -8938,6 +8957,11 @@ static void processTypeAttrs(TypeProcessingState &state, QualType &type,
       attr.setUsedAsTypeAttr();
       break;
     }
+    case ParsedAttr::AT_RequiresCapability: {
+      HandleRequiresCapabilityAttr(state, type, attr);
+      attr.setUsedAsTypeAttr();
+      break;
+    }
----------------
erichkeane wrote:

It would kind of stink to have to do it in 2 places, but it could go in trailing-storage/etc on `FunctionProtoType` and `FunctionNoProtoType`, then just disambiguate it with a function.  So it doesn't need to end up in `FunctionType::ExtInfo` or `FunctionType` itself.

https://github.com/llvm/llvm-project/pull/67095


More information about the cfe-commits mailing list