Commits
Ted Kremenek committed 9bb6eab78d5
[Decl Attributes] Change DECL_ATTR to specify serialization constraints for attributes. Via preprocessor goop, Serialization.cpp generates a set of static functions that can be used to verify if a set of attributes can be serialized for a particular declaration. This design forces the author of the attribute to specify up front whether or not an attribute is supported on a given declaration kind. We can possibly hoist this into semantic analysis as well. These N separate functions do conceptually replace a simple variadic template implementation. I'm fine with alternatives, but the goal was to provide a way for the author of new attributes to describe the requirements in one place: Attr.def. Swift SVN r15470