Commit Graph

130389 Commits

Author SHA1 Message Date
Francois-Xavier Coudert 8f44990250 re PR fortran/36096 (F2008 Bessel: Documentation/diagnostic errors)
PR fortran/36096
	* intrinsic.texi: Fix documentation of BESSEL_J0, BESSEL_J1,
	BESSEL_Y0, and BESSEL_Y1.

From-SVN: r211368
2014-06-09 09:49:01 +00:00
Francois-Xavier Coudert f84c6bd920 re PR fortran/45187 (ICE with CRAY pointer in module)
PR fortran/45187

	* trans-decl.c (gfc_create_module_variable): Don't create
	Cray-pointee decls twice.

	* gfortran.dg/cray_pointers_10.f90: New file.

From-SVN: r211367
2014-06-09 09:25:14 +00:00
Jakub Jelinek 122032d2ae udr6.f90 (f1, f2, f3): Use complex(kind=8) instead of complex(kind=16).
* gfortran.dg/gomp/udr6.f90 (f1, f2, f3): Use complex(kind=8)
	instead of complex(kind=16).

From-SVN: r211366
2014-06-09 11:11:22 +02:00
Jan Hubicka 8de98ad4f5 * tree-core.h (tree_decl_with_vis): Remove section_name.
From-SVN: r211365
2014-06-09 05:22:36 +00:00
Kito Cheng 001010df9d ira.c (ira): Don't call init_caller_save if LRA enabled since LRA use its own infrastructure...
* ira.c (ira): Don't call init_caller_save if LRA enabled
	since LRA use its own infrastructure to handle that.

From-SVN: r211364
2014-06-09 04:21:42 +00:00
Jan Hubicka 24d047a30a symtab.c (dump_symtab_base): Update dumping.
* symtab.c (dump_symtab_base): Update dumping.
	(symtab_make_decl_local): Clear only DECL_COMDAT.
	* tree-vect-data-refs.c (Check that variable is static before
	tampering with sections.
	* cgraphclones.c (duplicate_thunk_for_node): Do not clear section name.
	(cgraph_create_virtual_clone): Likewise.
	* tree.c (decl_comdat_group, decl_comdat_group_id): Constify argument.
	(decl_section_name, set_decl_section_name): New accessors.
	(find_decls_types_r): Do not walk section name
	* tree.h (DECL_SECTION_NAME): Implement using
	decl_section_name.
	(decl_comdat_group, decl_comdat_group_id): Constify.
	(decl_section_name, set_decl_section_name): Update.
	* varpool.c (varpool_finalize_named_section_flags): Use
	get_section.
	* cgraph.c (cgraph_add_thunk): Reset node instead of rebuilding.
	(cgraph_make_node_local_1): Clear section and comdat group.
	* cgraph.h (set_comdat_group): Sanity check.
	(get_section, set_section): New.
	* ipa-comdats.c (ipa_comdats): Use get_section.
	* ipa.c (ipa_discover_readonly_nonaddressable_var): Likewise.
	* lto-streamer-out.c: Do not follow section names.
	* c-family/c-common.c (handle_section_attribute):
	Update.
	* lto-cgraph.c (lto_output_node): Output section.
	(lto_output_varpool_node): Likewise.
	(read_comdat_group): Rename to ...
	(read_identifier): ... this one.
	(read_string_cst): New function.
	(input_node, input_varpool_node): Input section names.
	* tree-emutls.c (get_emutls_init_templ_addr): Update.
	(new_emutls_decl): Update.
	(secname_for_decl): Check section names only of static
	vars.
	* config/mep/mep.c (mep_unique_section): Use set_decl_section_name.
	* config/i386/winnt.c (i386_pe_unique_section): Likewise.
	* config/i386/i386.c (x86_64_elf_unique_section): Likewise.
	* config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
	* config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Likewise.
	* config/mcore/mcore.c (mcore_unique_section): Likewise.
	* config/mips/mips.c (mips16_build_function_stub): Likewise.
	* config/v850/v850.c (v850_insert_attributes): Likewise.
	* config/h8300/h8300.c: (h8300_handle_eightbit_data_attribute):
	Likewise.
	(h8300_handle_tiny_data_attribute): Likewise.
	* config/bfin/bfin.c (bfin_handle_l1_text_attribute): Likewise.
	(bfin_handle_l2_attribute): Likewise.
	* tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers): Do not read section name.

	* lto.c (mentions_vars_p_decl_with_vis, compare_tree_sccs_1,
	lto_fixup_prevailing_decls): Skip section names.

	* go-gcc.cc (global_variable_set_init): Use
	set_decl_section_name.

	* gcc-interface/utils.c (process_attributes): Use it.

	* c-decl.c (merge_decls): Use set_decl_section_name.
	(duplicate_decls): Remove node if it exists.

	* class.c (build_utf8_ref): Use set_decl_section_name.
	(emit_register_classes_in_jcr_section): Likewise.
	(emit_register_classes_in_jcr_section): Likewise.

	* method.c (use_thunk): Use set_decl_section_name.
	* optimize.c (maybe_clone_body): Use set_decl_section_name.
	* decl.c (duplicate_decls): Likewise.
	* vtable-class-hierarchy.c: Likewise.

