* builtins.c (fold_builtin_fabs): Convert argument to the appropriate
type as args of unprototyped builtins aren't automatically promoted.
(fold_builtin_abs): Likewise.
From-SVN: r93220
2005-01-11 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (override_options): Return error if
-mbackchain, -mpacked-stack and -mhard-float are used together.
(s390_va_start): Remove the backchain && packed-stack special case.
(s390_gimplify_va_arg): Likewise.
* doc/invoke.texi: Remove the ABI incompatibility note.
From-SVN: r93182
PR target/18916
* builtins.c (std_gimplify_va_arg_expr): Adjust alignment of *ap.
* expr.h (struct locate_and_pad_arg_data): Add "boundary".
* function.c (locate_and_pad_parm): Set new field.
(assign_parm_find_stack_rtl): Use it instead of FUNCTION_ARG_BOUNDARY.
Tweak where_pad test to include "none". Always set mem align for
stack_parm.
(assign_parm_adjust_stack_rtl): Discard stack_parm if alignment
not sufficient for type.
(assign_parm_setup_block): If stack_parm is zero on entry, always
make a new stack local. Block move old stack parm if necessary
to new aligned stack local.
(assign_parm_setup_stack): Use a block move to handle
potentially misaligned entry_parm.
(assign_parms_unsplit_complex): Specify required alignment when
creating stack local.
* calls.c (compute_argument_addresses): Override alignment of stack
arg calculated from its type with the alignment given by
FUNCTION_ARG_BOUNDARY.
(store_one_arg): Likewise.
From-SVN: r93179
Patch from David Mosberger to fix -fno-omit-frame-pointer bug.
PR target/18987
* config/ia64/ia64.c (process_set): For alloc insn, only call
process_epilogue is !frame_pointer_needed.
From-SVN: r93174
PR c++/19355
* c-common.c (c_common_truthvalue_conversion): TRUTH_NOT_EXPR is a
unary operator and can't be treated as a binary/comparison operator.
* g++.dg/expr/pr19355-1.C: New test case.
From-SVN: r93159
* config/i386/i386.c (ix86_function_value): Use type_natural_mode.
(ix86_return_in_memory): Likewise.
(function_arg_advance): Likewise. Mirror structure in function_arg
for choosing register to advance.
From-SVN: r93156
gcc/
2005-01-10 Jan Beulich <jbeulich@novell.com>
* config/ia64/ia64.c (ia64_in_small_data_p): Also handle the section
names resulting from -ffunction-sections/-fdata-sections and linkonce
ones.
* varasm.c (default_section_type_flags_1): Also set SECTION_SMALL
based on the section name. Rearrange the section name comparison logic
slightly so that each section name is compared against at most once.
From-SVN: r93134
PR target/18720
* collect2.c (main): Set aixrtl_flag for -brtl option.
(resolve_lib_name): Search for .so file extension before .a
if aixrtl_flag set.
From-SVN: r93119
2005-01-09 Ira Rosen <irar@il.ibm.com>
* tree-vectorizer.c (vect_analyze_offset_expr): Use
expr_invariant_in_loop_p.
Initialize outputs first thing in the function.
(vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num.
(vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
(vect_analyze_pointer_ref_access): Check that the initial condition of
the access function is loop invariant.
From-SVN: r93113
2005-01-08 Jeff Law <law@redhat.com>
Diego Novillo <dnovillo@redhat.com>
* tree-nrv.c (tree_nrv): Ignore volatile return values.
* tree-ssa-dse.c (dse_optimize_stmt): Do not optimize
statements with volatile operands.
* tree-ssa-operands.c (add_stmt_operand): Do add volatile
operands after marking a statement with has_volatile_ops.
testsuite/ChangeLog:
2005-01-08 Diego Novillo <dnovillo@redhat.com>
* gcc.dg/pr18241-1.c: New test.
* gcc.dg/pr18241-2.c: New test.
* gcc.dg/pr18241-3.c: New test.
* gcc.dg/pr18241-4.c: New test.
* gcc.dg/pr18241-5.c: New test.
From-SVN: r93088
PR tree-optimization/19283
* fold-const.c (fold_widened_comparison): Return NULL if shorter_type
is not shorter than the original type.
* gcc.c-torture/execute/20050106-1.c: New test.
From-SVN: r93043
PR rtl-optimization/18861
* cfgbuild.c (BLOCK_USED_BY_TABLEJUMP): Define.
(FULL_STATE): Define.
(mark_tablejump_edge): New function.
(purge_dead_tablejump_edges): New function.
(find_bb_boundaries): Use it.
* gcc.dg/20050105-1.c: New test.
From-SVN: r93041
PR tree-optimization/18828
* builtins.c (expand_builtin_next_arg): Remove argument and all
the argument checking.
(expand_builtin): Adjust caller.
(expand_builtin_va_start): Likewise. Remove error for too many
arguments.
(fold_builtin_next_arg): Issue error for too many arguments.
After checking arguments, replace them with magic arguments that
prevent further checking of the args.
* gcc.dg/20050105-2.c: New test.
From-SVN: r93040
PR target/6077
* gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...}
and %{.S:...} (and their negative variants) to test whether the
input file is assembler or pre-processed-assembler independent of
the actual filename extension.
From-SVN: r93023