]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[PATCH v2 1/4] openmp: Bump Version from 4.5 to 5.2 (1/4)
authorsupers1ngular <supers1ngular@baylibre.com>
Thu, 11 Dec 2025 14:27:09 +0000 (06:27 -0800)
committersupers1ngular <supers1ngular@baylibre.com>
Thu, 11 Dec 2025 14:38:51 +0000 (06:38 -0800)
Bumps OpenMP from 4.5 (201511) to 5.2 (202111), with deprecation and
test support to 5.1 (202011). Adds new tests and a new warning.
Suppresses deprecation warnings in all relevant tests and removes
suppression pragmas visible outside of the testsuite. Additionally
implements new warning in the relevant frontends. Otherwise, cleans
up some whitespace and fixed a misspelled pragma in a testcase. Also
fixes an indentation error.

gcc/c-family/ChangeLog:

* c-cppbuiltin.cc (c_cpp_builtins): Bump _OPENMP version.
* c.opt (Wdeprecated-openmp): Add warning.
* c.opt.urls: Regenerated.

gcc/c/ChangeLog:

* c-parser.cc (c_parser_omp_clause_proc_bind): Deprecate master
affinity.
(c_parser_omp_master): Deprecate master construct.
(c_parser_transaction): Whitespace.

gcc/cp/ChangeLog:

* parser.cc (cp_parser_postfix_expression): Whitespace.
(cp_parser_builtin_c23_va_start): Ditto.
(cp_parser_omp_clause_proc_bind): Deprecate master affinity.
(cp_parser_omp_master): Deprecate master construct.

gcc/ChangeLog:

* doc/invoke.texi: Update docs for '-Wdeprecated-openmp'.

gcc/fortran/ChangeLog:

* cpp.cc (cpp_define_builtins): Bump _OPENMP version.
* invoke.texi: Update docs for '-Wdeprecated-openmp'.
* lang.opt (Wdeprecated-openmp): Add warning.
* lang.opt.urls: Regenerated.
* openmp.cc (gfc_match_omp_clauses): Deprecate master affinity
policy.
(gfc_match_omp_parallel_master): Deprecate master construct.
(gfc_match_omp_parallel_master_taskloop): Ditto.
(gfc_match_omp_parallel_master_taskloop_simd): Ditto.
(gfc_match_omp_master): Ditto.
(gfc_match_omp_master_taskloop): Ditto.
(gfc_match_omp_master_taskloop_simd): Ditto.
(resolve_omp_clauses): Warn for deprecated use of
{use,is}_device_ptr.

libgomp/ChangeLog:

* env.c (omp_display_env): Bump _OPENMP version.
* fortran.c (ialias_redirect): Remove suppression pragmas.
(omp_set_dynamic_8_): Ditto.
(omp_set_nested_8_): Ditto.
(omp_get_nested_): Ditto.
* icv.c (omp_get_dynamic): Ditto.
(omp_get_nested): Ditto.
(ialias): Ditto.
* omp_lib.f90.in: Bump openmp_version.
* omp_lib.h.in: Ditto.
* testsuite/libgomp.c++/affinity-1.C: Suppress deprecation
warnings.
* testsuite/libgomp.c++/ctor-1.C: Ditto.
* testsuite/libgomp.c++/ctor-11.C: Ditto.
* testsuite/libgomp.c++/ctor-13.C: Ditto.
* testsuite/libgomp.c++/ctor-2.C: Ditto.
* testsuite/libgomp.c++/ctor-5.C: Ditto.
* testsuite/libgomp.c++/ctor-7.C: Ditto.
* testsuite/libgomp.c++/depend-iterator-1.C: Ditto.
* testsuite/libgomp.c++/loop-13.C: Ditto.
* testsuite/libgomp.c++/master-1.C: Ditto.
* testsuite/libgomp.c++/pr26943.C: Ditto.
* testsuite/libgomp.c++/pr81130.C: Ditto.
* testsuite/libgomp.c++/pr81314.C: Ditto.
* testsuite/libgomp.c++/target-in-reduction-1.C: Ditto.
* testsuite/libgomp.c++/target-in-reduction-2.C: Ditto.
* testsuite/libgomp.c++/task-1.C: Ditto.
* testsuite/libgomp.c++/task-2.C: Ditto.
* testsuite/libgomp.c++/task-6.C: Ditto.
* testsuite/libgomp.c++/task-reduction-7.C: Ditto.
* testsuite/libgomp.c++/task-reduction-9.C: Ditto.
* testsuite/libgomp.c++/taskloop-reduction-1.C: Ditto.
* testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: Ditto.
* testsuite/libgomp.c-c++-common/depend-inoutset-1.c: Ditto.
* testsuite/libgomp.c-c++-common/depend-iterator-1.c: Ditto.
* testsuite/libgomp.c-c++-common/master-combined-1.c: Ditto.
* testsuite/libgomp.c-c++-common/target-in-reduction-1.c: Ditto.
* testsuite/libgomp.c-c++-common/target-in-reduction-2.c: Ditto.
* testsuite/libgomp.c-c++-common/task-detach-12.c: Ditto.
* testsuite/libgomp.c-c++-common/task-reduction-15.c: Ditto.
* testsuite/libgomp.c-c++-common/task-reduction-5.c: Ditto.
* testsuite/libgomp.c-c++-common/task-reduction-6.c: Ditto.
* testsuite/libgomp.c-c++-common/task-reduction-8.c: Ditto.
* testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: Ditto.
* testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: Ditto.
* testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: Ditto.
* testsuite/libgomp.c/affinity-1.c: Remove extraneous dg
instruction and add suppression.
* testsuite/libgomp.c/critical-2.c: Suppress deprecation
warnings.
* testsuite/libgomp.c/debug-1.c: Ditto.
* testsuite/libgomp.c/lib-1.c: Ditto.
* testsuite/libgomp.c/loop-24.c: Ditto.
* testsuite/libgomp.c/nestedfn-2.c: Ditto.
* testsuite/libgomp.c/nestedfn-3.c: Ditto.
* testsuite/libgomp.c/pr104385.c: Ditto.
* testsuite/libgomp.c/target-31.c: Ditto.
* testsuite/libgomp.c/target-34.c: Ditto.
* testsuite/libgomp.c/target-critical-1.c: Ditto.
* testsuite/libgomp.c/task-1.c: Ditto.
* testsuite/libgomp.c/task-3.c: Ditto.
* testsuite/libgomp.c/task-6.c: Ditto.
* testsuite/libgomp.c/task-reduction-1.c: Ditto.
* testsuite/libgomp.c/task-reduction-2.c: Ditto.
* testsuite/libgomp.c/teams-1.c: Ditto.
* testsuite/libgomp.c/vla-1.c: Ditto.
* testsuite/libgomp.fortran/crayptr1.f90: Ditto.
* testsuite/libgomp.fortran/depend-inoutset-1.f90: Ditto.
* testsuite/libgomp.fortran/is_device_ptr-1.f90: Ditto.
* testsuite/libgomp.fortran/is_device_ptr-2.f90: Ditto.
* testsuite/libgomp.fortran/lib1.f90: Ditto.
* testsuite/libgomp.fortran/lib2.f: Ditto.
* testsuite/libgomp.fortran/lib3.f: Ditto.
* testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
* testsuite/libgomp.fortran/openmp_version-1.f: Bump OMP version.
* testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
* testsuite/libgomp.fortran/parallel-master.f90: Suppress
warnings.
* testsuite/libgomp.fortran/pointer2.f90: Ditto.
* testsuite/libgomp.fortran/reduction6.f90: Ditto.
* testsuite/libgomp.fortran/target-firstprivate-1.f90: Ditto.
* testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
* testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
* testsuite/libgomp.fortran/use_device_addr-3.f90: Ditto.
* testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
* testsuite/libgomp.fortran/use_device_addr-5.f90: Ditto.
* testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
* testsuite/libgomp.fortran/use_device_ptr-3.f90: Ditto.
* testsuite/libgomp.fortran/use_device_ptr-4.f90: Ditto.
* testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Ditto.
* testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
* testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Ditto.
* testsuite/libgomp.c-c++-common/omp-atv-seq-dep.c: New test.
* testsuite/libgomp.c-c++-common/omp-lock-hint-contended-dep.c:
New test.
* testsuite/libgomp.c-c++-common/omp-lock-hint-none-dep.c: New test.
* testsuite/libgomp.c-c++-common/omp-lock-hint-speculative-dep.c:
New test.
* testsuite/libgomp.c-c++-common/omp-lock-hint-uncontended-dep.c:
New test.
* testsuite/libgomp.c/omp-proc-bind-master-dep.c: New test.
* testsuite/libgomp.fortran/omp-atv-seq-dep.f90: New test.
* testsuite/libgomp.fortran/omp-lock-hint-contended-dep.f90: New
test.
* testsuite/libgomp.fortran/omp-lock-hint-none-dep.f90: New test.
* testsuite/libgomp.fortran/omp-lock-hint-speculative-dep.f90: New
test.
* testsuite/libgomp.fortran/omp-lock-hint-uncontended-dep.f90: New
test.

gcc/testsuite/ChangeLog:

* c-c++-common/cpp/openmp-define-3.c: Bump OMP version.
* c-c++-common/gomp/Wparentheses-1.c: Suppress deprecation
warnings.
* c-c++-common/gomp/Wparentheses-3.c: Ditto.
* c-c++-common/gomp/affinity-3.c: Ditto.
* c-c++-common/gomp/allocate-18.c: Ditto.
* c-c++-common/gomp/cancel-1.c: Ditto.
* c-c++-common/gomp/clause-dups-1.c: Ditto.
* c-c++-common/gomp/clauses-1.c: Suppress deprecation
warnings and fix misspelled directive. Add
'-Wunknown-pragmas'.
* c-c++-common/gomp/clauses-6.c: Suppress deprecation warnings.
* c-c++-common/gomp/declare-variant-1.c: Ditto.
* c-c++-common/gomp/declare-variant-2.c: Ditto.
* c-c++-common/gomp/depend-iterator-1.c: Ditto.
* c-c++-common/gomp/lastprivate-conditional-1.c: Ditto.
* c-c++-common/gomp/loop-1.c: Ditto.
* c-c++-common/gomp/loop-2.c: Ditto.
* c-c++-common/gomp/loop-3.c: Ditto.
* c-c++-common/gomp/loop-4.c: Ditto.
* c-c++-common/gomp/master-combined-1.c: Ditto.
* c-c++-common/gomp/master-combined-2.c: Ditto.
* c-c++-common/gomp/nesting-2.c: Ditto.
* c-c++-common/gomp/pr100902-1.c: Ditto.
* c-c++-common/gomp/pr61486-2.c: Ditto.
* c-c++-common/gomp/pr85696.c: Ditto.
* c-c++-common/gomp/pr85956.c: Ditto.
* c-c++-common/gomp/pr98187.c: Ditto.
* c-c++-common/gomp/pr99928-1.c: Ditto.
* c-c++-common/gomp/pr99928-10.c: Ditto.
* c-c++-common/gomp/pr99928-11.c: Ditto.
* c-c++-common/gomp/pr99928-12.c: Ditto.
* c-c++-common/gomp/pr99928-13.c: Ditto.
* c-c++-common/gomp/pr99928-14.c: Ditto.
* c-c++-common/gomp/pr99928-2.c: Ditto.
* c-c++-common/gomp/pr99928-3.c: Ditto.
* c-c++-common/gomp/pr99928-4.c: Ditto.
* c-c++-common/gomp/pr99928-5.c: Ditto.
* c-c++-common/gomp/pr99928-6.c: Ditto.
* c-c++-common/gomp/pr99928-7.c: Ditto.
* c-c++-common/gomp/pr99928-8.c: Ditto.
* c-c++-common/gomp/pr99928-9.c: Ditto.
* c-c++-common/gomp/task-detach-1.c: Ditto.
* c-c++-common/gomp/teams-2.c: Ditto.
* g++.dg/gomp/attrs-1.C: Ditto.
* g++.dg/gomp/attrs-2.C: Ditto.
* g++.dg/gomp/attrs-4.C: Ditto.
* g++.dg/gomp/block-0.C: Ditto.
* g++.dg/gomp/block-10.C: Ditto.
* g++.dg/gomp/block-5.C: Ditto.
* g++.dg/gomp/block-9.C: Ditto.
* g++.dg/gomp/depend-iterator-1.C: Ditto.
* g++.dg/gomp/master-1.C: Ditto.
* g++.dg/gomp/master-2.C: Ditto.
* g++.dg/gomp/master-3.C: Ditto.
* g++.dg/gomp/method-1.C: Ditto.
* g++.dg/gomp/pr29965-3.C: Ditto.
* g++.dg/gomp/pr29965-9.C: Ditto.
* g++.dg/gomp/pr78363-4.C: Ditto.
* g++.dg/gomp/pr78363-6.C: Ditto.
* g++.dg/gomp/pr79664.C: Ditto.
* g++.dg/gomp/pr94477.C: Ditto.
* g++.dg/gomp/pr94512.C: Ditto.
* g++.dg/gomp/tpl-master-1.C: Ditto.
* gcc.dg/gomp/appendix-a/a.12.1.c: Ditto.
* gcc.dg/gomp/appendix-a/a.33.2.c: Ditto.
* gcc.dg/gomp/attrs-1.c: Ditto.
* gcc.dg/gomp/attrs-2.c: Ditto.
* gcc.dg/gomp/attrs-4.c: Ditto.
* gcc.dg/gomp/block-10.c: Ditto.
* gcc.dg/gomp/block-5.c: Ditto.
* gcc.dg/gomp/block-9.c: Ditto.
* gcc.dg/gomp/master-1.c: Ditto.
* gcc.dg/gomp/master-2.c: Ditto.
* gcc.dg/gomp/master-3.c: Ditto.
* gcc.dg/gomp/nesting-1.c: Ditto.
* gcc.dg/gomp/pr104517.c: Ditto.
* gcc.dg/gomp/pr29965-3.c: Ditto.
* gcc.dg/gomp/pr35818.c: Ditto.
* gcc.dg/gomp/pr91216.c: Ditto.
* gcc.dg/gomp/sharing-2.c: Ditto.
* gfortran.dg/gomp/adjust-args-10.f90: Ditto.
* gfortran.dg/gomp/affinity-1.f90: Ditto.
* gfortran.dg/gomp/allocate-clause.f90: Ditto.
* gfortran.dg/gomp/appendix-a/a.12.1.f90: Ditto.
* gfortran.dg/gomp/appendix-a/a.33.2.f90: Ditto.
* gfortran.dg/gomp/c_ptr_tests_20.f90: Ditto.
* gfortran.dg/gomp/c_ptr_tests_21.f90: Ditto.
* gfortran.dg/gomp/cancel-1.f90: Ditto.
* gfortran.dg/gomp/clauses-1.f90: Ditto.
* gfortran.dg/gomp/declare-variant-1.f90: Ditto.
* gfortran.dg/gomp/depend-iterator-1.f90: Ditto.
* gfortran.dg/gomp/depend-iterator-2.f90: Ditto.
* gfortran.dg/gomp/is_device_ptr-1.f90: Ditto.
* gfortran.dg/gomp/is_device_ptr-2.f90: Ditto.
* gfortran.dg/gomp/is_device_ptr-3.f90: Ditto.
* gfortran.dg/gomp/lastprivate-conditional-1.f90: Ditto.
* gfortran.dg/gomp/loop-4.f90: Ditto.
* gfortran.dg/gomp/loop-exit.f90: Ditto.
* gfortran.dg/gomp/map-3.f90: Ditto.
* gfortran.dg/gomp/nesting-2.f90: Ditto.
* gfortran.dg/gomp/nesting-3.f90: Ditto.
* gfortran.dg/gomp/nowait-2.f90: Ditto.
* gfortran.dg/gomp/nowait-4.f90: Ditto.
* gfortran.dg/gomp/nowait-5.f90: Ditto.
* gfortran.dg/gomp/openmp-simd-2.f90: Ditto.
* gfortran.dg/gomp/openmp-simd-3.f90: Ditto.
* gfortran.dg/gomp/parallel-master-1.f90: Ditto.
* gfortran.dg/gomp/parallel-master-2.f90: Ditto.
* gfortran.dg/gomp/pr107214-8.f90: Ditto.
* gfortran.dg/gomp/pr48117.f90: Ditto.
* gfortran.dg/gomp/pr94672.f90: Ditto.
* gfortran.dg/gomp/pr99928-1.f90: Suppression + fix whitespace.
* gfortran.dg/gomp/pr99928-11.f90: Suppression.
* gfortran.dg/gomp/pr99928-2.f90: Suppression + fix whitespace.
* gfortran.dg/gomp/pr99928-3.f90: Ditto.
* gfortran.dg/gomp/pr99928-4.f90: Ditto.
* gfortran.dg/gomp/pr99928-5.f90: Ditto.
* gfortran.dg/gomp/pr99928-6.f90: Ditto.
* gfortran.dg/gomp/pr99928-8.f90: Ditto.
* gfortran.dg/gomp/sharing-3.f90: Suppress deprecation warnings.
* gfortran.dg/gomp/strictly-structured-block-1.f90: Ditto.
* gfortran.dg/gomp/strictly-structured-block-2.f90: Ditto.
* gfortran.dg/gomp/target1.f90: Ditto.
* gfortran.dg/gomp/taskloop-1.f90: Ditto.
* gfortran.dg/gomp/taskloop-2.f90: Ditto.
* gfortran.dg/openmp-define-3.f90: Bump expected version.
* c-c++-common/gomp/master-construct-dep.c: New test.
* gfortran.dg/gomp/master-construct-dep.f90: New test.