From-SVN: r211363
2014-06-09 02:30:30 +00:00
GCC Administrator b6def23167 Daily bump.
From-SVN: r211362
2014-06-09 00:17:53 +00:00
Jan Hubicka 80bc9b6ecc symtab.c (symtab_nonoverwritable_alias): Copy VIRTUAL flag; remove static initializer.
* symtab.c (symtab_nonoverwritable_alias): Copy VIRTUAL flag;
	remove static initializer.

From-SVN: r211358
2014-06-08 16:57:19 +00:00
Jan Hubicka 684a3aa7ab varasm.c (use_blocks_for_decl_p): Check symbol table instead of alias attribute.
* varasm.c (use_blocks_for_decl_p): Check symbol table instead of alias
	attribute.
	(place_block_symbol): Recurse on aliases.

From-SVN: r211357
2014-06-08 16:53:25 +00:00
Jan Hubicka 94c2e46ca3 ipa-visibility.c: Include varasm.h
* ipa-visibility.c: Include varasm.h
	(can_replace_by_local_alias): Ceck decl_binds_to_current_def_p.

From-SVN: r211356
2014-06-08 16:47:57 +00:00
Paolo Carlini cb90f114b2 gnu.ver: Tighten some patterns; tidy.
2014-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Tighten some patterns; tidy.

From-SVN: r211355
2014-06-08 16:03:01 +00:00
Francois-Xavier Coudert 000fd5b109 re PR fortran/38829 (Bogus BIND(C) error message)
PR fortran/38829
	* gfortran.dg/bind_c_usage_29.f90: New file.

From-SVN: r211354
2014-06-08 15:28:59 +00:00
Janne Blomqvist 89a862b40a PR 56981 Flush buffer at record boundary if possible.
2014-06-08  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/56981
	* io/unix.h (struct stream_vtable): Add new member function,
	markeor.
	(smarkeor): New inline function.
	(flush_if_unbuffered): Remove prototype.
	* io/unix.c (raw_markeor): New function.
	(raw_vtable): Initialize markeor member.
	(buf_markeor): New function.
	(buf_vtable): Initialize markeor member.
	(mem_vtable): Likewise.
	(mem4_vtable): Likewise.
	(flush_if_unbuffered): Remove function.
	* io/transfer.c (next_record): Call smarkeor instead of
	flush_if_unbuffered.

From-SVN: r211353
2014-06-08 08:43:29 +03:00
Jan Hubicka 136a5f4548 cgraphunit.c (assemble_thunks_and_aliases): Expand thunks before outputting aliases.
* cgraphunit.c (assemble_thunks_and_aliases): Expand thunks before
	outputting aliases.

From-SVN: r211352
2014-06-08 02:29:58 +00:00
GCC Administrator 3df8e299e4 Daily bump.
From-SVN: r211351
2014-06-08 00:16:41 +00:00
Steven Bosscher 0dbaf51e0b gcse.c (can_assign_to_reg_without_clobbers_p): Do not let pointers from test_insn into GGC space escape via SET_SRC.
* gcse.c (can_assign_to_reg_without_clobbers_p): Do not let pointers
	from test_insn into GGC space escape via SET_SRC.

