Rainer Orth [Wed, 19 May 2010 15:31:36 +0000 (15:31 +0000)]
configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as output, too.
* configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
output, too.
(libffi_cv_as_ascii_pseudo_op): Check for .ascii.
(libffi_cv_as_string_pseudo_op): Check for .string.
* configure: Regenerate.
* fficonfig.h.in: Regenerate.
* src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
From-SVN: r159570
Rainer Orth [Wed, 19 May 2010 15:31:00 +0000 (15:31 +0000)]
sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun assembler syntax.
libgcc:
* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
assembler syntax.
gcc:
* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
pentiumpro on Solaris 8/x86 with Sun as.
* configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
hidden alias bug.
(gcc_cv_as_ix86_quad): Check for .quad directive.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
From-SVN: r159569
Daniel Franke [Wed, 19 May 2010 13:07:25 +0000 (09:07 -0400)]
re PR fortran/42360 (intent(out)-dummy-not-set warning for types depends on order of component initializers)
gcc/fortran/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/42360
* gfortran.h (gfc_has_default_initializer): New.
* expr.c (gfc_has_default_initializer): New.
* resolve.c (has_default_initializer): Removed, use
gfc_has_default_initializer() instead. Updated all callers.
* trans-array.c (has_default_initializer): Removed, use
gfc_has_default_initializer() instead. Updated all callers.
* trans-decl.c (generate_local_decl): Do not check the
first component only to check for initializers, but use
gfc_has_default_initializer() instead.
gcc/testsuite/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/42360
* gfortran.dg/warn_intent_out_not_set.f90: New.
From-SVN: r159562
Daniel Franke [Wed, 19 May 2010 12:55:26 +0000 (08:55 -0400)]
re PR fortran/38404 (Warning message identifies incorrect line)
gcc/fortran/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/38404
* primary.c (match_string_constant): Move start_locus just inside
the string.
* data.c (create_character_intializer): Clarified truncation warning.
gcc/testsuite/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/38404
* gfortran.dg/data_char_1.f90: Updated warning message.
* gfortran.dg/data_array_6.f: New.
From-SVN: r159561
Martin Jambor [Wed, 19 May 2010 11:49:36 +0000 (13:49 +0200)]
ipa-prop.c (ipa_print_node_jump_functions): Print jump functions also for indirect edges.
2010-05-19 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
also for indirect edges. Actual printing moved...
(ipa_print_node_jump_functions_for_edge): ...here.
(ipa_compute_jump_functions): Renamed to
ipa_compute_jump_functions_for_edge and made static.
(ipa_compute_jump_functions): New function.
(make_edge_direct_to_target): Check if the number of arguments on
the newly direct edge is the same as the number of parametrs of
the callee.
* ipa-cp.c (ipcp_init_stage): Most functionality moved to new
ipa_compute_jump_functions. Call ipa_analyze_params_uses.
* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
analysis functions unconditionally, call the new
ipa_analyze_params_uses on the node instead of every edge.
* testsuite/g++.dg/ipa/ivinline-8.C: New test.
* testsuite/gcc.dg/ipa/iinline-2.c: New test.
From-SVN: r159559
Daniel Franke [Wed, 19 May 2010 11:43:53 +0000 (07:43 -0400)]
re PR fortran/34505 (FLOAT/SNGL: Not accepted as actual argument; diagnostics problems)
gcc/fortran/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34505
* intrinsic.h (gfc_check_float): New prototype.
(gfc_check_sngl): New prototype.
* check.c (gfc_check_float): New.
(gfc_check_sngl): New.
* intrinsic.c (add_functions): Moved DFLOAT from aliasing DBLE
to be a specific for REAL. Added check routines for FLOAT, DFLOAT
and SNGL.
* intrinsic.texi: Removed individual nodes of FLOAT, DFLOAT and SNGL,
added them to the list of specifics of REAL instead.
gcc/testsuite/:
2010-05-19 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34505
* gfortran.dg/dfloat_1.f90: Add warnings for non-default kind
arguments; add check for return value kind.
* gfortran.dg/float_1.f90: Likewise.
From-SVN: r159558
Christian Borntraeger [Wed, 19 May 2010 10:36:40 +0000 (10:36 +0000)]
tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step to tree.
2010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
* tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
to tree.
(dump_mem_ref): Adopt debug code to handle a tree as step. This
also checks for a constant int vs. non-constant but
loop-invariant steps.
(find_or_create_group): Change the sort algorithm to only consider
steps that are constant ints.
(idx_analyze_ref): Adopt code to handle a tree instead of a
HOST_WIDE_INT for step.
(gather_memory_references_ref): Handle tree instead of int and be
prepared to see a NULL_TREE.
(prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
prefetches if the step cannot be calculated at compile time.
(issue_prefetch_ref): Issue prefetches for non-constant but
loop-invariant steps.
From-SVN: r159557
Nathan Froyd [Wed, 19 May 2010 01:15:43 +0000 (01:15 +0000)]
* expr.c (pop_arguments): Fix use of undeclared variable.
From-SVN: r159555
Nathan Froyd [Wed, 19 May 2010 00:43:27 +0000 (00:43 +0000)]
Revert:
2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
* tree.h (build_call_list): Remove.
* tree.c (build_call_list): Remove.
From-SVN: r159554
GCC Administrator [Wed, 19 May 2010 00:18:01 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r159553
Eelis van der Weegen [Tue, 18 May 2010 23:58:50 +0000 (23:58 +0000)]
re PR libstdc++/44190 (Debug vector resize does not update capacity)
2010-05-18 Eelis van der Weegen <gcc-bugzilla@contacts.eelis.net>
PR libstdc++/44190
* include/debug/vector (vector<>::resize): Call
_M_update_guaranteed_capacity.
* testsuite/23_containers/vector/capacity/44190.cc: New.
From-SVN: r159549
Nathan Froyd [Tue, 18 May 2010 23:45:21 +0000 (23:45 +0000)]
tree.h (build_call_list): Remove.
gcc/
* tree.h (build_call_list): Remove.
* tree.c (build_call_list): Remove.
gcc/ada/
* gcc-interface/trans.c (call_to_gnu): Use build_call_vec instead of
build_call_list.
* gcc-interface/utils.c (build_function_stub): Likewise.
gcc/cp/
* tree.c (build_min_non_dep_call_vec): Update comment.
gcc/java/
* expr.c (expand_java_multianewarray): Use build_call_vec instead of
build_call_list.
(pop_arguments): Return a VEC instead of a tree. Take a method type
rather than a list of argument types.
(rewrite_rule): Change signature. of rewrite_arglist member.
(rewrite_arglist_getcaller): Update signature.
(rewrite_arglist_getclass): Likewise.
(maybe_rewrite_invocation): Update for rewrite_arglist change.
(build_known_method_ref): Take a VEC instead of a tree.
(invoke_build_dtable): Likewise.
(expand_invoke): Update calls to pop_arguments. Use build_call_vec
instead of build_call_list.
(build_jni_stub): Use build_call_vec instead of build_call_list.
* java-tree.h (maybe_rewrite_invocation): Update declaration.
(build_known_method_ref): Likewise.
(invoke_build_dtable): Likewise.
From-SVN: r159548
Jan Hubicka [Tue, 18 May 2010 22:37:32 +0000 (00:37 +0200)]
* ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
From-SVN: r159546
Vladimir Makarov [Tue, 18 May 2010 22:09:19 +0000 (22:09 +0000)]
re PR rtl-optimization/43332 (valgrind warns about using uninitialized variable with -fsched-pressure -fschedule-insns)
2010-05-18 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/43332
* haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
From-SVN: r159545
Anatoly Sokolov [Tue, 18 May 2010 20:54:59 +0000 (00:54 +0400)]
tree.h (build_int_cstu): Implement as static inline.
* tree.h (build_int_cstu): Implement as static inline.
* tree.c (build_int_cstu): Remove function.
(double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
sign extended.
From-SVN: r159544
Rainer Orth [Tue, 18 May 2010 19:05:09 +0000 (19:05 +0000)]
20011009-1.c (COMMENT): Define.
* gcc.target/i386/
20011009-1.c (COMMENT): Define.
(main): Use it.
* gcc.target/i386/pr25993.c [__sun__]: Use .globl.
* lib/lto.exp (lto_prune_warns): Fix location line regex.
Prune another location line format.
(lto-obj): Call lto_prune_warns on comp_output.
From-SVN: r159538
Richard Guenther [Tue, 18 May 2010 15:11:01 +0000 (15:11 +0000)]
re PR lto/44143 (-fdump-tree-all for lto does not work as expected)
2010-05-18 Richard Guenther <rguenther@suse.de>
PR lto/44143
* lto-wrapper.c (verbose): New variable. Initialize from -v.
(debug): Initialize from -save-temps.
(collect_execute): Print command-line when verbose.
(run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
for ltrans invocation. Produce -dumpbase flag again.
(process_args): Remove.
(main): Simplify.
* collect2.c (maybe_run_lto_and_relink): Only pass object
files to lto-wrapper.
* gcc.c (LINK_COMMAND_SPEC): Likewise.
From-SVN: r159536
Jan Hubicka [Tue, 18 May 2010 14:37:30 +0000 (16:37 +0200)]
ipacp_0.c: New test.
* gcc.dg/lto/ipacp_0.c: New test.
* gcc.dg/lto/ipacp_1.c: New test.
* opts.c (decode_options): Do not disable whopr at ipa_cp.
* ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
From-SVN: r159535
Steven Bosscher [Tue, 18 May 2010 14:13:10 +0000 (14:13 +0000)]
fix broken checkin, test should be link not assemble
From-SVN: r159533
Steven Bosscher [Tue, 18 May 2010 13:51:50 +0000 (13:51 +0000)]
re PR lto/44184 ("asm goto" does not work with LTO)
gcc/
PR lto/44184
* lto-streamer-out.c (output_gimple_stmt): Output number of labels
in a GIMPLE_ASM.
* lto-streamer-in.c (input_gimple_stmt): Read number of labels
in a GIMPLE_ASM.
testsuite/
PR lto/44184
* gcc.dg/lto/20100518_0.c: New test.
From-SVN: r159531
Jakub Jelinek [Tue, 18 May 2010 09:35:52 +0000 (11:35 +0200)]
re PR debug/41371 (var-tracking is slow and memory hungry)
PR debug/41371
* var-tracking.c (find_loc_in_1pdv): Add a few checks from
rtx_equal_p inline.
From-SVN: r159528
Steven Bosscher [Tue, 18 May 2010 08:12:56 +0000 (08:12 +0000)]
add lto to powerpc-*darwin and enable for 32bit darwin
Steven Bosscher <steven@gcc.gnu.org>
ChangeLog:
* configure.ac (--enable-lto): All *-apple-darwin* now support LTO.
* configure: Regenerate.
gcc/ChangeLog:
* config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
lto-macho as lto_binary_reader.
* darwin.c (darwin_asm_named_section): Do not add assembler comment
after .section directive; just print it before the directive instead.
M gcc/config.gcc
M gcc/config/darwin.c
M ChangeLog
M gcc/ChangeLog
From-SVN: r159527
Eric Botcazou [Tue, 18 May 2010 07:10:11 +0000 (07:10 +0000)]
* gnat.dg/specs/lto3.ads: Add missing dg-options.
From-SVN: r159525
GCC Administrator [Tue, 18 May 2010 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159523
Jan Hubicka [Mon, 17 May 2010 23:12:14 +0000 (01:12 +0200)]
cgraph.c (cgraph_create_virtual_clone): Only check versionable_function_p when not in wpa and checking is enabled.
* cgraph.c (cgraph_create_virtual_clone): Only check
versionable_function_p when not in wpa and checking is enabled.
* cgrpahunit.c (cgraph_materialize_all_clones): Stabilize after
there are no more functions to materialize.
* lto/lto.c (lto_1_to_1_map): Partition non-inline clones.
(lto_promote_cross_file_statics): Deal with non-inline clones.
From-SVN: r159518
Jan Hubicka [Mon, 17 May 2010 23:02:47 +0000 (01:02 +0200)]
cgraph.h (struct ipa_replace_map): Add parm_num parameter.
* cgraph.h (struct ipa_replace_map): Add parm_num parameter.
* lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
New functions.
(output_cgraph): Call output_cgraph_opt_summary.
(input_cgrpah): Call input_cgraph_opt_summary.
(output_cgraph_opt_summary_p, output_node_opt_summary,
input_node_opt_summary, input_cgraph_opt_section): New functions.
* lto-section-in.c (lto_section_name): Add cgraphopt.
* tree-inline.c (tree_function_versioning): Handle parm_num.
* lto-streamer.c (lto_get_section_name): Handle cgraphopt.
* lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
From-SVN: r159517
Jan Hubicka [Mon, 17 May 2010 22:42:02 +0000 (00:42 +0200)]
lto.c (lto_materialize_function): Announce function when reading body...
* lto.c (lto_materialize_function): Announce function when
reading body; allocate_struct_function only when reading body;
do not finalize local statics; ggc_collect after reading;
do not mark reachable node.
(materialize_cgraph): Do not announce function.
From-SVN: r159516
Changpeng Fang [Mon, 17 May 2010 22:34:03 +0000 (22:34 +0000)]
Also apply the insn to prefetch ratio heuristic to loops with known trip count.
2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
* doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
* tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
the insn to prefetch ratio heuristic to loops with known trip count.
From-SVN: r159515
Changpeng Fang [Mon, 17 May 2010 22:33:53 +0000 (22:33 +0000)]
Define PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO heuristic.
2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
* tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
(schedule_prefetches): Do not generate a prefetch if the unroll factor
is far from what is required by the prefetch.
From-SVN: r159514
Jan Hubicka [Mon, 17 May 2010 22:13:07 +0000 (00:13 +0200)]
ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
* ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
(ipcp_estimate_growth): Likewise.
(ipcp_const_param_count): Likewise.
(ipcp_insert_stage): Likewise.
* ipa-prop.c (visit_load_for_mod_analysis): New function.
(visit_store_addr_for_mod_analysis): Set used flag.
(ipa_detect_param_modifications): Set used flag for SSE params;
update use of walk_stmt_load_store_addr_ops.
(ipa_print_node_params): Print used flag.
(ipa_write_node_info): Stream used flag.
(ipa_read_node_info): Likewise.
* ipa-prop.h (struct ipa_param_descriptor): Add used field.
(ipa_is_param_used): New function.
(lto_ipa_fixup_call_notes): Remove unused declaration.
From-SVN: r159513
Rainer Orth [Mon, 17 May 2010 20:28:56 +0000 (20:28 +0000)]
re PR target/44074 (Solaris 2.9 x86 Sun assembler doesn't like rep/lock prefixes on same line)
PR target/44074
* configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/i386.c (print_operand) <case ;>: Also print ; if
!HAVE_AS_IX86_REP_LOCK_PREFIX.
Don't emit whitespace.
* config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
(*rep_movsi): Likewise.
(*rep_movsi_rex64): Likewise.
(*rep_movqi): Likewise.
(*rep_movqi_rex64): Likewise.
(*rep_stosdi_rex64): Likewise.
(*rep_stossi): Likewise.
(*rep_stossi_rex64): Likewise.
(*rep_stosqi): Likewise.
(*rep_stosqi_rex64): Likewise.
(*cmpstrnqi_nz_1): Use {%;} after repz.
(*cmpstrnqi_nz_rex_1): Likewise.
(*cmpstrnqi_1): Likewise.
(*cmpstrnqi_rex_1): Likewise.
(*strlenqi_1): Use {%;} after repnz.
(*strlenqi_rex_1): Likewise.
* config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
(*sync_compare_and_swap<mode>): Likewise.
(sync_double_compare_and_swap<mode>): Likewise.
(*sync_double_compare_and_swapdi_pic): Likewise.
(sync_old_add<mode>): Likewise.
(sync_add<mode>): Likewise.
(sync_sub<mode>): Likewise.
(sync_<code><mode>): Likewise.
From-SVN: r159512
Janus Weil [Mon, 17 May 2010 19:58:48 +0000 (21:58 +0200)]
re PR fortran/43990 ([OOP] ICE in output_constructor_regular_field, at varasm.c:4995)
2010-05-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/43990
* trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code.
This is now handled via 'gfc_class_null_initializer'.
2010-05-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/43990
* gfortran.dg/class_21.f03: New.
From-SVN: r159511
Jason Merrill [Mon, 17 May 2010 19:54:05 +0000 (15:54 -0400)]
call.c (struct z_candidate): Add explicit_targs field.
* call.c (struct z_candidate): Add explicit_targs field.
(add_template_candidate_real): Set it.
(build_over_call): Use it to control init-list warning.
From-SVN: r159510
Jason Merrill [Mon, 17 May 2010 19:53:55 +0000 (15:53 -0400)]
re PR c++/44157 ([C++0x] GCC wrongly takes a std::initializer_list argument as non-deduced context)
PR c++/44157
* call.c (build_over_call): Limit init-list deduction warning to
cases where the argument is actually an init-list.
From-SVN: r159509
Jason Merrill [Mon, 17 May 2010 19:53:45 +0000 (15:53 -0400)]
re PR c++/44158 ([C++0x] wrong overload resolution for copy-initialization from an rvalue)
PR c++/44158
* call.c (build_over_call): Don't do bitwise copy for move ctor.
From-SVN: r159508
Martin Jambor [Mon, 17 May 2010 19:43:40 +0000 (21:43 +0200)]
cgraph.h (cgraph_indirect_call_info): New fields anc_offset, otr_token and polymorphic.
2010-05-17 Martin Jambor <mjambor@suse.cz>
* cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
otr_token and polymorphic.
* cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
(cgraph_clone_edge): Copy the above fields.
* tree.c (get_binfo_at_offset): New function.
* tree.h (get_binfo_at_offset): Declare.
* ipa-prop.h (enum jump_func_type): Added known_type jump function
type, reordered items, updated comments.
(union jump_func_value): Added base_type field, reordered fields.
(enum ipa_lattice_type): Moved down in the file.
(struct ipa_param_descriptor): New field polymorphic.
(ipa_is_param_polymorphic): New function.
* ipa-prop.c: Include gimple.h and gimple-fold.h.
(ipa_print_node_jump_functions): Print known type jump functions.
(compute_complex_pass_through): Renamed to...
(compute_complex_assign_jump_func): this.
(compute_complex_ancestor_jump_func): New function.
(compute_known_type_jump_func): Likewise.
(compute_scalar_jump_functions): Create known type and complex ancestor
jump functions.
(ipa_note_param_call): New parameter polymorphic, set the corresponding
flag in the call note accordingly.
(ipa_analyze_call_uses): Renamed to...
(ipa_analyze_indirect_call_uses): this. New parameter target, define
variable var only in the block where it is used.
(ipa_analyze_virtual_call_uses): New function.
(ipa_analyze_call_uses): Likewise.
(combine_known_type_and_ancestor_jfs): Likewise.
(update_jump_functions_after_inlining): Implemented handling of a
number of new jump function types combination.
(print_edge_addition_message): Removed.
(make_edge_direct_to_target): New function.
(try_make_edge_direct_simple_call): Likewise.
(try_make_edge_direct_virtual_call): Likewise.
(update_call_notes_after_inlining): Renamed to...
(update_indirect_edges_after_inlining): this. Moved edge creation for
indirect calls to try_make_edge_direct_simple_call, also calls
try_make_edge_direct_virtual_call for virtual calls.
(ipa_print_node_params): Changed the header message.
(ipa_write_jump_function): Stream also known type jump functions.
(ipa_read_jump_function): Likewise.
(ipa_write_indirect_edge_info): Stream new fields in
cgraph_indirect_call_info.
(ipa_read_indirect_edge_info): Likewise.
* Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
GIMPLE_FOLD_H.
* testsuite/g++.dg/ipa/ivinline-1.C: New test.
* testsuite/g++.dg/ipa/ivinline-2.C: New test.
* testsuite/g++.dg/ipa/ivinline-3.C: New test.
* testsuite/g++.dg/ipa/ivinline-4.C: New test.
* testsuite/g++.dg/ipa/ivinline-5.C: New test.
* testsuite/g++.dg/ipa/ivinline-6.C: New test.
From-SVN: r159507
Janus Weil [Mon, 17 May 2010 18:45:32 +0000 (20:45 +0200)]
class.c (gfc_add_component_ref,gfc_class_null_initializer, [...]): Moved here from other places.
2010-05-17 Janus Weil <janus@gcc.gnu.org>
* class.c (gfc_add_component_ref,gfc_class_null_initializer,
gfc_build_class_symbol,add_proc_component,add_proc_comps,
add_procs_to_declared_vtab1,copy_vtab_proc_comps,
add_procs_to_declared_vtab,add_generic_specifics,
add_generics_to_declared_vtab,gfc_find_derived_vtab,
find_typebound_proc_uop,gfc_find_typebound_proc,
gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
gfc_get_tbp_symtree): Moved here from other places.
* expr.c (gfc_add_component_ref,gfc_class_null_initializer): Move to
class.c.
* gfortran.h (gfc_build_class_symbol,gfc_find_derived_vtab,
gfc_find_typebound_proc,gfc_find_typebound_user_op,
gfc_find_typebound_intrinsic_op,gfc_get_tbp_symtree,
gfc_add_component_ref, gfc_class_null_initializer): Moved to class.c.
* Make-lang.in: Add class.o.
* symbol.c (gfc_build_class_symbol,add_proc_component,add_proc_comps,
add_procs_to_declared_vtab1,copy_vtab_proc_comps,
add_procs_to_declared_vtab,add_generic_specifics,
add_generics_to_declared_vtab,gfc_find_derived_vtab,
find_typebound_proc_uop,gfc_find_typebound_proc,
gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
gfc_get_tbp_symtree): Move to class.c.
From-SVN: r159506
Rainer Orth [Mon, 17 May 2010 18:19:17 +0000 (18:19 +0000)]
Forgot ChangeLog entry for last commit.
From-SVN: r159504
Rainer Orth [Mon, 17 May 2010 18:18:08 +0000 (18:18 +0000)]
* config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
From-SVN: r159503
Nathan Froyd [Mon, 17 May 2010 18:16:27 +0000 (18:16 +0000)]
tree.h (CALL_EXPR_ARGS): Delete.
* tree.h (CALL_EXPR_ARGS): Delete.
(call_expr_arglist): Delete.
* tree.c (call_expr_arglist): Delete.
* builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
targetm.fold_builtin.
* config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
* config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
arglist parameter. Use CALL_EXPR_ARG.
(picochip_expand_builtin_3op): Likewise.
(picochip_expand_builtin_2opvoid): Likewise.
(picochip_expand_array_get): Likewise.
(picochip_expand_array_put): Likewise.
(picochip_expand_array_testport): Likewise.
(picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
rather than arglist.
* config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
CALL_EXPR_ARGS.
* config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
than TREE_VALUE and TREE_CHAIN.
* config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
* doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
the arglist.
From-SVN: r159502
Dodji Seketeli [Mon, 17 May 2010 17:24:32 +0000 (17:24 +0000)]
re PR c++/44108 (-Wunused-but-set-variable does not consider array sizing use of a const variable)
PR c++/44108
* decl.c (compute_array_index_type): Call mark_rvalue_use.
* c-c++-common/Wunused-var-8.c: New test.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r159497
Jakub Jelinek [Mon, 17 May 2010 17:19:46 +0000 (19:19 +0200)]
re PR bootstrap/42347 (sched-deps.c:3840:1: internal compiler error: in fixup_reorder_chain, at cfglayout.c:796)
PR bootstrap/42347
* cfglayout.c (fixup_reorder_chain): Allow returnjump_p
to have no fallthru edge.
* gcc.c-torture/compile/pr42347.c: New test.
From-SVN: r159496
Jakub Jelinek [Mon, 17 May 2010 17:18:24 +0000 (19:18 +0200)]
re PR middle-end/44102 (ICE with asm goto + __builtin_unreachable () in C++)
PR middle-end/44102
* cfgcleanup.c (try_optimize_cfg): When removing trivially empty
bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
add BARRIER after previous bb if needed.
* g++.dg/ext/asmgoto1.C: New test.
From-SVN: r159495
Nathan Froyd [Mon, 17 May 2010 16:28:51 +0000 (16:28 +0000)]
fix ChangeLog entries for previous commits
From-SVN: r159494
Nathan Froyd [Mon, 17 May 2010 16:10:31 +0000 (16:10 +0000)]
fix bogus email for myself
From-SVN: r159492
Nathan Froyd [Mon, 17 May 2010 16:09:35 +0000 (16:09 +0000)]
tree.c (build_function_type_list_1): Remove bogus assert condition.
gcc/
* tree.c (build_function_type_list_1): Remove bogus assert condition.
gcc/fortran/
* trans-types.c (gfc_init_types): Use build_function_type_list.
(gfc_get_ppc_type): Likewise.
* trans-decl.c (gfc_generate_constructors): Likewise.
* f95-lang.c (build_builtin_fntypes): Likewise.
(gfc_init_builtin_functions): Likewise.
(DEF_FUNCTION_TYPE_0): Likewise.
(DEF_FUNCTION_TYPE_1): Likewise.
(DEF_FUNCTION_TYPE_2): Likewise.
(DEF_FUNCTION_TYPE_3): Likewise.
(DEF_FUNCTION_TYPE_4): Likewise.
(DEF_FUNCTION_TYPE_5): Likewise.
(DEF_FUNCTION_TYPE_6): Likewise.
(DEF_FUNCTION_TYPE_7): Likewise. Use ARG7.
(DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list.
From-SVN: r159491
Nathan Froyd [Mon, 17 May 2010 16:03:46 +0000 (16:03 +0000)]
trans-array.c (gfc_trans_array_constructor_value): Use build_constructor instead of build_constructor_from_list.
* trans-array.c (gfc_trans_array_constructor_value): Use
build_constructor instead of build_constructor_from_list.
(gfc_build_constant_array_constructor): Likewise.
* trans-decl.c (create_main_function): Likewise.
* trans-stmt.c (gfc_trans_character_select): Likewise.
From-SVN: r159490
Alan Modra [Mon, 17 May 2010 13:34:23 +0000 (23:04 +0930)]
rs6000.c (rs6000_emit_allocate_stack): Delete unnecessary prototype.
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
unnecessary prototype. Replace copy_r12 and copy_r11 flag params
with copy_reg rtx param.
(rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
Correct cases where code for ABI_V4 did not initialise the reg
used to access frame. Also leave frame_reg_rtx as sp for large
frames that save no regs.
From-SVN: r159483
Martin Jambor [Mon, 17 May 2010 12:48:34 +0000 (14:48 +0200)]
re PR middle-end/44133 (Uninit warning regression with new SRA)
2010-05-17 Martin Jambor <mjambor@suse.cz>
PR middle-end/44133
* tree-sra.c (create_access_replacement): New parameter rename, mark
the replaement for renaming only when it is true.
(get_access_replacement): Pass true in the rename parameter of
create_access_replacement.
(get_unrenamed_access_replacement): New function.
(replace_uses_with_default_def_ssa_name): New parameter racc, get the
replacement declaration from it.
* testsuite/gcc.dg/tree-ssa/pr44133.c: New test.
* testsuite/gcc.dg/tree-ssa/sra-9.c: Make the scan regular
expression more precise.
From-SVN: r159482
Bernd Schmidt [Mon, 17 May 2010 11:16:00 +0000 (11:16 +0000)]
function.c (try_fit_stack_local, [...]): New static functions.
* function.c (try_fit_stack_local, add_frame_space): New static
functions.
(assign_stack_local_1): Use them. Look for opportunities to use
space previously wasted on alignment.
* function.h (struct frame_space): New.
(struct rtl_data): Add FRAME_SPACE_LIST member.
* reload1.c (something_was_spilled): New static variable.
(alter_reg): Set it.
(reload): Test it in addition to testing if the frame size changed.
From-SVN: r159480
Paolo Carlini [Mon, 17 May 2010 10:19:31 +0000 (10:19 +0000)]
functional (result_of): Move...
2010-05-17 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/functional (result_of): Move...
* include/std/type_traits: ... here.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
From-SVN: r159478
Janus Weil [Mon, 17 May 2010 08:25:06 +0000 (10:25 +0200)]
re PR fortran/44044 ([OOP] SELECT TYPE with class-valued function)
2010-05-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/44044
* resolve.c (resolve_fl_var_and_proc): Move error messages here from ...
(resolve_fl_variable_derived): ... this place.
(resolve_symbol): Make sure function symbols (and their result
variables) are not resolved twice.
2010-05-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/44044
* gfortran.dg/class_20.f03: New.
From-SVN: r159476
Christian Borntraeger [Mon, 17 May 2010 07:53:20 +0000 (07:53 +0000)]
re PR middle-end/44078 (FAIL: gcc.dg/tree-ssa/prefetch-7.c)
2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
PR 44078
* gcc.dg/tree-ssa/prefetch-7.c: Change pattern to match only the old
debug messages but not the newly introduced one.
From-SVN: r159475
Christian Borntraeger [Mon, 17 May 2010 07:52:27 +0000 (07:52 +0000)]
s390.c: Define sane prefetch settings and activate flag_prefetch_loop_arrays on -O3.
2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
* config/s390/s390.c: Define sane prefetch settings and activate
flag_prefetch_loop_arrays on -O3.
* config/s390/s390.h: Declare that read can use write prefetch.
From-SVN: r159474
Jakub Jelinek [Mon, 17 May 2010 07:32:44 +0000 (09:32 +0200)]
lto-streamer-out.c (lto_output): Fix --enable-checking=release build.
* lto-streamer-out.c (lto_output): Fix --enable-checking=release
build.
From-SVN: r159473
Jan Hubicka [Mon, 17 May 2010 07:01:26 +0000 (09:01 +0200)]
ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of function body...
* ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
function body; do not check stdarg field of struct function.
From-SVN: r159472
GCC Administrator [Mon, 17 May 2010 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r159471
Jan Hubicka [Sun, 16 May 2010 22:24:26 +0000 (00:24 +0200)]
cgraph.c (dump_cgraph_node): Dump versionable flag.
* cgraph.c (dump_cgraph_node): Dump versionable flag.
* cgraph.h (cgraph_local_info): Add versionable flag.
* ipa-cp.c (ipcp_analyze_node): Set versionable flag.
(ipcp_versionable_function_p): Use it.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
versionable flag.
From-SVN: r159467
Jan Hubicka [Sun, 16 May 2010 21:49:36 +0000 (23:49 +0200)]
cgraph.c (cgraph_clone_node): Take decl argument and insert clone into hash when it is different from orig.
* cgraph.c (cgraph_clone_node): Take decl argument and insert
clone into hash when it is different from orig.
(cgraph_create_virtual_clone): Update use of cgraph_clone_node.
* cgraph.h (cgraph_clone_node): Update prototype.
* lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
(lto_cgraph_encoder_delete): Delete body map.
(lto_cgraph_encoder_size): Move to header.
(lto_cgraph_encoder_encode_body_p, lto_set_cgraph_encoder_encode_body): New.
(lto_output_node): Do not take written_decls argument; output clone_of
pointer.
(add_node_to): Add include_body_argument; call
lto_set_cgraph_encoder_encode_body on master of the clone.
(add_references): Update use of add_node_to.
(compute_ltrans_boundary): Likewise.
(output_cgraph): Do not create written_decls bitmap.
(input_node): Take nodes argument; stream in clone_of correctly.
(input_cgraph_1): Update use of input_node.
* lto-streamer-out.c (lto_output): Use encoder info to decide
what bodies to output.
* ipa-inline.c (cgraph_clone_inlined_nodes,
cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
* lto-streamer.h (lto_cgraph_encoder_d): Add body.
(lto_cgraph_encoder_size): Define here.
(lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
Declare.
From-SVN: r159466
Daniel Franke [Sun, 16 May 2010 20:01:06 +0000 (16:01 -0400)]
re PR fortran/35779 (error pointer wrong in PARAMETER)
gcc/fortran/:
2010-05-16 Daniel Franke <franke.daniel@gmail.com>
PR fortran/35779
* array.c (match_array_list): Revert functional change of 2010-05-13.
gcc/fortran/:
2010-05-16 Daniel Franke <franke.daniel@gmail.com>
PR fortran/35779
* gfortran.dg/initialization_25.f90: Commented testcase.
* gfortran.dg/initialization_26.f90: New.
From-SVN: r159465
Richard Guenther [Sun, 16 May 2010 19:56:44 +0000 (19:56 +0000)]
invoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape.
2010-05-16 Richard Guenther <rguenther@suse.de>
* doc/invoke.texi (-fipa-struct-reorg): Do not mention
-fipa-type-escape.
* ipa-type-escape.c (gate_type_escape_vars): Run when
-fipa-struct-reorg runs.
* opts.c (decode_options): Do not unset flag_ipa_type_escape.
* common.opt (fipa-type-escape): Remove.
* gcc.dg/pr43317.c: Do not pass -fipa-type-escape.
* gcc.dg/pr43084.c: Likewise.
* gcc.dg/pr42250.c: Pass -fipa-struct-reorg instead of
-fipa-type-escape.
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not pass
-fipa-type-escape.
* gcc.dg/struct/struct-reorg.exp: Likewise.
* gcc.dg/struct/wo_prof_empty_str.c: Likewise.
* gcc.dg/struct/wo_prof_escape_return.c: Likewise.
From-SVN: r159464
Eric Botcazou [Sun, 16 May 2010 18:46:16 +0000 (18:46 +0000)]
opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
* opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
(decode_options): Likewise.
* Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
From-SVN: r159463
Richard Guenther [Sun, 16 May 2010 17:27:09 +0000 (17:27 +0000)]
trans-decl.c (module_htab_decls_hash): Revert last change.
2010-05-16 Richard Guenther <rguenther@suse.de>
* trans-decl.c (module_htab_decls_hash): Revert last change.
From-SVN: r159462
Jan Hubicka [Sun, 16 May 2010 17:26:55 +0000 (19:26 +0200)]
ipa.c (function_and_variable_visibility): Also bring local all aliases.
* ipa.c (function_and_variable_visibility): Also bring local all
aliases.
From-SVN: r159461
Richard Guenther [Sun, 16 May 2010 17:15:30 +0000 (17:15 +0000)]
alias.c (nonoverlapping_memrefs_p): Remove use of IPA type-escape information.
2010-05-16 Richard Guenther <rguenther@suse.de>
* alias.c (nonoverlapping_memrefs_p): Remove use of
IPA type-escape information.
From-SVN: r159460
Joseph Myers [Sun, 16 May 2010 16:55:16 +0000 (17:55 +0100)]
c-common.c (c_common_reswords): Add _Static_assert for C.
* c-common.c (c_common_reswords): Add _Static_assert for C.
* c-parser.c (c_token_starts_declaration,
c_parser_next_token_starts_declaration,
c_parser_static_assert_declaration_no_semi,
c_parser_static_assert_declaration): New.
(c_parser_declaration_or_fndef): Add parameter static_assert_ok.
Handle static assertions if static_assert_ok.
(c_parser_external_declaration, c_parser_declaration_or_fndef,
c_parser_compound_statement_nostart, c_parser_label,
c_parser_for_statement, c_parser_objc_methodprotolist,
c_parser_omp_for_loop): All callers of
c_parser_declaration_or_fndef changed.
(c_parser_struct_declaration): Handle static assertions.
(c_parser_compound_statement_nostart): Use
c_parser_next_token_starts_declaration and
c_token_starts_declaration to detect start of declarations.
(c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
Likewise.
testsuite:
* gcc.dg/c1x-static-assert-1.c, gcc.dg/c1x-static-assert-2.c,
gcc.dg/c1x-static-assert-3.c, gcc.dg/c1x-static-assert-4.c,
gcc.dg/c1x-static-assert-5.c, gcc.dg/c1x-static-assert-6.c,
gcc.dg/c90-static-assert-1.c, gcc.dg/c99-static-assert-1.c: New
tests.
From-SVN: r159459
Anatoly Sokolov [Sun, 16 May 2010 16:51:40 +0000 (20:51 +0400)]
mmix.h (FUNCTION_VALUE, [...]): Remove macros.
* config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
* config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
TARGET_FUNCTION_VALUE_REGNO_P): Define.
(mmix_function_outgoing_value): Rename to...
(mmix_function_value): ...this. Make static. Add 'outgoing' argument.
(mmix_function_value_regno_p): Make static.
(mmix_libcall_value): New function.
* config/mmix/mmix-protos.h (mmix_function_outgoing_value,
mmix_function_value_regno_p): Remove declaration.
From-SVN: r159458
Eric Botcazou [Sun, 16 May 2010 15:20:47 +0000 (15:20 +0000)]
tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on BUILT_IN_ALLOCA if stack checking is enabled.
* tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
BUILT_IN_ALLOCA if stack checking is enabled.
From-SVN: r159457
Richard Guenther [Sun, 16 May 2010 14:58:34 +0000 (14:58 +0000)]
var-tracking.c (vars_copy_1): Inline ...
2010-05-16 Richard Guenther <rguenther@suse.de>
* var-tracking.c (vars_copy_1): Inline ...
(vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
(variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
(variable_merge_over_cur): Adjust. Merge asserts.
(variable_merge_over_src): Likewise.
(dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
(variable_post_merge_new_vals): Merge asserts.
(variable_post_merge_perm_vals): Likewise.
(find_mem_expr_in_1pdv): Likewise.
(dataflow_set_different_value): Remove.
(onepart_variable_different_p): Merge asserts.
(variable_different_p): Likewise.
(dataflow_set_different_1): Inline ...
(dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
(emit_notes_for_differences_1): Merge asserts.
From-SVN: r159456
Richard Guenther [Sun, 16 May 2010 14:47:38 +0000 (14:47 +0000)]
lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
2010-05-16 Richard Guenther <rguenther@suse.de>
* lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
* optabs.c (libfunc_decl_hash): Likewise.
* varasm.c (emutls_decl): Likewise.
fortran/
* trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.
From-SVN: r159455
Manuel López-Ibáñez [Sun, 16 May 2010 10:30:39 +0000 (10:30 +0000)]
misc.c (gnat_handle_option): Remove special logic for Wuninitialized without -O.
2010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
ada/
* gcc-interface/misc.c (gnat_handle_option): Remove special logic
for Wuninitialized without -O.
fortran/
* options.c (set_Wall): Remove special logic for Wuninitialized
without -O.
From-SVN: r159454
Uros Bizjak [Sun, 16 May 2010 10:03:01 +0000 (12:03 +0200)]
pass46-frag.c (dg-options): Remove -Wall.
* testsuite/libmudflap.c/pass46-frag.c (dg-options): Remove -Wall.
From-SVN: r159453
Eric Botcazou [Sun, 16 May 2010 09:11:39 +0000 (09:11 +0000)]
gigi.h (enum standard_datatypes): Add new value ADT_exception_data_name_id.
* gcc-interface/gigi.h (enum standard_datatypes): Add new value
ADT_exception_data_name_id.
(exception_data_name_id): New define.
* gcc-interface/trans.c (gigi): Initialize it.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard
exception type for standard exception definitions. Do not make them
volatile.
<E_Record_Type>: Equate fields of types associated with an exception
definition to those of the standard exception type.
From-SVN: r159452
Steven Bosscher [Sun, 16 May 2010 07:12:46 +0000 (07:12 +0000)]
c-decl.c: Don't include gimple.h.
* c-decl.c: Don't include gimple.h.
(merge_decls): Do not copy gimple_body.
From-SVN: r159451
Jason Merrill [Sun, 16 May 2010 02:27:02 +0000 (22:27 -0400)]
c.opt: Add -fnothrow-opt.
gcc:
* c.opt: Add -fnothrow-opt.
gcc/cp:
* cp-tree.h (TYPE_NOEXCEPT_P): New macro.
* except.c (begin_eh_spec_block): Use MUST_NOT_THROW_EXPR if
TYPE_NOEXCEPT_P.
(finish_eh_spec_block): Adjust.
From-SVN: r159450
GCC Administrator [Sun, 16 May 2010 00:16:54 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r159449
Janus Weil [Sat, 15 May 2010 22:03:09 +0000 (00:03 +0200)]
re PR fortran/44154 (initialization problem with allocatable scalars)
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/44154
PR fortran/42647
* trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
if branches.
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/44154
PR fortran/42647
* gfortran.dg/allocatable_scalar_9.f90: New.
From-SVN: r159445
Jan Hubicka [Sat, 15 May 2010 20:48:58 +0000 (22:48 +0200)]
ipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.
* ipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.
* passes.c (ipa_write_summaries): Write all analyzed nodes.
From-SVN: r159444
Jakub Jelinek [Sat, 15 May 2010 20:23:59 +0000 (22:23 +0200)]
re PR c++/44148 (C++ genericization/gimplification may clobber templare arguments)
PR c++/44148
* pt.c (tsubst): Unshare template argument.
* g++.dg/torture/pr44148.C: New test.
From-SVN: r159443
Steven Bosscher [Sat, 15 May 2010 20:02:11 +0000 (20:02 +0000)]
vecir.h: New file with VEC primitives for tree, gimple, and rtl.
gcc/ChangeLog
* vecir.h: New file with VEC primitives for tree, gimple, and rtl.
* Makefile.in: Add it.
Fix all other Makefile dependencies for changes below.
* tree.h: Include it instead of defining VEC primitives here.
* gimple.h: Likewise.
* rtl.h: Likewise.
* tree-inline.h: Inlclude vecir.h instead of gimple.h.
* except.h: Include vecir.h, break dependence on tree.h.
* gimplify.c (append_to_statement_list_1, append_to_statement_list):
Move from here...
* tree-iterator.c: ...to here.
* tree-iterator.h: Fix file introduction comment. Add extern markers.
* c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
tm_p.h.
* c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
* c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
tree-mudflap.h, and target.h.
* c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
predict.h, tree-inline.h, gimple.h, and langhooks.h.
* c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
Add FIXME for why gimple.h is still included (should be unnecessary
since GCC 4.5 gimplification unit-at-a-time).
* c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
* c-pragma.c: Add FIXME for why function.h needs to be included just
for cfun, at front-end level.
Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
Do not include ggc.h, but include vecprim.h for VEC(char).
* c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
Explain why target.h is included.
* c-omp.h: Do not include tm.h, function.h, and bitmap.h.
Explain why gimple.h is included.
* c-ppoutput.c: Do not include tm.h.
* c-common.c: Do not include gimple.h. Explain why expr.h is included.
* c-parses.c: Explain why rtl.h is included, and that this (and only
this) is also why tm.h must be included.
Do not include except.h.
* c-lang.c: Do not include ggc.h.
cp/ChangeLog
* decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
* Make-lang.in: Fix dependencies accordingly.
From-SVN: r159442
Uros Bizjak [Sat, 15 May 2010 19:58:30 +0000 (21:58 +0200)]
targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
* targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
From-SVN: r159441
Uros Bizjak [Sat, 15 May 2010 19:19:48 +0000 (21:19 +0200)]
mfdg.exp (additional_prunes): New global.
* testsuite/lib/mfdg.exp (additional_prunes): New global.
(dg-test): Clear additional_prunes before test is run.
(dg-prune-output): New procedure.
* testsuite/lib/libmudflap.exp (libmudflap-dg-test): Do not call
prune_gcc_output.
(libmudflap-dg-prune): New procedure.
* testsuite/libmudflap.c++/pass57-frag.cxx (dg-prune-output):
New dg directive.
From-SVN: r159440
Joseph Myers [Sat, 15 May 2010 19:07:01 +0000 (20:07 +0100)]
c-decl.c (grokfield): Allow typedefs for anonymous structs and unions by default if...
* c-decl.c (grokfield): Allow typedefs for anonymous structs and
unions by default if those structs and unions have no tags. Do
not condition anonymous struct and unions handling on flag_iso.
Allow anonymous structs and unions for C1X.
(finish_struct): Do not diagnose lack of named fields when
anonymous structs and unions present for C1X. Accept flexible
array members in structure with anonymous structs or unions but no
directly named fields.
* doc/extend.texi (Unnamed Fields): Update.
testsuite:
* gcc.dg/c1x-anon-struct-1.c, gcc.dg/c1x-anon-struct-2.c,
gcc.dg/c90-anon-struct-1.c, gcc.dg/c99-anon-struct-1.c: New tests.
* gcc.dg/
20080820.c, gcc.dg/anon-struct-1.c: Update expected
diagnostics and type sizes.
From-SVN: r159439
Eric Botcazou [Sat, 15 May 2010 19:05:06 +0000 (19:05 +0000)]
gimple.h (compare_field_offset): Rename into...
* gimple.h (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this.
* gimple.c (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this. Compare the full access if
the offset is self-referential.
(gimple_types_compatible_p): Adjust for above renaming.
* lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
DECL_NONADDRESSABLE_P flag of fields before merging them.
From-SVN: r159438
Nathan Froyd [Sat, 15 May 2010 18:41:11 +0000 (18:41 +0000)]
tree.h (ctor_to_list): Delete.
* tree.h (ctor_to_list): Delete.
* tree.c (ctor_to_list): Delete.
From-SVN: r159437
Jan Hubicka [Sat, 15 May 2010 17:06:48 +0000 (19:06 +0200)]
ipareference_1.c: Rename to ...
* gcc.dg/lto/ipareference_1.c: Rename to ...
* gcc.dg/lto/ipareference_0.c: ... this one.
* gcc.dg/lto/ipareference_2.c: Rename to ...
* gcc.dg/lto/ipareference_1.c: ... this one.
From-SVN: r159436
Jan Hubicka [Sat, 15 May 2010 16:57:35 +0000 (18:57 +0200)]
ipa-reference.c: Include toplev.h
* ipa-reference.c: Include toplev.h
(is_proper_for_analysis): Only add to all_module_statics
if it is allocated.
(write_node_summary_p, stream_out_bitmap,
ipa_reference_write_optimization_summary,
ipa_reference_read_optimization_summary): New.
(struct ipa_opt_pass_d pass_ipa_reference): Add
optimization summary streaming.
* lto-cgraph.c (referenced_from_this_partition_p,
reachable_from_this_partition_p): New functions.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
* opts.c (decode_options): Enable ipa_reference.
* Makefile.in (ipa-reference.o): Add toplev.h dependency.
* lto-streamer.h (referenced_from_this_partition_p,
reachable_from_this_partition_p): Declare.
* gcc.dg/lto/ipareference_1.c: New file.
* gcc.dg/lto/ipareference_2.c: New file.
From-SVN: r159435
Richard Guenther [Sat, 15 May 2010 15:06:47 +0000 (15:06 +0000)]
re PR other/44038 (ICE: verify_stmts failed)
2010-05-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44038
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
taking the address of a V_C_E of a constant.
* gcc.c-torture/compile/pr44038.c: New testcase.
From-SVN: r159434
H.J. Lu [Sat, 15 May 2010 13:54:44 +0000 (13:54 +0000)]
Add -std=c99 to avx-cmpsd-1.c and avx-cmpss-1.c.
2010-05-15 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/avx-cmpsd-1.c: Add -std=c99.
* gcc.target/i386/avx-cmpss-1.c: Likewise.
From-SVN: r159432
Janus Weil [Sat, 15 May 2010 13:52:33 +0000 (15:52 +0200)]
re PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non-polymorphic expressions)
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/43207
PR fortran/43969
* gfortran.h (gfc_class_null_initializer): New prototype.
* expr.c (gfc_class_null_initializer): New function to build a NULL
initializer for CLASS pointers.
* symbol.c (gfc_build_class_symbol): Modify internal naming of class
containers. Remove default NULL initialization of $data component.
* trans.c (gfc_allocate_array_with_status): Fix wording of an error
message.
* trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
Use new function 'gfc_class_null_initializer'.
* trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
class variables.
2010-05-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/43207
PR fortran/43969
* gfortran.dg/class_18.f03: New.
* gfortran.dg/class_19.f03: New.
From-SVN: r159431
Jan Hubicka [Sat, 15 May 2010 09:46:55 +0000 (11:46 +0200)]
tree.h (memory_identifier_string): Remove.
* tree.h (memory_identifier_string): Remove.
* ipa-reference.c: Update comment; do not include gt-ipa-reference.h
(ipa_reference_global_vars_info_d): Remove statics_not_read and
statics_not_written.
(ipa_reference_optimization_summary_d): New structure.
(ipa_reference_optimization_summary_t): New type and vector.
(ipa_reference_vars_info_d): Embedd structures instead of using
pointers.
(reference_vars_to_consider): Remove out of GGC space.
(module_statics_escape): Remove.
(global_info_obstack): Rename to ...
(optimization_summary_obstack): ... this one.
(initialization_status_t): Remove.
(memory_identifier_string): Remove.
(get_reference_vars_info): Fix indenting.
(set_reference_vars_info): Likewise.
(get_reference_optimization_summary): New.
(set_reference_optimization_summary): New.
(get_global_reference_vars_info): Remove.
(ipa_reference_get_read_global): Remove.
(ipa_reference_get_written_global): Remove.
(ipa_reference_get_not_read_global): Update.
(ipa_reference_get_not_written_global): Update.
(is_proper_for_analysis): Outlaw addressable.
(propagate_bits): Update for new datastructures.
(analyze_variable): Remove.
(init_function_info): Update for new datastructures.
(clean_function_local_data): Remove.
(clean_function): Remove.
(copy_global_bitmap): Use optimizations_summary_obstack.
(duplicate_node_data): Duplicate optimization summary only.
(remove_node_data): Remove optimization summary only.
(generate_summary): Do not analyze variables; do not compute
module_statics_escape; do not prune solutions by it.
(read_write_all_from_decl): Fix typos in comments.
(propagate): Doscover readonly and nonaddressable first;
update for new datastructures; share global bitmaps.
* ipa-reference.h (ipa_reference_get_read_global,
ipa_reference_get_written_global): Remove.
* ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
* Makefile.in: Remove ipa-refereference from GT files.
From-SVN: r159430
Jakub Jelinek [Sat, 15 May 2010 06:01:20 +0000 (08:01 +0200)]
re PR debug/44112 (Revision 159354 causes Fortran test failures)
PR debug/44112
* dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
for all SYMBOL_REF_DECLs.
* gcc.dg/debug/dwarf2/const-1.c: Remove.
* g++.dg/debug/dwarf2/const1.C: Remove.
From-SVN: r159429
Jason Merrill [Sat, 15 May 2010 02:22:37 +0000 (22:22 -0400)]
C++ DR 475
C++ DR 475
* except.c (build_throw): Simplify, adjust for DR 475.
From-SVN: r159428
Joseph Myers [Sat, 15 May 2010 01:06:29 +0000 (02:06 +0100)]
* fi.po: New.
From-SVN: r159426
GCC Administrator [Sat, 15 May 2010 00:17:02 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r159425
Jan Hubicka [Fri, 14 May 2010 23:39:39 +0000 (01:39 +0200)]
cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
(varpool_all_refs_explicit_p): New inline function.
* ipa-reference.c: Update comment.
(module_statics_written): Remove.
(get_static_decl): Remove.
(ipa_init): Do not initialize module_statics_written.
(analyze_function): Likewise.
(generate_summary): Likewise; do not compute module_statics_readonly
and do not update variable flags.
(propagate): Call ipa_discover_readonly_nonaddressable_vars.
* ipa.c: Inlucde flags.h
(cgraph_local_node_p): New.
(cgraph_remove_unreachable_nodes): Return early when not optimizing;
promote functions to local.
(ipa_discover_readonly_nonaddressable_vars): New function.
(function_and_variable_visibility): Use cgraph_local_node_p.
* varpool.c (varpool_finalize_decl): Set force_output for
DECL_PRESERVE_P vars.
From-SVN: r159421
Steven G. Kargl [Fri, 14 May 2010 21:02:26 +0000 (21:02 +0000)]
re PR fortran/44135 (Negative array bounds lead to spurious warning)
2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/44135
* gfortran.dg/actual_array_interface_2.f90: New test.
2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/44135
* fortran/interface.c (get_sym_storage_size): Use signed instead of
unsigned mpz_get_?i routines.
From-SVN: r159415
Nathan Froyd [Fri, 14 May 2010 20:47:39 +0000 (20:47 +0000)]
re PR middle-end/44103 (New Java test failures)
PR 44103
* java-tree.h (START_RECORD_CONSTRUCTOR): Change first argument to a
vector. Move call to build_constructor...
(FINISH_RECORD_CONSTRUCTOR): ...here. Add necessary arguments. Clear
TREE_CONSTANT on the constructor.
(PUSH_SUPER_VALUE): Change first argument to a vector.
(PUSH_FIELD_VALUE): Likewise.
* resource.c (compile_resource_data): Update calls to above macros.
* constants.c (build_constants_constructor): Likewise.
* class.c (build_utf8_ref): Likewise.
(make_field_value): Likewise.
(make_method_value): Likewise.
(add_table_and_syms): New function.
(make_class_data): Call it. Update calls to above macros.
(build_symbol_table_entry): New function.
(build_symbol_entry): Call it. Update calls to above macros.
(emit_symbol_table): Likewise.
(make_catch_class_record): Update calls to above macros.
(build_assertion_table_entry): New function.
(add_assertion_table_entry): Call it.
(emit_assertion_table): Likewise.
From-SVN: r159414
Jan Hubicka [Fri, 14 May 2010 20:38:43 +0000 (22:38 +0200)]
* ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
From-SVN: r159413
Richard Guenther [Fri, 14 May 2010 20:18:34 +0000 (20:18 +0000)]
re PR tree-optimization/44119 (error: SSA name in freelist but still referenced)
2010-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44119
* tree-ssa-pre.c (eliminate): Properly mark replacement of
a PHI node necessary.
* gcc.c-torture/compile/pr44119.c: New testcase.
From-SVN: r159412