231 files changed:
gcc/c-family/c-cppbuiltin.cc
gcc/c-family/c.opt
gcc/c-family/c.opt.urls
gcc/c/c-parser.cc
gcc/cp/parser.cc
gcc/doc/invoke.texi
gcc/fortran/cpp.cc
gcc/fortran/invoke.texi
gcc/fortran/lang.opt
gcc/fortran/lang.opt.urls
gcc/fortran/openmp.cc
gcc/testsuite/c-c++-common/cpp/openmp-define-3.c
gcc/testsuite/c-c++-common/gomp/Wparentheses-1.c
gcc/testsuite/c-c++-common/gomp/Wparentheses-3.c
gcc/testsuite/c-c++-common/gomp/affinity-3.c
gcc/testsuite/c-c++-common/gomp/allocate-18.c
gcc/testsuite/c-c++-common/gomp/cancel-1.c
gcc/testsuite/c-c++-common/gomp/clause-dups-1.c
gcc/testsuite/c-c++-common/gomp/clauses-1.c
gcc/testsuite/c-c++-common/gomp/clauses-6.c
gcc/testsuite/c-c++-common/gomp/declare-variant-1.c
gcc/testsuite/c-c++-common/gomp/declare-variant-2.c
gcc/testsuite/c-c++-common/gomp/depend-iterator-1.c
gcc/testsuite/c-c++-common/gomp/lastprivate-conditional-1.c
gcc/testsuite/c-c++-common/gomp/loop-1.c
gcc/testsuite/c-c++-common/gomp/loop-2.c
gcc/testsuite/c-c++-common/gomp/loop-3.c
gcc/testsuite/c-c++-common/gomp/loop-4.c
gcc/testsuite/c-c++-common/gomp/master-combined-1.c
gcc/testsuite/c-c++-common/gomp/master-combined-2.c
gcc/testsuite/c-c++-common/gomp/master-construct-dep.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/gomp/nesting-2.c
gcc/testsuite/c-c++-common/gomp/pr100902-1.c
gcc/testsuite/c-c++-common/gomp/pr61486-2.c
gcc/testsuite/c-c++-common/gomp/pr85696.c
gcc/testsuite/c-c++-common/gomp/pr85956.c
gcc/testsuite/c-c++-common/gomp/pr98187.c
gcc/testsuite/c-c++-common/gomp/pr99928-1.c
gcc/testsuite/c-c++-common/gomp/pr99928-10.c
gcc/testsuite/c-c++-common/gomp/pr99928-11.c
gcc/testsuite/c-c++-common/gomp/pr99928-12.c
gcc/testsuite/c-c++-common/gomp/pr99928-13.c
gcc/testsuite/c-c++-common/gomp/pr99928-14.c
gcc/testsuite/c-c++-common/gomp/pr99928-2.c
gcc/testsuite/c-c++-common/gomp/pr99928-3.c
gcc/testsuite/c-c++-common/gomp/pr99928-4.c
gcc/testsuite/c-c++-common/gomp/pr99928-5.c
gcc/testsuite/c-c++-common/gomp/pr99928-6.c
gcc/testsuite/c-c++-common/gomp/pr99928-7.c
gcc/testsuite/c-c++-common/gomp/pr99928-8.c
gcc/testsuite/c-c++-common/gomp/pr99928-9.c
gcc/testsuite/c-c++-common/gomp/task-detach-1.c
gcc/testsuite/c-c++-common/gomp/teams-2.c
gcc/testsuite/g++.dg/gomp/attrs-1.C
gcc/testsuite/g++.dg/gomp/attrs-2.C
gcc/testsuite/g++.dg/gomp/attrs-4.C
gcc/testsuite/g++.dg/gomp/block-0.C
gcc/testsuite/g++.dg/gomp/block-10.C
gcc/testsuite/g++.dg/gomp/block-5.C
gcc/testsuite/g++.dg/gomp/block-9.C
gcc/testsuite/g++.dg/gomp/depend-iterator-1.C
gcc/testsuite/g++.dg/gomp/master-1.C
gcc/testsuite/g++.dg/gomp/master-2.C
gcc/testsuite/g++.dg/gomp/master-3.C
gcc/testsuite/g++.dg/gomp/method-1.C
gcc/testsuite/g++.dg/gomp/pr29965-3.C
gcc/testsuite/g++.dg/gomp/pr29965-9.C
gcc/testsuite/g++.dg/gomp/pr78363-4.C
gcc/testsuite/g++.dg/gomp/pr78363-6.C
gcc/testsuite/g++.dg/gomp/pr79664.C
gcc/testsuite/g++.dg/gomp/pr94477.C
gcc/testsuite/g++.dg/gomp/pr94512.C
gcc/testsuite/g++.dg/gomp/tpl-master-1.C
gcc/testsuite/gcc.dg/gomp/appendix-a/a.12.1.c
gcc/testsuite/gcc.dg/gomp/appendix-a/a.33.2.c
gcc/testsuite/gcc.dg/gomp/attrs-1.c
gcc/testsuite/gcc.dg/gomp/attrs-2.c
gcc/testsuite/gcc.dg/gomp/attrs-4.c
gcc/testsuite/gcc.dg/gomp/block-10.c
gcc/testsuite/gcc.dg/gomp/block-5.c
gcc/testsuite/gcc.dg/gomp/block-9.c
gcc/testsuite/gcc.dg/gomp/master-1.c
gcc/testsuite/gcc.dg/gomp/master-2.c
gcc/testsuite/gcc.dg/gomp/master-3.c
gcc/testsuite/gcc.dg/gomp/nesting-1.c
gcc/testsuite/gcc.dg/gomp/pr104517.c
gcc/testsuite/gcc.dg/gomp/pr29965-3.c
gcc/testsuite/gcc.dg/gomp/pr35818.c
gcc/testsuite/gcc.dg/gomp/pr91216.c
gcc/testsuite/gcc.dg/gomp/sharing-2.c
gcc/testsuite/gfortran.dg/gomp/adjust-args-10.f90
gcc/testsuite/gfortran.dg/gomp/affinity-1.f90
gcc/testsuite/gfortran.dg/gomp/allocate-clause.f90
gcc/testsuite/gfortran.dg/gomp/appendix-a/a.12.1.f90
gcc/testsuite/gfortran.dg/gomp/appendix-a/a.33.2.f90
gcc/testsuite/gfortran.dg/gomp/c_ptr_tests_20.f90
gcc/testsuite/gfortran.dg/gomp/c_ptr_tests_21.f90
gcc/testsuite/gfortran.dg/gomp/cancel-1.f90
gcc/testsuite/gfortran.dg/gomp/clauses-1.f90
gcc/testsuite/gfortran.dg/gomp/declare-variant-1.f90
gcc/testsuite/gfortran.dg/gomp/depend-iterator-1.f90
gcc/testsuite/gfortran.dg/gomp/depend-iterator-2.f90
gcc/testsuite/gfortran.dg/gomp/is_device_ptr-1.f90
gcc/testsuite/gfortran.dg/gomp/is_device_ptr-2.f90
gcc/testsuite/gfortran.dg/gomp/is_device_ptr-3.f90
gcc/testsuite/gfortran.dg/gomp/lastprivate-conditional-1.f90
gcc/testsuite/gfortran.dg/gomp/loop-4.f90
gcc/testsuite/gfortran.dg/gomp/loop-exit.f90
gcc/testsuite/gfortran.dg/gomp/map-3.f90
gcc/testsuite/gfortran.dg/gomp/master-construct-dep.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/nesting-2.f90
gcc/testsuite/gfortran.dg/gomp/nesting-3.f90
gcc/testsuite/gfortran.dg/gomp/nowait-2.f90
gcc/testsuite/gfortran.dg/gomp/nowait-4.f90
gcc/testsuite/gfortran.dg/gomp/nowait-5.f90
gcc/testsuite/gfortran.dg/gomp/openmp-simd-2.f90
gcc/testsuite/gfortran.dg/gomp/openmp-simd-3.f90
gcc/testsuite/gfortran.dg/gomp/parallel-master-1.f90
gcc/testsuite/gfortran.dg/gomp/parallel-master-2.f90
gcc/testsuite/gfortran.dg/gomp/pr107214-8.f90
gcc/testsuite/gfortran.dg/gomp/pr48117.f90
gcc/testsuite/gfortran.dg/gomp/pr94672.f90
gcc/testsuite/gfortran.dg/gomp/pr99928-1.f90
gcc/testsuite/gfortran.dg/gomp/pr99928-11.f90
gcc/testsuite/gfortran.dg/gomp/pr99928-2.f90
gcc/testsuite/gfortran.dg/gomp/pr99928-3.f90
gcc/testsuite/gfortran.dg/gomp/pr99928-4.f90
gcc/testsuite/gfortran.dg/gomp/pr99928-5.f90
gcc/testsuite/gfortran.dg/gomp/pr99928-6.f90
gcc/testsuite/gfortran.dg/gomp/pr99928-8.f90
gcc/testsuite/gfortran.dg/gomp/sharing-3.f90
gcc/testsuite/gfortran.dg/gomp/strictly-structured-block-1.f90
gcc/testsuite/gfortran.dg/gomp/strictly-structured-block-2.f90
gcc/testsuite/gfortran.dg/gomp/target1.f90
gcc/testsuite/gfortran.dg/gomp/taskloop-1.f90
gcc/testsuite/gfortran.dg/gomp/taskloop-2.f90
gcc/testsuite/gfortran.dg/openmp-define-3.f90
libgomp/env.c
libgomp/fortran.c
libgomp/icv.c
libgomp/omp_lib.f90.in
libgomp/omp_lib.h.in
libgomp/testsuite/libgomp.c++/affinity-1.C
libgomp/testsuite/libgomp.c++/ctor-1.C
libgomp/testsuite/libgomp.c++/ctor-11.C
libgomp/testsuite/libgomp.c++/ctor-13.C
libgomp/testsuite/libgomp.c++/ctor-2.C
libgomp/testsuite/libgomp.c++/ctor-5.C
libgomp/testsuite/libgomp.c++/ctor-7.C
libgomp/testsuite/libgomp.c++/depend-iterator-1.C
libgomp/testsuite/libgomp.c++/loop-13.C
libgomp/testsuite/libgomp.c++/master-1.C
libgomp/testsuite/libgomp.c++/pr26943.C
libgomp/testsuite/libgomp.c++/pr81130.C
libgomp/testsuite/libgomp.c++/pr81314.C
libgomp/testsuite/libgomp.c++/target-in-reduction-1.C
libgomp/testsuite/libgomp.c++/target-in-reduction-2.C
libgomp/testsuite/libgomp.c++/task-1.C
libgomp/testsuite/libgomp.c++/task-2.C
libgomp/testsuite/libgomp.c++/task-6.C
libgomp/testsuite/libgomp.c++/task-reduction-7.C
libgomp/testsuite/libgomp.c++/task-reduction-9.C
libgomp/testsuite/libgomp.c++/taskloop-reduction-1.C
libgomp/testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c
libgomp/testsuite/libgomp.c-c++-common/depend-inoutset-1.c
libgomp/testsuite/libgomp.c-c++-common/depend-iterator-1.c
libgomp/testsuite/libgomp.c-c++-common/master-combined-1.c
libgomp/testsuite/libgomp.c-c++-common/omp-atv-seq-dep.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c-c++-common/omp-lock-hint-contended-dep.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c-c++-common/omp-lock-hint-none-dep.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c-c++-common/omp-lock-hint-speculative-dep.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c-c++-common/omp-lock-hint-uncontended-dep.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c-c++-common/target-in-reduction-1.c
libgomp/testsuite/libgomp.c-c++-common/target-in-reduction-2.c
libgomp/testsuite/libgomp.c-c++-common/task-detach-12.c
libgomp/testsuite/libgomp.c-c++-common/task-reduction-15.c
libgomp/testsuite/libgomp.c-c++-common/task-reduction-5.c
libgomp/testsuite/libgomp.c-c++-common/task-reduction-6.c
libgomp/testsuite/libgomp.c-c++-common/task-reduction-8.c
libgomp/testsuite/libgomp.c-c++-common/taskloop-reduction-1.c
libgomp/testsuite/libgomp.c-c++-common/taskloop-reduction-3.c
libgomp/testsuite/libgomp.c-c++-common/taskloop-reduction-4.c
libgomp/testsuite/libgomp.c/affinity-1.c
libgomp/testsuite/libgomp.c/critical-2.c
libgomp/testsuite/libgomp.c/debug-1.c
libgomp/testsuite/libgomp.c/lib-1.c
libgomp/testsuite/libgomp.c/loop-24.c
libgomp/testsuite/libgomp.c/nestedfn-2.c
libgomp/testsuite/libgomp.c/nestedfn-3.c
libgomp/testsuite/libgomp.c/omp-proc-bind-master-dep.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c/pr104385.c
libgomp/testsuite/libgomp.c/target-31.c
libgomp/testsuite/libgomp.c/target-34.c
libgomp/testsuite/libgomp.c/target-critical-1.c
libgomp/testsuite/libgomp.c/task-1.c
libgomp/testsuite/libgomp.c/task-3.c
libgomp/testsuite/libgomp.c/task-6.c
libgomp/testsuite/libgomp.c/task-reduction-1.c
libgomp/testsuite/libgomp.c/task-reduction-2.c
libgomp/testsuite/libgomp.c/teams-1.c
libgomp/testsuite/libgomp.c/vla-1.c
libgomp/testsuite/libgomp.fortran/crayptr1.f90
libgomp/testsuite/libgomp.fortran/depend-inoutset-1.f90
libgomp/testsuite/libgomp.fortran/is_device_ptr-1.f90
libgomp/testsuite/libgomp.fortran/is_device_ptr-2.f90
libgomp/testsuite/libgomp.fortran/lib1.f90
libgomp/testsuite/libgomp.fortran/lib2.f
libgomp/testsuite/libgomp.fortran/lib3.f
libgomp/testsuite/libgomp.fortran/omp-atv-seq-dep.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.fortran/omp-lock-hint-contended-dep.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.fortran/omp-lock-hint-none-dep.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.fortran/omp-lock-hint-speculative-dep.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.fortran/omp-lock-hint-uncontended-dep.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.fortran/omp_parse2.f90
libgomp/testsuite/libgomp.fortran/openmp_version-1.f
libgomp/testsuite/libgomp.fortran/openmp_version-2.f90
libgomp/testsuite/libgomp.fortran/parallel-master.f90
libgomp/testsuite/libgomp.fortran/pointer2.f90
libgomp/testsuite/libgomp.fortran/reduction6.f90
libgomp/testsuite/libgomp.fortran/target-firstprivate-1.f90
libgomp/testsuite/libgomp.fortran/use_device_addr-1.f90
libgomp/testsuite/libgomp.fortran/use_device_addr-2.f90
libgomp/testsuite/libgomp.fortran/use_device_addr-3.f90
libgomp/testsuite/libgomp.fortran/use_device_addr-4.f90
libgomp/testsuite/libgomp.fortran/use_device_addr-5.f90
libgomp/testsuite/libgomp.fortran/use_device_ptr-1.f90
libgomp/testsuite/libgomp.fortran/use_device_ptr-3.f90
libgomp/testsuite/libgomp.fortran/use_device_ptr-4.f90
libgomp/testsuite/libgomp.fortran/use_device_ptr-optional-1.f90
libgomp/testsuite/libgomp.fortran/use_device_ptr-optional-2.f90
libgomp/testsuite/libgomp.fortran/use_device_ptr-optional-3.f90

index eac69690c8197d897c95409ed33463000202ddf9..f3a3ad855e08c91de14094c6eaf26239ef997fc3 100644 (file)
@@ -1687,7 +1687,7 @@ c_cpp_builtins (cpp_reader *pfile)
     cpp_define (pfile, "_OPENACC=201711");
 
   if (flag_openmp)
-    cpp_define (pfile, "_OPENMP=201511");
+    cpp_define (pfile, "_OPENMP=202111");
 
   for (i = 0; i < NUM_INT_N_ENTS; i ++)
     if (int_n_enabled_p[i])
index e1576c9c3c37737221ab8a03407f741bf6e5d4ee..a4cb755b0b97a27702212fa05e2ae9f22e1c67c0 100644 (file)
@@ -685,6 +685,10 @@ Wdeprecated-non-prototype
 C ObjC Var(warn_deprecated_non_prototype) Init(-1) Warning
 Warn about calls with arguments to functions declared without parameters.
 
+Wdeprecated-openmp
+C ObjC C++ ObjC++ Warning Var(warn_deprecated_openmp) Init(1)
+Warn about deprecated OpenMP code.
+
 Wdeprecated-variadic-comma-omission
 C++ ObjC++ Var(warn_deprecated_variadic_comma_omission) Warning
 Warn about deprecated omission of comma before ... in varargs function declaration.
