Commit d08fd9d6 by Mark Mitchell Committed by Mark Mitchell

re PR c++/24260 (stdcall attribute is ignored at static member template functions)

	PR c++/24260
	* parser.c (cp_parser_init_declarator): Pass attributes to
	grokfield.
	PR c++/24260
	* g++.dg/ext/tmplattr1.C: New test.

From-SVN: r105746
parent 8fafe21d
2005-10-21 Mark Mitchell <mark@codesourcery.com>
PR c++/24260
* parser.c (cp_parser_init_declarator): Pass attributes to
grokfield.
2005-10-20 Mark Mitchell <mark@codesourcery.com>
PR c++/22618
......
......@@ -10938,7 +10938,7 @@ cp_parser_init_declarator (cp_parser* parser,
}
decl = grokfield (declarator, decl_specifiers,
initializer, /*asmspec=*/NULL_TREE,
/*attributes=*/NULL_TREE);
prefix_attributes);
if (decl && TREE_CODE (decl) == FUNCTION_DECL)
cp_parser_save_default_args (parser, decl);
}
......
2005-10-21 Mark Mitchell <mark@codesourcery.com>
PR c++/24260
* g++.dg/ext/tmplattr1.C: New test.
2005-10-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/24440
// PR c++/24260
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-require-effective-target ilp32 }
#define stdcall __attribute__((stdcall))
struct T {
template <class S>
static int stdcall func(int arg1, int arg2);
};
template <class S>
int stdcall T::func(int arg1, int arg2)
{
return arg1+arg2;
}
struct dummy {};
void xx()
{
int (stdcall *ptr2)(int,int) = &T::func<dummy>;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment