mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 03:56:16 +08:00
Frontend: Sketch support for -diagnostic-log-file, which still doesn't do anything.
llvm-svn: 129086
This commit is contained in:
@@ -79,7 +79,7 @@ def warn_fe_macro_contains_embedded_newline : Warning<
|
||||
"macro '%0' contains embedded newline, text after the newline is ignored.">;
|
||||
def warn_fe_cc_print_header_failure : Warning<
|
||||
"unable to open CC_PRINT_HEADERS file: %0 (using stderr)">;
|
||||
def warn_fe_cc_log_diagnositcs_failure : Warning<
|
||||
def warn_fe_cc_log_diagnostics_failure : Warning<
|
||||
"unable to open CC_LOG_DIAGNOSTICS file: %0 (using stderr)">;
|
||||
|
||||
def err_verify_missing_start : Error<
|
||||
|
||||
@@ -201,6 +201,8 @@ def MP : Flag<"-MP">,
|
||||
def dump_build_information : Separate<"-dump-build-information">,
|
||||
MetaVarName<"<filename>">,
|
||||
HelpText<"output a dump of some build information to a file">;
|
||||
def diagnostic_log_file : Separate<"-diagnostic-log-file">,
|
||||
HelpText<"Filename (or -) to log diagnostics to">;
|
||||
def fno_show_column : Flag<"-fno-show-column">,
|
||||
HelpText<"Do not include column number on diagnostics">;
|
||||
def fno_show_source_location : Flag<"-fno-show-source-location">,
|
||||
|
||||
@@ -61,6 +61,9 @@ public:
|
||||
/// testing and analysis.
|
||||
std::string DumpBuildInformation;
|
||||
|
||||
/// The file to log diagnostic output to.
|
||||
std::string DiagnosticLogFile;
|
||||
|
||||
/// The list of -W... options used to alter the diagnostic mappings, with the
|
||||
/// prefixes removed.
|
||||
std::vector<std::string> Warnings;
|
||||
|
||||
@@ -273,6 +273,10 @@ static void DiagnosticOptsToArgs(const DiagnosticOptions &Opts,
|
||||
Res.push_back("-ferror-limit");
|
||||
Res.push_back(llvm::utostr(Opts.ErrorLimit));
|
||||
}
|
||||
if (!Opts.DiagnosticLogFile.empty()) {
|
||||
Res.push_back("-diagnostic-log-file");
|
||||
Res.push_back(Opts.DiagnosticLogFile);
|
||||
}
|
||||
if (Opts.MacroBacktraceLimit
|
||||
!= DiagnosticOptions::DefaultMacroBacktraceLimit) {
|
||||
Res.push_back("-fmacro-backtrace-limit");
|
||||
@@ -981,6 +985,7 @@ static void ParseDependencyOutputArgs(DependencyOutputOptions &Opts,
|
||||
static void ParseDiagnosticArgs(DiagnosticOptions &Opts, ArgList &Args,
|
||||
Diagnostic &Diags) {
|
||||
using namespace cc1options;
|
||||
Opts.DiagnosticLogFile = Args.getLastArgValue(OPT_diagnostic_log_file);
|
||||
Opts.IgnoreWarnings = Args.hasArg(OPT_w);
|
||||
Opts.NoRewriteMacros = Args.hasArg(OPT_Wno_rewrite_macros);
|
||||
Opts.Pedantic = Args.hasArg(OPT_pedantic);
|
||||
|
||||
Reference in New Issue
Block a user