index 9430f4bc2f9c7d3d1e6b412fcb246ee69bedba5d..68c30a98d50e4c0ef34cc4c0e8e443db3c33516a 100644 (file)
@@ -322,6 +322,9 @@ UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-Wdeprecated-literal-operato
 Wdeprecated-non-prototype
 UrlSuffix(gcc/Warning-Options.html#index-Wdeprecated-non-prototype)
 
+Wdeprecated-openmp
+UrlSuffix(gcc/Warning-Options.html#index-Wdeprecated-openmp) LangUrlSuffix_Fortran(gfortran/Error-and-Warning-Options.html#index-Wdeprecated-openmp)
+
 Wdeprecated-variadic-comma-omission
 UrlSuffix(gcc/C_002b_002b-Dialect-Options.html#index-Wdeprecated-variadic-comma-omission)
 
index 15bfd0dc3f4c85cc0f4cc0e7d9247711c81445d9..c81243d2ad215ea2e0ad94cef89054d4cc873f73 100644 (file)
@@ -20801,7 +20801,12 @@ c_parser_omp_clause_proc_bind (c_parser *parser, tree list)
       if (strcmp ("primary", p) == 0)
        kind = OMP_CLAUSE_PROC_BIND_PRIMARY;
       else if (strcmp ("master", p) == 0)
+      {
+       warning_at (clause_loc, OPT_Wdeprecated_openmp,
+         "%<master%> affinity deprecated since OpenMP 5.1, "
+         "use %<primary%>");
        kind = OMP_CLAUSE_PROC_BIND_MASTER;
+      }
       else if (strcmp ("close", p) == 0)
        kind = OMP_CLAUSE_PROC_BIND_CLOSE;
       else if (strcmp ("spread", p) == 0)
@@ -25419,6 +25424,8 @@ c_parser_omp_master (location_t loc, c_parser *parser,
                     char *p_name, omp_clause_mask mask, tree *cclauses,
                     bool *if_p)
 {
+  warning_at (loc, OPT_Wdeprecated_openmp,
+    "%<master%> construct deprecated since OpenMP 5.1, use %<masked%>");
   tree block, clauses, ret;
 
   strcat (p_name, " master");
@@ -30708,7 +30715,7 @@ c_parser_transaction (c_parser *parser, enum rid keyword)
   if (flag_tm)
     stmt = c_finish_transaction (loc, stmt, this_in);
   else
-    error_at (loc, 
+    error_at (loc,
              keyword == RID_TRANSACTION_ATOMIC
              ? G_("%<__transaction_atomic%> without transactional memory "
                   "support enabled")
index cdfa8f0122d367540409de52c2e5a5dc6ee6576c..866708a7e46c3acbb80554e1f0453107e73632bc 100644 (file)
@@ -8198,7 +8198,7 @@ cp_parser_postfix_expression (cp_parser *parser, bool address_p, bool cast_p,
                      error_at (loc, "call to %<__builtin_operator_new%> "
                                     "does not select replaceable global "
                                     "allocation function");
-                   else 
+                   else
                      error_at (loc, "call to %<__builtin_operator_delete%> "
                                     "does not select replaceable global "
                                     "deallocation function");
@@ -11694,7 +11694,7 @@ cp_parser_builtin_c23_va_start (cp_parser *parser)
   if (TREE_CODE (ret) == CALL_EXPR)
     SET_EXPR_LOCATION (ret, combined_loc);
   return cp_expr (ret, combined_loc);
-}        
+}
 
 /* Parse __builtin_offsetof.
 
@@ -44290,7 +44290,12 @@ cp_parser_omp_clause_proc_bind (cp_parser *parser, tree list,
       if (strcmp ("primary", p) == 0)
        kind = OMP_CLAUSE_PROC_BIND_PRIMARY;
       else if (strcmp ("master", p) == 0)
+      {
+       warning_at (location, OPT_Wdeprecated_openmp,
+         "%<master%> affinity deprecated since OpenMP 5.1, "
+         "use %<primary%>");
        kind = OMP_CLAUSE_PROC_BIND_MASTER;
+      }
       else if (strcmp ("close", p) == 0)
        kind = OMP_CLAUSE_PROC_BIND_CLOSE;
       else if (strcmp ("spread", p) == 0)
@@ -49006,6 +49011,8 @@ cp_parser_omp_master (cp_parser *parser, cp_token *pragma_tok,
   tree clauses, sb, ret;
   unsigned int save;
   location_t loc = cp_lexer_peek_token (parser->lexer)->location;
+  warning_at (loc, OPT_Wdeprecated_openmp,
+    "%<master%> construct deprecated since OpenMP 5.1, use %<masked%>");
 
   strcat (p_name, " master");
 
index 8db0aa0ceb769e50535de8cc86beeb337b137a4b..21888010a2b12269bca5a7a438b6457c81bd541b 100644 (file)
@@ -392,6 +392,7 @@ Objective-C and Objective-C++ Dialects}.
 -Wdangling-else  -Wdangling-pointer  -Wdangling-pointer=@var{n}
 -Wdate-time
 -Wno-deprecated  -Wno-deprecated-declarations  -Wno-designated-init
+-Wno-deprecated-openmp
 -Wdisabled-optimization
 -Wno-discarded-array-qualifiers  -Wno-discarded-qualifiers
 -Wno-div-by-zero  -Wdouble-promotion
@@ -10998,6 +10999,11 @@ variables (@pxref{Variable Attributes}), and types (@pxref{Type
 Attributes}) marked as deprecated by using the @code{deprecated}
 attribute.
 
+@opindex Wno-deprecated-openmp
+@opindex Wdeprecated-openmp
+@item -Wno-deprecated-openmp
+Do not warn about deprecated OpenMP code.
+
 @opindex Wno-overflow
 @opindex Woverflow
 @item -Wno-overflow
index 15ecc7dd5fa3dbb1e5e4d9e323a218ba7a42aa41..109dc587e7bc75ba880b8e815d1fbe1735364cb2 100644 (file)
@@ -175,7 +175,7 @@ cpp_define_builtins (cpp_reader *pfile)
     cpp_define (pfile, "_OPENACC=201711");
 
   if (flag_openmp)
-    cpp_define (pfile, "_OPENMP=201511");
+    cpp_define (pfile, "_OPENMP=202111");
 
   /* The defines below are necessary for the TARGET_* macros.
 
index a65f2d1cc34f181c510b19c6fe3617fbe946e445..d0a3b7aeedeaaadca48163af5993886e8f937a49 100644 (file)
@@ -149,9 +149,9 @@ by type.  Explanations are in the following sections.
 and warnings}.
 @gccoptlist{-Waliasing -Wall -Wampersand -Warray-bounds
 -Wc-binding-type -Wcharacter-truncation -Wconversion
--Wdo-subscript -Wfunction-elimination -Wimplicit-interface
--Wimplicit-procedure -Wintrinsic-shadow -Wuse-without-only
--Wintrinsics-std -Wline-truncation -Wno-align-commons
+-Wno-deprecated-openmp -Wdo-subscript -Wfunction-elimination
+-Wimplicit-interface -Wimplicit-procedure -Wintrinsic-shadow
+-Wuse-without-only -Wintrinsics-std -Wline-truncation -Wno-align-commons
 -Wno-overwrite-recursive -Wno-tabs -Wreal-q-constant -Wsurprising
 -Wunderflow -Wunused-parameter -Wrealloc-lhs -Wrealloc-lhs-all
 -Wfrontend-loop-interchange -Wtarget-lifetime -fmax-errors=@var{n}
@@ -1069,6 +1069,11 @@ the expression after conversion. Implied by @option{-Wall}.
 Warn about implicit conversions between different types and kinds. This
 option does @emph{not} imply @option{-Wconversion}.
 
+@opindex Wdeprecated-openmp
+@cindex warnings
+@item -Wdeprecated-openmp
+Warn for usage of deprecated OpenMP code.
+
 @opindex Wexternal-argument-mismatch
 @cindex warnings, argument mismatch
 @cindex argment mismatch, warnings
index 33710d0d920ce9270d97a28b71a01f61aa8de0c5..a60800a6eb5e673522538497fb6d918b22fdca70 100644 (file)
@@ -237,6 +237,10 @@ Wconversion-extra
 Fortran Var(warn_conversion_extra) Warning
 Warn about most implicit conversions.
 
+Wdeprecated-openmp
+Fortran Var(warn_deprecated_openmp) Warning Init(1)
+; Documented in C
+
 Wdo-subscript
 Fortran Var(warn_do_subscript) Warning LangEnabledBy(Fortran,Wextra)
 Warn about possibly incorrect subscripts in do loops.
index cdb0ba8195d8b4b748166d1c2cb269d7255ab132..8625e15ca8f1c7fe7bb0fca0558296fce70cbc82 100644 (file)
@@ -91,6 +91,9 @@ UrlSuffix(gcc/Warning-Options.html#index-Wconversion) LangUrlSuffix_Fortran(gfor
 Wconversion-extra
 LangUrlSuffix_Fortran(gfortran/Error-and-Warning-Options.html#index-Wconversion-extra)
 
+Wdeprecated-openmp
+UrlSuffix(gcc/Warning-Options.html#index-Wdeprecated-openmp) LangUrlSuffix_Fortran(gfortran/Error-and-Warning-Options.html#index-Wdeprecated-openmp)
+
 Wdo-subscript
 LangUrlSuffix_Fortran(gfortran/Error-and-Warning-Options.html#index-Wdo-subscript)
 
index abc27d59a0c5cfe0c9f49616e0a3abff02128724..a771f0dd2134e101bee3d3c1e215d9374b263f8c 100644 (file)
@@ -4019,7 +4019,12 @@ gfc_match_omp_clauses (gfc_omp_clauses **cp, const omp_mask mask,
              if (gfc_match ("primary )") == MATCH_YES)
                c->proc_bind = OMP_PROC_BIND_PRIMARY;
              else if (gfc_match ("master )") == MATCH_YES)
-               c->proc_bind = OMP_PROC_BIND_MASTER;
+               {
+                 gfc_warning (OPT_Wdeprecated_openmp, "%<master%> affinity "
+                   "policy at %C deprecated since OpenMP 5.1, use "
+                   "%<primary%>");
+                 c->proc_bind = OMP_PROC_BIND_MASTER;
+               }
              else if (gfc_match ("spread )") == MATCH_YES)
                c->proc_bind = OMP_PROC_BIND_SPREAD;
              else if (gfc_match ("close )") == MATCH_YES)
@@ -7425,12 +7430,16 @@ gfc_match_omp_parallel_masked_taskloop_simd (void)
 match
 gfc_match_omp_parallel_master (void)
 {
+  gfc_warning (OPT_Wdeprecated_openmp, "%<master%> construct at %C deprecated"
+    " since OpenMP 5.1, use %<masked%>");
   return match_omp (EXEC_OMP_PARALLEL_MASTER, OMP_PARALLEL_CLAUSES);
 }
 
 match
 gfc_match_omp_parallel_master_taskloop (void)
 {
+  gfc_warning (OPT_Wdeprecated_openmp, "%<master%> construct at %C deprecated"
+    " since OpenMP 5.1, use %<masked%>");
   return match_omp (EXEC_OMP_PARALLEL_MASTER_TASKLOOP,
                    (OMP_PARALLEL_CLAUSES | OMP_TASKLOOP_CLAUSES)
                    & ~(omp_mask (OMP_CLAUSE_IN_REDUCTION)));
@@ -7439,6 +7448,8 @@ gfc_match_omp_parallel_master_taskloop (void)
 match
 gfc_match_omp_parallel_master_taskloop_simd (void)
 {
+  gfc_warning (OPT_Wdeprecated_openmp, "%<master%> construct at %C deprecated"
+    " since OpenMP 5.1, use %<masked%>");
   return match_omp (EXEC_OMP_PARALLEL_MASTER_TASKLOOP_SIMD,
                    (OMP_PARALLEL_CLAUSES | OMP_TASKLOOP_CLAUSES
                     | OMP_SIMD_CLAUSES)
@@ -8022,6 +8033,8 @@ gfc_match_omp_masked_taskloop_simd (void)
 match
 gfc_match_omp_master (void)
 {
+  gfc_warning (OPT_Wdeprecated_openmp, "%<master%> construct at %C deprecated"
+    " since OpenMP 5.1, use %<masked%>");
   if (gfc_match_omp_eos () != MATCH_YES)
     {
       gfc_error ("Unexpected junk after $OMP MASTER statement at %C");
@@ -8035,12 +8048,16 @@ gfc_match_omp_master (void)
 match
 gfc_match_omp_master_taskloop (void)
 {
+  gfc_warning (OPT_Wdeprecated_openmp, "%<master%> construct at %C deprecated"
+    " since OpenMP 5.1, use %<masked%>");
   return match_omp (EXEC_OMP_MASTER_TASKLOOP, OMP_TASKLOOP_CLAUSES);
 }
 
 match
 gfc_match_omp_master_taskloop_simd (void)
 {
+  gfc_warning (OPT_Wdeprecated_openmp, "%<master%> construct at %C deprecated"
+    " since OpenMP 5.1, use %<masked%>");
   return match_omp (EXEC_OMP_MASTER_TASKLOOP_SIMD,
                    OMP_TASKLOOP_CLAUSES | OMP_SIMD_CLAUSES);
 }
@@ -9991,6 +10008,9 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses,
                  {
                    /* For TARGET, non-C_PTR are deprecated and handled as
                       has_device_addr.  */
+                   gfc_warning (OPT_Wdeprecated_openmp, "Non-C_PTR type "
+                     "argument at %L is deprecated, use HAS_DEVICE_ADDR",
+                     &n->where);
                    gfc_omp_namelist *n2 = n;
                    n = n->next;
                    if (last)
@@ -10017,6 +10037,9 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses,
                if (n->sym->ts.type != BT_DERIVED
                    || !n->sym->ts.u.derived->ts.is_iso_c)
                  {
+                   gfc_warning (OPT_Wdeprecated_openmp, "Non-C_PTR type "
+                     "argument at %L is deprecated, use USE_DEVICE_ADDR",
+                     &n->where);
                    n = n->next;
                    if (last)
                      last->next = n;
index ef283d4e7ce6a9551a2bd2fd39bbe0ae12ba1e46..1a184ff8608584ddf9e382bb159cdb5e549facae 100644 (file)
@@ -6,6 +6,6 @@
 # error _OPENMP not defined
 #endif
 
-#if _OPENMP != 201511
+#if _OPENMP != 202111
 # error _OPENMP defined to wrong value
 #endif
index 4420d670bde321cbc4203beda6f0d667770b8632..fe5e949455a3c2ee9b4644f130ddc5629ea00afc 100644 (file)
@@ -1,5 +1,5 @@
 /* PR c/70436 */
-/* { dg-additional-options "-Wparentheses" } */
+/* { dg-additional-options "-Wparentheses -Wno-deprecated-openmp" } */
 
 int a, b, c;
 void bar (void);
index 1688d1062d4da6e956d836c5672324cb9f354f96..a23141d503e81538266ac5d0e00e6db5ffc34a45 100644 (file)
@@ -1,5 +1,5 @@
 /* PR c/70436 */
-/* { dg-additional-options "-Wparentheses -fno-openmp" } */
+/* { dg-additional-options "-Wparentheses -fno-openmp -Wno-deprecated-openmp" } */
 
 int a, b, c;
 void bar (void);
index 1a476543048996726b0253c3b63945d3b86f7788..43cb0099b12a413ce0c5fcd8af5b19dfe1905375 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-additional-options "-Wno-volatile" { target c++ } } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 int arr[64], arr2[64];
 struct S { int a[4]; } k;
 short arr4[4];
index 49dc60fb6f52573997d8a48721a1e79d8c240d2b..cad79812032d0ea7675946a12667baf4c7d177af 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 typedef enum omp_allocator_handle_t
 #if __cplusplus >= 201103L
 : __UINTPTR_TYPE__
@@ -24,7 +25,7 @@ void test0 ()
   #ifndef __cplusplus
     _Static_assert (_Alignof(A1) == _Alignof(B1), "wrong alignment");
   #elif __cplusplus >= 201103L
-     static_assert (alignof(A1) == alignof(B1), "wrong alignment"); 
+     static_assert (alignof(A1) == alignof(B1), "wrong alignment");
   #endif
 }
 
index 5d68cd3ed6d23f6ca4a5649607f9090c97ac887c..16c9e77ed6af1884dfce485720bdb3d9c9dc255b 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fopenmp" } */
+/* { dg-options "-fopenmp -Wno-deprecated-openmp" } */
 
 void
 f1 (void)
index 6fc53e83f0101c04cbd77c334d50075bf3a71557..dce553bc588b9967ca70638b19d58df29011bf3b 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void f0 (void);
 
 void
index 71ca41c5804c4e64a601ca0f4efad1ac0430a436..7f50e58bb4777752ec9fbf2aa7c59fd4a9a6d503 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-additional-options "-std=c99" { target c } } */
-
+// { dg-additional-options "-Wno-deprecated-openmp -Wunknown-pragmas" }
 typedef enum omp_allocator_handle_t
 #if __cplusplus >= 201103L
 : __UINTPTR_TYPE__
@@ -362,7 +362,7 @@ bar (int d, int m, int i1, int i2, int i3, int p, int *idp, int hda, int s,
   for (int i = 0; i < 64; i++)
     ll++;
   #pragma omp taskgroup task_reduction (+:r2) allocate (r2)
-  #pragma omp mastked taskloop \
+  #pragma omp masked taskloop \
     private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \
     reduction(default, +:r) in_reduction(+:r2) filter (d)
   for (int i = 0; i < 64; i++)
index 3502647ffb408d0833cb55a9cce30e4b19b3d41a..3727ff4486410a4052734e01c1f0a4f905df75cc 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-additional-options "-std=c99" { target c } } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 typedef enum omp_allocator_handle_t
 #if __cplusplus >= 201103L
 : __UINTPTR_TYPE__
@@ -30,7 +30,7 @@ omp_lock_hint_nonspeculative = omp_sync_hint_nonspeculative,
 omp_sync_hint_speculative = 0x8,
 omp_lock_hint_speculative = omp_sync_hint_speculative
 } omp_sync_hint_t;
-  
+
 typedef struct __attribute__((__aligned__ (sizeof (void *)))) omp_depend_t {
   char __omp_depend_t__[2 * sizeof (void *)];
 } omp_depend_t;
index f130a4130b6b0de96564561e84b2ee7af432fe5f..c6d2bea7c79a165dd44d4ada0dd11b215c8f2f5d 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 int foo (int, int, int *);
 int bar (int, int, int *);
 int foobar (int, int, int *);
@@ -43,7 +44,7 @@ corge (void)
   for (i = 0; i < 3; i++)
     waldo (7);
   #pragma omp parallel
-  #pragma omp master    
+  #pragma omp master
   waldo (8);
 }
 
index 83e1bb10058a2bbeb08e04c30b13ecbf6fd9c670..3bebb9acafd17b0e39b4d25bef47663af226a4ba 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void f0 (void);
 void f1 (void);
 #pragma omp declare variant    /* { dg-error "expected '\\(' before end of line" } */
index 6fa60215f4349438ef74aefaf31988b67a98e301..bfe51e123fbee8312d1813d2a774755ad2530e30 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-additional-options "-Wno-volatile" { target c++ } } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 int arr[64], arr2[64];
 struct S { int a[4]; } k;
 short arr4[4];
