Commit Graph

122530 Commits

Author SHA1 Message Date
Matthias Klose 6ab7e76a59 Makefile.def (target_modules): Don't install libffi.
2013-03-30  Matthias Klose  <doko@ubuntu.com>

        * Makefile.def (target_modules): Don't install libffi.
        * Makefile.in: Regenerate.

From-SVN: r197264
2013-03-30 11:22:02 +00:00
Thomas Koenig 244fdda055 ChangeLog: Add commit message from rev.
2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* fortran/ChangeLog:  Add commit message from rev. 197261
	* testsuite/ChangeLog:  Likewise.

From-SVN: r197262
2013-03-30 10:23:09 +00:00
Thomas Koenig 01446eb82c trans-expr.c (build_memcmp_call): New function.
2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* trans-expr.c (build_memcmp_call):  New function.
	(gfc_build_compare_string):  If the strings
	compared have constant and equal lengths and
	the strings are kind=1, or, for kind=4 strings,
	the test is for (in)equality, use memcmp().

2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* gfortran.dg/character_comparison_3.f90:  Adjust for use of memcmp
	for constant and equal string lengths.
	* gfortran.dg/character_comparison_5.f90:  Likewise.
	* gfortran.dg/character_comparison_9.f90:  New test.

From-SVN: r197261
2013-03-30 10:19:02 +00:00
Gabriel Dos Reis 032951216c pt.c (template_parms_to_args): Fix typo in comment.
* pt.c (template_parms_to_args): Fix typo in comment.

From-SVN: r197259
2013-03-30 02:35:41 +00:00
GCC Administrator 33c22f4a48 Daily bump.
From-SVN: r197257
2013-03-30 00:16:32 +00:00
Paolo Carlini 5950480cd0 call.c (build_op_call_1): Use TYPE_PTRFN_P and TYPE_REFFN_P.
2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* call.c (build_op_call_1): Use TYPE_PTRFN_P and TYPE_REFFN_P.

From-SVN: r197253
2013-03-29 23:12:33 +00:00
Tobias Burnus 60f97ac859 re PR fortran/35203 (OPTIONAL, VALUE actual argument cannot be an INTEGER 0)
2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/35203
        * trans-decl.c (create_function_arglist): Pass hidden argument
        for passed-by-value optional+value dummies.
        * trans-expr.c (gfc_conv_expr_present,
        gfc_conv_procedure_call): Handle those.

2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/35203
        * gfortran.dg/optional_absent_3.f90: New.

From-SVN: r197252
2013-03-29 23:26:17 +01:00
Paolo Carlini 50e10fa881 call.c (add_builtin_candidate): Use TYPE_PTR_P and VOID_TYPE_P.
2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* call.c (add_builtin_candidate): Use TYPE_PTR_P and VOID_TYPE_P.
	(build_op_call_1): Likewise.
	(build_over_call): Likewise.
	(compare_ics): Likewise.
	* class.c (build_base_path): Likewise.
	(resolve_address_of_overloaded_function): Likewise.
	* cp-tree.h: Likewise.
	* cvt.c (cp_convert_to_pointer): Likewise.
	(convert_to_reference): Likewise.
	(ocp_convert): Likewise.
	(convert_force): Likewise, tidy.
	* cxx-pretty-print.c (pp_cxx_postfix_expression): Likewise.
	(pp_cxx_ptr_operator): Likewise.
	* decl.c (duplicate_decls): Likewise.
	(start_decl): Likewise.
	(grok_op_properties): Likewise.
	(start_preparsed_function): Likewise.
	(store_parm_decls): Likewise.
	(finish_function): Likewise.
	* decl2.c (delete_sanity): Likewise.
	(acceptable_java_type): Likewise.
	(grokbitfield): Likewise.
	(cp_reconstruct_complex_type): Likewise.
	* error.c (dump_type_prefix): Likewise.
	(dump_expr): Likewise.
	* except.c (push_eh_cleanup): Likewise.
	(complete_ptr_ref_or_void_ptr_p): Likewise.
	(can_convert_eh): Likewise.
	* init.c (build_new_1): Likewise.
	(build_delete): Likewise.
	(build_vec_delete): Likewise.
	* mangle.c (write_type): Likewise.
	* parser.c (lookup_literal_operator): Likewise.
	* pt.c (convert_nontype_argument_function): Likewise.
	(convert_nontype_argument): Likewise.
	(tsubst): Likewise.
	(unify): Likewise.
	(dependent_type_p_r): Likewise.
	* rtti.c (build_headof): Likewise.
	(build_typeid): Likewise.
	(build_dynamic_cast_1): Likewise.
	(target_incomplete_p): Likewise.
	(typeinfo_in_lib_p): Likewise.
	* semantics.c (finish_omp_for): Likewise.
	(cxx_eval_call_expression): Likewise.
	(maybe_resolve_dummy): Likewise.
	* tree.c (build_target_expr): Likewise.
	(cp_build_qualified_type_real): Likewise.
	* typeck.c (composite_pointer_type_r): Likewise.
	(composite_pointer_type): Likewise.
	(comp_except_types): Likewise.
	(cxx_sizeof_nowarn): Likewise.
	(string_conv_p): Likewise.
	(cp_build_array_ref): Likewise.
	(cp_build_function_call_vec): Likewise, also use TYPE_PTRFN_P.
	(pointer_diff): Likewise.
	(cp_build_addr_expr_1): Likewise.
	(cp_build_unary_op): Likewise.
	(build_static_cast_1): Likewise.
	(cp_build_c_cast): Likewise.
	(comp_ptr_ttypes_real): Likewise.
	(ptr_reasonably_similar): Likewise.
	(comp_ptr_ttypes_const): Likewise.
	(casts_away_constness): Likewise.
	(check_literal_operator_args): Likewise.
	* typeck2.c (build_x_arrow): Likewise.
	(add_exception_specifier): Likewise.

