Improve the search of the clang instance for CUDA.
Before, it was not possible to find the clang++, which is contained in the cling, if we don't start the clang from the bin folder ('./cling -xcuda'). Now, for example it is possible to start the cling with 'bin/cling -xcuda' . Fix a Bug, which avoid to start './cling -xcuda -fsyntax-only'.
This commit is contained in:
parent
2b61966c0d
commit
d14ab2daec
@ -125,7 +125,12 @@ namespace cling {
|
|||||||
cling::InvocationOptions & invocationOptions){
|
cling::InvocationOptions & invocationOptions){
|
||||||
// Search after clang in the folder of cling.
|
// Search after clang in the folder of cling.
|
||||||
llvm::SmallString<128> cwd;
|
llvm::SmallString<128> cwd;
|
||||||
llvm::sys::fs::current_path(cwd);
|
// get folder of the cling executable to find the clang which is contained
|
||||||
|
// in cling
|
||||||
|
// nullptr is ok, if we are the main and not a shared library
|
||||||
|
cwd.append(llvm::sys::path::parent_path(
|
||||||
|
llvm::sys::fs::getMainExecutable(
|
||||||
|
invocationOptions.CompilerOpts.Remaining[0], (void *) &cwd)));
|
||||||
cwd.append(llvm::sys::path::get_separator());
|
cwd.append(llvm::sys::path::get_separator());
|
||||||
cwd.append("clang++");
|
cwd.append("clang++");
|
||||||
m_ClangPath = cwd.c_str();
|
m_ClangPath = cwd.c_str();
|
||||||
|
@ -793,8 +793,9 @@ namespace cling {
|
|||||||
else if (Diags.getNumWarnings())
|
else if (Diags.getNumWarnings())
|
||||||
return kSuccessWithWarnings;
|
return kSuccessWithWarnings;
|
||||||
|
|
||||||
if(m_CI->getLangOpts().CUDA )
|
if(!m_Interpreter->isInSyntaxOnlyMode() && m_CI->getLangOpts().CUDA )
|
||||||
m_Interpreter->getCUDADeviceCompiler().generateFatbinary(input, m_Consumer->getTransaction());
|
m_Interpreter->getCUDADeviceCompiler()
|
||||||
|
.generateFatbinary(input, m_Consumer->getTransaction());
|
||||||
|
|
||||||
return kSuccess;
|
return kSuccess;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user