re PR target/48896 (avr.o warnings)
authorGeorg-Johann Lay <avr@gjlay.de>
Tue, 10 May 2011 12:16:09 +0000 (12:16 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Tue, 10 May 2011 12:16:09 +0000 (12:16 +0000)
PR target/48896
* config/avr/avr.c (avr_ret_register): Return unsigned int
instead of int.
(avr_function_value): Mark fn_decl_or_type as unused, don't pass
it to avr_libcall_value.
avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
expand_expr.
(avr_expand_binop_builtin): Ditto.
(avr_expand_unop_builtin): Ditto.

From-SVN: r173617

gcc/ChangeLog
gcc/config/avr/avr.c

index 43784a6d08743587c1490ebca1d9cc8cc310b677..6453217bc216f095339cfc0525d7f07b5cd91bc4 100644 (file)
@@ -1,3 +1,15 @@
+2011-05-10  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/48896
+       * config/avr/avr.c (avr_ret_register): Return unsigned int
+       instead of int.
+       (avr_function_value): Mark fn_decl_or_type as unused, don't pass
+       it to avr_libcall_value.
+       avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
+       expand_expr.
+       (avr_expand_binop_builtin): Ditto.
+       (avr_expand_unop_builtin): Ditto.
+
 2011-05-10  DJ Delorie  <dj@redhat.com>
 
        * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
index 522a3563e4edb76ae9f46e5e1e04ca7088dd0a3f..ac4b3182d81d9572ff32cc1cb06628caf158a86a 100644 (file)
@@ -6178,7 +6178,7 @@ avr_reorg (void)
 
 /* Returns register number for function return value.*/
 
-static inline int
+static inline unsigned int
 avr_ret_register (void)
 {
   return 24;
@@ -6209,18 +6209,14 @@ avr_libcall_value (enum machine_mode mode,
    function returns a value of data type VALTYPE.  */
 
 static rtx
-avr_function_value (const_tree type, const_tree fn_decl_or_type,
-                   bool outgoing ATTRIBUTE_UNUSED)
+avr_function_value (const_tree type,
+                    const_tree fn_decl_or_type ATTRIBUTE_UNUSED,
+                    bool outgoing ATTRIBUTE_UNUSED)
 {
   unsigned int offs;
-  const_rtx func = fn_decl_or_type;
-
-  if (fn_decl_or_type
-      && !DECL_P (fn_decl_or_type))
-  fn_decl_or_type = NULL;
 
   if (TYPE_MODE (type) != BLKmode)
-    return avr_libcall_value (TYPE_MODE (type), func);
+    return avr_libcall_value (TYPE_MODE (type), NULL_RTX);
   
   offs = int_size_in_bytes (type);
   if (offs < 2)
@@ -6711,7 +6707,7 @@ avr_expand_unop_builtin (enum insn_code icode, tree exp,
 {
   rtx pat;
   tree arg0 = CALL_EXPR_ARG (exp, 0);
-  rtx op0 = expand_expr (arg0, NULL_RTX, VOIDmode, 0);
+  rtx op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
   enum machine_mode op0mode = GET_MODE (op0);
   enum machine_mode tmode = insn_data[icode].operand[0].mode;
   enum machine_mode mode0 = insn_data[icode].operand[1].mode;
@@ -6752,8 +6748,8 @@ avr_expand_binop_builtin (enum insn_code icode, tree exp, rtx target)
   rtx pat;
   tree arg0 = CALL_EXPR_ARG (exp, 0);
   tree arg1 = CALL_EXPR_ARG (exp, 1);
-  rtx op0 = expand_expr (arg0, NULL_RTX, VOIDmode, 0);
-  rtx op1 = expand_expr (arg1, NULL_RTX, VOIDmode, 0);
+  rtx op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
+  rtx op1 = expand_expr (arg1, NULL_RTX, VOIDmode, EXPAND_NORMAL);
   enum machine_mode op0mode = GET_MODE (op0);
   enum machine_mode op1mode = GET_MODE (op1);
   enum machine_mode tmode = insn_data[icode].operand[0].mode;
@@ -6845,7 +6841,7 @@ avr_expand_builtin (tree exp, rtx target,
     case AVR_BUILTIN_DELAY_CYCLES:
       {
         arg0 = CALL_EXPR_ARG (exp, 0);
-        op0 = expand_expr (arg0, NULL_RTX, VOIDmode, 0);
+        op0 = expand_expr (arg0, NULL_RTX, VOIDmode, EXPAND_NORMAL);
 
         if (! CONST_INT_P (op0))
           error ("__builtin_avr_delay_cycles expects a compile time integer constant.");