[PATCH] D40625: Harmonizing attribute GNU/C++ spellings
Devin Coughlin via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 1 08:22:30 PST 2017
dcoughlin added a subscriber: alexfh.
dcoughlin added inline comments.
================
Comment at: include/clang/Basic/Attr.td:602
def AnalyzerNoReturn : InheritableAttr {
- let Spellings = [GNU<"analyzer_noreturn">];
+ let Spellings = [Clang<"analyzer_noreturn">];
let Documentation = [Undocumented];
----------------
aaron.ballman wrote:
> rsmith wrote:
> > Hmm, should the clang static analyzer reuse the `clang::` namespace, or should it get its own?
> Good question, I don't have strong opinions on the answer here, but perhaps @dcoughlin does?
>
> If we want to use a separate namespace for the analyzer, would we want to use that same namespace for any clang-tidy specific attributes? Or should clang-tidy get its own namespace? (Do we ever plan to execute clang-tidy through the clang driver? That might change our answer.)
How would this look if we added a special namespace for the clang static analyzer? Would this lead to duplication (say, [[clang_analyzer::analyzer_noreturn]]) so that we keep the "analyzer_" prefix for __attribute__((analyzer_noreturn))? Or could we have the "analyzer_" prefix only for GNU-style attributes but not for C++ (for example, [[clang_analyzer::noreturn]])?
As for clang-tidy, I think it probably makes sense for it to have its own namespace, but we should ask @alexfh.
https://reviews.llvm.org/D40625
More information about the cfe-commits
mailing list