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

Dan Klishch via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 27 23:28:04 PST 2023


================
@@ -4393,15 +4393,15 @@ def : Joined<["-"], "mmacosx-version-min=">,
   Group<m_Group>, Alias<mmacos_version_min_EQ>;
 def mms_bitfields : Flag<["-"], "mms-bitfields">, Group<m_Group>,
   Visibility<[ClangOption, CC1Option]>,
-  HelpText<"Set the default structure layout to be compatible with the Microsoft compiler standard">,
-  MarshallingInfoFlag<LangOpts<"MSBitfields">>;
+  HelpText<"Set the default structure layout to be compatible with the Microsoft compiler standard">;
----------------
DanShaders wrote:

Once again, yes, I can theoretically use `BoolOption` and leave everything as it is. However, this requires computing default value for `-mms-bitfields` in driver, which is possible but requires code duplication and is in general less clean that the current solution. I provided some more details in the reply to rjmccall above.

In case you are strongly against breaking the convention, I can alteranatively make both `-mms-bitfields` and `-mno-ms-bitfields` driver-only options and invent a new enum option for cc1 along the lines of `-flayout-compatiblity-type={default,microsoft,itanium}`. I should note, however, that this would only slightly change the way I pass arguments from the driver to cc1.

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


More information about the cfe-commits mailing list