index d4ef49690e8404b333f606640c703495ccec188a..5756893071fd5f7e294b4bbfa3e40b431c292535 100644 (file)
@@ -1,4 +1,5 @@
-void
+// { dg-additional-options "-Wno-deprecated-openmp" }
+  void
 foo (int *p)
 {
   int a = -1, b = -1, c = -1, d = -1, e = -1, f = -1, g = -1, h = -1;
index 3454fa802e33e8ae780d1d9ffd109c0b0aef4d2e..0c4c3122844b9da7458a5fdcde5973f737b4822a 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void foo (void);
 int v;
 #ifdef __cplusplus
index ce9b6c95b1dad8bc8ca449bdd53bed6b8df0af2b..be52c562ef4fe14027a268b8c99f4d615cc75b94 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #ifdef __cplusplus
 extern "C" {
 #endif
index 186b8cce64f06e3e5ef6d1f5803a002615997b7a..5cfe10a82ab03afb0e1b5fe1c11a8f16990a5468 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #ifdef __cplusplus
 extern "C" {
 #endif
index b77f8c981427ce464709f3a92dc68a2fe657a20e..d09f64e29786f232006b8ed461cb8944d1521071 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 int r, l;
 
 void
index b11f5db10de23de32abd9762e6ea37a3bcd884bb..d66e88e1be6b0aa0e5af085572cadd95939a028b 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void bar (int *);
 
 void
index 4f7b57409aaf1c5ae06c21094ca05d6486469024..454825c0b95c3bd9a941071b9390dc87cf08def4 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void
 foo (int *a)
 {
diff --git a/gcc/testsuite/c-c++-common/gomp/master-construct-dep.c b/gcc/testsuite/c-c++-common/gomp/master-construct-dep.c
new file mode 100644 (file)
index 0000000..12040e5
--- /dev/null
@@ -0,0 +1,22 @@
+// { dg-additional-options "-Wopenmp" }
+int
+main()
+{
+  int x = 0;
+  #pragma omp parallel
+  for (int i = 0; i < 8; ++i)
+  {
+    #pragma omp master // { dg-warning "'master' construct deprecated since OpenMP 5.1, use 'masked' \\\[-Wdeprecated-openmp\\\]" }
+    {
+      ++x;
+    }
+  }
+  for (int i = 0; i < 8; ++i)
+  {
+    #pragma omp parallel master // { dg-warning "'master' construct deprecated since OpenMP 5.1, use 'masked' \\\[-Wdeprecated-openmp\\\]" }
+    {
+      ++x;
+    }
+  }
+  return 0;
+}
index 6ce560de7f5e07c81390e34ca68be7f916c2d497..377226de7a82ff3d63c34cc1130fcd7078a0dfc3 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void
 foo (void)
 {
index e84aeb6240d44cc868c5a0bf034d8fe9bfd14fbb..63b780ecbeb1cf3c01557e21ba0312b997808169 100644 (file)
@@ -1,5 +1,5 @@
 /* PR c/100902 */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void
 foo (int *ptr)
 {
index 5e9fa474a7218c837c2fc655b6603bc1fd9d8a1d..bc199587918c8216cde7bb46cbc08a834f80bfcd 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/61486 */
 /* { dg-do compile } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #pragma omp declare target
 void dosomething (int *a, int n, int m);
 #pragma omp end declare target
index 798718b563d46e35ba8835ae8efa976be6aceb82..edae22d39a7cffb16e43958e89937ecdfb2cb549 100644 (file)
@@ -1,5 +1,5 @@
 /* PR c/85696 */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #ifndef __cplusplus
 void
 foo (int n, int a[][n])
index bfbf1e302cffe5c4ef119320196cc8a2c7e9561a..8f96e2d8ff7ac833bbb88e0950a7fc26cf0362f9 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/85956 */
 /* { dg-do compile } */
-/* { dg-additional-options "-O2 -Wall" } */
+/* { dg-additional-options "-O2 -Wall -Wno-deprecated-openmp" } */
 
 void
 foo (int n, void *p)
index fc252fd7e91ee0a0f12ac85554584a9fa4855535..a4f865dec69bc520a67a71ee381f701588b326b0 100644 (file)
@@ -1,6 +1,6 @@
 /* PR c++/98187 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp-simd -O2 -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp-simd -O2 -fdump-tree-gimple -Wno-deprecated-openmp" } */
 /* { dg-final { scan-tree-dump-times "#pragma omp simd" 17 "gimple" } } */
 
 void
index b4aa8dd61ecd07ec93410d30f697e85d172bdc30..11be0b5653bc2175c0c278444072796c78431b9b 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 int f00, f01, f02, f03, f04, f05, f06, f07, f08, f09;
 int f12, f13, f14, f15, f16, f17, f18, f19;
index 4366863c5793b1dbcefbca8f4f9bff3ddf206e88..e763896d4196abfbf3ae41262c14c05668ded343 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 int *r00, *r01, *r02, *r03, *r04, *r05;
 int *r13, *r14, *r15, *r16, *r17, *r18, *r19;
index 66c2feb36d3e43bd7b09a993ca67a8ebb40de4ad..0bead490daf6a0ef01212bacd410199134426aa0 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 int r00, r01, r02;
 
index be0c5c0315df680380fedce7bdcb1199e8ea3281..ec758a42ef31f358a9dd4141e79828ee6afac0cd 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 int
 foo (void)
 {
index d45417fec8aaa5ea1f50571c6173e00504d8d94a..a3f8c41da357706df4dcacea44968b4709155b7c 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 int j00a, j00b, j01a, j01b, j02a, j02b, j03a, j03b;
 int j06a, j06b, j07a, j07b, j08a, j08b, j09a, j09b, j10a, j10b;
index 2df78919de94938ec6d8f6f32a19814ceb115ab3..9d2c43178b86e10a1fd26f7492df1f168dedd6ae 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 int j00a, j00b, j01a, j01b, j02a, j02b, j03a, j03b, j04a, j04b;
 int j06a, j06b, j07a, j07b, j08a, j08b, j09a, j09b, j10a, j10b;
index 1af9bd2c4be245636de1dbdf199a8c8a627607f0..0eb766bff5e460de67256cc53667b48a94576568 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 int l00, l01, l02, l03, l04, l05, l06, l07;
 int l10, l11, l12, l13, l14, l15, l16, l17, l18;
index 8e8cf938ef6c5bd805a922fb5f45601c521ed18f..6e41862068874a5a4447f890bc0972638dfc8954 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 int l00, l01, l02, l03, l04, l07, l08, l09;
 int l10, l11;
index 915a8657b91f5e2e659b263b5984469b57100b40..3bc2f604ec8a58b17fb913f9ed7f830c3bd93f98 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 int l00, l01, l05, l06, l07, l08;
 
index 26da0ac433a1c6a7f1bc3109af41e448635ff809..88ee84d88078aeea531d391f52161ac71a035bb5 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 int j00, j01, j02, j03, j04, j06, j07, j08, j09;
 int j10;
index d37587c13133167b450915a64356efd38b2f7038..f0556793b287aceb3d31852d571bf16da1f538a1 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 int j00, j01, j02, j03, j04, j06, j07, j08, j09;
 int j10;
index e6e0e929dd23c0f518b0228f440a9b4cf9080bdd..20b178f243d4423a6ebbaec98e838df081f4c740 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 void
 foo (void)
index ad36f3ede542a3ed82e063b0e124abb04dc61851..b4762c55a96245bf02aa99153807c5a654e038ec 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 int r00, r01, r02, r03, r04, r05;
 int r13, r14, r15, r16, r17, r18, r19;
index a7d970ac157dff73cb7f268360a53197841ec4aa..75ce826c4511d592194664976c4af3aafcadd275 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/99928 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-gimple" } */
+/* { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" } */
 
 int r00[4], r01[4], r02[4], r03[4], r04[4], r05[4];
 int r13[4], r14[4], r15[4], r16[4], r17[4], r18[4], r19[4];
index 4558bc1f89cbb34c8c3fd8e18dcfcd2952862a3d..0c7bcd13b4f903a86480ec3a0a2e7de417634e20 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fopenmp" } */
+/* { dg-options "-fopenmp -Wno-deprecated-openmp" } */
 
 typedef enum omp_event_handle_t
 {
index 85a5be7ca53a23652007a6ddd27991072327f771..12fb79285689fd59435dad39793b2959ad0c56b5 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void
 foo (void)
 {
index dd33b07361483e8f0bd702df125c61e3a3d1c1d1..618fd14069aebe7e5c4ed5cff100c7902e59a1c2 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile { target c++11 } }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 typedef enum omp_allocator_handle_t
 : __UINTPTR_TYPE__
 {
index 541afeb7ff4bb343e80ee338f1fa30b8b6a4c906..4f31bc89f10b803bdd1323031a47f6e59e4326c9 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile { target c++11 } }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 typedef enum omp_allocator_handle_t
 : __UINTPTR_TYPE__
 {
index a730ad7db5036be2cbde409d9df1893d29a3ec4c..05eae2dff49abe3b804807a02a4229866f2ee468 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile { target c++11 } }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void
 foo (int x)
 {
index 7a9d2bfb94ef4413b3b85a752a5baa0e138a9e5f..0e1994574d0c2698fe1a55510c44098d36516442 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile }
-// { dg-options "-fopenmp -fdump-tree-omplower" }
+// { dg-options "-fopenmp -fdump-tree-omplower -Wno-deprecated-openmp" }
 
 void bar();
 void foo()
index 4aa41cdf2e29a5007852c9ef261c618f861c31f6..748b4899ab3ddaa14955d34fec3a1c05e12ea231 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void foo(int i)
 {
   int j;
index 985e761d3855ebab7e6d1f1378b4a8fdfd30b108..c26f88c92735f9a571a4aefc0023b4152e867657 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void foo()
 {
   #pragma omp master
index 1de40a983f953f45c1f30b4448ed257d2c24650b..4bd07371109202f564157ba8b3b23c084da1fd94 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void foo(int i)
 {
   int j;
index d12670c5159498f10320db443d30043390f18777..f9d6a1aae96b2896c16c80b3151c6c77262bbb5b 100644 (file)
@@ -1,4 +1,4 @@
-// { dg-additional-options "-Wno-volatile" }
+// { dg-additional-options "-Wno-volatile -Wno-deprecated-openmp" }
 
 int arr[64], arr2[64];
 struct S { int a[4]; } k;
index 2681c216a3ff79dd086b715798af4e3619480e75..00adb6904ccdacb4c4b6a36ebe16ae438aae7607 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 extern void bar(int);
 
 void foo (void)
@@ -14,7 +14,7 @@ void foo (void)
   }
 
   /* Yes, this is legal -- structured-block contains statement contains
-     openmp-construct contains master-construct.  */
+     openmp-construct contains masked-construct.  */
   #pragma omp master
   #pragma omp master
   #pragma omp master
index 05320662724999085694e54c0c739c3a539387a7..8a9cbd2b5681ce838b875fd105baf279f1012622 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void f1(void)
 {
   #pragma omp master asdf      /* { dg-error "expected" } */
index fe79a339040093991dd74480fe32f7357e1b720b..c396128afdb0ac32bef589425d922ec4e7cc3610 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-omplower" } */
+/* { dg-options "-fopenmp -fdump-tree-omplower -Wno-deprecated-openmp" } */
 
 extern void bar(int);
 
index 3d8235656b171dbc10180d3b1a9944bf93c8d729..696fd8fddfd3f6a47d9dfecf0f2462ca8c34ffb9 100644 (file)
@@ -1,6 +1,6 @@
 /* PR c++/24513 */
 /* { dg-do compile } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 struct S
 {
   void foo (int *p)
index b98c24e5505cfa011cd7d73cd4836de9ad8c1b9f..fd340cb87dc5385b1b4d7d6975bff4a7da8c7cf2 100644 (file)
@@ -1,7 +1,7 @@
 // PR middle-end/29965
 // Test that OpenMP construct bodies which never return don't cause ICEs.
 // { dg-do compile }
-// { dg-options "-O2 -fopenmp" }
+// { dg-options "-O2 -fopenmp -Wno-deprecated-openmp" }
 
 extern void baz () __attribute__ ((noreturn));
 
index b66a2472928013d15ed5060910baec86ad2599cd..828eeef785db44e3f587d7e21ae3d247f48a4bbc 100644 (file)
@@ -3,7 +3,7 @@
 // This is invalid code, but we don't emit diagnostics for it, nevertheless
 // we test that we don't ICE on it.
 // { dg-do compile }
-// { dg-options "-O2 -fopenmp" }
+// { dg-options "-O2 -fopenmp -Wno-deprecated-openmp" }
 
 void
 foo1 ()
index 54d00788ff700e5dca895fe4b2398fc1cb90cf1c..daf3889f5ea3877640c303468dca9b8ee17c795d 100644 (file)
@@ -1,6 +1,6 @@
 // { dg-do compile }
 // { dg-require-effective-target c++11 }
-// { dg-additional-options "-g" }
+// { dg-additional-options "-g -Wno-deprecated-openmp" }
 
 int main()
 {
index e49ef0628d04ef8630729122b0ae9e4740d6eebe..3348a878643731a831099eb619b1b4ab298143a8 100644 (file)
@@ -1,6 +1,6 @@
 // { dg-do compile }
 // { dg-require-effective-target c++11 }
-// { dg-additional-options "-g" }
+// { dg-additional-options "-g -Wno-deprecated-openmp" }
 
 int main()
 {
index fb0469407643be82b0d0c6f43f3343131f69f626..974d4a57a9a98d9811d8c00da9b09e10cdf2a8a2 100644 (file)
@@ -1,7 +1,7 @@
 // PR c++/79664
 // { dg-do compile }
 // { dg-options "-std=c++14 -fopenmp -Winvalid-constexpr -pedantic-errors" }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 constexpr int
 f1 ()
 {
index e7fdc23d6d38ea7bbcfba17936556742265de6ea..3b0116a4120e68eeaeb4fffe881e9c0e0b62995d 100644 (file)
@@ -1,6 +1,6 @@
 // PR c++/94477
 // { dg-do compile }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void foo ();
 
 template <int>
index 1d5cf15098755a6835cd9e8c76f98668efb3c2e3..2d7c5f84c56d370d1bcd608830b967819f062464 100644 (file)
@@ -1,5 +1,5 @@
 // PR c++/94512
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void
 foo ();
 
index 756cdbcbcb969714ca9a14315243616db41868c6..1d58ca097341d9481a65e71c743d8226ab76ef9b 100644 (file)
@@ -1,6 +1,6 @@
 // PR c++/24734
 // { dg-do compile }
-// { dg-options "-fopenmp -fdump-tree-gimple" }
+// { dg-options "-fopenmp -fdump-tree-gimple -Wno-deprecated-openmp" }
 
 int i;
 
index fab948dd73686dfa4b37439c56c3195e85f98270..b4361d72a2b200b5e36f54e4298a4783f212d39e 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <stdio.h>
 extern float average (float, float, float);
 void
index a0da739dd84f32d70f32ec3a2cb66886252c088c..1edd971aaa03b83dbcf1c594d7493fab6fa16743 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <stdio.h>
 #include <stdlib.h>
 float
index 329b41a678d79f897eee2d03e1faf3991f9cc076..a29facc0972e6915190dbca5e22efca066338bcc 100644 (file)
@@ -1,4 +1,4 @@
 /* { dg-do compile } */
 /* { dg-options "-fopenmp -std=c23" } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include "../../g++.dg/gomp/attrs-1.C"
index 56eb70a3dc122a40adba14ac57cb78fabab79e5a..cf89fd5a18d80d02da125bab9a0a6969e2092b30 100644 (file)
@@ -1,4 +1,4 @@
 /* { dg-do compile } */
 /* { dg-options "-fopenmp -std=c23" } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include "../../g++.dg/gomp/attrs-2.C"
index 5d422b3ba72a47f1f44dba52e9291ea1733e1e52..d5cdd68fef519489fa6af599958b56e45ead9864 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-fopenmp -std=c23" } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void
 foo (int x)
 {
index 29c2d91431f7e2e823b224853bd666211ae836aa..c590f262588adb1b4e1442f05a9457573a98652d 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void foo(int i)
 {
   int j;
index 7f3b37c8d22c72815bd5bc0ad6118243a081fb2d..d16ae4f5839f9425bbec4ba89f942124d7d2af66 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void foo()
 {
   #pragma omp master
index 202599f2ae2e030077c8c89b8ea87147b3022e2b..d97af5dbf846bc0c3f9c052833cdd850af63af23 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void foo(int i)
 {
   int j;
index 2681c216a3ff79dd086b715798af4e3619480e75..2f5a4ae86437bc5f01eb782b5840a59705525658 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 extern void bar(int);
 
 void foo (void)
index 3b0bdfc90a465a4896ace6b64894680a519c383e..410dc902635f977fbdcb4a021b98e1c8312f06c3 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void f1(void)
 {
   #pragma omp master asdf      /* { dg-error "expected" } */
index 3cdadc83aa4030c237f46a33d9f78d1c89815ace..5c0544dfa3cdaacb8950b310f6b77c61b7fe18dc 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fopenmp -fdump-tree-ompexp" } */
+/* { dg-options "-fopenmp -fdump-tree-ompexp -Wno-deprecated-openmp" } */
 
 extern void bar(int);
 
index ed457ced44cef400f3d04a979d88d9e3403efd9b..931c0d49892f8452b4fc1ad2ef0bb7829ca69874 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fopenmp" } */
+/* { dg-options "-fopenmp -Wno-deprecated-openmp" } */
 
 void
 f1 (void)
index 7e3bd1a1d1e141b7d7d037421e6a2acb02d76f4b..e62dfafb24714af47bd8723f89dc28401f6a3ff1 100644 (file)
@@ -1,6 +1,6 @@
 /* PR debug/104517 */
 /* { dg-do compile } */
-/* { dg-options "-O1 -fcompare-debug -fopenmp -fno-tree-ter -save-temps" } */
+/* { dg-options "-O1 -fcompare-debug -fopenmp -fno-tree-ter -save-temps -Wno-deprecated-openmp" } */
 
 typedef enum omp_allocator_handle_t
 {
index 5901f5f42c21aa2640d6e038c306ef3e6c181cbf..68a08c0c2452b6f06d972f16fa6e9090a1a67cbf 100644 (file)
@@ -1,7 +1,7 @@
 /* PR middle-end/29965 */
 /* Test that OpenMP construct bodies which never return don't cause ICEs.  */
 /* { dg-do compile } */
-/* { dg-options "-O2 -fopenmp" } */
+/* { dg-options "-O2 -fopenmp -Wno-deprecated-openmp" } */
 
 extern void baz (void) __attribute__ ((noreturn));
 
index b2165eb3973d0e31134b4814d2a029aca7852791..ea6a223e442c8728fe5898230db5248c21dc4af9 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/35818 */
 /* { dg-do compile } */
-/* { dg-options "-fopenmp" } */
+/* { dg-options "-fopenmp -Wno-deprecated-openmp" } */
 
 extern int a[];
 
index 3fcc1355568ebf1b3f7756cd658190424374244a..965a93a20548299698fee3c640658dcabab45c17 100644 (file)
@@ -1,5 +1,5 @@
 /* PR middle-end/91216 */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 int r;
 
 void
index 33bbb3bade894c2c05bbbc2f3d8448e9955cc460..f74813197150ffab9481de5b3d6f61a1145b9c5e 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 void
 foo (void)
 {
index 3b649b5d7d0eacbd65258ea177418ed3d78b6ac1..3c9ce183ff00db6922335e250afd3c5cea8b1702 100644 (file)
@@ -85,7 +85,7 @@ program main
 
   ! Note: We don't add  'use_device_addr(B)' here;
   ! if we do, it will fail with an illegal memory access (why?).
-  !$omp target data use_device_ptr(p)
+  !$omp target data use_device_ptr(p) ! { dg-warning "Non-C_PTR type argument at \\(1\\) is deprecated, use USE_DEVICE_ADDR \\\[-Wdeprecated-openmp\\\]" }
     call sub(p, B)
     call sub(C, B)  ! C is not mapped -> 'from' ptr == NULL
   !$omp end target data
index cb1543b6b189e8d5252007630dc362791bed1ce5..bf8c4d40593e5ced39d8c7b245267c7ded29f43a 100644 (file)
@@ -1,5 +1,7 @@
-  integer :: i, j
-  integer, dimension (10, 10) :: a
+! { dg-additional-options "-Wno-deprecated-openmp" }
+
+integer :: i, j
+integer, dimension (10, 10) :: a
 !$omp parallel do default(none)proc_bind(master)shared(a)
   do i = 1, 10
     j = 4
index b60bca0a126473f8ee91c68e31a41d478b8d7948..2394691c74cf86e1b26698a9a04867fd20495987 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module omp_lib_kinds
   use iso_c_binding, only: c_int, c_intptr_t
   implicit none
index 38389e4f4a6f6b08e9d48b1de94507e376941d14..353bc359526334378157e37cd839fe02963b477b 100644 (file)
@@ -1,4 +1,5 @@
 ! { dg-do compile }
+! { dg-additional-options "-Wno-deprecated-openmp" }
       SUBROUTINE A12( X, XOLD, N, TOL )
       REAL X(*), XOLD(*), TOL
       INTEGER N
index ced23c856b4d87142ffbaa3d1f7dda536a29f03b..f1dd58538a5819a7c9e8d790f357310964466919 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
       REAL FUNCTION READ_NEXT()
         REAL, POINTER :: TMP
 !$OMP SINGLE
index 777181cece0e5625a76907022b97bf8987b3cfd7..e5b7eaad70a0ebb0a02ad0f289bb67db45f89d38 100644 (file)
@@ -1,6 +1,6 @@
 ! { dg-do compile }
-!
-! This failed to compile the declare variant directive due to the C_PTR 
+! { dg-additional-options "-Wno-deprecated-openmp" }
+! This failed to compile the declare variant directive due to the C_PTR
 ! arguments to foo being recognised as INTEGER(8)
 
 program adjust_args
@@ -17,7 +17,7 @@ program adjust_args
       call foo(c_loc(cv), c_loc(av), N)
       !$omp end parallel
   !$omp end target data
-    
+
 contains
   subroutine foo_variant(c_d_bv, c_d_av, n)
     use iso_c_binding, only: c_ptr, c_f_pointer
@@ -26,7 +26,7 @@ contains
     real, pointer :: f_d_bv(:)
     real, pointer :: f_d_av(:)
     integer :: i
-  
+
     call c_f_pointer(c_d_bv, f_d_bv, [n])
     call c_f_pointer(c_d_av, f_d_av, [n])
     !$omp target teams loop is_device_ptr(f_d_bv, f_d_av)
@@ -34,8 +34,8 @@ contains
       f_d_bv(i) = f_d_av(i) * i
     end do
   end subroutine
-  
-  
+
+
   subroutine foo(c_bv, c_av, n)
     use iso_c_binding, only: c_ptr, c_f_pointer
     type(c_ptr), intent(in) :: c_bv, c_av
@@ -44,8 +44,8 @@ contains
     real, pointer :: f_av(:)
     integer :: i
     !$omp declare variant(foo_variant)          &
-    !$omp         match(construct={parallel})       
-  
+    !$omp         match(construct={parallel})
+
     call c_f_pointer(c_bv, f_bv, [n])
     call c_f_pointer(c_av, f_av, [n])
     !$omp parallel loop
index b41073616355fdc52287a8ab38f9f4289029cd2a..6f4a21567214958350dbb59d08575f06b03047bf 100644 (file)
@@ -1,6 +1,6 @@
 ! { dg-do compile }
-!
-! Ensure that C_PTR and C_FUNPTR are reported as incompatible types in variant 
+! { dg-additional-options "-Wno-deprecated-openmp" }
+! Ensure that C_PTR and C_FUNPTR are reported as incompatible types in variant
 ! argument lists
 
 program adjust_args
@@ -17,7 +17,7 @@ program adjust_args
       call foo(c_loc(cv), c_loc(av), N)
       !$omp end parallel
   !$omp end target data
-    
+
 contains
   subroutine foo_variant(c_d_bv, c_d_av, n)
     use iso_c_binding, only: c_funptr, c_f_pointer
@@ -26,7 +26,7 @@ contains
     real, pointer :: f_d_bv(:)
     real, pointer :: f_d_av(:)
     integer :: i
-  
+
 !     call c_f_pointer(c_d_bv, f_d_bv, [n])
 !     call c_f_pointer(c_d_av, f_d_av, [n])
     !$omp target teams loop is_device_ptr(f_d_bv, f_d_av)
@@ -34,8 +34,8 @@ contains
       f_d_bv(i) = f_d_av(i) * i
     end do
   end subroutine
-  
-  
+
+
   subroutine foo(c_bv, c_av, n)
     use iso_c_binding, only: c_ptr, c_f_pointer
     type(c_ptr), intent(in) :: c_bv, c_av
@@ -44,8 +44,8 @@ contains
     real, pointer :: f_av(:)
     integer :: i
     !$omp declare variant(foo_variant)          & ! { dg-error "variant 'foo_variant' and base 'foo' at .1. have incompatible types: Type mismatch in argument 'c_bv' .TYPE.c_ptr./TYPE.c_funptr.." }
-    !$omp         match(construct={parallel})       
-  
+    !$omp         match(construct={parallel})
+
     call c_f_pointer(c_bv, f_bv, [n])
     call c_f_pointer(c_av, f_av, [n])
     !$omp parallel loop
index 1bfddc7b9db0caadf5c3722e1c6478ff2a3be442..3a693d2cf8fad54cb9bf025f72f345bb4ce90291 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-additional-options "-cpp" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 subroutine f1
   !$omp cancel parallel                        ! { dg-error "orphaned" }
   !$omp cancel do                      ! { dg-error "orphaned" }
index 92801852984d8af6dee844f7a44582093a84972e..0c91ae5ff3ea2f638231a42800a18ee6eff65318 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module m
   use iso_c_binding, only: c_intptr_t
   implicit none (external, type)
index 9b68397d190ae89215067dec58e0a9c1564eb121..d28886cc132082bb0e3433a5a0546f92a8397515 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module main
   implicit none
 
index d852b95f1c23a64d8409440b6aa2cad357155551..961284b7b2d3f1739191f3582407c5690e3b9a2c 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module mymod
   implicit none (type, external)
   integer, target :: var(0:5) = [0,1,2,3,4,5]
index cadd9a06cfec21b44cbd5b66e89e3fd315aa4052..9922ae5f15168ddb8edc350f81fa1a16e72ac59d 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module mymod
   implicit none (type, external)
   integer, target :: var(0:5) = [0,1,2,3,4,5]
index 1d3a0d8cd33409c2f23a3ec044db3d14267b53e9..a1bde76a6d6b4134c8bf1d9feca44a7f52ccaeb0 100644 (file)
@@ -7,21 +7,22 @@ subroutine test(b,c,d)
 
   integer, target :: a(5)
 
-  !$omp target is_device_ptr(a) ! Valid since OpenMP 5.1
+  !$omp target is_device_ptr(a) ! { dg-warning "Non-C_PTR type argument at \\(1\\) is deprecated, use HAS_DEVICE_ADDR \\\[-Wdeprecated-openmp\\\]" }
+
   !$omp end target
 
-  !$omp target is_device_ptr(b) ! Valid since OpenMP 5.1
+  !$omp target is_device_ptr(b) ! { dg-warning "Non-C_PTR type argument at \\(1\\) is deprecated, use HAS_DEVICE_ADDR \\\[-Wdeprecated-openmp\\\]" }
   !$omp end target
 
-  !$omp target is_device_ptr(c) ! Valid since OpenMP 5.1
+  !$omp target is_device_ptr(c) ! { dg-warning "Non-C_PTR type argument at \\(1\\) is deprecated, use HAS_DEVICE_ADDR \\\[-Wdeprecated-openmp\\\]" }
   !$omp end target
 
-  !$omp target is_device_ptr(d) ! Valid since OpenMP 5.1
+  !$omp target is_device_ptr(d) ! { dg-warning "Non-C_PTR type argument at \\(1\\) is deprecated, use HAS_DEVICE_ADDR \\\[-Wdeprecated-openmp\\\]" }
   !$omp end target
 
   !$omp target data map(a) use_device_addr(a)  ! Should be okay
   !$omp end target data
 
-  !$omp target data map(c) use_device_ptr(c)  ! Should be okay
+  !$omp target data map(c) use_device_ptr(c)  ! { dg-warning "Non-C_PTR type argument at \\(1\\) is deprecated, use USE_DEVICE_ADDR \\\[-Wdeprecated-openmp\\\]" }
   !$omp end target data
 end subroutine test
index 0762e5755e1d2725c0fc9e50a42938a2bcb9c4eb..05778c242119e7d0103729fb2a53a4be7e9c3d45 100644 (file)
@@ -7,8 +7,8 @@ subroutine abc(cc)
 
     !$omp target enter data map(to: cc, dd)
 
-    !$omp target data use_device_addr(cc) use_device_ptr(dd)
-      !$omp target is_device_ptr(cc, dd)  ! Valid since OpenMP 5.1
+    !$omp target data use_device_addr(cc) use_device_ptr(dd) ! { dg-warning "Non-C_PTR type argument at \\(1\\) is deprecated, use USE_DEVICE_ADDR \\\[-Wdeprecated-openmp\\\]" }
+      !$omp target is_device_ptr(cc, dd) ! { dg-warning "Non-C_PTR type argument at \\(1\\) is deprecated, use HAS_DEVICE_ADDR \\\[-Wdeprecated-openmp\\\]" }
         if (cc /= 131 .or. dd /= 484) stop 1
         cc = 44
         dd = 45
index 7b5b27baa728a13fd4adccf4e054084bd2713b1d..a067a37ca881a64550ab07e4d8d4a9d21b7a6c37 100644 (file)
@@ -2,7 +2,6 @@
 
 ! { dg-do compile }
 ! { dg-additional-options "-fdump-tree-gimple" }
-
 program main
   use iso_c_binding
   implicit none
@@ -14,8 +13,8 @@ contains
   subroutine foo (a, b)
     integer, target :: a, b
 
-    !$omp target data map(a, b) use_device_ptr(a, b)
-      !$omp target is_device_ptr(a, b)
+    !$omp target data map(a, b) use_device_ptr(a, b) ! { dg-warning "Non-C_PTR type argument at \\(1\\) is deprecated, use USE_DEVICE_ADDR \\\[-Wdeprecated-openmp\\\]" }
+      !$omp target is_device_ptr(a, b) ! { dg-warning "Non-C_PTR type argument at \\(1\\) is deprecated, use HAS_DEVICE_ADDR \\\[-Wdeprecated-openmp\\\]" }
         a = 42
       !$omp end target
     !$omp end target data
index 7a024061ec64184a1e86792dbbcbfa683e109b9c..457afd0fe89482fa16050faf239cefb9e804c7f2 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 subroutine foo (p)
   implicit none
   logical :: p(:)
index 73745893c69828613180caaa501bceb07cfbae62..8438bb0ec99d83a8ff0f1c14e0b56f894ad43154 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module m
   use iso_c_binding, only: c_loc
   implicit none (type, external)
@@ -36,7 +37,7 @@ subroutine f2 (a)
       do j = 0, 63
         a(64 * i + j) = i + j
       end do
-    end do    
+    end do
 end
 
 subroutine f3 (a)
index 81eebcba66afa3c5791423e7cf1b4fc2d88500cb..bf0e154bc561a9b6f6d2ced612bc040bd8f0b6e1 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 subroutine sub1
 !$omp do
 outer: do i = 1, 5
index 2f0a79288197534985c9074ed0e21634927d2afe..53026de82ad48b3bb2cdb1e698013a4449de789b 100644 (file)
@@ -1,4 +1,4 @@
-! { dg-additional-options "-fdump-tree-original" }
+! { dg-additional-options "-fdump-tree-original -Wno-deprecated-openmp" }
 
 subroutine bar
 integer, target :: x, x2
@@ -25,9 +25,10 @@ call foo3(y)
 !$omp end target data
 
 !$omp target data map(z) use_device_ptr(z)
+
 call foo3(z)
 !$omp end target data
-end 
+end
 
 ! { dg-final { scan-tree-dump-times "#pragma omp target enter data map\\(to:x\\)" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp target data map\\(always,to:x\\)" 1 "original" } }
diff --git a/gcc/testsuite/gfortran.dg/gomp/master-construct-dep.f90 b/gcc/testsuite/gfortran.dg/gomp/master-construct-dep.f90
new file mode 100644 (file)
index 0000000..3f58801
--- /dev/null
@@ -0,0 +1,18 @@
+! { dg-additional-options "-Wno-openmp" }
+PROGRAM master_construct_dep
+  INTEGER X
+  INTEGER Y
+  X = 0
+  Y = 8
+!$OMP PARALLEL
+    DO WHILE( Y > 0 )
+!$OMP SINGLE
+      Y = Y - 1
+!$OMP END SINGLE
+!$OMP MASTER ! { dg-warning "'master' construct at \\(1\\) deprecated since OpenMP 5.1, use 'masked' \\\[-Wdeprecated-openmp\\\]" }
+      X = X + 1
+!$OMP END MASTER
+!$OMP BARRIER
+    ENDDO
+!$OMP END PARALLEL
+END PROGRAM
index d8014d6f151a85a9a9995cc4d5b5249c8e301516..cffe9373bbe4ceb8b518f6eaf5208d34ada1713c 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 subroutine foo
   integer :: i, j
   !$omp taskloop
index 5d0d20079a89b2e25dd14dd034bd611a249af78d..7ad73486f6dee21c4dad23cb1d29613ef0a4e9c4 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 subroutine f1
   integer i, j
   !$omp do
index c6881171e5d1dc0e1b7b40cdb18161e83dc8b84b..c3125af250ad9f17783556d129dd2eefc8060aea 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 ! Cross check that it is accepted without nowait
 subroutine bar()
 implicit none
index bebb9d7fb8f2081dbf53c4311935d11ee767b301..2629dc4725d0db52dd102b76a7da7ca321207eb4 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 ! invalid nowait
 
 subroutine foo
index c6881171e5d1dc0e1b7b40cdb18161e83dc8b84b..c3125af250ad9f17783556d129dd2eefc8060aea 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 ! Cross check that it is accepted without nowait
 subroutine bar()
 implicit none
index e218a3b4e3c48249ecdfa80830d75138598d6af7..8471325be8e9c360955bb89b22019209dc662be0 100644 (file)
@@ -1,5 +1,6 @@
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fopenmp-simd -fdump-tree-original -O2" }
+! { dg-additional-options "-Wno-deprecated-openmp" }
 
 include 'openmp-simd-1.f90'
 
index cbf757e20e5b9d9e400fc35f5b1286d6cbdae5c5..af2f7bd8a1e08ffddaaee363f4f9fc1684f629b3 100644 (file)
@@ -1,5 +1,6 @@
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fno-openmp-simd -fdump-tree-original -O2" }
+! { dg-additional-options "-Wno-deprecated-openmp" }
 
 include 'openmp-simd-1.f90'
 
index 2ccc18f0c736490e2dd7968a16ac1e4a68371ee0..327a662f0bf9321a1008ef25560ba02ba7f70343 100644 (file)
@@ -1,9 +1,9 @@
-! { dg-additional-options "-fdump-tree-original" }
+! { dg-additional-options "-fdump-tree-original -Wno-deprecated-openmp" }
   implicit none
   integer :: k, p, s, r, nth, t, f
   logical(kind=2) l2
   !$omp threadprivate (t)
-  
+
   external bar
   !$omp parallel master default(none) private (k)
     call bar (k)
index 2e12de63a102fabf388074997a61911534a6974e..350dfa93b6e527ffb14855ba2abba7b3b3e49685 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
   use iso_c_binding, only: c_intptr_t
   implicit none (external, type)
   integer, parameter :: omp_event_handle_kind = c_intptr_t
@@ -6,4 +7,4 @@
     !$omp task detach (x) ! { dg-error "'x' not specified in enclosing 'parallel'" }
     !$omp end task
   !$omp end parallel master
-end 
+end
index 192c97a33e5c1381fd83bcf82b7a7a434cbf9863..96a390e0a18d1e713e95a14edca4b71d91aa44af 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 integer, allocatable :: x
 integer, pointer :: y
 
@@ -13,6 +13,7 @@ integer, pointer :: y
 !$omp end target
 
 !$omp target firstprivate(y) is_device_ptr(y)  ! { dg-error "Symbol 'y' present on multiple clauses" }
+
 !$omp end target
 
 end
index bc8ad9bc35eb2b32402ae7fbc8d41063ed77b9bb..899549d2da4910a76fa5f15617405872c76f4287 100644 (file)
@@ -1,7 +1,7 @@
 ! PR fortran/48117
 ! { dg-do compile }
 ! { dg-options "-O2 -fopenmp" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 subroutine foo(x)
   character(len=*), optional :: x
   character(len=80) :: v
index d1b066ca1efdf1e524d9df274fbe0df3d1215f33..a94f24d301c4456c0c284a9e50eaedaceece6b1b 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 SUBROUTINE foo(n,array)
     IMPLICIT NONE
     INTEGER, INTENT (IN) :: n
index b61b2fc32b7f6c8a9b01daaf636e4ba81d0a6887..a58df2df0aa48f62e416c33c742fa02f68161283 100644 (file)
@@ -1,7 +1,7 @@
 ! PR middle-end/99928
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fdump-tree-gimple" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module m
   implicit none
   integer :: f00, f01, f02, f03, f04, f05, f06, f07, f08, f09
@@ -13,15 +13,15 @@ contains
 subroutine foo ()
   integer :: i
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*firstprivate\\(f00\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f00\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f00\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f00\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f00\\)" "gimple" } } ! FIXME.
   !$omp distribute parallel do firstprivate (f00) default(none)
   do i = 1, 64
     f00 = f00 + 1
   end do
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*firstprivate\\(f01\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f01\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f01\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f01\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f01\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump-not "omp simd\[^\n\r]*firstprivate\\(f01\\)" "gimple" } }
   !$omp distribute parallel do simd firstprivate (f01) default(none)
   do i = 1, 64
@@ -58,14 +58,14 @@ subroutine bar ()
   do i = 1, 64
     f05 = f05 + 1
   end do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f06\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f06\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f06\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f06\\)" "gimple" } } ! FIXME.
   !$omp parallel do firstprivate (f06) default(none)
   do i = 1, 64
     f06 = f06 + 1
   end do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f07\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f07\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f07\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f07\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump-not "omp simd\[^\n\r]*firstprivate\\(f07\\)" "gimple" } }
   !$omp parallel do simd firstprivate (f07) default(none)
   do i = 1, 64
@@ -112,15 +112,15 @@ subroutine bar ()
   f13 = f13 + 1
   !$omp end target parallel
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*firstprivate\\(f14\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f14\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f14\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f14\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f14\\)" "gimple" } } ! FIXME.
   !$omp target parallel do firstprivate (f14) default(none) defaultmap(none)
   do i = 1, 64
     f14 = f14 + 1
   end do
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*firstprivate\\(f15\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f15\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f15\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f15\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f15\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump-not "omp simd\[^\n\r]*firstprivate\\(f15\\)" "gimple" } }
   !$omp target parallel do simd firstprivate (f15) default(none) defaultmap(none)
   do i = 1, 64
@@ -140,34 +140,34 @@ subroutine bar ()
   f17 = f17 + 1
   !$omp end target teams
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*firstprivate\\(f18\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f18\\)" "gimple" } } ! FIXME: This should be on distribute instead. 
-  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f18\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f18\\)" "gimple" } } ! FIXME: This should be on distribute instead.
+  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f18\\)" "gimple" } } ! FIXME.
   !$omp target teams distribute firstprivate (f18) default(none) defaultmap(none)
   do i = 1, 64
     f18 = f18 + 1
   end do
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*firstprivate\\(f19\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f19\\)" "gimple" } } ! FIXME: This should be on distribute instead. 
-  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f19\\)" "gimple" } } ! FIXME. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f19\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f19\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f19\\)" "gimple" } } ! FIXME: This should be on distribute instead.
+  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f19\\)" "gimple" } } ! FIXME.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f19\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f19\\)" "gimple" } } ! FIXME.
   !$omp target teams distribute parallel do firstprivate (f19) default(none) defaultmap(none)
   do i = 1, 64
     f19 = f19 + 1
   end do
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*firstprivate\\(f20\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f20\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f20\\)" "gimple" } } ! FIXME. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f20\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f20\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f20\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f20\\)" "gimple" } } ! FIXME.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f20\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f20\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump-not "omp simd\[^\n\r]*firstprivate\\(f20\\)" "gimple" } }
   !$omp target teams distribute parallel do simd firstprivate (f20) default(none) defaultmap(none)
   do i = 1, 64
     f20 = f20 + 1
   end do
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*firstprivate\\(f21\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f21\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f21\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f21\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f21\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump-not "omp simd\[^\n\r]*firstprivate\\(f21\\)" "gimple" } }
   !$omp target teams distribute simd firstprivate (f21) default(none) defaultmap(none)
   do i = 1, 64
