This is the mail archive of the gcc-cvs@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]

gcc/gcc ChangeLog doc/extend.texi testsuite/Ch ...


CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rth@gcc.gnu.org	2002-12-19 14:00:33

Modified files:
	gcc            : ChangeLog 
	gcc/doc        : extend.texi 
	gcc/testsuite  : ChangeLog 
	gcc/config/i386: cygwin.h i386-protos.h i386.c i386.h mingw32.h 
	                 winnt.c 
Added files:
	gcc/testsuite/gcc.dg: i386-fastcall-1.c 

Log message:
	* config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
	attributes incompatible with fastcall attribute.
	(ix86_handle_regparm_attribute): Likewise.
	
	* config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
	fastcall types.
	
	* config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
	attributes.
	(ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
	* config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
	* config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
	i386_pe_output_labelref rather than here.
	(gen_fastcall_suffix): New function. Decorates a label name with the
	fastcall prefix (@) and the stdcall suffix.
	(i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
	has a fastcall attribute.
	(i386_pe_output_labelref): New function. Outputs a label reference.
	* config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
	valid attribute.
	(ix86_return_pops_args): Fastcall functions pop the stack.
	(init_cumulative_args): Reserve registers ECX and EDX if function has
	fastcall attribute.
	(function_arg): Use registers ECX and EDX if function has fastcall
	attribute.
	* config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
	(DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
	(FASTCALL_PREFIX): Define as '@'.
	* config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
	attributes.
	* doc/extend.texi: Add documentation of fastcall attribute.
	
	* testsuite/gcc.dg/i386-fastcall-1.c: New.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.16154&r2=1.16155
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/extend.texi.diff?cvsroot=gcc&r1=1.111&r2=1.112
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2269&r2=1.2270
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/i386-fastcall-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/cygwin.h.diff?cvsroot=gcc&r1=1.75&r2=1.76
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386-protos.h.diff?cvsroot=gcc&r1=1.87&r2=1.88
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.497&r2=1.498
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.h.diff?cvsroot=gcc&r1=1.310&r2=1.311
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/mingw32.h.diff?cvsroot=gcc&r1=1.28&r2=1.29
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/winnt.c.diff?cvsroot=gcc&r1=1.38&r2=1.39


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