forked from OSchip/llvm-project
clang-cl: Implement /GL in terms of -flto.
No documentation yet; the linker needs more work. Differential Revision: http://reviews.llvm.org/D10270 llvm-svn: 239213
This commit is contained in:
parent
ace2f091fd
commit
8a484c3017
|
@ -202,6 +202,7 @@ def _SLASH_Fi : CLCompileJoined<"Fi">,
|
|||
def _SLASH_Fo : CLCompileJoined<"Fo">,
|
||||
HelpText<"Set output object file, or directory (ends in / or \\)">,
|
||||
MetaVarName<"<file or directory>">;
|
||||
def _SLASH_GL : CLFlag<"GL">, Alias<flto>;
|
||||
def _SLASH_LD : CLFlag<"LD">, HelpText<"Create DLL">;
|
||||
def _SLASH_LDd : CLFlag<"LDd">, HelpText<"Create debug DLL">;
|
||||
def _SLASH_link : CLRemainingArgs<"link">,
|
||||
|
@ -286,7 +287,6 @@ def _SLASH_G2 : CLFlag<"G2">;
|
|||
def _SLASH_Ge : CLFlag<"Ge">;
|
||||
def _SLASH_Gh : CLFlag<"Gh">;
|
||||
def _SLASH_GH : CLFlag<"GH">;
|
||||
def _SLASH_GL : CLFlag<"GL">;
|
||||
def _SLASH_GL_ : CLFlag<"GL-">;
|
||||
def _SLASH_Gm : CLFlag<"Gm">;
|
||||
def _SLASH_Gm_ : CLFlag<"Gm-">;
|
||||
|
|
|
@ -1744,7 +1744,7 @@ const char *Driver::GetNamedOutputPath(Compilation &C,
|
|||
// Determine what the derived output name should be.
|
||||
const char *NamedOutput;
|
||||
|
||||
if (JA.getType() == types::TY_Object &&
|
||||
if ((JA.getType() == types::TY_Object || JA.getType() == types::TY_LTO_BC) &&
|
||||
C.getArgs().hasArg(options::OPT__SLASH_Fo, options::OPT__SLASH_o)) {
|
||||
// The /Fo or /o flag decides the object filename.
|
||||
StringRef Val = C.getArgs().getLastArg(options::OPT__SLASH_Fo,
|
||||
|
|
|
@ -45,7 +45,7 @@ types::ID types::getPreprocessedType(ID Id) {
|
|||
}
|
||||
|
||||
const char *types::getTypeTempSuffix(ID Id, bool CLMode) {
|
||||
if (Id == TY_Object && CLMode)
|
||||
if ((Id == TY_Object || Id == TY_LTO_BC) && CLMode)
|
||||
return "obj";
|
||||
if (Id == TY_Image && CLMode)
|
||||
return "exe";
|
||||
|
|
|
@ -273,3 +273,9 @@
|
|||
// RUN: %clang_cl /P /Fifoo.x /obar.x -### -- %s 2>&1 | FileCheck -check-prefix=FioRACE2 %s
|
||||
// FioRACE2: "-E"
|
||||
// FioRACE2: "-o" "bar.x"
|
||||
|
||||
// RUN: %clang_cl /c /GL -### -- %s 2>&1 | FileCheck -check-prefix=LTO-DEFAULT %s
|
||||
// LTO-DEFAULT: "-emit-llvm-bc"{{.*}}"-o" "cl-outputs.obj"
|
||||
|
||||
// RUN: %clang_cl /c /GL /Fofoo -### -- %s 2>&1 | FileCheck -check-prefix=LTO-FO %s
|
||||
// LTO-FO: "-emit-llvm-bc"{{.*}}"-o" "foo.obj"
|
||||
|
|
Loading…
Reference in New Issue