diff options
author | Douglas Gregor <dgregor@apple.com> | 2013-01-15 06:45:29 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2013-01-15 06:45:29 +0000 |
commit | 1517128912cfe5c9e7635424f683f9a6695fcfe0 (patch) | |
tree | 3333ea2c3bdc3ec3b2b26efd54afcd0cbdd3958b /clang/lib | |
parent | daa46eb7361fe3d04d377c3713ce7fe68e0f3113 (diff) | |
download | bcm5719-llvm-1517128912cfe5c9e7635424f683f9a6695fcfe0.tar.gz bcm5719-llvm-1517128912cfe5c9e7635424f683f9a6695fcfe0.zip |
Add -fopenmp -cc1 option and wire it up to define _OPENMP, from Alexey Bataev!
llvm-svn: 172509
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 0f00c07ca93..20def5e480c 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -1241,6 +1241,9 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK, Opts.ApplePragmaPack = Args.hasArg(OPT_fapple_pragma_pack); Opts.CurrentModule = Args.getLastArgValue(OPT_fmodule_name); + // Check if -fopenmp is specified. + Opts.OpenMP = Args.hasArg(OPT_fopenmp); + // Record whether the __DEPRECATED define was requested. Opts.Deprecated = Args.hasFlag(OPT_fdeprecated_macro, OPT_fno_deprecated_macro, diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 886b212bc2b..3646e27a491 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -641,6 +641,16 @@ static void InitializePredefinedMacros(const TargetInfo &TI, "__attribute__((objc_ownership(none)))"); } + // OpenMP definition + if (LangOpts.OpenMP) { + // OpenMP 2.2: + // In implementations that support a preprocessor, the _OPENMP + // macro name is defined to have the decimal value yyyymm where + // yyyy and mm are the year and the month designations of the + // version of the OpenMP API that the implementation support. + Builder.defineMacro("_OPENMP", "201107"); + } + // Get other target #defines. TI.getTargetDefines(LangOpts, Builder); } |