зеркало из https://github.com/microsoft/clang-1.git
clang-cc: Move InitializeDiagnosticOptions to Options.cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86819 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
f797329454
Коммит
0db4b765d7
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
#include "Options.h"
|
#include "Options.h"
|
||||||
#include "clang/Frontend/CompileOptions.h"
|
#include "clang/Frontend/CompileOptions.h"
|
||||||
|
#include "clang/Frontend/DiagnosticOptions.h"
|
||||||
#include "clang/Frontend/HeaderSearchOptions.h"
|
#include "clang/Frontend/HeaderSearchOptions.h"
|
||||||
#include "clang/Frontend/PCHReader.h"
|
#include "clang/Frontend/PCHReader.h"
|
||||||
#include "clang/Frontend/PreprocessorOptions.h"
|
#include "clang/Frontend/PreprocessorOptions.h"
|
||||||
|
@ -86,6 +87,51 @@ TargetFeatures("target-feature", llvm::cl::desc("Target specific attributes"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
// Diagnostic Options
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
namespace diagnosticoptions {
|
||||||
|
|
||||||
|
static llvm::cl::opt<bool>
|
||||||
|
NoShowColumn("fno-show-column",
|
||||||
|
llvm::cl::desc("Do not include column number on diagnostics"));
|
||||||
|
|
||||||
|
static llvm::cl::opt<bool>
|
||||||
|
NoShowLocation("fno-show-source-location",
|
||||||
|
llvm::cl::desc("Do not include source location information with"
|
||||||
|
" diagnostics"));
|
||||||
|
|
||||||
|
static llvm::cl::opt<bool>
|
||||||
|
NoCaretDiagnostics("fno-caret-diagnostics",
|
||||||
|
llvm::cl::desc("Do not include source line and caret with"
|
||||||
|
" diagnostics"));
|
||||||
|
|
||||||
|
static llvm::cl::opt<bool>
|
||||||
|
NoDiagnosticsFixIt("fno-diagnostics-fixit-info",
|
||||||
|
llvm::cl::desc("Do not include fixit information in"
|
||||||
|
" diagnostics"));
|
||||||
|
|
||||||
|
static llvm::cl::opt<bool>
|
||||||
|
PrintSourceRangeInfo("fdiagnostics-print-source-range-info",
|
||||||
|
llvm::cl::desc("Print source range spans in numeric form"));
|
||||||
|
|
||||||
|
static llvm::cl::opt<bool>
|
||||||
|
PrintDiagnosticOption("fdiagnostics-show-option",
|
||||||
|
llvm::cl::desc("Print diagnostic name with mappable diagnostics"));
|
||||||
|
|
||||||
|
static llvm::cl::opt<unsigned>
|
||||||
|
MessageLength("fmessage-length",
|
||||||
|
llvm::cl::desc("Format message diagnostics so that they fit "
|
||||||
|
"within N columns or fewer, when possible."),
|
||||||
|
llvm::cl::value_desc("N"));
|
||||||
|
|
||||||
|
static llvm::cl::opt<bool>
|
||||||
|
PrintColorDiagnostic("fcolor-diagnostics",
|
||||||
|
llvm::cl::desc("Use colors in diagnostics"));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// Language Options
|
// Language Options
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
@ -250,7 +296,6 @@ PascalStrings("fpascal-strings",
|
||||||
llvm::cl::desc("Recognize and construct Pascal-style "
|
llvm::cl::desc("Recognize and construct Pascal-style "
|
||||||
"string literals"));
|
"string literals"));
|
||||||
|
|
||||||
// FIXME: Move to CompileOptions.
|
|
||||||
static llvm::cl::opt<bool>
|
static llvm::cl::opt<bool>
|
||||||
Rtti("frtti", llvm::cl::init(true),
|
Rtti("frtti", llvm::cl::init(true),
|
||||||
llvm::cl::desc("Enable generation of rtti information"));
|
llvm::cl::desc("Enable generation of rtti information"));
|
||||||
|
@ -454,6 +499,19 @@ void clang::InitializeCompileOptions(CompileOptions &Opts,
|
||||||
Opts.MergeAllConstants = !NoMergeConstants;
|
Opts.MergeAllConstants = !NoMergeConstants;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void clang::InitializeDiagnosticOptions(DiagnosticOptions &Opts) {
|
||||||
|
using namespace diagnosticoptions;
|
||||||
|
|
||||||
|
Opts.ShowColumn = !NoShowColumn;
|
||||||
|
Opts.ShowLocation = !NoShowLocation;
|
||||||
|
Opts.ShowCarets = !NoCaretDiagnostics;
|
||||||
|
Opts.ShowFixits = !NoDiagnosticsFixIt;
|
||||||
|
Opts.ShowSourceRanges = PrintSourceRangeInfo;
|
||||||
|
Opts.ShowOptionNames = PrintDiagnosticOption;
|
||||||
|
Opts.ShowColors = PrintColorDiagnostic;
|
||||||
|
Opts.MessageLength = MessageLength;
|
||||||
|
}
|
||||||
|
|
||||||
void clang::InitializeHeaderSearchOptions(HeaderSearchOptions &Opts,
|
void clang::InitializeHeaderSearchOptions(HeaderSearchOptions &Opts,
|
||||||
llvm::StringRef BuiltinIncludePath,
|
llvm::StringRef BuiltinIncludePath,
|
||||||
bool Verbose,
|
bool Verbose,
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
namespace clang {
|
namespace clang {
|
||||||
|
|
||||||
class CompileOptions;
|
class CompileOptions;
|
||||||
|
class DiagnosticOptions;
|
||||||
class HeaderSearchOptions;
|
class HeaderSearchOptions;
|
||||||
class LangOptions;
|
class LangOptions;
|
||||||
class PreprocessorOptions;
|
class PreprocessorOptions;
|
||||||
|
@ -39,6 +40,8 @@ enum LangKind {
|
||||||
// before language initialization?
|
// before language initialization?
|
||||||
void ComputeFeatureMap(TargetInfo &Target, llvm::StringMap<bool> &Features);
|
void ComputeFeatureMap(TargetInfo &Target, llvm::StringMap<bool> &Features);
|
||||||
|
|
||||||
|
void InitializeDiagnosticOptions(DiagnosticOptions &Opts);
|
||||||
|
|
||||||
void InitializeCompileOptions(CompileOptions &Opts,
|
void InitializeCompileOptions(CompileOptions &Opts,
|
||||||
const llvm::StringMap<bool> &Features);
|
const llvm::StringMap<bool> &Features);
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
#include "clang/Frontend/ASTUnit.h"
|
#include "clang/Frontend/ASTUnit.h"
|
||||||
#include "clang/Frontend/ChainedDiagnosticClient.h"
|
#include "clang/Frontend/ChainedDiagnosticClient.h"
|
||||||
#include "clang/Frontend/CompilerInvocation.h"
|
#include "clang/Frontend/CompilerInvocation.h"
|
||||||
#include "clang/Frontend/DiagnosticOptions.h"
|
|
||||||
#include "clang/Frontend/FixItRewriter.h"
|
#include "clang/Frontend/FixItRewriter.h"
|
||||||
#include "clang/Frontend/FrontendDiagnostic.h"
|
#include "clang/Frontend/FrontendDiagnostic.h"
|
||||||
#include "clang/Frontend/PCHReader.h"
|
#include "clang/Frontend/PCHReader.h"
|
||||||
|
@ -258,51 +257,6 @@ static llvm::cl::opt<std::string>
|
||||||
TokenCache("token-cache", llvm::cl::value_desc("path"),
|
TokenCache("token-cache", llvm::cl::value_desc("path"),
|
||||||
llvm::cl::desc("Use specified token cache file"));
|
llvm::cl::desc("Use specified token cache file"));
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
|
||||||
// Diagnostic Options
|
|
||||||
//===----------------------------------------------------------------------===//
|
|
||||||
|
|
||||||
static llvm::cl::opt<bool>
|
|
||||||
VerifyDiagnostics("verify",
|
|
||||||
llvm::cl::desc("Verify emitted diagnostics and warnings"));
|
|
||||||
|
|
||||||
static llvm::cl::opt<bool>
|
|
||||||
NoShowColumn("fno-show-column",
|
|
||||||
llvm::cl::desc("Do not include column number on diagnostics"));
|
|
||||||
|
|
||||||
static llvm::cl::opt<bool>
|
|
||||||
NoShowLocation("fno-show-source-location",
|
|
||||||
llvm::cl::desc("Do not include source location information with"
|
|
||||||
" diagnostics"));
|
|
||||||
|
|
||||||
static llvm::cl::opt<bool>
|
|
||||||
NoCaretDiagnostics("fno-caret-diagnostics",
|
|
||||||
llvm::cl::desc("Do not include source line and caret with"
|
|
||||||
" diagnostics"));
|
|
||||||
|
|
||||||
static llvm::cl::opt<bool>
|
|
||||||
NoDiagnosticsFixIt("fno-diagnostics-fixit-info",
|
|
||||||
llvm::cl::desc("Do not include fixit information in"
|
|
||||||
" diagnostics"));
|
|
||||||
|
|
||||||
static llvm::cl::opt<bool>
|
|
||||||
PrintSourceRangeInfo("fdiagnostics-print-source-range-info",
|
|
||||||
llvm::cl::desc("Print source range spans in numeric form"));
|
|
||||||
|
|
||||||
static llvm::cl::opt<bool>
|
|
||||||
PrintDiagnosticOption("fdiagnostics-show-option",
|
|
||||||
llvm::cl::desc("Print diagnostic name with mappable diagnostics"));
|
|
||||||
|
|
||||||
static llvm::cl::opt<unsigned>
|
|
||||||
MessageLength("fmessage-length",
|
|
||||||
llvm::cl::desc("Format message diagnostics so that they fit "
|
|
||||||
"within N columns or fewer, when possible."),
|
|
||||||
llvm::cl::value_desc("N"));
|
|
||||||
|
|
||||||
static llvm::cl::opt<bool>
|
|
||||||
PrintColorDiagnostic("fcolor-diagnostics",
|
|
||||||
llvm::cl::desc("Use colors in diagnostics"));
|
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// C++ Visualization.
|
// C++ Visualization.
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
@ -313,7 +267,7 @@ InheritanceViewCls("cxx-inheritance-view",
|
||||||
llvm::cl::desc("View C++ inheritance for a specified class"));
|
llvm::cl::desc("View C++ inheritance for a specified class"));
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// Builtin Options
|
// Frontend Options
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
static llvm::cl::opt<bool>
|
static llvm::cl::opt<bool>
|
||||||
|
@ -321,6 +275,10 @@ TimeReport("ftime-report",
|
||||||
llvm::cl::desc("Print the amount of time each "
|
llvm::cl::desc("Print the amount of time each "
|
||||||
"phase of compilation takes"));
|
"phase of compilation takes"));
|
||||||
|
|
||||||
|
static llvm::cl::opt<bool>
|
||||||
|
VerifyDiagnostics("verify",
|
||||||
|
llvm::cl::desc("Verify emitted diagnostics and warnings"));
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// Language Options
|
// Language Options
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
@ -1235,18 +1193,6 @@ static LangKind GetLanguage() {
|
||||||
return LK;
|
return LK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ConstructDiagnosticOptions(DiagnosticOptions &Opts) {
|
|
||||||
// Initialize the diagnostic options.
|
|
||||||
Opts.ShowColumn = !NoShowColumn;
|
|
||||||
Opts.ShowLocation = !NoShowLocation;
|
|
||||||
Opts.ShowCarets = !NoCaretDiagnostics;
|
|
||||||
Opts.ShowFixits = !NoDiagnosticsFixIt;
|
|
||||||
Opts.ShowSourceRanges = PrintSourceRangeInfo;
|
|
||||||
Opts.ShowOptionNames = PrintDiagnosticOption;
|
|
||||||
Opts.ShowColors = PrintColorDiagnostic;
|
|
||||||
Opts.MessageLength = MessageLength;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void FinalizeCompileOptions(CompileOptions &Opts,
|
static void FinalizeCompileOptions(CompileOptions &Opts,
|
||||||
const LangOptions &Lang) {
|
const LangOptions &Lang) {
|
||||||
if (Lang.NoBuiltin)
|
if (Lang.NoBuiltin)
|
||||||
|
@ -1323,7 +1269,7 @@ int main(int argc, char **argv) {
|
||||||
// Construct the diagnostic options first, which cannot fail, so that we can
|
// Construct the diagnostic options first, which cannot fail, so that we can
|
||||||
// build a diagnostic client to use for any errors during option handling.
|
// build a diagnostic client to use for any errors during option handling.
|
||||||
DiagnosticOptions DiagOpts;
|
DiagnosticOptions DiagOpts;
|
||||||
ConstructDiagnosticOptions(DiagOpts);
|
InitializeDiagnosticOptions(DiagOpts);
|
||||||
|
|
||||||
// Create the diagnostic client for reporting errors or for
|
// Create the diagnostic client for reporting errors or for
|
||||||
// implementing -verify.
|
// implementing -verify.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче