[PATCH] D80836: Support GCC [[gnu::attributes]] in C2x mode

Richard Smith - zygoloid via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 29 14:46:46 PDT 2020


rsmith added inline comments.


================
Comment at: clang/utils/TableGen/ClangAttrEmitter.cpp:87
       Ret.emplace_back("CXX11", std::string(Name), "gnu", true);
+      if (Spelling->getValueAsBit("AllowInC"))
+        Ret.emplace_back("C2x", std::string(Name), "gnu", true);
----------------
erichkeane wrote:
> I guess its a problem for all of these, but why is the last 'true'/'false' (KnownToGCC) not checked from the Spelling?  It has:  let KnownToGCC = 1;.
> 
> I would presume that line either is meaningless, or should be used for the true/false bits in here.
The `KnownToGCC` flag affects whether we produce certain warnings, not which spellings we register. This does seem fishy: we have the same information represented and examined both by considering whether the attribute has a `GNU` vs `GCC` spelling and by considering whether the `KnownToGCC` flag is set. I imagine we could factor this better. (The two concerns are, I suppose, notionally orthogonal, but I can't imagine we would ever want them to differ.)


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80836/new/

https://reviews.llvm.org/D80836





More information about the cfe-commits mailing list