Adam Butcher [Mon, 16 Sep 2013 07:14:21 +0000 (08:14 +0100)]
Support lambda templates.
* parser.c (cp_parser_lambda_declarator_opt): Accept template parameter
list with std=c++1y or std=gnu++1y.
(cp_parser_lambda_body): Don't call 'expand_or_defer_fn' for lambda call
operator template to avoid adding template result to symbol table.
* lambda.c (lambda_function): Return template result if call operator is
a template.
(maybe_add_lambda_conv_op): Move declarations to point of use. Refactor
operator call building in order to support conversion of a non-capturing
lambda template to a function pointer with help from ...
(prepare_op_call): ... this new function.
* decl2.c (check_member_template): Don't reject lambda call operator
template in local [lambda] class.
* pt.c (instantiate_class_template_1): Don't instantiate lambda call
operator template when instantiating lambda class.
From-SVN: r202611
Adam Butcher [Mon, 16 Sep 2013 07:14:11 +0000 (08:14 +0100)]
* pt.c (make_auto_1): Use input_location rather than BUILTINS_LOCATION.
From-SVN: r202610
Tobias Burnus [Mon, 16 Sep 2013 06:42:02 +0000 (08:42 +0200)]
re PR fortran/57697 ([OOP] Segfault with defined assignment for components during intrinsic assignment)
2013-09-16 Tobias Burnus <burnus@net-b.de>
PR fortran/57697
* resolve.c (generate_component_assignments): Correctly handle
* the
case that the LHS is not allocated.
2013-09-16 Tobias Burnus <burnus@net-b.de>
PR fortran/57697
* gfortran.dg/defined_assignment_10.f90: Comment print
* statement.
From-SVN: r202609
GCC Administrator [Mon, 16 Sep 2013 00:16:55 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202608
Jason Merrill [Sun, 15 Sep 2013 19:34:42 +0000 (15:34 -0400)]
Core DR 904 PR c++/41933
Core DR 904
PR c++/41933
* parser.c (cp_parser_lambda_introducer): Handle variadic capture.
* lambda.c (add_capture): Handle variadic capture.
(add_default_capture, lambda_capture_field_type): Likewise.
(build_capture_proxy, register_capture_members): Likewise.
* pt.c (register_specialization): Allow FIELD_DECL.
(retrieve_specialization): Likewise.
(find_parameter_packs_r): Handle FIELD_DECL and VAR_DECL.
(tsubst_pack_expansion): Handle FIELD_DECL packs.
(gen_elem_of_pack_expansion_instantiation): Likewise.
(instantiate_class_template_1): Likewise.
(tsubst_decl, tsubst_copy): Likewise.
(tsubst_expr) [DECL_EXPR]: Handle capture proxy packs.
(tsubst_copy_and_build) [VAR_DECL]: Likewise.
* semantics.c (finish_non_static_data_member): Don't try to represent
the type of a COMPOUND_REF of a FIELD_DECL pack.
From-SVN: r202605
Jason Merrill [Sun, 15 Sep 2013 19:34:34 +0000 (15:34 -0400)]
re PR c++/41933 ([c++0x] lambdas and variadic templates don't work together)
PR c++/41933
* cp-tree.h (DECL_PACK_P): Replace FUNCTION_PARAMETER_PACK_P.
* cxx-pretty-print.c (direct_declarator): Adjust.
* decl2.c (cp_build_parm_decl): Adjust.
* pt.c (function_parameter_pack_p): Adjust.
(find_parameter_packs_r, push_template_decl_real): Adjust.
(tsubst_pack_expansion, tsubst_decl): Adjust.
(regenerate_decl_from_template, instantiate_decl): Adjust.
From-SVN: r202604
Jason Merrill [Sun, 15 Sep 2013 19:34:27 +0000 (15:34 -0400)]
* lambda.c (add_capture): Don't add DECL_LANG_SPECIFIC.
From-SVN: r202603
Tobias Burnus [Sun, 15 Sep 2013 10:54:10 +0000 (12:54 +0200)]
re PR fortran/57697 ([OOP] Segfault with defined assignment for components during intrinsic assignment)
2013-09-15 Tobias Burnus <burnus@net-b.de>
PR fortran/57697
* resolve.c (generate_component_assignments): Handle unallocated
LHS with defined assignment of components.
2013-09-15 Tobias Burnus <burnus@net-b.de>
PR fortran/57697
* gfortran.dg/defined_assignment_10.f90: New.
From-SVN: r202601
Jan-Benedict Glaw [Sun, 15 Sep 2013 09:44:29 +0000 (09:44 +0000)]
* config/vax/constraints.md (T): Add missing CONSTANT_P check.
From-SVN: r202600
GCC Administrator [Sun, 15 Sep 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202599
John David Anglin [Sat, 14 Sep 2013 16:58:01 +0000 (16:58 +0000)]
re PR target/58382 (unwind.inc:136:1: ICE: in trunc_int_for_mode, at explow.c:55)
PR target/58382
* config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
calls to word_mode.
From-SVN: r202594
Iain Sandoe [Sat, 14 Sep 2013 15:36:41 +0000 (15:36 +0000)]
re PR target/48094 (ld: warning: section has unexpectedly large size errors in objc/obj-c++ lto)
gcc:
PR target/48094
* config/darwin.c (darwin_objc2_section): Note if ObjC Metadata is seen.
(darwin_objc1_section): Likewise.
(darwin_file_end): Emit Image Info section when required.
gcc/c-family:
PR target/48094
* c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
fobjc-gc, freplace-objc-classes): Accept for LTO.
gcc/objc:
PR target/48094
* objc-next-runtime-abi-01.c (generate_objc_image_info): Remove.
(objc_generate_v1_next_metadata): Remove generation of ImageInfo.
* objc-next-runtime-abi-02.c (generate_v2_objc_image_info): Remove.
(objc_generate_v2_next_metadata): Remove generation of ImageInfo.
From-SVN: r202593
Jan Hubicka [Sat, 14 Sep 2013 15:27:21 +0000 (17:27 +0200)]
tree-into-ssa.c (gate_into_ssa): New.
* tree-into-ssa.c (gate_into_ssa): New.
(pass_data_build_ssa): Use it.
* cgraph.h (expand_thunk): Update prototype.
* cgraphunit.c (analyze_function): Expand thunks early.
(expand_thunk): Fix DECL_CONTEXT of reust_decl;
build proper cgraph; set in_ssa_p; clear bogus TREE_ASM_WRITTEN;
set lowered flag; do not add new function.
(assemble_thunks_and_aliases): Update.
* tree-ssa.c (gate_init_datastructures): New gate.
(pass_data_init_datastructures): Use it.
From-SVN: r202592
Tim Shen [Sat, 14 Sep 2013 14:23:44 +0000 (14:23 +0000)]
regex.h (regex_match<>, [...]): Change regex_executor caller.
2013-09-14 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (regex_match<>, regex_search<>):
Change regex_executor caller. Now use their return value instead
of checking __m[0].matched to find out if it's successful.
(regex_search<>): Move the search logic to regex_executor.
* include/bits/regex_automaton.h: Add some new _Opcode. Refactor
_NFA::_M_insert_*.
* include/bits/regex_automaton.tcc: Add DEBUG dump for new
_Opcode. Refactor _NFA::_M_insert_*.
* include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
Use make_shared instead of construct by hand.
* include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
* include/bits/regex_constants.h: Fix indentation and line breaking.
* include/bits/regex_executor.h: Add _ResultsEntry to support
greedy/ungreedy mode. Move regex_search logic here.
* include/bits/regex_executor.tcc: Implement assertions and
greedy/ungreedy matching.
* include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
* include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
Fix comment.
From-SVN: r202591
Iain Sandoe [Sat, 14 Sep 2013 11:09:55 +0000 (11:09 +0000)]
re PR target/58269 (ICE when building libobjc on x86_64-apple-darwin* after revision 201915)
gcc:
PR target/58269
config/i386/i386.c (ix86_function_arg_regno_p): Make Darwin use the
xmm register set described in the psABI.
From-SVN: r202590
Eric Botcazou [Sat, 14 Sep 2013 08:44:25 +0000 (08:44 +0000)]
Fix glitches
From-SVN: r202589
DJ Delorie [Sat, 14 Sep 2013 06:13:18 +0000 (02:13 -0400)]
mulsi3.S: Remove a few unneeded moves and branches.
* config/rl78/mulsi3.S: Remove a few unneeded moves and branches.
* config/rl78/vregs.h: New.
* config/rl78/signbit.S: New file. Implements signbit function.
* config/rl78/divmodsi.S: New.
* config/rl78/divmodhi.S: New.
* config/rl78/divmodqi.S: New.
* config/rl78/t-rl78: Build them here...
* config/rl78/lib2div.c: ...but not here.
Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r202588
Gabriel Dos Reis [Sat, 14 Sep 2013 00:54:57 +0000 (00:54 +0000)]
Remove myself from MAINTAINERS
From-SVN: r202587
GCC Administrator [Sat, 14 Sep 2013 00:17:29 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r202586
Evgeny Gavrin [Fri, 13 Sep 2013 22:36:42 +0000 (22:36 +0000)]
dwarf2out.c (should_emit_struct_debug): Add check for type_decl variable is not NULL.
2013-09-13 Evgeny Gavrin <e.gavrin@samsung.com>
gcc/
* dwarf2out.c (should_emit_struct_debug): Add check
for type_decl variable is not NULL.
gcc/testsuite
* gcc.dg/debug/dwarf2/omp-fesdr.c: Add test.
* g++.dg/debug/dwarf2/omp-fesdr.C: Add test.
From-SVN: r202582
Dominique d'Humieres [Fri, 13 Sep 2013 21:41:49 +0000 (21:41 +0000)]
Changelog entry for correction of thinko in the target pair
filter for darwin.
From-SVN: r202579
Dominique d'Humieres [Fri, 13 Sep 2013 21:39:11 +0000 (21:39 +0000)]
Fix thinko in the late conversion to the use of configure variables for
the target pairs selection:
* gcc-interface/Makefile.in: Fix darwin Filter to match on $target_os,
not target_cpu.
From-SVN: r202578
Jason Merrill [Fri, 13 Sep 2013 19:11:23 +0000 (15:11 -0400)]
re PR c++/58273 (Segmentation fault with C++11)
PR c++/58273
* pt.c (any_type_dependent_elements_p): Actually check for
type-dependence, not value-dependence.
From-SVN: r202576
Paolo Carlini [Fri, 13 Sep 2013 18:32:42 +0000 (18:32 +0000)]
re PR libstdc++/58415 (__sso_string_base move constructor does not null terminate local data when moving from empty string)
2013-09-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58415
* include/ext/sso_string_base.h (__sso_string_base<>::
__sso_string_base(__sso_string_base&&)): Fix thinkos about
_M_length vs _M_set_length.
* testsuite/ext/vstring/cons/58415-1.cc: New.
* testsuite/ext/vstring/cons/58415-2.cc: Likewise.
From-SVN: r202574
Jacek Caban [Fri, 13 Sep 2013 18:06:41 +0000 (18:06 +0000)]
c-target.def: New hook
2013-09-13 Jacek Caban <jacek@codeweavers.com>
* c-target.def: New hook
gcc/ChangeLog:
2013-09-13 Jacek Caban <jacek@codeweavers.com>
* config.gcc: Use new winnt-c.c target hooks
* config/t-winnt: New file
* config/winnt-c.c: New file
* doc/tm.texi.in: Document new hook
* doc/tm.texi: Regenerated
gcc/cp/Changelog:
2013-09-13 Jacek Caban <jacek@codeweavers.com>
* decl.c: Use new cxx_implicit_extern_c hook
gcc/testsuite/ChangeLog:
2013-09-13 Jacek Caban <jacek@codeweavers.com>
* g++.dg/abi/main.C: Added implicit C linkage tests
From-SVN: r202573
Kai Tietz [Fri, 13 Sep 2013 17:28:25 +0000 (19:28 +0200)]
re PR target/57848 (internal compiler error on builtin and '#pragma GCC target()' option)
PR target/57848
* c-decl.c (c_builtin_function_ext_scope): Remove
wrong assumption that it is never called on prexisting
symbol.
From-SVN: r202572
Kai Tietz [Fri, 13 Sep 2013 17:27:29 +0000 (19:27 +0200)]
gcc.target/i386/pr57848.c: New file.
From-SVN: r202571
Adam Butcher [Fri, 13 Sep 2013 16:14:15 +0000 (17:14 +0100)]
Revert r202554, r202540 and r202539.
- r202554: Fix uninitialized variables causing breakage with -Werror.
- r202540: Support using 'auto' in a function parameter list to introduce an implicit template parameter.
- r202539: Support lambda templates.
From-SVN: r202570
Jan Hubicka [Fri, 13 Sep 2013 14:35:32 +0000 (16:35 +0200)]
re PR middle-end/58094 (IPA devirt testsuite errors)
PR middle-end/58094
* ipa-inline.c (check_callers): New function.
(check_caller_edge): Remove.
(want_inline_function_to_all_callers_p): Also permit alises that are
called dirrectly.
(inline_to_all_callers): Terminate the walk when devirtualization
introduce new calls.
From-SVN: r202567
Jan Hubicka [Fri, 13 Sep 2013 14:28:03 +0000 (16:28 +0200)]
ipa-inline-analysis.c (struct growth_data): Add node.
* ipa-inline-analysis.c (struct growth_data): Add node.
(do_estimate_growth_1): Fix detection of recursion.
From-SVN: r202566
Jakub Jelinek [Fri, 13 Sep 2013 12:42:04 +0000 (14:42 +0200)]
re PR libgomp/58392 (internal compiler error: in expand_GOMP_SIMD_VF, at internal-fn.c (omp simd inside omp parallel))
PR tree-optimization/58392
* tree-cfg.c (move_sese_region_to_fn): Rename loop variable
to avoid shadowing of outer loop variable. If
saved_cfun->has_simduid_loops or saved_cfun->has_force_vect_loops,
replace_by_duplicate_decl simduid of loops that have it set and
set dest_cfun->has_simduid_loops and/or
dest_cfun->has_force_vect_loops.
* omp-low.c (build_outer_var_ref): Call maybe_lookup_decl_in_outer_ctx
instead of maybe_lookup_decl.
* tree-inline.c (copy_loops): Change blocks_to_copy argument to id.
Use id->blocks_to_copy instead of blocks_to_copy. Adjust recursive
call. Copy over force_vect and copy and remap simduid. Set
cfun->has_simduid_loops and/or cfun->has_force_vect_loops.
(copy_cfg_body): Remove blocks_to_copy argument. Use
id->blocks_to_copy instead of blocks_to_copy. Adjust copy_loops
caller. Don't set cfun->has_simduid_loops and/or
cfun->has_force_vect_loops here.
(copy_body): Remove blocks_to_copy argument. Adjust copy_cfg_body
caller.
(expand_call_inline, tree_function_versioning): Adjust copy_body
callers.
From-SVN: r202564
Martin Jambor [Fri, 13 Sep 2013 12:04:54 +0000 (14:04 +0200)]
re PR bootstrap/58388 (LTO profiledbootstrap fails in stage feedback for tree-ssa-structalias.c with "internal compiler error: in try_make_edge_direct_simple_call, at ipa-prop.c:2606")
2013-09-13 Martin Jambor <mjambor@suse.cz>
PR bootstrap/58388
* ipa-prop.c (try_make_edge_direct_simple_call): Be less strict in
the assert if the edge was a speculative one.
From-SVN: r202563
Alexander Ivchenko [Fri, 13 Sep 2013 11:21:10 +0000 (11:21 +0000)]
configure.tgt: Remove *-*-*android* from supported targets.
* configure.tgt: Remove *-*-*android* from supported targets.
From-SVN: r202562
Richard Biener [Fri, 13 Sep 2013 10:58:35 +0000 (10:58 +0000)]
tree-data-ref.h (known_dependences_p): Move here ...
2013-09-13 Richard Biener <rguenther@suse.de>
* tree-data-ref.h (known_dependences_p): Move here ...
* tree-loop-distribution.c (known_dependences_p): ... from here.
(dump_rdg_component, debug_rdg_component): Remove.
(dump_rdg): Adjust.
(generate_loops_for_partition): Use gimple_uid instead of
relying on matching stmt visit order.
(rdg_build_partitions): Take starting stmt vector.
(ldist_gen): Merge into ...
(distribute_loop): ... this function. Do not compute starting
vertices vector.
* tree-cfg.c (gimple_duplicate_bb): Copy UID for PHIs.
From-SVN: r202561
Kyrylo Tkachov [Fri, 13 Sep 2013 10:26:34 +0000 (10:26 +0000)]
arm.md (arm_cmpsi_insn): Split rI alternative.
2013-09-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.md (arm_cmpsi_insn): Split rI alternative.
Set type attribute correctly. Set predicable_short_it attribute.
(cmpsi_shiftsi): Remove %? from output template.
From-SVN: r202560
Richard Biener [Fri, 13 Sep 2013 08:30:48 +0000 (08:30 +0000)]
tree-loop-distribution.c (struct rdg_component, [...]): Remove.
2013-09-13 Richard Biener <rguenther@suse.de>
* tree-loop-distribution.c (struct rdg_component,
rdg_defs_used_in_other_loops_p, free_rdg_components,
rdg_build_components): Remove.
(stmts_from_loop): Do not record virtual PHIs.
(generate_loops_for_partition): Skip virtual PHIs.
(build_rdg_partition_for_component): Rename to ...
(build_rdg_partition_for_vertex): ... this and adjust.
(rdg_build_partitions): Take a vector of starting vertices
instead of components. Remove unnecessary leftover handling.
(ldist_gen): Do not build components or record other stores.
(distribute_loop): Do not distribute loops containing stmts
with side-effects.
From-SVN: r202558
Christian Bruel [Fri, 13 Sep 2013 07:51:07 +0000 (09:51 +0200)]
re PR target/58314 (SH4 error: 'asm' operand requires impossible reload)
2013-09-13 Christian Bruel <christian.bruel@st.com>
PR target/58314
* config/sh/sh.md (mov<mode>_reg_reg): Allow memory reloads.
From-SVN: r202557
Kai Tietz [Fri, 13 Sep 2013 06:44:31 +0000 (08:44 +0200)]
config.gcc: Separate cases for mingw and cygwin targets, and add 64-bit cygwin target case.
* config.gcc: Separate cases for mingw and cygwin targets,
and add 64-bit cygwin target case.
From-SVN: r202556
Kai Tietz [Fri, 13 Sep 2013 06:43:17 +0000 (08:43 +0200)]
winnt-cxx.c (i386_pe_type_dllexport_p): Don't dll-export inline-functions.
2013-09-13 Kai Tietz <ktietz@redhat.com>
* config/i386/winnt-cxx.c (i386_pe_type_dllexport_p): Don't
dll-export inline-functions.
* config/i386/winnt.c (i386_pe_determine_dllexport_p): Likewise.
Additional fix ChangeLog-date of prior commit.
From-SVN: r202555
Adam Butcher [Fri, 13 Sep 2013 06:37:25 +0000 (07:37 +0100)]
Fix uninitialized variables causing breakage with -Werror.
* lambda.c (maybe_add_lambda_conv_op): Initialize direct_argvec and call
to nullptr to avoid breakage with -Werror.
From-SVN: r202554
Jeff Law [Fri, 13 Sep 2013 06:04:32 +0000 (00:04 -0600)]
Revert " * tree-ssa-dom.c (cprop_into_successor_phis): Also propagate"
This reverts commit
592dc887e7bd7b2637b9277c3bd28f41a9487b17.
Conflicts:
gcc/ChangeLog
From-SVN: r202553
GCC Administrator [Fri, 13 Sep 2013 00:16:54 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202549
DJ Delorie [Thu, 12 Sep 2013 23:12:49 +0000 (19:12 -0400)]
rl78-virt.md: Change from | to \; for asm line separators.
* config/rl78/rl78-virt.md: Change from | to \; for asm line
separators.
From-SVN: r202545
Brooks Moses [Thu, 12 Sep 2013 23:07:32 +0000 (16:07 -0700)]
re PR driver/42955 (undecorated cross-compiler gcc fails to find cc1)
PR driver/42955
* Makefile.in: Do not install driver binaries in $(target)/bin.
* cp/Make-lang.in: Likewise.
* fortran/Make-lang.in: Likewise.
From-SVN: r202544
DJ Delorie [Thu, 12 Sep 2013 23:03:35 +0000 (19:03 -0400)]
rl78.opt (mrelax): New.
* config/rl78/rl78.opt (mrelax): New.
* config/rl78/rl78.h (ASM_SPEC): New, pass on -mrelax to gas.
* config/rl78/rl78.h (LINK_SPEC): New, pass on -mrelax to ld.
From-SVN: r202543
DJ Delorie [Thu, 12 Sep 2013 22:43:30 +0000 (18:43 -0400)]
rl78.c (rl78_expand_prologue): Use AX to copy between SP and FP.
* config/rl78/rl78.c (rl78_expand_prologue): Use AX to copy
between SP and FP.
(rl78_expand_epilogue): Likewise.
From-SVN: r202542
Adam Butcher [Thu, 12 Sep 2013 21:04:52 +0000 (22:04 +0100)]
Support using 'auto' in a function parameter list to introduce an implicit template parameter.
* cp-tree.h (type_uses_auto_or_concept): Declare.
(is_auto_or_concept): Declare.
* decl.c (grokdeclarator): Allow 'auto' parameters in lambdas with
-std=gnu++1y or -std=c++1y or, as a GNU extension, in plain functions.
* type-utils.h: New header defining ...
(find_type_usage): ... this new function based on pt.c (type_uses_auto)
for searching a type tree given a predicate.
* pt.c (type_uses_auto): Reimplement via type-utils.h (find_type_usage).
(is_auto_or_concept): New function.
(type_uses_auto_or_concept): New function.
* parser.h (struct cp_parser): Add fully_implicit_function_template_p.
* parser.c (cp_parser_new): Initialize fully_implicit_function_template_p.
(cp_parser_new): Initialize fully_implicit_function_template_p.
(cp_parser_lambda_expression): Copy and restore value of
fully_implicit_function_template_p as per other parser fields.
(cp_parser_parameter_declaration_list): Count generic
parameters and call ...
(add_implicit_template_parms): ... this new function to synthesize them
with help from type-utils.h (find_type_usage), ...
(tree_type_is_auto_or_concept): ... this new static function and ...
(make_generic_type_name): ... this new static function.
(cp_parser_direct_declarator): Account for implicit template parameters.
(cp_parser_lambda_declarator_opt): Finish fully implicit template if
necessary by calling ...
(finish_fully_implicit_template): ... this new function.
(cp_parser_member_declaration): Likewise.
(cp_parser_function_definition_after_declarator): Likewise.
* Make-lang.in (cp/pt.o): Add dependency on type-utils.h.
(cp/parser.o): Likewise.
From-SVN: r202540
Adam Butcher [Thu, 12 Sep 2013 18:54:52 +0000 (19:54 +0100)]
Support lambda templates.
* parser.c (cp_parser_lambda_declarator_opt): Accept template parameter
list with std=c++1y or std=gnu++1y.
(cp_parser_lambda_body): Don't call 'expand_or_defer_fn' for lambda call
operator template to avoid adding template result to symbol table.
* lambda.c (lambda_function): Return template result if call operator is
a template.
(maybe_add_lambda_conv_op): Move declarations to point of use. Refactor
operator call building in order to support conversion of a non-capturing
lambda template to a function pointer with help from ...
(prepare_op_call): ... this new function.
* decl2.c (check_member_template): Don't reject lambda call operator
template in local [lambda] class.
* pt.c (instantiate_class_template_1): Don't instantiate lambda call
operator template when instantiating lambda class.
From-SVN: r202539
Adam Butcher [Thu, 12 Sep 2013 18:54:42 +0000 (19:54 +0100)]
Support decl instantiation in function-local templates.
* pt.c (instantiate_decl): Save/restore cp_unevaluated_operand and
c_inhibit_evaluation_warnings. Reset if instantiating within a
function-local template.
From-SVN: r202538
Vladimir Makarov [Thu, 12 Sep 2013 18:26:46 +0000 (18:26 +0000)]
Add missed .c for the file name in Changelog
From-SVN: r202537
Vladimir Makarov [Thu, 12 Sep 2013 18:23:09 +0000 (18:23 +0000)]
re PR middle-end/58335 (S/390: reload vs lra regression - testcase builtin-in-setjmp)
2013-09-12 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/58335
* lra-eliminations (remove_reg_equal_offset_note): New.
(eliminate_regs_in_insn): Rewrite frame pointer to hard frame
pointer elimination with using remove_reg_equal_offset_note.
From-SVN: r202536
DJ Delorie [Thu, 12 Sep 2013 17:52:41 +0000 (13:52 -0400)]
MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430 maintainers.
* MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430
maintainers.
[gcc]
* config/msp430/: New port.
* config.gcc (msp430): Added.
* doc/invoke.texi: Document MSP430 options.
* doc/install.texi: Document msp430-elf
* doc/md.texi: Document msp430-elf
* doc/contrib.texi: Document msp430-elf
[libgcc]
* config.host (msp*-*-elf): New.
* config/msp430/: New port.
[contrib]
* config-list.mk: Add msp430-elf.
From-SVN: r202535
DJ Delorie [Thu, 12 Sep 2013 17:06:38 +0000 (13:06 -0400)]
cfgexpand.c (expand_debug_expr): Avoid sign-extending SImode to PSImode.
* cfgexpand.c (expand_debug_expr): Avoid sign-extending SImode to
PSImode.
From-SVN: r202534
Paolo Carlini [Thu, 12 Sep 2013 15:46:23 +0000 (15:46 +0000)]
pr58380.C: Suppress warnings with "-w".
2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/torture/pr58380.C: Suppress warnings with "-w".
From-SVN: r202533
Martin Jambor [Thu, 12 Sep 2013 15:20:05 +0000 (17:20 +0200)]
re PR ipa/58389 (g++ ICE in ipa_find_reference)
2013-09-12 Martin Jambor <mjambor@suse.cz>
PR ipa/58389
* ipa-prop.c (remove_described_reference): Give up if the edge in the
reference descriptor is NULL.
(ipa_edge_removal_hook): If owning a reference descriptor, set its
edge to NULL.
testsuite/
* g++.dg/pr58389.C: New test.
From-SVN: r202532
Paolo Carlini [Thu, 12 Sep 2013 15:15:34 +0000 (15:15 +0000)]
re PR libstdc++/58403 (__normal_iterator triggers odr-use)
2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58403
* include/bits/stl_iterator.h (__normal_iterator<>::operator[],
operator+=, operator+, operator-=, operator-): Take the argument
by value.
* testsuite/24_iterators/normal_iterator/58403.cc: New.
From-SVN: r202531
Paolo Carlini [Thu, 12 Sep 2013 14:22:32 +0000 (14:22 +0000)]
2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak last ChangeLo entry.
From-SVN: r202530
Paolo Carlini [Thu, 12 Sep 2013 14:20:55 +0000 (14:20 +0000)]
2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
* Complete last commit.
From-SVN: r202529
Paolo Carlini [Thu, 12 Sep 2013 13:49:18 +0000 (13:49 +0000)]
semantics.c (finish_pseudo_destructor_expr): Add location_t parameter.
2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
* semantics.c (finish_pseudo_destructor_expr): Add location_t
parameter.
* pt.c (unify_arg_conversion): Use EXPR_LOC_OR_HERE.
(tsubst_copy_and_build): Adjust finish_pseudo_destructor_expr
calls.
* parser.c (cp_parser_postfix_dot_deref_expression): Likewise.
(cp_parser_postfix_expression): Pass the proper location to
cp_parser_postfix_dot_deref_expression.
/testsuite
2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/template/pseudodtor2.C: Add column number to dg-error
strings.
* g++.dg/template/pseudodtor3.C: Likewise.
From-SVN: r202528
Andrew MacLeod [Thu, 12 Sep 2013 13:30:31 +0000 (13:30 +0000)]
tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c (SSANAMES...
* tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c
(SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS, ptr_info_def,
num_ssa_names, ssa_name): Move to tree-ssanames.h + prototypes.
* tree-flow-inline.h (make_ssa_name, copy_ssa_name, duplicate_ssa_name,
make_temp_ssa_name): move to tree-ssanames.h
* tree-ssa-alias.h: Move prototype.
* tree-ssa.h: Include tree-ssanames.h.
* tree-ssanames.c (FREE_SSANAMES): Move to here.
* tree-ssanames.h: New. Move items from tree-flow*.h
* Makefile.in (tree-ssanames.h): Add to tree-ssanames.o and GTFILES.
From-SVN: r202527
Gary Benson [Thu, 12 Sep 2013 13:27:46 +0000 (13:27 +0000)]
ChangeLog: Add missing file to two entries.
* libiberty/ChangeLog: Add missing file to two entries.
From-SVN: r202526
Richard Biener [Thu, 12 Sep 2013 13:20:17 +0000 (13:20 +0000)]
re PR tree-optimization/58404 (&noninvariant_address not forwproped into ->handled_component)
2013-09-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/58404
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also
propagate non-invariant addresses into dereferences wrapped
in component references.
* g++.dg/tree-ssa/pr58404.C: New testcase.
From-SVN: r202525
Richard Biener [Thu, 12 Sep 2013 13:19:21 +0000 (13:19 +0000)]
re PR middle-end/58402 (FAIL: gcc.dg/tree-ssa/phi-opt-1.c scan-tree-dump-times optimized "if" 0)
2013-09-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/58402
* passes.def: Move pass_late_warn_uninitialized later.
From-SVN: r202524
Andrew MacLeod [Thu, 12 Sep 2013 13:03:18 +0000 (13:03 +0000)]
tree-ssa.h: New.
* tree-ssa.h: New. Move content from tree-flow.h and
tree-flow-inline.h.
* tree-flow.h (_edge_var_map, edge_var_map_vector): Move to tree-ssa.h.
Move prototypes belonging to tree-ssa.c.
* tree-flow-inline.h (redirect_edge_var_map_def,
redirect_edge_var_map_result, redirect_edge_var_map_location): Move to
tree-ssa.h.
* gimple.h: Adjust prototypes.
* tree-ssa.c (useless_type_conversion_p, types_compatible_p): Move to...
* gimple.c (useless_type_conversion_p, types_compatible_p): Here.
* tree.h: Move prototype to tree-ssa.h.
* gengtype.c (open_base_files): Replace tree-flow.h with tree-ssa.h.
* Makefile.in: (TREE_SSA_H, TREE_FLOW_H): Adjust dependencies.
* alias.c, asan.c, builtins.c, calls.c, cfgexpand.c, cfghooks.c,
cfgloop.c, cfgloopmanip.c, cgraph.c, cgraphbuild.c, cgraphclones.c,
cgraphunit.c, dse.c, except.c, expr.c, final.c, fold-const.c,
ggc-page.c, gimple-fold.c, gimple-iterator.c, gimple-low.c,
gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
gimple-streamer-in.c, gimple-streamer-out.c, gimple.c, gimplify.c,
graphite-blocking.c, graphite-clast-to-gimple.c, graphite-dependences.c,
graphite-interchange.c, graphite-optimize-isl.c, graphite-poly.c,
graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c,
ipa-cp.c, ipa-inline-analysis.c, ipa-inline-transform.c, ipa-inline.c,
ipa-prop.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa-utils.c,
loop-init.c, lto-cgraph.c, lto-section-in.c, lto-section-out.c,
lto-streamer-in.c, lto-streamer-out.c, lto-streamer.c, omp-low.c,
passes.c, predict.c, print-tree.c, profile.c, sese.c, targhooks.c,
tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
tree-chrec.c, tree-complex.c, tree-data-ref.c, tree-dfa.c, tree-eh.c,
tree-emutls.c, tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
tree-loop-distribution.c, tree-mudflap.c, tree-nested.c, tree-nrv.c,
tree-object-size.c, tree-optimize.c, tree-outof-ssa.c, tree-parloops.c,
tree-phinodes.c, tree-predcom.c, tree-pretty-print.c, tree-profile.c,
tree-scalar-evolution.c, tree-sra.c, tree-ssa*.c, tree-stdarg.c,
tree-streamer-in.c, tree-switch-conversion.c, tree-tailcall.c,
tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop-manip.c,
tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
tree-vect-stmts.c, tree-vectorizer.c, tree-vrp.c, tsan.c,
value-prof.c, var-tracking.c,
varpool.c, vtable-verify.c: Replace tree-flow.h with tree-ssa.h
From-SVN: r202523
Martin Jambor [Thu, 12 Sep 2013 12:15:15 +0000 (14:15 +0200)]
re PR ipa/58371 (internal compiler error: in ipcp_verify_propagated_values, at ipa-cp.c:892)
2013-09-12 Martin Jambor <mjambor@suse.cz>
PR ipa/58371
* g++.dg/ipa/pr58371.C: New test.
From-SVN: r202522
Richard Biener [Thu, 12 Sep 2013 11:18:46 +0000 (11:18 +0000)]
re PR tree-optimization/58396 (heap-use-after-free at gcc/tree-loop-distribution.c:1959)
2013-09-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/58396
* tree-loop-distribution.c (create_rdg_edges): Free unused DDRs.
(build_rdg): Take a loop-nest parameter, fix memleaks.
(distribute_loop): Compute loop-nest here and pass it to build_rdg.
From-SVN: r202521
Yuri Rumyantsev [Thu, 12 Sep 2013 10:48:53 +0000 (10:48 +0000)]
x86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE for SLM.
* config/i386/x86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE
for SLM.
From-SVN: r202520
Thomas Schwinge [Thu, 12 Sep 2013 09:41:42 +0000 (09:41 +0000)]
ChangeLog entry for
* gcc-interface/Makefile.in: Import target_cpu, target_vendor,
target_os and their host_ counterparts. Remove host_canonical and
target_cpu_default, unused. Remove local ad-hoc computations of
"host", "targ", "arch", "osys" and "manu". Replace uses of these by
uses of the now imported family, hence back to filters against
canonical values. Remove filters on e500 for target_cpu, expected to
be canonicalized into powerpc. Invert the logic filtering on 64bit
sparc for VxWorks. Simplify the filtering logic for bareboard tools
target pairs, now using straight elf/eabi filters on the target_os
part only.
From-SVN: r202519
Thomas Schwinge [Thu, 12 Sep 2013 09:35:54 +0000 (09:35 +0000)]
Makefile.in: Import target_cpu, target_vendor, target_os and their host_ counterparts.
2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
Olivier Hainque <hainque@adacore.com>
* gcc-interface/Makefile.in: Import target_cpu, target_vendor,
target_os and their host_ counterparts. Remove host_canonical and
target_cpu_default, unused. Remove local ad-hoc computations of
"host", "targ", "arch", "osys" and "manu". Replace uses of these by
uses of the now imported family, hence back to filters against
canonical values. Remove filters on e500 for target_cpu, expected to
be canonicalized into powerpc. Invert the logic filtering on 64bit
sparc for VxWorks. Simplify the filtering logic for bareboard tools
target pairs, now using straight elf/eabi filters on the target_os
part only.
From-SVN: r202518
Cameron McInally [Thu, 12 Sep 2013 09:23:08 +0000 (11:23 +0200)]
extend.texi: Fix errors in x86 FMA builtin naming.
* doc/extend.texi: Fix errors in x86 FMA builtin naming.
The FMA instruction names should have a 'v' prefix.
From-SVN: r202517
Richard Biener [Thu, 12 Sep 2013 08:49:01 +0000 (08:49 +0000)]
tree-loop-distribution.c (dot_rdg_1): Make graph prettier.
2013-09-12 Richard Biener <rguenther@suse.de>
* tree-loop-distribution.c (dot_rdg_1): Make graph prettier.
(dot_rdg): Use popen instead of system in optional code.
(remaining_stmts, upstream_mem_writes): Remove global bitmaps.
(already_processed_vertex_p): Adjust.
(has_anti_or_output_dependence, predecessor_has_mem_write,
mark_nodes_having_upstream_mem_writes, has_upstream_mem_writes,
rdg_flag_uses): Remove.
(rdg_flag_vertex): Simplify.
(rdg_flag_vertex_and_dependent): Rely on a correct RDG and
remove recursion.
(build_rdg_partition_for_component): Process the first vertex
of a component only.
(ldist_gen): Do not compute remaining_stmts or upstream_mem_writes.
* gcc.dg/tree-ssa/ldist-4.c: Remove undefined behavior. Adjust
expected outcome and comment why that happens.
From-SVN: r202516
Alan Modra [Thu, 12 Sep 2013 02:47:05 +0000 (12:17 +0930)]
rs6000.c (toc_relative_expr_p): Use add_cint_operand.
* config/rs6000/rs6000.c (toc_relative_expr_p): Use add_cint_operand.
From-SVN: r202515
GCC Administrator [Thu, 12 Sep 2013 00:17:06 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r202514
DJ Delorie [Thu, 12 Sep 2013 00:16:03 +0000 (20:16 -0400)]
predicates.md (rl78_cmp_operator_signed): New.
* config/rl78/predicates.md (rl78_cmp_operator_signed): New.
(rl78_stack_based_mem): New.
* config/rl78/constraints.md (Iv08): New.
(Iv16): New.
(Iv24): New.
(Is09): New.
(Is17): New.
(Is25): New.
(ISsi): New.
(IShi): New.
(ISqi): New.
* config/rl78/rl78-expand.md (movqi): Reject more SUBREG operands.
(movhi): Likewise.
(movsi): Change from expand to insn-and-split.
(ashrsi3): Clobber AX.
(lshrsi3): New.
(ashlsi3): New.
(cbranchsi4): New.
* config/rl78/rl78.md (CC_REG): Fix.
(addsi3): Allow memory and immediate operands.
(addsi3_internal): Split into...
(addsi3_internal_virt): ...new, and ...
(addsi3_internal_real): ...new.
(subsi): New.
(subsi3_internal_virt): New.
(subsi3_internal_real): New.
(mulsi3): Add memory operand.
(mulsi3_rl78): Likewise.
(mulsi3_g13): Likewise.
* config/rl78/rl78-real.md (cbranchqi4_real_signed): New.
(cbranchqi4_real): Add more constraint options.
(cbranchhi4_real): Expand pattern.
(cbranchhi4_real_signed): New.
(cbranchhi4_real_inverted): New.
(cbranchsi4_real_lt): New.
(cbranchsi4_real_ge): New.
(cbranchsi4_real_signed): New.
(cbranchsi4_real): New.
(peephole2): New.
* config/rl78/rl78-virt.md (ashrsi3_virt): Add custom cases for constant shifts.
(lshrsi3_virt): Likewise.
(ashlsi3_virt): Likewise.
(cbranchqi4_virt_signed): New.
(cbranchhi4_virt_signed): New.
(cbranchsi4_virt): New.
* config/rl78/rl78.c: Whitespace fixes throughout.
(move_elim_pass): New.
(pass_data_rl78_move_elim): New.
(pass_rl78_move_elim): New.
(make_pass_rl78_move_elim): New.
(rl78_devirt_info): Run devirt earlier.
(rl78_move_elim_info): New.
(rl78_asm_file_start): Register it.
(rl78_split_movsi): New.
(rl78_as_legitimate_address): Allow virtual base registers when
appropriate.
(rl78_addr_space_convert): Remove spurious debug stuff.
(rl78_print_operand_1): Add z,s,S,r,E modifiers.
(rl78_print_operand): More cases for not printing '#'.
(rl78_expand_compare): Remove most of the logic.
(content_memory): New.
(clear_content_memory): New.
(get_content_index): New.
(get_content_name): New.
(display_content_memory): New.
(update_content): New.
(record_content): New.
(already_contains): New.
(insn_ok_now): Re-recog insns with virtual registers.
(add_postponed_content_update): New.
(process_postponed_content_update): New.
(gen_and_emit_move): New.
(transcode_memory_rtx): Record new location content. Use
gen_and_emit_move.
(force_into_acc): New.
(move_to_acc): Use gen_and_emit_move.
(move_from_acc): Likewise.
(move_acc_to_reg): Likewise.
(move_to_x): Likewise.
(move_to_hl): Likewise.
(move_to_de): Likewise.
(rl78_alloc_physical_registers_op1): Record location content.
(has_constraint): New.
(rl78_alloc_physical_registers_op2): Record location content.
Optimize use of HL.
(rl78_alloc_physical_registers_ro1): Likewise.
(rl78_alloc_physical_registers_cmp): Likewise.
(rl78_alloc_physical_registers_umul): Likewise.
(rl78_alloc_address_registers_macax): New.
(rl78_alloc_physical_registers): Initialize and set location
content memory as needed.
(rl78_reorg): Make sure split2 is called.
(rl78_rtx_costs): New.
Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r202511
Mitsuru Kariya [Wed, 11 Sep 2013 22:24:50 +0000 (22:24 +0000)]
re PR libstdc++/58358 (search_n has a Complexity violation for random access iterator)
2013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com>
Chris Jefferson <chris@bubblescope.net>
PR libstdc++/58358
* include/bits/stl_algo.h (search_n): Fix to guarantee a number
of comparisons <= number of elements in the range.
* testsuite/25_algorithms/search_n/58358.cc: New.
* testsuite/25_algorithms/search_n/iterator.cc: Extend.
Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
From-SVN: r202510
Richard Sandiford [Wed, 11 Sep 2013 17:40:56 +0000 (17:40 +0000)]
simplify-rtx.c (simplify_unary_operation_1): Use simplify_gen_binary for (not (neg ...)) and (neg (not ...)) cases.
gcc/
* simplify-rtx.c (simplify_unary_operation_1): Use simplify_gen_binary
for (not (neg ...)) and (neg (not ...)) cases.
From-SVN: r202506
Richard Biener [Wed, 11 Sep 2013 12:20:07 +0000 (12:20 +0000)]
re PR c++/58377 (spurious "may be used uninitialized" warning with -Og)
2013-09-11 Richard Biener <rguenther@suse.de>
PR middle-end/58377
* passes.def: Split critical edges before late uninit warning passes.
* tree-cfg.c (pass_split_crit_edges): Implement clone method.
* g++.dg/uninit-pred-4.C: New testcase.
From-SVN: r202496
Jakub Jelinek [Wed, 11 Sep 2013 11:35:51 +0000 (13:35 +0200)]
re PR middle-end/58385 (likely wrong code bug)
PR tree-optimization/58385
* fold-const.c (build_range_check): If both low and high are NULL,
use omit_one_operand_loc to preserve exp side-effects.
* gcc.c-torture/execute/pr58385.c: New test.
From-SVN: r202494
Kyrylo Tkachov [Wed, 11 Sep 2013 11:14:39 +0000 (11:14 +0000)]
arm.md (arm_shiftsi3): New alternative l/l/M.
[gcc/]
* config/arm/arm.md (arm_shiftsi3): New alternative l/l/M.
[gcc/testsuite]
* gcc.target/arm/thumb-ifcvt-2.c: New test.
From-SVN: r202493
Richard Biener [Wed, 11 Sep 2013 10:09:41 +0000 (10:09 +0000)]
tree-data-ref.c (dump_rdg_vertex, [...]): Move ...
2013-09-11 Richard Biener <rguenther@suse.de>
* tree-data-ref.c (dump_rdg_vertex, debug_rdg_vertex,
dump_rdg_component, debug_rdg_component, dump_rdg, debug_rdg,
dot_rdg_1, dot_rdg, rdg_vertex_for_stmt, create_rdg_edge_for_ddr,
create_rdg_edges_for_scalar, create_rdg_edges, create_rdg_vertices,
stmts_from_loop, known_dependences_p, build_empty_rdg,
build_rdg, free_rdg, rdg_defs_used_in_other_loops_p): Move ...
* tree-loop-distribution.c: ... here.
* tree-data-ref.h (struct rdg_vertex, RDGV_STMT, RDGV_DATAREFS,
RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT, RDG_DATAREFS,
RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT, enum rdg_dep_type,
struct rdg_edge, RDGE_TYPE, RDGE_LEVEL, RDGE_RELATION): Move ...
* tree-loop-distribution.c: ... here.
* tree-loop-distribution.c: Include gimple-pretty-print.h.
(struct partition_s): Add loops member.
(partition_alloc, partition_free, rdg_flag_uses, rdg_flag_vertex,
rdg_flag_vertex_and_dependent, rdg_flag_loop_exits,
build_rdg_partition_for_component, rdg_build_partitions): Adjust.
From-SVN: r202492
Alexander Ivchenko [Wed, 11 Sep 2013 07:32:30 +0000 (07:32 +0000)]
constraints.md (k): New.
* config/i386/constraints.md (k): New.
(Yk): Ditto.
* config/i386/i386.c (const regclass_map): Add new mask registers.
(dbx_register_map): Ditto.
(dbx64_register_map): Ditto.
(svr4_dbx_register_map): Ditto.
(ix86_conditional_register_usage): Squash mask registers if AVX512F is
disabled.
(ix86_preferred_reload_class): Disable constants for mask registers.
(ix86_secondary_reload): Do spill of mask register using 32-bit insn.
(ix86_hard_regno_mode_ok): Support new mask registers.
(x86_order_regs_for_local_alloc): Ditto.
* config/i386/i386.h (FIRST_PSEUDO_REGISTER): Update.
(FIXED_REGISTERS): Add new mask registers.
(CALL_USED_REGISTERS): Ditto.
(REG_ALLOC_ORDER): Ditto.
(VALID_MASK_REG_MODE): New.
(FIRST_MASK_REG): Ditto.
(LAST_MASK_REG): Ditto.
(reg_class): Add MASK_EVEX_REGS, MASK_REGS.
(MAYBE_MASK_CLASS_P): New.
(REG_CLASS_NAMES): Add MASK_EVEX_REGS, MASK_REGS.
(REG_CLASS_CONTENTS): Ditto.
(MASK_REGNO_P): New.
(ANY_MASK_REG_P): Ditto.
(HI_REGISTER_NAMES): Add new mask registers.
* config/i386/i386.md (MASK0_REG, MASK1_REG, MASK2_REG,
MASK3_REG, MASK4_REG, MASK5_REG, MASK6_REG,
MASK7_REG): Constants for new mask registers.
(attribute "type"): Add mskmov, msklog.
(attribute "length_immediate"): Support them.
(attribute "memory"): Ditto.
(attribute "prefix_0f"): Ditto.
(*movhi_internal): Support new mask registers.
(*movqi_internal): Ditto.
(define_split): Split out clobber pattern is a logic
insn on mask registers.
(*k<logic><mode>): New.
(*andhi_1): Extend to support mask regs.
(*andqi_1): Extend to support mask regs.
(kandn<mode>): New.
(define_split): Split and-not to and and not if operands
are not mask regs.
(*<code><mode>_1): Separate HI mode to new pattern...
(*<code>hi_1): This.
(*<code>qi_1): Extend to support mask regs.
(kxnor<mode>): New.
(kortestzhi): Ditto.
(kortestchi): Ditto.
(kunpckhi): Ditto.
(*one_cmpl<mode>2_1): Remove HImode and handle it...
(*one_cmplhi2_1): ...Here, now with mask registers support.
(*one_cmplqi2_1): Support new mask registers.
(HI/QImode arithmetics splitter): Don't split if mask registers are used.
(HI/QImode not splitter): Ditto.
* config/i386/predicated.md (mask_reg_operand): New.
(general_reg_operand): Ditto.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>
From-SVN: r202491
Alexander Ivchenko [Wed, 11 Sep 2013 07:21:15 +0000 (07:21 +0000)]
*·doc/invoke.texi:·Document·fxsr,·xsave·and·xsaveopt·options.
*·doc/extend.texi:·Document·fxsr,·xsave·and·xsaveopt·builtins.
From-SVN: r202490
Jeff Law [Wed, 11 Sep 2013 02:23:48 +0000 (20:23 -0600)]
re PR tree-optimization/58380 (ice in fold_comparison)
PR tree-optimization/58380
* tree-ssa-threadupdate.c (thread_block): Recognize another case
of threading through a buried loop header.
* tree-ssa-threadedge.c (thread_around_empty_blocks): Correct
return value for single successor case.
* g++.dg/torture/pr58380.C: New test.
2013-09-10 Jeff Law <law@redhat.com>
From-SVN: r202489
Ed Smith-Rowland [Wed, 11 Sep 2013 01:27:31 +0000 (01:27 +0000)]
value.cc: Change template args from char to wchar_t, literals from 'x' to L'x'.
2013-09-10 Ed Smith-Rowland <3dw4rd@verizon.net>
* testsuite/28_regex/traits/wchar_t/value.cc: Change template args
from char to wchar_t, literals from 'x' to L'x'.
From-SVN: r202487
GCC Administrator [Wed, 11 Sep 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202486
Jan Hubicka [Tue, 10 Sep 2013 21:41:38 +0000 (23:41 +0200)]
* ipa-devirt.c (ipa_devirt): Enable with LTO.
From-SVN: r202482
Caroline Tice [Tue, 10 Sep 2013 19:17:37 +0000 (12:17 -0700)]
Now that it's official, add myself back in as libvtv
maintainer.
From-SVN: r202481
Paolo Carlini [Tue, 10 Sep 2013 18:45:29 +0000 (18:45 +0000)]
re PR bootstrap/58386 (libstdc++.so.6: undefined symbol: htab_hash_pointer)
2013-09-10 Paolo Carlini <paolo.carlini@oracle.com>
PR bootstrap/58386
Revert:
2013-09-10 Gary Benson <gbenson@redhat.com>
* cp-demangle.c: Include hashtab.h.
(struct d_print_info): New field saved_scopes.
(d_print_init): Initialize the above.
(d_print_free): New function.
(cplus_demangle_print_callback): Call the above.
(struct d_saved_scope): New structure.
(d_store_scope): New function.
(d_free_scope) Likewise.
(d_restore_scope) Likewise.
(d_hash_saved_scope) Likewise.
(d_equal_saved_scope) Likewise.
(d_print_comp): New variable saved_scope.
[DEMANGLE_COMPONENT_REFERENCE,
DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
time the component is traversed, and use the captured scope for
subsequent traversals.
From-SVN: r202480
Richard Earnshaw [Tue, 10 Sep 2013 16:46:55 +0000 (16:46 +0000)]
re PR target/58361 (Wrong floating point code generated for ARM target)
PR target/58361
* arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
support conditional execution.
(combine_vcvt_f64_<FCVTI32typename>): Likewise.
From-SVN: r202475
Kai Tietz [Tue, 10 Sep 2013 16:18:34 +0000 (18:18 +0200)]
Add PR's section
From-SVN: r202473
Kai Tietz [Tue, 10 Sep 2013 16:17:25 +0000 (18:17 +0200)]
gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS* like in gnu.ver.
PR/54314
* config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
like in gnu.ver.
From-SVN: r202472
Caroline Tice [Tue, 10 Sep 2013 16:10:28 +0000 (09:10 -0700)]
To prevent further confusion, remove myself as libvtv
maintainer until (if) I am officially approved as such.
From-SVN: r202471
H.J. Lu [Tue, 10 Sep 2013 16:00:13 +0000 (16:00 +0000)]
Move VTV_SUPPORTED check after AC_CANONICAL_SYSTEM
PR other/58374
* configure.ac: Move VTV_SUPPORTED check after AC_CANONICAL_SYSTEM.
* configure: Regenerated.
From-SVN: r202470
Vladimir Makarov [Tue, 10 Sep 2013 15:37:57 +0000 (15:37 +0000)]
lra.c (lra): Clear lra_optional_reload_pseudos before every constraint pass.
2013-09-10 Vladimir Makarov <vmakarov@redhat.com>
* lra.c (lra): Clear lra_optional_reload_pseudos before every
constraint pass.
* lra-constraints.c (curr_insn_transform): Switch on optional
reloads. Check destination too to check move insn.
(undo_optional_reloads): Add check that the original peudo did not
changed its allocation and the optional reload was inherited on
last inheritance pass. Break loop after deciding to keep optional
reload.
(lra_undo_inheritance): Add check that inherited pseudo still in
memory.
From-SVN: r202468
Arnaud Charlet [Tue, 10 Sep 2013 15:30:44 +0000 (17:30 +0200)]
[multiple changes]
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: sem_ch3.adb:
(Replace_Anonymoous_Access_To_Protected_Subprogram): If the
return type is itself an access to function, recurse to emit
another anonymous type.
gcc-interface/decl.c (gnat_to_gnu_entity): In ASIS mode
(type_annotate_only) do not check whether access types have a set size.
2013-09-10 Robert Dewar <dewar@adacore.com>
* err_vars.ads (Warning_Doc_Switch): Ignored in VMS mode.
* errout.adb (Warning_Doc_Switch): Ignored in VMS mode.
* errout.ads (Warning_Doc_Switch): Ignored in VMS mode.
* inline.ads (Warnings): New component in Pending_Body_Info.
* sem_ch12.adb (Pending_Body_Info): Save and restore warnings
at instantiation point.
* warnsw.adb (Save_Warnings): New function (Restore_Warnings):
New procedure Remove special handling of Warning_Doc_Switch,
cleaner to handle the VMS case in errout, than to introduce
undocumented oddities here.
* warnsw.ads (Warning_Record) : New type.
(Save_Warnings): New function.
(Restore_Warnings): New procedure.
From-SVN: r202467
Arnaud Charlet [Tue, 10 Sep 2013 15:21:28 +0000 (17:21 +0200)]
[multiple changes]
2013-09-10 Robert Dewar <dewar@adacore.com>
* sinput.adb (Check_For_BOM): Avoid reading past end of file.
2013-09-10 Robert Dewar <dewar@adacore.com>
* errout.adb (Error_Msg_Ada_2012_Feature): New procedure.
* errout.ads (Error_Msg_Ada_2012_Feature): New procedure.
* inline.ads: Save/Restore Ada_Version_Pragma.
* opt.adb: Save/Restore Ada_Version_Pragma.
* opt.ads (Ada_Version_Pragma): New variable.
* par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb, par-ch5.adb,
par-ch6.adb, par-ch8.adb, par-prag.adb: Use Error_Msg_Ada_2012_Feature.
* prj.adb: Initialize Ada_Version_Pragma.
* sem_attr.adb: Use Error_Msg_Ada_2012_Feature.
* sem_ch12.adb, sem_ch8.adb: Save/restore Ada_Version_Pragma.
* sem_prag.adb (Analyze_Pragma, cases Ada_xx): Set Ada_Version_Pragma.
* switch-c.adb: Initialize Ada_Version_Pragma.
* sem_ch12.adb: Minor reformatting.
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Process_Subtype): Discard constraint on access
to class-wide type. Such constraints are not supported and are
considered a language pathology.
From-SVN: r202466
Robert Dewar [Tue, 10 Sep 2013 15:17:44 +0000 (15:17 +0000)]
gnatbind.adb: Correct starting date in --version string.
2013-09-10 Robert Dewar <dewar@adacore.com>
* gnatbind.adb: Correct starting date in --version string.
* gnatdll.adb: Use Check_Version_And_Help_G to implement --help
and --version.
* gnatkr.adb: Use Check_Version_And_Help_G to implement --help
and --version.
* gnatlink.adb: Correct starting date in --version string.
* gnatls.adb: Correct starting date in --version string.
* make.adb: Correct starting date in --version string.
From-SVN: r202465
Robert Dewar [Tue, 10 Sep 2013 15:16:41 +0000 (15:16 +0000)]
switch-c.adb: Minor reformatting.
2013-09-10 Robert Dewar <dewar@adacore.com>
* switch-c.adb: Minor reformatting.
* atree.ads (Original_Nodes): Add documentation on ASIS usage.
* sinfo.ads: Add section on ASIS mode (documentation only).
From-SVN: r202464
Robert Dewar [Tue, 10 Sep 2013 15:15:20 +0000 (15:15 +0000)]
sem_prag.adb (Analyze_Pragma, [...]): Don't allow REASON parameter in compiler units (bootstrap issues).
2013-09-10 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Warnings): Don't allow
REASON parameter in compiler units (bootstrap issues).
2013-09-10 Robert Dewar <dewar@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Output warning if
-gnateE specified for a target that does not support it.
From-SVN: r202463
Arnaud Charlet [Tue, 10 Sep 2013 15:12:42 +0000 (17:12 +0200)]
[multiple changes]
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Handle properly
a subprogram body without previous spec.
2013-09-10 Gary Dismukes <dismukes@adacore.com>
* sem_ch4.adb: Minor typo fixes.
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb (Aspects_On_Body_OK): New routine.
* aspects.ads: Modify type Aspect_Expression to include
the Optional_XXX variants. Update the contents of
table Aspect_Argument. Add table Aspect_On_Body_OK.
(Aspects_On_Body_OK): New routine.
* par-ch13.adb (Get_Aspect_Specifications): Account for optional
names and expressions when parsing an aspect.
* sem_ch6.adb: Add with and use clause for Aspects.
(Analyze_Subprogram_Body_Helper): Do not emit an error when
analyzing a body with aspects that can be applied simultaneously
to both spec and body.
* sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
corresponding pragma of an aspect that applies to a subprogram
body in the declarative part.
(Make_Aitem_Pragma): Do not generate a pragma with an empty argument
list.
From-SVN: r202462