aboutsummaryrefslogtreecommitdiff
path: root/libgomp/ChangeLog
AgeCommit message (Collapse)AuthorFilesLines
2018-06-26re PR c++/86291 (OpenMP incorrect for-loop collapsing with iterators and at ↵Jakub Jelinek1-0/+5
least 5 nested loops) PR c++/86291 * parser.c (cp_parser_omp_for_loop_init): Change for_block argument type from vec<tree, va_gc> * to vec<tree, va_gc> *&. * testsuite/libgomp.c++/pr86291.C: New test. From-SVN: r262137
2018-06-24libgomp.texi (Top): Move www.openmp.org to https.Gerald Pfeifer1-0/+60
* libgomp.texi (Top): Move www.openmp.org to https. (Enabling OpenMP): Ditto. (omp_get_active_level): Ditto. (omp_get_ancestor_thread_num): Ditto. (omp_get_cancellation): Ditto. (omp_get_default_device): Ditto. (omp_get_dynamic): Ditto. (omp_get_level): Ditto. (omp_get_max_active_levels): Ditto. (omp_get_max_task_priority): Ditto. (omp_get_max_threads): Ditto. (omp_get_nested): Ditto. (omp_get_num_devices): Ditto. (omp_get_num_procs): Ditto. (omp_get_num_teams): Ditto. (omp_get_num_threads): Ditto. (omp_get_proc_bind): Ditto. (omp_get_schedule): Ditto. (omp_get_team_num): Ditto. (omp_get_team_size): Ditto. (omp_get_thread_limit): Ditto. (omp_get_thread_num): Ditto. (omp_in_parallel): Ditto. (omp_in_final): Ditto. (omp_is_initial_device): Ditto. (omp_set_default_device): Ditto. (omp_set_dynamic): Ditto. (omp_set_max_active_levels): Ditto. (omp_set_nested): Ditto. (omp_set_num_threads): Ditto. (omp_set_schedule): Ditto. (omp_init_lock): Ditto. (omp_set_lock): Ditto. (omp_test_lock): Ditto. (omp_unset_lock): Ditto. (omp_destroy_lock): Ditto. (omp_init_nest_lock): Ditto. (omp_set_nest_lock): Ditto. (omp_test_nest_lock): Ditto. (omp_unset_nest_lock): Ditto. (omp_destroy_nest_lock): Ditto. (omp_get_wtick): Ditto. (omp_get_wtime): Ditto. (OMP_CANCELLATION): Ditto. (OMP_DISPLAY_ENV): Ditto. (OMP_DEFAULT_DEVICE): Ditto. (OMP_DYNAMIC): Ditto. (OMP_MAX_ACTIVE_LEVELS): Ditto. (OMP_MAX_TASK_PRIORITY): Ditto. (OMP_NESTED): Ditto. (OMP_NUM_THREADS): Ditto. (OMP_PROC_BIND): Ditto. (OMP_PLACES): Ditto. (OMP_STACKSIZE): Ditto. (OMP_SCHEDULE): Ditto. (OMP_THREAD_LIMIT): Ditto. (OMP_WAIT_POLICY): Ditto. From-SVN: r261997
2018-06-22Update OpenACC testcasesCesar Philippidis1-0/+125
gcc/testsuite/ * c-c++-common/goacc/deviceptr-4.c: New file. * c-c++-common/goacc/kernels-counter-var-redundant-load.c: Likewise. * c-c++-common/goacc/kernels-loop-data-2.c: Likewise. * c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: Likewise. * c-c++-common/goacc/kernels-loop-data-enter-exit.c: Likewise. * c-c++-common/goacc/kernels-loop-data-update.c: Likewise. * c-c++-common/goacc/kernels-loop-data.c: Likewise. * c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c: Likewise. * c-c++-common/goacc/parallel-reduction.c: Likewise. * c-c++-common/goacc/private-reduction-1.c: Likewise. * gfortran.dg/goacc/kernels-parallel-loop-data-enter-exit.f95: Likewise. * gfortran.dg/goacc/modules.f95: Likewise. * gfortran.dg/goacc/routine-8.f90: Likewise. * gfortran.dg/goacc/routine-level-of-parallelism-1.f90: Likewise. libgomp/ * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2". * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update. * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise. * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file. * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise. * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise. * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise. * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise. * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise. * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise. * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise. * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise. Co-Authored-By: James Norris <jnorris@codesourcery.com> Co-Authored-By: Julian Brown <julian@codesourcery.com> Co-Authored-By: Thomas Schwinge <thomas@codesourcery.com> Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r261884
2018-06-20Update OpenACC data clause semantics to the 2.5 behaviorChung-Lin Tang1-0/+79
gcc/c-family/ * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}. gcc/c/ * c-parser.c (c_parser_omp_clause_name): Add support for finalize and if_present. Make present_or_{copy,copyin,copyout,create} aliases to their non-present_or_* counterparts. Make 'self' an alias to PRAGMA_OACC_CLAUSE_HOST. (c_parser_oacc_data_clause): Update GOMP mappings for PRAGMA_OACC_CLAUSE_{COPY,COPYIN,COPYOUT,CREATE,DELETE}. Remove PRAGMA_OACC_CLAUSE_{SELF,PRESENT_OR_*}. (c_parser_oacc_all_clauses): Handle finalize and if_present clauses. Remove support for present_or_* clauses. (OACC_KERNELS_CLAUSE_MASK): Remove PRESENT_OR_* clauses. (OACC_PARALLEL_CLAUSE_MASK): Likewise. (OACC_DECLARE_CLAUSE_MASK): Likewise. (OACC_DATA_CLAUSE_MASK): Likewise. (OACC_ENTER_DATA_CLAUSE_MASK): Remove PRESENT_OR_* clauses. (OACC_EXIT_DATA_CLAUSE_MASK): Add FINALIZE clause. (OACC_UPDATE_CLAUSE_MASK): Remove SELF, add IF_PRESENT. (c_parser_oacc_declare): Remove PRESENT_OR_* clauses. * c-typeck.c (c_finish_omp_clauses): Handle IF_PRESENT and FINALIZE. gcc/cp/ * parser.c (cp_parser_omp_clause_name): Add support for finalize and if_present. Make present_or_{copy,copyin,copyout,create} aliases to their non-present_or_* counterparts. Make 'self' an alias to PRAGMA_OACC_CLAUSE_HOST. (cp_parser_oacc_data_clause): Update GOMP mappings for PRAGMA_OACC_CLAUSE_{COPY,COPYIN,COPYOUT,CREATE,DELETE}. Remove PRAGMA_OACC_CLAUSE_{SELF,PRESENT_OR_*}. (cp_parser_oacc_all_clauses): Handle finalize and if_present clauses. Remove support for present_or_* clauses. (OACC_KERNELS_CLAUSE_MASK): Remove PRESENT_OR_* clauses. (OACC_PARALLEL_CLAUSE_MASK): Likewise. (OACC_DECLARE_CLAUSE_MASK): Likewise. (OACC_DATA_CLAUSE_MASK): Likewise. (OACC_ENTER_DATA_CLAUSE_MASK): Remove PRESENT_OR_* clauses. (OACC_EXIT_DATA_CLAUSE_MASK): Add FINALIZE clause. (OACC_UPDATE_CLAUSE_MASK): Remove SELF, add IF_PRESENT. (cp_parser_oacc_declare): Remove PRESENT_OR_* clauses. * pt.c (tsubst_omp_clauses): Handle IF_PRESENT and FINALIZE. * semantics.c (finish_omp_clauses): Handle IF_PRESENT and FINALIZE. gcc/fortran/ * gfortran.h (gfc_omp_clauses): Add unsigned if_present, finalize bitfields. * openmp.c (enum omp_mask2): Remove OMP_CLAUSE_PRESENT_OR_*. Add OMP_CLAUSE_{IF_PRESENT,FINALIZE}. (gfc_match_omp_clauses): Update handling of copy, copyin, copyout, create, deviceptr, present_of_*. Add support for finalize and if_present. (OACC_PARALLEL_CLAUSES): Remove PRESENT_OR_* clauses. (OACC_KERNELS_CLAUSES): Likewise. (OACC_DATA_CLAUSES): Likewise. (OACC_DECLARE_CLAUSES): Likewise. (OACC_UPDATE_CLAUSES): Add IF_PRESENT clause. (OACC_ENTER_DATA_CLAUSES): Remove PRESENT_OR_* clauses. (OACC_EXIT_DATA_CLAUSES): Add FINALIZE clause. (gfc_match_oacc_declare): Update to OpenACC 2.5 semantics. * trans-openmp.c (gfc_trans_omp_clauses): Add support for IF_PRESENT and FINALIZE. gcc/ * gimplify.c (gimplify_scan_omp_clauses): Add support for OMP_CLAUSE_{IF_PRESENT,FINALIZE}. (gimplify_adjust_omp_clauses): Likewise. (gimplify_oacc_declare_1): Add support for GOMP_MAP_RELEASE, remove support for GOMP_MAP_FORCE_{ALLOC,TO,FROM,TOFROM}. (gimplify_omp_target_update): Update handling of acc update and enter/exit data. * omp-low.c (install_var_field): Remove unused parameter base_pointers_restrict. (scan_sharing_clauses): Remove base_pointers_restrict parameter. Update call to install_var_field. Handle OMP_CLAUSE_{IF_PRESENT, FINALIZE} (omp_target_base_pointers_restrict_p): Delete. (scan_omp_target): Update call to scan_sharing_clauses. * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_{IF_PRESENT, FINALIZE}. * tree-nested.c (convert_nonlocal_omp_clauses): Handle OMP_CLAUSE_{IF_PRESENT,FINALIZE}. (convert_local_omp_clauses): Likewise. * tree-pretty-print.c (dump_omp_clause): Likewise. * tree.c (omp_clause_num_ops): Add entries for OMP_CLAUSE_{IF_PRESENT, FINALIZE}. (omp_clause_code_name): Likewise. gcc/testsuite/ * c-c++-common/goacc/declare-1.c: Update test case to utilize OpenACC 2.5 data clause semantics. * c-c++-common/goacc/declare-2.c: Likewise. * c-c++-common/goacc/default-4.c: Likewise. * c-c++-common/goacc/finalize-1.c: New test. * c-c++-common/goacc/kernels-alias-2.c: Update test case to utilize OpenACC 2.5 data clause semantics. * c-c++-common/goacc/kernels-alias.c: Likewise. * c-c++-common/goacc/routine-5.c: Likewise. * c-c++-common/goacc/update-if_present-1.c: New test. * c-c++-common/goacc/update-if_present-2.c: New test. * g++.dg/goacc/template.C: Update test case to utilize OpenACC 2.5 data clause semantics. * gfortran.dg/goacc/combined-directives.f90: Likewise. * gfortran.dg/goacc/data-tree.f95: Likewise. * gfortran.dg/goacc/declare-2.f95: Likewise. * gfortran.dg/goacc/default-4.f: Likewise. * gfortran.dg/goacc/enter-exit-data.f95: Likewise. * gfortran.dg/goacc/finalize-1.f: New test. * gfortran.dg/goacc/kernels-alias-2.f95: Update test case to utilize OpenACC 2.5 data clause semantics. * gfortran.dg/goacc/kernels-alias.f95: Likewise. * gfortran.dg/goacc/kernels-tree.f95: Likewise. * gfortran.dg/goacc/nested-function-1.f90: Likewise. * gfortran.dg/goacc/parallel-tree.f95: Likewise. * gfortran.dg/goacc/reduction-promotions.f90: Likewise. * gfortran.dg/goacc/update-if_present-1.f90: New test. * gfortran.dg/goacc/update-if_present-2.f90: New test. libgomp/ * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member. (gomp_acc_remove_pointer): Update declaration. (gomp_acc_declare_allocate): Declare. (gomp_remove_var): Declare. * libgomp.map (OACC_2.5): Define. * oacc-mem.c (acc_map_data): Update refcount. (acc_unmap_data): Likewise. (present_create_copy): Likewise. (acc_create): Add FLAG_PRESENT when calling present_create_copy. (acc_copyin): Likewise. (FLAG_FINALIZE): Define. (delete_copyout): Update dynamic refcounts, add support for FINALIZE. (acc_delete_finalize): New function. (acc_delete_finalize_async): New function. (acc_copyout_finalize): New function. (acc_copyout_finalize_async): New function. (gomp_acc_insert_pointer): Update refcounts. (gomp_acc_remove_pointer): Return if data is not present on the accelerator. * oacc-parallel.c (find_pset): Rename to find_pointer. (find_pointer): Add support for GOMP_MAP_POINTER. (handle_ftn_pointers): New function. (GOACC_parallel_keyed): Update refcounts of variables. (GOACC_enter_exit_data): Add support for finalized data mappings. Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling of fortran arrays. (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}. (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support for GOMP_MAP_FORCE_FROM. * openacc.f90 (module openacc_internal): Add acc_copyout_finalize_{32_h,64_h,array_h,_l}, and acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for acc_copyout_finalize and acc_delete_finalize. (acc_copyout_finalize_32_h): New subroutine. (acc_copyout_finalize_64_h): New subroutine. (acc_copyout_finalize_array_h): New subroutine. (acc_delete_finalize_32_h): New subroutine. (acc_delete_finalize_64_h): New subroutine. (acc_delete_finalize_array_h): New subroutine. * openacc.h (acc_copyout_finalize): Declare. (acc_copyout_finalize_async): Declare. (acc_delete_finalize): Declare. (acc_delete_finalize_async): Declare. * openacc_lib.h (acc_copyout_finalize): New interface. (acc_delete_finalize): New interface. * target.c (gomp_map_vars): Update dynamic_refcount. (gomp_remove_var): New function. (gomp_unmap_vars): Use it. (gomp_unload_image_from_device): Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test case to utilize OpenACC 2.5 data clause semantics. * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise. * testsuite/libgomp.oacc-fortran/data-5.f90: New test. * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to utilize OpenACC 2.5 data clause semantics. * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> Co-Authored-By: Thomas Schwinge <thomas@codesourcery.com> From-SVN: r261813
2018-05-21re PR fortran/85841 ([F2018] reject deleted features)Janus Weil1-0/+19
2018-05-21 Janus Weil <janus@gcc.gnu.org> PR fortran/85841 PR testsuite/85865 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy". * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto. * testsuite/libgomp.fortran/omp_parse1.f90: Ditto. * testsuite/libgomp.fortran/omp_parse3.f90: Ditto. * testsuite/libgomp.fortran/task2.f90: Ditto. * testsuite/libgomp.fortran/vla1.f90: Ditto. * testsuite/libgomp.fortran/vla2.f90: Ditto. * testsuite/libgomp.fortran/vla3.f90: Ditto. * testsuite/libgomp.fortran/vla4.f90: Ditto. * testsuite/libgomp.fortran/vla5.f90: Ditto. * testsuite/libgomp.fortran/vla6.f90: Ditto. * testsuite/libgomp.fortran/vla8.f90: Ditto. * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto. * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto. From-SVN: r260487
2018-05-18re PR c++/85782 (acc loops with continue statements ICE in c++)Cesar Philippidis1-0/+5
PR c++/85782 gcc/cp/ * cp-gimplify.c (cp_genericize_r): Call genericize_omp_for_stmt for OACC_LOOPs. gcc/testsuite/ * c-c++-common/goacc/pr85782.c: New test. libgomp/ * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test. From-SVN: r260369
2018-05-09[openacc, libgomp] Use GOMP_ASYNC_SYNC in GOACC_declareTom de Vries1-0/+6
2018-05-09 Tom de Vries <tom@codesourcery.com> PR libgomp/82901 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument to GOACC_enter_exit_data. From-SVN: r260085
2018-05-09[openacc] Factor out async argument utility functionsTom de Vries1-0/+12
2018-05-09 Tom de Vries <tom@codesourcery.com> PR libgomp/83792 * oacc-int.h (async_valid_stream_id_p, async_valid_p) (async_synchronous_p): New function. * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use async_valid_p. * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use async_valid_stream_id_p. * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p. * oacc-parallel.c (GOACC_parallel_keyed): Same. From-SVN: r260081
2018-05-07[openacc, testsuite] Allow installed testing of libgomp to find gomp-constants.hTom de Vries1-0/+6
2018-05-07 Tom de Vries <tom@codesourcery.com> PR testsuite/85677 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level include directory in ALWAYS_CFLAGS out of $blddir != "" condition. From-SVN: r259992
2018-05-03[testsuite] Add scan-offload-tree-dumpTom de Vries1-0/+8
2018-05-03 Tom de Vries <tom@codesourcery.com> PR testsuite/85106 * lib/scanoffloadtree.exp: New file. * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to extra_tool_flags if it contains an -foffload=-fdump-* flag. * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp. * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump. * doc/sourcebuild.texi (Commands for use in dg-final, Scan optimization dump files): Add offload-tree. From-SVN: r259892
2018-05-02[openacc] Move GOMP_OPENACC_DIM parsing out of nvptx pluginTom de Vries1-0/+16
2018-05-02 Tom de Vries <tom@codesourcery.com> PR libgomp/85411 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of GOMP_OPENACC_DIM ... * env.c (parse_gomp_openacc_dim): ... here. New function. (initialize_env): Call parse_gomp_openacc_dim. (goacc_default_dims): Define. * libgomp.h (goacc_default_dims): Declare. * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function. * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare. * libgomp.map: New version "GOMP_PLUGIN_1.2". Add GOMP_PLUGIN_acc_default_dim. * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test. * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test. From-SVN: r259852
2018-05-02[libgomp, testsuite] Move tests to libgomp.c-c++-commonTom de Vries1-0/+138
2018-05-02 Tom de Vries <tom@codesourcery.com> PR testsuite/83791 * testsuite/libgomp.c++/udr-9.C: Update. * testsuite/libgomp.c++/atomic-16.C: Remove. * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove. * testsuite/libgomp.c++/loop-13.C: Remove. * testsuite/libgomp.c++/loop-14.C: Remove. * testsuite/libgomp.c++/loop-15.C: Remove. * testsuite/libgomp.c++/monotonic-1.C: Remove. * testsuite/libgomp.c++/monotonic-2.C: Remove. * testsuite/libgomp.c++/nonmonotonic-1.C: Remove. * testsuite/libgomp.c++/nonmonotonic-2.C: Remove. * testsuite/libgomp.c++/ordered-1.C: Remove. * testsuite/libgomp.c++/pr45784.C: Remove. * testsuite/libgomp.c++/pr64824.C: Remove. * testsuite/libgomp.c++/pr64868.C: Remove. * testsuite/libgomp.c++/pr66199-1.C: Remove. * testsuite/libgomp.c++/pr66199-2.C: Remove. * testsuite/libgomp.c++/pr66199-3.C: Remove. * testsuite/libgomp.c++/pr66199-4.C: Remove. * testsuite/libgomp.c++/pr66199-5.C: Remove. * testsuite/libgomp.c++/pr66199-6.C: Remove. * testsuite/libgomp.c++/pr66199-7.C: Remove. * testsuite/libgomp.c++/pr66199-8.C: Remove. * testsuite/libgomp.c++/pr66199-9.C: Remove. * testsuite/libgomp.c++/pr69389.C: Remove. * testsuite/libgomp.c++/simd10.C: Remove. * testsuite/libgomp.c++/simd11.C: Remove. * testsuite/libgomp.c++/simd12.C: Remove. * testsuite/libgomp.c++/simd13.C: Remove. * testsuite/libgomp.c++/target-1.C: Remove. * testsuite/libgomp.c++/target-3.C: Remove. * testsuite/libgomp.c++/target-4.C: Remove. * testsuite/libgomp.c++/target-5.C: Remove. * testsuite/libgomp.c++/taskgroup-1.C: Remove. * testsuite/libgomp.c++/taskloop-1.C: Remove. * testsuite/libgomp.c++/taskloop-2.C: Remove. * testsuite/libgomp.c++/taskloop-3.C: Remove. * testsuite/libgomp.c++/taskloop-4.C: Remove. * testsuite/libgomp.c++/udr-9.C: Remove. * testsuite/libgomp.c++/for-10.C: Remove. * testsuite/libgomp.c++/for-11.C: Remove. * testsuite/libgomp.c++/for-12.C: Remove. * testsuite/libgomp.c++/for-13.C: Remove. * testsuite/libgomp.c++/for-14.C: Remove. * testsuite/libgomp.c++/for-9.C: Remove. * testsuite/libgomp.c/atomic-18.c: Move ... * testsuite/libgomp.c-c++-common/atomic-18.c: ... here. * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ... * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here. * testsuite/libgomp.c/loop-13.c: Move ... * testsuite/libgomp.c-c++-common/loop-13.c: ... here. * testsuite/libgomp.c/loop-14.c: Move ... * testsuite/libgomp.c-c++-common/loop-14.c: ... here. * testsuite/libgomp.c/loop-15.c: Remove. * testsuite/libgomp.c-c++-common/loop-15.c: New test. * testsuite/libgomp.c/monotonic-1.c: Move ... * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here. * testsuite/libgomp.c/monotonic-2.c: Move ... * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here. * testsuite/libgomp.c/nonmonotonic-1.c: Move ... * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here. * testsuite/libgomp.c/nonmonotonic-2.c: Move ... * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here. * testsuite/libgomp.c/ordered-4.c: Move ... * testsuite/libgomp.c-c++-common/ordered-4.c: ... here. * testsuite/libgomp.c/pr45784.c: Move ... * testsuite/libgomp.c-c++-common/pr45784.c: ... here. * testsuite/libgomp.c/pr64824.c: Move ... * testsuite/libgomp.c-c++-common/pr64824.c: ... here. * testsuite/libgomp.c/pr64868.c: Move ... * testsuite/libgomp.c-c++-common/pr64868.c: ... here. * testsuite/libgomp.c/pr66199-1.c: Move ... * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here. * testsuite/libgomp.c/pr66199-2.c: Move ... * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here. * testsuite/libgomp.c/pr66199-3.c: Move ... * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here. * testsuite/libgomp.c/pr66199-4.c: Move ... * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here. * testsuite/libgomp.c/pr66199-5.c: Move ... * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here. * testsuite/libgomp.c/pr66199-6.c: Move ... * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here. * testsuite/libgomp.c/pr66199-7.c: Move ... * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here. * testsuite/libgomp.c/pr66199-8.c: Move ... * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here. * testsuite/libgomp.c/pr66199-9.c: Move ... * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here. * testsuite/libgomp.c/pr69389.c: Move ... * testsuite/libgomp.c-c++-common/pr69389.c: ... here. * testsuite/libgomp.c/simd-14.c: Move ... * testsuite/libgomp.c-c++-common/simd-14.c: ... here. * testsuite/libgomp.c/simd-15.c: Move ... * testsuite/libgomp.c-c++-common/simd-15.c: ... here. * testsuite/libgomp.c/simd-16.c: Move ... * testsuite/libgomp.c-c++-common/simd-16.c: ... here. * testsuite/libgomp.c/simd-17.c: Move ... * testsuite/libgomp.c-c++-common/simd-17.c: ... here. * testsuite/libgomp.c/target-1.c: Move ... * testsuite/libgomp.c-c++-common/target-1.c: ... here. * testsuite/libgomp.c/target-10.c: Move ... * testsuite/libgomp.c-c++-common/target-10.c: ... here. * testsuite/libgomp.c/target-13.c: Move ... * testsuite/libgomp.c-c++-common/target-13.c: ... here. * testsuite/libgomp.c/target-2.c: Move ... * testsuite/libgomp.c-c++-common/target-2.c: ... here. * testsuite/libgomp.c/taskgroup-1.c: Move ... * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here. * testsuite/libgomp.c/taskloop-1.c: Move ... * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here. * testsuite/libgomp.c/taskloop-2.c: Move ... * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here. * testsuite/libgomp.c/taskloop-3.c: Move ... * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here. * testsuite/libgomp.c/taskloop-4.c: Move ... * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here. * testsuite/libgomp.c/udr-1.c: Move ... * testsuite/libgomp.c-c++-common/udr-1.c: ... here. * testsuite/libgomp.c/for-1.c: Move ... * testsuite/libgomp.c-c++-common/for-1.c: ... here. * testsuite/libgomp.c/for-1.h: Move ... * testsuite/libgomp.c-c++-common/for-1.h: ... here. * testsuite/libgomp.c/for-2.c: Move ... * testsuite/libgomp.c-c++-common/for-2.c: ... here. * testsuite/libgomp.c/for-2.h: Move ... * testsuite/libgomp.c-c++-common/for-2.h: ... here. * testsuite/libgomp.c/for-3.c: Move ... * testsuite/libgomp.c-c++-common/for-3.c: ... here. * testsuite/libgomp.c/for-4.c: Move ... * testsuite/libgomp.c-c++-common/for-4.c: ... here. * testsuite/libgomp.c/for-5.c: Move ... * testsuite/libgomp.c-c++-common/for-5.c: ... here. * testsuite/libgomp.c/for-6.c: Move ... * testsuite/libgomp.c-c++-common/for-6.c: ... here. From-SVN: r259851
2018-05-02[openacc] Add __builtin_goacc_parlevel_{id,size}Tom de Vries1-0/+29
2018-05-02 Tom de Vries <tom@codesourcery.com> PR libgomp/82428 * builtins.def (DEF_GOACC_BUILTIN_ONLY): Define. * omp-builtins.def (BUILT_IN_GOACC_PARLEVEL_ID) (BUILT_IN_GOACC_PARLEVEL_SIZE): New builtin. * builtins.c (expand_builtin_goacc_parlevel_id_size): New function. (expand_builtin): Call expand_builtin_goacc_parlevel_id_size. * doc/extend.texi (Other Builtins): Add __builtin_goacc_parlevel_id and __builtin_goacc_parlevel_size. * f95-lang.c (DEF_GOACC_BUILTIN_ONLY): Define. * c-c++-common/goacc/builtin-goacc-parlevel-id-size-2.c: New test. * c-c++-common/goacc/builtin-goacc-parlevel-id-size.c: New test. * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use __builtin_goacc_parlevel_{id,size}. * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same. * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same. * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same. * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same. From-SVN: r259850
2018-05-02[testsuite] Add scan-ltrans-tree-dumpTom de Vries1-0/+5
2018-05-02 Tom de Vries <tom@codesourcery.com> PR testsuite/85106 * gcc.dg/ipa/ipa-icf-38.c: Use scan-ltrans-tree-dump. * lib/scanltranstree.exp: New file. * lib/target-supports.exp (scan-ltrans-tree-dump_required_options) (scan-ltrans-tree-dump-times_required_options) (scan-ltrans-tree-dump-not_required_options) (scan-ltrans-tree-dump-dem_required_options) (scan-ltrans-tree-dump-dem-not_required_options): New proc. * lib/gcc-dg.exp: Include scanltranstree.exp. * testsuite/lib/libatomic.exp: Include scanltranstree.exp. * testsuite/lib/libgomp.exp: Include scanltranstree.exp. * testsuite/lib/libitm.exp: Include scanltranstree.exp. * testsuite/lib/libvtv.exp: Include scanltranstree.exp. * doc/sourcebuild.texi (Commands for use in dg-final, Scan optimization dump files): Add ltrans-tree. From-SVN: r259838
2018-05-02[testsuite] Add scan-wpa-ipa-dumpTom de Vries1-0/+5
2018-05-02 Tom de Vries <tom@codesourcery.com> PR testsuite/85106 * gcc.dg/ipa/ipa-icf-38.c: New test. * gcc.dg/ipa/ipa-icf-38a.c: New test. * lib/scandump.exp (dump-base): New proc. (scan-dump, scan-dump-times, scan-dump-not, scan-dump-dem) (scan-dump-dem-not): Add and handle parameter for suffix of the dump base. * lib/scanipa.exp: Add "" argument to scan-dump calls. * lib/scanlang.exp: Same. * lib/scanrtl.exp: Same. * lib/scantree.exp: Same. * lib/scanwpaipa.exp: New file. * lib/gcc-dg.exp: Include scanwpaipa.exp. * testsuite/lib/libatomic.exp: Include scanwpaipa.exp. * testsuite/lib/libgomp.exp: Include scanwpaipa.exp. * testsuite/lib/libitm.exp: Include scanwpaipa.exp. * testsuite/lib/libvtv.exp: Include scanwpaipa.exp. * doc/sourcebuild.texi (Commands for use in dg-final, Scan optimization dump files): Add wpa-ipa. From-SVN: r259837
2018-04-29[openacc, testsuite] Fix undefined behaviour in atomic_capture-1.cJulian Brown1-0/+7
2018-04-29 Julian Brown <julian@codesourcery.com> Tom de Vries <tom@codesourcery.com> PR testsuite/85527 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow arbitrary order for iterations of atomic subtract check. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r259748
2018-04-27[openacc, testsuite] Fix undefined behaviour in atomic_capture-1.f90Tom de Vries1-0/+7
2018-04-28 Tom de Vries <tom@codesourcery.com> PR testsuite/85527 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store atomic capture results obtained in parallel loop to an array, instead of to a scalar. From-SVN: r259733
2018-04-26[nvptx, libgomp] Add GOMP_NVPTX_JIT=-O[0-4] in nvptx libgomp pluginTom de Vries1-0/+8
2018-04-26 Tom de Vries <tom@codesourcery.com> PR libgomp/84020 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL. * plugin/plugin-nvptx.c (_GNU_SOURCE): Define. (process_GOMP_NVPTX_JIT): New function. (link_ptx): Use process_GOMP_NVPTX_JIT. From-SVN: r259678
2018-04-26[lto] Fixup loops before lto write-outRichard Biener1-0/+6
2018-04-26 Richard Biener <rguenther@suse.de> Tom de Vries <tom@codesourcery.com> PR lto/85422 * lto-streamer-out.c (output_function): Fixup loops if required to match discovery done in the reader. * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r259675
2018-04-26[nvptx, libgomp, testsuite] Reduce recursion depth in declare_target-{1,2}.f90Tom de Vries1-0/+7
2018-04-26 Tom de Vries <tom@codesourcery.com> PR target/85519 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce recursion depth from 25 to 23. * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same. From-SVN: r259674
2018-04-24Regenerate configure of target librariesH.J. Lu1-0/+4
* configure: Regenerated. From-SVN: r259610
2018-04-20[nvptx] Fix calls to vector and worker routinesNathan Sidwell1-0/+6
2018-04-20 Nathan Sidwell <nathan@codesourcery.com> Tom de Vries <tom@codesourcery.com> PR target/85445 * config/nvptx/nvptx.c (nvptx_emit_forking, nvptx_emit_joining): Emit insns for calls too. (nvptx_find_par): Always look for worker-level predecessor insn. (nvptx_propagate): Add is_call parm, return bool. Copy frame for calls. (nvptx_vpropagate, nvptx_wpropagate): Adjust. (nvptx_process_pars): Propagate frames for calls. * testsuite/libgomp.oacc-c++/ref-1.C: New. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r259523
2018-04-19PR85463 '[nvptx] "exit" in offloaded region doesn't terminate process'Thomas Schwinge1-0/+15
libgomp/ PR libfortran/85166 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call abort". * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. libgfortran/ PR libfortran/85166 PR libgomp/85463 * runtime/minimal.c (stop_numeric): Reimplement. (stop_string, error_stop_string, error_stop_numeric): New functions. libgomp/ PR libgomp/85463 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file. * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. From-SVN: r259491
2018-04-19cet.m4 (GCC_CET_FLAGS): Default to --disable-cet, replace ↵Jakub Jelinek1-0/+4
--enable-cet=default with --enable-cet=auto. * config/cet.m4 (GCC_CET_FLAGS): Default to --disable-cet, replace --enable-cet=default with --enable-cet=auto. * doc/install.texi: Document --disable-cet being the default and --enable-cet=auto. * configure: Regenerated. From-SVN: r259487
2018-04-18re PR jit/85384 (libgccjit does not work if --with-gcc-major-version is used)David Malcolm1-0/+5
PR jit/85384 * acx.m4 (GCC_BASE_VER): Remove \$\$ from sed expression. * configure.ac (gcc-driver-name.h): Honor --with-gcc-major-version by using gcc_base_ver to generate a gcc_driver_version, and use it when generating GCC_DRIVER_NAME. * configure: Regenerate. * configure: Regenerate. From-SVN: r259462
2018-04-16[openacc] Fix ICE when compiling tile loop containing infinite loopCesar Philippidis1-0/+7
2018-04-16 Cesar Philippidis <cesar@codesourcery.com> Tom de Vries <tom@codesourcery.com> PR middle-end/84955 * omp-expand.c (expand_oacc_for): Add dummy false branch for tiled basic blocks without omp continue statements. * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test. * testsuite/libgomp.oacc-fortran/pr84955.f90: New test. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r259406
2018-04-12re PR fortran/83064 (DO CONCURRENT and auto-parallelization)Thomas Koenig1-0/+7
2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83064 PR testsuite/85346 * trans-stmt.c (gfc_trans_forall_loop): Use annot_expr_ivdep_kind for annotation and remove dependence on -ftree-parallelize-loops. 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83064 PR testsuite/85346 * gfortran.dg/do_concurrent_5.f90: Dynamically allocate main work array and move test to libgomp/testsuite/libgomp.fortran. * gfortran.dg/do_concurrent_6.f90: New test. 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83064 PR testsuite/85346 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified test from gfortran.dg to here. From-SVN: r259359
2018-04-05[nvptx] Fix neutering of bb with only cond jumpTom de Vries1-0/+5
2018-04-05 Tom de Vries <tom@codesourcery.com> PR target/85204 * config/nvptx/nvptx.c (nvptx_single): Fix neutering of bb with only cond jump. * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test. From-SVN: r259125
2018-03-26Fix switch conversion in offloading functionsTom de Vries1-0/+8
2018-03-26 Tom de Vries <tom@codesourcery.com> PR tree-optimization/85063 * omp-general.c (offloading_function_p): New function. Factor out of ... * omp-offload.c (pass_omp_target_link::gate): ... here. * omp-general.h (offloading_function_p): Declare. * tree-switch-conversion.c (build_one_array): Mark CSWTCH.x variable with attribute omp declare target for offloading functions. * testsuite/libgomp.c/switch-conversion-2.c: New test. * testsuite/libgomp.c/switch-conversion.c: New test. * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test. * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test. From-SVN: r258852
2018-03-25re PR fortran/84381 (replace non-std 'call abort' by 'stop 1' in gfortran ↵Thomas Koenig1-0/+318
testsuite) 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/84381 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard call abort by STOP n. * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise. * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise. * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise. * testsuite/libgomp.fortran/allocatable1.f90: Likewise. * testsuite/libgomp.fortran/allocatable10.f90: Likewise. * testsuite/libgomp.fortran/allocatable11.f90: Likewise. * testsuite/libgomp.fortran/allocatable12.f90: Likewise. * testsuite/libgomp.fortran/allocatable2.f90: Likewise. * testsuite/libgomp.fortran/allocatable3.f90: Likewise. * testsuite/libgomp.fortran/allocatable4.f90: Likewise. * testsuite/libgomp.fortran/allocatable5.f90: Likewise. * testsuite/libgomp.fortran/allocatable6.f90: Likewise. * testsuite/libgomp.fortran/allocatable7.f90: Likewise. * testsuite/libgomp.fortran/allocatable8.f90: Likewise. * testsuite/libgomp.fortran/allocatable9.f90: Likewise. * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise. * testsuite/libgomp.fortran/associate1.f90: Likewise. * testsuite/libgomp.fortran/associate2.f90: Likewise. * testsuite/libgomp.fortran/associate3.f90: Likewise. * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise. * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise. * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise. * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise. * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise. * testsuite/libgomp.fortran/character1.f90: Likewise. * testsuite/libgomp.fortran/character2.f90: Likewise. * testsuite/libgomp.fortran/collapse1.f90: Likewise. * testsuite/libgomp.fortran/collapse2.f90: Likewise. * testsuite/libgomp.fortran/collapse3.f90: Likewise. * testsuite/libgomp.fortran/collapse4.f90: Likewise. * testsuite/libgomp.fortran/crayptr1.f90: Likewise. * testsuite/libgomp.fortran/crayptr2.f90: Likewise. * testsuite/libgomp.fortran/crayptr3.f90: Likewise. * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise. * testsuite/libgomp.fortran/declare-target-2.f90: Likewise. * testsuite/libgomp.fortran/depend-1.f90: Likewise. * testsuite/libgomp.fortran/depend-2.f90: Likewise. * testsuite/libgomp.fortran/depend-3.f90: Likewise. * testsuite/libgomp.fortran/do1.f90: Likewise. * testsuite/libgomp.fortran/do2.f90: Likewise. * testsuite/libgomp.fortran/doacross1.f90: Likewise. * testsuite/libgomp.fortran/doacross2.f90: Likewise. * testsuite/libgomp.fortran/doacross3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise. * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise. * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise. * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise. * testsuite/libgomp.fortran/lastprivate1.f90: Likewise. * testsuite/libgomp.fortran/lastprivate2.f90: Likewise. * testsuite/libgomp.fortran/lib1.f90: Likewise. * testsuite/libgomp.fortran/lib2.f: Likewise. * testsuite/libgomp.fortran/lib3.f: Likewise. * testsuite/libgomp.fortran/lib4.f90: Likewise. * testsuite/libgomp.fortran/lock-1.f90: Likewise. * testsuite/libgomp.fortran/lock-2.f90: Likewise. * testsuite/libgomp.fortran/nested1.f90: Likewise. * testsuite/libgomp.fortran/nestedfn1.f90: Likewise. * testsuite/libgomp.fortran/nestedfn2.f90: Likewise. * testsuite/libgomp.fortran/nestedfn3.f90: Likewise. * testsuite/libgomp.fortran/nestedfn4.f90: Likewise. * testsuite/libgomp.fortran/nestedfn5.f90: Likewise. * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise. * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise. * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise. * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise. * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise. * testsuite/libgomp.fortran/omp_cond1.f: Likewise. * testsuite/libgomp.fortran/omp_cond2.f: Likewise. * testsuite/libgomp.fortran/omp_cond3.F90: Likewise. * testsuite/libgomp.fortran/omp_cond4.F90: Likewise. * testsuite/libgomp.fortran/omp_parse1.f90: Likewise. * testsuite/libgomp.fortran/omp_parse2.f90: Likewise. * testsuite/libgomp.fortran/omp_parse3.f90: Likewise. * testsuite/libgomp.fortran/omp_parse4.f90: Likewise. * testsuite/libgomp.fortran/openmp_version-1.f: Likewise. * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise. * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise. * testsuite/libgomp.fortran/pointer1.f90: Likewise. * testsuite/libgomp.fortran/pointer2.f90: Likewise. * testsuite/libgomp.fortran/pr25162.f: Likewise. * testsuite/libgomp.fortran/pr25219.f90: Likewise. * testsuite/libgomp.fortran/pr27395-1.f90: Likewise. * testsuite/libgomp.fortran/pr27395-2.f90: Likewise. * testsuite/libgomp.fortran/pr27416-1.f90: Likewise. * testsuite/libgomp.fortran/pr27916-1.f90: Likewise. * testsuite/libgomp.fortran/pr27916-2.f90: Likewise. * testsuite/libgomp.fortran/pr28390.f: Likewise. * testsuite/libgomp.fortran/pr29629.f90: Likewise. * testsuite/libgomp.fortran/pr32550.f90: Likewise. * testsuite/libgomp.fortran/pr33880.f90: Likewise. * testsuite/libgomp.fortran/pr34020.f90: Likewise. * testsuite/libgomp.fortran/pr35130.f90: Likewise. * testsuite/libgomp.fortran/pr42162.f90: Likewise. * testsuite/libgomp.fortran/pr46753.f90: Likewise. * testsuite/libgomp.fortran/pr48894.f90: Likewise. * testsuite/libgomp.fortran/pr49792-1.f90: Likewise. * testsuite/libgomp.fortran/pr49792-2.f90: Likewise. * testsuite/libgomp.fortran/pr63938-1.f90: Likewise. * testsuite/libgomp.fortran/pr63938-2.f90: Likewise. * testsuite/libgomp.fortran/pr65597.f90: Likewise. * testsuite/libgomp.fortran/pr66199-1.f90: Likewise. * testsuite/libgomp.fortran/pr71014.f90: Likewise. * testsuite/libgomp.fortran/pr81304.f90: Likewise. * testsuite/libgomp.fortran/pr81841.f90: Likewise. * testsuite/libgomp.fortran/pr84418-1.f90: Likewise. * testsuite/libgomp.fortran/pr84418-2.f90: Likewise. * testsuite/libgomp.fortran/procptr1.f90: Likewise. * testsuite/libgomp.fortran/recursion1.f90: Likewise. * testsuite/libgomp.fortran/reduction1.f90: Likewise. * testsuite/libgomp.fortran/reduction2.f90: Likewise. * testsuite/libgomp.fortran/reduction3.f90: Likewise. * testsuite/libgomp.fortran/reduction4.f90: Likewise. * testsuite/libgomp.fortran/reduction5.f90: Likewise. * testsuite/libgomp.fortran/reduction6.f90: Likewise. * testsuite/libgomp.fortran/reference1.f90: Likewise. * testsuite/libgomp.fortran/reference2.f90: Likewise. * testsuite/libgomp.fortran/retval1.f90: Likewise. * testsuite/libgomp.fortran/retval2.f90: Likewise. * testsuite/libgomp.fortran/sharing1.f90: Likewise. * testsuite/libgomp.fortran/sharing2.f90: Likewise. * testsuite/libgomp.fortran/simd1.f90: Likewise. * testsuite/libgomp.fortran/simd2.f90: Likewise. * testsuite/libgomp.fortran/simd3.f90: Likewise. * testsuite/libgomp.fortran/simd4.f90: Likewise. * testsuite/libgomp.fortran/simd5.f90: Likewise. * testsuite/libgomp.fortran/simd6.f90: Likewise. * testsuite/libgomp.fortran/simd7.f90: Likewise. * testsuite/libgomp.fortran/stack.f90: Likewise. * testsuite/libgomp.fortran/strassen.f90: Likewise. * testsuite/libgomp.fortran/tabs1.f90: Likewise. * testsuite/libgomp.fortran/tabs2.f: Likewise. * testsuite/libgomp.fortran/target1.f90: Likewise. * testsuite/libgomp.fortran/target2.f90: Likewise. * testsuite/libgomp.fortran/target3.f90: Likewise. * testsuite/libgomp.fortran/target4.f90: Likewise. * testsuite/libgomp.fortran/target5.f90: Likewise. * testsuite/libgomp.fortran/target6.f90: Likewise. * testsuite/libgomp.fortran/target7.f90: Likewise. * testsuite/libgomp.fortran/target8.f90: Likewise. * testsuite/libgomp.fortran/task1.f90: Likewise. * testsuite/libgomp.fortran/task2.f90: Likewise. * testsuite/libgomp.fortran/task3.f90: Likewise. * testsuite/libgomp.fortran/task4.f90: Likewise. * testsuite/libgomp.fortran/taskgroup1.f90: Likewise. * testsuite/libgomp.fortran/taskloop1.f90: Likewise. * testsuite/libgomp.fortran/taskloop2.f90: Likewise. * testsuite/libgomp.fortran/taskloop3.f90: Likewise. * testsuite/libgomp.fortran/taskloop4.f90: Likewise. * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. * testsuite/libgomp.fortran/threadprivate4.f90: Likewise. * testsuite/libgomp.fortran/udr1.f90: Likewise. * testsuite/libgomp.fortran/udr10.f90: Likewise. * testsuite/libgomp.fortran/udr11.f90: Likewise. * testsuite/libgomp.fortran/udr12.f90: Likewise. * testsuite/libgomp.fortran/udr13.f90: Likewise. * testsuite/libgomp.fortran/udr14.f90: Likewise. * testsuite/libgomp.fortran/udr15.f90: Likewise. * testsuite/libgomp.fortran/udr2.f90: Likewise. * testsuite/libgomp.fortran/udr3.f90: Likewise. * testsuite/libgomp.fortran/udr4.f90: Likewise. * testsuite/libgomp.fortran/udr5.f90: Likewise. * testsuite/libgomp.fortran/udr6.f90: Likewise. * testsuite/libgomp.fortran/udr7.f90: Likewise. * testsuite/libgomp.fortran/udr8.f90: Likewise. * testsuite/libgomp.fortran/udr9.f90: Likewise. * testsuite/libgomp.fortran/vla1.f90: Likewise. * testsuite/libgomp.fortran/vla2.f90: Likewise. * testsuite/libgomp.fortran/vla3.f90: Likewise. * testsuite/libgomp.fortran/vla4.f90: Likewise. * testsuite/libgomp.fortran/vla5.f90: Likewise. * testsuite/libgomp.fortran/vla6.f90: Likewise. * testsuite/libgomp.fortran/vla7.f90: Likewise. * testsuite/libgomp.fortran/vla8.f90: Likewise. * testsuite/libgomp.fortran/workshare1.f90: Likewise. * testsuite/libgomp.fortran/workshare2.f90: Likewise. * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/c2.pl: Likewise. * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise. * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise. * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise. * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise. From-SVN: r258846
2018-03-20force-parallel-4.c: XFAIL one parallelizable loop.Richard Biener1-0/+5
2018-03-20 Richard Biener <rguenther@suse.de> * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one parallelizable loop. From-SVN: r258679
2018-02-19CET shouldn't be enabled in 32-bit run-time libraries by defualtIgor Tsimbalist1-0/+5
ENDBR32 and RDSSPD are multi-byte NOPs on x86-64 processors and newer x86 processors, starting Pentium Pro. They are UD on older 32-bit processors. Detect this at configure time and adjust the default value for enable_cet. GCC will enable CET in 32-bit run-time libraries in any case if --enable-cet is used to configure GCC. PR target/84148 * config/cet.m4: Check if target support multi-byte NOPS (SSE). * libatomic/configure: Regenerate. * libbacktrace/configure: Likewise. * libgcc/configure: Likewise. * libgfortran/configure: Likewise. * libgomp/configure: Likewise. * libitm/configure: Likewise. * libmpx/configure: Likewise. * libobjc/configure: Likewise. * libquadmath/configure: Likewise. * libsanitizer/configure: Likewise. * libssp/configure: Likewise. * libstdc++-v3/configure: Likewise. * libvtv/configure: Likewise. From-SVN: r257809
2018-02-16re PR fortran/84418 (ICE with fortran OpenMP linear (ref ()) clause)Jakub Jelinek1-0/+6
PR fortran/84418 * trans-openmp.c (gfc_trans_omp_clauses): For OMP_CLAUSE_LINEAR_REF kind set OMP_CLAUSE_LINEAR_STEP to TYPE_SIZE_UNIT times last_step. * libgomp.fortran/pr84418-1.f90: New test. * libgomp.fortran/pr84418-2.f90: New test. From-SVN: r257771
2018-02-14re PR fortran/84313 ([F08] reject procedure pointers in COMMON blocks)Jakub Jelinek1-0/+6
PR fortran/84313 * testsuite/libgomp.fortran/threadprivate4.f90: Add -std=f2003 -fall-intrinsics into dg-additional-options. From-SVN: r257654
2018-02-08[hsa] Fix PR82416 testcaseMartin Jambor1-0/+5
2018-02-08 Martin Jambor <mjambor@suse.cz> * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target clonable. From-SVN: r257485
2018-02-08[hsa] Set program allocation for static local variablesMartin Jambor1-0/+4
2018-02-08 Martin Jambor <mjambor@suse.cz> * hsa-gen.c (get_symbol_for_decl): Set program allocation for static local variables. libgomp/ * testsuite/libgomp.hsa.c/staticvar.c: New test. From-SVN: r257484
2018-02-07Fix libgomp.oacc-c-c++-common/pr84217.c for C++Rainer Orth1-0/+5
* testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort) [__cplusplus]: Declare extern "C". From-SVN: r257457
2018-02-07[openacc] Fix diff_type in expand_oacc_collapse_initTom de Vries1-0/+5
2018-02-07 Tom de Vries <tom@codesourcery.com> PR libgomp/84217 * omp-expand.c (expand_oacc_collapse_init): Ensure diff_type is large enough. * c-c++-common/goacc/pr84217.c: New test. * gfortran.dg/goacc/pr84217.f90: New test. * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test. From-SVN: r257443
2018-01-30re PR libgomp/84096 (Wrong prototype for omp_init_nest_lock_with_hint() in ↵Christoph Spiel1-0/+7
"omp.h.in") PR libgomp/84096 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t instead of omp_lock_t. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r257167
2018-01-25[nvptx, PR84028] Add exit insn after noreturn call for neutered workersTom de Vries1-0/+5
2018-01-25 Tom de Vries <tom@codesourcery.com> PR target/84028 * config/nvptx/nvptx.c (nvptx_single): Add exit insn after noreturn call for neutered workers. * testsuite/libgomp.oacc-fortran/pr84028.f90: New test. From-SVN: r257046
2018-01-24[nvptx, PR83589] Workaround for branch-around-nothing JIT bugTom de Vries1-0/+5
2018-01-24 Tom de Vries <tom@codesourcery.com> PR target/83589 * config/nvptx/nvptx.c (WORKAROUND_PTXJIT_BUG_2): Define to 1. (nvptx_pc_set, nvptx_condjump_label): New function. Copy from jump.c. Add strict parameter. (prevent_branch_around_nothing): Insert dummy insn between branch to label and label with no ptx insn inbetween. * config/nvptx/nvptx.md (define_insn "fake_nop"): New insn. * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test. From-SVN: r257016
2018-01-24[nvptx, PR81352] Add exit insn after noreturn call for neutered threads in warpTom de Vries1-0/+5
2018-01-24 Tom de Vries <tom@codesourcery.com> PR target/81352 * config/nvptx/nvptx.c (nvptx_single): Add exit insn after noreturn call for neutered threads in warp. * config/nvptx/nvptx.md (define_insn "exit"): New insn. * testsuite/libgomp.oacc-fortran/pr81352.f90: New test. From-SVN: r257014
2018-01-19[nvptx] Fix bug in jit bug workaroundTom de Vries1-0/+7
2018-01-19 Tom de Vries <tom@codesourcery.com> Cesar Philippidis <cesar@codesourcery.com> PR target/83920 * config/nvptx/nvptx.c (nvptx_single): Fix jit workaround. * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test. * testsuite/libgomp.oacc-fortran/pr83920.f90: New test. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> From-SVN: r256894
2018-01-03Update copyright years.Jakub Jelinek1-1/+3
From-SVN: r256169
2018-01-03gcc.c (process_command): Update copyright notice dates.Jakub Jelinek1-0/+4
gcc/ * gcc.c (process_command): Update copyright notice dates. * gcov-dump.c (print_version): Ditto. * gcov.c (print_version): Ditto. * gcov-tool.c (print_version): Ditto. * gengtype.c (create_file): Ditto. * doc/cpp.texi: Bump @copying's copyright year. * doc/cppinternals.texi: Ditto. * doc/gcc.texi: Ditto. * doc/gccint.texi: Ditto. * doc/gcov.texi: Ditto. * doc/install.texi: Ditto. * doc/invoke.texi: Ditto. gcc/fortran/ * gfortranspec.c (lang_specific_driver): Update copyright notice dates. * gfc-internals.texi: Bump @copying's copyright year. * gfortran.texi: Ditto. * intrinsic.texi: Ditto. * invoke.texi: Ditto. gcc/ada/ * gnat_ugn.texi: Bump @copying's copyright year. * gnat_rm.texi: Likewise. gcc/go/ * gccgo.texi: Bump @copyrights-go year. libitm/ * libitm.texi: Bump @copying's copyright year. libgomp/ * libgomp.texi: Bump @copying's copyright year. libquadmath/ * libquadmath.texi: Bump @copying's copyright year. From-SVN: r256166
2017-12-30Prune removed funcs from offload tableTom de Vries1-0/+6
2017-12-30 Tom de Vries <tom@codesourcery.com> PR libgomp/83046 * omp-expand.c (expand_omp_target): If in_lto_p, mark offload_funcs with DECL_PRESERVE_P. * lto-streamer-out.c (prune_offload_funcs): New function. Remove offload_funcs entries that no longer have a corresponding cgraph_node. Mark the remaining ones as DECL_PRESERVE_P. (output_lto): Call prune_offload_funcs. * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test. * testsuite/libgomp.c-c++-common/pr83046.c: New test. From-SVN: r256045
2017-12-27Workaround PR83046 in gang-static-2.cTom de Vries1-0/+6
2017-12-27 Tom de Vries <tom@codesourcery.com> PR c++/83046 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static) (test_nonstatic): Fix return type to workaround PR83046. From-SVN: r256008
2017-12-05re PR testsuite/83281 (libgomp.oacc-c-c++-common/reduction-cplx-flt.c and ↵Jakub Jelinek1-0/+8
reduction-cplx-dbl.c fail starting with r255335) PR testsuite/83281 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use j suffix instead of i. * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main): Likewise. From-SVN: r255418
2017-12-01Fix bug in an OpenACC async test caseCesar Philippidis1-0/+5
libgomp/ * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing call to acc_wait (1). From-SVN: r255308
2017-11-24re PR fortran/81304 (Bogus warning with -Wsurprising and -fopenmp: Type ↵Jakub Jelinek1-0/+5
specified for intrinsic function 'min' / 'max') PR fortran/81304 * trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set attr.implicit_type in intrinsic_sym to avoid undesirable warning. * testsuite/libgomp.fortran/pr81304.f90: New test. From-SVN: r255144