[clang] Add clang atomic control options and attribute (PR #114841)

Yaxun Liu via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 31 14:01:07 PST 2025


================
@@ -623,6 +623,10 @@ class LangOptions : public LangOptionsBase {
   // WebAssembly target.
   bool NoWasmOpt = false;
 
+  /// The default atomic codegen options specified by command line in the
+  /// format of key:{on|off}.
+  std::vector<std::string> AtomicOptionsAsWritten;
----------------
yxsamliu wrote:

The option value is comma separated key/value pairs delimited by colon whereas the value could be on/off/true/false/yes/no/0/1. Currently the marshaling mechanism of clang option tablegen does not support that. That's why it has to be marshaled through MarshallingInfoStringVector. As a result, it needs to be represented as  std::vector<std::string> and parsed manually.

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


More information about the cfe-commits mailing list