From 8ebd1b31828a67ad889f894bc82141e1acafb953 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 10 Nov 2016 18:05:18 +0100 Subject: [PATCH] cpp.c (cpp_define_builtins): Define _OPENMP to 201511 instead of 201307. gcc/fortran/ * cpp.c (cpp_define_builtins): Define _OPENMP to 201511 instead of 201307. * gfortran.texi: Mention partial OpenMP 4.5 support. * intrinsic.texi: Update for OpenMP 4.5. gcc/testsuite/ * gfortran.dg/openmp-define-3.f90: Expect 201511 instead of 201307. libgomp/ * omp_lib.f90.in (openmp_version): Change to 201511 from 201307. * omp_lib.h.in (openmp_version): Likewise. * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead of 201307. * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. From-SVN: r242044 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/cpp.c | 2 +- gcc/fortran/gfortran.texi | 5 +++-- gcc/fortran/intrinsic.texi | 8 ++++---- gcc/testsuite/ChangeLog | 3 +++ gcc/testsuite/gfortran.dg/openmp-define-3.f90 | 2 +- libgomp/ChangeLog | 6 ++++++ libgomp/omp_lib.f90.in | 2 +- libgomp/omp_lib.h.in | 2 +- libgomp/testsuite/libgomp.fortran/openmp_version-1.f | 2 +- libgomp/testsuite/libgomp.fortran/openmp_version-2.f90 | 2 +- 11 files changed, 27 insertions(+), 12 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index f1ea9a3bc62..012d211ff00 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,10 @@ 2016-11-10 Jakub Jelinek + * cpp.c (cpp_define_builtins): Define _OPENMP to 201511 instead + of 201307. + * gfortran.texi: Mention partial OpenMP 4.5 support. + * intrinsic.texi: Update for OpenMP 4.5. + * openmp.c (gfc_free_omp_clauses): Free critical_name, grainsize, hint, num_tasks, priority and if_exprs. (gfc_match_omp_to_link, gfc_match_omp_depend_sink): New functions. diff --git a/gcc/fortran/cpp.c b/gcc/fortran/cpp.c index 8ac80926871..68ec549c9c3 100644 --- a/gcc/fortran/cpp.c +++ b/gcc/fortran/cpp.c @@ -168,7 +168,7 @@ cpp_define_builtins (cpp_reader *pfile) cpp_define (pfile, "_OPENACC=201306"); if (flag_openmp) - cpp_define (pfile, "_OPENMP=201307"); + cpp_define (pfile, "_OPENMP=201511"); /* The defines below are necessary for the TARGET_* macros. diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi index 6de6c9bfeeb..6d8805cfc98 100644 --- a/gcc/fortran/gfortran.texi +++ b/gcc/fortran/gfortran.texi @@ -536,7 +536,8 @@ The current status of the support is can be found in the and @ref{TS 18508 status} sections of the documentation. Additionally, the GNU Fortran compilers supports the OpenMP specification -(version 4.0, @url{http://openmp.org/@/wp/@/openmp-specifications/}). +(version 4.0 and most of the features of the 4.5 version, +@url{http://openmp.org/@/wp/@/openmp-specifications/}). There also is initial support for the OpenACC specification (targeting version 2.0, @uref{http://www.openacc.org/}). Note that this is an experimental feature, incomplete, and subject to @@ -1999,7 +2000,7 @@ and environment variables that influence run-time behavior. GNU Fortran strives to be compatible to the @uref{http://openmp.org/wp/openmp-specifications/, -OpenMP Application Program Interface v4.0}. +OpenMP Application Program Interface v4.5}. To enable the processing of the OpenMP directive @code{!$omp} in free-form source code; the @code{c$omp}, @code{*$omp} and @code{!$omp} diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi index 85f781e7a5d..8122c628823 100644 --- a/gcc/fortran/intrinsic.texi +++ b/gcc/fortran/intrinsic.texi @@ -14769,7 +14769,7 @@ with the following options: @code{-fno-unsafe-math-optimizations @section OpenMP Modules @code{OMP_LIB} and @code{OMP_LIB_KINDS} @table @asis @item @emph{Standard}: -OpenMP Application Program Interface v4.0 +OpenMP Application Program Interface v4.5 @end table @@ -14783,8 +14783,8 @@ the named constants defined in the modules are listed below. For details refer to the actual -@uref{http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf, -OpenMP Application Program Interface v4.0}. +@uref{http://www.openmp.org/wp-content/uploads/openmp-4.5.pdf, +OpenMP Application Program Interface v4.5}. @code{OMP_LIB_KINDS} provides the following scalar default-integer named constants: @@ -14799,7 +14799,7 @@ named constants: @code{OMP_LIB} provides the scalar default-integer named constant @code{openmp_version} with a value of the form @var{yyyymm}, where @code{yyyy} is the year and @var{mm} the month -of the OpenMP version; for OpenMP v4.0 the value is @code{201307}. +of the OpenMP version; for OpenMP v4.5 the value is @code{201511}. The following scalar integer named constants of the kind @code{omp_sched_kind}: diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7c131725f5a..d522e24928c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2016-11-10 Jakub Jelinek + * gfortran.dg/openmp-define-3.f90: Expect 201511 instead of + 201307. + * g++.dg/cpp1z/noexcept-type14.C: New test. * g++.dg/asan/asan_test.C: Remove -Wno-c++1z-compat from dg-options. diff --git a/gcc/testsuite/gfortran.dg/openmp-define-3.f90 b/gcc/testsuite/gfortran.dg/openmp-define-3.f90 index 44d5c9de49b..d20502dece1 100644 --- a/gcc/testsuite/gfortran.dg/openmp-define-3.f90 +++ b/gcc/testsuite/gfortran.dg/openmp-define-3.f90 @@ -6,6 +6,6 @@ # error _OPENMP not defined #endif -#if _OPENMP != 201307 +#if _OPENMP != 201511 # error _OPENMP defined to wrong value #endif diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 920e3780f19..7e32fd00666 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,5 +1,11 @@ 2016-11-10 Jakub Jelinek + * omp_lib.f90.in (openmp_version): Change to 201511 from 201307. + * omp_lib.h.in (openmp_version): Likewise. + * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead + of 201307. + * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. + * testsuite/libgomp.fortran/examples-4/declare_target-1.f90 (fib_wrapper): Add map(from: x) clause. * testsuite/libgomp.fortran/examples-4/declare_target-2.f90 diff --git a/libgomp/omp_lib.f90.in b/libgomp/omp_lib.f90.in index 149c2e44b9f..2e73ce5f93b 100644 --- a/libgomp/omp_lib.f90.in +++ b/libgomp/omp_lib.f90.in @@ -59,7 +59,7 @@ module omp_lib use omp_lib_kinds implicit none - integer, parameter :: openmp_version = 201307 + integer, parameter :: openmp_version = 201511 interface subroutine omp_init_lock (svar) diff --git a/libgomp/omp_lib.h.in b/libgomp/omp_lib.h.in index 992a8635e48..032b6573ee5 100644 --- a/libgomp/omp_lib.h.in +++ b/libgomp/omp_lib.h.in @@ -58,7 +58,7 @@ parameter (omp_lock_hint_contended = 2) parameter (omp_lock_hint_nonspeculative = 4) parameter (omp_lock_hint_speculative = 8) - parameter (openmp_version = 201307) + parameter (openmp_version = 201511) external omp_init_lock, omp_init_nest_lock external omp_init_lock_with_hint diff --git a/libgomp/testsuite/libgomp.fortran/openmp_version-1.f b/libgomp/testsuite/libgomp.fortran/openmp_version-1.f index be24adcca0c..20ca78a9fed 100644 --- a/libgomp/testsuite/libgomp.fortran/openmp_version-1.f +++ b/libgomp/testsuite/libgomp.fortran/openmp_version-1.f @@ -4,6 +4,6 @@ implicit none include "omp_lib.h" - if (openmp_version .ne. 201307) call abort; + if (openmp_version .ne. 201511) call abort; end program main diff --git a/libgomp/testsuite/libgomp.fortran/openmp_version-2.f90 b/libgomp/testsuite/libgomp.fortran/openmp_version-2.f90 index 62712c7d206..1e0dbec7bc4 100644 --- a/libgomp/testsuite/libgomp.fortran/openmp_version-2.f90 +++ b/libgomp/testsuite/libgomp.fortran/openmp_version-2.f90 @@ -4,6 +4,6 @@ program main use omp_lib implicit none - if (openmp_version .ne. 201307) call abort; + if (openmp_version .ne. 201511) call abort; end program main -- 2.30.2