* decl.c (start_method): Handle attrlist.

From-SVN: r48730
This commit is contained in:
Ira Ruben 2002-01-10 10:57:24 -05:00 committed by Jason Merrill
parent adc7fcb8cd
commit 195a5def1c
3 changed files with 25 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2002-01-10 Ira Ruben <ira@apple.com>
* decl.c (start_method): Handle attrlist.
2002-01-10 Jakub Jelinek <jakub@redhat.com>
* decl2.c (max_tinst_depth): Increase default limit to 500.
@ -288,6 +292,7 @@
2002-01-04 Jason Merrill <jason@redhat.com>
PR c++/4122
* class.c (update_vtable_entry_for_fn): Set delta to zero for a
lost primary.
@ -427,6 +432,7 @@
2001-12-18 Jason Merrill <jason@redhat.com>
PR c++/3242
* class.c (add_method): Do compare 'this' quals when trying to match a
used function. Don't defer to another used function.
@ -770,7 +776,7 @@ Tue Nov 27 09:03:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-11-25 Aldy Hernandez <aldyh@redhat.com>
* cp/search.c (lookup_base_r): Declare bk in variable declaration
* search.c (lookup_base_r): Declare bk in variable declaration
space.
2001-11-25 Nathan Sidwell <nathan@codesourcery.com>
@ -937,7 +943,7 @@ Tue Nov 27 09:03:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-11-12 H.J. Lu <hjl@gnu.org>
* cp/cvt.c (ocp_convert): Don't warn the address of a weak
* cvt.c (ocp_convert): Don't warn the address of a weak
function is always `true'.
2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>

View File

@ -14173,6 +14173,9 @@ start_method (declspecs, declarator, attrlist)
if (fndecl == NULL_TREE)
return NULL_TREE;
if (attrlist)
cplus_decl_attributes (&fndecl, attrlist, 0);
/* Pass friends other than inline friend functions back. */
if (fndecl == void_type_node)
return fndecl;

View File

@ -0,0 +1,14 @@
/* Test to see if__attribute__'s are handled by inline member functions */
/* { dg-do compile } */
/* { dg-options "-fmessage-length=0" } */
/* Previously __attribute__'s were handled by the grammar but "dropped
on the floor", these effectively ignoring them. This tests the fix
to see that they are now handled. In this test it should report
that we have an illegal attribute. */
class T {
public:
__attribute__ ((garbage1)) void member1(int) {} /* { dg-error "`garbage1' attribute directive ignored" "" } */
void __attribute__ ((garbage2)) member2(int) {} /* { dg-error "`garbage2' attribute directive ignored" "" } */
};