[clang] [llvm] [Clang] restrict use of attribute names reserved by the C++ standard (PR #106036)

Erich Keane via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 13 17:51:43 PST 2025


erichkeane wrote:

> Oh, I see, you're suggesting we remove the `getStdNamespace` check from this PR. Yeah, I think that's reasonable.

Yep, that is my suggestion, sorry I was insufficiently clear.

> But I'd somewhat question whether this PR and warning really has anything to do with the attribute names being "reserved" at that point -- we're not checking whether they're reserved or not, and it really doesn't matter. Warning on a `#define` that clobbers the name of a standard attribute is just generally a good thing to do, regardless of whether you're using the standard library.

I agree with this 100%.  The link to the 'reserved by the standard' is I think a good additional justification.

I think the proposal, complaining about these as reserved, is a good idea/good patch.  BUT I think getting caught up in the "well, when is it technically NOT UB" is a waste of time, given that the warning is a good idea even without that justification.

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


More information about the llvm-commits mailing list