[clang] [clang] Stub out gcc_struct attribute (PR #71148)

Dan Klishch via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 15 10:11:41 PST 2023


================
@@ -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<MSStructAttr>() || C.getLangOpts().MSBitfields == 1;
+  if (hasAttr<MSStructAttr>())
+    return true;
+  if (hasAttr<GCCStructAttr>())
+    return false;
+  return C.getLangOpts().MSBitfields.value_or(
----------------
DanShaders wrote:

I still don't quite understand what you want.

Yes, I can compute default value while parsing arguments, but I still will need `TargetInfo::defaultsToMsStruct`, since I use it in SemaDeclCxx.

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


More information about the cfe-commits mailing list