* tree.c (build_target_expr_with_type): If we already have a
TARGET_EXPR, just return it.
* optimize.c (initialize_inlined_parameters): Don't generate an
EXPR_STMT if we can just use DECL_INITIAL.
* decl.c (emit_local_var): Only make the initialization a
full-expression if stmts_are_full_exprs_p.
From-SVN: r33595
2000-04-28 Jakub Jelinek <jakub@redhat.com>
* Makefile.am (SUBDIRS): Define.
(AM_MAKEFLAGS): Likewise.
(Multilib support.): Add section.
* Makefile.in: Rebuilt.
* ltconfig (extra_compiler_flags, extra_compiler_flags_value):
New variables. Set for gcc using -print-multi-lib. Export them
to libtool.
(sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
* ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
for -shared links.
(extra_compiler_flags_value, extra_compiler_flags): Check these
for extra compiler options which need to be passed down in
compiler_flags.
From-SVN: r33586
* cpphash.c (_cpp_make_hashnode): Rename make_HASHNODE, now
static. Allocate the hashnode and its string in the same
block of memory.
(del_HASHNODE): Don't free h->name.
(_cpp_lookup): If there is no entry for this string, create
one, of type T_VOID.
(_cpp_lookup_slot): Delete.
* cpphash.h: Update prototypes.
* cpplex.c (maybe_macroexpand): Check for hp->type == T_VOID,
not hp == NULL.
* cpplib.c (do_define, do_undef, do_pragma_poison, do_assert,
do_unassert, cpp_defined): Use _cpp_lookup. Don't create a
node here, just fill in the value field properly. "Delete"
entries by setting the value field to T_VOID. Check for
hp->type == T_VOID, not hp == NULL.
* Makefile.in (cpplib.o): Don't depend on $(HASHTAB_H).
* cpperror.c, cppexp.c, cpplex.c, cpplib.c: Don't include
hashtab.h.
From-SVN: r33581
2000-04-30 Benjamin Kosnik <bkoz@gnu.org>
* config/cpu/powerpc/bits/atomicity.h: Fix typo.
* mknumeric_limits (trait_name): Fix copyright notice.
* src/gen-num-limits.cc: Explicitly instantiate epsilon and
round_error data members of struct value. This works around
weak-linking issues on AIX, HPUX.
From-SVN: r33580
* config/mn10300/mn10300.c (expand_epilogue): If SP is to be
adjusted by less than 256 bytes, use ret regardless of having any
callee-saved register to restore.
From-SVN: r33573
* ifcvt.c (noce_process_if_block): Fail the conversion if X is
referenced bewteen the condition and the jump. Don't delete
anything but the jump.
From-SVN: r33563
* expr.c (cplus_expand_expr): Preserve temporaries when expanding
STMT_EXPRs.
* optimize.c (struct inline_data): Add target_exprs field.
(declare_return_variable): When a function returns an aggregate,
use the variable declared in the TARGET_EXPR as the remapped
DECL_RESULT.
(expand_call_inline): Update the pending target_exprs stack.
(optimize_function): Initialize the stack.
From-SVN: r33561
Sun Apr 30 22:48:24 2000 Jason Eckhardt <jle@cygnus.com>
* bb-reorder.c (scope_def): New struct.
(scope_forest_info): New struct.
(struct reorder_block_def): New member "scope".
(REORDER_BLOCK_SCOPE): New macro.
(relate_bbs_with_scopes): New function and prototype.
(make_new_scope): Likewise.
(build_scope_forest): Likewise.
(remove_scope_notes): Likewise.
(insert_intra_1): Likewise.
(insert_intra_bb_scope_notes): Likewise.
(insert_inter_bb_scope_notes): Likewise.
(rebuild_scope_notes): Likewise.
(free_scope_forest_1): Likewise.
(free_scope_forest): Likewise.
(dump_scope_forest): Likewise.
(dump_scope_forest_1): Likewise.
(chain_reorder_blocks): Set REORDER_BLOCK_SCOPE for new block.
Update REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for new
block.
(reorder_basic_blocks): Added calls to build_scope_scope_forest
and remove_scope_notes before reordering is done. Added calls to
rebuild_scope_notes, free_scope_forest, and reorder_blocks after
after reordering is done.
From-SVN: r33560
2000-04-30 Benjamin Kosnik <bkoz@gnu.org>
* mknumeric_limits (trait_name): Fix copyright notice.
* src/gen-num-limits.cc: Explicitly instantiate epsilon and
round_error data members of struct value. This works around
weak-linking issues on AIX, HPUX.
From-SVN: r33558