Commit Graph

125238 Commits

Author SHA1 Message Date
Adam Butcher
ff63a2f45c * pt.c (make_auto_1): Use input_location rather than BUILTINS_LOCATION.
From-SVN: r202610
2013-09-16 08:14:11 +01:00
Tobias Burnus
d14fc2c6b4 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
2013-09-16 08:42:02 +02:00
GCC Administrator
2c995b637d Daily bump.
From-SVN: r202608
2013-09-16 00:16:55 +00:00
Jason Merrill
2993d08a0f 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
2013-09-15 15:34:42 -04:00
Jason Merrill
73f4e2d261 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
2013-09-15 15:34:34 -04:00
Jason Merrill
018795f477 * lambda.c (add_capture): Don't add DECL_LANG_SPECIFIC.
From-SVN: r202603
2013-09-15 15:34:27 -04:00
Tobias Burnus
5ef7093dde 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
2013-09-15 12:54:10 +02:00
Jan-Benedict Glaw
97191ad093 * config/vax/constraints.md (T): Add missing CONSTANT_P check.
From-SVN: r202600
2013-09-15 09:44:29 +00:00
GCC Administrator
f8962cb214 Daily bump.
From-SVN: r202599
2013-09-15 00:16:45 +00:00
John David Anglin
403a3fb7ec 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
2013-09-14 16:58:01 +00:00
Iain Sandoe
fb5610fbf3 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
2013-09-14 15:36:41 +00:00
Jan Hubicka
afdec9bd06 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
2013-09-14 15:27:21 +00:00
Tim Shen
7b86458e38 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
2013-09-14 14:23:44 +00:00
Iain Sandoe
492d1e0ac5 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
2013-09-14 11:09:55 +00:00
Eric Botcazou
20442b36c4 Fix glitches
From-SVN: r202589
2013-09-14 08:44:25 +00:00
DJ Delorie
ceb2fc49ce 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
2013-09-14 02:13:18 -04:00
Gabriel Dos Reis
03112d9463 Remove myself from MAINTAINERS
From-SVN: r202587
2013-09-14 00:54:57 +00:00
GCC Administrator
2984218f4a Daily bump.
From-SVN: r202586
2013-09-14 00:17:29 +00:00
Evgeny Gavrin
d13c6b70cb 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
2013-09-13 15:36:42 -07:00
Dominique d'Humieres
6e5e985e1e Changelog entry for correction of thinko in the target pair
filter for darwin.

From-SVN: r202579
2013-09-13 21:41:49 +00:00
Dominique d'Humieres
c3226f662e 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
2013-09-13 21:39:11 +00:00
Jason Merrill
2fce28ed64 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
2013-09-13 15:11:23 -04:00
Paolo Carlini
4f03875418 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
2013-09-13 18:32:42 +00:00
Jacek Caban
88b0e79e45 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
2013-09-13 20:06:41 +02:00
Kai Tietz
a1e51df97b 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
2013-09-13 19:28:25 +02:00
Kai Tietz
5cf16202ab gcc.target/i386/pr57848.c: New file.
From-SVN: r202571
2013-09-13 19:27:29 +02:00
Adam Butcher
f3a880f8ce 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
2013-09-13 17:14:15 +01:00
Jan Hubicka
19ba6aab7b 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
2013-09-13 14:35:32 +00:00
Jan Hubicka
a93c18c88f 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
2013-09-13 14:28:03 +00:00
Jakub Jelinek
f3b331d117 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
2013-09-13 14:42:04 +02:00
Martin Jambor
ae6d090748 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
2013-09-13 14:04:54 +02:00
Alexander Ivchenko
e660fa8b9d configure.tgt: Remove *-*-*android* from supported targets.
* configure.tgt: Remove *-*-*android* from supported targets.

From-SVN: r202562
2013-09-13 11:21:10 +00:00
Richard Biener
2fd5894f38 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
2013-09-13 10:58:35 +00:00
Kyrylo Tkachov
86eb4bd726 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
2013-09-13 10:26:34 +00:00
Richard Biener
83a95546b8 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
2013-09-13 08:30:48 +00:00
Christian Bruel
c0ecf7f1cb 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
2013-09-13 09:51:07 +02:00
Kai Tietz
740f2bf37a 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
2013-09-13 08:44:31 +02:00
Kai Tietz
34f56efcd5 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
2013-09-13 08:43:17 +02:00
Adam Butcher
f0e40b0a06 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
2013-09-13 07:37:25 +01:00
Jeff Law
823b5d6bbc Revert " * tree-ssa-dom.c (cprop_into_successor_phis): Also propagate"
This reverts commit 592dc887e7bd7b2637b9277c3bd28f41a9487b17.

Conflicts:
	gcc/ChangeLog

From-SVN: r202553
2013-09-13 00:04:32 -06:00
GCC Administrator
cece834139 Daily bump.
From-SVN: r202549
2013-09-13 00:16:54 +00:00
DJ Delorie
aadb52ad00 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
2013-09-12 19:12:49 -04:00
Brooks Moses
90ae701920 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
2013-09-12 16:07:32 -07:00
DJ Delorie
c5215a9bd3 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
2013-09-12 19:03:35 -04:00
DJ Delorie
17b2557c83 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
2013-09-12 18:43:30 -04:00
Adam Butcher
984417a0ae 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
2013-09-12 22:04:52 +01:00
Adam Butcher
c9469d539a 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
2013-09-12 19:54:52 +01:00
Adam Butcher
1c1880fcc6 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
2013-09-12 19:54:42 +01:00
Vladimir Makarov
84f6d9fa3d Add missed .c for the file name in Changelog
From-SVN: r202537
2013-09-12 18:26:46 +00:00
Vladimir Makarov
ecafcf0577 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
2013-09-12 18:23:09 +00:00