From-SVN: r197249
2013-03-29 20:29:26 +00:00
Jason Merrill 10c6dc8e39 cp-tree.h (AUTO_IS_DECLTYPE): New.
N3582
	* cp-tree.h (AUTO_IS_DECLTYPE): New.
	* parser.c (cp_parser_decltype): Handle decltype(auto).
	(cp_parser_type_id_1): Allow auto without a late-specified
	return in C++1y.
	(cp_parser_primary_expression): Use the return value of
	finish_parenthesized_expr.
	(cp_parser_transaction_expression): Likewise.
	* semantics.c (force_paren_expr): New.
	(finish_parenthesized_expr): Use it.
	* call.c (build_conditional_expr_1): Likewise.
	* pt.c (do_auto_deduction): Handle decltype(auto).
	(tsubst_copy): Handle PAREN_EXPR.
	(tsubst_copy_and_build): Likewise.
	* error.c (dump_expr): Handle PAREN_EXPR.
	* cxx-pretty-print.c (pp_cxx_expression): Likewise.
	* mangle.c (write_expression): Ignore PAREN_EXPR.

	* parser.c (cp_parser_decltype_expr): Split out...
	(cp_parser_decltype): ...from here.

From-SVN: r197248
2013-03-29 15:51:36 -04:00
Jason Merrill 15914ac8b1 parser.c (cp_parser_decltype_expr): Split out...
* parser.c (cp_parser_decltype_expr): Split out...
	(cp_parser_decltype): ...from here.

From-SVN: r197247
2013-03-29 15:51:29 -04:00
Jason Merrill 4185fb7350 re PR c++/56774 (G++ 4.8 reverses variadic template types during unpacking)
PR c++/56774
	PR c++/35722
	* pt.c (unify_pack_expansion): Fix indexing.

From-SVN: r197244
2013-03-29 14:59:09 -04:00
Jan Hubicka 0208f7dab0 lto-cgraph.c (output_profile_summary, [...]): Use gcov streaming; stream hot bb threshold to ltrans.
* lto-cgraph.c (output_profile_summary, input_profile_summary): Use
	gcov streaming; stream hot bb threshold to ltrans.
	* predict.c (get_hot_bb_threshold): Break out from ....
	(maybe_hot_count_p): ... here.
	(set_hot_bb_threshold): New function.
	* lto-section-in.c (lto_section_name): Add profile.
	* profile.h (get_hot_bb_threshold, set_hot_bb_threshold): Declare.
	* ipa.c: Include hash-table.h, tree-inline.h, profile.h, lto-streamer.h
	and data-streamer.h
	(histogram_entry): New structure.
	(histogram, histogram_pool): New global vars.
	(histogram_hash): New structure.
	(histogram_hash::hash): New method.
	(histogram_hash::equal): Likewise.
	(account_time_size): New function.
	(cmp_counts): New function.
	(dump_histogram): New function.
	(ipa_profile_generate_summary): New function.
	(ipa_profile_write_summary): New function.
	(ipa_profile_read_summary): New function.
	(ipa_profile): Decide on threshold.
	(pass_ipa_profile): Add ipa_profile_write_summary and ipa_profile_read_summary.
	* Makefile.in (ipa.o): Update dependencies.
	* lto-streamer.h (LTO_section_ipa_profile): New section.

From-SVN: r197243
2013-03-29 18:07:34 +00:00
Gabriel Dos Reis 5a6ccc943f tree.h (VAR_P): New.
* tree.h (VAR_P): New.
cp/
	* call.c (build_java_interface_fn_ref): Likewise.
	(make_temporary_var_for_ref_to_temp): Likewise.
	* class.c (check_field_decls): Likewise.
	(layout_class_type): Likewise.
	(finish_struct_1): Likewise.
	(fixed_type_or_null): Likewise.
	(get_vtbl_decl_for_binfo): Likewise.
	* cp-gimplify.c (omp_var_to_track): Likewise.
	(cp_genericize_r): Likewise.
	* cp-objcp-common.c (cxx_warn_unused_global_decl): Likewise.
	* cp-tree.h (LANG_DECL_HAS_MIN): Likewise.
	(DECL_DISCRIMINATOR_P): Likewise.
	* decl.c (poplevel): Likewise.
	(decls_match): Likewise.
	(duplicate_decls): Likewise.
	(decl_jump_unsafe): Likewise.
	(start_decl): Likewise.
	(check_for_uninitialized_const_var): Likewise.
	(make_rtl_for_nonlocal_decl): Likewise.
	(cp_finish_decl): Likewise.
	(expand_static_init): Likewise.
	(local_variable_p): Likewise.
	(maybe_register_incomplete_var): Likewise.
	* decl2.c (grokfield): Likewise.
	(comdat_linkage): Likewise.
	(determine_visibility): Likewise.
	(import_export_decl): Likewise.
	(prune_vars_needing_no_initialization): Likewise.
	(decl_maybe_constant_var_p): Likewise.
	* error.c (dump_simple_decl): Likewise.
	(dump_template_decl): Likewise.
	(cp_printer): Likewise.
	* except.c (build_throw): Likewise.
	* init.c (build_vtbl_address): Likewise.
	(member_init_ok_or_else): Likewise.
	(build_aggr_init): Likewise.
	(expand_aggr_init_1): Likewise.
	(build_offset_ref): Likewise.
	(constant_value_1): Likewise.
	* mangle.c (write_mangled_name): Likewise.
	(write_prefix): Likewise.
	* name-lookup.c (supplement_binding_1): Likewise.
	(add_decl_to_level): Likewise.
	(pushdecl_maybe_friend_1): Likewise.
	(check_for_out_of_scope_variable): Likewise.
	(validate_nonmember_using_decl): Likewise.
	(lookup_name_innermost_nonclass_level_1): Likewise.
	(lookup_arg_dependent_1): Likewise.
	* parser.c (cp_parser_lambda_introducer): Likewise.
	(cp_parser_template_argument): Likewise.
	(cp_parser_single_declaration): Likewise.
	* pt.c (convert_nontype_argument): Likewise.
	(instantiate_class_template_1): Likewise.
	(tsubst_decl): Likewise.
	(tsubst_expr): Likewise.
	(do_decl_instantiation): Likewise.
	(do_type_instantiation): Likewise.
	(regenerate_decl_from_template): Likewise.
	(always_instantiate_p): Likewise.
	(instantiate_decl): Likewise.
	(type_dependent_expression_p): Likewise.
	(build_non_dependent_expr): Likewise.
	* repo.c (repo_emit_p): Likewise.
	* rtti.c (build_dynamic_cast_1): Likewise.
	* search.c (shared_member_p): Likewise.
	* semantics.c (outer_var_p): Likewise.
	(finish_id_expression): Likewise.
	(finish_omp_clauses): Likewise.
	(finish_decltype_type): Likewise.
	(ensure_literal_type_for_constexpr_object): Likewise.
	* tree.c (lvalue_kind): Likewise.
	(bot_replace): Likewise.
	(cp_tree_equal): Likewise.
	(handle_init_priority_attribute): Likewise.
	(decl_storage_duration): Likewise.
	* typeck.c (cxx_sizeof_expr): Likewise.
	(cxx_alignof_expr): Likewise.
	(decay_conversion): Likewise.
	(build_class_member_access_expr): Likewise.
	(cp_build_array_ref): Likewise.
	(cxx_mark_addressable): Likewise.
	(maybe_warn_about_returning_address_of_local): Likewise.
	(check_return_expr): Likewise.
	* typeck2.c (cxx_readonly_error): Likewise.
	(abstract_virtuals_error_sfinae): Likewise.
	(cxx_incomplete_type_diagnostic): Likewise.

From-SVN: r197240
2013-03-29 16:09:35 +00:00
Paolo Carlini 39385fa637 re PR lto/56777 (bad grammar in fwhole-program documentation)
2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR lto/56777
	* doc/invoke.texi ([-fwhole-program]): Fix typo.

From-SVN: r197237
2013-03-29 13:41:14 +00:00
Steven Bosscher 34f0d87acd cfgbuild.c (inside_basic_block_p): Use JUMP_TABLE_DATA_P in lieu of tests for JUMP_P and a ADDR_DIFF_VEC or...
* cfgbuild.c (inside_basic_block_p): Use JUMP_TABLE_DATA_P in lieu
	of tests for JUMP_P and a ADDR_DIFF_VEC or ADDR_VEC pattern.
	(control_flow_insn_p): Likewise.
	* cfgrtl.c (duplicate_insn_chain): Likewise.
	* final.c (get_attr_length_1): Likewise.
	(shorten_branches): Likewise.
	(final_scan_insn): Likewise.
	* function.c (instantiate_virtual_regs): Likewise.
	* gcse.c (insert_insn_end_basic_block): Likewise.
	* ira-costs.c (scan_one_insn): Likewise.
	* lra-eliminations.c (eliminate_regs_in_insn): Likewise.
	* lra.c (check_rtl): Likewise.
	* reload1.c (elimination_costs_in_insn): Likewise.
	* reorg.c (follow_jumps): Likewise.

	* config/arm/arm.c (is_jump_table): Use JUMP_TABLE_DATA_P in lieu
	of tests for JUMP_P and a ADDR_DIFF_VEC or ADDR_VEC pattern.
	(thumb_far_jump_used_p): Likewise.
	* config/bfin/bfin.c (workaround_rts_anomaly): Likewise.
	(workaround_speculation): Likewise.
	(add_sched_insns_for_speculation): Likewise.
	* config/c6x/c6x.c (reorg_emit_nops): Likewise.
	* config/frv/frv.c (frv_function_contains_far_jump): Likewise.
	(frv_for_each_packet): Likewise.
	* config/i386/i386.c (ix86_avoid_jump_mispredicts): Likewise.
	* config/ia64/ia64.c (emit_all_insn_group_barriers): Likewise.
	(final_emit_insn_group_barriers): Likewise.
	* config/m32r/m32r.c (m32r_is_insn): Likewise.
	* config/mips/mips.c (USEFUL_INSN_P): Likewise.
	(mips16_insn_length): Likewise.
	* config/pa/pa.c (pa_reorg): Likewise.
	(pa_combine_instructions): Likewise.
	* config/rs6000/rs6000.c (rs6000_invalid_within_doloop): Likewise.
	* config/sh/sh.c (fixup_addr_diff_vecs): Likewise.
	(sh_reorg): Likewise.
	(split_branches): Likewise.
	* config/spu/spu.c (get_branch_target): Likewise.

	* config/s390/s390.c (s390_chunkify_start): Simplify logic using
	JUMP_TABLE_DATA_P.

