1. 25 Jun, 2014 16 commits
    • tree-ssa-forwprop.c (associate_plusminus): For widening conversions check for… · f9bb13f3
      tree-ssa-forwprop.c (associate_plusminus): For widening conversions check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
      
      2014-06-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * tree-ssa-forwprop.c (associate_plusminus): For widening conversions
              check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
              Issue a strict overflow warning if appropriate.
      
      testsuite:
      2014-06-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * gcc.c-torture/execute/20140622-1.c: New test.
      
      From-SVN: r211988
      Bernd Edlinger committed
    • IPA REF refactoring · d122681a
      	* Makefile.in: Removed header file (ipa-ref-inline.h).
      	* cgraph.c (cgraph_turn_edge_to_speculative): New IPA REF function
      	called.
      	(cgraph_speculative_call_info): Likewise.
      	(cgraph_for_node_thunks_and_aliases): Likewise.
      	(cgraph_for_node_and_aliases): Likewise.
      	(verify_cgraph_node): Likewise.
      	* cgraph.h: Batch of IPA REF functions become member functions of
      	symtab_node: add_reference, maybe_add_reference, clone_references,
      	clone_referring, clone_reference, find_reference,
      	remove_stmt_references, remove_all_references,
      	remove_all_referring, dump_references, dump_referring,
      	has_alias_p, iterate_reference, iterate_referring.
      	* cgraphbuild.c (record_reference): New IPA REF function used.
      	(record_type_list): Likewise.
      	(record_eh_tables): Likewise.
      	(mark_address): Likewise.
      	(mark_load): Likewise.
      	(mark_store): Likewise.
      	(pass_build_cgraph_edges): Likewise.
      	(rebuild_cgraph_edge): Likewise.
      	(cgraph_rebuild_references): Likewise.
      	(pass_remove_cgraph_callee_edges): Likewise.
      	* cgraphclones.c (cgraph_clone_node): Likewise.
      	(cgraph_create_virtual_clone): Likewise.
      	(cgraph_materialize_clone): Likewise.
      	(cgraph_materialize_all_clones): Likewise.
      	* cgraphunit.c (cgraph_reset_node): Likewise.
      	(cgraph_reset_node): Likewise.
      	(analyze_function): Likewise.
      	(assemble_thunks_and_aliases): Likewise.
      	(expand_function): Likewise.
      	* ipa-comdats.c (propagate_comdat_group): Likewise.
      	(enqueue_references): Likewise.
      	* ipa-cp.c (ipcp_discover_new_direct_edges): Likewise.
      	(create_specialized_node): Likewise.
      	* ipa-devirt.c (referenced_from_vtable_p): Likewise.
      	* ipa-inline-transform.c (can_remove_node_now_p_1): Likewise.
      	* ipa-inline.c (reset_edge_caches): Likewise.
      	(update_caller_keys): Likewise.
      	(execute): Likewise.
      	* ipa-prop.c (remove_described_reference): Likewise.
      	(propagate_controlled_uses): Likewise.
      	(ipa_edge_duplication_hook): Likewise.
      	(ipa_modify_call_arguments): Likewise.
      	* ipa-pure-const.c (propagate_pure_const): Likewise.
      	* ipa-ref-inline.h: Header file removed, functions moved
      	to symtab_node class.
      	* ipa-ref.c (remove_reference): New class member function.
      	(cannot_lead_to_return): New class member function.
      	(referring_ref_list): Likewise.
      	(referred_ref_list): Likewise.
      	Rest of functions moved to symtab_node class.
      	* ipa-ref.h: New member functions remove_reference,
      	cannot_lead_to_return, referring_ref_list, referred_ref_list added
      	to ipa_ref class.
      	ipa_ref_list class has new member functions: first_reference,
      	first_referring, clear, nreferences.
      	* ipa-reference.c (analyze_function): New IPA REF function used.
      	(write_node_summary_p): Likewise.
      	(ipa_reference_write_optimization_summary): Likewise.
      	* ipa-split.c (split_function): Likewise.
      	* ipa-utils.c (ipa_reverse_postorder): Likewise.
      	* ipa-visibility.c (cgraph_non_local_node_p_1): Likewise.
      	(function_and_variable_visibility): Likewise.
      	* ipa.c (has_addr_references_p): Likewise.
      	(process_references): Argument type changed.
      	(symtab_remove_unreachable_nodes): New IPA REF function used.
      	(process_references): Likewise.
      	(set_writeonly_bit): Likewise.
      	* lto-cgraph.c: Implementation of new symtab_node member functions
      	that uses new IPA REF functions.
      	* lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF function used.
      	* lto-streamer-out.c (output_symbol_p): Likewise.
      	* lto-streamer.h (referenced_from_this_partition_p): Argument type
      	changed.
      	* lto/lto-partition.c (add_references_to_partition): New IPA REF function
      	used.
      	(add_symbol_to_partition_1): Likewise.
      	(lto_balanced_map): Likewise.
      	* lto/lto-symtab.c (lto_cgraph_replace_node): Likewise.
      	* symtab.c: Implementation of new IPA REF API.
      	* trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used.
      	(ipa_tm_create_version): Likewise.
      	(ipa_tm_execute): Likewise.
      	* tree-emutls.c (gen_emutls_addr): Likewise.
      	* tree-inline.c (copy_bb): Likewise.
      	(delete_unreachable_blocks_update_callgraph): Likewise.
      	* varpool.c (varpool_remove_unreferenced_decls): Likewise.
      	(varpool_for_node_and_aliases): Likewise.
      
      From-SVN: r211987
      Martin Liska committed
    • fix typo in winnt.c · 81d0a226
      gcc/
      
      	PR c/61612
      	* config/i386/winnt.c (i386_find_on_wrapper_list): Fix typo.
      
      From-SVN: r211986
      Trevor Saunders committed
    • fix checking=fold · 86fcf7ce
      gcc/
      
              PR bootstrap/61598
              * fold-const.c (fold_checksum_tree): Use a hash_table of const
              tree_node * instead of tree_node *.
              (fold): Adjust.
              (print_fold_checksum): Likewise.
              (fold_check_failed): Likewise.
              (debug_fold_checksum): Likewise.
              (fold_build1_stat_loc): Likewise.
              (fold_build2_stat_loc): Likewise.
              (fold_build3_stat_loc): Likewise.
              (fold_build_call_array_loc): Likewise.
      
      From-SVN: r211985
      Trevor Saunders committed
    • xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace implementation with call to... · b36e833f
              * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
              implementation with call to...
              * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): New
              function.
              * config/rs6000/rs6000-protos.h (rs6000_xcoff_declare_function_name):
              Declare.
      
      From-SVN: r211982
      David Edelsohn committed
    • DR 178 PR c++/49132 · c69c2835
      /cp
      2014-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	DR 178
      	PR c++/49132
      	* typeck2.c (process_init_constructor_record): Do not complain about
      	uninitialized const members, because within aggregate-initialization,
      	members without explicit initializers are value-initialized.
      
      /testsuite
      2014-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	DR 178
      	PR c++/49132
      	* g++.dg/cpp0x/aggr1.C: New.
      	* g++.dg/cpp0x/aggr2.C: Likewise.
      	* g++.dg/init/aggr11.C: Likewise.
      	* g++.dg/init/aggr12.C: Likewise.
      
      From-SVN: r211981
      Paolo Carlini committed
    • pr61540.C: Remove dumping test. · 1a7e871b
      2014-06-25  Martin Jambor  <mjambor@suse.cz>
      
      	* g++.dg/ipa/pr61540.C: Remove dumping test.
      
      From-SVN: r211980
      Martin Jambor committed
    • re PR c/61162 (possibly bad error location with -Wc++-compat) · 6e07c515
      	PR c/61162
      	* c-parser.c (c_parser_statement_after_labels): Pass the location of
      	the return expression to c_finish_return.
      
      	* gcc.dg/pr61162.c: Adjust dg-warning.
      	* gcc.dg/pr61162-2.c: New test.
      
      From-SVN: r211978
      Marek Polacek committed
    • re PR tree-optimization/57742 (memset(malloc(n),0,n) -> calloc(n,1)) · 20cb2258
      2014-06-25  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR tree-optimization/57742
      gcc/
      	* tree-ssa-strlen.c (handle_builtin_memset): Update strinfo
      	after replacing the statement.
      gcc/testsuite/
      	* gcc.dg/tree-ssa/calloc-3.c: New file.
      
      From-SVN: r211977
      Marc Glisse committed
    • v850.c (GHS_default_section_names): Change to const char * type. · cd47dfd0
      	* config/v850/v850.c (GHS_default_section_names): Change to const
      	char * type.
      	(GHS_current_section_names): Likewise.
      	(v850_insert_attributes): Do not build strings, just assign the
      	names directly.  Change the type of 'chosen_section' to const
      	char*.
      	* config/v850/v850-c.c (ghs_pragma_section): Assign the alias
      	directly to the array entry.
      	* config/v850/v850.h (GHS_default_section_names): Change to const
      	char * type.
      	(GHS_current_section_names): Likewise.
      
      From-SVN: r211972
      Nick Clifton committed
    • langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define. · da6f124d
      	* langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
      	(LANG_HOOKS_DECLS): Add it.
      	* gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
      	has correct type.
      	* tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
      	* langhooks.h (struct lang_hooks_for_decls): Add
      	omp_clause_linear_ctor hook.
      	* omp-low.c (lower_rec_input_clauses): Set max_vf even if
      	OMP_CLAUSE_LINEAR_ARRAY is set.  Don't fold_convert
      	OMP_CLAUSE_LINEAR_STEP.  For OMP_CLAUSE_LINEAR_ARRAY in
      	combined simd loop use omp_clause_linear_ctor hook.
      gcc/c/
      	* c-typeck.c (c_finish_omp_clauses): Make sure
      	OMP_CLAUSE_LINEAR_STEP has correct type.
      gcc/cp/
      	* semantics.c (finish_omp_clauses): Make sure
      	OMP_CLAUSE_LINEAR_STEP has correct type.
      gcc/fortran/
      	* trans.h (gfc_omp_clause_linear_ctor): New prototype.
      	* trans-openmp.c (gfc_omp_linear_clause_add_loop,
      	gfc_omp_clause_linear_ctor): New functions.
      	(gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has
      	correct type.  Set OMP_CLAUSE_LINEAR_ARRAY flag if needed.
      	* f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine.
      libgomp/
      	* testsuite/libgomp.fortran/simd5.f90: New test.
      	* testsuite/libgomp.fortran/simd6.f90: New test.
      	* testsuite/libgomp.fortran/simd7.f90: New test.
      
      From-SVN: r211971
      Jakub Jelinek committed
    • re PR testsuite/61560 (FAIL: gcc.dg/tree-ssa/ssa-fre-32.c on arm) · d49f446e
      2014-06-25  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/61560
      	* gcc.dg/tree-ssa/ssa-fre-32.c: Change to avoid differences
      	for targets that return _Complex float in memory.
      
      From-SVN: r211970
      Richard Biener committed
    • Adjust options for use of Neon with multilib testing. · 6eae34be
      2014-06-25  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	* gcc.target/arm/vect-noalign.c: Adjust options.
      
      From-SVN: r211969
      Ramana Radhakrishnan committed
    • tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD pattern recognition. · 79d652a5
      2014-06-24  Cong Hou  <congh@google.com>
      
          * tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD
          pattern recognition.
          (type_conversion_p): PROMOTION is true if it's a type promotion
          conversion, and false otherwise.  Return true if the given expression
          is a type conversion one.
          * tree-vectorizer.h: Adjust the number of patterns.
          * tree.def: Add SAD_EXPR.
          * optabs.def: Add sad_optab.
          * cfgexpand.c (expand_debug_expr): Add SAD_EXPR case.
          * expr.c (expand_expr_real_2): Likewise.
          * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
          * gimple.c (get_gimple_rhs_num_ops): Likewise.
          * optabs.c (optab_for_tree_code): Likewise.
          * tree-cfg.c (estimate_operator_cost): Likewise.
          * tree-ssa-operands.c (get_expr_operands): Likewise.
          * tree-vect-loop.c (get_initial_def_for_reduction): Likewise.
          * config/i386/sse.md: Add SSE2 and AVX2 expand for SAD.
          * doc/generic.texi: Add document for SAD_EXPR.
          * doc/md.texi: Add document for ssad and usad.
      
      2014-06-24  Cong Hou  <congh@google.com>
      
          * gcc.dg/vect/vect-reduc-sad.c: New.
          * lib/target-supports.exp (check_effective_target_vect_usad_char): New.
      
      From-SVN: r211966
      Cong Hou committed
    • Daily bump. · 22543f17
      From-SVN: r211965
      GCC Administrator committed
    • Fixup const qualification of the argument passed to hash_table::find_slot · 3c032229
      gcc/
      
      	* config/i386/winnt.c (i386_pe_section_type_flags): Fixup const
      	qualification.
      
      From-SVN: r211962
      Trevor Saunders committed
  2. 24 Jun, 2014 23 commits
    • class.c (check_methods, [...]): Guard VINDEX checks by FUNCTION_DECL check. · aaf8a23e
      
      	* class.c (check_methods, create_vtable_ptr, determine_key_method,
      	add_vcall_offset_vtbl_entries_1): Guard VINDEX checks by FUNCTION_DECL check.
      	* cp-tree.h (lang_decl_ns): Add ns_using and ns_users.
      	(DECL_NAMESPACE_USING, DECL_NAMESPACE_USERS): Use lang_decl_ns.
      	(DECL_NAMESPACE_ASSOCIATIONS): Use DECL_INITIAL.
      	(DECL_TEMPLATE_INSTANTIATIONS): Use DECL_SIZE_UNIT.
      	* tree.c (find_decls_types_r): Do not check DECL_VINDEX for TYPE_DECL.
      	* tree.h (DECL_VINDEX, DECL_SAVED_TREE): Restrict to DECL_FUNCTION.
      	* tree-core.h (tree_decl_non_common): Move saved_tree and vindex...
      	(tree_function_decl): ... here.
      	* tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Move
      	streaming of vindex to ...
      	(write_ts_function_decl_tree_pointers): ... here.
      
      	* tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
      	Do not stream DECL_VINDEX.
      	(lto_input_ts_function_decl_tree_pointers): Stream it here.
      
      	* lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
      	(mentions_vars_p_function): ... here.
      	(compare_tree_sccs_1): Update VINDEX checks.
      	(lto_fixup_prevailing_decls): Likewise.
      
      From-SVN: r211960
      Jan Hubicka committed
    • mips.c (mips_order_regs_for_local_alloc): Delete. · ecc63043
      2014-06-24  Catherine Moore  <clm@codesourcery.com>
      	    Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* config/mips/mips.c (mips_order_regs_for_local_alloc): Delete.
      	* config/mips/mips.h (ADJUST_REG_ALLOC_ORDER): Delete.
      	* config/mips/mips-protos.h (mips_order_regs_for_local_alloc): Delete.
      
      Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
      
      From-SVN: r211959
      Catherine Moore committed
    • Add me to MAINTAINERS. · fc3a2e70
      From-SVN: r211958
      Dehao Chen committed
    • invoke.texi (Warning Options): Remove duplicated -Wmaybe-uninitialized. · db8965fc
      2014-06-24  Marc Glisse  <marc.glisse@inria.fr>
      
      	* doc/invoke.texi (Warning Options): Remove duplicated
      	-Wmaybe-uninitialized.
      
      From-SVN: r211957
      Marc Glisse committed
    • re PR tree-optimization/57742 (memset(malloc(n),0,n) -> calloc(n,1)) · 24314386
      2014-06-24  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR tree-optimization/57742
      gcc/
      	* tree-ssa-strlen.c (get_string_length): Ignore malloc.
      	(handle_builtin_malloc, handle_builtin_memset): New functions.
      	(strlen_optimize_stmt): Call them.
      	* passes.def: Move strlen after loop+dom but before vrp.
      gcc/testsuite/
      	* g++.dg/tree-ssa/calloc.C: New testcase.
      	* gcc.dg/tree-ssa/calloc-1.c: Likewise.
      	* gcc.dg/tree-ssa/calloc-2.c: Likewise.
      	* gcc.dg/strlenopt-9.c: Adapt.
      
      From-SVN: r211956
      Marc Glisse committed
    • Make the AAPCS64 function return tests more robust. · 84e0f57e
      gcc/testsuite
      
      	* gcc.target/aarch64/aapcs64/abitest-2.h (saved_return_address): New
      	global variable.
      	(FUNC_VAL_CHECK): Update to call myfunc via the 'ret' instruction,
      	instead of calling sequentially in the C code.
      	* gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Store
      	saved_return_address to the stack frame where LR register was stored.
      	(saved_return_address): Declare weak.
      
      From-SVN: r211954
      Yufeng Zhang committed
    • functexcept.h (__throw_out_of_range_fmt): Change attribute to __gnu_printf__… · 3fa591d4
      functexcept.h (__throw_out_of_range_fmt): Change attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
      
      	* include/bits/functexcept.h (__throw_out_of_range_fmt): Change
      	attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
      	* include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
      	Remove unused typedef.
      	(time_get::do_get_monthname): Likewise.
      	* include/bits/stl_tree.h: Add system_header pragma.
      	* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
      	redundant const-qualifier.
      	* include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
      	instead of _GLIBCXX_USE_CONSTEXPR.
      
      From-SVN: r211951
      Jonathan Wakely committed
    • re PR target/61570 (-march=native CPU you selected does not support x86-64 instruction under QEMU) · 8d37375b
      	PR target/61570
      	* config/i386/driver-i386.c (host_detect_local_cpu): For unknown
      	model family 6 CPU with has_longmode never use a CPU without
      	64-bit support.
      
      From-SVN: r211945
      Jakub Jelinek committed
    • re PR c++/33972 (Cannot declare operator() using function typedef) · d1307360
      /cp
      2014-06-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/33972
      	* decl.c (grokdeclarator): Do not early check for operator-function-id
      	as non-function.
      
      /testsuite
      2014-06-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/33972
      	* g++.dg/other/operator3.C: New.
      	* g++.dg/template/operator8.C: Adjust.
      	* g++.dg/template/operator9.C: Likewise.
      
      From-SVN: r211944
      Paolo Carlini committed
    • Revert the last change on driver-i386.c · fb112177
      	PR target/61570
      	* config/i386/driver-i386.c (host_detect_local_cpu): Revert
      	the last change.
      
      From-SVN: r211943
      H.J. Lu committed
    • add hash_map class · 1eb68d2d
      gcc/
      
      	* alloc-pool.c (alloc_pool_hash): Use hash_map instead of hash_table.
      	* dominance.c (iterate_fix_dominators): Use hash_map instead of
      	pointer_map.
      	* hash-map.h: New file.
      	* ipa-comdats.c: Use hash_map instead of pointer_map.
      	* ipa.c: Likewise.
      	* lto-section-out.c: Adjust.
      	* lto-streamer.h: Replace pointer_map with hash_map.
      	* symtab.c (verify_symtab): Likewise.
      	* tree-ssa-strlen.c (decl_to_stridxlist_htab): Likewise.
      	* tree-ssa-uncprop.c (val_ssa_equiv): Likewise.
      	* tree-streamer.h: Likewise.
      	* tree-streamer.c: Adjust.
      	* pointer-set.h: Remove pointer_map.
      
      gcc/lto/
      
      	* lto.c (canonical_type_hash_cache): Use hash_map instead of
      	pointer_map.
      
      From-SVN: r211938
      Trevor Saunders committed
    • allow storing values directly in hash tables · 84baa4b9
      gcc/
      
      	* hash-table.h: Add a template arg to choose between storing values
      	and storing pointers to values, and then provide partial
      	specializations for both.
      	* tree-browser.c (tree_upper_hasher): Provide the type the hash table
      	should store, not the type values should point to.
      	* tree-into-ssa.c (var_info_hasher): Likewise.
      	* tree-ssa-dom.c (expr_elt_hasher): Likewise.
      	* tree-complex.c: Adjust.
      	* tree-hasher.h (int_tree_hasher): store int_tree_map in the hash
      	table instead of int_tree_map *.
      	* tree-parloops.c: Adjust.
      	* tree-ssa-reassoc.c (ocount_hasher): Don't lie to hash_map about what
      	type is being stored.
      	* tree-vectorizer.c: Adjust.
      
      From-SVN: r211937
      Trevor Saunders committed
    • Remove a layer of indirection from hash_table · c203e8a7
      gcc/
      
      	* hash-table.h: Remove a layer of indirection from hash_table so that
      	it contains the hash table's data instead of a pointer to the data.
      	* alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
      	config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
      	config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
      	data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
      	fold-const.c, gcse.c, ggc-common.c,
      	gimple-ssa-strength-reduction.c, gimplify.c,
      	graphite-clast-to-gimple.c, graphite-dependences.c,
      	graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
      	ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
      	loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
      	lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
      	postreload-gcse.c, sese.c, statistics.c, store-motion.c,
      	trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
      	tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
      	tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-dom.c,
      	tree-ssa-live.c, tree-ssa-loop-im.c,
      	tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
      	tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
      	tree-ssa-structalias.c, tree-ssa-tail-merge.c,
      	tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
      tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
      tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
      vtable-verify.c, vtable-verify.h: Adjust.
      
      gcc/c/
      
      	* c-decl.c: Adjust.
      
      gcc/cp/
      
      	* class.c, semantics.c, tree.c, vtable-class-hierarchy.c:
      	Adjust.
      
      gcc/java/
      
      	* jcf-io.c: Adjust.
      
      gcc/lto/
      
      	* lto.c: Adjust.
      
      gcc/objc/
      
      	* objc-act.c: Adjust.
      
      From-SVN: r211936
      Trevor Saunders committed
    • singleton_intrinsics_1.c: Save temps and cleanup. · fbc2a724
      	* gcc.target/aarch64/singleton_intrinsics_1.c: Save temps and cleanup.
      
      From-SVN: r211934
      Alan Lawrence committed
    • re PR tree-optimization/61572 (ICE: in assign_by_spills, at lra-assigns.c:1335) · 99753277
      2014-06-24  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/61572
      	* tree-ssa-sink.c (statement_sink_location): Do not sink
      	loads from hard registers.
      
      	* gcc.target/i386/pr61572.c: New testcase.
      
      From-SVN: r211933
      Richard Biener committed
    • gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator not mentioned… · 56ad0e38
      gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator not mentioned in clauses use private clause if...
      
      	* gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
      	not mentioned in clauses use private clause if the iterator is
      	declared in #pragma omp for simd, and when adding lastprivate
      	instead, add it to the outer #pragma omp for too.  Diagnose
      	if the variable is private in outer context.  For simd collapse > 1
      	loops, replace all iterators with temporaries.
      	* omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
      	same even in collapse > 1 loops.
      gcc/c/
      	* c-parser.c (c_parser_omp_for_loop): For
      	#pragma omp parallel for simd move lastprivate clause from parallel
      	to for rather than simd.
      gcc/cp/
      	* parser.c (cp_parser_omp_for_loop): For
      	#pragma omp parallel for simd move lastprivate clause from parallel
      	to for rather than simd.
      libgomp/
      	* testsuite/libgomp.c/for-2.c: Define SC to static for
      	#pragma omp for simd testing.
      	* testsuite/libgomp.c/for-2.h (SC): Define if not defined.
      	(N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
      	SC macro.
      	* testsuite/libgomp.c/simd-14.c: New test.
      	* testsuite/libgomp.c/simd-15.c: New test.
      	* testsuite/libgomp.c/simd-16.c: New test.
      	* testsuite/libgomp.c/simd-17.c: New test.
      	* testsuite/libgomp.c++/for-10.C: Define SC to static for
      	#pragma omp for simd testing.
      	* testsuite/libgomp.c++/simd10.C: New test.
      	* testsuite/libgomp.c++/simd11.C: New test.
      	* testsuite/libgomp.c++/simd12.C: New test.
      	* testsuite/libgomp.c++/simd13.C: New test.
      
      From-SVN: r211930
      Jakub Jelinek committed
    • gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP, [...]): Make sure… · b46ebd6c
      gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP, [...]): Make sure OMP_CLAUSE_SIZE is non-NULL.
      
      	* gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
      	OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is
      	non-NULL.
      	<case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
      	(gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is
      	non-NULL.
      	(gimplify_adjust_omp_clauses): Likewise.
      	* omp-low.c (lower_rec_simd_input_clauses,
      	lower_rec_input_clauses, expand_omp_simd): Handle non-constant
      	safelen the same as safelen(1).
      	* tree-nested.c (convert_nonlocal_omp_clauses,
      	convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED.  For
      	OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
      	(convert_nonlocal_reference_stmt, convert_local_reference_stmt):
      	Fixup handling of GIMPLE_OMP_TARGET.
      	(convert_tramp_reference_stmt, convert_gimple_call): Handle
      	GIMPLE_OMP_TARGET.
      gcc/fortran/
      	* dump-parse-tree.c (show_omp_namelist): Use n->udr->udr instead
      	of n->udr.
      	* f95-lang.c (gfc_init_builtin_functions): Initialize
      	BUILT_IN_ASSUME_ALIGNED.
      	* gfortran.h (gfc_omp_namelist): Change udr field type to
      	struct gfc_omp_namelist_udr.
      	(gfc_omp_namelist_udr): New type.
      	(gfc_get_omp_namelist_udr): Define.
      	(gfc_resolve_code): New prototype.
      	* match.c (gfc_free_omp_namelist): Free name->udr.
      	* module.c (intrinsics): Add INTRINSIC_USER.
      	(fix_mio_expr): Likewise.
      	(mio_expr): Handle INSTRINSIC_USER and non-resolved EXPR_FUNCTION.
      	* openmp.c (gfc_match_omp_clauses): Adjust initialization of n->udr.
      	(gfc_match_omp_declare_reduction): Treat len=: the same as len=*.
      	Set attr.flavor on omp_{out,in,priv,orig} artificial variables.
      	(struct resolve_omp_udr_callback_data): New type.
      	(resolve_omp_udr_callback, resolve_omp_udr_callback2,
      	resolve_omp_udr_clause): New functions.
      	(resolve_omp_clauses): Adjust for n->udr changes, resolve UDR clauses
      	here.
      	(omp_udr_callback): Don't check for implicitly declared functions
      	here.
      	(gfc_resolve_omp_udr): Don't call gfc_resolve.  Don't check for
      	implicitly declared subroutines here.
      	* resolve.c (resolve_function): If value.function.isym is non-NULL,
      	consider it already resolved.
      	(resolve_code): Renamed to ...
      	(gfc_resolve_code): ... this.  No longer static.
      	(gfc_resolve_blocks, generate_component_assignments, resolve_codes):
      	Adjust callers.
      	* trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
      	by reference type (C_PTR) variables.
      	(gfc_omp_finish_clause): Make sure OMP_CLAUSE_SIZE is non-NULL.
      	(gfc_trans_omp_udr_expr): Remove.
      	(gfc_trans_omp_array_reduction_or_udr): Adjust for n->udr changes.
      	Don't call gfc_trans_omp_udr_expr, even for sym->attr.dimension
      	expand it as assignment or subroutine call.  Don't initialize
      	value.function.isym.
      gcc/testsuite/
      	* gfortran.dg/gomp/udr2.f90 (f7, f9): Add !$omp parallel with
      	reduction clause.
      	* gfortran.dg/gomp/udr4.f90 (f4): Likewise.
      	Remove Label is never defined expected error.
      	* gfortran.dg/gomp/udr8.f90: New test.
      libgomp/
      	* testsuite/libgomp.fortran/aligned1.f03: New test.
      	* testsuite/libgomp.fortran/nestedfn5.f90: New test.
      	* testsuite/libgomp.fortran/target7.f90: Surround loop spawning
      	tasks with !$omp parallel !$omp single.
      	* testsuite/libgomp.fortran/target8.f90: New test.
      	* testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
      	not to use trim in the combiner, instead call elemental function.
      	(fn): New elemental function.
      	* testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
      	Make elemental.
      	* testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
      	omp_in): Likewise.
      	* testsuite/libgomp.fortran/udr12.f90: New test.
      	* testsuite/libgomp.fortran/udr13.f90: New test.
      	* testsuite/libgomp.fortran/udr14.f90: New test.
      	* testsuite/libgomp.fortran/udr15.f90: New test.
      
      From-SVN: r211929
      Jakub Jelinek committed
    • [multiple changes] · 33512353
      2014-06-24  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	PR tree-optimization/61554
      	* tree-ssa-propagate.c: Include "bitmap.h".
      	(substitute_and_fold_dom_walker): Add 'bitmap need_eh_cleanup' member,
      	properly update constructor/destructor.
      	(substitute_and_fold_dom_walker::before_dom_children):
      	Remove call to gimple_purge_dead_eh_edges, add bb->index to
      	need_eh_cleaup instead.
      	(substitute_and_fold): Call gimple_purge_all_dead_eh_edges on
      	need_eh_cleanup.
      
      testsuite/
      2014-06-24  Markus Trippelsdorf  <markus@trippelsdorf.de>
      
      	PR tree-optimization/61554
      	* g++.dg/torture/pr61554.C: New testcase.
      
      From-SVN: r211928
      Chung-Lin Tang committed
    • strlen-overflow-1.c: Change match patterns. · 0967188e
      gcc/testsuite/
      2014-06-23  Max Ostapenko  <m.ostapenko@partner.samsung.com>
      
      	* c-c++-common/asan/strlen-overflow-1.c: Change match patterns.
      
      From-SVN: r211927
      Max Ostapenko committed
    • localalias-2.c: Guard by require-alias. · c78641fa
      
      	* gcc.dg/localalias-2.c: Guard by require-alias.
      	* gcc.dg/globalalias-2.c: Likewise.
      
      From-SVN: r211926
      Jan Hubicka committed
    • varpool.c (dump_varpool_node): Dump used_by_single_function. · eb6a09a7
      
      	* varpool.c (dump_varpool_node): Dump used_by_single_function.
      	* tree-pass.h (make_pass_ipa_single_use): New pass.
      	* cgraph.h (used_by_single_function): New flag.
      	* lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
      	it.
      	* passes.def (pass_ipa_single_use): Scedule.
      	* ipa.c (BOTTOM): New macro.
      	(meet): New function
      	(propagate_single_user): New function.
      	(ipa_single_use): New function.
      	(pass_data_ipa_single_use): New pass.
      	(pass_ipa_single_use): New pass.
      	(pass_ipa_single_use::gate): New gate.
      	(make_pass_ipa_single_use): New function.
      
      From-SVN: r211925
      Jan Hubicka committed
    • Daily bump. · d7dab049
      From-SVN: r211924
      GCC Administrator committed
  3. 23 Jun, 2014 1 commit
    • any (any_v1): Rename namespace to fundamentals_v1. · 7ce56fc8
      	* include/experimental/any (any_v1): Rename namespace to
      	fundamentals_v1. Change string returned by bad_any_cast::what().
      	* include/experimental/optional (fundamentals_v1): Add namespace.
      	* include/experimental/string_view (fundamentals_v1): Likewise.
      	* testsuite/experimental/any/typedefs.cc: New.
      	* testsuite/experimental/optional/typedefs.cc: New.
      	* testsuite/experimental/string_view/typedefs.cc: New.
      
      From-SVN: r211920
      Jonathan Wakely committed