Jason Merrill [Sat, 3 Aug 2013 20:32:00 +0000 (16:32 -0400)]
DR 1430 PR c++/51239
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
Jan Hubicka [Sat, 3 Aug 2013 19:54:18 +0000 (21:54 +0200)]
lto-cgraph.c (compute_ltrans_boundary): Add abstract origins into boundaries.
* 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
Gabriel Dos Reis [Sat, 3 Aug 2013 18:57:25 +0000 (18:57 +0000)]
pretty-print.h (pp_underscore): New.
* 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
Bill Schmidt [Sat, 3 Aug 2013 14:37:26 +0000 (14:37 +0000)]
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
Tim Shen [Sat, 3 Aug 2013 14:32:54 +0000 (14:32 +0000)]
Implement bracket expression.
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
Jan Hubicka [Sat, 3 Aug 2013 11:03:19 +0000 (11:03 +0000)]
Add Martin.
From-SVN: r201464
Jan Hubicka [Sat, 3 Aug 2013 11:02:37 +0000 (13:02 +0200)]
cgraphunit.c (add_new_function): Fix logic when adding from late IPA pass.
* 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 [Sat, 3 Aug 2013 08:23:55 +0000 (10:23 +0200)]
ipa-cp.c (gather_context_independent_values): Use ipa_get_param_move_cost.
* 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
GCC Administrator [Sat, 3 Aug 2013 00:16:39 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201461
Ian Lance Taylor [Fri, 2 Aug 2013 22:30:30 +0000 (22:30 +0000)]
syscall: Change AWK split call to use []+ rather than []*.
Using []* fails with the awk that is part of busybox:
https://groups.google.com/d/msg/gofrontend-dev/NbQsG_AMDpY/sXCc03kkwn4J
From-SVN: r201455
Vladimir Makarov [Fri, 2 Aug 2013 22:06:11 +0000 (22:06 +0000)]
re PR rtl-optimization/58048 (internal compiler error: Max. number of generated reload insns per insn is achieved (90))
2013-08-02 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/58048
* lra-constraints.c (process_alt_operands): Don't check asm
operand on register.
2013-08-02 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/58048
* gcc.target/i386/pr58048.c: New.
From-SVN: r201454
Eric Botcazou [Fri, 2 Aug 2013 21:41:58 +0000 (21:41 +0000)]
sparc.c (sparc_emit_membar_for_model): Add the implied StoreLoad barrier for atomic operations if before.
* config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
the implied StoreLoad barrier for atomic operations if before.
From-SVN: r201450
Ian Lance Taylor [Fri, 2 Aug 2013 18:24:19 +0000 (18:24 +0000)]
go-gcc.cc (immutable_struct_set_init): Always call resolve_unique_section.
* go-gcc.cc (immutable_struct_set_init): Always call
resolve_unique_section.
From-SVN: r201446
Ian Lance Taylor [Fri, 2 Aug 2013 17:01:43 +0000 (17:01 +0000)]
compiler: Always put descriptor wrappers in their own section.
This lets the linker GC them.
From-SVN: r201442
Andreas Krebbel [Fri, 2 Aug 2013 16:00:36 +0000 (16:00 +0000)]
configure.tgt: Add -msoft-float to XCFLAGS.
2013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure.tgt: Add -msoft-float to XCFLAGS.
From-SVN: r201441
Jan Hubicka [Fri, 2 Aug 2013 14:38:15 +0000 (16:38 +0200)]
cgraph.c (cgraph_function_body_availability): Do not check cgrpah flags.
* cgraph.c (cgraph_function_body_availability): Do not check cgrpah flags.
* cgraph.h (symtab_for_node_and_aliases, symtab_nonoverwritable_alias,
symtab_node_availability): Declare.
* ipa.c (can_replace_by_local_alias): New.
(function_and_variable_visibility): Use it.
* symtab.c (symtab_for_node_and_aliases, symtab_nonoverwritable_alias_1,
symtab_nonoverwritable_alias): New.
Co-Authored-By: Martin Liska <marxin.liska@gmail.com>
From-SVN: r201439
Vladimir Makarov [Fri, 2 Aug 2013 14:23:38 +0000 (14:23 +0000)]
re PR rtl-optimization/57963 (LRA S/390: esa mode failure memcpy-chk)
2013-08-02 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/57963
* lra-constraints.c (reverse_equiv_p, contains_reloaded_insn_p):
New.
(lra_constraints): Use them.
From-SVN: r201438
Sofiane Naci [Fri, 2 Aug 2013 13:15:05 +0000 (13:15 +0000)]
types.md (define_attr "type"): Add "load_acq" and "store_rel".
* config/arm/types.md (define_attr "type"): Add "load_acq" and "store_rel".
* config/arm/cortex-a53.md (cortex_a53_load1): Update for attribute
changes.
(cortex_a53_store1): Likewise.
From-SVN: r201436
Kyrylo Tkachov [Fri, 2 Aug 2013 12:53:58 +0000 (12:53 +0000)]
neon-for-64bits-2.c: Delete.
2013-08-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/arm/neon-for-64bits-2.c: Delete.
From-SVN: r201435
Jan Hubicka [Fri, 2 Aug 2013 09:44:18 +0000 (11:44 +0200)]
ipa.c (symtab_remove_unreachable_nodes): Nodes in other partitions are not needed.
* ipa.c (symtab_remove_unreachable_nodes): Nodes in other partitions are
not needed.
From-SVN: r201431
Paolo Carlini [Fri, 2 Aug 2013 08:12:20 +0000 (08:12 +0000)]
functions.h (__foreign_iterator_aux4): Initialize __l and __ge.
2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/functions.h (__foreign_iterator_aux4):
Initialize __l and __ge.
From-SVN: r201428
Paolo Carlini [Fri, 2 Aug 2013 07:59:14 +0000 (07:59 +0000)]
cp-tree.h (finish_stmt): Do not declare.
2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
* cp-tree.h (finish_stmt): Do not declare.
* decl.c (finish_stmt): Do not define.
* parser.c (cp_parser_expression_statement,
cp_parser_declaration_statement,
cp_parser_transaction_cancel): Don't call finish_stmt.
* semantics.c (finish_expr_stmt, finish_if_stmt,
finish_while_stmt, finish_do_stmt, finish_return_stmt,
finish_for_stmt, finish_switch_stmt, finish_compound_stmt,
finish_transaction_stmt): Likewise.
From-SVN: r201427
Paolo Carlini [Fri, 2 Aug 2013 07:53:01 +0000 (07:53 +0000)]
functions.h (__foreign_iterator_aux4): Initialize __l and __ge.
2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/functions.h (__foreign_iterator_aux4):
Initialize __l and __ge.
From-SVN: r201426
Paolo Carlini [Fri, 2 Aug 2013 07:34:55 +0000 (07:34 +0000)]
re PR libstdc++/58049 (libstdc++ bootstrap failure for fix to PR libstdc++/57779)
2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58049
* include/debug/functions.h: Include <bits/move.h>; minor formatting
changes.
(__foreign_iterator_aux4): Declare __l and __ge constexpr.
* include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
Use __addressof.
* include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
operator->): Likewise.
From-SVN: r201424
GCC Administrator [Fri, 2 Aug 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201423
Maxim Kuvyrkov [Thu, 1 Aug 2013 21:09:10 +0000 (21:09 +0000)]
Fix licenses on several libgcc files.
* 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
François Dumont [Thu, 1 Aug 2013 19:54:46 +0000 (19:54 +0000)]
re PR libstdc++/57779 (vector insert fails to diagnose iterators pointing into *this in debug mode)
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
Uros Bizjak [Thu, 1 Aug 2013 19:48:46 +0000 (21:48 +0200)]
i386.h (MAYBE_NON_Q_CLASS_P): New.
* 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
Fabien Chêne [Thu, 1 Aug 2013 19:24:37 +0000 (21:24 +0200)]
re PR c++/54537 (undiagnosed using-declaration conflicting with used function)
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
Jan Hubicka [Thu, 1 Aug 2013 15:41:10 +0000 (17:41 +0200)]
cgraph.h (release_function_body): Declare.
* cgraph.h (release_function_body): Declare.
* tree.c (free_lang_data_in_decl): Free, parameters and return values
of unused delcarations.
From-SVN: r201413
Kyrylo Tkachov [Thu, 1 Aug 2013 15:02:19 +0000 (15:02 +0000)]
arm.md (minmax_arithsi_non_canon): Emit canonical RTL form when subtracting a constant.
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 [Thu, 1 Aug 2013 15:00:41 +0000 (15:00 +0000)]
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
Jan Hubicka [Thu, 1 Aug 2013 13:24:49 +0000 (15:24 +0200)]
cgraph.c (cgraph_release_function_body): Use used_as_abstract_origin.
* 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
Vidya Praveen [Thu, 1 Aug 2013 12:58:13 +0000 (13:58 +0100)]
vect-iv-5.c: Make xfail conditional with !arm_neon_ok.
* gcc.dg/vect/vect-iv-5.c: Make xfail conditional with !arm_neon_ok.
From-SVN: r201406
Jan Hubicka [Thu, 1 Aug 2013 10:03:55 +0000 (12:03 +0200)]
* profile.c (compute_value_histograms): Fix thinko.
From-SVN: r201401
Sofiane Naci [Thu, 1 Aug 2013 09:50:52 +0000 (09:50 +0000)]
config.gcc (aarch64*-*-*): Add aarch-common.o to extra_objs.
* 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 [Thu, 1 Aug 2013 09:48:48 +0000 (09:48 +0000)]
aarch64.md (define_attr "type"): Delete.
* config/aarch64/aarch64.md (define_attr "type"): Delete.
Include "../arm/types.md". Define "type" attribute for all patterns.
* config/aarch64/aarch64-simd.md (move_lo_quad_<mode>): Update for
attribute changes.
From-SVN: r201399
GCC Administrator [Thu, 1 Aug 2013 00:16:34 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201397
Tim Shen [Wed, 31 Jul 2013 22:36:11 +0000 (22:36 +0000)]
Thompson matcher refactored.
2013-07-31 Tim Shen <timshen91@gmail.com>
Thompson matcher refactored. Fix grouping problem.
* include/bits/regex.h: Use a dispatcher _M_get_matcher().
* include/bits/regex_compiler.h: Tweak for auto switching.
* include/bits/regex_grep_matcher.h: Class structure.
* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
matcher) refactoring.
* include/bits/regex_nfa.h: Change _Results's interfaces.
* include/std/regex: Includes <map> and <queue>.
* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/
string_dispatch_01.cc: New.
From-SVN: r201391
Michael Meissner [Wed, 31 Jul 2013 20:04:07 +0000 (20:04 +0000)]
predicates.md (fusion_gpr_addis): New predicates to support power8 load fusion.
[gcc]
2013-07-31 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/predicates.md (fusion_gpr_addis): New predicates
to support power8 load fusion.
(fusion_gpr_mem_load): Likewise.
* config/rs6000/rs6000-modes.def (PTImode): Update a comment.
* config/rs6000/rs6000-protos.h (fusion_gpr_load_p): New
declarations for power8 load fusion.
(emit_fusion_gpr_load): Likewise.
* config/rs6000/rs6000.c (rs6000_option_override_internal): If
tuning for power8, turn on fusion mode by default. Turn on sign
extending fusion mode if normal fusion mode is on, and we are at
-O2 or -O3.
(fusion_gpr_load_p): New function, return true if we can fuse an
addis instruction with a dependent load to a GPR.
(emit_fusion_gpr_load): Emit the instructions for power8 load
fusion to GPRs.
* config/rs6000/vsx.md (VSX_M2): New iterator for fusion
peepholes.
(VSX load fusion peepholes): New peepholes to fuse together an
addi instruction with a VSX load instruction.
* config/rs6000/rs6000.md (GPR load fusion peepholes): New
peepholes to fuse an addis instruction with a load to a GPR base
register. If we are supporting sign extending fusions, convert
sign extending loads to zero extending loads and add an explicit
sign extension.
[gcc/testsuite]
2013-07-31 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/fusion.c: New file, test power8 fusion
support.
From-SVN: r201385
Richard Sandiford [Wed, 31 Jul 2013 18:33:50 +0000 (18:33 +0000)]
mips.exp (mips-dg-options): Test for mabicalls rather than addressing!=absolute when...
gcc/testsuite/
* gcc.target/mips/mips.exp (mips-dg-options): Test for mabicalls
rather than addressing!=absolute when deciding how to handle MIPS16
when the test forces an ABI.
From-SVN: r201380
Paolo Carlini [Wed, 31 Jul 2013 18:28:16 +0000 (18:28 +0000)]
parser.c (cp_parser_sizeof_pack): Check cp_parser_identifier return value for error_mark_node.
2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
* parser.c (cp_parser_sizeof_pack): Check cp_parser_identifier
return value for error_mark_node.
From-SVN: r201379
Paolo Carlini [Wed, 31 Jul 2013 14:36:13 +0000 (14:36 +0000)]
re PR libstdc++/56627 (class hash instead of struct hash)
2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56627
* include/bits/stl_bvector.h: Use friend struct hash intead of
friend class hash to work around useless warnings produced by
some compilers.
* include/std/bitset: Likewise.
From-SVN: r201377
Sofiane Naci [Wed, 31 Jul 2013 14:32:39 +0000 (14:32 +0000)]
config.gcc (arm*-*-*): Add aarch-common.o to extra_objs.
* config.gcc (arm*-*-*): Add aarch-common.o to extra_objs. Add
aarch-common-protos.h to extra_headers.
(arm*-*-*): Add arm/aarch-common-protos.h to tm_p_file.
* config/arm/arm.c (arm_early_load_addr_dep): Move from here to ...
(arm_early_store_addr_dep): Likewise.
(arm_no_early_alu_shift_dep: Likewise.
(arm_no_early_alu_shift_value_dep: Likewise.
(arm_no_early_mul_dep: Likewise.
(arm_no_early_store_addr_dep: Likewise.
(arm_mac_accumulator_is_mul_result: Likewise.
(arm_mac_accumulator_is_result: Likewise.
* config/arm/aarch-common.c: ... here. New file.
* config/arm/arm-protos.h (arm_early_load_addr_dep): Move from here to ...
(arm_early_store_addr_dep): Likewise.
(arm_no_early_alu_shift_dep: Likewise.
(arm_no_early_alu_shift_value_dep: Likewise.
(arm_no_early_mul_dep: Likewise.
(arm_no_early_store_addr_dep: Likewise.
(arm_mac_accumulator_is_mul_result: Likewise.
(arm_mac_accumulator_is_result: Likewise.
* config/arm/aarch-common-protos.h: ... here. New file.
* config/arm/t-arm (aarch-common.o): Define.
From-SVN: r201376
Sofiane Naci [Wed, 31 Jul 2013 14:29:54 +0000 (14:29 +0000)]
arm.md: Include new file "types.md".
* config/arm/arm.md: Include new file "types.md".
(define_attr "type"): Move from here to ...
(define_attr "mul32"): Likewise.
(define_attr "mul64"): Likewise.
* config/arm/types.md: ... here. New file.
From-SVN: r201375
Sebastian Huber [Wed, 31 Jul 2013 12:58:35 +0000 (12:58 +0000)]
config.gcc (*-*-rtems*): Use __cxa_atexit by default.
2013-07-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config.gcc (*-*-rtems*): Use __cxa_atexit by default.
* config/rs6000/rtems.h (TARGET_LIBGCC_SDATA_SECTION): Define.
From-SVN: r201370
Paolo Carlini [Wed, 31 Jul 2013 12:36:37 +0000 (12:36 +0000)]
functexcept.cc: Do not include the whole <regex>.
2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
* src/c++11/functexcept.cc: Do not include the whole <regex>.
* src/c++11/regex.cc: Likewise.
From-SVN: r201369
Jan-Benedict Glaw [Wed, 31 Jul 2013 09:54:43 +0000 (09:54 +0000)]
* ChangeLog: Fix my email address.
From-SVN: r201365
Jan-Benedict Glaw [Wed, 31 Jul 2013 09:34:04 +0000 (09:34 +0000)]
gen-pass-instances.awk: Fix offset of substr().
2013-07-31 Jan-Benedict Glaw <jbglaw@owl.de>
* gen-pass-instances.awk: Fix offset of substr().
From-SVN: r201364
Tim Shen [Wed, 31 Jul 2013 03:36:37 +0000 (03:36 +0000)]
Revert last commit.
From-SVN: r201360
David Malcolm [Wed, 31 Jul 2013 00:48:03 +0000 (00:48 +0000)]
Introduce gen-pass-instances.awk and pass-instances.def
Introduce a new gen-pass-instances.awk script, and use it at build time
to make a pass-instances.def from passes.def.
gcc/
* Makefile.in (pass-instances.def): New.
(passes.o): Replace dependency on passes.def with one on
pass-instances.def
* gen-pass-instances.awk: New.
* passes.c (pass_manager::pass_manager): Use pass-instances.def
rather than passes.def, updating local definition of NEXT_PASS
macro to add an extra NUM parameter (currently unused).
From-SVN: r201359
Tim Shen [Wed, 31 Jul 2013 00:20:06 +0000 (00:20 +0000)]
Thompson matcher refactored.
2013-07-31 Tim Shen <timshen91@gmail.com>
Thompson matcher refactored. Fix grouping problem.
* include/bits/regex.h: Use a dispatcher _M_get_matcher().
* include/bits/regex_compiler.h: Tweak for auto switching.
* include/bits/regex_grep_matcher.h: Class structure.
* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
matcher) refactoring.
* include/bits/regex_nfa.h: Change _Results's interfaces.
* include/std/regex: Includes <map> and <queue>.
* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/
string_dispatch_01.cc: New.
From-SVN: r201358
GCC Administrator [Wed, 31 Jul 2013 00:16:43 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201357
Paolo Carlini [Tue, 30 Jul 2013 22:38:52 +0000 (22:38 +0000)]
re PR c++/57673 (pack sizeof ... groups ellipsis with preceding expression)
/cp
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57673
* parser.c (cp_parser_cache_defarg): In an NSDMI don't stop when
token->type == CPP_ELLIPSIS.
/testsuite
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57673
* g++.dg/cpp0x/nsdmi-sizeof.C: New.
From-SVN: r201354
Steve Ellcey [Tue, 30 Jul 2013 20:32:43 +0000 (20:32 +0000)]
code-readable-1.c: Increase switch size.
2013-07-30 Steve Ellcey <sellcey@mips.com>
* gcc.target/mips/code-readable-1.c: Increase switch size.
* gcc.target/mips/code-readable-2.c: Ditto.
* gcc.target/mips/code-readable-3.c: Ditto.
* gcc.target/mips/code-readable-4.c: Ditto.
From-SVN: r201353
David Malcolm [Tue, 30 Jul 2013 18:52:03 +0000 (18:52 +0000)]
Introduce beginnings of a pass_manager class.
This patch introduces a gcc::pass_manager class and moves various non-GTY
globals relating to pass management into it. The gcc::context gains its
first field: a pointer to the gcc::pass_manager instance.
gcc/
* Makefile.in (PASS_MANAGER_H): New.
(lto-cgraph.o): Depend on CONTEXT_H and PASS_MANAGER_H.
(passes.o): Likewise.
(statistics.o): Likewise.
(cgraphunit.o): Likewise.
(context.o): Depend on PASS_MANAGER_H.
* pass_manager.h: New.
* cgraphunit.c (cgraph_add_new_function): Update for moves
of globals to fields of pass_manager.
(analyze_function): Likewise.
(expand_function): Likewise.
(ipa_passes): Likewise.
(compile): Likewise.
* context.c (context::context): New.
* context.h (context::context): New.
(context::get_passes): New.
(context::passes_): New.
* lto-cgraph.c (input_node): Update for moves of globals to
fields of pass_manager.
* passes.c (all_passes): Remove, in favor of a field of the
same name within the new class pass_manager.
(all_small_ipa_passes): Likewise.
(all_lowering_passes): Likewise.
(all_regular_ipa_passes): Likewise.
(all_late_ipa_passes): Likewise.
(all_lto_gen_passes): Likewise.
(passes_by_id): Likewise.
(passes_by_id_size): Likewise.
(gcc_pass_lists): Remove, in favor of "pass_lists" field within
the new class pass_manager.
(set_pass_for_id): Convert to...
(pass_manager::set_pass_for_id): ...method.
(get_pass_for_id): Convert to...
(pass_manager::get_pass_for_id): ...method.
(register_one_dump_file): Move body of implementation into...
(pass_manager::register_one_dump_file): ...here.
(register_dump_files_1): Convert to...
(pass_manager::register_dump_files_1): ...method.
(register_dump_files): Convert to...
(pass_manager::register_dump_files): ...method.
(create_pass_tab): Update for moves of globals to fields of
pass_manager.
(dump_passes): Move body of implementation into...
(pass_manager::dump_passes): ...here.
(register_pass): Move body of implementation into...
(pass_manager::register_pass): ...here.
(init_optimization_passes): Convert into...
(pass_manager::pass_manager): ...constructor for new
pass_manager class, and initialize the pass_lists array.
(check_profile_consistency): Update for moves of globals to
fields of pass_manager.
(dump_profile_report): Move body of implementation into...
(pass_manager::dump_profile_report): ...here.
(ipa_write_summaries_1): Update for moves of pass lists from
being globals to fields of pass_manager.
(ipa_write_optimization_summaries): Likewise.
(ipa_read_summaries): Likewise.
(ipa_read_optimization_summaries): Likewise.
(execute_all_ipa_stmt_fixups): Likewise.
* statistics.c (statistics_fini): Update for moves of globals to
fields of pass_manager.
* toplev.c (general_init): Replace call to
init_optimization_passes with construction of the pass_manager
instance.
* tree-pass.h (all_passes): Remove, in favor of a field of the
same name within the new class pass_manager.
(all_small_ipa_passes): Likewise.
(all_lowering_passes): Likewise.
(all_regular_ipa_passes): Likewise.
(all_lto_gen_passes): Likewise.
(all_late_ipa_passes): Likewise.
(passes_by_id): Likewise.
(passes_by_id_size): Likewise.
(gcc_pass_lists): Remove, in favor of "pass_lists" field within
the new class pass_manager.
(get_pass_for_id): Remove.
gcc/lto/
* Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and
PASS_MANAGER_H.
* lto.c (do_whole_program_analysis): Update for move of
all_regular_ipa_passes from a global to a field of class
pass_manager.
From-SVN: r201351
Maciej W. Rozycki [Tue, 30 Jul 2013 18:34:43 +0000 (18:34 +0000)]
mips16.S (DELAYf): Alias to DELAYt for the MIPS IV ISA and up.
* config/mips/mips16.S (DELAYf): Alias to DELAYt for the MIPS IV
ISA and up.
From-SVN: r201350
Paolo Carlini [Tue, 30 Jul 2013 18:16:33 +0000 (18:16 +0000)]
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
Revert last commit.
From-SVN: r201349
Paolo Carlini [Tue, 30 Jul 2013 18:13:15 +0000 (18:13 +0000)]
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
Revert last commit.
From-SVN: r201348
Paolo Carlini [Tue, 30 Jul 2013 16:48:52 +0000 (16:48 +0000)]
re PR c++/57947 (internal compiler error: Segmentation fault using extended initializer lists without -std=c++11 or -std=gnu++11)
/cp
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57947
* call.c (is_std_init_list): Return false if cxx_dialect == cxx98.
/testsuite
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57947
* g++.dg/parse/crash63.C: New.
From-SVN: r201344
Richard Earnshaw [Tue, 30 Jul 2013 15:58:32 +0000 (15:58 +0000)]
config.gcc (arm): Require 64-bit host-wide-int for all ARM target configs.
* config.gcc (arm): Require 64-bit host-wide-int for all ARM target
configs.
From-SVN: r201342
Richard Earnshaw [Tue, 30 Jul 2013 15:54:30 +0000 (15:54 +0000)]
* arm.md (mulhi3): New expand pattern.
From-SVN: r201341
Jason Merrill [Tue, 30 Jul 2013 13:28:31 +0000 (09:28 -0400)]
re PR c++/57901 (Cannot call-by-value such that class has non-trivial (constexpr) move constructor)
PR c++/57901
* semantics.c (build_data_member_initialization, constexpr_fn_retval):
Use break_out_target_exprs instead of unshare_expr.
From-SVN: r201338
Jason Merrill [Tue, 30 Jul 2013 13:28:23 +0000 (09:28 -0400)]
re PR c++/58022 (Compiler rejects abstract class in template class with friend operator<<)
PR c++/58022
* g++.dg/template/abstract1.C: New.
From-SVN: r201337
Tim Shen [Tue, 30 Jul 2013 12:02:55 +0000 (12:02 +0000)]
Thompson matcher refactored.
2013-07-30 Tim Shen <timshen91@gmail.com>
Thompson matcher refactored. Fix grouping problem.
* include/bits/regex.h: Use a dispatcher _M_get_matcher().
* include/bits/regex_compiler.h: Tweak for auto switching.
* include/bits/regex_grep_matcher.h: Class structure.
* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
matcher) refactoring.
* include/bits/regex_nfa.h: Change _Results's interfaces.
* include/std/regex: Includes <map> and <queue>.
* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/string_dispatch_01.cc:
New.
From-SVN: r201334
Jan Hubicka [Tue, 30 Jul 2013 12:00:42 +0000 (14:00 +0200)]
profile.c (compute_value_histograms): Do not ICE when there is mismatch only on some counters.
* profile.c (compute_value_histograms): Do not ICE when
there is mismatch only on some counters.
Co-Authored-By: Martin Liska <marxin.liska@gmail.com>
From-SVN: r201333
Tobias Burnus [Tue, 30 Jul 2013 07:20:43 +0000 (09:20 +0200)]
re PR fortran/57530 ([OOP] Wrongly rejects type_pointer => class_target (which have identical declared type))
2013-07-30 Tobias Burnus <burnus@net-b.de>
PR fortran/57530
* symbol.c (gfc_type_compatible): A type is type compatible with
a class if both have the same declared type.
* interface.c (compare_type): Reject CLASS/TYPE even if they
are type compatible.
From-SVN: r201329
Tobias Burnus [Tue, 30 Jul 2013 07:18:54 +0000 (09:18 +0200)]
re PR fortran/57530 ([OOP] Wrongly rejects type_pointer => class_target (which have identical declared type))
2013-07-30 Tobias Burnus <burnus@net-b.de>
PR fortran/57530
* trans-expr.c (gfc_trans_class_assign): Handle CLASS array
functions.
(gfc_trans_pointer_assign): Ditto and support pointer assignment
of a polymorphic var to a nonpolymorphic var.
2013-07-30 Tobias Burnus <burnus@net-b.de>
PR fortran/57530
* gfortran.dg/pointer_assign_8.f90: New.
* gfortran.dg/pointer_assign_9.f90: New.
* gfortran.dg/pointer_assign_10.f90: New.
* gfortran.dg/pointer_assign_11.f90: New.
From-SVN: r201328
Zhenqiang Chen [Tue, 30 Jul 2013 06:53:31 +0000 (06:53 +0000)]
re PR rtl-optimization/57637 (Miscompare on 178.galgel in SPEC2000 on arm)
gcc/
2013-07-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
PR rtl-optimization/57637
* function.c (move_insn_for_shrink_wrap): Also check the
GEN set of the LIVE problem for the liveness analysis
if it exists, otherwise give up.
gcc/testsuite/
2013-07-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* gcc.target/arm/pr57637.c: New testcase.
From-SVN: r201326
Bill Schmidt [Tue, 30 Jul 2013 01:01:35 +0000 (01:01 +0000)]
re PR tree-optimization/57993 (ICE: verify_ssa failed (definition in block n does not dominate use in block m))
gcc:
2013-07-29 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
PR tree-optimization/57993
* gimple-ssa-strength-reduction.c (replace_mult_candidate): Record
replaced statement in the candidate table.
(phi_add_costs): Return infinite cost when the hidden basis does
not dominate all phis on which the candidate is dependent.
(replace_one_candidate): Record replaced statement in the
candidate table.
gcc/testsuite:
2013-07-29 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
PR tree-optimization/57993
* gcc.dg/torture/pr57993.c: New test.
From-SVN: r201325
GCC Administrator [Tue, 30 Jul 2013 00:16:25 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201324
Joern Rennecke [Mon, 29 Jul 2013 22:45:38 +0000 (22:45 +0000)]
re PR rtl-optimization/58021 (MODE_EXIT switches at NOTE_INSN_DELETED)
PR rtl-optimization/58021
* mode-switching.c (create_pre_exit): Always split off preceding
insns if we are not at the basic block head.
From-SVN: r201321
Joern Rennecke [Mon, 29 Jul 2013 20:46:29 +0000 (20:46 +0000)]
* gcc.dg/tree-ssa/pr44258.c: Disable scan test for Epiphany.
From-SVN: r201320
Joern Rennecke [Mon, 29 Jul 2013 20:34:29 +0000 (20:34 +0000)]
epiphany.md (*isub_i+2): New peephole.
* config/epiphany/epiphany.md (*isub_i+2): New peephole.
(ashlv2si3): New expander.
(*ashlv2si3_i): New define_insn_and_split.
* predicates.md (float_operation): Allow patterns with three
basic sub-patterns.
From-SVN: r201319
Paolo Carlini [Mon, 29 Jul 2013 20:12:20 +0000 (20:12 +0000)]
re PR c++/57948 (internal compiler error: in initialize_reference, at cp/call.c:9285)
/cp
2013-07-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57948
* call.c (initialize_reference): Don't crash when reference_binding
returns a conv with conv->kind == ck_ambig.
/testsuite
2013-07-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57948
* g++.dg/conversion/ambig2.C: New.
From-SVN: r201318
Jason Merrill [Mon, 29 Jul 2013 19:40:13 +0000 (15:40 -0400)]
mangle.c (write_name): Check for null context.
* mangle.c (write_name): Check for null context.
(write_unscoped_name): Allow PARM_DECL context.
From-SVN: r201317
Po-Chun Chang [Mon, 29 Jul 2013 19:08:03 +0000 (13:08 -0600)]
match.c (gfc_match_call): Exit loop after setting i.
* match.c (gfc_match_call): Exit loop after setting i.
* resolve.c (resolve_variable): Exit loop after setting seen.
* expr.c (gfc_check_pointer_assign): Exit loop after setting
* warn.
* trans-array.c (set_loop_bounds): Exit loop after setting
nonoptional_arr.
* trans-io.c (gfc_trans_transfer): Exit loop after setting
* seen_vector.
From-SVN: r201316
Nathan Froyd [Mon, 29 Jul 2013 17:13:05 +0000 (17:13 +0000)]
atomic (compare_exchange_weak, [...]): Add call to __cmpexch_failure_order.
libstdc++-v3/
* include/std/atomic (compare_exchange_weak, compare_exchange_strong):
Add call to __cmpexch_failure_order.
* testsuite/util/testsuite_common_types.h
(compare_exchange_order_lowering): New generator.
* testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
New test.
From-SVN: r201315
Maciej W. Rozycki [Mon, 29 Jul 2013 14:37:30 +0000 (14:37 +0000)]
linux.h (GLIBC_DYNAMIC_LINKER): Handle `-mnan=2008'.
gcc/
* config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Handle `-mnan=2008'.
(UCLIBC_DYNAMIC_LINKER): New macro.
* config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32): Handle
`-mnan=2008'.
(GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32): Likewise.
(UCLIBC_DYNAMIC_LINKER32): Undefine macro first. Handle
`-mnan=2008'.
(UCLIBC_DYNAMIC_LINKER64): Redefine macro.
(UCLIBC_DYNAMIC_LINKERN32): Likewise.
* config/mips/mips-modes.def: Remove RESET_FLOAT_FORMAT calls
for SF and DF modes. Use ieee_quad_format for TF mode.
* config/mips/mips-opts.h (mips_ieee_754_setting): New enum.
* config/mips/mips.c (mips_file_start): Output a `.nan' directive.
(mips_option_override): Handle `-mnan=legacy'.
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Handle
`-mabs=2008' and `-mnan=2008'.
(OPTION_DEFAULT_SPECS): Add "nan" default.
(ASM_SPEC): Handle `-mnan='.
[!HAVE_AS_NAN] (HAVE_AS_NAN): New macro.
* config/mips/mips.md (abs<mode>2): Handle `-mabs=2008', update
comment accordingly.
(neg<mode>2): Likewise.
* config/mips/mips.opt (mabs, mnan): New options.
* doc/install.texi (Configuration): Document `--with-nan=' option.
* doc/invoke.texi (Option Summary): List MIPS `-mabs=' and
`-mnan=' options.
(MIPS Options): Document them.
* config.gcc <mips*-*-*>: Handle `--with-nan='.
* configure.ac <mips*-*-*>: Check for GAS `-mnan=2008' support.
* configure: Regenerate.
* config.in: Regenerate.
gcc/testsuite/
* gcc.target/mips/fabs-2008.c: New test case.
* gcc.target/mips/fabs-legacy.c: New test case.
* gcc.target/mips/fabsf-2008.c: New test case.
* gcc.target/mips/fabsf-legacy.c: New test case.
* gcc.target/mips/fneg-2008.c: New test case.
* gcc.target/mips/fneg-legacy.c: New test case.
* gcc.target/mips/fneg-2008.c: New test case.
* gcc.target/mips/fneg-legacy.c: New test case.
* gcc.target/mips/nan-2008.c: New test case.
* gcc.target/mips/nan-legacy.c: New test case.
* gcc.target/mips/nanf-2008.c: New test case.
* gcc.target/mips/nanf-legacy.c: New test case.
* gcc.target/mips/nans-2008.c: New test case.
* gcc.target/mips/nans-legacy.c: New test case.
* gcc.target/mips/nansf-2008.c: New test case.
* gcc.target/mips/nansf-legacy.c: New test case.
* gcc.target/mips/mips.exp: Handle `-mabs=' and `-mnan='.
From-SVN: r201313
Uros Bizjak [Mon, 29 Jul 2013 11:17:51 +0000 (13:17 +0200)]
re PR target/57954 (AVX missing vxorps (zeroing) before vcvtsi2s %edx, slow down AVX code)
2013-07-29 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (float post-reload splitters): Do not check
for subregs of SSE registers.
2013-07-29 Uros Bizjak <ubizjak@gmail.com>
H.J. Lu <hongjiu.lu@intel.com>
PR target/57954
PR target/57988
* config/i386/i386.md (post-reload splitter
to avoid partial SSE reg dependency stalls): New pattern.
From-SVN: r201308
Ramana Radhakrishnan [Mon, 29 Jul 2013 10:36:11 +0000 (10:36 +0000)]
Fix incorrect changelog entry.
From-SVN: r201307
Andreas Krebbel [Mon, 29 Jul 2013 08:03:38 +0000 (08:03 +0000)]
2013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/target.h (htm_begin, htm_commit, htm_abort)
(htm_transaction_active): Enable zEC12 instructions in the
assembler.
* configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.
From-SVN: r201301
Dominik Vogt [Mon, 29 Jul 2013 08:02:21 +0000 (08:02 +0000)]
s390.md ("movcc"): Swap load and store instructions.
2013-07-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/s390.md ("movcc"): Swap load and store instructions.
From-SVN: r201300
Alexander Ivchenko [Mon, 29 Jul 2013 06:05:34 +0000 (06:05 +0000)]
target-supports.exp (check_effective_target_non_bionic): New effective-target test.
* lib/target-supports.exp (check_effective_target_non_bionic): New
effective-target test.
* g++.dg/tls/thread_local4.C: Disable test for Bionic.
* g++.dg/tls/thread_local4g.C: Ditto.
Co-Authored-By: Maxim Kuvyrkov <maxim@kugelworks.com>
From-SVN: r201298
GCC Administrator [Mon, 29 Jul 2013 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201297
Thomas Koenig [Sun, 28 Jul 2013 21:10:23 +0000 (21:10 +0000)]
re PR fortran/58009 (Elements with same value in vector subscript in variable definition context)
2013-07-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/58009
* expr.c (gfc_check_vardef_context): Check for same values in
vector expression subscripts.
2013-07-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/58009
* gfortran.dg/vector_subsript_7.f90: New test.
From-SVN: r201294
Tim Shen [Sun, 28 Jul 2013 10:23:43 +0000 (10:23 +0000)]
Fix incorrect ChangeLog entry.
From-SVN: r201292
GCC Administrator [Sun, 28 Jul 2013 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201290
Joern Rennecke [Sat, 27 Jul 2013 18:41:49 +0000 (18:41 +0000)]
epiphany.c (epiphany_compute_frame_size): Also reserve space for saving UNKNOWN_REGNUM for leaf functions.
* config/epiphany/epiphany.c (epiphany_compute_frame_size):
Also reserve space for saving UNKNOWN_REGNUM for leaf functions.
From-SVN: r201287
Tobias Burnus [Sat, 27 Jul 2013 14:17:01 +0000 (16:17 +0200)]
re PR fortran/57991 (Enhance "Same actual argument associated" warning (-Waliasing))
2013-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/57991
* interface.c (check_some_aliasing): Also warn for intent
* OUT/OUT.
2013-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/57991
* gfortran.dg/warn_alias.f90: New.
From-SVN: r201286
Janus Weil [Sat, 27 Jul 2013 12:55:59 +0000 (14:55 +0200)]
re PR fortran/57285 ([OOP] ICE on invalid: "gfc_array_dimen_size(): Bad dimension" due to SIZE intrinsic with invalid dim on CLASS dummy)
2013-07-27 Janus Weil <janus@gcc.gnu.org>
PR fortran/57285
* check.c (dim_rank_check): Re-enable this check for CLASS arrays.
2013-07-27 Janus Weil <janus@gcc.gnu.org>
PR fortran/57285
* gfortran.dg/class_array_19.f90: New.
From-SVN: r201284
Eric Botcazou [Sat, 27 Jul 2013 06:38:12 +0000 (06:38 +0000)]
pr57705.c: Adjust for a !vect_pack_trunc target.
* gcc.dg/vect/pr57705.c: Adjust for a !vect_pack_trunc target.
* gcc.dg/vect/pr57741-2.c: Require a vect_float target.
* gcc.dg/vect/pr57741-3.c: Likewise.
* gcc.dg/vect/bb-slp-32.c: XFAIL for a vect_no_align target.
From-SVN: r201282
GCC Administrator [Sat, 27 Jul 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201279
Cary Coutant [Fri, 26 Jul 2013 20:14:43 +0000 (20:14 +0000)]
dwarf2out.c (die_checksum_ordered): Don't include template instantiations in signature.
gcc/
* dwarf2out.c (die_checksum_ordered): Don't include template
instantiations in signature.
(is_template_parameter): New function.
(is_template_instantiation): New function.
(generate_skeleton_bottom_up): Don't include template instantiations
in type unit DIE.
(generate_skeleton): Likewise.
(break_out_comdat_types): Move recursive call to break out nested
types earlier.
(prune_unused_types_mark_generic_parms_dies): Call
is_template_parameter.
From-SVN: r201275
William Schmidt [Fri, 26 Jul 2013 19:38:14 +0000 (19:38 +0000)]
Correct ChangeLog entry
From-SVN: r201274
Joern Rennecke [Fri, 26 Jul 2013 18:35:29 +0000 (18:35 +0000)]
pr37868.c: Disable for epiphany.
* gcc.dg/torture/pr37868.c: Disable for epiphany.
* gcc.dg/sibcall-6.c: Enable for epiphany.
From-SVN: r201272
Joern Rennecke [Fri, 26 Jul 2013 18:28:27 +0000 (18:28 +0000)]
pr27095.c: For Epiphany, add -mshort-calls.
* gcc.dg/pr27095.c: For Epiphany, add -mshort-calls.
* gcc.dg/tree-ssa/loop-1.c: Likewise.
From-SVN: r201271
Joern Rennecke [Fri, 26 Jul 2013 18:16:23 +0000 (18:16 +0000)]
* gcc.c-torture/execute/builtins/stpcpy-chk.x: New file.
From-SVN: r201270
Joern Rennecke [Fri, 26 Jul 2013 15:22:43 +0000 (15:22 +0000)]
Skip tests that make assumptions about struct layout that don't hold on epiphany.
Skip tests that make assumptions about struct layout that don't hold
on epiphany. These tests could be fixed by adding padded attributes,
See:
http://gcc.gnu.org/ml/gcc-patches/2011-08/msg00006.html
http://gcc.gnu.org/ml/gcc-patches/2011-09/msg01513.html
http://gcc.gnu.org/ml/gcc-patches/2011-09/msg01504.html
* g++.dg/cpp0x/cast.C: Skip for epiphany-*-*.
* g++.dg/cpp0x/iop.C: Likewise.
* g++.dg/cpp0x/named_refs.C: Likewise.
* g++.dg/cpp0x/rv1p.C: Likewise.
* g++.dg/cpp0x/rv2p.C: Likewise.
* g++.dg/cpp0x/rv3p.C: Likewise.
* g++.dg/cpp0x/rv4p.C: Likewise.
* g++.dg/cpp0x/rv5p.C: Likewise.
* g++.dg/cpp0x/rv6p.C: Likewise.
* g++.dg/cpp0x/rv7p.C: Likewise.
* g++.dg/cpp0x/rv8p.C: Likewise.
* g++.dg/ext/strncpy-chk1.C: Likewise.
* gcc.dg/builtin-object-size-10.c: Likewise.
* gcc.dg/builtin-object-size-11.c: Likewise.
* gcc.dg/builtin-stringop-chk-1.c: Likewise.
* gcc.dg/pr25805.c: Likewise.
* gcc.c-torture/execute/builtins/memcpy-chk.x: New file.
* gcc.c-torture/execute/builtins/memmove-chk.x: Likewise.
* gcc.c-torture/execute/builtins/mempcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/memset-chk.x: Likewise.
* gcc.c-torture/execute/builtins/snprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/sprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/stpcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strcat-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strncat-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strncpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/vsnprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/vsprintf-chk.x: Likewise.
* gcc.c-torture/execute/zerolen-2.x: Likewise.
From-SVN: r201268
Kyrylo Tkachov [Fri, 26 Jul 2013 14:54:06 +0000 (14:54 +0000)]
minmax_minus.c: Scan
gcc/testsuite/
* gcc.target/arm/minmax_minus.c: Scan
From-SVN: r201267