From-SVN: r197234
2013-03-29 12:11:10 +00:00
Kirill Yukhin 4ac761b0ba avx2intrin.h (_mm256_broadcastsi128_si256): Fix declaration name.
ChangeLog:
	* gcc/config/i386/avx2intrin.h (_mm256_broadcastsi128_si256):
	Fix declaration name.

testsuite/ChangeLog:
	* gcc.target/i386/avx2-vbroadcastsi128-1.c: Fix intrinsic name.
	* gcc.target/i386/avx2-vbroadcastsi128-1.c: Ditto.

From-SVN: r197231
2013-03-29 10:39:12 +00:00
Tobias Burnus 357aee9210 re PR libfortran/56737 (Wrong I/O result with format cache for Hollerith strings)
2012-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56737
        * io/format.c (parse_format_list): Also cache FMT_STRING.
        (parse_format): Update call.

From-SVN: r197230
2013-03-29 10:39:47 +01:00
Tobias Burnus d80b9b4777 re PR libfortran/56737 (Wrong I/O result with format cache for Hollerith strings)
2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56737
        * io/format.c (parse_format): With caching, copy
        dtp->format string.
        (save_parsed_format): Use dtp->format directy without
        copying.

2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56737
        * testsuite/gfortran.dg/fmt_cache_3.f90: New.

(Plus: Move fortran/ChangeLog item to libgfortran/ChangeLog)

From-SVN: r197229
2013-03-29 10:37:37 +01:00
Tobias Burnus a0b012be6a re PR fortran/56735 (Namelist Read Error with question marks)
2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56735
        * io/list_read.c (nml_query): Only abort when
        an error occured.
        (namelist_read): Add goto instead of falling through.

2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56735
        * gfortran.dg/namelist_80.f90: New.

From-SVN: r197228
2013-03-29 10:32:57 +01:00
Lawrence Crowl 58a491895f Remove various unused items.
2013-03-28  Lawrence Crowl  <crowl@google.com>

Index: gcc/ChangeLog

	* graphds.h (struct graph.indicies): Remove unused.
	* graphite-poly.h (struct graph.original_pddrs): Remove unused.
	(SCOP_ORIGINAL_PDDRS): Remove unused.
	* sese.h (extern insert_loop_close_phis): Removed unused.
	(extern insert_guard_phis): Removed unused.
	(extern ivtype_map_elt_info): Removed unused.
	(new_ivtype_map_elt): Removed unused.
	* sese.c (ivtype_map_elt_info): Removed unused.

From-SVN: r197226
2013-03-29 07:09:33 +00:00
Lawrence Crowl 7b3b6ae441 Add uniform debug dump function names.
Add some overloaded functions that provide uniform debug dump
function names.  These names are:

  debug: the general debug dumper
  debug_verbose: for more details
  debug_raw: for the gory details
  debug_head: for the heads of declarations, e.g. function heads
  debug_body: for the bodies of declarations, e.g. function bodies

Not all types have the last four versions.

The debug functions come in two flavors, those that take pointers
to the type, and those that take references to the type.  The first
handles printing of '<nil>' for null pointers.  The second assumes
a valid reference, and prints the content.


Example uses are as follows:

  cp_token t, *p;
  debug (t);
  debug (p);

From the debugger, use

  call debug (t)


The functions sets implemented are:

debug (only)

    basic_block_def, const bitmap_head_def, cp_binding_level,
    cp_parser, cp_token, data_reference, die_struct, edge_def,
    gimple_statement_d, ira_allocno, ira_allocno_copy, live_range,
    lra_live_range, omega_pb_d, pt_solution, const rtx_def, sreal,
    tree_live_info_d, _var_map,

    vec<cp_token, va_gc>, vec<data_reference_p>, vec<ddr_p>,
    vec<rtx>, vec<tree, va_gc>,

debug and debug_raw

    simple_bitmap_def

debug and debug_verbose

    expr_def, struct loop, vinsn_def

debug, debug_raw, debug_verbose, debug_head, debug_body

    const tree_node


This patch is somewhat different from the original plan at
gcc.gnu.org/wiki/cxx-conversion/debugging-dumps.  The reason
is that gdb has an incomplete implementation of C++ call syntax;
requiring explicit specification of template arguments and explicit
specification of function arguments even when they have default
values.  So, the original plan would have required typing

  call dump <cp_token> (t, 0, 0, stderr)

which is undesireable.  Instead instead of templates, we overload
plain functions.  This adds a small burden of manually adding
the pointer version of dump for each type.  Instead of default
function arguments, we simply assume the default values.  Most of
the underlying dump functions did not use the options and indent
parameters anyway.  Several provide FILE* parameters, but we expect
debugging to use stderr anyway.  So, the explicit specification of
arguments was not as valuable as we thought initially.  Finally,
a change of name from dump to debug reflect the implicit output
to stderr.


Index: gcc/ChangeLog