From-SVN: r211347
2014-06-07 21:12:03 +00:00
Eric Botcazou 51d2abebc4 tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a call statement, if any.
* tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
	call statement, if any.
	(gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
	statements, if any.  Tidy up.

From-SVN: r211342
2014-06-07 11:59:18 +00:00
Ed Smith-Rowland 25608e3a5f DR 2344 - std::quoted doesn't respect padding
2014-06-06  Ed Smith-Rowland  <3dw4rd@verizon.net>

	DR 2344 - std::quoted doesn't respect padding
	* include/std/iomanip: Allow for padding in quoted inserters.
	* testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
	* testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.

From-SVN: r211340
2014-06-07 03:40:30 +00:00
GCC Administrator 4307f07ffa Daily bump.
From-SVN: r211339
2014-06-07 00:16:56 +00:00
Hans-Peter Nilsson 246e427d7a re PR target/18343 (mmix-knuth-mmixware testsuite failure: gcc.dg/builtin-return-1.c)
PR target/18343
	* gcc.dg/torture/stackalign/builtin-return-1.c (STACK_ARGUMENTS_SIZE):
	New macro, 0 for __MMIX__, default 64.
	(bar): Pass it to __builtin_apply instead of literal 64.

From-SVN: r211333
2014-06-06 23:58:33 +00:00
Michael Meissner b528fc5cd9 re PR target/61431 (Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems)
2014-06-06  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/61431
	* config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
	iterators, VSX_D that handles 64-bit types, and VSX_LE that
	handles swapping the two 64-bit double words on little endian
	systems.  Include V1TImode and optionally TImode in VSX_LE so that
	these types are properly swapped.  Change all of the insns and
	splits that do the 64-bit swaps to use VSX_LE.
	(vsx_le_perm_load_<mode>): Likewise.
	(vsx_le_perm_store_<mode>): Likewise.
	(splitters for little endian memory operations): Likewise.
	(vsx_xxpermdi2_le_<mode>): Likewise.
	(vsx_lxvd2x2_le_<mode>): Likewise.
	(vsx_stxvd2x2_le_<mode>): Likewise.

From-SVN: r211329
2014-06-06 23:15:36 +00:00
Ian Lance Taylor 6736ef96ea libgo: Merge to master revision 19184.
The next revision, 19185, renames several runtime files, and
will be handled in a separate change.

From-SVN: r211328
2014-06-06 22:37:27 +00:00
Sebastian Pop 38a138411d update my email address
2014-06-06  Sebastian Pop  <sebpop@gmail.com>

* MAINTAINERS: Update my email address.

From-SVN: r211327
2014-06-06 22:22:41 +00:00
François Dumont 4ac2509b1d 1.cc: Simplify test.
2014-06-06  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/23_containers/map/operators/1.cc: Simplify test.

From-SVN: r211324
2014-06-06 20:18:24 +00:00
Francois-Xavier Coudert 72b572cbb3 io.c (resolve_tag): Warn on non-default kind for NUMBER...
* io.c (resolve_tag): Warn on non-default kind for NUMBER,
	NEXTREC, RECL, NAMED, OPENED and PENDING I/O specifiers.

	* gfortran.dg/io_constraints_11.f90: New file.
	* gfortran.dg/io_constraints_12.f90: New file.
	* gfortran.dg/io_constraints_13.f90: New file.

From-SVN: r211323
2014-06-06 19:57:51 +00:00
Uros Bizjak 7b11cab795 re PR target/61423 (Incorrect conversion from unsigned int to floating point)
PR target/61423
	* config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
	define_insn_and_split pattern, merged from *floatunssi<mode>2_1
	and corresponding splitters.  Zero extend general register
	or memory input operand to XMM temporary.  Enable for
	TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
	(floatunssi<mode>2): Update expander predicate.

testsuite/ChangeLog:

	PR target/61423
	* gcc.target/i386/pr61423.c: New test.

From-SVN: r211321
2014-06-06 19:45:10 +02:00
Vladimir Makarov 5a770e0137 re PR rtl-optimization/61325 (aarch64_be build fails)
2014-06-06  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/61325
	* lra-constraints.c (process_address_1): Check scale equal to one
	to prevent transformation: base + scale * index => base + new_reg.

From-SVN: r211320
2014-06-06 17:22:34 +00:00
Paolo Carlini 4dadc66d18 re PR c++/60184 (g++ does not allow static members of named unions)
/cp
2014-06-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60184
	* class.c (check_field_decls): In C++11 mode do not reject
	static data members and reference-type members in unions.

/testsuite
2014-06-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60184
	* g++.dg/cpp0x/constexpr-union6.C: New.
	* g++.dg/cpp0x/union6.C: Likewise.
	* g++.dg/init/ref14.C: Adjust.
	* g++.dg/init/union1.C: Likewise.

From-SVN: r211318
2014-06-06 16:01:37 +00:00
Richard Biener acce8ce3bf re PR tree-optimization/59299 (We do not sink loads)
2014-06-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59299
	* tree-ssa-sink.c (all_immediate_uses_same_place): Work on
	a def operand.
	(nearest_common_dominator_of_uses): Likewise.
	(statement_sink_location): Adjust.  Support sinking loads.

	* gcc.dg/tree-ssa/ssa-sink-10.c: New testcase.

From-SVN: r211317
2014-06-06 15:31:47 +00:00
Jonathan Wakely f0bb873672 faq.xml (faq.stream_reopening_fails): Replace <quote> in code example.
* doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
	code example.
	* doc/xml/manual/backwards_compatibility.xml
	(backwards.second.stringstreams): Likewise.
	* doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
	change of default.
	* doc/xml/manual/containers.xml (associative.bitset.type_string):
	Replace <quote> in code example.
	* doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
	* doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
	fix typos, improve markup.
	* doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
	<emphasis> with <replaceable>.
	* doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
	* doc/xml/manual/support.xml (std.support.memory): Replace <quote>
	and remove newlines in string literal.

From-SVN: r211316
2014-06-06 15:36:22 +01:00
Martin Jambor 0d48ee3470 ipa-prop.c (get_place_in_agg_contents_list): New function.
2014-06-06  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (get_place_in_agg_contents_list): New function.
	(build_agg_jump_func_from_list): Likewise.
	(determine_known_aggregate_parts): Renamed to
	determine_locally_known_aggregate_parts.  Moved some functionality
	to the two functions above, removed bound checks.

From-SVN: r211315
2014-06-06 15:26:24 +02:00
James Greenhalgh e2c75eea66 [AArch64] Implement movmem for the benefit of inline memcpy
gcc/

	* config/aarch64/aarch64-protos.h (aarch64_expand_movmem): New.
	* config/aarch64/aarch64.c (aarch64_move_pointer): New.
	(aarch64_progress_pointer): Likewise.
	(aarch64_copy_one_part_and_move_pointers): Likewise.
	(aarch64_expand_movmen): Likewise.
	* config/aarch64/aarch64.h (MOVE_RATIO): Set low.
	* config/aarch64/aarch64.md (movmem<mode>): New.

gcc/testsuite/

	* gcc.dg/tree-ssa/pr42585.c: Skip for AArch64.
	* gcc.dg/tree-ssa/sra-12.c: Likewise.

From-SVN: r211314
2014-06-06 13:16:40 +00:00
Thomas Preud'homme 4ed6899575 bswap-2.c: Add alignment constraints to bitfield and test wrong results instead of correct...
2014-06-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * gcc.c-torture/execute/bswap-2.c: Add alignment constraints to
    bitfield and test wrong results instead of correct results to make the
    test more portable.

From-SVN: r211313
2014-06-06 10:42:50 +00:00
Paolo Carlini 506ac72b86 re PR c++/60432 (Member pointer resolution within class definition causes segmentation fault)
2014-06-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60432
	* g++.dg/cpp0x/constexpr-60432.C: New.

From-SVN: r211312
2014-06-06 10:00:55 +00:00
Bingfeng Mei 58e5400aec targhooks.c (default_add_stmt_cost): Call target specific hook instead of default one.
2014-06-06  Bingfeng Mei  <bmei@broadcom.com>

	* targhooks.c (default_add_stmt_cost): Call target specific
	hook instead of default one.

From-SVN: r211311
2014-06-06 09:52:51 +00:00
Paolo Carlini f185af3614 re PR c++/60199 ('error: field initializer is not constant' when initializing static member function pointer to a function)
2014-06-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60199
	* g++.dg/cpp0x/constexpr-60199.C: New.

From-SVN: r211310
2014-06-06 09:52:33 +00:00
Thomas Preud'homme 581263689a ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target endianness instead of host endianness.
2014-06-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
      endianness instead of host endianness.
    * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
      comments.

    gcc/testsuite/
    * gcc.dg/optimize-bswaphi-1.c: Adapt test to change of dump output.
      Specify -march=z900 as an additional option.
    * gcc.dg/optimize-bswapsi-1.c: Likewise for s390 options.
    * gcc.dg/optimize-bswapsi-2.c: Likewise.
    * gcc.dg/optimize-bswapdi-3.c: Likewise for adaptation to dump change.

From-SVN: r211309
2014-06-06 08:23:16 +00:00
Eric Botcazou 3fd48b121a re PR debug/53927 (wrong value for DW_AT_static_link)
PR debug/53927
	* function.c (instantiate_decls): Process the saved static chain.
	(expand_function_start): If not optimizing, save the static chain
	onto the stack.
	* tree-nested.c (convert_all_function_calls): Always create the static
	chain for nested functions if not optimizing.

From-SVN: r211308
2014-06-06 08:13:24 +00:00
Eric Botcazou 9b7a11e153 * tree-cfg.c (make_edges) <GIMPLE_RETURN>: Put a location on the edge.
From-SVN: r211307
2014-06-06 07:39:53 +00:00
Richard Biener 726338f44e cfgexpand.c (expand_gimple_cond): Remove check for current_loops.
2014-06-06  Richard Biener  <rguenther@suse.de>

	* cfgexpand.c (expand_gimple_cond): Remove check for current_loops.
	(construct_init_block): Likewise.
	(construct_exit_block): Likewise.
	(pass_expand::execute): Likewise.
	* graphite.c (graphite_transforms): Replace check for current_loops
	with a check for > 1 loops.
	(pass_graphite_transforms::execute): Adjust.
	* ipa-split.c (split_function): Remove check for current_loops.
	* omp-low.c (expand_parallel_call): Likewise.
	(expand_omp_for_init_counts): Likewise.
	(extract_omp_for_update_vars): Likewise.
	(expand_omp_for_generic): Likewise.
	(expand_omp_sections): Likewise.
	(expand_omp_target): Likewise.
	* tracer.c (tail_duplicate): Likewise.
	(pass_tracer::execute): Likewise.
	* trans-mem.c (expand_transaction): Likewise.
	* tree-complex.c (expand_complex_div_wide): Likewise.
	* tree-eh.c (lower_resx): Likewise.
	(cleanup_empty_eh_merge_phis): Likewise.
	* tree-predcom.c (run_tree_predictive_commoning): Replace check for
	current_loops with a check for > 1 loops.
	(pass_predcom::execute): Adjust.
	* tree-scalar-evolution.c (scev_reset): Remove check for current_loops.
	* tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
	* tree-ssa-dom.c (pass_phi_only_cprop::execute): Likewise.
	* tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
	* tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
	* tree-switch-conversion.c (process_switch): Likewise.
	* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
	* tree-vrp.c (vrp_visit_phi_node): Likewise.
	(execute_vrp): Likewise.
	* ubsan.c (ubsan_expand_null_ifn): Likewise.

From-SVN: r211306
2014-06-06 07:38:07 +00:00
Eric Botcazou ffa4602f4d rtl.h (insn_location): Declare.
* rtl.h (insn_location): Declare.
	* cfgcleanup.c (try_forward_edges): Compare the locus of locations
	with UNKNOWN_LOCATION.
	* emit-rtl.c (insn_location): New function.
	* final.c (notice_source_line): Check that the instruction has a
	location before retrieving it and use insn_location.
	* modulo-sched.c (loop_single_full_bb_p): Likewise.
	* print-rtl.c (print_rtx): Likewise.

From-SVN: r211305
2014-06-06 07:32:25 +00:00
Richard Biener 28a4a292fc passes.def: Move 2nd VRP pass before phi-only-cprop.
2014-06-06  Richard Biener  <rguenther@suse.de>

	* passes.def: Move 2nd VRP pass before phi-only-cprop.

From-SVN: r211304
2014-06-06 07:29:45 +00:00
Jakub Jelinek 5f23671d3f dump-parse-tree.c (show_omp_namelist): Dump reduction id in each list item.
gcc/fortran/
	* dump-parse-tree.c (show_omp_namelist): Dump reduction
	id in each list item.
	(show_omp_node): Only handle OMP_LIST_REDUCTION, not
	OMP_LIST_REDUCTION_FIRST .. OMP_LIST_REDUCTION_LAST.  Don't
	dump reduction id here.
	* frontend-passes.c (dummy_code_callback): Renamed to...
	(gfc_dummy_code_callback): ... this.  No longer static.
	(optimize_reduction): Use gfc_dummy_code_callback instead of
	dummy_code_callback.
	* gfortran.h (gfc_statement): Add ST_OMP_DECLARE_REDUCTION.
	(symbol_attribute): Add omp_udr_artificial_var bitfield.
	(gfc_omp_reduction_op): New enum.
	(gfc_omp_namelist): Add rop and udr fields.
	(OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
	OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
	OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
	OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST): Removed.
	(OMP_LIST_REDUCTION): New.
	(gfc_omp_udr): New type.
	(gfc_get_omp_udr): Define.
	(gfc_symtree): Add n.omp_udr field.
	(gfc_namespace): Add omp_udr_root field, add omp_udr_ns bitfield.
	(gfc_free_omp_udr, gfc_omp_udr_find, gfc_resolve_omp_udrs,
	gfc_dummy_code_callback): New prototypes.
	* match.h (gfc_match_omp_declare_reduction): New prototype.
	* module.c (MOD_VERSION): Increase to 13.
	(omp_declare_reduction_stmt): New array.
	(mio_omp_udr_expr, write_omp_udr, write_omp_udrs, load_omp_udrs):
	New functions.
	(read_module): Read OpenMP user defined reductions.
	(write_module): Write OpenMP user defined reductions.
	* openmp.c: Include arith.h.
	(gfc_free_omp_udr, gfc_find_omp_udr): New functions.
	(gfc_match_omp_clauses): Handle user defined reductions.
	Store reduction kind into gfc_omp_namelist instead of using
	several OMP_LIST_* entries.
	(match_udr_expr, gfc_omp_udr_predef, gfc_omp_udr_find,
	gfc_match_omp_declare_reduction): New functions.
	(resolve_omp_clauses): Adjust for reduction clauses being only
	in OMP_LIST_REDUCTION list.  Diagnose missing UDRs.
	(struct omp_udr_callback_data): New type.
	(omp_udr_callback, gfc_resolve_omp_udr, gfc_resolve_omp_udrs): New
	functions.
	* parse.c (decode_omp_directive): Handle !$omp declare reduction.
	(case_decl): Add ST_OMP_DECLARE_REDUCTION.
	(gfc_ascii_statement): Print ST_OMP_DECLARE_REDUCTION.
	* resolve.c (resolve_fl_variable): Allow len=: or len=* on
	sym->attr.omp_udr_artificial_var symbols.
	(resolve_types): Call gfc_resolve_omp_udrs.
	* symbol.c (gfc_get_uop): If gfc_current_ns->omp_udr_ns,
	use parent ns instead of gfc_current_ns.
	(gfc_get_sym_tree): Don't insert symbols into
	namespaces with omp_udr_ns set.
	(free_omp_udr_tree): New function.
	(gfc_free_namespace): Call it.
	* trans-openmp.c (struct omp_udr_find_orig_data): New type.
	(omp_udr_find_orig, gfc_trans_omp_udr_expr): New functions.
	(gfc_trans_omp_array_reduction): Renamed to...
	(gfc_trans_omp_array_reduction_or_udr): ... this.  Remove SYM
	argument, instead pass gfc_omp_namelist pointer N.  Handle
	user defined reductions.
	(gfc_trans_omp_reduction_list): Remove REDUCTION_CODE argument.
	Handle user defined reductions and reduction ops in gfc_omp_namelist.
	(gfc_trans_omp_clauses): Adjust for just a single OMP_LIST_REDUCTION
	list.
	(gfc_split_omp_clauses): Likewise.
gcc/testsuite/
	* gfortran.dg/gomp/allocatable_components_1.f90: Adjust for
	reduction clause diagnostic changes.
	* gfortran.dg/gomp/appendix-a/a.31.3.f90: Likewise.
	* gfortran.dg/gomp/reduction1.f90: Likewise.
	* gfortran.dg/gomp/reduction3.f90: Likewise.
	* gfortran.dg/gomp/udr1.f90: New test.
	* gfortran.dg/gomp/udr2.f90: New test.
	* gfortran.dg/gomp/udr3.f90: New test.
	* gfortran.dg/gomp/udr4.f90: New test.
	* gfortran.dg/gomp/udr5.f90: New test.
	* gfortran.dg/gomp/udr6.f90: New test.
	* gfortran.dg/gomp/udr7.f90: New test.
libgomp/
	* testsuite/libgomp.fortran/simd1.f90: New test.
	* testsuite/libgomp.fortran/udr1.f90: New test.
	* testsuite/libgomp.fortran/udr2.f90: New test.
	* testsuite/libgomp.fortran/udr3.f90: New test.
	* testsuite/libgomp.fortran/udr4.f90: New test.
	* testsuite/libgomp.fortran/udr5.f90: New test.
	* testsuite/libgomp.fortran/udr6.f90: New test.
	* testsuite/libgomp.fortran/udr7.f90: New test.
	* testsuite/libgomp.fortran/udr8.f90: New test.
	* testsuite/libgomp.fortran/udr9.f90: New test.
	* testsuite/libgomp.fortran/udr10.f90: New test.
	* testsuite/libgomp.fortran/udr11.f90: New test.

From-SVN: r211303
2014-06-06 09:24:38 +02:00
Christian Bruel d969f3c163 re PR tree-optimization/43934 (LIM should handle PHI nodes)
PR tree-optimization/43934
* tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant cost.

From-SVN: r211302
2014-06-06 09:21:02 +02:00
Marcus Shawcroft 4a450ea0d1 ChangeLog entry correction.
Correcting one of the ChangeLog entries committed earlier to recognize
that RenLin Lee also contributed to the patch.

From-SVN: r211301
2014-06-06 07:03:29 +00:00
Richard Sandiford b58923e2a9 ira-lives.c (single_reg_class): Add missing break.
gcc/
	* ira-lives.c (single_reg_class): Add missing break.  Explicitly
	return NO_REGS for extra address and memory constraints.  Handle
	operands that match (or are equivalent to something that matches)
	extra constant constraints.  Ignore other non-register operands.

From-SVN: r211300
2014-06-06 06:59:22 +00:00
Kirill Yukhin 3def9a9769 pr61391.c: Fix test.
gcc/testsuite/
	* gcc.dg/torture/pr61391.c: Fix test.

From-SVN: r211298
2014-06-06 05:31:26 +00:00
Alan Modra ddbb449ffe re PR target/61300 (powerpc64le miscompile with K&R-style function definition at -O0)
PR target/61300
	* doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
	* doc/tm.texi: Regenerate.
	* function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
	Use throughout in place of REG_PARM_STACK_SPACE.
	* config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
	"incoming" param.  Pass to rs6000_function_parms_need_stack.
	(rs6000_function_parms_need_stack): Add "incoming" param, ignore
	prototype_p when incoming.  Use function decl when incoming
	to handle K&R style functions.
	* config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
	(INCOMING_REG_PARM_STACK_SPACE): Define.

From-SVN: r211296
2014-06-06 10:34:22 +09:30
GCC Administrator 424ce7d729 Daily bump.
From-SVN: r211294
2014-06-06 00:17:00 +00:00
Jason Merrill 40e3a2ab9b re PR c++/43453 (Initialization of char array with string literal fails in mem-initializer)
PR c++/43453
	* decl.c (check_initializer): Collapse a TREE_LIST here.
	* typeck2.c (store_init_value): Not here.

From-SVN: r211290
2014-06-05 16:55:44 -04:00