re PR target/9601 (-mrtd switch/stdcall attribute raises warnings for __buitltin...
authorKai Tietz <ktietz@redhat.com>
Mon, 11 Apr 2011 17:44:04 +0000 (19:44 +0200)
committerKai Tietz <ktietz@gcc.gnu.org>
Mon, 11 Apr 2011 17:44:04 +0000 (19:44 +0200)
commitb8ce4e945b396bc6db1da17d54d8a024ad5d7edb
tree16d3f3c329373f5acdb052ece30109419b3d2949
parenta1b01a84590fa422d7c9d913b6131d0d7ba57f20
re PR target/9601 (-mrtd switch/stdcall attribute raises warnings for __buitltin functions)

2011-04-11  Kai Tietz  <ktietz@redhat.com>

PR target/9601
PR target/11772
* config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
* config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
comment.
(ix86_is_msabi_thiscall): Removed.
(ix86_is_type_thiscall): Likewise.
(ix86_get_callcvt): New function.
(ix86_comp_type_attributes): Simplify check.
(ix86_function_regparm): Use ix86_get_callcvt for calling
convention attribute checks.
(ix86_return_pops_args): Likewise.
(ix86_static_chain): Likewise.
(x86_this_parameter): Likewise.
(x86_output_mi_thunk): Likewise.
(ix86_function_type_abi): Optimize check for types without attributes.
* config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
by flag-values.
(IX86_BASE_CALLCVT): Helper macro.
* config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
Use ix86_get_callcvt for calling convention attribute checks and avoid
symbol-decoration for stdcall in TARGET_RTD case.
* config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
Likewise.
(gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
for declaration.

From-SVN: r172268
gcc/ChangeLog
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/netware.c
gcc/config/i386/winnt.c