9#ifndef LLVM_CLANG_LIB_DRIVER_CLANGCLARGS_H
10#define LLVM_CLANG_LIB_DRIVER_CLANGCLARGS_H
12#include "llvm/Support/Compiler.h"
27 const char *ExpandChar =
nullptr;
28 bool SupportsForcingFramePointer;
32 ClangCLArgs(
const llvm::opt::ArgList &Args,
const llvm::Triple &HostTriple);
37 bool translateArg(llvm::opt::Arg *A, llvm::opt::DerivedArgList &DAL,
38 const llvm::opt::DerivedArgList *Owner =
nullptr)
const;
43 static llvm::opt::DerivedArgList *
45 const llvm::Triple &HostTriple,
46 const llvm::opt::DerivedArgList &Owner);
52 const llvm::opt::ArgList &Args);
bool translateArg(llvm::opt::Arg *A, llvm::opt::DerivedArgList &DAL, const llvm::opt::DerivedArgList *Owner=nullptr) const
Append the canonical translation of A to DAL.
static llvm::opt::DerivedArgList * translateArgs(const llvm::opt::DerivedArgList &Args, const llvm::Triple &HostTriple, const llvm::opt::DerivedArgList &Owner)
Translate a filtered list that may contain new clang-cl options, replacing earlier /O expansions.
static const char * translateMacroDefinition(const char *Value, const llvm::opt::ArgList &Args)
Normalize MSVC's '#' macro separator, also used by Clang targeting MSVC and by arguments parsed after...
ClangCLArgs(const llvm::opt::ArgList &Args, const llvm::Triple &HostTriple)
The argument values must outlive this translator.
Diagnostic wrappers for TextAPI types for error reporting.