gcc.git
15 years agotree.c (iterative_hash_pointer): Delete.
Alexandre Oliva [Tue, 12 May 2009 05:43:51 +0000 (05:43 +0000)]
tree.c (iterative_hash_pointer): Delete.

* tree.c (iterative_hash_pointer): Delete.
(iterative_hash_expr): Short-circuit handling of NULL pointer.
Hash UIDs and versions of SSA names.  Don't special-case built-in
function declarations.

From-SVN: r147414

15 years agore PR bootstrap/40103 (CLooG header files are not -Wc++-compat ready)
Ian Lance Taylor [Tue, 12 May 2009 01:26:45 +0000 (01:26 +0000)]
re PR bootstrap/40103 (CLooG header files are not -Wc++-compat ready)

PR bootstrap/40103
* graphite.c: Force -Wc++-compat to only be a warning before
#including "cloog/cloog.h".

From-SVN: r147407

15 years agoDaily bump.
GCC Administrator [Tue, 12 May 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147404

15 years agore PR tree-optimization/38632 (ICE with try/catch and -ftree-parallelize-loops)
H.J. Lu [Tue, 12 May 2009 00:09:17 +0000 (00:09 +0000)]
re PR tree-optimization/38632 (ICE with try/catch and -ftree-parallelize-loops)

2009-05-11  H.J. Lu  <hongjiu.lu@intel.com>

PR tree-optimization/38632
* g++.dg/tree-ssa/pr38632.C: New.

From-SVN: r147401

15 years agoipa-cp.c (ipcp_cloning_candidate_p): Add missing return false.
Martin Jambor [Mon, 11 May 2009 20:58:08 +0000 (22:58 +0200)]
ipa-cp.c (ipcp_cloning_candidate_p): Add missing return false.

2009-05-11  Martin Jambor  <mjambor@suse.cz>

* ipa-cp.c (ipcp_cloning_candidate_p): Add missing return false.

From-SVN: r147396

15 years agopr21829.c: Simplify matching since we now optimize better.
Jan Hubicka [Mon, 11 May 2009 20:54:56 +0000 (22:54 +0200)]
pr21829.c: Simplify matching since we now optimize better.

* gcc.dg/tree-ssa/pr21829.c: Simplify matching since
we now optimize better.
* gcc.dg/Wunreachable-8.c: Bogus warnings now come
out at different places.
* gcc.dg/vect/vect-92.c: Increase loop iteration count to prevent
unroling.
* gcc.dg/vect/vect-76.c: Likewise.
* gcc.dg/vect/vect-70.c: Likewise.
* gcc.dg/vect/vect-66.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-66.c: Likewise.
* gcc.dg/vect/slp-3.c: One of loops gets now fully unrolled.
* tree-ssa-loop-ivcanon.c: Include target.h
(struct loop_size): new structure.
(constant_after_peeling): New predicate.
(tree_estimate_loop_size): New function.
(estimated_unrolled_size): Rewrite for new estimates.
(try_unroll_loop_completely): Use new estimates.
* Makefile.in (tree-ssa-loop-ivcanon.o): Add dependenc on target.h

From-SVN: r147395

15 years agospu-c.c (spu_categorize_keyword): Update for recent libcpp interface change.
Andrew Pinski [Mon, 11 May 2009 19:14:08 +0000 (19:14 +0000)]
spu-c.c (spu_categorize_keyword): Update for recent libcpp interface change.

2009-05-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config/spu/spu-c.c (spu_categorize_keyword): Update for recent
        libcpp interface change.
        (spu_macro_to_expand): Likewise.

From-SVN: r147393

15 years agore PR middle-end/40080 (error: missing callgraph edge for call stmt)
H.J. Lu [Mon, 11 May 2009 16:37:07 +0000 (16:37 +0000)]
re PR middle-end/40080 (error: missing callgraph edge for call stmt)

2009-05-11  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/40080
* gcc.c-torture/compile/pr40080.c: New.

From-SVN: r147389

15 years agore PR middle-end/40026 (ICE during gimplify_init_constructor)
Paolo Bonzini [Mon, 11 May 2009 16:05:45 +0000 (16:05 +0000)]
re PR middle-end/40026 (ICE during gimplify_init_constructor)

2009-05-11  Paolo Bonzini  <bonzini@gnu.org>

PR tree-optimization/40026
* gimplify.c (gimplify_init_constructor): Change initial conditional
to assertion.  Rewrite TREE_OPERAND (*expr_p, 1) after
optimize_compound_literals_in_ctor.

testsuite:
2009-05-11  Paolo Bonzini  <bonzini@gnu.org>

* gcc.c-torture/compile/pr40026.c: New testcase.

From-SVN: r147386

15 years agom68k-devices.def (52274, [...]): New devices.
Nathan Sidwell [Mon, 11 May 2009 15:46:54 +0000 (15:46 +0000)]
m68k-devices.def (52274, [...]): New devices.

* config/m68k/m68k-devices.def (52274, 52277, 5301x, 5225x, 51xx):
New devices.
* doc/invoke.texi (M680x0 Options): Document new coldfire cpus.

From-SVN: r147383

15 years ago* resolve.c (check_host_association): Initialize tail.
Steve Ellcey [Mon, 11 May 2009 15:23:25 +0000 (15:23 +0000)]
* resolve.c (check_host_association): Initialize tail.

From-SVN: r147381

15 years agore PR fortran/40089 (Public type with public component which has a private type)
Janus Weil [Mon, 11 May 2009 14:14:38 +0000 (16:14 +0200)]
re PR fortran/40089 (Public type with public component which has a private type)

2009-05-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40089
* resolve.c (resolve_fl_derived): Only return FAILURE if
gfc_notify_std fails.

2009-05-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40089
* gfortran.dg/proc_ptr_comp_7.f90: New.

From-SVN: r147379

15 years agotree-vect-data-refs.c (vect_analyze_group_access): Use HOST_WIDE_INT for gap.
H.J. Lu [Mon, 11 May 2009 13:51:14 +0000 (13:51 +0000)]
tree-vect-data-refs.c (vect_analyze_group_access): Use HOST_WIDE_INT for gap.

2009-05-11  H.J. Lu  <hongjiu.lu@intel.com>

* tree-vect-data-refs.c (vect_analyze_group_access): Use
HOST_WIDE_INT for gap.

From-SVN: r147375

15 years agore PR tree-optimization/40074 (ICE in vect_get_vec_def_for_operand, at tree-vect...
Ira Rosen [Mon, 11 May 2009 12:33:13 +0000 (12:33 +0000)]
re PR tree-optimization/40074 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:944)

PR tree-optimization/40074
* tree-vect-data-refs.c (vect_analyze_group_access): Take gaps into
account in group size and step comparison.

From-SVN: r147372

15 years agopasses.c (init_optimization_passes): Strip now incorrect comment.
Richard Guenther [Mon, 11 May 2009 12:19:00 +0000 (12:19 +0000)]
passes.c (init_optimization_passes): Strip now incorrect comment.

2009-05-11  Richard Guenther  <rguenther@suse.de>

* passes.c (init_optimization_passes): Strip now incorrect comment.
(execute_function_todo): Do not set PROP_alias.
* tree-pass.h (PROP_alias): Remove.
* tree-ssa-structalias.c (pass_build_alias): Do not provide PROP_alias.
* tree-if-conv.c (pass_if_conversion): Do not require PROP_alias.
* tree-nrv.c (pass_return_slot): Likewise.
* tree-object-size.c (pass_object_sizes): Likewise.
* tree-ssa-dom.c (pass_dominator): Likewise.
(pass_phi_only_cprop): Likewise.
* tree-ssa-dse.c (pass_dse): Likewise.
* tree-ssa-phiopt.c (pass_phiopt): Likewise.
(pass_cselim): Likewise.
* tree-ssa-pre.c (pass_pre): Likewise.
(pass_fre): Likewise.
* tree-ssa-reassoc.c (pass_reassoc): Likewise.
* tree-ssa-sink.c (pass_sink_code): Likewise.
* tree-stdarg.c (pass_stdarg): Likewise.
* tree-tailcall.c (pass_tail_calls): Likewise.
* tree-vrp.c (pass_vrp): Likewise.

From-SVN: r147371

15 years agobasic-block.h (enum profile_status): Break out of struct control_flow_graph.
Ian Lance Taylor [Mon, 11 May 2009 01:02:40 +0000 (01:02 +0000)]
basic-block.h (enum profile_status): Break out of struct control_flow_graph.

./: * basic-block.h (enum profile_status): Break out of struct
control_flow_graph.
* cgraph.h (struct inline_summary): Break out of struct
cgraph_local_info.
* cgraphunit.c (enum cgraph_order_sort_kind): New enum, broken out
of struct cgraph_order_sort.
* combine.c (enum undo_kind): New enum, broken out of struct
undo.
* cse.c (struct branch_path): Break out of struct
cse_basic_block_data.
* except.h (enum eh_region_type): Break out of struct eh_region.
* gcc.c (enum add_del): Break out of struct modify_target.
* genrecog.c (enum decision_type): Break out of struct
decision_test.
* ggc-page.c (struct ggc_pch_ondisk): Break out of struct
ggc_pch_data.
* matrix-reorg.c (struct free_info): Break out of struct
matrix_info.
* regmove.c (enum match_use): New enum, broken out of struct
match.
* sched-int.h (enum post_call_group): New enum, broken out of
struct deps.
(struct deps_reg): Break out of struct deps.
* target.h (struct asm_int_op): Break out of struct gcc_target.
* tree-eh.c (struct goto_queue_node): Break out of struct
leh_tf_state.
* tree-inline.h (enum copy_body_cge_which): Break out of
copy_body_data.
* tree-pass.h (enum opt_pass_type): Break out of struct opt_pass.

* c-decl.c (in_struct, struct_types): New static variables.
(pushtag): Add loc parameter.  Change all callers.
(lookup_tag): Add ploc parameter.  Change all callers.
(check_compound_literal_type): New function.
(parser_xref_tag): Add loc parameter.  Change all callers.  If
-Wc++-compat, warn about struct/union/enum types defined within a
struct or union.
(start_struct): Add enclosing_in_struct, enclosing_struct_types,
and loc parameters.  Change all callers.  Change error calls to
error_at, using loc.  For a redefinition, if the location of the
original definition is known, report it.  Set in_struct and
struct_types.  If -Wc++-compat warn if in sizeof, typeof, or
alignof.
(finish_struct): Add new parameters enclosing_in_struct and
enclosing_struct_types.  Change all callers.  Set
C_TYPE_DEFINED_IN_STRUCT for all struct/union/enum types defined
in the struct.  If in a struct, add this struct to struct_types.
(start_enum): Add loc parameter.  Change all callers.  Use
error_at for errors, using loc.  For a redefinition, if the
location of the original definition is known, report it.  If in a
struct, add this enum type to struct_types.  If -Wc++-compat warn
if in sizeof, typeof, or alignof.
* c-parser.c (disable_extension_diagnostics): Disable
-Wc++-compat.
(enable_extension_diagnostics): Reenable -Wc++-compat if
appropriate.
(c_parser_enum_specifier): Get enum location for start_enum.
(c_parser_struct_or_union_specifier): Get struct location for
start_struct.  Save in_struct and struct_types status between
start_struct and finish_struct.
(c_parser_cast_expression): Get location of cast.
(c_parser_alignof_expression): Get location of type.
(c_parser_postfix_expression): Likewise.
(c_parser_postfix_expression_after_paren_type): Add type_loc
parameter.  Change all callers.  Call
check_compound_literal_type.  Use type_loc for error about
variable size type.
* c-typeck.c (build_external_ref): If -Wc++-compat, warn about a
use of an enum constant from an enum type defined in a struct or
union.
(c_cast_expr): Add loc parameter.  Change all callers.  If
-Wc++-compat, warn about defining a type in a cast.
* c-tree.h (C_TYPE_DEFINED_IN_STRUCT): Define.
(start_enum, start_struct, finish_struct): Update declarations.
(parser_xref_tag, c_cast_expr): Update declarations.
(check_compound_literal_type): Declare.
fortran/:
* gfortran.h (enum gfc_omp_sched_kind): New enum, broken out of
gfc_omp_clauses.
(enum gfc_omp_default_sharing): Likewise.
* module.c (enum gfc_rsym_state): New enum, broken out of
pointer_info.
(enum gfc_wsym_state): Likewise.
* parse.c (enum state_order): New enum, broken out of st_state.
objc/:
* objc-act.c (objc_building_struct): New static variable.
(objc_in_struct, objc_struct_types): New static variables.
(objc_start_struct, objc_finish_struct): New static functions.
(generate_struct_by_value_array): Call objc_start_struct instead
of start_struct, and call objc_finish_struct instead of
finish_struct.
(objc_build_struct, build_objc_symtab_template): Likewise.
(build_module_descriptor): Likewise.
(build_next_objc_exception_stuff): Likewise.
(build_protocol_template): Likewise.
(build_method_prototype_list_template): Likewise.
(build_method_prototype_template): Likewise.
(build_category_template, build_selector_template): Likewise.
(build_class_template, build_super_template): Likewise.
(build_ivar_template, build_ivar_list_template): Likewise.
(build_method_list_template): Likewise.
(build_method_template): Likewise.
objcp/:
* objcp-decl.h (start_struct): Add three new, ignored, macro
parameters.
(finish_struct): Add two new, ignored, macro parameters.
testsuite/:
* gcc.dg/Wcxx-compat-7.c: New testcase.
* gcc.dg/Wcxx-compat-8.c: New testcase.
* gcc.dg/c99-tag-1.c: Recognize new "originally defined here"
notes
* gcc.dg/pr17188-1.c: Likewise.
* gcc.dg/pr39084.c: Likewise.

From-SVN: r147358

15 years agoDaily bump.
GCC Administrator [Mon, 11 May 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147356

15 years agors6000-c.c (altivec_categorize_keyword): Update for recent libcpp interface change.
Ben Elliston [Sun, 10 May 2009 23:17:55 +0000 (23:17 +0000)]
rs6000-c.c (altivec_categorize_keyword): Update for recent libcpp interface change.

* config/rs6000/rs6000-c.c (altivec_categorize_keyword): Update
for recent libcpp interface change.
(rs6000_macro_to_expand): Likewise.

From-SVN: r147352

15 years agore PR target/40031 (ARM broken with addresses in PHIs with -fPIC)
Michael Matz [Sun, 10 May 2009 18:40:16 +0000 (18:40 +0000)]
re PR target/40031 (ARM broken with addresses in PHIs with -fPIC)

        PR target/40031
        * config/arm/arm.c (require_pic_register): Emit on entry
        edge, not at entry of function.
testsuite/
        * gcc.dg/pr40031.c: New test.

From-SVN: r147350

15 years agore PR tree-optimization/40081 (verify_stmts failed with -O2)
Richard Guenther [Sun, 10 May 2009 16:40:55 +0000 (16:40 +0000)]
re PR tree-optimization/40081 (verify_stmts failed with -O2)

2009-05-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40081
Revert
* tree-sra.c (instantiate_element): Instantiate scalar replacements
using the main variant of the element type.  Do not fiddle with
TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS.

* tree-sra.c (sra_type_can_be_decomposed_p): Do not decompose
structs with volatile fields.

From-SVN: r147349

15 years agoRemove junk file
Eric Botcazou [Sun, 10 May 2009 16:39:39 +0000 (16:39 +0000)]
Remove junk file

From-SVN: r147348

15 years agotree-inline.c (delete_unreachable_blocks_update_callgraph): Declare.
Jan Hubicka [Sun, 10 May 2009 15:20:27 +0000 (17:20 +0200)]
tree-inline.c (delete_unreachable_blocks_update_callgraph): Declare.

* tree-inline.c (delete_unreachable_blocks_update_callgraph): Declare.
(estimate_move_cost): Assert that it does not get called for VOID_TYPE_P.
(estimate_num_insns): Skip VOID types in argument handling.
(optimize_inline_calls): Delete unreachable blocks and verify that
callgraph is valid.

From-SVN: r147344

15 years agoFix changelog entry.
Jan Hubicka [Sun, 10 May 2009 15:13:23 +0000 (15:13 +0000)]
Fix changelog entry.

From-SVN: r147343

15 years agocgraphbuild.c (record_reference): Use cgraph_mark_address_taken_node.
Jan Hubicka [Sun, 10 May 2009 15:11:01 +0000 (17:11 +0200)]
cgraphbuild.c (record_reference): Use cgraph_mark_address_taken_node.

* cgraphbuild.c (record_reference): Use cgraph_mark_address_taken_node.
* cgraph.c (cgraph_mark_address_taken_node): New function.
(dump_cgraph_node): Dump new flag.
* cgraph.h (struct cgraph_node): Add address_taken.
(cgraph_mark_address_taken_node): New function.
* cp/decl2.c (cxx_callgraph_analyze_expr): Use
cgraph_mark_address_taken.
* ipa.c (cgraph_postorder): Prioritize functions with address taken
since new direct calls can be born.

From-SVN: r147342

15 years agoc-lex.c (c_lex_with_flags): Expect cpp_hashnode in tok->val.node.node.
Joseph Myers [Sun, 10 May 2009 14:27:32 +0000 (15:27 +0100)]
c-lex.c (c_lex_with_flags): Expect cpp_hashnode in tok->val.node.node.

gcc:
* c-lex.c (c_lex_with_flags): Expect cpp_hashnode in
tok->val.node.node.

libcpp:
* include/cpplib.h (enum cpp_token_fld_kind): Add
CPP_TOKEN_FLD_TOKEN_NO.
(struct cpp_macro_arg, struct cpp_identifier): Define.
(union cpp_token_u): Use struct cpp_identifier for identifiers.
Use struct cpp_macro_arg for macro arguments.  Add token_no for
CPP_PASTE token numbers.
* directives.c (_cpp_handle_directive, lex_macro_node, do_pragma,
do_pragma_poison, parse_assertion): Use val.node.node in place of
val.node.
* expr.c (parse_defined, eval_token): Use val.node.node in place
of val.node.
* lex.c (cpp_ideq, _cpp_lex_direct, cpp_token_len,
cpp_spell_token, cpp_output_token, _cpp_equiv_tokens,
cpp_token_val_index): Use val.macro_arg.arg_no or val.token_no in
place of val.arg_no.  Use val.node.node in place of val.node.
* macro.c (replace_args, cpp_get_token, parse_params,
lex_expansion_token, create_iso_definition, cpp_macro_definition):
Use val.macro_arg.arg_no or val.token_no in place of val.arg_no.
Use val.node.node in place of val.node.

From-SVN: r147341

15 years agoFix formatting
Eric Botcazou [Sun, 10 May 2009 12:09:47 +0000 (12:09 +0000)]
Fix formatting

From-SVN: r147338

15 years agore PR middle-end/40084 (Revision 147294 failed 483.xalancbmk in SPEC CPU 2006 at...
Jan Hubicka [Sun, 10 May 2009 11:36:11 +0000 (13:36 +0200)]
re PR middle-end/40084 (Revision 147294 failed 483.xalancbmk in SPEC CPU 2006 at -O3)

PR middle-end/40084
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Take old_call argument;
rewrite.
(cgraph_update_edges_for_call_stmt): Take old_decl argument.
* cgraph.h (cgraph_update_edges_for_call_stmt): Update prototype.
* tree-inline.c (copy_bb): Set frequency correctly.
(fold_marked_statements): Update call of cgraph_update_edges_for_call_stmt.

From-SVN: r147337

15 years ago* gcc.pot: Regenerate.
Joseph Myers [Sun, 10 May 2009 10:36:44 +0000 (11:36 +0100)]
* gcc.pot: Regenerate.

From-SVN: r147335

15 years agoarc.c (arc_handle_interrupt_attribute): Use %qE for identifiers in diagnostics.
Joseph Myers [Sun, 10 May 2009 10:29:35 +0000 (11:29 +0100)]
arc.c (arc_handle_interrupt_attribute): Use %qE for identifiers in diagnostics.

* config/arc/arc.c (arc_handle_interrupt_attribute): Use %qE for
identifiers in diagnostics.
* config/arm/arm.c (arm_handle_fndecl_attribute,
arm_handle_isr_attribute): Likewise.
* config/avr/avr.c (avr_handle_progmem_attribute,
avr_handle_fndecl_attribute, avr_handle_fntype_attribute):
Likewise.
* config/bfin/bfin.c (handle_int_attribute,
bfin_handle_longcall_attribute, bfin_handle_l1_text_attribute,
bfin_handle_l1_data_attribute, bfin_handle_longcall_attribute,
bfin_handle_l1_text_attribute, bfin_handle_l1_data_attribute):
Likewise.
* config/darwin.c (darwin_handle_kext_attribute,
darwin_handle_weak_import_attribute): Likewise.
* config/h8300/h8300.c (h8300_handle_fndecl_attribute,
h8300_handle_eightbit_data_attribute,
h8300_handle_tiny_data_attribute): Likewise.
* config/i386/i386.c (ix86_handle_cconv_attribute,
ix86_handle_abi_attribute, ix86_handle_struct_attribute):
Likewise.
* config/i386/winnt.c (ix86_handle_shared_attribute,
ix86_handle_selectany_attribute): Likewise.
* config/ia64/ia64.c (ia64_handle_model_attribute): Likewise.
* config/m32c/m32c.c (function_vector_handler): Likewise.
* config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute,
m68hc11_handle_fntype_attribute): Likewise.
* config/m68k/m68k.c (m68k_handle_fndecl_attribute): Likewise.
* config/mcore/mcore.c (mcore_handle_naked_attribute): Likewise.
* config/mips/mips.c (mips_insert_attributes,
mips_merge_decl_attributes, mips_expand_builtin): Likewise.
* config/rs6000/rs6000.c (rs6000_handle_longcall_attribute,
rs6000_handle_struct_attribute): Likewise.
* config/sh/sh.c (sh_insert_attributes,
sh_handle_resbank_handler_attribute,
sh_handle_interrupt_handler_attribute,
sh2a_handle_function_vector_handler_attribute,
sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
Likewise.
* config/sh/symbian.c (sh_symbian_mark_dllimport): Likewise.
* config/spu/spu.c (spu_handle_fndecl_attribute,
spu_handle_vector_attribute): Likewise.
* config/stormy16/stormy16.c
(xstormy16_handle_interrupt_attribute): Likewise.
* config/v850/v850-c.c (ghs_pragma_section): Likewise.
* config/v850/v850.c (v850_handle_interrupt_attribute): Likewise.

From-SVN: r147334

15 years agopretty-print.h (struct pretty_print_info): Add translate_identifiers.
Joseph Myers [Sun, 10 May 2009 10:28:34 +0000 (11:28 +0100)]
pretty-print.h (struct pretty_print_info): Add translate_identifiers.

* pretty-print.h (struct pretty_print_info): Add
translate_identifiers.
(pp_translate_identifiers): New.
(pp_identifier): Only conditionally translate identifier to locale
character set.
* pretty-print.c (pp_construct): Set pp_translate_identifiers.
(pp_base_tree_identifier): Only conditionally translate identifier
to locale character set.
* c-pretty-print.c (M_): Define.
(pp_c_type_specifier, pp_c_primary_expression): Mark English
fragments for conditional translation with M_.
* tree-pretty-print.c (maybe_init_pretty_print): Disable
identifier translation.

cp:
* call.c (name_as_c_string): Call type_as_string_translate.
Translate identifiers to locale character set.
* cp-tree.h (lang_decl_name): Update prototype.
(type_as_string_translate, decl_as_string_translate,
cxx_printable_name_translate): Declare.
* cxx-pretty-print.c (M_): Define.
(pp_cxx_unqualified_id, pp_cxx_canonical_template_parameter): Mark
English fragments for conditional translation with M_.
* decl.c (grokdeclarator): Translate identifiers to locale
character set for diagnostics.
* error.c (M_): Define.
(dump_template_bindings, dump_type, dump_aggr_type,
dump_type_prefix, dump_global_iord, dump_simple_decl, dump_decl,
dump_function_decl, dump_template_parms, dump_expr,
dump_binary_op, op_to_string, assop_to_string): Mark English
fragments for conditional translation with M_.
(type_as_string): Disable translation of identifiers.
(type_as_string_translate): New.
(expr_as_string): Disable translation of identifiers.
(decl_as_string): Disable translation of identifiers.
(decl_as_string_translate): New.
(lang_decl_name): Add parameter translate.
(args_to_string): Call type_as_string_translate.
(cp_print_error_function): Call cxx_printable_name_translate.
(print_instantiation_full_context,
print_instantiation_partial_context): Call
decl_as_string_translate.
* parser.c (cp_lexer_get_preprocessor_token): Use %qE for
identifier in diagnostic.
* tree.c (cxx_printable_name): Change to
cxx_printable_name_internal.  Add parameter translate.
(cxx_printable_name, cxx_printable_name_translate): New wrappers
round cxx_printable_name_internal.

objc:
* objc-act.c: Include intl.h.
(objc_lookup_protocol): Use complete sentences for diagnostics
with %qE for identifiers and translating results of
gen_type_name_0 to locale character set.
(objc_check_decl, check_protocol_recursively,
lookup_and_install_protocols, objc_build_string_object,
objc_get_class_reference, objc_declare_alias, objc_declare_class,
objc_get_class_ivars, error_with_ivar, check_duplicates,
objc_finish_message_expr, objc_build_protocol_expr,
objc_build_selector_expr, build_ivar_reference, objc_add_method,
add_category, add_instance_variable, objc_is_public,
check_methods, check_methods_accessible, check_protocol,
start_class, finish_class, start_protocol, really_start_method,
get_super_receiver, objc_lookup_ivar): Use %E and %qE for
identifiers in diagnostics.  Translate generated text to locale
character set as needed.
(check_protocol, check_protocols): Change name parameter to type
tree.
(lang_report_error_function): Remove.

From-SVN: r147333

15 years agore PR fortran/40018 (ICE in output_constructor)
Paul Thomas [Sun, 10 May 2009 10:22:37 +0000 (10:22 +0000)]
re PR fortran/40018 (ICE in output_constructor)

2009-05-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/40018
* trans-array.c (gfc_trans_array_constructor_value): Fold
convert numeric constants.
(gfc_build_constant_array_constructor): The same.

2009-05-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/40018
* gfortran.dg/array_constructor_31.f90: New test.

From-SVN: r147332

15 years agore PR fortran/40018 (ICE in output_constructor)
Paul Thomas [Sun, 10 May 2009 10:21:08 +0000 (10:21 +0000)]
re PR fortran/40018 (ICE in output_constructor)

2009-05-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/40018
* trans-array.c (gfc_trans_array_constructor_value): Fold
convert numeric constants.
(gfc_build_constant_array_constructor): The same.

2009-05-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/40018
* gfortran.dg/array_constructor_31.f90: New test.

From-SVN: r147331

15 years agore PR tree-optimization/40081 (verify_stmts failed with -O2)
Richard Guenther [Sun, 10 May 2009 10:16:01 +0000 (10:16 +0000)]
re PR tree-optimization/40081 (verify_stmts failed with -O2)

2009-05-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40081
* tree-sra.c (instantiate_element): Instantiate scalar replacements
using the main variant of the element type.  Do not fiddle with
TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS.

* g++.dg/torture/pr40081.C: New testcase.

From-SVN: r147330

15 years agore PR fortran/38863 (WHERE with multiple elemental defined assignments gives wrong...
Paul Thomas [Sun, 10 May 2009 07:23:30 +0000 (07:23 +0000)]
re PR fortran/38863 (WHERE with multiple elemental defined assignments gives wrong answer)

2009-05-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/38863
* trans-expr.c (gfc_conv_operator_assign): Remove function.
* trans.h : Remove prototype for gfc_conv_operator_assign.
* trans-stmt.c (gfc_conv_elemental_dependencies): Initialize
derivde types with intent(out).
(gfc_trans_call): Add mask, count1 and invert arguments. Add
code to use mask for WHERE assignments.
(gfc_trans_forall_1): Use new arguments for gfc_trans_call.
(gfc_trans_where_assign): The gfc_symbol argument is replaced
by the corresponding code. If this has a resolved_sym, then
gfc_trans_call is called. The call to gfc_conv_operator_assign
is removed.
(gfc_trans_where_2): Change the last argument in the call to
gfc_trans_where_assign.
* trans-stmt.h : Modify prototype for gfc_trans_call.
* trans.c (gfc_trans_code): Use new args for gfc_trans_call.

2009-05-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/38863
* gfortran.dg/dependency_24.f90: New test.
* gfortran.dg/dependency_23.f90: Clean up module files.

From-SVN: r147329

15 years agore PR fortran/38956 (tests gfortran.dg/chmod_{1,2,3}.f90 fails on i686-pc-cygwin)
David Billinghurst [Sun, 10 May 2009 01:14:50 +0000 (01:14 +0000)]
re PR fortran/38956 (tests gfortran.dg/chmod_{1,2,3}.f90 fails on i686-pc-cygwin)

2009-04-10  David Billinghurst <billingd@gcc.gnu.org>

        PR fortran/38956
        * gfortran.dg/chmod_1.f90: Don't run on *-*-cygwin*.
        * gfortran.dg/chmod_2.f90: Likewise.
        * gfortran.dg/chmod_3.f90: Likewise.
        * gfortran.dg/open_errors.f90: Likewise.

From-SVN: r147326

15 years agoDaily bump.
GCC Administrator [Sun, 10 May 2009 00:16:45 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147325

15 years agore PR middle-end/40080 (error: missing callgraph edge for call stmt)
Jan Hubicka [Sat, 9 May 2009 20:10:37 +0000 (22:10 +0200)]
re PR middle-end/40080 (error: missing callgraph edge for call stmt)

PR middle-end/40080
* cgraphunit.c (cgraph_materialize_all_clones): Do not redirect
indirect calls; verify cgraph afterwards.

From-SVN: r147320

15 years agore PR bootstrap/40082 (Power bootstrap is broken in building libstdc++)
Jan Hubicka [Sat, 9 May 2009 18:31:32 +0000 (20:31 +0200)]
re PR bootstrap/40082 (Power bootstrap is broken in building libstdc++)

PR bootstrap/40082
* ipa.c (update_inlined_to_pointer): New function.
(cgraph_remove_unreachable_nodes): Use it.

From-SVN: r147319

15 years agotree-eh.c (struct leh_state): Remove prev_try.
Jan Hubicka [Sat, 9 May 2009 15:00:25 +0000 (17:00 +0200)]
tree-eh.c (struct leh_state): Remove prev_try.

* tree-eh.c (struct leh_state): Remove prev_try.
(lower_try_finally, lower_catch, lower_eh_filter, lower_cleanup): Do
not track prev_try.
* except.c (gen_eh_region_cleanup, duplicate_eh_regions,
copy_eh_region_1, copy_eh_region, redirect_eh_edge_to_label,
remove_eh_handler_and_replace, foreach_reachable_handler,
verify_eh_region, verify_eh_tree): Remove tracking of prev_try pointer.
* except.h (struct eh_region): Remove eh_region_u_cleanup.
(gen_eh_region_cleanup): Update prototype.

From-SVN: r147318

15 years agore PR middle-end/40043 (ICE with nested try/catch)
Jan Hubicka [Sat, 9 May 2009 10:52:24 +0000 (12:52 +0200)]
re PR middle-end/40043 (ICE with nested try/catch)

* g++.dg/eh/nested-try.C: New test.

PR middle-end/40043
* except.c (copy_eh_region): Always set prev_try.
(redirect_eh_edge_to_label): Find outer try.
(foreach_reachable_handler): When looking for prev try
handle case where previous try is not going to be taken.

From-SVN: r147317

15 years agoFix even more formatting.
Uros Bizjak [Sat, 9 May 2009 07:37:38 +0000 (09:37 +0200)]
Fix even more formatting.

From-SVN: r147315

15 years agoFix more formatting
Eric Botcazou [Sat, 9 May 2009 06:51:31 +0000 (06:51 +0000)]
Fix more formatting

From-SVN: r147314

15 years agoFix formatting
Eric Botcazou [Sat, 9 May 2009 06:47:29 +0000 (06:47 +0000)]
Fix formatting

From-SVN: r147313

15 years agoDaily bump.
GCC Administrator [Sat, 9 May 2009 00:16:39 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147304

15 years agoUpdate test to use __BIGGEST_ALIGNMENT__
Michael Meissner [Fri, 8 May 2009 23:02:35 +0000 (23:02 +0000)]
Update test to use __BIGGEST_ALIGNMENT__

From-SVN: r147299

15 years agoFix PR 40049
Michael Meissner [Fri, 8 May 2009 22:38:49 +0000 (22:38 +0000)]
Fix PR 40049

From-SVN: r147298

15 years agofold-const.c (fold_binary): Do not fold multiplication by 1 or -1 for complex floatin...
Joseph Myers [Fri, 8 May 2009 20:58:26 +0000 (21:58 +0100)]
fold-const.c (fold_binary): Do not fold multiplication by 1 or -1 for complex floating-point types if...

* fold-const.c (fold_binary): Do not fold multiplication by 1 or
-1 for complex floating-point types if honoring signed zeros.

testsuite:
* gcc.dg/torture/complex-sign-mul-minus-one.c,
gcc.dg/torture/complex-sign-mul-one.c: New tests.

From-SVN: r147295

15 years agocgraphbuild.c (compute_call_stmt_bb_frequency): Accept function argument; handle...
Jan Hubicka [Fri, 8 May 2009 19:19:51 +0000 (21:19 +0200)]
cgraphbuild.c (compute_call_stmt_bb_frequency): Accept function argument; handle correctly when profile is absent.

* cgraphbuild.c (compute_call_stmt_bb_frequency): Accept function argument;
handle correctly when profile is absent.
(build_cgraph_edges): Update.
(rebuild_cgraph_edges): Update.
* cgraph.c: Do not include varrau.h
(cgraph_set_call_stmt_including_clones, cgraph_create_edge_including_clones):
New function
(cgraph_update_edges_for_call_stmt_node): New stati cfunction.
(cgraph_update_edges_for_call_stmt): Handle clones.
(cgraph_remove_node): Handle clone tree.
(cgraph_remove_node_and_inline_clones): New function.
(dump_cgraph_node): Dump clone tree.
(cgraph_clone_node): Handle clone tree.
(clone_function_name): Bring here from tree-inline.c
(cgraph_create_virtual_clone): New function.
* cgraph.h (ipa_replace_map): Move ehre from ipa.h
(cgraph_clone_info): New function
(strut cgraph_node): Add clone_info and new clone tree pointers.
(cgraph_remove_node_and_inline_clones, cgraph_set_call_stmt_including_clones,
cgraph_create_edge_including_clones, cgraph_create_virtual_clone): Declare.
(cgraph_function_versioning): Use VEC argument.
(compute_call_stmt_bb_frequency): Update prototype.
(cgraph_materialize_all_clones): New function.
* ipa-cp.c (ipcp_update_cloned_node): Remove.
(ipcp_create_replace_map): Update to VECtors.
(ipcp_update_callgraph): Use virtual clones.
(ipcp_update_bb_counts, ipcp_update_edges_counts): Remove.
(ipcp_update_profiling): Do not update local profiling.
(ipcp_insert_stage): Use VECtors and virtual clones.
* cgraphunit.c (verify_cgraph_node): Verify clone tree.
(clone_of_p): New function.
(cgraph_preserve_function_body_p): Use clone tree.
(cgraph_optimize): Materialize clones.
(cgraph_function_versioning): Update for VECtors.
(save_inline_function_body): Use clone tree.
(cgraph_materialize_clone, cgraph_materialize_all_clones): New functions.
* ipa-inline.c (cgraph_default_inline_p): Use analyzed flags.
* ipa.c: Include gimple.h.
(cgraph_remove_unreachable_nodes): Use clone tree.
* ipa-prop.c (ipa_note_param_call): Update call of compute_call_stmt_bb_frequency.
* ipa-prop.h (ipa_replace_map): Move to cgraph.h.
* tree-inline.c: Do not include varray.h; do not include gt-tree-inline.h
(copy_bb): Handle updating of clone tree; add new edge when new call
appears.
(expand_call_inline): Be strict about every call having edge.
(clone_fn_id_num, clone_function_name): Move to cgraph.c.
(delete_unreachable_blocks_update_callgraph): New function.
(tree_function_versioning): Use VECtors; always remove unreachable blocks
and fold conditionals.
* tree-inline.h: Do not include varray.h
(tree_function_versioning): Remove.
* Makefile.in (GTFILES): Remove tree-inline.c
* passes.c (do_per_function): Do only functions having body.
* ipa-struct-reorg.c (do_reorg_1, collect_data_accesses): Handle cone tree.

From-SVN: r147294

15 years agore PR c/36892 (Support __attribute__((deprecated("text string"))))
H.J. Lu [Fri, 8 May 2009 18:44:50 +0000 (11:44 -0700)]
re PR c/36892 (Support __attribute__((deprecated("text string"))))

gcc/

2009-05-08  H.J. Lu  <hongjiu.lu@intel.com>
    Andrew Morrow  <acm@google.com>

PR c/36892
* c-common.c (c_common_attribute_table): Permit deprecated
attribute to take an optional argument.
(handle_deprecated_attribute): If the optional argument to
__attribute__((deprecated)) is not a string ignore the attribute
and emit a warning.

* c-decl.c (grokdeclarator): Updated warn_deprecated_use call.
* c-typeck.c (build_component_ref): Likewise.
(build_external_ref): Likewise.

* toplev.c (warn_deprecated_use): Add an attribute argument.
Emit the message associated with __attribute__((deprecated)).

* toplev.h (warn_deprecated_use): Updated.

* doc/extend.texi: Document new optional parameter to
__attribute__((deprecated))

gcc/cp/

2009-05-08  H.J. Lu  <hongjiu.lu@intel.com>

PR c/36892
* call.c (build_call_a): Updated warn_deprecated_use call.
(build_over_call): Likewise.
* decl.c (grokdeclarator): Likewise.
(grokparms): Likewise.
* semantics.c (finish_id_expression): Likewise.
* typeck.c (build_class_member_access_expr): Likewise.
(finish_class_member_access_expr): Likewise.

gcc/testsuite/

2009-05-08  H.J. Lu  <hongjiu.lu@intel.com>

PR c/36892
* g++.dg/warn/deprecated-6.C: New.
* gcc.dg/deprecated-4.c: Likewise.
* gcc.dg/deprecated-5.c: Likewise.
* gcc.dg/deprecated-6.c: Likewise.

From-SVN: r147293

15 years agoFix bug in movdf_softfloat32.
Michael Eager [Fri, 8 May 2009 16:18:16 +0000 (16:18 +0000)]
Fix bug in movdf_softfloat32.

From-SVN: r147290

15 years agono-vfa-vect-37.c: Replace __aligned__(16) with __aligned__(__BIGGEST_ALIGNMENT__).
H.J. Lu [Fri, 8 May 2009 13:39:01 +0000 (13:39 +0000)]
no-vfa-vect-37.c: Replace __aligned__(16) with __aligned__(__BIGGEST_ALIGNMENT__).

2009-05-08  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.dg/vect/no-vfa-vect-37.c: Replace __aligned__(16) with
__aligned__(__BIGGEST_ALIGNMENT__).
* gcc.dg/vect/no-vfa-vect-43.c: Likewise.
* gcc.dg/vect/no-vfa-vect-49.c: Likewise.
* gcc.dg/vect/no-vfa-vect-53.c: Likewise.
* gcc.dg/vect/no-vfa-vect-57.c: Likewise.
* gcc.dg/vect/no-vfa-vect-61.c: Likewise.
* gcc.dg/vect/no-vfa-vect-79.c: Likewise.
* gcc.dg/vect/Os-vect-95.c: Likewise.
* gcc.dg/vect/pr20122.c: Likewise.
* gcc.dg/vect/pr36493.c: Likewise.
* gcc.dg/vect/pr37385.c: Likewise.
* gcc.dg/vect/slp-7.c: Likewise.
* gcc.dg/vect/slp-9.c: Likewise.
* gcc.dg/vect/slp-widen-mult-s16.c: Likewise.
* gcc.dg/vect/slp-widen-mult-u8.c: Likewise.
* gcc.dg/vect/vect-35.c: Likewise.
* gcc.dg/vect/vect-40.c: Likewise.
* gcc.dg/vect/vect-42.c: Likewise.
* gcc.dg/vect/vect-44.c: Likewise.
* gcc.dg/vect/vect-46.c: Likewise.
* gcc.dg/vect/vect-48.c: Likewise.
* gcc.dg/vect/vect-52.c: Likewise.
* gcc.dg/vect/vect-54.c: Likewise.
* gcc.dg/vect/vect-56.c: Likewise.
* gcc.dg/vect/vect-58.c: Likewise.
* gcc.dg/vect/vect-60.c: Likewise.
* gcc.dg/vect/vect-74.c: Likewise.
* gcc.dg/vect/vect-75.c: Likewise.
* gcc.dg/vect/vect-76.c: Likewise.
* gcc.dg/vect/vect-77-alignchecks.c: Likewise.
* gcc.dg/vect/vect-77.c: Likewise.
* gcc.dg/vect/vect-77-global.c: Likewise.
* gcc.dg/vect/vect-78-alignchecks.c: Likewise.
* gcc.dg/vect/vect-78.c: Likewise.
* gcc.dg/vect/vect-78-global.c: Likewise.
* gcc.dg/vect/vect-80.c: Likewise.
* gcc.dg/vect/vect-85.c: Likewise.
* gcc.dg/vect/vect-87.c: Likewise.
* gcc.dg/vect/vect-88.c: Likewise.
* gcc.dg/vect/vect-92.c: Likewise.
* gcc.dg/vect/vect-93.c: Likewise.
* gcc.dg/vect/vect-95.c: Likewise.
* gcc.dg/vect/vect-97.c: Likewise.
* gcc.dg/vect/vect-complex-1.c: Likewise.
* gcc.dg/vect/vect-complex-4.c: Likewise.
* gcc.dg/vect/vect-complex-5.c: Likewise.
* gcc.dg/vect/vect-multitypes-10.c: Likewise.
* gcc.dg/vect/vect-multitypes-11.c: Likewise.
* gcc.dg/vect/vect-multitypes-12.c: Likewise.
* gcc.dg/vect/vect-multitypes-13.c: Likewise.
* gcc.dg/vect/vect-multitypes-14.c: Likewise.
* gcc.dg/vect/vect-multitypes-15.c: Likewise.
* gcc.dg/vect/vect-multitypes-16.c: Likewise.
* gcc.dg/vect/vect-multitypes-17.c: Likewise.
* gcc.dg/vect/vect-multitypes-3.c: Likewise.
* gcc.dg/vect/vect-multitypes-6.c: Likewise.
* gcc.dg/vect/vect-multitypes-7.c: Likewise.
* gcc.dg/vect/vect-multitypes-8.c: Likewise.
* gcc.dg/vect/vect-multitypes-9.c: Likewise.
* gcc.dg/vect/vect-outer-1a.c: Likewise.
* gcc.dg/vect/vect-outer-1.c: Likewise.
* gcc.dg/vect/vect-outer-2a.c: Likewise.
* gcc.dg/vect/vect-outer-2b.c: Likewise.
* gcc.dg/vect/vect-outer-2.c: Likewise.
* gcc.dg/vect/vect-outer-2c.c: Likewise.
* gcc.dg/vect/vect-outer-2d.c: Likewise.
* gcc.dg/vect/vect-outer-3a.c: Likewise.
* gcc.dg/vect/vect-outer-3b.c: Likewise.
* gcc.dg/vect/vect-outer-3.c: Likewise.
* gcc.dg/vect/vect-outer-3c.c: Likewise.
* gcc.dg/vect/vect-outer-5.c: Likewise.
* gcc.dg/vect/vect-outer-6.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s16a.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s16b.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s8a.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s8c.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-u16a.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-u16b.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-u8a.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-u8b.c: Likewise.
* gcc.dg/vect/vect-widen-mult-s16.c: Likewise.
* gcc.dg/vect/vect-widen-mult-s8.c: Likewise.
* gcc.dg/vect/vect-widen-mult-u16.c: Likewise.
* gcc.dg/vect/vect-widen-mult-u8.c: Likewise.
* gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise.

From-SVN: r147286

15 years agore PR tree-optimization/40062 (high memory usage and compile time in SCEV cprop with...
Richard Guenther [Fri, 8 May 2009 12:24:22 +0000 (12:24 +0000)]
re PR tree-optimization/40062 (high memory usage and compile time in SCEV cprop with -O3)

2009-05-08  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40062
* tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
Avoid exponential behavior.

From-SVN: r147283

15 years agore PR rtl-optimization/33928 (30% performance slowdown in floating-point code caused...
Paolo Bonzini [Fri, 8 May 2009 12:22:30 +0000 (12:22 +0000)]
re PR rtl-optimization/33928 (30% performance slowdown in floating-point code caused by  r118475)

2009-05-08  Paolo Bonzini  <bonzini@gnu.org>

PR rtl-optimization/33928
PR 26854
* fwprop.c (use_def_ref, get_def_for_use, bitmap_only_bit_bitween,
process_uses, build_single_def_use_links): New.
(update_df): Update use_def_ref.
(forward_propagate_into): Use get_def_for_use instead of use-def
chains.
(fwprop_init): Call build_single_def_use_links and let it initialize
dataflow.
(fwprop_done): Free use_def_ref.
(fwprop_addr): Eliminate duplicate call to df_set_flags.
* df-problems.c (df_rd_simulate_artificial_defs_at_top,
df_rd_simulate_one_insn): New.
(df_rd_bb_local_compute_process_def): Update head comment.
(df_chain_create_bb): Use the new RD simulation functions.
* df.h (df_rd_simulate_artificial_defs_at_top,
df_rd_simulate_one_insn): New.
* opts.c (decode_options): Enable fwprop at -O1.
* doc/invoke.texi (-fforward-propagate): Document this.

From-SVN: r147282

15 years agore PR c/24581 (Complex arithmetic on special cases is incorrect.)
Joseph Myers [Fri, 8 May 2009 10:22:08 +0000 (11:22 +0100)]
re PR c/24581 (Complex arithmetic on special cases is incorrect.)

PR c/24581
* c-typeck.c (build_binary_op): Handle arithmetic between one real
and one complex operand specially.
* tree-complex.c (some_nonzerop): Do not identify a real value as
zero if flag_signed_zeros.

testsuite:
* gcc.dg/torture/complex-sign.h: New header.
* gcc.dg/torture/complex-sign-add.c,
gcc.dg/torture/complex-sign-mixed-add.c,
gcc.dg/torture/complex-sign-mixed-div.c,
gcc.dg/torture/complex-sign-mixed-mul.c,
gcc.dg/torture/complex-sign-mixed-sub.c,
gcc.dg/torture/complex-sign-mul.c,
gcc.dg/torture/complex-sign-sub.c: New tests.

From-SVN: r147281

15 years agore PR fortran/39876 (module procedure name that collides with the GNU intrinsic)
Janus Weil [Fri, 8 May 2009 09:08:13 +0000 (11:08 +0200)]
re PR fortran/39876 (module procedure name that collides with the GNU intrinsic)

2009-05-08  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39876
* intrinsic.c (gfc_is_intrinsic): Do not add the EXTERNAL attribute if
the symbol is a module procedure.

2009-05-08  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39876
* gfortran.dg/intrinsic_3.f90: New.

From-SVN: r147279

15 years agore PR rtl-optimization/33928 (30% performance slowdown in floating-point code caused...
Paolo Bonzini [Fri, 8 May 2009 07:51:46 +0000 (07:51 +0000)]
re PR rtl-optimization/33928 (30% performance slowdown in floating-point code caused by  r118475)

2009-05-08  Paolo Bonzini  <bonzini@gnu.org>

PR rtl-optimization/33928
        * loop-invariant.c (record_use): Fix && vs. || mishap.

From-SVN: r147274

15 years agore PR rtl-optimization/33928 (30% performance slowdown in floating-point code caused...
Paolo Bonzini [Fri, 8 May 2009 06:51:12 +0000 (06:51 +0000)]
re PR rtl-optimization/33928 (30% performance slowdown in floating-point code caused by  r118475)

2009-05-08  Paolo Bonzini  <bonzini@gnu.org>

PR rtl-optimization/33928
        * loop-invariant.c (struct use): Add addr_use_p.
        (struct def): Add n_addr_uses.
        (struct invariant): Add cheap_address.
        (create_new_invariant): Set cheap_address.
        (record_use): Accept df_ref.  Set addr_use_p and update n_addr_uses.
        (record_uses): Pass df_ref to record_use.
        (get_inv_cost): Do not add inv->cost to comp_cost for cheap addresses used
only as such.

From-SVN: r147270

15 years agoinvoke.texi: Add do/recursion to the -fcheck= summary.
Tobias Burnus [Fri, 8 May 2009 06:21:15 +0000 (08:21 +0200)]
invoke.texi: Add do/recursion to the -fcheck= summary.

2009-05-08  Tobias Burnus  <burnus@net-b.de>

       * invoke.texi: Add do/recursion to the -fcheck= summary.

From-SVN: r147268

15 years agosh.c: Do not include c-pragma.h.
Kaz Kojima [Fri, 8 May 2009 03:39:09 +0000 (03:39 +0000)]
sh.c: Do not include c-pragma.h.

* config/sh/sh.c: Do not include c-pragma.h.

From-SVN: r147267

15 years agospu.c: Remove include of c-common.h.
Andrew Pinski [Fri, 8 May 2009 01:01:34 +0000 (01:01 +0000)]
spu.c: Remove include of c-common.h.

2009-05-07  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config/spu/spu.c: Remove include of c-common.h.

From-SVN: r147266

15 years agothrow_allocator.h: Remove redundante include.
Paolo Carlini [Fri, 8 May 2009 00:49:35 +0000 (00:49 +0000)]
throw_allocator.h: Remove redundante include.

2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

* include/ext/throw_allocator.h: Remove redundante include.

From-SVN: r147265

15 years agothrow_allocator.h (throw_allocator_base): Avoid out of line member functions definitions.
Paolo Carlini [Fri, 8 May 2009 00:39:28 +0000 (00:39 +0000)]
throw_allocator.h (throw_allocator_base): Avoid out of line member functions definitions.

2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

* include/ext/throw_allocator.h (throw_allocator_base): Avoid
out of line member functions definitions.
(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
Remove, use static locals instead.
(throw_allocator_base::do_check_allocated, print_to_string): Declare.
* src/throw_allocator.cc: New.
* src/Makefile.am: Add.
* config/abi/pre/gnu.ver: Add exports.
* src/Makefile.in: Regenerate.

From-SVN: r147264

15 years agoDaily bump.
GCC Administrator [Fri, 8 May 2009 00:16:37 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147263

15 years agore PR c/39037 (FLOAT_CONST_DECIMAL64 pragma not supported)
Janis Johnson [Thu, 7 May 2009 22:34:08 +0000 (22:34 +0000)]
re PR c/39037 (FLOAT_CONST_DECIMAL64 pragma not supported)

gcc/
PR c/39037
* c-common.h (mark_valid_location_for_stdc_pragma,
valid_location_for_stdc_pragma_p, set_float_const_decimal64,
clear_float_const_decimal64, float_const_decimal64_p): New.
* c.opt (Wunsuffixed-float-constants): New.
* c-lex.c (interpret_float): Use pragma FLOAT_CONST_DECIMAL64 for
unsuffixed float constant, handle new warning.
* c-cppbuiltin.c (c_cpp_builtins): Use cast for double constants.
* c-decl.c (c_scope): New flag float_const_decimal64.
(set_float_const_decimal64, clear_float_const_decimal64,
float_const_decimal64_p): New.
(push_scope): Set new flag.
* c-parser.c (c_parser_translation_unit): Mark when it's valid
to use STDC pragmas.
(c_parser_external_declaration): Ditto.
(c_parser_compound_statement_nostart): Ditto.
* c-pragma.c (valid_location_for_stdc_pragma,
mark_valid_location_for_stdc_pragma,
valid_location_for_stdc_pragma_p, handle_stdc_pragma,
handle_pragma_float_const_decimal64): New.
(init_pragma): Register new pragma FLOAT_CONST_DECIMAL64.
* cp/semantics.c (valid_location_for_stdc_pragma_p,
set_float_const_decimal64, clear_float_const_decimal64,
float_const_decimal64_p): New dummy functions.
* doc/extend.texi (Decimal Float): Remove statement that the
pragma, and suffix for double constants, are not supported.
* doc/invoke.texi (Warning Options): List new option.
(-Wunsuffixed-float-constants): New.

gcc/testsuite
PR c/39037
* gcc.dg/Wunsuffixed-float-constants-1.c: New test.
* gcc.dg/cpp/pragma-float-const-decimal64-1.c: New test.
* gcc.dg/dfp/float-constant-double.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-1.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-2.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-3.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-4.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-5.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-6.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-7.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-8.c: New test.
* g++.dg/cpp/pragma-float-const-decimal64-1.C: New test.

From-SVN: r147259

15 years agore PR fortran/38830 (Document lack of "Variable Format Expression" support)
Francois-Xavier Coudert [Thu, 7 May 2009 22:14:23 +0000 (22:14 +0000)]
re PR fortran/38830 (Document lack of "Variable Format Expression" support)

PR fortran/38830
* gfortran.texi: Document that we don't support variable FORMAT
expressions.

From-SVN: r147258

15 years agore PR fortran/39576 (gcc/fortran/error.c's error.c missing "break")
Francois-Xavier Coudert [Thu, 7 May 2009 22:01:34 +0000 (22:01 +0000)]
re PR fortran/39576 (gcc/fortran/error.c's error.c missing "break")

PR fortran/39576
* error.c (error_print): Add missing break statement.

From-SVN: r147257

15 years agore PR fortran/36382 (Support $ as first character in symbol names and in IMPLICT)
Francois-Xavier Coudert [Thu, 7 May 2009 21:48:14 +0000 (21:48 +0000)]
re PR fortran/36382 (Support $ as first character in symbol names and in IMPLICT)

PR fortran/36382
* invoke.texi: Document that -fdollar-ok does not allow $ to be
used in IMPLICIT statement.

From-SVN: r147256

15 years agore PR libfortran/22423 (Warnings when building libgfortran)
François-Xavier Coudert [Thu, 7 May 2009 21:42:22 +0000 (21:42 +0000)]
re PR libfortran/22423 (Warnings when building libgfortran)

PR fortran/22423

* io/transfer.c (read_block_direct): Avoid warning.
* runtime/string.c (compare0): Avoid warning.

From-SVN: r147254

15 years ago* config/i386/i386.c: Do not include c-common.h.
Steven Bosscher [Thu, 7 May 2009 20:47:24 +0000 (20:47 +0000)]
* config/i386/i386.c: Do not include c-common.h.

From-SVN: r147250

15 years agoinvoke.texi (Debugging Options): Document change of debugging dump location.
Mark Heffernan [Thu, 7 May 2009 19:58:10 +0000 (19:58 +0000)]
invoke.texi (Debugging Options): Document change of debugging dump location.

2009-05-07  Mark Heffernan  <meheff@google.com>

* doc/invoke.texi (Debugging Options): Document change of debugging
dump location.
        * opts.c (decode_options): Make dump_base_name relative to
aux_base_name directory.

From-SVN: r147249

15 years agopicochip.h (NO_DOLLAR_IN_LABEL): Added.
Hariharan Sandanagobalane [Thu, 7 May 2009 17:52:30 +0000 (17:52 +0000)]
picochip.h (NO_DOLLAR_IN_LABEL): Added.

* config/picochip/picochip.h (NO_DOLLAR_IN_LABEL): Added.
* config/picochip/libgccExtras/divmod15.asm : Removed redefiniton.

From-SVN: r147248

15 years agoMakefile.in (install-plugin): Simplify a bit.
Rafael Avila de Espindola [Thu, 7 May 2009 15:49:19 +0000 (15:49 +0000)]
Makefile.in (install-plugin): Simplify a bit.

2009-05-07  Rafael Avila de Espindola  <espindola@google.com>

* Makefile.in (install-plugin): Simplify a bit.

From-SVN: r147244

15 years agoMakefile.in (OBJS-common): Add regcprop.o.
Paolo Bonzini [Thu, 7 May 2009 15:47:11 +0000 (15:47 +0000)]
Makefile.in (OBJS-common): Add regcprop.o.

2009-05-07  Paolo Bonzini  <bonzini@gnu.org>

* Makefile.in (OBJS-common): Add regcprop.o.
(regcprop.o): New.
* timevar.def (TV_CPROP_REGISTERS): New.
* regrename.c (regrename_optimize): Return 0.
(rest_of_handle_regrename): Delete.
(pass_rename_registers): Point to regrename_optimize.
(struct value_data_entry, struct value_data,
kill_value_one_regno, kill_value_regno, kill_value,
set_value_regno, init_value_data, kill_clobbered_value,
kill_set_value, kill_autoinc_value, copy_value,
mode_change_ok, maybe_mode_change, find_oldest_value_reg,
replace_oldest_value_reg, replace_oldest_value_addr,
replace_oldest_value_mem, copyprop_hardreg_forward_1,
debug_value_data, validate_value_data): Move...
* regcprop.c: ... here.
(rest_of_handle_cprop): Delete.
(pass_cprop_hardreg): Point to copyprop_hardreg_forward.

From-SVN: r147243

15 years agore PR middle-end/40057 (Incorrect right shift by 31 with long long)
Jakub Jelinek [Thu, 7 May 2009 15:27:40 +0000 (17:27 +0200)]
re PR middle-end/40057 (Incorrect right shift by 31 with long long)

PR middle-end/40057
* dojump.c (prefer_and_bit_test): Use immed_double_const instead of
GEN_INT for 1 << bitnum.
(do_jump) <case BIT_AND_EXPR>: Use build_int_cst_wide_type instead of
build_int_cst_type.

* gcc.c-torture/execute/pr40057.c: New test.

From-SVN: r147241

15 years agoconfigure.ac: Bump libtool_VERSION to 6:12:0.
Paolo Carlini [Thu, 7 May 2009 10:22:46 +0000 (10:22 +0000)]
configure.ac: Bump libtool_VERSION to 6:12:0.

2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

* configure.ac: Bump libtool_VERSION to 6:12:0.
* configure: Regenerate.

From-SVN: r147228

15 years ago* gcc-interface/Make-lang.in: Update dependencies
Arnaud Charlet [Thu, 7 May 2009 10:00:43 +0000 (10:00 +0000)]
* gcc-interface/Make-lang.in: Update dependencies

From-SVN: r147227

15 years ago[multiple changes]
Paolo Bonzini [Thu, 7 May 2009 08:36:43 +0000 (08:36 +0000)]
[multiple changes]

2009-05-07  Paolo Bonzini  <bonzini@gnu.org>

* config.guess: Sync with src.

config:
2009-05-07  Paolo Bonzini

Sync from src:
2009-02-02  Doug Evans  <dje@google.com>

* tcl.m4 (SC_PATH_TCLCONFIG): Don't exit 0 if tclconfig fails.
(SC_PATH_TKCONFIG): Don't exit 0 if tkconfig fails.
(SC_LOAD_TCLCONFIG): Quote all uses of TCL_BIN_DIR, it may contain
"# no Tcl configs found".
(SC_LOAD_TKCONFIG): Similarily for TK_BIN_DIR.

From-SVN: r147225

15 years agomd.texi (Standard Pattern Names For Generation): Remove wrong description of "nand...
Uros Bizjak [Thu, 7 May 2009 08:11:04 +0000 (10:11 +0200)]
md.texi (Standard Pattern Names For Generation): Remove wrong description of "nand" functionality.

* doc/md.texi (Standard Pattern Names For Generation) [sync_nand]:
Remove wrong description of "nand" functionality.

From-SVN: r147222

15 years agoChangeLog: Whitespace fixes.
Uros Bizjak [Thu, 7 May 2009 07:47:35 +0000 (09:47 +0200)]
ChangeLog: Whitespace fixes.

* ChangeLog: Whitespace fixes.
* testsuite/ChangeLog: Ditto.

From-SVN: r147220

15 years agore PR libstdc++/40038 (symbols ceill@GLIBCXX_3.4.3 not exported)
Matthias Klose [Thu, 7 May 2009 06:55:15 +0000 (06:55 +0000)]
re PR libstdc++/40038 (symbols ceill@GLIBCXX_3.4.3 not exported)

2009-05-07  Matthias Klose  <doko@ubuntu.com>

PR libstdc++/40038
* src/math_stubs_long_double.cc: Add ceill.

From-SVN: r147217

15 years agoconfigure.ac ($with_ppl): Default to no if not supplied.
Dave Korn [Thu, 7 May 2009 05:23:16 +0000 (05:23 +0000)]
configure.ac ($with_ppl): Default to no if not supplied.

* configure.ac ($with_ppl):  Default to no if not supplied.
($with_cloog):  Likewise.
configure:  Regenerate.

From-SVN: r147216

15 years agoCorrect changelog from last checkin, cut-n-paste from wrong patch file.
Jim Wilson [Thu, 7 May 2009 00:26:46 +0000 (17:26 -0700)]
Correct changelog from last checkin, cut-n-paste from wrong patch file.

* gcc.c-torture/compile/const-high-part.c: New test.

From-SVN: r147214

15 years ago* gcc.target/mips/const-high-part.c: New test.
James E. Wilson [Thu, 7 May 2009 00:24:53 +0000 (00:24 +0000)]
* gcc.target/mips/const-high-part.c: New test.

From-SVN: r147213

15 years agoDaily bump.
GCC Administrator [Thu, 7 May 2009 00:17:11 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r147212

15 years agogimple.def (GIMPLE_ASSIGN): Fix incorrect information in the comment.
Richard Guenther [Wed, 6 May 2009 21:40:10 +0000 (21:40 +0000)]
gimple.def (GIMPLE_ASSIGN): Fix incorrect information in the comment.

* gimple.def (GIMPLE_ASSIGN): Fix incorrect information in the
comment.  Add that if LHS is not a gimple register, then RHS1 has
to be a single object (GIMPLE_SINGLE_RHS).

Co-Authored-By: Adam Nemet <anemet@caviumnetworks.com>
From-SVN: r147209

15 years agore PR testsuite/40050 (plugin tests don't work with multilib)
H.J. Lu [Wed, 6 May 2009 21:31:56 +0000 (21:31 +0000)]
re PR testsuite/40050 (plugin tests don't work with multilib)

2009-05-06  H.J. Lu  <hongjiu.lu@intel.com>

PR testsuite/40050
* lib/plugin-support.exp (plugin-test-execute): Use HOSTCC to
build plugin.

From-SVN: r147208

15 years agos-linux.ads, [...]: Define sa_handler_pos.
Laurent GUERBY [Wed, 6 May 2009 21:22:56 +0000 (21:22 +0000)]
s-linux.ads, [...]: Define sa_handler_pos.

2009-05-06  Laurent GUERBY <laurent@guerby.net>

        * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads,
        osinte-linux.ads: Define sa_handler_pos.
        * s-osinte-linux.ads: Use it.
        * s-linux-mipsel.ads: New.
        * system-linux-mips64el.ads: New.
        * gcc-interface/Makefile.in: Multilib handling for
        mipsel-linux and mips64el-linux.

From-SVN: r147207

15 years agore PR fortran/39630 ([F03] Procedure Pointer Components)
Janus Weil [Wed, 6 May 2009 21:17:16 +0000 (23:17 +0200)]
re PR fortran/39630 ([F03] Procedure Pointer Components)

2009-05-06  Janus Weil  <janus@gcc.gnu.org>
    Paul Thomas  <pault@gcc.gnu.org>

PR fortran/39630
* decl.c (match_procedure_interface): New function to match the
interface for a PROCEDURE statement.
(match_procedure_decl): Call match_procedure_interface.
(match_ppc_decl): New function to match the declaration of a
procedure pointer component.
(gfc_match_procedure):  Call match_ppc_decl.
(match_binding_attributes): Add new argument 'ppc' and handle the
POINTER attribute for procedure pointer components.
(match_procedure_in_type,gfc_match_generic): Added new argument to
match_binding_attributes.
* dump-parse-tree.c (show_expr,show_components,show_code_node): Handle
procedure pointer components.
* expr.c (free_expr0,gfc_copy_expr,gfc_simplify_expr): Handle EXPR_PPC.
(gfc_check_pointer_assign): Handle procedure pointer components, but no
full checking yet.
(is_proc_ptr_comp): New function to determine if an expression is a
procedure pointer component.
* gfortran.h (expr_t): Add EXPR_PPC.
(symbol_attribute): Add new member 'proc_pointer_comp'.
(gfc_component): Add new member 'formal'.
(gfc_exec_op): Add EXEC_CALL_PPC.
(gfc_get_default_type): Changed first argument.
(is_proc_ptr_comp): Add prototype.
(gfc_match_varspec): Add new argument.
* interface.c (compare_actual_formal): Handle procedure pointer
components.
* match.c (gfc_match_pointer_assignment,match_typebound_call): Handle
procedure pointer components.
* module.c (mio_expr): Handle EXPR_PPC.
* parse.c (parse_derived): Handle procedure pointer components.
* primary.c (gfc_match_varspec): Add new argument 'ppc_arg' and handle
procedure pointer components.
(gfc_variable_attr): Handle procedure pointer components.
(gfc_match_rvalue): Added new argument to gfc_match_varspec and changed
first argument of gfc_get_default_type.
(match_variable): Added new argument to gfc_match_varspec.
* resolve.c (resolve_entries,set_type,resolve_fl_parameter): Changed
first argument of gfc_get_default_type.
(resolve_structure_cons,resolve_actual_arglist): Handle procedure
pointer components.
(resolve_ppc_call): New function to resolve a call to a procedure
pointer component (subroutine).
(resolve_expr_ppc): New function to resolve a call to a procedure
pointer component (function).
(gfc_resolve_expr): Handle EXPR_PPC.
(resolve_code): Handle EXEC_CALL_PPC.
(resolve_fl_derived): Copy the interface for a procedure pointer
component.
(resolve_symbol): Fix overlong line.
* st.c (gfc_free_statement): Handle EXEC_CALL_PPC.
* symbol.c (gfc_get_default_type): Changed first argument.
(gfc_set_default_type): Changed first argument of gfc_get_default_type.
(gfc_add_component): Initialize ts.type to BT_UNKNOWN.
* trans.h (gfc_conv_function_call): Renamed.
* trans.c (gfc_trans_code): Handle EXEC_CALL_PPC.
* trans-expr.c (gfc_conv_component_ref): Ditto.
(gfc_conv_function_val): Rename to 'conv_function_val', add new
argument 'expr' and handle procedure pointer components.
(gfc_conv_operator_assign): Renamed gfc_conv_function_val.
(gfc_apply_interface_mapping_to_expr): Handle EXPR_PPC.
(gfc_conv_function_call): Rename to 'gfc_conv_procedure_call', add new
argument 'expr' and handle procedure pointer components.
(gfc_get_proc_ptr_comp): New function to get the backend decl for a
procedure pointer component.
(gfc_conv_function_expr): Renamed gfc_conv_function_call.
(gfc_conv_structure): Handle procedure pointer components.
* trans-intrinsic.c (gfc_conv_intrinsic_funcall,
conv_generic_with_optional_char_arg): Renamed gfc_conv_function_call.
* trans-stmt.h (gfc_get_proc_ptr_comp): Add prototype.
* trans-stmt.c (gfc_trans_call): Renamed gfc_conv_function_call.
* trans-types.h (gfc_get_ppc_type): Add prototype.
* trans-types.c (gfc_get_ppc_type): New function to build a tree node
for a procedure pointer component.
(gfc_get_derived_type): Handle procedure pointer components.

2009-05-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39630
* gfortran.dg/proc_decl_1.f90: Modified.
* gfortran.dg/proc_ptr_comp_1.f90: New.
* gfortran.dg/proc_ptr_comp_2.f90: New.
* gfortran.dg/proc_ptr_comp_3.f90: New.
* gfortran.dg/proc_ptr_comp_4.f90: New.
* gfortran.dg/proc_ptr_comp_5.f90: New.
* gfortran.dg/proc_ptr_comp_6.f90: New.

Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
From-SVN: r147206

15 years agoexpr.c (get_def_for_expr): Move it up in the file.
Adam Nemet [Wed, 6 May 2009 20:46:25 +0000 (20:46 +0000)]
expr.c (get_def_for_expr): Move it up in the file.

* expr.c (get_def_for_expr): Move it up in the file.
(store_field): When expanding a bit-field store, look at the
defining gimple stmt for the masking conversion.

From-SVN: r147203

15 years agore PR c++/17395 (Incorrect lookup for parameters)
Dodji Seketeli [Wed, 6 May 2009 20:41:52 +0000 (20:41 +0000)]
re PR c++/17395 (Incorrect lookup for parameters)

2009-05-06  Dodji Seketeli  <dodji@redhat.com>

    gcc/cp/ChangeLog:
     PR c++/17395
     * pt.c (tsubst_copy) <case PARM_DECL>: We don't want to tsubst the
     whole list of PARM_DECLs, just the current one.

    gcc/testsuite/ChangeLog:
     PR c++/17395
     * g++.dg/template/call7.C: New test.

From-SVN: r147201

15 years agoRemove extra '('.
H.J. Lu [Wed, 6 May 2009 18:18:41 +0000 (11:18 -0700)]
Remove extra '('.

From-SVN: r147198

15 years agoplugin-support.exp: Do not prefix $GMPINC with -I.
Diego Novillo [Wed, 6 May 2009 18:13:40 +0000 (14:13 -0400)]
plugin-support.exp: Do not prefix $GMPINC with -I.

* lib/plugin-support.exp: Do not prefix $GMPINC with -I.

From-SVN: r147197

15 years agopr40021.f: Moved to ...
H.J. Lu [Wed, 6 May 2009 17:33:59 +0000 (10:33 -0700)]
pr40021.f: Moved to ...

2009-05-06  H.J. Lu  <hongjiu.lu@intel.com>

* gfortran.dg/pr40021.f: Moved to ...
* gfortran.fortran-torture/execute/pr40021.f: Here.

From-SVN: r147192

15 years agore PR middle-end/39986 (decimal float constant is incorrect when cc1 is a 64-bit...
Janis Johnson [Wed, 6 May 2009 16:59:53 +0000 (16:59 +0000)]
re PR middle-end/39986 (decimal float constant is incorrect when cc1 is a 64-bit binary)

PR middle-end/39986
* dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
decode_decimal64, encode_decimal128, decode_decimal128): Avoid
32-bit memcpy into long.

* gcc.dg/dfp/pr39986.c: New test.

From-SVN: r147188

15 years agodwarf2out.c (new_reg_loc_descr): Don't ever create DW_OP_regX.
Jakub Jelinek [Wed, 6 May 2009 16:51:25 +0000 (18:51 +0200)]
dwarf2out.c (new_reg_loc_descr): Don't ever create DW_OP_regX.

* dwarf2out.c (new_reg_loc_descr): Don't ever create DW_OP_regX.
(one_reg_loc_descriptor): Create DW_OP_regX here instead of calling
new_reg_loc_descr.
(loc_by_reference): If loc is DW_OP_regX, change it into DW_OP_bregX 0
instead of appending DW_OP_deref*.

From-SVN: r147187

15 years agore PR middle-end/40021 (Revision 146817 miscompiled DAXPY in BLAS)
Michael Matz [Wed, 6 May 2009 16:49:13 +0000 (16:49 +0000)]
re PR middle-end/40021 (Revision 146817 miscompiled DAXPY in BLAS)

        PR middle-end/40021
        * cfgexpand.c (maybe_cleanup_end_of_block): New static function.
        (expand_gimple_cond): Use it to cleanup CFG and superfluous jumps.

        * gfortran.dg/pr40021.f: New test.

From-SVN: r147186

15 years agoplugin-support.exp: New file containing support procs for plugin testcases.
Le-Chun Wu [Wed, 6 May 2009 16:22:19 +0000 (16:22 +0000)]
plugin-support.exp: New file containing support procs for plugin testcases.

2009-05-06  Le-Chun Wu  <lcwu@google.com>

* lib/plugin-support.exp: New file containing support procs for
plugin testcases.
* lib/target-supports.exp (check_plugin_available): New proc.
* gcc.dg/plugin/plugin.exp: New driver script for gcc testcases.
* gcc.dg/plugin/selfassign.c: New plugin source file.
* gcc.dg/plugin/self-assign-test-1.c: New test.
* gcc.dg/plugin/self-assign-test-2.c: Likewise.
* g++.dg/README: Add description for plugin test.
* g++.dg/dg.exp: Exclude plugin tests from the general test list.
* g++.dg/plugin/plugin.exp: New driver script for g++ testcases.
* g++.dg/plugin/selfassign.c: New plugin source file.
* g++.dg/plugin/self-assign-test-1.C: New test.
* g++.dg/plugin/self-assign-test-2.C: Likewise.
* g++.dg/plugin/self-assign-test-3.C: Likewise.
* g++.dg/plugin/dumb_plugin.c: New plugin source file.
* g++.dg/plugin/dumb-plugin-test-1.C: New test.

From-SVN: r147185

15 years agore PR fortran/40041 (spurious warning with INTRINSIC statement)
Tobias Burnus [Wed, 6 May 2009 15:44:18 +0000 (17:44 +0200)]
re PR fortran/40041 (spurious warning with INTRINSIC statement)

2009-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40041
        * resolve.c (resolve_symbol): Print no warning for implicitly
        typed intrinsic functions.

2009-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40041
        * gfortran.dg/intrinsic_2.f90: New test.
        * gfortran.dg/intrinsic.f90: Add old and this PR as comment.

From-SVN: r147183

15 years ago[multiple changes]
Arnaud Charlet [Wed, 6 May 2009 15:15:25 +0000 (17:15 +0200)]
[multiple changes]

2009-05-06  Robert Dewar  <dewar@adacore.com>

* sem_attr.adb: Add processing for Standard'Compiler_Version

2009-05-06  Arnaud Charlet  <charlet@adacore.com>

* exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
(Tagged_Type_Expansion): New flag.
Replace use of VM_Target related to tagged types expansion by
Tagged_Type_Expansion, since tagged type expansion is not necessarily
linked to VM targets.

From-SVN: r147182

15 years agosinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren skipping.
Robert Dewar [Wed, 6 May 2009 15:08:57 +0000 (15:08 +0000)]
sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren skipping.

2009-05-06  Robert Dewar  <dewar@adacore.com>

* sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
skipping.
(Expr_First_Char): Add ??? comment that paren skipping needs work
(Expr_Last_Char): Add ??? comment that paren skipping needs work

* exp_attr.adb: Add processing for Compiler_Version

* sem_attr.adb: New attribute Compiler_Version

* snames.ads-tmpl: Add entries for Compiler_Version attribute

* gnat_rm.texi: Document Compiler_Version attribute

From-SVN: r147181