From a06155ddc4edb22f44425f2cf6a2038f4e4c4546 Mon Sep 17 00:00:00 2001 From: Alexey Bataev Date: Wed, 7 Aug 2019 14:39:17 +0000 Subject: [PATCH] [OPENMP]Set default version to OpenMP 4.5. Since clang fully supports OpenMP 4.5, set the default version to 4.5 instead of 3.1. llvm-svn: 368172 --- clang/lib/Frontend/CompilerInvocation.cpp | 4 ++-- clang/lib/Frontend/InitPreprocessor.cpp | 10 +++++----- clang/test/OpenMP/driver.c | 7 +++++-- clang/test/OpenMP/parallel_default_messages.cpp | 2 +- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index d1e9b14aeb2f..9bd602303487 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -2894,8 +2894,8 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK, } } - // Check if -fopenmp is specified. - Opts.OpenMP = Args.hasArg(options::OPT_fopenmp) ? 1 : 0; + // Check if -fopenmp is specified and set default version to 4.5. + Opts.OpenMP = Args.hasArg(options::OPT_fopenmp) ? 45 : 0; // Check if -fopenmp-simd is specified. bool IsSimdSpecified = Args.hasFlag(options::OPT_fopenmp_simd, options::OPT_fno_openmp_simd, diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 79b5395372fd..10bebc71d296 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -1032,18 +1032,18 @@ static void InitializePredefinedMacros(const TargetInfo &TI, switch (LangOpts.OpenMP) { case 0: break; + case 31: + Builder.defineMacro("_OPENMP", "201107"); + break; case 40: Builder.defineMacro("_OPENMP", "201307"); break; - case 45: - Builder.defineMacro("_OPENMP", "201511"); - break; case 50: Builder.defineMacro("_OPENMP", "201811"); break; default: - // Default version is OpenMP 3.1 - Builder.defineMacro("_OPENMP", "201107"); + // Default version is OpenMP 4.5 + Builder.defineMacro("_OPENMP", "201511"); break; } } diff --git a/clang/test/OpenMP/driver.c b/clang/test/OpenMP/driver.c index 58d5538e64f2..dad4479833e1 100644 --- a/clang/test/OpenMP/driver.c +++ b/clang/test/OpenMP/driver.c @@ -15,9 +15,12 @@ // RUN: %clang %s -c -E -dM -fopenmp=libomp -fopenmp-version=1 | FileCheck --check-prefix=CHECK-DEFAULT-VERSION %s // RUN: %clang %s -c -E -dM -fopenmp=libomp -fopenmp-version=0 | FileCheck --check-prefix=CHECK-DEFAULT-VERSION %s // RUN: %clang %s -c -E -dM -fopenmp=libomp -fopenmp-version=100 | FileCheck --check-prefix=CHECK-DEFAULT-VERSION %s -// RUN: %clang %s -c -E -dM -fopenmp=libomp -fopenmp-version=31 | FileCheck --check-prefix=CHECK-DEFAULT-VERSION %s +// RUN: %clang %s -c -E -dM -fopenmp=libomp -fopenmp-version=45 | FileCheck --check-prefix=CHECK-DEFAULT-VERSION %s -// CHECK-DEFAULT-VERSION: #define _OPENMP 201107 +// CHECK-DEFAULT-VERSION: #define _OPENMP 201511 + +// RUN: %clang %s -c -E -dM -fopenmp=libomp -fopenmp-version=31 | FileCheck --check-prefix=CHECK-31-VERSION %s +// CHECK-31-VERSION: #define _OPENMP 201107 // RUN: %clang %s -c -E -dM -fopenmp=libomp -fopenmp-version=40 | FileCheck --check-prefix=CHECK-40-VERSION %s // CHECK-40-VERSION: #define _OPENMP 201307 diff --git a/clang/test/OpenMP/parallel_default_messages.cpp b/clang/test/OpenMP/parallel_default_messages.cpp index 6ae0ba51ac35..6b8ad6705185 100644 --- a/clang/test/OpenMP/parallel_default_messages.cpp +++ b/clang/test/OpenMP/parallel_default_messages.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 -o - %s -Wuninitialized +// RUN: %clang_cc1 -verify=expected,ge40 -fopenmp -ferror-limit 100 -o - %s -Wuninitialized // RUN: %clang_cc1 -verify=expected,ge40 -fopenmp-simd -ferror-limit 100 -o - %s -Wuninitialized // RUN: %clang_cc1 -verify=expected,ge40 -fopenmp-version=50 -fopenmp -ferror-limit 100 -o - %s -Wuninitialized // RUN: %clang_cc1 -verify=expected,ge40 -fopenmp-version=40 -fopenmp -ferror-limit 100 -o - %s -Wuninitialized