diff options
author | Chris Lattner <sabre@nondot.org> | 2010-01-13 03:06:50 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-01-13 03:06:50 +0000 |
commit | 3d756f1a9e0502009602a93b2c21a9c623975c41 (patch) | |
tree | 162814843b387cac950fe709d95b1a2ebf3f6d67 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 1bacb81d6f6165a80b3ba87f2d542e16607f080e (diff) | |
download | llvm-3d756f1a9e0502009602a93b2c21a9c623975c41.zip llvm-3d756f1a9e0502009602a93b2c21a9c623975c41.tar.gz llvm-3d756f1a9e0502009602a93b2c21a9c623975c41.tar.bz2 |
diagnose invalid values of -ftabstop, patch by Christian Adaker!
llvm-svn: 93288
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 375c75c..0bca475 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -222,7 +222,7 @@ static void DiagnosticOptsToArgs(const DiagnosticOptions &Opts, Res.push_back("-verify"); if (Opts.ShowOptionNames) Res.push_back("-fdiagnostics-show-option"); - if (Opts.TabStop != 8) { + if (Opts.TabStop != DiagnosticOptions::DefaultTabStop) { Res.push_back("-ftabstop"); Res.push_back(llvm::utostr(Opts.TabStop)); } @@ -808,7 +808,13 @@ static void ParseDiagnosticArgs(DiagnosticOptions &Opts, ArgList &Args, Opts.ShowOptionNames = Args.hasArg(OPT_fdiagnostics_show_option); Opts.ShowSourceRanges = Args.hasArg(OPT_fdiagnostics_print_source_range_info); Opts.VerifyDiagnostics = Args.hasArg(OPT_verify); - Opts.TabStop = getLastArgIntValue(Args, OPT_ftabstop, 8, Diags); + Opts.TabStop = getLastArgIntValue(Args, OPT_ftabstop, + DiagnosticOptions::DefaultTabStop, Diags); + if (Opts.TabStop == 0 || Opts.TabStop > DiagnosticOptions::MaxTabStop) { + Diags.Report(diag::warn_ignoring_ftabstop_value) + << Opts.TabStop << DiagnosticOptions::DefaultTabStop; + Opts.TabStop = DiagnosticOptions::DefaultTabStop; + } Opts.MessageLength = getLastArgIntValue(Args, OPT_fmessage_length, 0, Diags); Opts.DumpBuildInformation = getLastArgValue(Args, OPT_dump_build_information); Opts.Warnings = getAllArgValues(Args, OPT_W); |