* gcc.c: Add linker spec.
(link_command_spec): Use %(linker) instead of ld.
(main): If collect2 is requested as the linker, see if it exists;
if not, use ld instead.
* Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
(ld:) Deleted.
(install-collect2): Install as collect2, not ld.
* configure.in(will_use_collect2): It's named collect2 now.
* collect2: Remove checks to see if we were invoked recursively.
(collect_execute): Use _spawnvp under cygwin32.
From-SVN: r19022
* gansidecl.h: Check if compiler supports __attribute__. Provide
definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
__attribute__ when its available. Also provide definitions for
ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
terms of ATTRIBUTE_PRINTF.
* genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
of __attribute__.
From-SVN: r19019
* i386.md (movsf_push, movsf_mem): Remove.
(movsf_push): Rename from movsf_push_nomove and move in front of
movsf. Use nonmemory_operand predicate and don't bother checking
TARGET_MOVE.
(movsf_push_memory): New pattern.
(movsf): Don't bother checking for push_operand. If TARGET_MOVE and
both operands refer to memory then force operand[1] into a register.
(movsf_normal): Change to unnamed pattern.
Likewise for movdf, movxf, and friends.
From-SVN: r19011
* expmed.c (synth_mult): The value -1, has no zeros, so it can
never have the form ...011.
Forgot to commit ChangeLog entry for this one.
From-SVN: r19008
* com.c (ffecom_expr_): Revert Oct 22 change. Instead take a WIDENP
argument so that we can respect the signedness of the original type.
(ffecom_init_0): Do sizetype initialization first.
From-SVN: r18995
* tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
of these into a single struct, with additional [us]sizetype entries.
* stor-layout.c (set_sizetype): Initialize [us]sizetype.
* fold-const.c (size_int_wide): Don't rely on sizetype_tab being
an array.
From-SVN: r18994
* class.c (finish_struct_1): Add vbase fields earlier. Set
CLASSTYPE_SIZE of an empty base to 0. Types with bases can be empty.
* search.c (dfs_check_overlap, dfs_no_overlap_yet): New fns.
(types_overlap_p): New fn.
* tree.c (avoid_overlap): New fn.
(build_base_fields): Use it to avoid overlapping empty bases.
* cp-tree.h, decl2.c, lang-options.h: Add -fnew-abi.
From-SVN: r18978
* tree.c (unshare_base_binfos): New fn.
(layout_basetypes): Use it. Now handles offsets of both virtual and
non-virtual bases, after layout_type.
(layout_vbasetypes): Remove.
(build_base_fields): Generate FIELD_DECLs for each non-virtual base.
(build_vbase_pointer_fields): Split out from old layout_basetypes.
* class.c (finish_base_struct): Lose offset handling code.
Move nonvdtor warning here. Don't mess with t_binfo anymore.
(finish_struct_1): Don't mess with t_binfo anymore. Use fns above.
* cp-tree.h: Adjust.
From-SVN: r18973
* gthr.h: Support systems that don't have weak, but have threads.
* configure.in (*wrs-vxworks*): Use VxWorks threads by default.
* gthr-vxworks.h: New file.
* objc/thr-vxworks.h: Dummy file from thr-single.c for now.
From-SVN: r18971
* Makefile.in (choose-temp.o): Depend on system.h.
Patched in both the libiberty and gcc directories:
* choose-temp.c: Include system.h when IN_GCC.
From-SVN: r18952