Fix -Wsometimes-uninitialized in r199754

Also make the -m16 check x86-specific. Other archs may have a different take on
things.

llvm-svn: 199755
This commit is contained in:
Alp Toker 2014-01-21 18:01:01 +00:00
parent 6996f6b9ec
commit 3e2aa33532
1 changed files with 6 additions and 7 deletions

View File

@ -1903,17 +1903,16 @@ static llvm::Triple computeTargetTriple(StringRef DefaultTargetTriple,
// Handle pseudo-target flags '-m64', '-m32' and '-m16'.
if (Arg *A = Args.getLastArg(options::OPT_m64, options::OPT_m32,
options::OPT_m16)) {
llvm::Triple::ArchType AT;
llvm::Triple::ArchType AT = llvm::Triple::UnknownArch;
if (A->getOption().matches(options::OPT_m64))
AT = Target.get64BitArchVariant().getArch();
else if (A->getOption().matches(options::OPT_m32))
AT = Target.get32BitArchVariant().getArch();
else if (A->getOption().matches(options::OPT_m16)) {
AT = Target.get32BitArchVariant().getArch();
if (AT == llvm::Triple::x86)
Target.setEnvironment(llvm::Triple::CODE16);
else
AT = llvm::Triple::UnknownArch;
else if (A->getOption().matches(options::OPT_m16) &&
Target.get32BitArchVariant().getArch() == llvm::Triple::x86) {
AT = llvm::Triple::x86;
Target.setEnvironment(llvm::Triple::CODE16);
}
if (AT != llvm::Triple::UnknownArch)