@@ -176,7 +176,7 @@ subroutine bar ()
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*firstprivate\\(f22\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f22\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f22\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(f22\\)" "gimple" } } ! NOTE: This is an implementation detail. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(f22\\)" "gimple" } } ! NOTE: This is an implementation detail.
   ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f22\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp simd\[^\n\r]*firstprivate\\(f22\\)" "gimple" } }
   !$omp target teams loop firstprivate (f22) default(none) defaultmap(none)
@@ -196,31 +196,31 @@ subroutine bar ()
   do i = 1, 64
     f24 = f24 + 1
   end do
-  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f25\\)" "gimple" } } ! FIXME: This should be on distribute instead. 
-  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f25\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f25\\)" "gimple" } } ! FIXME: This should be on distribute instead.
+  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f25\\)" "gimple" } } ! FIXME.
   !$omp teams distribute firstprivate (f25) default(none)
   do i = 1, 64
     f25 = f25 + 1
   end do
-  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f26\\)" "gimple" } } ! FIXME: This should be on distribute instead. 
-  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f26\\)" "gimple" } } ! FIXME. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f26\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f26\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f26\\)" "gimple" } } ! FIXME: This should be on distribute instead.
+  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f26\\)" "gimple" } } ! FIXME.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f26\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f26\\)" "gimple" } } ! FIXME.
   !$omp teams distribute parallel do firstprivate (f26) default(none)
   do i = 1, 64
     f26 = f26 + 1
   end do
-  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f27\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f27\\)" "gimple" } } ! FIXME. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f27\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f27\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f27\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f27\\)" "gimple" } } ! FIXME.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(f27\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f27\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump-not "omp simd\[^\n\r]*firstprivate\\(f27\\)" "gimple" } }
   !$omp teams distribute parallel do simd firstprivate (f27) default(none)
   do i = 1, 64
     f27 = f27 + 1
   end do
-  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f28\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f28\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f28\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f28\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump-not "omp simd\[^\n\r]*firstprivate\\(f28\\)" "gimple" } }
   !$omp teams distribute simd firstprivate (f28) default(none)
   do i = 1, 64
