SOURCES: gcc-branch.diff (NEW) - bugfixes.

pluto pluto at pld-linux.org
Mon Apr 16 10:57:49 CEST 2007


Author: pluto                        Date: Mon Apr 16 08:57:49 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- bugfixes.

---- Files affected:
SOURCES:
   gcc-branch.diff (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/gcc-branch.diff
diff -u /dev/null SOURCES/gcc-branch.diff:1.1
--- /dev/null	Mon Apr 16 10:57:49 2007
+++ SOURCES/gcc-branch.diff	Mon Apr 16 10:57:44 2007
@@ -0,0 +1,5024 @@
+Index: gcc-4_2-branch/libgomp/configure
+===================================================================
+--- gcc-4_2-branch/libgomp/configure	(revision 123014)
++++ gcc-4_2-branch/libgomp/configure	(revision 123843)
+@@ -9315,7 +9315,7 @@
+   # does some of this, but throws away the result.
+ 
+   ldver=`$LD --version 2>/dev/null | head -1 | \
+-         sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
++         sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+   libgomp_gnu_ld_version=`echo $ldver | \
+          $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
+Index: gcc-4_2-branch/libgomp/ChangeLog
+===================================================================
+--- gcc-4_2-branch/libgomp/ChangeLog	(revision 123014)
++++ gcc-4_2-branch/libgomp/ChangeLog	(revision 123843)
+@@ -1,3 +1,9 @@
++2007-03-18  Andreas Schwab  <schwab at suse.de>
++
++	* acinclude.m4: Adjust regular expression for ld version
++	extraction.
++	* configure: Regenerate.
++
+ 2007-02-07  Jakub Jelinek  <jakub at redhat.com>
+ 
+ 	PR c++/30703
+Index: gcc-4_2-branch/libgomp/acinclude.m4
+===================================================================
+--- gcc-4_2-branch/libgomp/acinclude.m4	(revision 123014)
++++ gcc-4_2-branch/libgomp/acinclude.m4	(revision 123843)
+@@ -148,7 +148,7 @@
+   # does some of this, but throws away the result.
+   changequote(,)
+   ldver=`$LD --version 2>/dev/null | head -1 | \
+-         sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
++         sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+   changequote([,])
+   libgomp_gnu_ld_version=`echo $ldver | \
+          $AWK -F. '{ if (NF<3) [$]3=0; print ([$]1*100+[$]2)*100+[$]3 }'`
+Index: gcc-4_2-branch/gcc/tree-vrp.c
+===================================================================
+--- gcc-4_2-branch/gcc/tree-vrp.c	(revision 123014)
++++ gcc-4_2-branch/gcc/tree-vrp.c	(revision 123843)
+@@ -1892,10 +1892,18 @@
+       return;
+     }
+ 
++  /* We punt if:
++     1) [-INF, +INF]
++     2) [-INF, +-INF(OVF)]
++     3) [+-INF(OVF), +INF]
++     4) [+-INF(OVF), +-INF(OVF)]
++     We learn nothing when we have INF and INF(OVF) on both sides.
++     Note that we do accept [-INF, -INF] and [+INF, +INF] without
++     overflow.  */
+   if ((min == TYPE_MIN_VALUE (TREE_TYPE (min))
+-       || is_negative_overflow_infinity (min))
++       || is_overflow_infinity (min))
+       && (max == TYPE_MAX_VALUE (TREE_TYPE (max))
+-	  || is_positive_overflow_infinity (max)))
++	  || is_overflow_infinity (max)))
+     {
+       set_value_range_to_varying (vr);
+       return;
+Index: gcc-4_2-branch/gcc/doc/invoke.texi
+===================================================================
+--- gcc-4_2-branch/gcc/doc/invoke.texi	(revision 123014)
++++ gcc-4_2-branch/gcc/doc/invoke.texi	(revision 123843)
+@@ -695,9 +695,11 @@
+ -mwarn-framesize  -mwarn-dynamicstack  -mstack-size -mstack-guard}
+ 
+ @emph{Score Options}
+- at gccoptlist{-mel -mel @gol
++ at gccoptlist{-meb -mel @gol
++-mnhwloop @gol
++-muls @gol
+ -mmac @gol
+--mscore5u -mscore7}
++-mscore5 -mscore5u -mscore7 -mscore7d}
+  
+ @emph{SH Options}
+ @gccoptlist{-m1  -m2  -m2e  -m3  -m3e @gol
+@@ -4673,7 +4675,7 @@
+ arithmetic on them.  This produces better code by making all memory
+ references potential common subexpressions.  When they are not common
+ subexpressions, instruction combination should eliminate the separate
+-register-load. This option is now a nop and will be removed in 4.2.
++register-load. This option is now a nop and will be removed in 4.3.
+ 
+ @item -fforce-addr
+ @opindex fforce-addr
+@@ -9759,7 +9761,9 @@
+ The 32-bit environment sets int, long and pointer to 32 bits and
+ generates code that runs on any i386 system.
+ The 64-bit environment sets int to 32 bits and long and pointer
+-to 64 bits and generates code for AMD's x86-64 architecture.
++to 64 bits and generates code for AMD's x86-64 architecture. For
++darwin only the -m64 option turns off the @option{-fno-pic} and
++ at option{-mdynamic-no-pic} options.
+ 
+ @item -mno-red-zone
+ @opindex no-red-zone
+@@ -12273,25 +12277,41 @@
+ These options are defined for Score implementations:
+ 
+ @table @gcctabopt
++ at item -meb
++ at opindex meb
++Compile code for big endian mode.  This is the default.
++
+ @item -mel
+ @opindex -mel
+ Compile code for little endian mode. 
+ 
+- at item -meb
+- at opindex meb
+-Compile code for big endian mode.  This is the default.
++ at item -mnhwloop
++ at opindex -mnhwloop
++Disable generate bcnz instruction.
+ 
++ at item -muls
++ at opindex -muls
++Enable generate unaligned load and store instruction.
++
+ @item -mmac
+ @opindex mmac
+ Enable the use of multiply-accumulate instructions. Disabled by default. 
+ 
++ at item -mscore5
++ at opindex mscore5
++Specify the SCORE5 as the target architecture.
++
+ @item -mscore5u
+ @opindex mscore5u
+ Specify the SCORE5U of the target architecture.
+ 
+ @item -mscore7
+ @opindex mscore7
+-Specify the SCORE7 of the target architecture. This is the default.
++Specify the SCORE7 as the target architecture. This is the default.
++
++ at item -mscore7d
++ at opindex mscore7d
++Specify the SCORE7D as the target architecture.
+ @end table
+ 
+ @node SH Options
+Index: gcc-4_2-branch/gcc/doc/md.texi
+===================================================================
+--- gcc-4_2-branch/gcc/doc/md.texi	(revision 123014)
++++ gcc-4_2-branch/gcc/doc/md.texi	(revision 123843)
+@@ -2814,7 +2814,7 @@
+ cp1 + cp2 + cp3 registers.
+ 
+ @item I
+-Unsigned 15 bit integer (in the range 0 to 32767).
++High 16-bit constant (32-bit constant with 16 LSBs zero).
+ 
+ @item J
+ Unsigned 5 bit integer (in the range 0 to 31).
+@@ -2831,18 +2831,6 @@
+ @item N
+ Signed 14 bit integer (in the range @minus{}8192 to 8191).
+ 
+- at item O
+-Signed 15 bit integer (in the range @minus{}16384 to 16383).
+-
+- at item P
+-Signed 12 bit integer (in the range @minus{}2048 to 2047).
+-
+- at item J
+-An integer constant with exactly a single bit set.
+-
+- at item Q
+-An integer constant.
+-
+ @item Z
+ Any SYMBOL_REF.
+ @end table
+Index: gcc-4_2-branch/gcc/DATESTAMP
+===================================================================
+--- gcc-4_2-branch/gcc/DATESTAMP	(revision 123014)
++++ gcc-4_2-branch/gcc/DATESTAMP	(revision 123843)
+@@ -1 +1 @@
+-20070317
++20070415
+Index: gcc-4_2-branch/gcc/builtins.c
+===================================================================
+--- gcc-4_2-branch/gcc/builtins.c	(revision 123014)
++++ gcc-4_2-branch/gcc/builtins.c	(revision 123843)
+@@ -5492,14 +5492,19 @@
+ 			       rtx target, bool ignore)
+ {
+   rtx val, mem;
++  enum machine_mode old_mode;
+ 
+   /* Expand the operands.  */
+   mem = get_builtin_sync_mem (TREE_VALUE (arglist), mode);
+ 
+   arglist = TREE_CHAIN (arglist);
+   val = expand_expr (TREE_VALUE (arglist), NULL, mode, EXPAND_NORMAL);
+-  /* If VAL is promoted to a wider mode, convert it back to MODE.  */
+-  val = convert_to_mode (mode, val, 1);
++  /* If VAL is promoted to a wider mode, convert it back to MODE.  Take care
++     of CONST_INTs, where we know the old_mode only from the call argument.  */
++  old_mode = GET_MODE (val);
++  if (old_mode == VOIDmode)
++    old_mode = TYPE_MODE (TREE_TYPE (TREE_VALUE (arglist)));
++  val = convert_modes (mode, old_mode, val, 1);
+ 
+   if (ignore)
+     return expand_sync_operation (mem, val, code);
+@@ -5517,19 +5522,28 @@
+ 				 bool is_bool, rtx target)
+ {
+   rtx old_val, new_val, mem;
++  enum machine_mode old_mode;
+ 
+   /* Expand the operands.  */
+   mem = get_builtin_sync_mem (TREE_VALUE (arglist), mode);
+ 
+   arglist = TREE_CHAIN (arglist);
+   old_val = expand_expr (TREE_VALUE (arglist), NULL, mode, EXPAND_NORMAL);
+-  /* If OLD_VAL is promoted to a wider mode, convert it back to MODE.  */
+-  old_val = convert_to_mode (mode, old_val, 1);
++  /* If VAL is promoted to a wider mode, convert it back to MODE.  Take care
++     of CONST_INTs, where we know the old_mode only from the call argument.  */
++  old_mode = GET_MODE (old_val);
++  if (old_mode == VOIDmode)
++    old_mode = TYPE_MODE (TREE_TYPE (TREE_VALUE (arglist)));
++  old_val = convert_modes (mode, old_mode, old_val, 1);
+ 
+   arglist = TREE_CHAIN (arglist);
+   new_val = expand_expr (TREE_VALUE (arglist), NULL, mode, EXPAND_NORMAL);
+-  /* If NEW_VAL is promoted to a wider mode, convert it back to MODE.  */
+-  new_val = convert_to_mode (mode, new_val, 1);
++  /* If VAL is promoted to a wider mode, convert it back to MODE.  Take care
++     of CONST_INTs, where we know the old_mode only from the call argument.  */
++  old_mode = GET_MODE (new_val);
++  if (old_mode == VOIDmode)
++    old_mode = TYPE_MODE (TREE_TYPE (TREE_VALUE (arglist)));
++  new_val = convert_modes (mode, old_mode, new_val, 1);
+ 
+   if (is_bool)
+     return expand_bool_compare_and_swap (mem, old_val, new_val, target);
+@@ -5548,14 +5562,19 @@
+ 				  rtx target)
+ {
+   rtx val, mem;
++  enum machine_mode old_mode;
+ 
+   /* Expand the operands.  */
+   mem = get_builtin_sync_mem (TREE_VALUE (arglist), mode);
+ 
+   arglist = TREE_CHAIN (arglist);
+   val = expand_expr (TREE_VALUE (arglist), NULL, mode, EXPAND_NORMAL);
+-  /* If VAL is promoted to a wider mode, convert it back to MODE.  */
+-  val = convert_to_mode (mode, val, 1);
++  /* If VAL is promoted to a wider mode, convert it back to MODE.  Take care
++     of CONST_INTs, where we know the old_mode only from the call argument.  */
++  old_mode = GET_MODE (val);
++  if (old_mode == VOIDmode)
++    old_mode = TYPE_MODE (TREE_TYPE (TREE_VALUE (arglist)));
++  val = convert_modes (mode, old_mode, val, 1);
+ 
+   return expand_sync_lock_test_and_set (mem, val, target);
+ }
+Index: gcc-4_2-branch/gcc/fold-const.c
+===================================================================
+--- gcc-4_2-branch/gcc/fold-const.c	(revision 123014)
++++ gcc-4_2-branch/gcc/fold-const.c	(revision 123843)
+@@ -7052,7 +7052,7 @@
+ {
+   tree type = TREE_TYPE (expr);
+   int total_bytes = GET_MODE_SIZE (TYPE_MODE (type));
+-  int byte, offset, word, words;
++  int byte, offset, word, words, bitpos;
+   unsigned char value;
+ 
+   /* There are always 32 bits in each long, no matter the size of
+@@ -7062,19 +7062,20 @@
+ 
+   if (total_bytes > len)
+     return 0;
+-  words = total_bytes / UNITS_PER_WORD;
++  words = 32 / UNITS_PER_WORD;
+ 
+   real_to_target (tmp, TREE_REAL_CST_PTR (expr), TYPE_MODE (type));
+ 
+-  for (byte = 0; byte < total_bytes; byte++)
++  for (bitpos = 0; bitpos < total_bytes * BITS_PER_UNIT;
++       bitpos += BITS_PER_UNIT)
+     {
+-      int bitpos = byte * BITS_PER_UNIT;
++      byte = (bitpos / BITS_PER_UNIT) & 3;
+       value = (unsigned char) (tmp[bitpos / 32] >> (bitpos & 31));
+ 
+-      if (total_bytes > UNITS_PER_WORD)
++      if (UNITS_PER_WORD < 4)
+ 	{
+ 	  word = byte / UNITS_PER_WORD;
+-	  if (FLOAT_WORDS_BIG_ENDIAN)
++	  if (WORDS_BIG_ENDIAN)
+ 	    word = (words - 1) - word;
+ 	  offset = word * UNITS_PER_WORD;
+ 	  if (BYTES_BIG_ENDIAN)
+@@ -7083,8 +7084,8 @@
+ 	    offset += byte % UNITS_PER_WORD;
+ 	}
+       else
+-	offset = BYTES_BIG_ENDIAN ? (total_bytes - 1) - byte : byte;
+-      ptr[offset] = value;
++	offset = BYTES_BIG_ENDIAN ? 3 - byte : byte;
++      ptr[offset + ((bitpos / BITS_PER_UNIT) & ~3)] = value;
+     }
+   return total_bytes;
+ }
+@@ -7241,7 +7242,7 @@
+ {
+   enum machine_mode mode = TYPE_MODE (type);
+   int total_bytes = GET_MODE_SIZE (mode);
+-  int byte, offset, word, words;
++  int byte, offset, word, words, bitpos;
+   unsigned char value;
+   /* There are always 32 bits in each long, no matter the size of
+      the hosts long.  We handle floating point representations with
+@@ -7252,16 +7253,17 @@
+   total_bytes = GET_MODE_SIZE (TYPE_MODE (type));
+   if (total_bytes > len || total_bytes > 24)
+     return NULL_TREE;
+-  words = total_bytes / UNITS_PER_WORD;
++  words = 32 / UNITS_PER_WORD;
+ 
+   memset (tmp, 0, sizeof (tmp));
+-  for (byte = 0; byte < total_bytes; byte++)
++  for (bitpos = 0; bitpos < total_bytes * BITS_PER_UNIT;
++       bitpos += BITS_PER_UNIT)
+     {
+-      int bitpos = byte * BITS_PER_UNIT;
+-      if (total_bytes > UNITS_PER_WORD)
++      byte = (bitpos / BITS_PER_UNIT) & 3;
++      if (UNITS_PER_WORD < 4)
+ 	{
+ 	  word = byte / UNITS_PER_WORD;
+-	  if (FLOAT_WORDS_BIG_ENDIAN)
++	  if (WORDS_BIG_ENDIAN)
+ 	    word = (words - 1) - word;
+ 	  offset = word * UNITS_PER_WORD;
+ 	  if (BYTES_BIG_ENDIAN)
+@@ -7270,8 +7272,8 @@
+ 	    offset += byte % UNITS_PER_WORD;
+ 	}
+       else
+-	offset = BYTES_BIG_ENDIAN ? (total_bytes - 1) - byte : byte;
+-      value = ptr[offset];
++	offset = BYTES_BIG_ENDIAN ? 3 - byte : byte;
++      value = ptr[offset + ((bitpos / BITS_PER_UNIT) & ~3)];
+ 
+       tmp[bitpos / 32] |= (unsigned long)value << (bitpos & 31);
+     }
+Index: gcc-4_2-branch/gcc/omp-low.c
+===================================================================
+--- gcc-4_2-branch/gcc/omp-low.c	(revision 123014)
++++ gcc-4_2-branch/gcc/omp-low.c	(revision 123843)
+@@ -2421,6 +2421,7 @@
+   block_stmt_iterator si;
+   tree entry_stmt;
+   edge e;
++  bool do_cleanup_cfg = false;
+ 
+   entry_stmt = last_stmt (region->entry);
+   child_fn = OMP_PARALLEL_FN (entry_stmt);
+@@ -2456,6 +2457,7 @@
+ 	  exit_succ_e = single_succ_edge (exit_bb);
+ 	  make_edge (new_bb, exit_succ_e->dest, EDGE_FALLTHRU);
+ 	}
++      do_cleanup_cfg = true;
+     }
+   else
+     {
+@@ -2546,6 +2548,14 @@
+ 
+   /* Emit a library call to launch the children threads.  */
+   expand_parallel_call (region, new_bb, entry_stmt, ws_args);
++
++  if (do_cleanup_cfg)
++    {
++      /* Clean up the unreachable sub-graph we created above.  */
++      free_dominance_info (CDI_DOMINATORS);
++      free_dominance_info (CDI_POST_DOMINATORS);
++      cleanup_tree_cfg ();
++    }
+ }
+ 
+ 
+Index: gcc-4_2-branch/gcc/objc/objc-act.c
+===================================================================
+--- gcc-4_2-branch/gcc/objc/objc-act.c	(revision 123014)
++++ gcc-4_2-branch/gcc/objc/objc-act.c	(revision 123843)
+@@ -3632,7 +3632,7 @@
+ 
+ 	{
+ 	  struct _objc_exception_data _stack;
+-	  id volatile _rethrow = 0;
++	  id _rethrow = 0;
+ 	  try
+ 	    {
+ 	      objc_exception_try_enter (&_stack);
+@@ -3676,7 +3676,6 @@
+ 
+   rethrow_decl = objc_create_temporary_var (objc_object_type);
+   cur_try_context->rethrow_decl = rethrow_decl;
+-  TREE_THIS_VOLATILE (rethrow_decl) = 1;
+   TREE_CHAIN (rethrow_decl) = stack_decl;
+ 
+   /* Build the outermost variable binding level.  */
+Index: gcc-4_2-branch/gcc/ChangeLog
+===================================================================
+--- gcc-4_2-branch/gcc/ChangeLog	(revision 123014)
++++ gcc-4_2-branch/gcc/ChangeLog	(revision 123843)
+@@ -1,3 +1,169 @@
++2007-04-14  Andrew Pinski  <andrew_pinski at playstation.sony.com>
++
++	PR c/31520
++        * c-del.c (finish_decl): Grab the type of the decl after the call
++	to store_init_value.
++
++2007-04-14  Jakub Jelinek  <jakub at redhat.com>
++
++	PR c++/25874
++	* omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
++	post dominators and cleanup cfg before returning.
++
++2007-04-11  John David Anglin  <dave.anglin at nrc-cnrc.gc.ca>
++
++	* pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
++	null before emitting a .nsubspa directive.
++
++2007-04-08  Anatoly Sokolov <aesok at post.ru>
++
++	PR target/29932
++	* config/avr/predicates.md (io_address_operand): Delete predicate.
++	(low_io_address_operand): Don't use 'mode' argument.
++	(higth_io_address_operand): Rename ...
++	(high_io_address_operand): ... to this. Don't use 'mode' argument.
++	* config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
++	for above change.
++
++2007-04-07  Anatoly Sokolov <aesok at post.ru>
++
++	PR target/30289
++	* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as 
++	earlyclobber.
++
++2007-04-05  Anatoly Sokolov <aesok at post.ru>
++
++	PR target/25448
++	* config/avr/avr.c (avr_handle_fndecl_attribute): Use the 
++	DECL_ASSEMBLER_NAME, not the DECL_NAME.
++
++2007-04-04  Richard Henderson  <rth at redhat.com>
++
++	PR target/31361
++	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
++	v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di.  Use like-types for
++	the variable shift builtins.
++	(ix86_expand_builtin): Properly expand the variable shift builtins.
++	* config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
++	operand 2 be TImode.
++	* config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
++	_mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
++	_mm_srli_epi32, _mm_srli_epi64): Turn into macros.
++	(_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
++	(_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
++	_mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
++	two-vector shift builtins.
++
++2007-04-04  Chen liqin  <liqin at sunnorth.com.cn>
++
++	* config/score/crti.asm: Change _bss_start to __bss_start.
++	* config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
++	(OUTGOING_REG_PARM_STACK_SPACE) update.
++	* config/score/score.opt: add options to make backend support
++	score5, score5u, score7 and score7d.
++	* config/score/score.md: Likewise.
++	* config/score/misc.md: Likewise.
++	* config/score/mac.md: Likewise.
++	* doc/invoke.texi: Likewise.
++	* doc/md.texi: update constraints define.
++
++2007-04-03  Stuart Hastings  <stuart at apple.com>
++
++	PR 31281
++	* objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile from rethrow decl.
++	* cse.c (record_jump_equiv): Bail out on CCmode comparisons.
++
++2007-04-03  Jakub Jelinek  <jakub at redhat.com>
++
++	PR middle-end/30704
++	* fold-const.c (native_encode_real): Encode real.c provided longs
++	as a series of 32-bit native integers.
++	(native_interpret_real): Interpret buffer as a series of 32-bit
++	native integers.
++
++2007-04-02  Eric Christopher  <echristo at apple.com>
++
++	* doc/invoke.texi (i386 and x86-64 Options): Document -m64
++	limitations on darwin.
++
++2007-04-02  Anatoly Sokolov <aesok at post.ru>
++
++	PR target/31137
++	* config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
++
++2007-04-02  H.J. Lu  <hongjiu.lu at intel.com>
++
++	* Backport from mainline:
++	2007-03-28  Grigory Zagorodnev <grigory_zagorodnev at linux.intel.com>
++
++	PR target/31380
++	* config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.
++
++2007-03-30  Anatoly Sokolov <aesok at post.ru>
++
++	* config/avr/avr.c (avr_override_options): Clear
++	'flag_delete_null_pointer_checks'.
++
++2007-03-29  Michael Matz  <matz at suse.de>
++
++	* builtins.c (expand_builtin_sync_operation,
++	expand_builtin_compare_and_swap,
++	expand_builtin_lock_test_and_set): Care for extending CONST_INTs
++	correctly.
++
++	* config/i386/sync.md (sync_double_compare_and_swapdi_pic,
++	sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
++	for operand 3.
++
++2007-03-28  Mike Stump  <mrs at apple.com>
++
++	* config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
++	* config/darwin.h (MAX_OFILE_ALIGNMENT): Fix.
++	* config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef.
++
++2007-03-27  Anatoly Sokolov <aesok at post.ru>
++
++	* config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
++	architecture.
++
++2007-03-26  Ian Lance Taylor  <iant at google.com>
++
++	PR tree-optimization/31345
++	* tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
++	[+INF, +INF(OVF)] into VARYING.
++
++2007-03-23  Martin Michlmayr  <tbm at cyrius.com>
++
++	* doc/invoke.texi (-fforce-mem): Update documentation to reflect
++	that this option will be removed in 4.3 rather than 4.2.
++	* opts.c (common_handle_option): Likewise.
++
++2007-03-21  Mike Stump  <mrs at apple.com>
++
++	* c.opt: Fixup for Objective-C/C++.
++
++2007-03-21  Richard Henderson  <rth at redhat.com>
++
++	PR target/31245
++	* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
++	* config/i386/mmintrin.h (__m64): Likewise.
++	* config/i386/xmmintrin.h (__m128): Likewise.
++
++2007-03-20  Jakub Jelinek  <jakub at redhat.com>
++
++	PR c/30762
++	* c-typeck.c (convert_for_assignment): Call comptypes for
++	RECORD_TYPE or UNION_TYPE.
++
++	PR inline-asm/30505
++	* reload1.c (reload): Do invalid ASM checking after
++	cleanup_subreg_operands.
++
++2007-03-19  Jeff Law  <law at redhat.com>
++
++	* tree-cfg.c (find_taken_edge): Tighten conditions for
++	optimizing computed gotos.
++
+ 2007-03-16  John David Anglin  <dave.anglin at nrc-cnrc.gc.ca>
+ 
<<Diff was trimmed, longer than 597 lines>>


More information about the pld-cvs-commit mailing list