On Tue, Dec 16, 2014 at 1:17 PM, Nico Weber <[email protected]> wrote: > > Ok, I moved -Wkeyword-macro into -pedantic in r224371. I also removed > -Wreserved-id-macro in the same revision, as it's not covered by the > standards bit you cited >
I would like to have something like -Wreserved-id-macro eventually, but it's really hard to differentiate between uses of internal C++ implementation details (calling __builtin_foo()) and user defined names that are not part of "the implementation" (compiler + stdlib). This is partially covered by the C++ standard in [global.names]p1: """ Certain sets of names and function signatures are always reserved to the implementation: — Each name that contains a double underscore _ _ or begins with an underscore followed by an uppercase letter (2.12) is reserved to the implementation for any use. — Each name that begins with an underscore is reserved to the implementation for use as a name in the global namespace. """ It says nothing about macros, though, and this is such a hard problem that it's not clear to me that the committed implementation is worth having.
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
