2003-04-16 Roger Sayle <roger@eyesopen.com>
* c-semantics.c (find_reachable_label): New function to find a
potentially reachable label in an expression.
(expand_unreachable_if_stmt): Similar to expand_if_stmt but
assumes the start of the IF_STMT is unreachable (dead) code.
(expand_unreachable_stmt): Similar to expand_stmt but assumes
the start of the statement list is unreachable (dead) code.
(genrtl_if_stmt): If the controlling expression of the IF
is constant, use expand_unreachable_stmt for the THEN or ELSE
clause as appropriate.
(genrtl_switch_stmt): Use expand_unreachable_stmt to expand
the body of a SWITCH statement.
(expand_stmt): The code immediately following a "return",
"break", "continue" or "goto" is unreachable.
* Makefile.in (c-semantics.o): Depend upon tree-inline.h.
* gcc.dg/Wunreachable-5.c: New test case for PR c/10175.
* gcc.c-torture/execute/medce-1.c: New test case.
* gcc.c-torture/execute/medce-2.c: New test case.
From-SVN: r65715
* reload1.c (reload_cse_noop_set_p): Return false if mode of
SET_DEST is not the same as that returned by...
* cselib.h (cselib_reg_set_mode): ... new function.
* cselib.c (cselib_reg_set_mode): Define it.
(REG_VALUES): Document semantics of first element as set mode.
(cselib_subst_to_values): Skip first element if ELT is NULL.
(cselib_lookup): Likewise. Insert past the first element.
(cselib_invalidate_regno): NULLify first element.
(cselib_record_set): Set first element.
From-SVN: r65713
* tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
(save_expr): Replace loop by call to skip_simple_arithmetics_at.
* tree.h: Add prototypes for the two new functions.
* fold-const.c (fold_binary_op_with_conditional_arg): Replace test
updates introduced in the previous revision by call to saved_expr_p.
* stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
From-SVN: r65702
* expr.c (store_field): Force usage of bitfield instructions when
the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
(expand_expr, case BIT_FIELD_REF): likewise.
From-SVN: r65701
* config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
(samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
(direct_call_operand): Use SYMBOL_FLAG_NEAR.
(local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
(small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
(global_symbolic_operand): Similarly.
(tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
(tls_symbolic_operand_type): Likewise.
(alpha_encode_section_info): Use default_encode_section_info.
(alpha_strip_name_encoding): Remove.
(get_tls_get_addr): Split out from ...
(alpha_legitimize_address): ... here.
(alpha_emit_xfloating_libcall): Use init_one_libfunc.
(get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
(alpha_initialize_trampoline): Use init_one_libfunc.
(alpha_setup_incoming_varargs): Mark unused parameters.
(alpha_initial_elimination_offset): Likewise.
(alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
(unicosmk_unique_section): Use default_strip_name_encoding.
(unicosmk_ssib_name, unicosmk_output_externs): Likewise.
From-SVN: r65696
* configure.in: Unify the code which creates symlinks to a
just-built as, ld, objdump, and nm with the code that detects
their presence for purposes of feature tests.
* configure: Regenerate.
From-SVN: r65677
2003-04-15 Benjamin Kosnik <bkoz@redhat.com>
Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/9423
* docs/html/27_io/howto.html
('The buffering is screwing up my program!'): Explain that
opening counts as an I/O operation.
Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>
From-SVN: r65665
* varasm.c (output_constant_def): Do not consult
CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it.
(after_function_constants, output_after_function_constants): Delete.
* doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
* config/mips/mips-protos.h, config/mips/mips.c
(mips16_constant_after_function_p): Delete.
* config/mips/mips.h: Delete #if-0-ed definition of
CONSTANT_AFTER_FUNCTION_P.
* config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
mention of CONSTANT_AFTER_FUNCTION_P in comment.
From-SVN: r65663
* argv.c: Fix comments.
* calloc.c: Don't unnecessarily include "libiberty.h".
(bzero): Add prototype.
* floatformat.c: Include "ansidecl.h", rely on ANSI_PROTOTYPES.
* getcwd.c (getcwd): Use standard definition to avoid conflicts
with system headers.
* hashtab.c (htab_traverse): Delete unused variables.
* rename.c: Include "ansidecl.h".
(rename): Use standard definition to avoid conflicts with system
headers.
* strsignal.c: Rely on ANSI_PROTOTYPES.
* strstr.c: Check GNUC >= 2, not GNUC == 2.
* vfprintf.c: Include "ansidecl.h", rely on ANSI_PROTOTYPES.
* vprintf.c: Include "ansidecl.h" earlier, rely on
ANSI_PROTOTYPES.
* vsprintf.c: Include "ansidecl.h" earlier, rely on
ANSI_PROTOTYPES and possibly include <stdarg.h>.
* Makefile.in: Regenerate dependencies.
From-SVN: r65659
PR target/9594:
* sh.c (barrier_align): Also recognize stuff_delay_slot as
an indicator that a barrier was created by branch splitting.
From-SVN: r65652
* except.c (resolve_fixup_regions): Avoid dereferencing null pointer
to region, possible after integration of function with unreachable
regions that were optimized away.
From-SVN: r65631
* config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
instead of TOC_REGISTER in epilogue in
current_function_calls_eh_return functions.
From-SVN: r65629
* configure.host (*-linux*): Don't set slow_pthread_self if primary
installed libpthread is either linuxthreads with floating stacks or
NPTL.
From-SVN: r65628
libstdc++/7680
* include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
Populate it with multiple legal ways to obtain the C99 float
transcendentals. Use them instead of direct global reference.
(C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
* docs/html/17_intro/porting.texi
(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
(_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
* config/os/bsd/freebsd/os_defines.h
(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
* testsuite/26_numerics/c_math_dynamic.cc: New file.
From-SVN: r65624