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]

Do not PROMOTE_PROTOTYPES on x86_64


Hi,
the x86_64 ABI specifies the upper part of short arguments to be undefined,
as x86_64 can easilly manipulate with short registers.  GCC currently extends
it to 32bit that is somewhat strange.

If no one points out C standard issues, I will commit it to both mainline
and branch.

Tue Mar 12 15:42:55 CET 2002  Jan Hubicka  <jh@suse.cz>
	* i386.h (PROMOTE_PROTOTYPES): Set to 0 on x86_64.

Index: config/i386/i386.h
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/config/i386/i386.h,v
retrieving revision 1.233.4.3
diff -c -3 -p -r1.233.4.3 i386.h
*** config/i386/i386.h	4 Mar 2002 15:45:17 -0000	1.233.4.3
--- config/i386/i386.h	12 Mar 2002 14:29:46 -0000
*************** do {								\
*** 2348,2354 ****
  /* When a prototype says `char' or `short', really pass an `int'.
     (The 386 can't easily push less than an int.)  */
  
! #define PROMOTE_PROTOTYPES 1
  
  /* A macro to update M and UNSIGNEDP when an object whose type is
     TYPE and which has the specified mode and signedness is to be
--- 2348,2354 ----
  /* When a prototype says `char' or `short', really pass an `int'.
     (The 386 can't easily push less than an int.)  */
  
! #define PROMOTE_PROTOTYPES (!TARGET_64BIT)
  
  /* A macro to update M and UNSIGNEDP when an object whose type is
     TYPE and which has the specified mode and signedness is to be


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