[cfe-commits] r149852 - in /cfe/trunk: lib/Frontend/CompilerInvocation.cpp test/Driver/invalid-o-level.c
Aaron Ballman
aaron at aaronballman.com
Sun Feb 5 16:40:31 PST 2012
Author: aaronballman
Date: Sun Feb 5 18:40:31 2012
New Revision: 149852
URL: http://llvm.org/viewvc/llvm-project?rev=149852&view=rev
Log:
Invalid O levels on the command line no longer have a confusing error.
Added:
cfe/trunk/test/Driver/invalid-o-level.c (with props)
Modified:
cfe/trunk/lib/Frontend/CompilerInvocation.cpp
Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=149852&r1=149851&r2=149852&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)
+++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Sun Feb 5 18:40:31 2012
@@ -1076,13 +1076,14 @@
using namespace cc1options;
bool Success = true;
- Opts.OptimizationLevel = getOptimizationLevel(Args, IK, Diags);
- if (Opts.OptimizationLevel > 3) {
+ unsigned OptLevel = getOptimizationLevel(Args, IK, Diags);
+ if (OptLevel > 3) {
Diags.Report(diag::err_drv_invalid_value)
- << Args.getLastArg(OPT_O)->getAsString(Args) << Opts.OptimizationLevel;
- Opts.OptimizationLevel = 3;
+ << Args.getLastArg(OPT_O)->getAsString(Args) << OptLevel;
+ OptLevel = 3;
Success = false;
}
+ Opts.OptimizationLevel = OptLevel;
// We must always run at least the always inlining pass.
Opts.Inlining = (Opts.OptimizationLevel > 1) ? CodeGenOptions::NormalInlining
Added: cfe/trunk/test/Driver/invalid-o-level.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/invalid-o-level.c?rev=149852&view=auto
==============================================================================
--- cfe/trunk/test/Driver/invalid-o-level.c (added)
+++ cfe/trunk/test/Driver/invalid-o-level.c Sun Feb 5 18:40:31 2012
@@ -0,0 +1,4 @@
+// RUN: not %clang_cc1 %s -O900 2> %t.log
+// RUN: FileCheck %s -input-file=%t.log
+
+// CHECK: invalid value '900' in '-O900'
Propchange: cfe/trunk/test/Driver/invalid-o-level.c
------------------------------------------------------------------------------
svn:eol-style = native
More information about the cfe-commits
mailing list