diff options
author | Pirama Arumuga Nainar <pirama@google.com> | 2016-06-09 23:34:20 +0000 |
---|---|---|
committer | Pirama Arumuga Nainar <pirama@google.com> | 2016-06-09 23:34:20 +0000 |
commit | 1ba5b9cd943eebb42266eb11b787c47af78b4287 (patch) | |
tree | cfb7eb48b8404d7856ac492e1c19ce455d82d7eb /lib/Frontend/CompilerInvocation.cpp | |
parent | a6d5f7999c292d3bd922f11934d337b78ba4b194 (diff) | |
download | clang-1ba5b9cd943eebb42266eb11b787c47af78b4287.tar.gz |
RenderScript support in the Frontend
Summary:
Create a new Frontend LangOpt to specify the renderscript language. It
is enabled by the "-x renderscript" option from the driver.
Add a "kernel" function attribute only for RenderScript (an "ignored
attribute" warning is generated otherwise).
Make the NativeHalfType and NativeHalfArgsAndReturns LangOpts be implied
by the RenderScript LangOpt.
Reviewers: rsmith
Subscribers: cfe-commits, srhines
Differential Revision: http://reviews.llvm.org/D21198
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272342 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | lib/Frontend/CompilerInvocation.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp index a948653ee7..b217db96c7 100644 --- a/lib/Frontend/CompilerInvocation.cpp +++ b/lib/Frontend/CompilerInvocation.cpp @@ -1292,6 +1292,7 @@ static InputKind ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args, .Case("objective-c++-header", IK_ObjCXX) .Cases("ast", "pcm", IK_AST) .Case("ir", IK_LLVM_IR) + .Case("renderscript", IK_RenderScript) .Default(IK_None); if (DashX == IK_None) Diags.Report(diag::err_drv_invalid_value) @@ -1495,6 +1496,9 @@ void CompilerInvocation::setLangDefaults(LangOptions &Opts, InputKind IK, case IK_PreprocessedObjCXX: LangStd = LangStandard::lang_gnucxx98; break; + case IK_RenderScript: + LangStd = LangStandard::lang_c99; + break; } } @@ -1537,6 +1541,12 @@ void CompilerInvocation::setLangDefaults(LangOptions &Opts, InputKind IK, Opts.CUDA = IK == IK_CUDA || IK == IK_PreprocessedCuda || LangStd == LangStandard::lang_cuda; + Opts.RenderScript = IK == IK_RenderScript; + if (Opts.RenderScript) { + Opts.NativeHalfType = 1; + Opts.NativeHalfArgsAndReturns = 1; + } + // OpenCL and C++ both have bool, true, false keywords. Opts.Bool = Opts.OpenCL || Opts.CPlusPlus; |