@@ -228,7 +228,7 @@ subroutine bar ()
   end do
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*firstprivate\\(f29\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*firstprivate\\(f29\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(f29\\)" "gimple" } } ! NOTE: This is an implementation detail. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(f29\\)" "gimple" } } ! NOTE: This is an implementation detail.
   ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(f29\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp simd\[^\n\r]*firstprivate\\(f29\\)" "gimple" } }
   !$omp teams loop firstprivate (f29) default(none)
index 22a40e2b49c19bbcd9f6b7b5ed7d74ad3b31b504..07447b6950877c175f185423e59f24241c4b4d6c 100644 (file)
@@ -1,7 +1,7 @@
 ! PR middle-end/99928
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fdump-tree-gimple" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module m
   implicit none
   integer :: r00, r01, r02
@@ -30,6 +30,6 @@ subroutine bar ()
     r02 = r02 + 1
   end do
   ! FIXME: We don't support in_reduction clause on target yet, once we do, should
-  ! add testcase coverage for all combined/composite constructs with target as leaf construct. 
+  ! add testcase coverage for all combined/composite constructs with target as leaf construct.
 end
 end module m
index 7a9824865c28644f87807daaec0177c6cbf32b78..71bd690776536483c36cab7d91ffd5dcd6e535c7 100644 (file)
@@ -1,7 +1,7 @@
 ! PR middle-end/99928
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fdump-tree-gimple" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module m
   implicit none
   integer :: l00, l01, l02, l03, l04, l05, l06, l07
@@ -12,15 +12,15 @@ contains
 subroutine foo ()
   integer :: i
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(l00\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l00\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l00\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l00\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l00\\)" "gimple" } } ! FIXME.
   !$omp distribute parallel do lastprivate (l00) default(none)
   do i = 1, 64
     l00 = i
   end do
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(l01\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l01\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l01\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l01\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l01\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(l01\\)" "gimple" } }
   !$omp distribute parallel do simd lastprivate (l01) default(none)
   do i = 1, 64
@@ -46,42 +46,42 @@ subroutine bar ()
     l03 = i
   end do
   ! { dg-final { scan-tree-dump-not "omp master\[^\n\r]*lastprivate\\(l04\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(l04\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(l04\\)" "gimple" } } ! NOTE: This is implementation detail.
   ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*lastprivate\\(l04\\)" "gimple" } }
   !$omp master taskloop lastprivate (l04) default(none)
   do i = 1, 64
     l04 = i
   end do
   ! { dg-final { scan-tree-dump-not "omp master\[^\n\r]*lastprivate\\(l05\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(l05\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(l05\\)" "gimple" } } ! NOTE: This is implementation detail.
   ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*lastprivate\\(l05\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(l05\\)" "gimple" } }
   !$omp master taskloop simd lastprivate (l05) default(none)
   do i = 1, 64
     l05 = i
   end do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l06\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l06\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l06\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l06\\)" "gimple" } } ! FIXME.
   !$omp parallel do lastprivate (l06) default(none)
   do i = 1, 64
     l06 = i
   end do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l07\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l07\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l07\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l07\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(l07\\)" "gimple" } }
   !$omp parallel do simd lastprivate (l07) default(none)
   do i = 1, 64
     l07 = i
   end do
   ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(j00\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*lastprivate\\(j00\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(j00\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*lastprivate\\(j00\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(j00\\)" "gimple" } } ! NOTE: This is implementation detail.
   !$omp parallel loop lastprivate (j00) default(none)
   do j00 = 1, 64
   end do
   ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(l08\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp master\[^\n\r]*lastprivate\\(l08\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(l08\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(l08\\)" "gimple" } } ! NOTE: This is implementation detail.
   ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*lastprivate\\(l08\\)" "gimple" } }
   !$omp parallel master taskloop lastprivate (l08) default(none)
   do i = 1, 64
@@ -89,15 +89,15 @@ subroutine bar ()
   end do
   ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(l09\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp master\[^\n\r]*lastprivate\\(l09\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(l09\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(l09\\)" "gimple" } } ! NOTE: This is implementation detail.
   ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*lastprivate\\(l09\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(l09\\)" "gimple" } }
   !$omp parallel master taskloop simd lastprivate (l09) default(none)
   do i = 1, 64
     l09 = i
   end do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l10\\)" "gimple" } } ! FIXME: This should be on sections instead. 
-  ! { dg-final { scan-tree-dump-not "omp sections\[^\n\r]*lastprivate\\(l10\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l10\\)" "gimple" } } ! FIXME: This should be on sections instead.
+  ! { dg-final { scan-tree-dump-not "omp sections\[^\n\r]*lastprivate\\(l10\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump-not "omp section \[^\n\r]*lastprivate\\(l10\\)" "gimple" } }
   !$omp parallel sections lastprivate (l10) default(none)
     l10 = 1
@@ -106,16 +106,16 @@ subroutine bar ()
   !$omp end parallel sections
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:l11" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(l11\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l11\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l11\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l11\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l11\\)" "gimple" } } ! FIXME.
   !$omp target parallel do lastprivate (l11) default(none) defaultmap(none)
   do i = 1, 64
     l11 = i
   end do
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:l12" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(l12\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l12\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l12\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l12\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l12\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(l12\\)" "gimple" } }
   !$omp target parallel do simd lastprivate (l12) default(none) defaultmap(none)
   do i = 1, 64
@@ -124,8 +124,8 @@ subroutine bar ()
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:j01" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(j01\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(j01\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*lastprivate\\(j01\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(j01\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*lastprivate\\(j01\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(j01\\)" "gimple" } } ! NOTE: This is implementation detail.
   !$omp target parallel loop lastprivate (j01) default(none) defaultmap(none)
   do j01 = 0, 64
   end do
@@ -141,8 +141,8 @@ subroutine bar ()
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(l14\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*shared\\(l14\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(l14\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l14\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l14\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l14\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l14\\)" "gimple" } } ! FIXME.
   !$omp target teams distribute parallel do lastprivate (l14) default(none) defaultmap(none)
   do i = 1, 64
     l14 = i
@@ -151,8 +151,8 @@ subroutine bar ()
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(l15\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*shared\\(l15\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(l15\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l15\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l15\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l15\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l15\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(l15\\)" "gimple" } }
   !$omp target teams distribute parallel do simd lastprivate (l15) default(none) defaultmap(none)
   do i = 1, 64
@@ -170,10 +170,10 @@ subroutine bar ()
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:j02" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(j02\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*shared\\(j02\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(j02\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(j02\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*lastprivate\\(j02\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(j02\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(j02\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(j02\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*lastprivate\\(j02\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(j02\\)" "gimple" } } ! NOTE: This is implementation detail.
   !$omp target teams loop lastprivate (j02) default(none) defaultmap(none)
   do j02 = 0, 64
   end do
@@ -184,7 +184,7 @@ subroutine bar ()
   do i = 1, 64
     l17 = i
   end do
-  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(l18\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(l18\\)" "gimple" } } ! NOTE: This is implementation detail.
   ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*lastprivate\\(l18\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(l18\\)" "gimple" } }
   !$omp taskloop simd lastprivate (l18) default(none)
@@ -199,16 +199,16 @@ subroutine bar ()
   end do
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*shared\\(l20\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(l20\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l20\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l20\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l20\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l20\\)" "gimple" } } ! FIXME.
  !$omp teams distribute parallel do lastprivate (l20) default(none)
   do i = 1, 64
     l20 = i
   end do
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*shared\\(l21\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(l21\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l21\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l21\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l21\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l21\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(l21\\)" "gimple" } }
  !$omp teams distribute parallel do simd lastprivate (l21) default(none)
   do i = 1, 64
@@ -222,10 +222,10 @@ subroutine bar ()
     l22 = i
   end do
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*shared\\(j03\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(j03\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(j03\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*lastprivate\\(j03\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(j03\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(j03\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(j03\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*lastprivate\\(j03\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(j03\\)" "gimple" } } ! NOTE: This is implementation detail.
   !$omp teams loop lastprivate (j03) default(none)
   do j03 = 1, 64
   end do
index 3c02c88c483bf1498d70033d43b85c0b099859c2..2a37be0d70edb83aa3c5cc4feda3f373e22205a6 100644 (file)
@@ -1,7 +1,7 @@
 ! PR middle-end/99928
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fdump-tree-gimple" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module m
   implicit none
   integer :: l00, l01, l02, l03, l04, l07, l08, l09
@@ -39,19 +39,19 @@ subroutine bar ()
   do i = 1, 64
     l02 = i
   end do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l03\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l03\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(l03\\)" "gimple" } } ! FIXME. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l03\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l03\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l03\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(l03\\)" "gimple" } } ! FIXME.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l03\\)" "gimple" } } ! FIXME.
   !$omp parallel do firstprivate (l03) lastprivate (l03) default(none)
   do i = 1, 64
     l03 = i
   end do
   !$omp end parallel do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l04\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l04\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(l04\\)" "gimple" } } ! FIXME. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l04\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l04\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l04\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(l04\\)" "gimple" } } ! FIXME.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l04\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump-not "omp simd\[^\n\r]*firstprivate\\(l04\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(l04\\)" "gimple" } }
   !$omp parallel do simd firstprivate (l04) lastprivate (l04) default(none)
@@ -83,7 +83,7 @@ subroutine bar ()
   ! FIXME: OpenMP 5.0/5.1 broken here, conceptually it should be shared on parallel and
   ! firstprivate+lastprivate on sections, in GCC implementation we put firstprivate+lastprivate
   ! on parallel for historic reasons, but OpenMP 5.0/5.1 mistakenly say firstprivate
-  ! should be on parallel and lastprivate on sections. 
+  ! should be on parallel and lastprivate on sections.
   ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l07\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l07\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp sections\[^\n\r]*firstprivate\\(l07\\)" "gimple" } }
@@ -97,10 +97,10 @@ subroutine bar ()
   !$omp end parallel sections
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:l08" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(l08\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l08\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l08\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(l08\\)" "gimple" } } ! FIXME. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l08\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l08\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l08\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(l08\\)" "gimple" } } ! FIXME.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l08\\)" "gimple" } } ! FIXME.
   !$omp target parallel do firstprivate (l08) lastprivate (l08) default(none) defaultmap(none)
   do i = 1, 64
     l08 = i
@@ -108,10 +108,10 @@ subroutine bar ()
   !$omp end target parallel do
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:l09" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(l09\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l09\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l09\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(l09\\)" "gimple" } } ! FIXME. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l09\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l09\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l09\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(l09\\)" "gimple" } } ! FIXME.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l09\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump-not "omp simd\[^\n\r]*firstprivate\\(l09\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*lastprivate\\(l09\\)" "gimple" } }
   !$omp target parallel do simd firstprivate (l09) lastprivate (l09) default(none) defaultmap(none)
index 1563c4fbbd059899b03fc724a8e16ddc22d464af..4313c68c02ffe00bb40fac9a18172de3d343c0d7 100644 (file)
@@ -1,7 +1,7 @@
 ! PR middle-end/99928
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fdump-tree-gimple" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module m
   implicit none
   integer :: l00, l01, l05, l06, l07, l08
@@ -34,10 +34,10 @@ subroutine bar ()
   do i = 1, 64
     l02 = l02 + 1
   end do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l03\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l03\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(l03\\)" "gimple" } } ! FIXME. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l03\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l03\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l03\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(l03\\)" "gimple" } } ! FIXME.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l03\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(l03:1\\)" "gimple" } }
   !$omp parallel do simd linear (l03) default(none)
   do i = 1, 64
@@ -63,10 +63,10 @@ subroutine bar ()
   end do
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:l06" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(l06\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l06\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l06\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(l06\\)" "gimple" } } ! FIXME. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l06\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*firstprivate\\(l06\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(l06\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*firstprivate\\(l06\\)" "gimple" } } ! FIXME.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(l06\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(l06:1\\)" "gimple" } }
   !$omp target parallel do simd linear (l06) default(none) defaultmap(none)
   do i = 1, 64
index 259f6cc0136a356e2d8c8376d5ae4bd47da1c5de..930088f0b93f3eeff05575e2c852996307b63347 100644 (file)
@@ -1,7 +1,7 @@
 ! PR middle-end/99928
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fdump-tree-gimple" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module m
   implicit none
   integer :: j00, j01, j02, j03, j04, j06, j07, j08, j09
@@ -11,8 +11,8 @@ contains
 
 subroutine foo ()
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(j00\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j00\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j00\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j00\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j00\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j00:1\\)" "gimple" } }
   !$omp distribute parallel do simd linear (j00) default(none)
   do j00 = 1, 64
@@ -32,21 +32,21 @@ subroutine bar ()
   do j02 = 1, 64
   end do
   ! { dg-final { scan-tree-dump-not "omp master\[^\n\r]*lastprivate\\(j03\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(j03\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(j03\\)" "gimple" } } ! NOTE: This is implementation detail.
   ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*lastprivate\\(j03\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j03:1\\)" "gimple" } }
   !$omp master taskloop simd linear (j03) default(none)
   do j03 = 1, 64
   end do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j04\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j04\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j04\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j04\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j04:1\\)" "gimple" } }
   !$omp parallel do simd linear (j04) default(none)
   do j04 = 1, 64
   end do
   ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(j05\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp master\[^\n\r]*lastprivate\\(j05\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(j05\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(j05\\)" "gimple" } } ! NOTE: This is implementation detail.
   ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*lastprivate\\(j05\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j05:1\\)" "gimple" } }
   !$omp parallel master taskloop simd linear (j05) default(none)
@@ -54,8 +54,8 @@ subroutine bar ()
   end do
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:j06" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(j06\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j06\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j06\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j06\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j06\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j06:1\\)" "gimple" } }
   !$omp target parallel do simd linear (j06) default(none) defaultmap(none)
   do j06 = 1, 64
@@ -70,8 +70,8 @@ subroutine bar ()
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(j08\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*shared\\(j08\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(j08\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j08\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j08\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j08\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j08\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j08:1\\)" "gimple" } }
   !$omp target teams distribute parallel do simd linear (j08) default(none) defaultmap(none)
   do j08 = 1, 64
@@ -84,7 +84,7 @@ subroutine bar ()
   !$omp target teams distribute simd linear (j09) default(none) defaultmap(none)
   do j09 = 1, 64
   end do
-  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(j10\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(j10\\)" "gimple" } } ! NOTE: This is implementation detail.
   ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*lastprivate\\(j10\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j10:1\\)" "gimple" } }
   !$omp taskloop simd linear (j10) default(none)
@@ -92,8 +92,8 @@ subroutine bar ()
   end do
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*shared\\(j11\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(j11\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j11\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j11\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j11\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j11\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j11:1\\)" "gimple" } }
   !$omp teams distribute parallel do simd linear (j11) default(none)
   do j11 = 1, 64
index a9ad2264e398f22132d86dd94b6aa7e3113b0c81..7c82db4fa5ab9013f99e22c430c776b7be922321 100644 (file)
@@ -1,7 +1,7 @@
 ! PR middle-end/99928
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fdump-tree-gimple" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module m
   implicit none
   integer :: j00, j01, j02, j03, j04, j06, j07, j08, j09
@@ -11,8 +11,8 @@ contains
 
 subroutine foo ()
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(j00\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j00\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j00\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j00\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j00\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j00:1\\)" "gimple" } }
   !$omp distribute parallel do simd default(none)
   do j00 = 1, 64
@@ -32,21 +32,21 @@ subroutine bar ()
   do j02 = 1, 64
   end do
   ! { dg-final { scan-tree-dump-not "omp master\[^\n\r]*lastprivate\\(j03\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(j03\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(j03\\)" "gimple" } } ! NOTE: This is implementation detail.
   ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*lastprivate\\(j03\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j03:1\\)" "gimple" } }
   !$omp master taskloop simd default(none)
   do j03 = 1, 64
   end do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j04\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j04\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j04\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j04\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j04:1\\)" "gimple" } }
   !$omp parallel do simd default(none)
   do j04 = 1, 64
   end do
   ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(j05\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp master\[^\n\r]*lastprivate\\(j05\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(j05\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(j05\\)" "gimple" } } ! NOTE: This is implementation detail.
   ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*lastprivate\\(j05\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j05:1\\)" "gimple" } }
   !$omp parallel master taskloop simd default(none)
@@ -54,8 +54,8 @@ subroutine bar ()
   end do
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:j06" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(j06\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j06\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j06\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j06\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j06\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j06:1\\)" "gimple" } }
   !$omp target parallel do simd default(none) defaultmap(none)
   do j06 = 1, 64
@@ -70,8 +70,8 @@ subroutine bar ()
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(j08\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*shared\\(j08\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(j08\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j08\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j08\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j08\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j08\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j08:1\\)" "gimple" } }
   !$omp target teams distribute parallel do simd default(none) defaultmap(none)
   do j08 = 1, 64
@@ -84,7 +84,7 @@ subroutine bar ()
   !$omp target teams distribute simd default(none) defaultmap(none)
   do j09 = 1, 64
   end do
-  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(j10\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*shared\\(j10\\)" "gimple" } } ! NOTE: This is implementation detail.
   ! { dg-final { scan-tree-dump "omp taskloop\[^\n\r]*lastprivate\\(j10\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j10:1\\)" "gimple" } }
   !$omp taskloop simd default(none)
@@ -92,8 +92,8 @@ subroutine bar ()
   end do
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*shared\\(j11\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*lastprivate\\(j11\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j11\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j11\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*lastprivate\\(j11\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*lastprivate\\(j11\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*linear\\(j11:1\\)" "gimple" } }
   !$omp teams distribute parallel do simd default(none)
   do j11 = 1, 64
index a0414a57a5194c2abb1260a1aa9f5d4256ba0685..ed5fcf7c1c549418f2d1b245f1e973c47449c783 100644 (file)
@@ -1,7 +1,7 @@
 ! PR middle-end/99928
 ! { dg-do compile }
 ! { dg-options "-fopenmp -fdump-tree-gimple" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module m
   implicit none
   integer :: r00, r01, r02, r03, r04, r05
@@ -13,15 +13,15 @@ contains
 subroutine foo ()
   integer :: i
   ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*reduction\\(\\+:r00\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r00\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r00\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r00\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r00\\)" "gimple" } } ! FIXME.
   !$omp distribute parallel do reduction(+:r00) default(none)
   do i = 1, 64
     r00 = r00 + 1
   end do
   ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*reduction\\(\\+:r01\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r01\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r01\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r01\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r01\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r01\\)" "gimple" } }
   !$omp distribute parallel do simd reduction(+:r01) default(none)
   do i = 1, 64
@@ -62,22 +62,22 @@ subroutine bar ()
   do i = 1, 64
     r05 = r05 + 1
   end do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r06\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r06\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r06\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r06\\)" "gimple" } } ! FIXME.
   !$omp parallel do reduction(+:r06) default(none)
   do i = 1, 64
     r06 = r06 + 1
   end do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r07\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r07\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r07\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r07\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r07\\)" "gimple" } }
   !$omp parallel do simd reduction(+:r07) default(none)
   do i = 1, 64
     r07 = r07 + 1
   end do
   ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(r08\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*reduction\\(\\+:r08\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r08\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*reduction\\(\\+:r08\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r08\\)" "gimple" } } ! NOTE: This is implementation detail.
   !$omp parallel loop reduction(+:r08) default(none)
   do i = 1, 64
     r08 = r08 + 1
@@ -102,8 +102,8 @@ subroutine bar ()
   do i = 1, 64
     r11 = r11 + 1
   end do
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r12\\)" "gimple" } } ! FIXME: This should be on sections instead. 
-  ! { dg-final { scan-tree-dump-not "omp sections\[^\n\r]*reduction\\(\\+:r12\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r12\\)" "gimple" } } ! FIXME: This should be on sections instead.
+  ! { dg-final { scan-tree-dump-not "omp sections\[^\n\r]*reduction\\(\\+:r12\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump-not "omp section \[^\n\r]*reduction\\(\\+:r12\\)" "gimple" } }
   !$omp parallel sections reduction(+:r12) default(none)
     r12 = r12 + 1
@@ -118,16 +118,16 @@ subroutine bar ()
   !$omp end target parallel
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:r14" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(r14\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r14\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r14\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r14\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r14\\)" "gimple" } } ! FIXME.
   !$omp target parallel do reduction(+:r14) default(none) defaultmap(none)
   do i = 1, 64
     r14 = r14 + 1
   end do
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:r15" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(r15\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r15\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r15\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r15\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r15\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r15\\)" "gimple" } }
   !$omp target parallel do simd reduction(+:r15) default(none) defaultmap(none)
   do i = 1, 64
@@ -136,8 +136,8 @@ subroutine bar ()
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:r16" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(r16\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(r16\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*reduction\\(\\+:r16\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r16\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*reduction\\(\\+:r16\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r16\\)" "gimple" } } ! NOTE: This is implementation detail.
   !$omp target parallel loop reduction(+:r16) default(none) defaultmap(none)
   do i = 1, 64
     r16 = r16 + 1
@@ -160,8 +160,8 @@ subroutine bar ()
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(r19\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*reduction\\(\\+:r19\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*reduction\\(\\+:r19\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r19\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r19\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r19\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r19\\)" "gimple" } } ! FIXME.
   !$omp target teams distribute parallel do reduction(+:r19) default(none) defaultmap(none)
   do i = 1, 64
     r19 = r19 + 1
@@ -170,8 +170,8 @@ subroutine bar ()
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(r20\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*reduction\\(\\+:r20\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*reduction\\(\\+:r20\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r20\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r20\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r20\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r20\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r20\\)" "gimple" } }
   !$omp target teams distribute parallel do simd reduction(+:r20) default(none) defaultmap(none)
   do i = 1, 64
@@ -189,10 +189,10 @@ subroutine bar ()
   ! { dg-final { scan-tree-dump "omp target\[^\n\r]*map\\(tofrom:r22" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp target\[^\n\r]*firstprivate\\(r22\\)" "gimple" } }
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*shared\\(r22\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*reduction\\(\\+:r22\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(r22\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*reduction\\(\\+:r22\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r22\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*reduction\\(\\+:r22\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(r22\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*reduction\\(\\+:r22\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r22\\)" "gimple" } } ! NOTE: This is implementation detail.
   !$omp target teams loop reduction(+:r22) default(none) defaultmap(none)
   do i = 1, 64
     r22 = r22 + 1
@@ -218,16 +218,16 @@ subroutine bar ()
   end do
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*reduction\\(\\+:r26\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*reduction\\(\\+:r26\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r26\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r26\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r26\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r26\\)" "gimple" } } ! FIXME.
   !$omp teams distribute parallel do reduction(+:r26) default(none)
   do i = 1, 64
     r26 = r26 + 1
   end do
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*reduction\\(\\+:r27\\)" "gimple" } }
   ! { dg-final { scan-tree-dump-not "omp distribute\[^\n\r]*reduction\\(\\+:r27\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r27\\)" "gimple" } } ! FIXME: This should be on for instead. 
-  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r27\\)" "gimple" } } ! FIXME. 
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*reduction\\(\\+:r27\\)" "gimple" } } ! FIXME: This should be on for instead.
+  ! { dg-final { scan-tree-dump-not "omp for\[^\n\r]*reduction\\(\\+:r27\\)" "gimple" } } ! FIXME.
   ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r27\\)" "gimple" } }
   !$omp teams distribute parallel do simd reduction(+:r27) default(none)
   do i = 1, 64
@@ -241,10 +241,10 @@ subroutine bar ()
     r28 = r28 + 1
   end do
   ! { dg-final { scan-tree-dump "omp teams\[^\n\r]*shared\\(r29\\)" "gimple" } }
-  ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*reduction\\(\\+:r29\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(r29\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*reduction\\(\\+:r29\\)" "gimple" } } ! NOTE: This is implementation detail. 
-  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r29\\)" "gimple" } } ! NOTE: This is implementation detail. 
+  ! { dg-final { scan-tree-dump "omp distribute\[^\n\r]*reduction\\(\\+:r29\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp parallel\[^\n\r]*shared\\(r29\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp for\[^\n\r]*reduction\\(\\+:r29\\)" "gimple" } } ! NOTE: This is implementation detail.
+  ! { dg-final { scan-tree-dump "omp simd\[^\n\r]*reduction\\(\\+:r29\\)" "gimple" } } ! NOTE: This is implementation detail.
   !$omp teams loop reduction(+:r29) default(none)
   do i = 1, 64
     r29 = r29 + 1
index a9abc7b5a333071920d6223d604b4312f23eb5e1..2103949b3e19af8cea0636f66379757dab1dae49 100644 (file)
@@ -1,6 +1,6 @@
 ! { dg-do compile }
 ! { dg-options "-fopenmp" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 subroutine foo (vara, varb, varc, vard, n)
   integer :: n, vara(n), varb(*), varc(:), vard(6), vare(6)
   vare(:) = 0
index ef8507eb7f019bd27b1e3687f909873aaa2d6c52..8d2fffe075672517a066fa5f80e586be77f157a1 100644 (file)
@@ -1,6 +1,6 @@
 ! { dg-do compile }
 ! { dg-options "-fopenmp" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 program main
   integer :: x, i, n
 
index ad4d08a1d49574da774b96338c56afcacd3b38dd..8ab00905c120c71301b0a27f0e4d33b9e743fe4c 100644 (file)
@@ -1,6 +1,6 @@
 ! { dg-do compile }
 ! { dg-options "-fopenmp" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 program main
   integer :: x, i, n
 
index da930b92422f01d91d23f0f91d091c4cd0a51c77..235c4a5534c0dc195b1c565914b9ad8a03f7e3a5 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do compile }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module target1
   interface
     subroutine dosomething (a, n, m)
index 7060a7a5c9674b30b4932b1423aa392a421dcded..46901712a24604fbbc51eb1f64e25122250f6b77 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module m
   implicit none
   integer :: t
index d200a93bb4fa1518de68c8f93c52a49de58ae93a..15ddea8e69d466de6aeed0c03ee101f4584d159a 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 subroutine foo()
 implicit none
 integer :: i, r
index d20502dece18f6d60440c7599369ff1831431ea6..a7d9d19c315d83c5276326516843b0b7a2689e57 100644 (file)
@@ -6,6 +6,6 @@
 # error _OPENMP not defined
 #endif
 
-#if _OPENMP != 201511
+#if _OPENMP != 202111
 # error _OPENMP defined to wrong value
 #endif
index 48bb7890e7b4411efd293f2cd293ef287700fac7..4eb7652594363f997f8a29fa8e69fbd7d5a0f98a 100644 (file)
@@ -1777,7 +1777,7 @@ omp_display_env (int verbose)
 
   fputs ("\nOPENMP DISPLAY ENVIRONMENT BEGIN\n", stderr);
 
-  fputs ("  _OPENMP = '201511'\n", stderr);
+  fputs ("  _OPENMP = '202111'\n", stderr);
 
   fprintf (stderr, "  [host] OMP_DYNAMIC = '%s'\n",
           none->icvs.dyn_var ? "TRUE" : "FALSE");
index 7a0386e5ccb3d56fe4f9367aafa03a96fc4fe286..947a852e03417057bb0acc4e2b900ce32eccd1ca 100644 (file)
@@ -48,11 +48,8 @@ ialias_redirect (omp_test_nest_lock)
 # endif
 ialias_redirect (omp_set_dynamic)
 ialias_redirect (omp_get_dynamic)
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 ialias_redirect (omp_set_nested)
 ialias_redirect (omp_get_nested)
-#pragma GCC diagnostic pop
 ialias_redirect (omp_set_num_threads)
 ialias_redirect (omp_in_parallel)
 ialias_redirect (omp_get_max_threads)
@@ -296,8 +293,6 @@ omp_set_dynamic_8_ (const int64_t *set)
   omp_set_dynamic (!!*set);
 }
 
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 void
 omp_set_nested_ (const int32_t *set)
 {
@@ -309,7 +304,6 @@ omp_set_nested_8_ (const int64_t *set)
 {
   omp_set_nested (!!*set);
 }
-#pragma GCC diagnostic pop
 
 void
 omp_set_num_threads_ (const int32_t *set)
@@ -329,14 +323,11 @@ omp_get_dynamic_ (void)
   return omp_get_dynamic ();
 }
 
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 int32_t
 omp_get_nested_ (void)
 {
   return omp_get_nested ();
 }
-#pragma GCC diagnostic pop
 
 int32_t
 omp_in_parallel_ (void)
index b671767311d6f7970988a4888fc255f26a9a6463..908e37d8d179409e3db43b62373f16800301a218 100644 (file)
@@ -53,8 +53,6 @@ omp_get_dynamic (void)
   return icv->dyn_var;
 }
 
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 void
 omp_set_nested (int val)
 {
@@ -72,7 +70,6 @@ omp_get_nested (void)
   return (icv->max_active_levels_var > 1
          && icv->max_active_levels_var > omp_get_active_level ());
 }
-#pragma GCC diagnostic pop
 
 void
 omp_set_schedule (omp_sched_t kind, int chunk_size)
@@ -235,11 +232,8 @@ omp_get_default_allocator (void)
 
 ialias (omp_set_dynamic)
 ialias (omp_get_dynamic)
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 ialias (omp_set_nested)
 ialias (omp_get_nested)
-#pragma GCC diagnostic pop
 ialias (omp_set_num_threads)
 ialias (omp_set_schedule)
 ialias (omp_get_schedule)
index 1b1a163208849c3f2690f4839f69e314f0e2bbc3..138008be2cdea22ecf0d5af11c6fef624283204d 100644 (file)
       module omp_lib
         use omp_lib_kinds
         implicit none
-        integer, parameter :: openmp_version = 201511
+        integer, parameter :: openmp_version = 202111
 
         interface
           subroutine omp_init_lock (svar)
index 93305834545a762602d08a02936295653faec70c..4d793770733143ad1bfa8bac39a8d6b222f9869b 100644 (file)
@@ -74,7 +74,7 @@
       parameter (omp_lock_hint_nonspeculative = 4)
       parameter (omp_sync_hint_speculative = 8)
       parameter (omp_lock_hint_speculative = 8)
-      parameter (openmp_version = 201511)
+      parameter (openmp_version = 202111)
       integer omp_pause_resource_kind
       parameter (omp_pause_resource_kind = 4)
       integer (omp_pause_resource_kind) omp_pause_soft
index eff231650544ae88c61403d1cf057f30a8f14611..8ee4e4712b39dc3f0e30cb4649ac42cfa065dac5 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run }
 // { dg-set-target-env-var OMP_PROC_BIND "true" }
-// { dg-additional-options "-Wno-deprecated-declarations" }
+// { dg-additional-options "-Wno-deprecated-declarations -Wno-deprecated-openmp" }
 
 #include "../libgomp.c/affinity-1.c"
index 2ad3b3a6efcc62aaed512be009a9f2f45724c1a0..0898e05fb54047ceb1e8661be63e05c11ff4a6ac 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <omp.h>
 #include <assert.h>
 
index 8f501e8c8e5dca427ce54e7a0fc93541c7a2d354..cf6319d8dfd9609f290198d5caa04b9b6b19bbb6 100644 (file)
@@ -1,6 +1,6 @@
 // PR c++/36308
 // { dg-do run }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <omp.h>
 #include <assert.h>
 
index 8c7a09f315d9c1ef9ac165eed08242e87a66b69c..2c3fccd2d36141c24a720cd15bba834e8058def1 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do run }
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <omp.h>
 #include <assert.h>
 
index 6611c592fda9a83bcc8d60eae8efdb1694d168c2..5457360d02f66cd23d7ec5f8fa9a9a00f83fe981 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run }
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 #include <omp.h>
 #include <assert.h>
index d99a1d4628f737721abc1330420d45582e39d071..590dab8e0a68596d243c15908bc28efa8ba7e75a 100644 (file)
@@ -1,5 +1,6 @@
 // { dg-do run }
 // { dg-require-effective-target tls_runtime }
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 #include <omp.h>
 #include <assert.h>
index 3d669a707910a0dba6395806066f84a4351959e3..18faaf04faf5aa8c771d4cf659b07a5365e1baba 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run }
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 #include <omp.h>
 #include <assert.h>
index 2cff5e84334f2e2bae6aa8f0f9aabb499d274a31..02640f608862dd45c0ce07475d85fa673cb6dc0c 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
+
 extern "C" void abort ();
 int arr[64], arr2[64], arr3[64];
 
index 663212c1f74d4a1cf49d8c3581255c7dfe70ffdc..580a9aecc070077fc301f22ae202af59622c7ef5 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run }
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 typedef __PTRDIFF_TYPE__ ptrdiff_t;
 extern "C" void abort ();
index 734b4e2cd98e72528ec6ffc734c5a56480073b8d..0c80e70a11883546c8308e09f23dcfeee9b8483d 100644 (file)
@@ -1,5 +1,6 @@
 // PR c++/24734
 // { dg-do run }
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 extern "C" void abort ();
 int i;
index 07b7b5dbf74cb14592491f0ed57347c8d6b3551c..f09af221339e9420a7878bdb91e79792b5aadab8 100644 (file)
@@ -1,5 +1,6 @@
 // PR c++/26943
 // { dg-do run }
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 #include <assert.h>
 #include <unistd.h>
index f2cb571294d4c8ebacf9c93257cfe12412e97f4b..b8a125ac40c56928b32d89328593f54a561cb38b 100644 (file)
@@ -1,5 +1,6 @@
 // PR c++/81130
 // { dg-do run }
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 struct A
 {
index afe89438bd3f1f95a4159fd755d05dc9148dbba1..f08ff3360fea9d6d32a05e45ca4abbd09e0eec54 100644 (file)
@@ -1,5 +1,6 @@
 // PR c++/81314
 // { dg-do link }
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 template <int N>
 struct S {
index a1d1e57c002239a7b3231eee12d624979b3eac40..28942c193ede350488096101e6328b1b1229a1fe 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
+
 void
 foo (int &x, int *&y, int n, int v)
 {
index 835cec17da944f2e9d5ac29188be29c0601da314..3c1cfc3e3bc47d9cb6a1780b1d28f5c377fb5e83 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
+
 struct S { int a, b, c[2]; };
 #pragma omp declare reduction (+: S : (omp_out.a += omp_in.a, omp_out.b += omp_in.b)) \
   initializer (omp_priv = { 0, 0, { 0, 0 } })
index 94ab6f21f18bb4c582540773910ec6d9470043fd..3ff2c959875b50c1fad545dfdde32009dc9484e3 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
+
 extern "C" void abort ();
 
 int a = 18;
index a198cc721b56d540137679e7831509c06668ef6b..e1dc3d45cc1d8cd8b3aeabac37718f2e42f4ef33 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run }
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 #include <omp.h>
 extern "C" void abort ();
index 389e1e218e4b40382947495fe8c1bdb92bda793e..4f14fc2fb266097afa455be900edc795a05c96ed 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 extern "C" void abort ();
 
 int a = 18;
index 72afa5cd7d174313190d819ed5e07ed21d756321..c3965abb4e1df7a42b2b624400d6152d5f1369bf 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 typedef __SIZE_TYPE__ size_t;
 extern "C" void abort ();
 
index 068a7bb7b5d4cf978e7e09505f955e88ba8066e5..7c6c183fd79097d65d6aec47efd167ffbc61ae99 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
+
 #include <omp.h>
 #include <stdlib.h>
 
index f7fb9cac9e53f546038aa5b5943d16e4e43bd5f9..db97ff8e9f4d55eaadec436fb313c98b77dac905 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
+
 extern "C" void abort ();
 
 struct S { S (); S (unsigned long long int, int); ~S (); static int cnt1, cnt2, cnt3; unsigned long long int s; int t; };
index 341bfb84ea8ef4b6037d5d35cda1ab57f08393be..b35e64e946f8d2c1df1893a336d0efb269101070 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-set-target-env-var OMP_CANCELLATION "true" } */
+/* { dg-additional-options "-Wno-deprecated-openmp" } */
 
 #include <stdlib.h>
 #include <unistd.h>
index 77956f262324f3f4bcce8bf57fdc69d2d52210e3..29d876837a2a7410e2aee907804258456128efab 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
+
 #include <omp.h>
 #include <stdlib.h>
 #include <unistd.h>
index 03cded42cbd25f02a8e16a9ac67706fdb51296fe..98b5fda72770a5b52ab36cfcf2b773b27d2aae2f 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
+
 #ifdef __cplusplus
 extern "C"
 #endif
index 3e6da095122ec9e66f9954469b9c1ad5552cc029..8fc3bda236414defe30b9e57ac054a00a3f0eeda 100644 (file)
@@ -3,6 +3,7 @@
 /* { dg-additional-options "-std=c99" { target c } } */
 /* { dg-additional-options "-msse2" { target sse2_runtime } } */
 /* { dg-additional-options "-mavx" { target avx_runtime } } */
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 #include <omp.h>
 #include <stdlib.h>
diff --git a/libgomp/testsuite/libgomp.c-c++-common/omp-atv-seq-dep.c b/libgomp/testsuite/libgomp.c-c++-common/omp-atv-seq-dep.c
new file mode 100644 (file)
index 0000000..8fc5dcd
--- /dev/null
@@ -0,0 +1,9 @@
+// { dg-do run }
+#include <omp.h>
+
+int
+main()
+{
+  int test = omp_atv_sequential; // { dg-warning "'omp_atv_sequential' is deprecated \\\[-Wdeprecated-declarations\\\]" }
+  return 0;
+}
diff --git a/libgomp/testsuite/libgomp.c-c++-common/omp-lock-hint-contended-dep.c b/libgomp/testsuite/libgomp.c-c++-common/omp-lock-hint-contended-dep.c
new file mode 100644 (file)
index 0000000..15df926
--- /dev/null
@@ -0,0 +1,11 @@
+// { dg-do compile }
+#include <omp.h>
+
+int
+main()
+{
+  omp_lock_t lock;
+  omp_init_lock_with_hint(&lock, omp_lock_hint_contended); // { dg-warning "'omp_lock_hint_contended' is deprecated \\\[-Wdeprecated-declarations\\\]" }
+  omp_destroy_lock(&lock);
+  return 0;
+}
diff --git a/libgomp/testsuite/libgomp.c-c++-common/omp-lock-hint-none-dep.c b/libgomp/testsuite/libgomp.c-c++-common/omp-lock-hint-none-dep.c
new file mode 100644 (file)
index 0000000..3b9fe79
--- /dev/null
@@ -0,0 +1,12 @@
+// { dg-do compile }
+
+#include <omp.h>
+
+int
+main()
+{
+  omp_lock_t lock;
+  omp_init_lock_with_hint(&lock, omp_lock_hint_none); // { dg-warning "'omp_lock_hint_none' is deprecated \\\[-Wdeprecated-declarations\\\]" }
+  omp_destroy_lock(&lock);
+  return 0;
+}
diff --git a/libgomp/testsuite/libgomp.c-c++-common/omp-lock-hint-speculative-dep.c b/libgomp/testsuite/libgomp.c-c++-common/omp-lock-hint-speculative-dep.c
new file mode 100644 (file)
index 0000000..4f139e9
--- /dev/null
@@ -0,0 +1,11 @@
+// { dg-do compile }
+#include <omp.h>
+
+int
+main()
+{
+  omp_lock_t lock;
+  omp_init_lock_with_hint(&lock, omp_lock_hint_speculative); // { dg-warning "'omp_lock_hint_speculative' is deprecated \\\[-Wdeprecated-declarations\\\]" }
+  omp_destroy_lock(&lock);
+  return 0;
+}
diff --git a/libgomp/testsuite/libgomp.c-c++-common/omp-lock-hint-uncontended-dep.c b/libgomp/testsuite/libgomp.c-c++-common/omp-lock-hint-uncontended-dep.c
new file mode 100644 (file)
index 0000000..b3483cc
--- /dev/null
@@ -0,0 +1,11 @@
+// { dg-do compile }
+#include <omp.h>
+
+int
+main()
+{
+  omp_lock_t lock;
+  omp_init_lock_with_hint(&lock, omp_lock_hint_uncontended); // { dg-warning "'omp_lock_hint_uncontended' is deprecated \\\[-Wdeprecated-declarations\\\]" }
+  omp_destroy_lock(&lock);
+  return 0;
+}
index 3236cf9f0d06ba959a3112d4f81f32e278d09efa..587997447ec6e427f21f567edd65887fbcf8462a 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
+
 void
 foo (int x, int *y, int n, int v)
 {
index 7e159728163a26748f76979dfcc6189f31c446fb..08c621ff1f46d4f5435b37e0fada3bbd8d0d4e13 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
+
 struct S { int a, b, c[2]; };
 #pragma omp declare reduction (+: struct S : (omp_out.a += omp_in.a, omp_out.b += omp_in.b)) \
   initializer (omp_priv = { 0, 0, { 0, 0 } })
index 65833189cd618606eb6ce1be28c59ec1bf14e239..25820f2bca5368755b8ea38639515e75921286c3 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-fopenmp" } */
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 #include <omp.h>
 
index 5e87139ccfb1b71d563cf6670c57408061be95af..3d57838217d07e375274a2ae7be18eecc87dcc31 100644 (file)
@@ -1,4 +1,5 @@
 /* PR middle-end/101167 */
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 extern
 #ifdef __cplusplus
index 018dc4fb28e4b3e45e9ecc7f766a91515cdb898f..844a3b73c3bd855e598442eb2c667223a0566f6f 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 typedef __SIZE_TYPE__ size_t;
 extern
 #ifdef __cplusplus
index 09cbea66542634b1c5fd2fbbf41be7e963192c07..a23ec3fb1ac6b23b0ed80b011fb3221f657679a5 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <omp.h>
 #include <stdlib.h>
 
index 52d238a5b15a63b430a55898226dd51f96d56bb1..c6fbc23cb8454aa967d13d01f0e93c7364f6c428 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <omp.h>
 #include <stdlib.h>
 
index d44b471a37258838de8d74d0b5f585a3d57b55fe..4a00e2eb579b923db7cf069534b1ae2c1563d0df 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 extern
 #ifdef __cplusplus
 "C"
index 30a832490465eaf3f941512d1ac72fbf394fad47..b167b807bb2556374e045890f9118c8848774233 100644 (file)
@@ -3,6 +3,7 @@
 /* { dg-additional-options "-std=c99" { target c } } */
 /* { dg-additional-options "-msse2" { target sse2_runtime } } */
 /* { dg-additional-options "-mavx" { target avx_runtime } } */
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 #define N 1024
 long int u[N], m, n;
index c1c29b37414f3084312cf326353e91c8b00bbdaf..9cb38c439eb711c526f00806d77c36d150879988 100644 (file)
@@ -3,6 +3,7 @@
 /* { dg-additional-options "-std=c99" { target c } } */
 /* { dg-additional-options "-msse2" { target sse2_runtime } } */
 /* { dg-additional-options "-mavx" { target avx_runtime } } */
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 #include <omp.h>
 #include <stdlib.h>
index ab9b71c1e6aeb10945e10a1f07750fe8943cd45f..414c5121b70e23262d3a4827bf09b7bb61359647 100644 (file)
@@ -17,8 +17,7 @@
 
 /* { dg-do run } */
 /* { dg-set-target-env-var OMP_PROC_BIND "false" } */
-/* { dg-additional-options "-Wno-deprecated-declarations" } */
-/* { dg-additional-options "-DINTERPOSE_GETAFFINITY -DDO_FORK -ldl -Wno-deprecated-declarations" { target *-*-linux* } } */
+/* { dg-additional-options "-DINTERPOSE_GETAFFINITY -DDO_FORK -ldl -Wno-deprecated-declarations -Wno-deprecated-openmp" { target *-*-linux* } } */
 
 #ifndef _GNU_SOURCE
 #define _GNU_SOURCE
index 530a891f6b0099084026fa8b94ca7a50a1e7369d..20a6506db82d3301feb8d4638b98d6f2c31229e7 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run }
+// { dg-additional-options "-Wno-deprecated-openmp" }
 // Test several constructs within a parallel.  At one point in development,
 // the critical directive clobbered the shared clause of the parallel.
 
index 8fa9b548a142522ce5010ae91a58890a20c393c9..9a0d1bb7bb93742ec49f48ab8e57e1f4c977875d 100644 (file)
@@ -1,6 +1,7 @@
 /* PR debug/36617 */
 /* { dg-do run } */
 /* { dg-options "-g -O0" } */
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 int
 f1 (void)
index fc6f746b83a9b5eebfe8cfece6280df2b6d99f3a..c50bb16994028742c1e00849eaca643bb3b55f0f 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-additional-options "-Wno-deprecated-declarations" } */
+/* { dg-additional-options "-Wno-deprecated-openmp" } */
 
 #include <stdlib.h>
 #include <omp.h>
@@ -46,11 +46,11 @@ main (void)
   if (omp_get_dynamic ())
     abort ();
 
-  omp_set_nested (1);
-  if (! omp_get_nested ())
+  omp_set_nested (1); // { dg-warning "'omp_set_nested' is deprecated \\\[-Wdeprecated-declarations\\\]" }
+  if (! omp_get_nested ()) // { dg-warning "'omp_get_nested' is deprecated \\\[-Wdeprecated-declarations\\\]" }
     abort ();
-  omp_set_nested (0);
-  if (omp_get_nested ())
+  omp_set_nested (0); // { dg-warning "'omp_set_nested' is deprecated \\\[-Wdeprecated-declarations\\\]" }
+  if (omp_get_nested ()) // { dg-warning "'omp_get_nested' is deprecated \\\[-Wdeprecated-declarations\\\]" }
     abort ();
 
   omp_set_num_threads (5);
index 24aa01e0889df3b6c8b3372e18eea57875a3cc46..4d09c3bebe1afaffed57f0cd61ebbcfc50c19237 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 extern void abort (void);
 
index fdbbe0f735c99e0b61c61dc0ce7e048419cca121..560850180655be0850b5174ef75bbf822ca70f36 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 extern void abort (void);
 
index 8f8847f97e9917d1a9fc6bc024e7603c9d88c57d..ebb0c5ea2930c2390200a73487d29672b6956b96 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+// { dg-additional-options "-Wno-deprecated-openmp" }
 
 #include <omp.h>
 
diff --git a/libgomp/testsuite/libgomp.c/omp-proc-bind-master-dep.c b/libgomp/testsuite/libgomp.c/omp-proc-bind-master-dep.c
new file mode 100644 (file)
index 0000000..ebf2d94
--- /dev/null
@@ -0,0 +1,12 @@
+// { dg-do run }
+// { dg-additional-options "-Wno-deprecated-openmp" }
+#include <omp.h>
+#include <stdlib.h>
+
+int
+main()
+{
+  if (omp_proc_bind_master != omp_proc_bind_primary) // { dg-warning "'omp_proc_bind_master' is deprecated \\\[-Wdeprecated-declarations\\\]" }
+    abort();
+  return 0;
+}
index 07495e65e58090ac43c33e81b93029172da3816c..b61170771f103f519a46c356fcfc6c4d0d47426b 100644 (file)
@@ -1,5 +1,5 @@
 /* PR libgomp/104385 */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <unistd.h>
 
 int
index 1123b7ea56105f3ab0bc687dddb682cc8d876518..4b54f8b4566ceceed7dfac84d6dcb9bbedac5b89 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <omp.h>
 #include <stdlib.h>
 
index 66d9f54202bea3047020e2d42853bd404a56850c..beef8436b8fd7bf356e499b9901ddd3b969cb8d1 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-declarations -Wno-deprecated-openmp" }
 extern void abort (void);
 
 int
index 84ad55823cb7fdaec10e9985e7a5852398e9c388..862ab5d232abb7f55fc16e53f003fb9c4eb5656a 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <omp.h>
 #include <stdlib.h>
 
index d17c3c61c2f78180c65abe08ab10e68756febc9c..dd395d6116a9705a3e67ecb3a4520c4e21b18ed0 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 extern void abort (void);
 
 int a = 18;
index 5657346bd15877f3e4351996b67f88721775f898..b4315789b53edd2823378805089917cc6ad5e050 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <omp.h>
 extern void abort ();
 
index e5fc758d2834c1e8167d83b27dc46e4a3ca17d6c..f400616022fb8ddd8764977fea2c6110d9d0130d 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <stdlib.h>
 #include <unistd.h>
 
index 224d995bd13190a0990ebabceaa6893faa1cf088..ffbcbbaca81c3f65bc79a120849408d1e9ee080e 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 typedef __SIZE_TYPE__ size_t;
 extern void abort (void);
 
index f5d48c36873c4e7667a247564aadb5bd874de38c..680484d247f617876d25442e07c17f5491428558 100644 (file)
@@ -1,3 +1,4 @@
+// { dg-additional-options "-Wno-deprecated-openmp" }
 typedef __SIZE_TYPE__ size_t;
 extern void abort (void);
 
index 09b357062f8a8f98e9227f16f805ad823409af4d..67616e652ff244239bb78766ff342ca26609e9a6 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-additional-options "-Wno-deprecated-declarations" } */
-
 #include <omp.h>
 #include <stdlib.h>
 
@@ -7,7 +5,7 @@ int
 main ()
 {
   omp_set_dynamic (0);
-  omp_set_nested (1);
+  omp_set_nested (1); // { dg-warning "'omp_set_nested' is deprecated \\\[-Wdeprecated-declarations\\\]" }
   #pragma omp teams thread_limit (2)
   {
     #pragma omp distribute dist_schedule(static,1)
index bdacdbbe8836e3bd2695951465a6341ae95a6f2c..fa1ab7a24432fa8676709760e86e0d60e69725ad 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-
+// { dg-additional-options "-Wno-deprecated-openmp" }
 #include <omp.h>
 #include <stdlib.h>
 #include <string.h>
index 2340257f3f602416a539e69ae7d7bc6a73e2df38..b18f8ad3fd6a172170f4a752dfeb7249f4411f22 100644 (file)
@@ -1,6 +1,6 @@
 ! { dg-do run }
 ! { dg-options "-fcray-pointer" }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
   use omp_lib
   integer :: a, b, c, p
   logical :: l
index 6953b592095f9f47ebbe0d7d9f6db136721b50e1..c826941bd17161c07458794fe1318ba4fd55c156 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-additional-sources my-usleep.c }
-! { dg-additional-options -Wno-complain-wrong-lang }
+! { dg-additional-options "-Wno-complain-wrong-lang -Wno-deprecated-openmp" }
 
 program main
   use omp_lib
index 30a927a19ba199e312acf9a115d821aa27a1d400..abf3abb8d83b68c2d80ed9e5268fe1acd54cf73c 100644 (file)
@@ -1,5 +1,4 @@
-! { dg-additional-options "-fdump-tree-original" }
-
+! { dg-additional-options "-fdump-tree-original -Wno-deprecated-openmp" }
 ! PR fortran/98476
 
 program abc
index 5b7fab075aee9cf70efeff0f46a66bd75d31ddf9..a6a846e5e3fad93db8f53c50312f7d7e05a363f4 100644 (file)
@@ -1,7 +1,7 @@
-! { dg-additional-options "-fdump-tree-original" }
+! { dg-additional-options "-fdump-tree-original -Wno-deprecated-openmp" }
 !
 ! Since OpenMP 5.1, non-TYPE(c_ptr) arguments to is_device_ptr
-! map to has_device_ptr - check this!
+! map to has_device_addr - check this!
 !
 ! PR fortran/105318
 !
@@ -73,7 +73,7 @@ contains
     if (false_) then
       !$omp target device(omp_invalid_device)
       !$omp end target
-    end if 
+    end if
   end subroutine
 
 end module m
index c99eb7bdd6d7671fced07714897842b38c9aae73..1b74739f83aad986de2f85034b2a9f1a5c7e91db 100644 (file)
@@ -1,6 +1,5 @@
 ! { dg-do run }
-! { dg-additional-options "-Wno-deprecated-declarations" }
-
+! { dg-additional-options "-Wno-deprecated-declarations -Wno-deprecated-openmp" }
   use omp_lib
 
   double precision :: d, e
index a25611bb4d0ac398ae04558e1a0b1f0866c17f5d..9051e72cf6ed1ab149e608402e7b9424fd1cbf49 100644 (file)
@@ -1,5 +1,5 @@
 C { dg-do run }
-C { dg-additional-options "-Wno-deprecated-declarations" }
+C { dg-additional-options "-Wno-deprecated-declarations -Wno-deprecated-openmp" }
 
       USE OMP_LIB
 
index 34d9b64d9a3bc2424f8c821c60c1422e39500b03..b13a7e5aadf06305a1bae102a3e4e61e87988318 100644 (file)
@@ -1,5 +1,5 @@
-C { dg-do run }
-
+! { dg-do run }
+! { dg-additional-options "-Wno-deprecated-openmp" }
       INCLUDE "omp_lib.h"
 
       DOUBLE PRECISION :: D, E
diff --git a/libgomp/testsuite/libgomp.fortran/omp-atv-seq-dep.f90 b/libgomp/testsuite/libgomp.fortran/omp-atv-seq-dep.f90
new file mode 100644 (file)
index 0000000..8c2e8ae
--- /dev/null
@@ -0,0 +1,7 @@
+! { dg-do run }
+
+program omp_atv_seq_dep
+  use omp_lib ! { dg-warning "Using parameter 'omp_atv_sequential' declared at \\(1\\) is deprecated \\\[-Wdeprecated-declarations\\\]" }
+  integer :: x
+  x = omp_atv_sequential
+end program
diff --git a/libgomp/testsuite/libgomp.fortran/omp-lock-hint-contended-dep.f90 b/libgomp/testsuite/libgomp.fortran/omp-lock-hint-contended-dep.f90
new file mode 100644 (file)
index 0000000..2c3c9e1
--- /dev/null
@@ -0,0 +1,8 @@
+! { dg-do compile }
+
+program hint_contended_dep
+  use omp_lib ! { dg-warning "Using parameter 'omp_lock_hint_contended' declared at \\(1\\) is deprecated \\\[-Wdeprecated-declarations\\\]" }
+  integer (kind=omp_lock_kind) :: lock
+  call omp_init_lock_with_hint(lock, omp_lock_hint_contended)
+  call omp_destroy_lock(lock)
+end program
diff --git a/libgomp/testsuite/libgomp.fortran/omp-lock-hint-none-dep.f90 b/libgomp/testsuite/libgomp.fortran/omp-lock-hint-none-dep.f90
new file mode 100644 (file)
index 0000000..c6c9ff9
--- /dev/null
@@ -0,0 +1,8 @@
+! { dg-do compile }
+
+program hint_none_dep
+  use omp_lib ! { dg-warning "Using parameter 'omp_lock_hint_none' declared at \\(1\\) is deprecated \\\[-Wdeprecated-declarations\\\]" }
+  integer (kind=omp_lock_kind) :: lock
+  call omp_init_lock_with_hint(lock, omp_lock_hint_none)
+  call omp_destroy_lock(lock)
+end program
diff --git a/libgomp/testsuite/libgomp.fortran/omp-lock-hint-speculative-dep.f90 b/libgomp/testsuite/libgomp.fortran/omp-lock-hint-speculative-dep.f90
new file mode 100644 (file)
index 0000000..2dad28b
--- /dev/null
@@ -0,0 +1,8 @@
+! { dg-do compile }
+
+program hint_speculative_dep
+  use omp_lib ! { dg-warning "Using parameter 'omp_lock_hint_speculative' declared at \\(1\\) is deprecated \\\[-Wdeprecated-declarations\\\]" }
+  integer (kind=omp_lock_kind) :: lock
+  call omp_init_lock_with_hint(lock, omp_lock_hint_speculative)
+  call omp_destroy_lock(lock)
+end program
diff --git a/libgomp/testsuite/libgomp.fortran/omp-lock-hint-uncontended-dep.f90 b/libgomp/testsuite/libgomp.fortran/omp-lock-hint-uncontended-dep.f90
new file mode 100644 (file)
index 0000000..1150c58
--- /dev/null
@@ -0,0 +1,8 @@
+! { dg-do compile }
+
+program hint_uncontended_dep
+  use omp_lib ! { dg-warning "Using parameter 'omp_lock_hint_uncontended' declared at \\(1\\) is deprecated \\\[-Wdeprecated-declarations\\\]" }
+  integer (kind=omp_lock_kind) :: lock
+  call omp_init_lock_with_hint(lock, omp_lock_hint_uncontended)
+  call omp_destroy_lock(lock)
+end program
index 3de6968bae285aee81054d8ad3cb981f3ade8161..4cdd5e95ebedb4142b9816ead6960b88b42fcaea 100644 (file)
@@ -1,4 +1,5 @@
 ! { dg-do run }
+! { dg-additional-options "-Wno-deprecated-openmp" }
 use omp_lib
   call test_master
   call test_critical
@@ -14,14 +15,14 @@ contains
 !$omp master
     i = .true.
     j = omp_get_thread_num () .eq. 0
-!$omp endmaster
+!$omp end master
 !$omp end parallel
     if (.not. (i .or. j)) stop 1
   end subroutine test_master
 
   subroutine test_critical_1 (i, j)
     integer :: i, j
-!$omp critical(critical_foo) 
+!$omp critical(critical_foo)
     i = i + 1
 !$omp end critical (critical_foo)
 !$omp critical
index 78d4b981f6b11e3b4c9fe0ed2982bd13b7d982e1..4f194346cf33a250a94ea7f65fda15ec57dfb216 100644 (file)
@@ -4,6 +4,6 @@
       implicit none
       include "omp_lib.h"
 
-      if (openmp_version .ne. 201511) stop 1;
+      if (openmp_version .ne. 202111) stop 1;
 
       end program main
index 693dba0b3f54d6612057265c50384379287d869e..97e22c00cdf39011e7e337d6a33db4ef8e9632cf 100644 (file)
@@ -4,6 +4,6 @@ program main
   use omp_lib
   implicit none
 
-  if (openmp_version .ne. 201511) stop 1;
+  if (openmp_version .ne. 202111) stop 1;
 
 end program main
index 1e30b4807ef798821dac3c7440d3b0692a8a80e1..e9ac5129bbab782678bfa31f1b7805735dac8029 100644 (file)
@@ -1,4 +1,4 @@
-! { dg-additional-options "-fdump-tree-original" }
+! { dg-additional-options "-fdump-tree-original -Wno-deprecated-openmp" }
 program main
   use omp_lib
   implicit none (type, external)
index 3db052e72aa120beafecebd90307b3d58b97169a..b8cda370896018c0559fef9a40f396f90a6936aa 100644 (file)
@@ -1,5 +1,6 @@
 ! { dg-do run }
 ! { dg-require-effective-target tls_runtime }
+! { dg-additional-options "-Wno-deprecated-openmp" }
   integer, pointer, save :: thr(:)
 !$omp threadprivate (thr)
   integer, target :: s(3), t(3), u(3)
index 24d849cc60ff1961a57653bcd6a9201f3f49d6ff..817a28ddeafa1b4f996f6397c89ceb14879d2506 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do run }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
   integer, dimension (6, 6) :: a
   character (36) :: c
   integer nthreads
index 7b77992a21dda9e918c51c85514cbb28528bd66a..8da507cb5ed34cb6a3a246d6674717b249b6039d 100644 (file)
@@ -1,5 +1,5 @@
 ! PR fortran/104949
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 implicit none (type,external)
 integer, allocatable :: A(:)
 A = [1,2,3,4,5,6]
index 0254f2dc1960e35b090f463be5516bd60ac5904a..2f3aa2b45c032504133881e2bc9d39368db121dd 100644 (file)
@@ -1,4 +1,5 @@
 ! { dg-do run }
+! { dg-additional-options "-Wno-deprecated-openmp" }
 ! Comprehensive run-time test for use_device_addr
 !
 ! Differs from use_device_addr-2.f90 by using a 8-byte variable (c_double)
@@ -77,7 +78,6 @@ contains
       real(c_double), target :: from_r(:), to_r(:)
       ! The extra function is needed as is_device_ptr
       ! requires non-value, non-pointer dummy arguments
-
       !$omp target is_device_ptr(from_r, to_r)
       call copy3_scalar_int(from_r(1), to_r(1))
       !$omp end target
index 3dd1f90f04c733233bcddeb8c35f70d32a7aefe9..ae56de6e973e4570a52bffc3dfcc5e20ec5d1a15 100644 (file)
@@ -1,4 +1,5 @@
 ! { dg-do run }
+! { dg-additional-options "-Wno-deprecated-openmp" }
 ! Comprehensive run-time test for use_device_addr
 !
 ! Differs from use_device_addr-1.f90 by using a 4-byte variable (c_float)
index a917d289fe8f3e3e07b1490d2e8ef716557e03ec..cd3642ca41c75c0dfb4bac4bab082f7cd82fa039 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do run }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 ! Comprehensive run-time test for use_device_addr
 !
 ! Tests array with array descriptor
index e7b6c624f4edd032c8c07dd6590166415daef347..e930eb7fecd8cb69248fecb9a620827a4a20cf0a 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do run }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 ! Comprehensive run-time test for use_device_addr
 !
 ! Tests array with array descriptor
index 3124d60fe9beb6fa961acaaf8536d216c4454d36..8b94999af5f10be8e5ca9fb8cd7b52f038820f5f 100644 (file)
@@ -1,3 +1,4 @@
+! { dg-additional-options "-Wno-deprecated-openmp" }
 program main
   use omp_lib
   implicit none
index e5390e27a5128525be4e98a15042e7863349d7c3..915e4bd52107a17c5ccaaf3e466ff811420ef8e0 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do run }
-
+! { dg-additional-options "-Wno-deprecated-openmp" }
 module target_procs
   use iso_c_binding
   implicit none (type, external)
index f2b33cd5e89654fae73c55562af930242a1fee06..351ad7a2f59482344a1eeaaef6db3cdb3ce62e16 100644 (file)
@@ -1,5 +1,5 @@
 ! PR fortran/98858
-!
+! { dg-additional-options "-Wno-deprecated-openmp" }
 ! Assumed-size array with use_device_ptr()
 !
 program test_use_device_ptr
index 8c361d1e3cd9cf078a0139177384993f2fd98244..63ffa60a7336a052b572a5214686f0c28121cf2b 100644 (file)
@@ -1,5 +1,5 @@
 ! { dg-do run }
-!
+! { dg-additional-options "-Wno-deprecated-openmp" }
 ! Test user_device_ptr nested within another parallel
 ! construct
 !
index e92ee8bf573c64f42940c4cbb7933e5e5f19c6d4..f1ee850d6fb0e15c8d7156fb149a39d11af96bfa 100644 (file)
@@ -1,4 +1,5 @@
 ! { dg-do run }
+! { dg-additional-options "-Wno-deprecated-openmp" }
 ! Test whether use_device_ptr properly handles OPTIONAL arguments
 ! (Only case of present arguments is tested)
 program test_it
index 7a4aaae52cbd053692516bff219effe14d2f699d..7033b7aa9627de367bb43499d9bfc6aad95be2fe 100644 (file)
@@ -1,4 +1,5 @@
 ! { dg-do run }
+! { dg-additional-options "-Wno-deprecated-openmp" }
 ! Check whether absent optional arguments are properly
 ! handled with use_device_{addr,ptr}.
 program main
index b06a88415b47f9cbd684ec607d294fd52c64cf85..01cd4cfb5703a081624f7b3223a9ebd14f2ed6d8 100644 (file)
@@ -1,4 +1,5 @@
 ! { dg-do run }
+! { dg-additional-options "-Wno-deprecated-openmp" }
 ! Check whether absent optional arguments are properly
 ! handled with use_device_{addr,ptr}.
 program main