PR middle-end/32135
* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct
references above array bounds. This might trigger bounds checks for
pointers to arrays.
From-SVN: r131502
2008-01-12 Sebastian Pop <sebastian.pop@amd.com>
* tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
new_replaceable_dependencies.
From-SVN: r131501
ChangeLog:
2008-01-12 Doug Kwan <dougkwan@google.com>
* c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
instead of OPT_Wreturn_type in warning due to ignored return type
qualifiers.
* c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
options included in -Wextra.
* c.opt: New option -Wignored_qualifiers.
* doc/invoke.texi (Warning Options, -Wextra): Add new option
-Wignore_qualifiers.
(-Wignored-qualifiers): Document.
(-Wreturn-type): Remove description of functionality now handled
by -Wignored-qualifiers.
cp/ChangeLog:
2008-01-12 Doug Kwan <dougkwan@google.com>
* decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
instead of OPT_Wreturn_type in warning due to ignored return type
qualifiers.
* pt.c: (tsubst_function_type): Use OPT_Wignored_qualifiers
instead of OPT_Wreturn_type in warning due to ignored return type
qualifiers.
testsuite/ChangeLog:
2008-01-12 Doug Kwan <dougkwan@google.com>
* gcc.dg/qual-return-1.c: Add -Wignored-qualifiers.
* g++.dg/warn/Wreturn-type-4.C: Replace -Wreturn-type by
-Wignored-qualifiers.
From-SVN: r131499
* utils.c (aggregate_type_contains_array_p): New predicate.
(create_field_decl): In a packed record, force byte alignment
for fields without specified position that contain an array.
From-SVN: r131498
PR ada/33788
* fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Fold an existing
NOP_EXPR if it is between integral types with the same precision.
From-SVN: r131493
2008-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34432
* match.c (gfc_match_name): Don't error if leading character is a '(',
just return MATCH_NO.
From-SVN: r131488
2008-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/34722
* match.c (gfc_match_name): Don't error if leading character is a '(',
just return MATCH_NO.
From-SVN: r131487
* config/avr/avr.c (expand_prologue, expand_epilogue): Don't
save/restore frame pointer register and don't use 'call-prologues'
optimization in function with "OS_task" attribute.
From-SVN: r131474
2008-01-11 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34537
* simplify.c (gfc_simplify_transfer): Return NULL if the size
of the element is unavailable and only assign character length
to the result, if 'mold' is constant.
2008-01-11 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34537
* gfortran.dg/transfer_simplify_8.f90: New test.
From-SVN: r131470
2008-01-11 Steven Bosscher <stevenb.gcc@gmail.com>
PR rtl-optimization/30905
* cfgcleanup.c: Include dce.h
(crossjumps_occured): New global variable.
(try_crossjump_bb): Exit loop after finding a fallthru edge.
If something changed, set crossjumps_occured to true.
(try_optimize_cfg): Clear crossjumps_occured at the beginning.
Don't add/remove fake edges to exit here...
(cleanup_cfg): ...but do it here, when crossjumping.
Run a fast DCE when successful crossjumps occured in the latest
iteration of try_optimize_cfg.
From-SVN: r131468
gcc/ChangeLog
PR rtl-optimization/27971
* combine.c (find_split_point): introduced a new split for certain
types of mem rtx.
gcc/testsuite/ChangeLog
PR rtl-optimization/27971
* gcc.target/i386/pr27971.c: New testcase.
From-SVN: r131460
PR ada/34466
* s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for
sysconf call.
(bit_field): New packed boolean type used by cpu_set_t.
(cpu_set_t): New type corresponding to the C type with
the same name. Note that on the Ada side we use a bit
field array for the affinity mask. There is not need
for the C macro for setting individual bit.
(pthread_setaffinity_np): New imported routine.
From-SVN: r131457
* config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from...
(m32c_hard_regno_nregs): ...this, which is now a wrapper.
(m32c_hard_regno_ok): Call the underlying function.
From-SVN: r131449
2008-01-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34396
* trans-array.c (gfc_trans_array_ctor_element): Use gfc_trans_string_copy
to assign strings and perform bounds checks on the string length.
(get_array_ctor_strlen): Remove bounds checking.
(gfc_trans_array_constructor): Initialize string length checking.
* trans-array.h : Add prototype for gfc_trans_string_copy.
2008-01-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34396
* gfortran.dg/bounds_check_12.f90: New test.
From-SVN: r131448
2008-01-10 Richard Guenther <rguenther@suse.de>
PR middle-end/34683
* tree-cfg.c (tree_merge_blocks): Do not go through the
full-blown folding and stmt updating path if we just deal
with virtual operands.
* tree-ssa-copy.c (may_propagate_copy): Do not short-cut
test for abnormal SSA_NAMEs.
From-SVN: r131446
2008-01-10 Andreas Krebbel <krebbel1@de.ibm.com>
PR middle-end/34641
* reload.c (push_reload): Add assertions. All constants from
reg_equiv_constant should have been used for replacing the respective
pseudo earlier.
(find_reloads_address): Invoke find_reloads_address_part for
constant taken from the reg_equiv_constant array.
2008-01-10 Andreas Krebbel <krebbel1@de.ibm.com>
PR middle-end/34641
* g++.dg/torture/pr34641.C: New testcase.
From-SVN: r131445
2008-01-10 Steven Bosscher <stevenb.gcc@gmail.com>
* tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed
field (valnum) the first in the struct. Replace bools with
unit bit fields.
From-SVN: r131444
2008-01-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34651
* tree-sra.c (sra_build_assignment): Sanitize. Use the correct
types and ordering for masking and converting.
* g++.dg/torture/pr34651.C: New testcase.
From-SVN: r131442
2008-01-09 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/34017
* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
also for PHI_NODE expressions.
* gcc.dg/tree-ssa/pr34017.c: New.
From-SVN: r131435
PR tree-optimization/34708
* tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR
based on number of case labels.
(init_inline_once): Remove switch_cost.
* tree-inline.h (eni_weights_d): Remove switch_cost.
From-SVN: r131433
2008-01-09 Richard Guenther <rguenther@suse.de>
Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/30132
* gimplify.c (gimplify_cond_expr): Do not create an addressable
temporary if an rvalue is ok or an lvalue is not required.
* gcc.c-torture/compile/pr30132.c: New testcase.
Co-Authored-By: Andrew Pinski <andrew_pinski@playstation.sony.com>
From-SVN: r131430
2008-01-09 Richard Guenther <rguenther@suse.de>
PR middle-end/34679
* tree.c (host_integerp): Check for sizetype only if the
type is an integer type.
From-SVN: r131425