Push bound architecture name into TranslateArgs.

llvm-svn: 81366
This commit is contained in:
Daniel Dunbar 2009-09-09 18:36:12 +00:00
parent b5d86bbd76
commit e7af341454
4 changed files with 15 additions and 8 deletions

View File

@ -68,9 +68,12 @@ public:
// Tool access.
/// TranslateArgs - Create a new derived argument list for any
/// argument translations this ToolChain may wish to perform.
virtual DerivedArgList *TranslateArgs(InputArgList &Args) const = 0;
/// TranslateArgs - Create a new derived argument list for any argument
/// translations this ToolChain may wish to perform.
///
/// \param BoundArch - The bound architecture name, or 0.
virtual DerivedArgList *TranslateArgs(InputArgList &Args,
const char *BoundArch) const = 0;
/// SelectTool - Choose a tool to use to handle the action \arg JA.
virtual Tool &SelectTool(const Compilation &C, const JobAction &JA) const = 0;

View File

@ -49,7 +49,7 @@ const DerivedArgList &Compilation::getArgsForToolChain(const ToolChain *TC,
DerivedArgList *&Entry = TCArgs[std::make_pair(TC, BoundArch)];
if (!Entry)
Entry = TC->TranslateArgs(*Args);
Entry = TC->TranslateArgs(*Args, BoundArch);
return *Entry;
}

View File

@ -133,7 +133,8 @@ Tool &Darwin::SelectTool(const Compilation &C, const JobAction &JA) const {
return *T;
}
DerivedArgList *Darwin::TranslateArgs(InputArgList &Args) const {
DerivedArgList *Darwin::TranslateArgs(InputArgList &Args,
const char *BoundArch) const {
DerivedArgList *DAL = new DerivedArgList(Args, false);
const OptTable &Opts = getHost().getDriver().getOpts();
@ -389,7 +390,8 @@ const char *Generic_GCC::GetForcedPicModel() const {
return 0;
}
DerivedArgList *Generic_GCC::TranslateArgs(InputArgList &Args) const {
DerivedArgList *Generic_GCC::TranslateArgs(InputArgList &Args,
const char *BoundArch) const {
return new DerivedArgList(Args, true);
}

View File

@ -33,7 +33,8 @@ public:
Generic_GCC(const HostInfo &Host, const llvm::Triple& Triple);
~Generic_GCC();
virtual DerivedArgList *TranslateArgs(InputArgList &Args) const;
virtual DerivedArgList *TranslateArgs(InputArgList &Args,
const char *BoundArch) const;
virtual Tool &SelectTool(const Compilation &C, const JobAction &JA) const;
@ -101,7 +102,8 @@ public:
bool isIPhone() const { return IsIPhone; }
virtual DerivedArgList *TranslateArgs(InputArgList &Args) const;
virtual DerivedArgList *TranslateArgs(InputArgList &Args,
const char *BoundArch) const;
virtual Tool &SelectTool(const Compilation &C, const JobAction &JA) const;