* c-common.h (genrtl_expr_stmt_value): Declare.
* c-semantics.c (genrtl_goto_stmt): Redirect to...
(genrtl_goto_stmt_value): ... this new function. Pass new
argument down to expand_expr_stmt_value, taking
TREE_ADDRESSABLE into account.
* c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
STMT_EXPR as addressable, i.e., one whose result we want.
* expr.c (expand_expr): Don't save expression statement value
of labeled_blocks or loop_exprs.
* stmt.c (expand_expr_stmt): Redirect to...
(expand_expr_stmt_value): ... this new function. Use new
argument to tell whether to save expression value.
(expand_end_stmt_expr): Reset last_expr_type and
last_expr_value if we don't have either.
* tree-inline.c (declare_return_variable): Mark its use
statement as addressable.
* tree.h: Document new use of TREE_ADDRESSABLE.
(expand_expr_stmt_value): Declare.
From-SVN: r48456
* configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
${srcdir}/ginclude/ to every entry in extra_headers.
* configure: Regenerate.
* ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
* ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
* ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
* ginclude/proto.h: Rename to config/convex/proto.h.
From-SVN: r48454
* attribs.c (handle_vector_size_attribute): Use host_integerp
and tree_int_cst; remove warnings.
* caller-save.c (insert_restore): Add cast to get rid of warning.
(insert_save): Likewise.
* emit-rtl.c (adjust_address_1, offset_address): Likewise.
* regmove.c (find_matches): Add temporary var to kill a warning.
From-SVN: r48452
* config/mmix/mmix.md: Update FIXME to not mention
define_constants.
(MMIX_rJ_REGNUM): New define_constants constant.
("movqi", "movsi", "movdi", "*movdicc_real_foldable",
"*movdicc_real"): Adjust contraints formatting.
("*bCC_foldable"): Add %+ for P in output format and delete FIXME
for branch prediction.
("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
output template.
("*call_real", "*call_value_real", "nonlocal_goto_receiver",
"*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
number. Delete related FIXMEs.
* config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
from number to MMIX_rJ_REGNUM.
(TARGET_MASK_BRANCH_PREDICT): New.
(TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
(TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
value. Add -mbranch-predict and -mno-branch-predict.
(TARGET_VERSION): Drop date.
(ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
* config/mmix/mmix.c (mmix_encode_section_info): Correct condition
for finding out global symbols.
(mmix_asm_output_labelref): Revert condition for global symbol.
(mmix_print_operand): <case '+'>: Emit P for a likely branch.
(mmix_print_operand_punct_valid_p): A '+' is valid.
From-SVN: r48448
2002-01-01 Roger Sayle <roger@eyesopen.com>
* libmath/stubs.c (sinf,cosf): Implement stubs to enable the
equivalent ___builtin__ versions.
* include/c_shadow/bits/std_cmath.h: All __builtin math functions
are available in libstdc++ as the necessary stub implementations
are provided by libmath/stubs.c.
From-SVN: r48445
* regrename.c (build_def_use): Don't rename asm operands that
were originally hard registers.
(copyprop_hardreg_forward_1): Likewise.
(find_oldest_value_reg): Copy ORIGINAL_REGNO from source.
* varasm.c (make_decl_rtl): Use gen_rtx_raw_REG. Set ORIGINAL_REGNO.
* gcc.dg/asm-5.c: New.
From-SVN: r48435
2001-12-31 Paolo Carlini <pcarlini@unitus.it>
* include/backward/algo.h: Add two more using declarations.
* include/backward/iterator.h: Include <ext/iterator>,
add using declaration.
* include/ext/algorithm: Add #pragma GCC system_header.
From-SVN: r48429
2001-12-31 Phil Edwards <pme@gcc.gnu.org>
* include/bits/stl_deque.h: Doxygenate with initial/example hooks.
Clean up spacing and indentation.
From-SVN: r48426
* except.h: Remove forward def of tree_node, rtx_def and
define of tree, rtx. Also remove undefs.
* basic-block.h: Remove forward def of tree_node and
define of tree.
From-SVN: r48414
* config/mmix/mmix.md ("*call_real"): Fix typo in comment.
* config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT
to mmix_extra_constraint.
* config/mmix/mmix.c (mmix_secondary_reload_class): Only handle
non-global register classes. Mark now unused parameters as such.
(mmix_extra_constraint, 'U'): Use new parameter strict and call
calling memory_operand_p or strict_memory_address_p, not
address_operand.
* config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter.
From-SVN: r48402