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]

[patch] Remove PROMOTE_FOR_CALL_ONLY


The patch below removes and poisons PROMOTE_FOR_CALL_ONLY, as previously 
discussed
http://gcc.gnu.org/ml/gcc-patches/2004-04/msg00975.html

Tested with cross to arm-non-elf, in addition to previous testing.
Ok?

Paul

2004-04-27  Paul Brook  <paul@codesourcery.com>

	* calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
	* function.c (assign_temp): Ditto.
	* system.h (PROMOTE_FOR_CALL_ONLY): Poison.

Index: calls.c
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/gcc/calls.c,v
retrieving revision 1.329
diff -u -p -r1.329 calls.c
--- a/calls.c	5 Apr 2004 12:24:59 -0000	1.329
+++ b/calls.c	15 Apr 2004 14:19:49 -0000
@@ -1407,7 +1407,7 @@ precompute_arguments (int flags, int num
 	    args[i].value
 	      = convert_modes (args[i].mode, mode,
 			       args[i].value, args[i].unsignedp);
-#ifdef PROMOTE_FOR_CALL_ONLY
+#if defined(PROMOTE_FUNCTION_MODE) && !defined(PROMOTE_MODE)
 	    /* CSE will replace this only if it contains args[i].value
 	       pseudo, so convert it down to the declared mode using
 	       a SUBREG.  */
Index: function.c
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/gcc/function.c,v
retrieving revision 1.510
diff -u -p -r1.510 function.c
--- a/function.c	9 Apr 2004 01:38:12 -0000	1.510
+++ b/function.c	15 Apr 2004 14:18:47 -0000
@@ -841,7 +841,7 @@ assign_temp (tree type_or_decl, int keep
 {
   tree type, decl;
   enum machine_mode mode;
-#ifndef PROMOTE_FOR_CALL_ONLY
+#ifdef PROMOTE_MODE
   int unsignedp;
 #endif
 
@@ -851,7 +851,7 @@ assign_temp (tree type_or_decl, int keep
     decl = NULL, type = type_or_decl;
 
   mode = TYPE_MODE (type);
-#ifndef PROMOTE_FOR_CALL_ONLY
+#ifdef PROMOTE_MODE
   unsignedp = TYPE_UNSIGNED (type);
 #endif
 
@@ -889,7 +889,7 @@ assign_temp (tree type_or_decl, int keep
       return tmp;
     }
 
-#ifndef PROMOTE_FOR_CALL_ONLY
+#ifdef PROMOTE_MODE
   if (! dont_promote)
     mode = promote_mode (type, mode, &unsignedp, 0);
 #endif
Index: system.h
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/gcc/system.h,v
retrieving revision 1.208
diff -u -p -r1.208 system.h
--- a/system.h	19 Mar 2004 00:52:24 -0000	1.208
+++ b/system.h	15 Apr 2004 14:04:31 -0000
@@ -641,7 +641,7 @@ typedef char _Bool;
 	FINAL_REG_PARM_STACK_SPACE MAYBE_REG_PARM_STACK_SPACE		   \
 	TRADITIONAL_PIPELINE_INTERFACE DFA_PIPELINE_INTERFACE		   \
 	DBX_OUTPUT_STANDARD_TYPES BUILTIN_SETJMP_FRAME_VALUE		   \
-	SUNOS4_SHARED_LIBRARIES
+	SUNOS4_SHARED_LIBRARIES PROMOTE_FOR_CALL_ONLY
 
 /* Hooks that are no longer used.  */
  #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE	\


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