1. 04 Aug, 2013 3 commits
    • re PR c++/58072 ([C++11] Error messages involving user-defined literals are poor (refer to tokens)) · 65e5a578
      gcc/c-family:
      
      2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
      
      	PR c++/58072
      	* c-common.c (c_parse_error): Catch user-defined literal tokens and
      	provide useful error strings.
      
      
      gcc/testsuite:
      
      2013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
      
      	PR c++/58072
      	* g++.dg/cpp0x/pr58072.C: New.
      
      From-SVN: r201475
      Ed Smith-Rowland committed
    • pretty-print.h (pp_bar_bar): New. · 137a1a27
      	* pretty-print.h (pp_bar_bar): New.
      	(pp_ampersand_ampersand): Likewise.
      	(pp_less_equal): Likewise.
      	(pp_greater_equal): Likewise.
      	* gimple-pretty-print.c (dump_ternary_rhs): Use specialized pretty
      	printer functions instead of pp_string or operators and punctuators.
      	(dump_gimple_call): Likewise.
      	(dump_gimple_omp_for): Likewise.
      	(dump_gimple_transaction): Likewise.
      	(dump_gimple_phi): Likewise.
      	(pp_gimple_stmt_1): Likewise.
      	* sched-vis.c (print_insn): Likewise.
      	* tree-mudflap.c (mf_varname_tree): Likewise.
      	* tree-pretty-print.c (dump_block_node): Likewise.
      	(dump_generic_node): Likewise.
      
      c-family/ 
      	* c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
      	printer functions instead of pp_string or operators and punctuators.
      	(dump_generic_ada_node): Likewise.
      	* c-pretty-print.c (pp_c_type_specifier): Likewise.
      	(pp_c_relational_expression): Likewise.
      	(pp_c_logical_or_expression): Likewise.
      
      cp/
      	* error.c (dump_type_prefix): Use specialized pretty printer
      	functions instead of pp_string or operators and punctuators.
      	(dump_decl): Likewise.
      	(dump_expr): Likewise.
      
      From-SVN: r201474
      Gabriel Dos Reis committed
    • Daily bump. · 8ee9fbe1
      From-SVN: r201473
      GCC Administrator committed
  2. 03 Aug, 2013 10 commits
    • DR 1286 · 45d76587
      	DR 1286
      	* pt.c (get_underlying_template): New.
      	(convert_template_argument, lookup_template_class_1): Use it.
      
      From-SVN: r201470
      Jason Merrill committed
    • DR 1430 PR c++/51239 · 9e356571
      	DR 1430
      	PR c++/51239
      	* pt.c (pack_expansion_args_count): Rename from
      	any_pack_expanson_args_p.
      	(coerce_template_parms): Reject pack expansion to
      	non-pack template parameter of alias template.
      
      From-SVN: r201469
      Jason Merrill committed
    • lto-cgraph.c (compute_ltrans_boundary): Add abstract origins into boundaries. · 815effe1
      
      	* lto-cgraph.c (compute_ltrans_boundary): Add abstract origins into
      	boundaries.
      	* lto-streamer-out.c (tree_is_indexable): Results decls and
      	parm decls are not indexable.
      	(DFS_write_tree_body): Do not follow args and results.
      	(hash_tree): Likewise.
      	(output_functions): Rearrange so struct function is needed
      	only when real body is output; be able to also ouptut abstract
      	functions; output DECL_ARGUMENTS and DECL_RESULT.
      	(lto_output): When not in WPA, ale store abstract functions.
      	(write_symbol): Do not care about RESULT_DECL.
      	(output_symbol_p): Handle correctly sbtract decls.
      	* lto-streamer-in.c (input_function): Rearrange so struct
      	function can be NULL at entry; allow streaming of
      	functions w/o body; store DECL_ARGUMENTS and DECL_RESULT.
      	* ipa.c (symtab_remove_unreachable_nodes): Silence confused
      	sanity check during LTO.
      	* tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Skip
      	RESULT_DECl and DECL_ARGUMENTS.
      	* tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
      	Likewise.
      
      	* lto.c (lto_materialize_function): Do not push struct function.
      	* lto-partition.c (get_symbol_class): Handle abstracts correctly.
      	(may_need_named_section_p): Even abstract origins may need
      	named section.
      
      From-SVN: r201468
      Jan Hubicka committed
    • pretty-print.h (pp_underscore): New. · 07838b13
      	* pretty-print.h (pp_underscore): New.
      	(pp_comma): Tidy.
      	* gimple-pretty-print.c (dump_unary_rhs): Use specialized pretty
      	printer functions instead of pp_character.
      	(dump_binary_rhs): Likewise.
      	(dump_ternary_rhs): Likewise.
      	(dump_gimple_call_args): Likewise.
      	(pp_points_to_solution): Likewise.
      	(dump_gimple_call): Likewise.
      	(dump_gimple_switch): Likewise.
      	(dump_gimple_cond): Likewise.
      	(dump_gimple_bind): Likewise.
      	(dump_gimple_try): Likewise.
      	(dump_gimple_omp_for): Likewise.
      	(dump_gimple_omp_continue): Likewise.
      	(dump_gimple_omp_single): Likewise.
      	(dump_gimple_omp_sections): Likewise.
      	(dump_gimple_omp_block): Likewise.
      	(dump_gimple_omp_critical): Likewise.
      	(dump_gimple_transaction): Likewise.
      	(dump_gimple_asm): Likewise.
      	(dump_gimple_phi): Likewise.
      	(dump_gimple_omp_parallel): Likewise.
      	(dump_gimple_omp_task): Likewise.
      	(dump_gimple_omp_atomic_load): Likewise.
      	(dump_gimple_omp_atomic_store): Likewise.
      	(dump_gimple_mem_ops): Likewise.
      	(pp_gimple_stmt_1): Likewise.
      	(pp_cfg_jump): Likewise.
      	(dump_implicit_edges): Likewise.
      	(gimple_dump_bb_for_graph): Likewise.
      	* graph.c (draw_cfg_node): Likewise.
      	* langhooks.c (lhd_print_error_function): Likewise.
      	* sched-vis.c (print_exp): Likewise.
      	(print_value): Likewise.
      	(print_pattern): Likewise.
      	(print_insn): Likewise.
      	(rtl_dump_bb_for_graph): Likewise.
      	* tree-pretty-print.c (dump_function_declaration): Likewise.
      	(dump_array_domain): Likewise.
      	(dump_omp_clause): Likewise.
      	(dump_location): Likewise.
      	(dump_generic_node): Likewise.
      	(print_struct_decl): Likewise.
      	* diagnostic.c (diagnostic_show_locus): Use pp_space.
      
      c-family/
      	* c-ada-spec.c (print_ada_macros): Use specialized pretty printer
      	functions instead of pp_character.
      	(pp_ada_tree_identifier): Likewise.
      	(dump_ada_double_name): Likewise.
      	(dump_ada_function_declaration): Likewise.
      	(dump_ada_array_domains): Likewise.
      	(dump_template_types): Likewise.
      	(dump_generic_ada_node): Likewise.
      	(print_ada_declaration): Likewise.
      	(print_ada_struct_decl): Likewise.
      	* c-pretty-print.c (pp_c_integer_constant): Likewise.
      
      cp/
      	* error.c (dump_aggr_type): Use specialized pretty printer
      	functions instead of pp_character.
      	(dump_type_prefix): Likewise.
      	(dump_simple_decl): Likewise.
      	(type_to_string): Likewise.
      
      From-SVN: r201467
      Gabriel Dos Reis committed
    • gimple-ssa-strength-reduction.c (replace_mult_candidate): Update candidate table… · bb0d2039
      gimple-ssa-strength-reduction.c (replace_mult_candidate): Update candidate table when replacing a candidate statement.
      
      gcc:
      
      2013-08-03  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
      
      	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Update
      	candidate table when replacing a candidate statement.
      	(replace_rhs_if_not_dup): Likewise.
      	(replace_one_candidate): Likewise.
      
      gcc/testsuite:
      
      2013-08-03  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
      
      	* gcc.dg/torture/pr57993-2.cpp: New.
      
      From-SVN: r201466
      Bill Schmidt committed
    • Implement bracket expression. · 399eeef9
      2013-08-03  Tim Shen  <timshen91@gmail.com>
      
      	Implement bracket expression.
      	* include/bits/regex.h: Remove constexpr from "|=", etc.
      	* include/bits/regex_compiler.h: Parse bracket expression.
      	* include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
      	_RangeMatcher).
      	* include/bits/regex_nfa.tcc: Implement them.
      	* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
      	from regex_search to regex_match.
      	* testsuite/28_regex/algorithms/regex_match/extended/
      	cstring_bracket_01.cc: New.
      
      From-SVN: r201465
      Tim Shen committed
    • Add Martin. · cdaa808a
      From-SVN: r201464
      Jan Hubicka committed
    • cgraphunit.c (add_new_function): Fix logic when adding from late IPA pass. · bc0ec027
      
      	* cgraphunit.c (add_new_function): Fix logic when adding from
      	late IPA pass.
      	(assemble_thunk): Rename to ...
      	(expand_thunk); .. this one; export; get it working with general functions;
      	make produced gimple valid.
      	* cgraph.h (expand_thunk): Declare.
      
      From-SVN: r201463
      Jan Hubicka committed
    • ipa-cp.c (gather_context_independent_values): Use ipa_get_param_move_cost. · 0e8853ee
      	* ipa-cp.c (gather_context_independent_values): Use ipa_get_param_move_cost.
      	(get_replacement_map): Remove PARAM; move parameter folding into tree-inline.c
      	(create_specialized_node): Update.
      	* ipa-prop.c (ipa_populate_param_decls): Do not look for origins;
      	assert that we have gimple body; update move_cost.
      	(count_formal_params): Assert that we have gimple body.
      	(ipa_dump_param): New function.
      	(ipa_alloc_node_params): Break out from ...
      	(ipa_initialize_node_params): ... here.
      	(ipa_get_vector_of_formal_parms): ICE when used in WPA.
      	(ipa_write_node_info): Stream move costs.
      	(ipa_read_node_info): Read move costs.
      	(ipa_update_after_lto_read): Do not recompute node params.
      	* ipa-prop.h (ipa_param_descriptor): Add move_cost.
      	(ipa_get_param): Check we are not in WPA.
      	(ipa_get_param_move_cost): New.
      	* tree-inline.c (tree_function_versioning): Fold replacement as needed.
      	* ipa-inline-analysis.c (inline_node_duplication_hook): Expect only
      	parm numbers to be present.
      
      	* gcc.dg/ipa/ipa-1.c: Update.
      	* gcc.dg/ipa/ipa-2.c: Update.
      	* gcc.dg/ipa/ipa-3.c: Update.
      	* gcc.dg/ipa/ipa-4.c: Update.
      	* gcc.dg/ipa/ipa-5.c: Update.
      	* gcc.dg/ipa/ipa-7.c: Update.
      	* gcc.dg/ipa/ipa-8.c: Update.
      	* gcc.dg/ipa/ipcp-1.c: Update.
      	* gcc.dg/ipa/ipcp-2.c: Update.
      
      From-SVN: r201462
      Jan Hubicka committed
    • Daily bump. · 563430f7
      From-SVN: r201461
      GCC Administrator committed
  3. 02 Aug, 2013 16 commits
  4. 01 Aug, 2013 11 commits
    • Fix licenses on several libgcc files. · 46549c20
      	* config/aarch64/sfp-machine.h, config/aarch64/sync-cache.c,
      	* config/i386/cpuinfo.c, config/ia64/unwind-ia64.h,
      	* config/mips/vr4120-div.S: Fix license from GPL-3.0+ to
      	GPL-3.0-with-GCC-exception.
      
      From-SVN: r201417
      Maxim Kuvyrkov committed
    • re PR libstdc++/57779 (vector insert fails to diagnose iterators pointing into *this in debug mode) · 5720787a
      2013-08-01  François Dumont  <fdumont@gcc.gnu.org>
      
      	PR libstdc++/57779
      	* include/debug/formatter.h (_Debug_msg_id): Add
      	__msg_insert_itself_range entry.
      	* include/debug/functions.h (_Insert_range_from_self_is_safe<>):
      	New, indicate container types supporting self range insertion in
      	GNU implementation.
      	(__foreign_iterator): New, check if an iterator points to a given
      	sequence.
      	* include/debug/macros.h (__glibcxx_check_insert_range): Add check
      	using __foreign_iterator.
      	(__gibcxx_check_insert_range_after): Likewise.
      	* include/debug/string (_Insert_range_from_self_is_safe<>):
      	Partially specialized to mark __gnu_debug::basic_string<> as
      	supporting self range insert.
      	* include/debug/list (_Insert_range_from_self_is_safe<>):
      	Partially specialized to mark std::list as supporting self range
      	insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
      	* include/debug/forward_list (_Insert_range_from_self_is_safe<>):
      	Likewise.
      	* src/c++11/debug.cc (_S_debug_messages): Add
      	__msg_insert_itself_range_entry message.
      	(_Error_formatter::_Parameter::_M_print_description): Display
      	iterator sequence address rather than sequence address when the
      	parameter type is an iterator.
      	(_Error_formatter::_M_print_word): Enhance behavior when
      	displaying a word with an appended '\n'.
      	* testsuite/util/debug/checks.h (check_insert4<>): New.
      	* testsuite/23_containers/deque/debug/insert5_neg.cc: New.
      	* testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
      	* testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
      	* testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
      	* testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
      	* testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
      	Likewise.
      
      From-SVN: r201416
      François Dumont committed
    • i386.h (MAYBE_NON_Q_CLASS_P): New. · 0bd72901
      	* config/i386/i386.h (MAYBE_NON_Q_CLASS_P): New.
      	* config/i386/i386.c (ix86_secondary_reload): Use INTEGER_CLASS_P and
      	MAYBE_NON_Q_CLASS_P where appropriate.
      
      From-SVN: r201415
      Uros Bizjak committed
    • re PR c++/54537 (undiagnosed using-declaration conflicting with used function) · fb23b69e
      gcc/cp/
              PR c++/54537
              * cp-tree.h: Check OVL_USED with OVERLOAD_CHECK.
              * name-lookup.c (do_nonmember_using_decl): Make sure we have an
      	OVERLOAD before calling OVL_USED. Call diagnose_name_conflict
      	instead of issuing an error without mentioning the conflicting
      	declaration.
      
      libstdc++-v3/
              PR c++/54537
      	* include/tr1/cmath: Remove pow(double,double) overload, remove a
      	duplicated comment about DR 550. Add a comment to explain the
      	issue.
      	* testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
      
      gcc/testsuite/
              PR c++/54537
              * g++.dg/overload/using3.C: New.
      	* g++.dg/overload/using2.C: Adjust.
      	* g++.dg/lookup/using9.C: Likewise.
      
      Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
      
      From-SVN: r201414
      Fabien Chêne committed
    • cgraph.h (release_function_body): Declare. · 12123452
      	* cgraph.h (release_function_body): Declare.
      	* tree.c (free_lang_data_in_decl): Free, parameters and return values
      	of unused delcarations.
      
      From-SVN: r201413
      Jan Hubicka committed
    • arm.md (minmax_arithsi_non_canon): Emit canonical RTL form when subtracting a constant. · ce852f9c
      2013-08-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	* config/arm/arm.md (minmax_arithsi_non_canon): Emit canonical RTL form
      	when subtracting a constant.
      
      From-SVN: r201412
      Kyrylo Tkachov committed
    • arm.md (peepholes for eq (reg1) (reg2/imm)): Generate canonical plus rtx with… · c743b246
      arm.md (peepholes for eq (reg1) (reg2/imm)): Generate canonical plus rtx with negated immediate instead of minus where...
      
      [gcc]
      2013-08-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	* config/arm/arm.md (peepholes for eq (reg1) (reg2/imm)):
      	Generate canonical plus rtx with negated immediate instead of minus
      	where appropriate.
      	* config/arm/arm.c (thumb2_reorg): Handle ADCS <Rd>, <Rn> case.
      
      [gcc/testsuite]
      
      	* gcc.target/arm/pr46972-2.c: New test.
      
      From-SVN: r201411
      Kyrylo Tkachov committed
    • cgraph.c (cgraph_release_function_body): Use used_as_abstract_origin. · c0c123ef
      	* cgraph.c (cgraph_release_function_body): Use used_as_abstract_origin.
      	(cgraph_release_function_body): Likewise.
      	(cgraph_can_remove_if_no_direct_calls_p): Likewise.
      	* cgraph.h (cgrpah_node): Rename abstract_and_needed
      	to used_as_abstract_origin.
      	* tree-inline-transfrom.c (can_remove_node_now_p_1): Do not remove
      	symbols used as abstract origins.
      	* cgraphunit.c (analyze_functions): Update.
      	* ipa.c (symtab_remove_unreachable_nodes): Recompute used_as_abstract_origin.
      	* tree-inline.c (tree_function_versioning): Update
      	used_as_abstract_origin; be ready for DECL_RESULT and DECL_ARGUMENTS to be
      	NULL.
      
      	* lto-symtab.c (lto_symtab_merge_symbols): Merge duplicated nodes for abstract functions.
      	* cgraph.h (symtab_real_symbol_p): Abstract declarations are not real symbols.
      
      From-SVN: r201408
      Jan Hubicka committed
    • vect-iv-5.c: Make xfail conditional with !arm_neon_ok. · 0cd1dd57
      
              * gcc.dg/vect/vect-iv-5.c: Make xfail conditional with !arm_neon_ok.
      
      From-SVN: r201406
      Vidya Praveen committed
    • * profile.c (compute_value_histograms): Fix thinko. · 1f029433
      From-SVN: r201401
      Jan Hubicka committed
    • config.gcc (aarch64*-*-*): Add aarch-common.o to extra_objs. · c451f4d6
      	* config.gcc (aarch64*-*-*): Add aarch-common.o to extra_objs.  Add
      	aarch-common-protos.h to extra_headers.
      	(aarch64*-*-*): Add arm/aarch-common-protos.h to tm_p_file.
      	* config/aarch64/aarch64.md: Include "../arm/cortex-a53.md"
      	* config/aarch64/t-aarch64 (aarch-common.o): Define.
      
      From-SVN: r201400
      Sofiane Naci committed