This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Don't drop attributes on template member functions


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  <eraman@google.com>

        PR c++/33911
        * parser.c (cp_parser_init_declarator): Do not drop attributes
        of template member functions.

2013-10-02  Easwaran Raman  <eraman@google.com>

        PR c++/33911
        * g++.dg/ext/attribute47.C: New.

Attachment: parser_attribute.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]