This attempts to address one issue reported in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33911 . Attributes at the end of a declaration of template member functions are discarded in cp_parser_init_declarator. The suggested workaround is to place the attributes into the declaration-specifiers. The code in cp_parser_init_declarator actually parses the attributes at the end, but only passes the prefix_attributes (from decl-specifier-seq) to grokfield(). Appending the parsed atrtributes to prefix_attributes seems to work, but I don't know if this is sufficient in all cases. Bootstraps and all tests pass with the patch on x86_64/linux. Is this ok for trunk?
2013-10-02 Easwaran Raman <era...@google.com> PR c++/33911 * parser.c (cp_parser_init_declarator): Do not drop attributes of template member functions. 2013-10-02 Easwaran Raman <era...@google.com> PR c++/33911 * g++.dg/ext/attribute47.C: New.
parser_attribute.patch
Description: Binary data