2005-11-24 Paolo Bonzini <bonzini@gnu.org>
* optabs.c (expand_binop): Use swap_commutative_operands_with_target
to order operands.
(swap_commutative_operands_with_target): New.
From-SVN: r107457
2005-11-24 Paolo Bonzini <bonzini@gnu.org>
* gcse.c (hash_scan_set): Look through REG_EQUAL or REG_EQUIV notes
also when doing PRE, rather than only for global CPROP.
From-SVN: r107456
2005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/21667
* c-typeck.c (build_array_ref): Avoid code duplicate. Use
common
C/C++ diagnostic function warn_array_subscript_with_type_char.
* c-common.h (warn_array_subscript_with_type_char): Declare.
* c-common.c (warn_array_subscript_with_type_char): Define.
cp/
2005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/21667
* typeck.c (build_array_ref): Avoid code duplicate. Use
common
C/C++ diagnostic function warn_array_subscript_with_type_char.
testsuite/
2005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/21667
* gcc.dg/Wchar-subscripts.c: New.
* g++.dg/warn/Wchar-subscripts.C: Likewise.
From-SVN: r107448
These files were stored incorrectly in the old CVS repository: they
were in the Attic but were not marked as dead. This had the effect of
making them appear to not exist in CVS checkouts, but they were
accidentally resurrected by cvs2svn. I am now deleting them again.
From-SVN: r107435
* doc/invoke.texi: For man pages, include gcc-vers.texi.
List @file in the option summary. Include the libiberty
documentation for @file.
* gcc.c (main): Call expandargv.
* Makefile.in (gcc-vers.texi): Define srcdir.
From-SVN: r107426
PR c/21668
* c-decl.c (grokdeclarator): Don't warn for 'extern const' when
compiling at the intersection of C and C++.
testsuite/
PR c/21668
* gcc.dg/Wc++-compat.c: New.
* gcc.dg/Wno-c++-compat.c: New.
From-SVN: r107401
2005-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/24794
* io/list_read.c (read_character): Add auto completion on short
namelist reads.
From-SVN: r107394
gcc/
PR target/23435
* m68k.md (zero_extendsidi2): Force operands[1] to a register
if both operands[0] and operands[1] are memory.
gcc/testsuite/
PR target/23435
* gcc.c-torture/compile/pr23435.c: New.
From-SVN: r107373
2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23606
* fold-const.c (fold_unary) <case NOP_EXPR, CONVERT_EXPR>: For
COMPARISON_CLASS_P and an integral types create create a new
expression with the new type and fold that.
From-SVN: r107370
* arm.c (emit_set_insn): New function.
(arm_split_constant): Call it.
(arm_gen_compare_reg, arm_reload_in_hi, arm_reload_out_hi): Likewise.
(arm_legitimize_address): Likewise. Use plus_constant.
(arm_expand_prologue): Likewise. Use VOIDmode in SET.
(thumb_expand_prologue): Likewise.
(arm_gen_load_multiple): Use VOIDmode in SET.
(arm_gen_store_multiple): Likewise.
(vfp_emit_fstmx): Likewise. Use plus_constant.
(emit_multi_reg_push): Likewise.
(emit_sfm): Use plus_constant.
From-SVN: r107361
* c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when
flag_pic is set.
* config/alpha/freebsd.h, config/alpha/linux.h,
config/arm/linux-elf.h, config/bfin/bfin.h,
config/cris/linux.h, config/darwin.h, config/freebsd-spec.h,
config/i386/beos-elf.h, config/i386/gnu.h,
config/i386/linux.h, config/i386/linux64.h, config/i386/nto.h,
config/i386/sco5.h, config/m32r/m32r.h, config/m68k/linux.h,
config/m68k/m68k.h, config/mips/linux.h, config/pa/pa-linux.h,
config/rs6000/linux64.h, config/rs6000/sysv4.h,
config/rs6000/vxworks.h, config/s390/linux.h, config/s390/tpf.h,
config/sh/linux.h, config/sh/sh.h, config/sol2.h,
config/sparc/linux.h, config/sparc/linux64.h,
config/xtensa/xtensa.h: Don't define __pic__ or __PIC__.
* doc/invoke.texi: Document that the macros __pic__ and __PIC__
are both defined when either flag -fpic or -fPIC are used.
From-SVN: r107347
* config/fp-bit.c (clzusi): New function.
(si_to_float, usi_to_float): Use it to compute proper shift.
(usi_to_float): Preserve guard bits when shifting right.
* libgcc-std.ver (GCC_4.2.0): New version.
* libgcc2.c (__floatundixf, __floatunditf, __floatundidf,
__floatundisf): New functions.
* libgcc2.h (__floatundixf, __floatunditf, __floatundidf,
__floatundisf): Declare.
* mklibgcc.in (lib2funcs): Add _floatundidf, _floatundisf,
_floatundixf, and _floatunditf.
* optabs.c (expand_float): If target does not define a pattern for
signed or unsigned conversion, use an unsigned libcall instead of
a signed one.
(init_optabs): Initialize ufloat_optab.
testsuite:
* gcc.c-torture/execute/floatunsisf-1.c: New test.
From-SVN: r107345
2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* socket.c: Add extern int h_errno for rtems since networking header
files are not available at this point in a tool bootstrap. Newlib
only has basic C library header files.
From-SVN: r107331
2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* config/arm/rtems-elf.h: Added definition of LINK_GCC_C_SEQUENCE_SPEC
which matches behavior of gcc 4.0 and older for RTEMS targets. The
default now includes a linker group which makes the RTEMS one nest.
From-SVN: r107329