[PATCH] D11237: Add support for -rtlib option and -stdlib option to the mingw driver
Martell Malone
martellmalone at gmail.com
Mon Jul 20 00:11:23 PDT 2015
martell added a comment.
ping :)
================
Comment at: tools/clang/lib/Driver/MinGWToolChain.cpp:158
@@ +157,3 @@
+ llvm::sys::path::get_separator() + "c++" +
+ llvm::sys::path::get_separator() + "v1");
+ break;
----------------
Not quite sure if using "v1" here is okay ?
================
Comment at: tools/clang/lib/Driver/MinGWToolChain.cpp:206
@@ +205,3 @@
+
+ToolChain::RuntimeLibType MinGW::GetRuntimeLibType(const ArgList &Args) const{
+ if (Arg *A = Args.getLastArg(options::OPT_rtlib_EQ)) {
----------------
rnk wrote:
> You don't need to override this, you can simply override GetDefaultRuntimeLibType() and leave the base class behavior for this.
Ahh I see that function now.
This makes it easier :)
I don't see a GetDefaultCXXStdlibType maybe that is something that should be added after 3.7
================
Comment at: tools/clang/lib/Driver/ToolChains.h:546-552
@@ -545,2 +545,9 @@
llvm::opt::ArgStringList &CC1Args) const override;
+ void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
+ llvm::opt::ArgStringList &CmdArgs) const override;
+
+ CXXStdlibType GetCXXStdlibType(
+ const llvm::opt::ArgList &Args) const override;
+ RuntimeLibType GetRuntimeLibType(
+ const llvm::opt::ArgList &Args) const override;
----------------
rnk wrote:
> So far as I can tell, none of these overrides have any functionality change other than creating a place for TODOs. I'd rather just wait until we're ready to change the behavior, and then we can see how to do it with the least duplication.
I actually have the behavior changed in my builds, this makes it easier to change but your point makes perfect sense.
I can remove this part of the patch :)
================
Comment at: tools/clang/lib/Driver/Tools.cpp:9064
@@ -9053,3 +9063,3 @@
- AddLibGCC(Args, CmdArgs);
+ AddRuntime(TC, Args, CmdArgs);
----------------
rnk wrote:
> Can't this just be AddRunTimeLibs() and then it won't require changing AddLibGCC?
static void AddLibgcc(const llvm::Triple &Triple, const Driver &D, ArgStringList &CmdArgs, const ArgList &Args)
and
void MinGW::Linker::AddLibGCC(const ArgList &Args, ArgStringList &CmdArgs)
Are completely separate function and one is not belong to a class hierarchy so this isn't possible I don't think
The name change was done to clarify what exactly it was
http://reviews.llvm.org/D11237
More information about the cfe-commits
mailing list