2013-03-28  Lawrence Crowl  <crowl@google.com>

	* Makefile.in: Add several missing include dependences.
	(DUMPFILE_H): New.
	(test-dump.o): New.  This object is not added to any executable,
	but is present for ad-hoc testing.
	* bitmap.c
	(debug (const bitmap_head_def &)): New.
	(debug (const bitmap_head_def *)): New.
	* bitmap.h
	(extern debug (const bitmap_head_def &)): New.
	(extern debug (const bitmap_head_def *)): New.
	* cfg.c
	(debug (edge_def &)): New.
	(debug (edge_def *)): New.
	* cfghooks.c
	(debug (basic_block_def &)): New.
	(debug (basic_block_def *)): New.
	* dumpfile.h
	(dump_node (const_tree, int, FILE *)): Correct source file.
	* dwarf2out.c
	(debug (die_struct &)): New.
	(debug (die_struct *)): New.
	* dwarf2out.h
	(extern debug (die_struct &)): New.
	(extern debug (die_struct *)): New.
	* gimple-pretty-print.c
	(debug (gimple_statement_d &)): New.
	(debug (gimple_statement_d *)): New.
	* gimple-pretty-print.h
	(extern debug (gimple_statement_d &)): New.
	(extern debug (gimple_statement_d *)): New.
	* ira-build.c
	(debug (ira_allocno_copy &)): New.
	(debug (ira_allocno_copy *)): New.
	(debug (ira_allocno &)): New.
	(debug (ira_allocno *)): New.
	* ira-int.h
	(extern debug (ira_allocno_copy &)): New.
	(extern debug (ira_allocno_copy *)): New.
	(extern debug (ira_allocno &)): New.
	(extern debug (ira_allocno *)): New.
	* ira-lives.c
	(debug (live_range &)): New.
	(debug (live_range *)): New.
	* lra-int.h
	(debug (lra_live_range &)): New.
	(debug (lra_live_range *)): New.
	* lra-lives.c
	(debug (lra_live_range &)): New.
	(debug (lra_live_range *)): New.
	* omega.c
	(debug (omega_pb_d &)): New.
	(debug (omega_pb_d *)): New.
	* omega.h
	(extern debug (omega_pb_d &)): New.
	(extern debug (omega_pb_d *)): New.
	* print-rtl.c
	(debug (const rtx_def &)): New.
	(debug (const rtx_def *)): New.
	* print-tree.c
	(debug_tree (tree): Move within file.
	(debug_raw (const tree_node &)): New.
	(debug_raw (const tree_node *)): New.
	(dump_tree_via_hooks (const tree_node *, int)): New.
	(debug (const tree_node &)): New.
	(debug (const tree_node *)): New.
	(debug_verbose (const tree_node &)): New.
	(debug_verbose (const tree_node *)): New.
	(debug_head (const tree_node &)): New.
	(debug_head (const tree_node *)): New.
	(debug_body (const tree_node &)): New.
	(debug_body (const tree_node *)): New.
	(debug_vec_tree (tree): Move and reimplement in terms of dump.
	(debug (vec<tree, va_gc> &)): New.
	(debug (vec<tree, va_gc> *)): New.
	* rtl.h
	(extern debug (const rtx_def &)): New.
	(extern debug (const rtx_def *)): New.
	* sbitmap.c
	(debug_raw (simple_bitmap_def &)): New.
	(debug_raw (simple_bitmap_def *)): New.
	(debug (simple_bitmap_def &)): New.
	(debug (simple_bitmap_def *)): New.
	* sbitmap.h
	(extern debug (simple_bitmap_def &)): New.
	(extern debug (simple_bitmap_def *)): New.
	(extern debug_raw (simple_bitmap_def &)): New.
	(extern debug_raw (simple_bitmap_def *)): New.
	* sel-sched-dump.c
	(debug (vinsn_def &)): New.
	(debug (vinsn_def *)): New.
	(debug_verbose (vinsn_def &)): New.
	(debug_verbose (vinsn_def *)): New.
	(debug (expr_def &)): New.
	(debug (expr_def *)): New.
	(debug_verbose (expr_def &)): New.
	(debug_verbose (expr_def *)): New.
	(debug (vec<rtx> &)): New.
	(debug (vec<rtx> *)): New.
	* sel-sched-dump.h
	(extern debug (vinsn_def &)): New.
	(extern debug (vinsn_def *)): New.
	(extern debug_verbose (vinsn_def &)): New.
	(extern debug_verbose (vinsn_def *)): New.
	(extern debug (expr_def &)): New.
	(extern debug (expr_def *)): New.
	(extern debug_verbose (expr_def &)): New.
	(extern debug_verbose (expr_def *)): New.
	(extern debug (vec<rtx> &)): New.
	(extern debug (vec<rtx> *)): New.
	* sel-sched-ir.h
	(_list_iter_cond_expr): Make inline instead of static.
	* sreal.c
	(debug (sreal &)): New.
	(debug (sreal *)): New.
	* sreal.h
	(extern debug (sreal &)): New.
	(extern debug (sreal *)): New.
	* tree.h
	(extern debug_raw (const tree_node &)): New.
	(extern debug_raw (const tree_node *)): New.
	(extern debug (const tree_node &)): New.
	(extern debug (const tree_node *)): New.
	(extern debug_verbose (const tree_node &)): New.
	(extern debug_verbose (const tree_node *)): New.
	(extern debug_head (const tree_node &)): New.
	(extern debug_head (const tree_node *)): New.
	(extern debug_body (const tree_node &)): New.
	(extern debug_body (const tree_node *)): New.
	(extern debug (vec<tree, va_gc> &)): New.
	(extern debug (vec<tree, va_gc> *)): New.
	* tree-cfg.c
	(debug (struct loop &)): New.
	(debug (struct loop *)): New.
	(debug_verbose (struct loop &)): New.
	(debug_verbose (struct loop *)): New.
	* tree-dump.c: Add header dependence.
	* tree-flow.h
	(extern debug (struct loop &)): New.
	(extern debug (struct loop *)): New.
	(extern debug_verbose (struct loop &)): New.
	(extern debug_verbose (struct loop *)): New.
	* tree-data-ref.c
	(debug (data_reference &)): New.
	(debug (data_reference *)): New.
	(debug (vec<data_reference_p> &)): New.
	(debug (vec<data_reference_p> *)): New.
	(debug (vec<ddr_p> &)): New.
	(debug (vec<ddr_p> *)): New.
	* tree-data-ref.h
	(extern debug (data_reference &)): New.
	(extern debug (data_reference *)): New.
	(extern debug (vec<data_reference_p> &)): New.
	(extern debug (vec<data_reference_p> *)): New.
	(extern debug (vec<ddr_p> &)): New.
	(extern debug (vec<ddr_p> *)): New.
	* tree-ssa-alias.c
	(debug (pt_solution &)): New.
	(debug (pt_solution *)): New.
	* tree-ssa-alias.h
	(extern debug (pt_solution &)): New.
	(extern debug (pt_solution *)): New.
	* tree-ssa-alias.c
	(debug (_var_map &)): New.
	(debug (_var_map *)): New.
	(debug (tree_live_info_d &)): New.
	(debug (tree_live_info_d *)): New.
	* tree-ssa-alias.h
	(extern debug (_var_map &)): New.
	(extern debug (_var_map *)): New.
	(extern debug (tree_live_info_d &)): New.
	(extern debug (tree_live_info_d *)): New.

Index: gcc/cp/ChangeLog

2013-03-28  Lawrence Crowl  <crowl@google.com>

	* Make-lang.in
	(CXX_PARSER_H): Add header dependence.
	* cp-tree.h
	(extern debug (cp_binding_level &)): New.
	(extern debug (cp_binding_level *)): New.
	* name-lookup.h
	(debug (cp_binding_level &)): New.
	(debug (cp_binding_level *)): New.
	* parser.c
	(debug (cp_parser &)): New.
	(debug (cp_parser *)): New.
	(debug (cp_token &)): New.
	(debug (cp_token *)): New.
	(debug (vec<cp_token, va_gc> &)): New.
	(debug (vec<cp_token, va_gc> *)): New.
	* parser.c: Add header dependence.
	(extern debug (cp_parser &)): New.
	(extern debug (cp_parser *)): New.
	(extern debug (cp_token &)): New.
	(extern debug (cp_token *)): New.
	(extern debug (vec<cp_token, va_gc> &)): New.
	(extern debug (vec<cp_token, va_gc> *)): New.

From-SVN: r197224
2013-03-29 03:42:21 +00:00
GCC Administrator 0ffa6c37e4 Daily bump.
From-SVN: r197223
2013-03-29 00:16:45 +00:00
Jan Hubicka be77e1e562 * lto-cgraph.c (merge_profile_summaries): Fix overflows.
From-SVN: r197218
2013-03-28 23:31:58 +00:00
Thomas Koenig eab19a1a95 re PR fortran/45159 (Unnecessary temporaries)
2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* gfortran.h (gfc_dep_difference):  Add prototype.
	* dependency.c (discard_nops):  New function.
	(gfc_dep_difference):  New function.
	(check_section_vs_section):  Use gfc_dep_difference
	to calculate the difference of starting indices.
	* trans-expr.c (gfc_conv_substring):  Use
	gfc_dep_difference to calculate the length of
	substrings where possible.

2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* gfortran.dg/string_length_2.f90:  New test.
	* gfortran.dg/dependency_41.f90:  New test.

From-SVN: r197217
2013-03-28 21:30:26 +00:00
Thomas Koenig 4099436d98 re PR fortran/55806 (Missed optimization with ANY or ALL)
2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/55806
	* frontend-passes.c (optimize_code):  Keep track of
	current code to make code insertion possible.
	(combine_array_constructor):  New function.
	(optimize_op):  Call it.

2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/55806
	* gfortran.dg/array_constructor_43.f90:  New test.
	* gfortran.dg/random_seed_3.f90:  New test.

From-SVN: r197216
2013-03-28 21:02:00 +00:00
Ian Bolton 777e69760d [AArch64] Only maintain frame record when required or desired
From-SVN: r197215
2013-03-28 20:33:15 +00:00
Jason Merrill 2b24855e1e re PR c++/17232 ([DR 1640] classes and class template specializations treated differently w.r.t. core issue #337)
PR c++/17232
	PR c++/52748
	* typeck2.c (abstract_virtuals_error_sfinae): Don't complete
	the type if tf_decltype is set.
	* pt.c (fn_type_unification): Add decltype_p parm.
	(get_bindings): Adjust.
	* cp-tree.h: Adjust.
	* class.c (resolve_address_of_overloaded_function): Adjust.
	* call.c (add_template_candidate_real, print_z_candidate): Adjust.

From-SVN: r197214
2013-03-28 14:21:06 -04:00
Jason Merrill f5e44182eb re PR c++/56679 ([C++11] Cannot take sizeof... a template template parameter pack)
PR c++/56679
	* parser.c (cp_parser_sizeof_pack): Split out from...
	(cp_parser_sizeof_operand): ...here.  Require (id).

From-SVN: r197213
2013-03-28 14:20:58 -04:00
Jason Merrill 374b283748 re PR c++/56701 ([C++11] The *this* pointer fails to bind to rvalue reference to pointer type)
PR c++/56701
	* semantics.c (finish_this_expr): 'this' is an rvalue.
	* typeck.c (cp_build_indirect_ref): Handle NOP_EXPR of 'this'.

From-SVN: r197212
2013-03-28 14:20:51 -04:00
Jason Merrill fad882c6d9 re PR c++/56710 (Using reserved double underscore variable name in a lambda causes internal compiler error)
PR c++/56710
	* semantics.c (finish_member_declaration): Don't push closure
	members.

From-SVN: r197211
2013-03-28 14:20:45 -04:00
Jason Merrill c561e95201 name-lookup.c (pushdecl_maybe_friend_1): Use nonlambda_method_basetype and current_nonlambda_class_type.
* name-lookup.c (pushdecl_maybe_friend_1): Use
	nonlambda_method_basetype and current_nonlambda_class_type.

From-SVN: r197210
2013-03-28 14:20:37 -04:00
Jason Merrill 477e1843fd re PR c++/56728 (ICE using constexpr initialization and arrays)
PR c++/56728
	* semantics.c (potential_constant_expression_1) [NOP_EXPR]: Reject
	conversion from integer to pointer.
	(cxx_eval_constant_expression): Likewise.
	(cxx_eval_indirect_ref): Use the folded operand if we still think
	this might be constant.

From-SVN: r197209
2013-03-28 14:20:30 -04:00
Uros Bizjak 9cd347ae13 i386.md (*vec_extract2vdi_1): Merge with *vec_extractv2di_1_rex64.
* config/i386/i386.md (*vec_extract2vdi_1): Merge with
	*vec_extractv2di_1_rex64.  Use x64 isa attribute.

From-SVN: r197208
2013-03-28 19:18:50 +01:00
Naveen H.S 2a1d1991ea aarch64.md (*and<mode>3_compare0): New pattern.
2013-03-28   Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* config/aarch64/aarch64.md (*and<mode>3_compare0): New pattern.
	(*andsi3_compare0_uxtw): New pattern.
	(*and_<SHIFT:optab><mode>3_compare0): New pattern.
	(*and_<SHIFT:optab>si3_compare0_uxtw): New pattern.

From-SVN: r197207
2013-03-28 17:19:06 +00:00
Paolo Carlini 7abebba7f2 re PR c++/56725 (extra spaces in error message)
/cp
2013-03-28  Paolo Carlini  <paolo.carlini@oracle.com>
	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c++/56725
	* call.c (convert_like_real): Change series of two permerrors
	to permerror + inform (and likewise for two errors).
	(build_new_method_call_1): Likewise.
	* typeck.c (convert_for_initialization): Change additional
	warning or error to inform.

/testsuite
2013-03-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56725
	* g++.dg/conversion/op4.C: Adjust.
	* g++.dg/cpp0x/rv1n.C: Likewise.
	* g++.dg/cpp0x/rv2n.C: Likewise.
	* g++.dg/cpp0x/template_deduction.C: Likewise.
	* g++.dg/expr/cond8.C: Likewise.
	* g++.dg/other/error4.C: Likewise.
	* g++.old-deja/g++.bugs/900514_03.C: Likewise.
	* g++.old-deja/g++.bugs/900519_02.C: Likewise.
	* g++.old-deja/g++.bugs/900519_03.C: Likewise.
	* g++.old-deja/g++.bugs/900520_02.C: Likewise.
	* g++.old-deja/g++.jason/conversion2.C: Likewise.
	* g++.old-deja/g++.law/cvt20.C: Likewise.
	* g++.old-deja/g++.law/cvt8.C: Likewise.
	* g++.old-deja/g++.law/init8.C: Likewise.
	* g++.old-deja/g++.mike/net12.C: Likewise.
	* g++.old-deja/g++.mike/net8.C: Likewise.
	* g++.old-deja/g++.mike/p2793.C: Likewise.
	* g++.old-deja/g++.mike/p3836.C: Likewise.
	* g++.old-deja/g++.mike/p418.C: Likewise.
	* g++.old-deja/g++.mike/p701.C: Likewise.
	* g++.old-deja/g++.mike/p807.C: Likewise.

From-SVN: r197206
2013-03-28 16:03:32 +00:00
Jan Hubicka 89ab31c157 data-streamer-in.c (streamer_read_gcov_count): New function.
* data-streamer-in.c (streamer_read_gcov_count): New function.
	* gimple-streamer-out.c: Include value-prof.h.
	(output_gimple_stmt): Output histogram.
	(output_bb): Use streamer_write_gcov_count.
	* value-prof.c: Include data-streamer.h
	(dump_histogram_value): Add HIST_TYPE_MAX.
	(stream_out_histogram_value): New function.
	(stream_in_histogram_value): New function.
	* value-prof.h (enum hist_type): Add HIST_TYPE_MAX.
	(stream_out_histogram_value, stream_in_histogram_value): Declare.
	* data-streamer-out.c (streamer_write_gcov_count): New function.
	(streamer_write_gcov_count_stream): New function.
	* lto-cgraph.c (lto_output_edge): Update counter streaming.
	(lto_output_node): Likewise.
	(input_node, input_edge): Likewise.
	* lto-streamer-out.c (output_cfg): Update streaming.
	* lto-streamer-in.c (input_cfg): Likewise.
	* data-streamer.h (streamer_write_gcov_count,
	streamer_write_gcov_count_stream, streamer_read_gcov_count): Declare.
	* gimple-streamer-in.c: Include value-prof.h
	(input_gimple_stmt): Input histograms.
	(input_bb): Update profile streaming.

From-SVN: r197205
2013-03-28 15:29:40 +00:00
Tejas Belagod 525ec7ee9c re PR c++/56694 (Internal compiler error when compiling OpenMP code)
2013-03-28  Tejas Belagod  <tejas.belagod@arm.com>

	PR middle-end/56694
	* g++.dg/torture/pr56694.C: Fix test case to build on bare-metal 
	targets.

From-SVN: r197201
2013-03-28 14:57:43 +00:00
Kenneth Zadeck 8697be17fe genmodes.c (emit_max_int): New function.
2013-03-28  Kenneth Zadeck <zadeck@naturalbridge.com>

   	* genmodes.c (emit_max_int): New function.
	(emit_insn_modes_h): Added call to emit_max_function.
	* doc/rtl.texi (MAX_BITSIZE_MODE_ANY_INT, MAX_BITSIZE_MODE_ANY_MODE): Added doc.	
	* machmode.def: Fixed comment.

From-SVN: r197200
2013-03-28 14:46:31 +00:00
Kenneth Zadeck b4c73eedf3 combine.c (try_combine): Removed useless assert.
2013-03-28  Kenneth Zadeck <zadeck@naturalbridge.com>

	* combine.c (try_combine): Removed useless assert. 
	* cselib.c (rtx_equal_for_cselib_1): Removed unnecessary parens.

From-SVN: r197198
2013-03-28 14:09:46 +00:00
Gabriel Dos Reis 9173cf24ee cp-tree.h (next_aggr_init_expr_arg): Remove static specifier.
* cp-tree.h (next_aggr_init_expr_arg): Remove static specifier.
	(first_aggr_init_expr): Likewise.
	(more_aggr_init_expr_args_p): Likewise.
	(type_of_this_parm): Likewise.
	(class_of_this_parm): Likewise.
	* name-lookup.h (get_global_value_if_present): Likewise.
	(is_typename_at_global_scope): Likewise.

From-SVN: r197196
2013-03-28 13:48:56 +00:00
Marek Polacek 749469789f re PR tree-optimization/56695 (ICE in expand_vec_cond_expr, at optabs.c:6751)
PR tree-optimization/56695
* tree-vect-stmts.c (vectorizable_condition): Unconditionally
build signed result of a vector comparison.
* tree-cfg.c (verify_gimple_comparison): Check that a result
of a vector comparison has signed type.

Co-Authored-By: Richard Biener <rguenther@suse.de>

From-SVN: r197192
2013-03-28 11:14:44 +00:00
Paolo Carlini 129677c1cf call.c (joust): Don't call inform for a permerror returning false.
2013-03-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* call.c (joust): Don't call inform for a permerror returning false.
	* parser.c (cp_parser_check_class_key): Likewise.
	* pt.c (tsubst_copy_and_build): Likewise.

From-SVN: r197190
2013-03-28 10:00:05 +00:00
Richard Biener a64b9c261d re PR tree-optimization/37021 (Fortran Complex reduction / multiplication not vectorized)
2013-03-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/37021
	* tree-vect-slp.c (vect_build_slp_tree): When not unrolling
	do not restrict gaps between groups.
	* tree-vect-stmts.c (vectorizable_load): Properly account for
	a gap between groups.

	* gcc.dg/vect/fast-math-slp-38.c: New testcase.
	* gcc.dg/vect/O3-pr36098.c: Un-XFAIL.

From-SVN: r197189
2013-03-28 09:55:15 +00:00
Eric Botcazou a9dc2a2f95 toplev.c (process_options): Do not disable -fomit-frame-pointer on a general basis if...
* toplev.c (process_options): Do not disable -fomit-frame-pointer on a
	general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
	is not enabled.

From-SVN: r197186
2013-03-28 08:29:10 +00:00
GCC Administrator f1c47b9db7 Daily bump.
From-SVN: r197184
2013-03-28 00:16:44 +00:00
Gerald Pfeifer 53cb97f923 invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
* doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
	* doc/extend.texi (Named Address Spaces): Ditto.
	(Variable Attributes): Ditto.

From-SVN: r197180
2013-03-27 22:39:27 +00:00
Kai Tietz 01680d9896 configure: Regenerated.
* configure: Regenerated.

From-SVN: r197179
2013-03-27 23:01:39 +01:00
Kai Tietz d89ffaf358 configure: Regenerated.
* configure: Regenerated.

From-SVN: r197178
2013-03-27 23:00:53 +01:00
Kai Tietz 071928d9dc configure: Regenerated.
* configure: Regenerated.

From-SVN: r197177
2013-03-27 23:00:03 +01:00
Kai Tietz e9fd8c190e config.host: Add support for cygwin x64 target.
2013-03-27  Kai Tietz  <ktietz@redhat.com>

	* config.host: Add support for cygwin x64 target.
	* configure: Regenerated.

From-SVN: r197176
2013-03-27 22:59:10 +01:00