Create a frontend flag to disable CUDA cross-target call checks
For CUDA source, Sema checks that the targets of call expressions make sense (e.g. a host function can't call a device function). Adding a flag that lets us skip this check. Motivation: for source-to-source translation tools that have to accept code that's not strictly kosher CUDA but is still accepted by nvcc. The source-to-source translation tool can then fix the code and leave calls that are semantically valid for the actual compilation stage. Differential Revision: http://reviews.llvm.org/D9036 llvm-svn: 235049
This commit is contained in:
@@ -1375,6 +1375,9 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
|
||||
if (Args.hasArg(OPT_fcuda_allow_host_calls_from_host_device))
|
||||
Opts.CUDAAllowHostCallsFromHostDevice = 1;
|
||||
|
||||
if (Args.hasArg(OPT_fcuda_disable_target_call_checks))
|
||||
Opts.CUDADisableTargetCallChecks = 1;
|
||||
|
||||
if (Opts.ObjC1) {
|
||||
if (Arg *arg = Args.getLastArg(OPT_fobjc_runtime_EQ)) {
|
||||
StringRef value = arg->getValue();
|
||||
|
||||
Reference in New Issue
Block a user