Skip to content

Commit

Permalink
Merge pull request ROCm#55 from ROCm-Developer-Tools/flang-offload-in…
Browse files Browse the repository at this point in the history
…clude

Add include path of AOMP/include for fortran offload to find mod files
  • Loading branch information
ronlieb committed Nov 26, 2019
2 parents d5f92b6 + eb899b6 commit 4cc9fc8
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
41 changes: 41 additions & 0 deletions clang/lib/Driver/ToolChains/HIP.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -575,6 +575,47 @@ void HIPToolChain::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
CC1Args.push_back(DriverArgs.MakeArgString(P));
}

/// Convert path list to Fortran frontend argument
static void AddFlangSysIncludeArg(const ArgList &DriverArgs,
ArgStringList &Flang1args,
ToolChain::path_list IncludePathList) {
std::string ArgValue; // Path argument value

// Make up argument value consisting of paths separated by colons
bool first = true;
for (auto P : IncludePathList) {
if (first) {
first = false;
} else {
ArgValue += ":";
}
ArgValue += P;
}

// Add the argument
Flang1args.push_back("-stdinc");
Flang1args.push_back(DriverArgs.MakeArgString(ArgValue));
}

/// Currently only adding include dir from install directory
void HIPToolChain::AddFlangSystemIncludeArgs(const ArgList &DriverArgs,
ArgStringList &Flang1args) const {
path_list IncludePathList;
const Driver &D = getDriver();

if (DriverArgs.hasArg(options::OPT_nostdinc))
return;

{
SmallString<128> P(D.InstalledDir);
llvm::sys::path::append(P, "../include");
IncludePathList.push_back(P.str());
}

AddFlangSysIncludeArg(DriverArgs, Flang1args, IncludePathList);
return;
}

void HIPToolChain::AddClangCXXStdlibIncludeArgs(const ArgList &Args,
ArgStringList &CC1Args) const {
HostTC.AddClangCXXStdlibIncludeArgs(Args, CC1Args);
Expand Down
3 changes: 3 additions & 0 deletions clang/lib/Driver/ToolChains/HIP.h
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,9 @@ class LLVM_LIBRARY_VISIBILITY HIPToolChain : public ToolChain {
void AddClangCXXStdlibIncludeArgs(
const llvm::opt::ArgList &Args,
llvm::opt::ArgStringList &CC1Args) const override;
void
AddFlangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &FlangArgs) const override;
void AddIAMCUIncludeArgs(const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args) const override;

Expand Down

0 comments on commit 4cc9fc8

Please sign in to comment.