diff options
Diffstat (limited to 'toolchain/gcc/patches/4.2.4')
| -rw-r--r-- | toolchain/gcc/patches/4.2.4/900-avr32_support.patch | 150 | 
1 files changed, 0 insertions, 150 deletions
| diff --git a/toolchain/gcc/patches/4.2.4/900-avr32_support.patch b/toolchain/gcc/patches/4.2.4/900-avr32_support.patch index 333eb64cd..164f5e33b 100644 --- a/toolchain/gcc/patches/4.2.4/900-avr32_support.patch +++ b/toolchain/gcc/patches/4.2.4/900-avr32_support.patch @@ -21943,145 +21943,6 @@       {         int save_tree_used; ---- a/gcc/genemit.c -+++ b/gcc/genemit.c -@@ -121,6 +121,24 @@ max_operand_vec (rtx insn, int arg) - } -  - static void -+gen_vararg_prologue(int operands) -+{ -+  int i; -+ -+  if (operands > 1) -+    { -+      for (i = 1; i < operands; i++) -+	printf("  rtx operand%d ATTRIBUTE_UNUSED;\n", i); -+ -+      printf("  va_list args;\n\n"); -+      printf("  va_start(args, operand0);\n"); -+      for (i = 1; i < operands; i++) -+	printf("  operand%d = va_arg(args, rtx);\n", i); -+      printf("  va_end(args);\n\n"); -+    } -+} -+ -+static void - print_code (RTX_CODE code) - { -   const char *p1; -@@ -405,18 +423,16 @@ gen_insn (rtx insn, int lineno) -     fatal ("match_dup operand number has no match_operand"); -  -   /* Output the function name and argument declarations.  */ --  printf ("rtx\ngen_%s (", XSTR (insn, 0)); -+  printf ("rtx\ngen_%s ", XSTR (insn, 0)); -+ -   if (operands) --    for (i = 0; i < operands; i++) --      if (i) --	printf (",\n\trtx operand%d ATTRIBUTE_UNUSED", i); --      else --	printf ("rtx operand%d ATTRIBUTE_UNUSED", i); -+    printf("(rtx operand0 ATTRIBUTE_UNUSED, ...)\n"); -   else --    printf ("void"); --  printf (")\n"); -+    printf("(void)\n"); -   printf ("{\n"); -  -+  gen_vararg_prologue(operands); -+ -   /* Output code to construct and return the rtl for the instruction body.  */ -  -   if (XVECLEN (insn, 1) == 1) -@@ -456,16 +472,12 @@ gen_expand (rtx expand) -   operands = max_operand_vec (expand, 1); -  -   /* Output the function name and argument declarations.  */ --  printf ("rtx\ngen_%s (", XSTR (expand, 0)); -+  printf ("rtx\ngen_%s ", XSTR (expand, 0)); -   if (operands) --    for (i = 0; i < operands; i++) --      if (i) --	printf (",\n\trtx operand%d", i); --      else --	printf ("rtx operand%d", i); -+    printf("(rtx operand0 ATTRIBUTE_UNUSED, ...)\n"); -   else --    printf ("void"); --  printf (")\n"); -+    printf("(void)\n"); -+ -   printf ("{\n"); -  -   /* If we don't have any C code to write, only one insn is being written, -@@ -475,6 +487,8 @@ gen_expand (rtx expand) -       && operands > max_dup_opno -       && XVECLEN (expand, 1) == 1) -     { -+      gen_vararg_prologue(operands); -+ -       printf ("  return "); -       gen_exp (XVECEXP (expand, 1, 0), DEFINE_EXPAND, NULL); -       printf (";\n}\n\n"); -@@ -488,6 +502,7 @@ gen_expand (rtx expand) -   for (; i <= max_scratch_opno; i++) -     printf ("  rtx operand%d ATTRIBUTE_UNUSED;\n", i); -   printf ("  rtx _val = 0;\n"); -+  gen_vararg_prologue(operands); -   printf ("  start_sequence ();\n"); -  -   /* The fourth operand of DEFINE_EXPAND is some code to be executed ---- a/gcc/genflags.c -+++ b/gcc/genflags.c -@@ -127,7 +127,6 @@ static void - gen_proto (rtx insn) - { -   int num = num_operands (insn); --  int i; -   const char *name = XSTR (insn, 0); -   int truth = maybe_eval_c_test (XSTR (insn, 2)); -  -@@ -158,12 +157,7 @@ gen_proto (rtx insn) -   if (num == 0) -     fputs ("void", stdout); -   else --    { --      for (i = 1; i < num; i++) --	fputs ("rtx, ", stdout); -- --      fputs ("rtx", stdout); --    } -+    fputs("rtx, ...", stdout); -  -   puts (");"); -  -@@ -173,12 +167,7 @@ gen_proto (rtx insn) -     { -       printf ("static inline rtx\ngen_%s", name); -       if (num > 0) --	{ --	  putchar ('('); --	  for (i = 0; i < num-1; i++) --	    printf ("rtx ARG_UNUSED (%c), ", 'a' + i); --	  printf ("rtx ARG_UNUSED (%c))\n", 'a' + i); --	} -+	puts("(rtx ARG_UNUSED(a), ...)"); -       else - 	puts ("(void)"); -       puts ("{\n  return 0;\n}"); ---- a/gcc/genoutput.c -+++ b/gcc/genoutput.c -@@ -386,7 +386,7 @@ output_insn_data (void) - 	} -  -       if (d->name && d->name[0] != '*') --	printf ("    (insn_gen_fn) gen_%s,\n", d->name); -+	printf ("    gen_%s,\n", d->name); -       else - 	printf ("    0,\n"); -   --- a/gcc/ifcvt.c  +++ b/gcc/ifcvt.c  @@ -77,7 +77,7 @@ static int num_possible_if_blocks; @@ -22231,17 +22092,6 @@   #if defined (__hppa) && W_TYPE_SIZE == 32   #define add_ssaaaa(sh, sl, ah, al, bh, bl) \     __asm__ ("add %4,%5,%1\n\taddc %2,%3,%0"				\ ---- a/gcc/optabs.h -+++ b/gcc/optabs.h -@@ -431,7 +431,7 @@ extern enum insn_code reload_out_optab[N - extern GTY(()) optab code_to_optab[NUM_RTX_CODE + 1]; -  -  --typedef rtx (*rtxfun) (rtx); -+typedef rtx (*rtxfun) (rtx, ...); -  - /* Indexed by the rtx-code for a conditional (e.g. EQ, LT,...) -    gives the gen_function to make a branch to test that condition.  */  --- a/gcc/regrename.c  +++ b/gcc/regrename.c  @@ -1592,6 +1592,9 @@ copyprop_hardreg_forward_1 (basic_block  | 
