While refactoring some attribute parsing code, I noticed that we do not guard __declspec as being a Microsoft-specific extension that we support. This is consistent with the behavior we have for __attribute__. In both cases, the keyword is available everywhere, and specific attributes determine their target requirements. However, I wonder if that's the behavior we want.
With __attribute__, it makes some degree of sense that we support it everywhere and own it as a core language extension. For instance, we allow users to add GNU-style attribute spellings that GCC does not support and no one takes issue. Do we want the same level of ownership over __declspec? If someone wants to add a new attribute with a __declspec spelling that is not supported by MSVC, will we allow it? I struggle to imagine us allowing that as it can cause future compatibility issues if Microsoft were to use the same attribute name with different semantics. For that reason, I think __declspec should be guarded by -fms-extensions, but I wanted to get community feedback before making such a change. Thanks! ~Aaron _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
