aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-06-25IPA REF refactoringMartin Liska32-506/+684
* 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
2014-06-25fix typo in winnt.cTrevor Saunders2-1/+5
gcc/ PR c/61612 * config/i386/winnt.c (i386_find_on_wrapper_list): Fix typo. From-SVN: r211986
2014-06-25fix checking=foldTrevor Saunders2-11/+25
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
2014-06-25xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace implementation with call to...David Edelsohn4-61/+80
* 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
2014-06-25DR 178 PR c++/49132Paolo Carlini7-16/+87
/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
2014-06-25pr61540.C: Remove dumping test.Martin Jambor2-4/+5
2014-06-25 Martin Jambor <mjambor@suse.cz> * g++.dg/ipa/pr61540.C: Remove dumping test. From-SVN: r211980
2014-06-25re PR c/61162 (possibly bad error location with -Wc++-compat)Marek Polacek6-3/+65
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
2014-06-25re PR tree-optimization/57742 (memset(malloc(n),0,n) -> calloc(n,1))Marc Glisse4-0/+27
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
2014-06-25v850.c (GHS_default_section_names): Change to const char * type.Nick Clifton4-13/+26
* 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
2014-06-25langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.Jakub Jelinek18-20/+658
* 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
2014-06-25re PR testsuite/61560 (FAIL: gcc.dg/tree-ssa/ssa-fre-32.c on arm)Richard Biener2-6/+14
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
2014-06-25Adjust options for use of Neon with multilib testing.Ramana Radhakrishnan2-1/+6
2014-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * gcc.target/arm/vect-noalign.c: Adjust options. From-SVN: r211969
2014-06-24tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD pattern ↵Cong Hou20-6/+471
recognition. 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
2014-06-25Daily bump.GCC Administrator1-1/+1
From-SVN: r211965
2014-06-25Fixup const qualification of the argument passed to hash_table::find_slotTrevor Saunders2-1/+6
gcc/ * config/i386/winnt.c (i386_pe_section_type_flags): Fixup const qualification. From-SVN: r211962
2014-06-24runtime: add missing benchmark input files to the repositoryIan Lance Taylor7-0/+0
From-SVN: r211961
2014-06-24class.c (check_methods, [...]): Guard VINDEX checks by FUNCTION_DECL check.Jan Hubicka12-28/+61
* 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
2014-06-24mips.c (mips_order_regs_for_local_alloc): Delete.Catherine Moore4-30/+7
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
2014-06-24Add me to MAINTAINERS.Dehao Chen1-0/+1
From-SVN: r211958
2014-06-24invoke.texi (Warning Options): Remove duplicated -Wmaybe-uninitialized.Marc Glisse2-1/+6
2014-06-24 Marc Glisse <marc.glisse@inria.fr> * doc/invoke.texi (Warning Options): Remove duplicated -Wmaybe-uninitialized. From-SVN: r211957
2014-06-24re PR tree-optimization/57742 (memset(malloc(n),0,n) -> calloc(n,1))Marc Glisse8-3/+210
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
2014-06-24Make the AAPCS64 function return tests more robust.Yufeng Zhang3-1/+29
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
2014-06-24functexcept.h (__throw_out_of_range_fmt): Change attribute to __gnu_printf__ ↵Jonathan Wakely6-8/+21
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
2014-06-24re PR target/61570 (-march=native CPU you selected does not support x86-64 ↵Jakub Jelinek2-0/+12
instruction under QEMU) 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
2014-06-24re PR c++/33972 (Cannot declare operator() using function typedef)Paolo Carlini6-3/+23
/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
2014-06-24Revert the last change on driver-i386.cH.J. Lu2-37/+22
PR target/61570 * config/i386/driver-i386.c (host_detect_local_cpu): Revert the last change. From-SVN: r211943
2014-06-24add hash_map classTrevor Saunders16-308/+325
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
2014-06-24allow storing values directly in hash tablesTrevor Saunders10-121/+800
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
2014-06-24Remove a layer of indirection from hash_tableTrevor Saunders91-1506/+1361
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
2014-06-24singleton_intrinsics_1.c: Save temps and cleanup.Alan Lawrence2-1/+8
* gcc.target/aarch64/singleton_intrinsics_1.c: Save temps and cleanup. From-SVN: r211934
2014-06-24re PR tree-optimization/61572 (ICE: in assign_by_spills, at lra-assigns.c:1335)Richard Biener4-0/+63
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
2014-06-24gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator not ↵Jakub Jelinek19-33/+536
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
2014-06-24gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP, [...]): Make ↵Jakub Jelinek29-241/+1513
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
2014-06-24[multiple changes]Chung-Lin Tang4-2/+75
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
2014-06-24strlen-overflow-1.c: Change match patterns.Max Ostapenko2-1/+6
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
2014-06-24localalias-2.c: Guard by require-alias.Jan Hubicka3-0/+7
* gcc.dg/localalias-2.c: Guard by require-alias. * gcc.dg/globalalias-2.c: Likewise. From-SVN: r211926
2014-06-24varpool.c (dump_varpool_node): Dump used_by_single_function.Jan Hubicka7-0/+253
* 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
2014-06-24Daily bump.GCC Administrator1-1/+1
From-SVN: r211924
2014-06-23any (any_v1): Rename namespace to fundamentals_v1.Jonathan Wakely7-3/+117
* 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
2014-06-23re PR middle-end/39284 (Computed gotos combined too aggressively)Kai Tietz3-1/+25
PR target/39284 * passes.def (peephole2): Move peephole2 pass before before sched2 pass. * config/i386/i386.md (peehole2): Combine memories and indirect jumps. From-SVN: r211919
2014-06-23* gcc.target/i386/indjmp-1.c: New test.Kai Tietz2-0/+27
From-SVN: r211918
2014-06-2320140723-1.c: New testcase.Andrew Pinski2-0/+8
2014-06-23 Andrew Pinski <apinski@cavium.com> * gcc.c-torture/compile/20140723-1.c: New testcase. From-SVN: r211917
2014-06-23Revert "2014-06-23 Paul Gortmaker <paul.gortmaker@windriver.com>"Jeff Law2-5/+1
This reverts commit ed8c02da028fb10d25a682e1838ba8b23a2c34ff. From-SVN: r211915
2014-06-23Fix include path for in-tree cloog.Bernd Edlinger4-27/+33
2014-06-23 Bernd Edlinger <bernd.edlinger@hotmail.de> Fix include path for in-tree cloog. * config/cloog.m4 (CLOOG_INIT_FLAGS): Remove bogus include path. * configure: Regenerate. P.S: moved a few ChangeLog entries to gcc/ChangeLog From-SVN: r211913
2014-06-23sanitizer_common_interceptors.inc: Cherry pick upstream r211008.Paolo Carlini2-3/+9
2014-06-23 Paolo Carlini <paolo.carlini@oracle.com> * sanitizer_common/sanitizer_common_interceptors.inc: Cherry pick upstream r211008. From-SVN: r211912
2014-06-23gcc.c (set_multilib_dir): Fix typo.Paul Gortmaker2-1/+5
2014-06-23 Paul Gortmaker <paul.gortmaker@windriver.com> * gcc.c (set_multilib_dir): Fix typo. From-SVN: r211911
2014-06-23re PR c/61553 (__atomic_store with non-pointer arg ICE)Marek Polacek2-1/+6
PR c/61553 * c-c++-common/pr61553.c (foo): Add dg-error. From-SVN: r211910
2014-06-23re PR libstdc++/61532 (make_signed and make_unsigned wchar_t have started ↵Jonathan Wakely5-4/+26
failing in the libstdc++ testsuite.) PR libstdc++/61532 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not apply the signed specifier to wchar_t. * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check cv-qualifier and size. * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. From-SVN: r211909
2014-06-23trans-decl.c (gfc_trans_deferred_vars): Fix handling of explicit-size arrays ↵Tobias Burnus4-1/+28
with -fcoarray=lib. gcc/fortran/ 2014-06-23 Tobias Burnus <burnus@net-b.de> * trans-decl.c (gfc_trans_deferred_vars): Fix handling of explicit-size arrays with -fcoarray=lib. gcc/testsuite/ 2014-06-23 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_32.f90: New. From-SVN: r211907
2014-06-23DR 577 PR c++/33101Paolo Carlini5-10/+20
/cp 2014-06-23 Paolo Carlini <paolo.carlini@oracle.com> DR 577 PR c++/33101 * decl.c (grokparms): Accept a single parameter of type 'void'. /testsuite 2014-06-23 Paolo Carlini <paolo.carlini@oracle.com> DR 577 PR c++/33101 * g++.dg/other/void1.C: Adjust. * g++.dg/other/void3.C: Likewise. From-SVN: r211906