clang  3.9.0
Functions
MSVCToolChain.cpp File Reference
#include "ToolChains.h"
#include "Tools.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/Version.h"
#include "clang/Driver/Compilation.h"
#include "clang/Driver/Driver.h"
#include "clang/Driver/DriverDiagnostic.h"
#include "clang/Driver/Options.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Option/Arg.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Support/ConvertUTF.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Process.h"
#include <cstdio>
Include dependency graph for MSVCToolChain.cpp:

Go to the source code of this file.

Functions

static bool getSystemRegistryString (const char *keyPath, const char *valueName, std::string &value, std::string *phValue)
 Read registry string. More...
 
static StringRef getWindowsSDKArch (llvm::Triple::ArchType Arch)
 
static bool getWindows10SDKVersion (const std::string &SDKPath, std::string &SDKVersion)
 
static void TranslateOptArg (Arg *A, llvm::opt::DerivedArgList &DAL, bool SupportsForcingFramePointer, const char *ExpandChar, const OptTable &Opts)
 
static void TranslateDArg (Arg *A, llvm::opt::DerivedArgList &DAL, const OptTable &Opts)
 

Function Documentation

static bool getSystemRegistryString ( const char *  keyPath,
const char *  valueName,
std::string &  value,
std::string *  phValue 
)
static

Read registry string.

This also supports a means to look for high-versioned keys by use of a $VERSION placeholder in the key path. $VERSION in the key path is a placeholder for the version number, causing the highest value path to be searched for and used. I.e. "SOFTWARE\\Microsoft\\VisualStudio\\$VERSION". There can be additional characters in the component. Only the numeric characters are compared. This function only searches HKLM.

Definition at line 134 of file MSVCToolChain.cpp.

References clang::isDigit(), and NULL.

Referenced by clang::driver::toolchains::MSVCToolChain::getUniversalCRTSdkDir(), clang::driver::toolchains::MSVCToolChain::getVisualStudioInstallDir(), and clang::driver::toolchains::MSVCToolChain::getWindowsSDKDir().

static bool getWindows10SDKVersion ( const std::string &  SDKPath,
std::string &  SDKVersion 
)
static
static StringRef getWindowsSDKArch ( llvm::Triple::ArchType  Arch)
static
static void TranslateDArg ( Arg *  A,
llvm::opt::DerivedArgList &  DAL,
const OptTable &  Opts 
)
static
static void TranslateOptArg ( Arg *  A,
llvm::opt::DerivedArgList &  DAL,
bool  SupportsForcingFramePointer,
const char *  ExpandChar,
const OptTable &  Opts 
)
static

Definition at line 698 of file MSVCToolChain.cpp.

References E, and I.

Referenced by clang::driver::toolchains::MSVCToolChain::TranslateArgs().