2006-05-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/22303
* tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads
from STRING_CSTs.
(evaluate_stmt): Fall back to fold_const_aggregate_ref, if
ccp_fold did not simplify the statement.
* gcc.dg/tree-ssa/ssa-ccp-13.c: New testcase.
From-SVN: r113826
PR middle-end/27573
* omp-low.c (expand_omp_parallel): Don't assert
.OMP_DATA_I = &.OMP_DATA_O is the first statement in the block,
instead search for it.
* gcc.dg/gomp/pr27573.c: New test.
* gfortran.dg/gomp/pr27573.f90: New test.
From-SVN: r113823
PR c/27499
* gimplify.c (gimplify_omp_for): Remove assertion that iteration var
is signed.
* gcc.dg/gomp/pr27499.c: New test.
* g++.dg/gomp/pr27499.C: New test.
From-SVN: r113822
PR c++/27339
* cp-tree.h (perform_access_checks): New function.
* semantics.c (perform_access_checks): New function.
(perform_deferred_access_checks): Use it.
* parser.c (cp_parser_simple_declaration): Adjust call to
cp_parser_init_declarator.
(cp_parser_type_parameter): Do not defer checks in default
arguments.
(cp_parser_explicit_specialization): Adjust call to
cp_parser_single_declaration.
(cp_parser_init_declarator): Perform template-parameter access
checks.
(cp_parser_parameter_declaration): Do not defer checks for
template parameter default arguments.
(cp_parser_template_declaration_after_export): Gather access
checks for template parameters, and pass them to
cp_parser_single_declaration.
(cp_parser_template_parameter_access_checks): New function.
(cp_parser_single_declaration): Add checks parameter.
PR c++/27339
* g++.dg/parser/access8.C: Adjust error marker.
* g++.dg/template/access17.C: New test.
* g++.dg/template/access18.C: Likewise.
From-SVN: r113819
PR target/26600
* config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
integer constants other than zero are only legitimate on TARGET_64BIT.
<CONST_VECTOR> Only zero vectors are legitimate.
(ix86_cannot_force_const_mem): Integral and vector constants can
always be put in the constant pool.
* gcc.target/i386/pr26600.c: New test case.
From-SVN: r113818
PR c++/27505
* call.c (convert_like_real): Convert bitfields to their declared
types when forming an rvalue.
* tree.c (convert_bitfield_to_declared_type): New function.
(rvalue): Use it.
* cp-tree.h (convert_bitfield_to_declare_type): Declare it.
PR c++/27505
* g++.dg/expr/bitfield1.C: New test.
From-SVN: r113803
2006-05-15 Andreas Tobler <a.tobler@schweiz.ch>
* stacktrace.cc (StackTrace::FillInFrameInfo): Use
UNWRAP_FUNCTION_DESCRIPTOR to compare frame->start_ip against the
klass->methods[j].ncode.
From-SVN: r113801
PR tree-optimization/26830
* tree-into-ssa.c (struct ssa_name_info): Add age field.
(info_for_ssa_name, current_info_for_ssa_name_age,
blocks_to_update): New variables.
(get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
(clear_ssa_name_info, initialize_flags_in_bb,
mark_block_for_update): New functions.
(mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
(insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
prepare_def_site_for): Use mark_block_for_update.
(mark_def_interesting): Assert that the processed block is marked in
blocks_to_update. Do not take blocks argument.
(prepare_use_sites_for, prepare_names_to_update): Do not take blocks
argument.
(rewrite_update_init_block, rewrite_update_stmt): Only process
blocks with statements to rewrite.
(delete_update_ssa): Do not clear SSA_NAME_AUX.
(update_ssa): Initialize and free blocks_to_update. Do not
clear flags on statements. Do not use blocks bitmap.
* tree.h (SSA_NAME_AUX): Removed.
(struct tree_ssa_name): Removed aux field.
* print-tree.c (print_node): Do not print SSA_NAME_AUX.
From-SVN: r113799
2006-05-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/27603
* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
Do computations in original type.
* gcc.dg/torture/pr27603.c: New testcase.
From-SVN: r113797
2006-05-15 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25090
* resolve.c: Static resolving_index_expr initialized.
(entry_parameter): New function to emit errors for variables
that are not entry parameters.
(gfc_resolve_expr): Call entry_parameter, when resolving
variables, if the namespace has entries and resolving_index_expr
is set.
(resolve_charlen): Set resolving_index_expr before the call to
resolve_index_expr and reset it afterwards.
(resolve_fl_variable): The same before and after the call to
is_non_constant_shape_array, which ultimately makes a call to
gfc_resolve_expr.
PR fortran/25082
* resolve.c (resolve_code): Add error condition that the return
expression must be scalar.
PR fortran/24711
* matchexp.c (gfc_get_parentheses): New function.
(match_primary): Remove inline code and call above.
* gfortran.h: Provide prototype for gfc_get_parentheses.
* resolve.c (resolve_array_ref): Call the above, when start is a
derived type variable array reference.
2006-05-15 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25090
* gfortran.dg/entry_dummy_ref_1.f90: New test.
PR fortran/25082
* gfortran.dg/scalar_return_1.f90: New test.
PR fortran/24711
* gfortran.dg/derived_comp_array_ref_1.f90: New test.
From-SVN: r113796
2006-05-15 Mircea Namolaru <namolaru@il.ibm.com>
* see.c: Code style changes such as redundant paranthesis,
redundant intialization of local variables etc.
(see_main): Declared now as static.
* doc/invoke.texi: Update that -fsee is not enabled by
default at -O3.
From-SVN: r113792
PR middle-end/27416
* omp-low.c (build_outer_var_ref): If VAR is reference in orphaned
construct, return *VAR.
* libgomp.fortran/pr27416-1.f90: New test.
From-SVN: r113788
PR c++/27315
* pt.c (do_decl_instantiation): Return early on invalid decl.
* g++.dg/template/operator6.C: New test.
* g++.dg/template/incomplete3.C: New test.
From-SVN: r113778
PR rtl-optimization/22563
* expmed.c (store_fixed_bit_field): When using AND and IOR to store
a fixed width bitfield, always force the intermediates into psuedos.
From-SVN: r113762
* dwarf2out.c (dbx_reg_number): Check return value from
LEAF_REG_REMAP and only use it if it is valid.
(multiple_reg_loc_descriptor): Likewise.
From-SVN: r113756
* df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
information attached to non-INSNs such as NOTEs.
(df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
From-SVN: r113748