* 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
* c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
* caller-save.c (insert_save_restore): Initialize pat, code and
numregs.
* emit-rtl.c (push_to_sequence): Initialize top.
(push_topmost_sequence): Likewise.
* genattrtab.c (simplify_by_exploding): Initialize defval.
* profile.c (branch_prob): Initialize dest.
* rtl.h (note_stores): Remove duplicate prototype.
(GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
Fix some warnings.
* cplus-dem.c (gnu_special): Don't get confused by .<digits>
strings that are not actually lengths.
A change from libiberty that didn't make it into the gcc copy.
From-SVN: r18942
* genattrtab.c: Make generated file use system.h, instead of
including stdio.h, etc directly.
* genextract.c, genopinit.c, genoutput.c: Likewise.
* genpeep.c, genrecog.c: Likewise
* genoutput.c (process_template): Mark operands in the generated
function as potentially unused if compiling with GNU CC.
From-SVN: r18941
* friend.c (is_friend): Fix access control for local classes.
* class.c (is_empty_class): New fn.
* call.c (build_call): Don't pass empty class objects to a function.
From-SVN: r18933
* cplus-dem.c (optable): Add sizeof.
(demangle_template_value_parm): New function containing code
previously found in demangle_template.
(demangle_integral_value): New function which handles complicated
integral expressions.
(demangle_template): Use them.
From-SVN: r18930
* varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
entity in a local scope.
* fold-const.c (fold): Call truthvalue_conversion for values which
are folded to boolean type.
From-SVN: r18929