Author: lattner
Date: Mon Mar 1 15:06:03 2010
New Revision: 97498
URL: http://llvm.org/viewvc/llvm-project?rev=97498&view=rev
Log:
fix PR5933: don't warn about unused variables if a function has other errors in
it.
Modified:
cfe/trunk/lib/Sema/SemaDecl.cpp
cfe/trunk/test/Sema/warn-unused-variables.c
Modified: cfe/trunk/lib/Sema/SemaDecl.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=97498&r1=97497&r2=97498&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDecl.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDecl.cpp Mon Mar 1 15:06:03 2010
@@ -553,7 +553,8 @@
if (!D->getDeclName()) continue;
// Diagnose unused variables in this scope.
- if (ShouldDiagnoseUnusedDecl(D))
+ if (ShouldDiagnoseUnusedDecl(D) &&
+ NumErrorsAtStartOfFunction == getDiagnostics().getNumErrors())
Diag(D->getLocation(), diag::warn_unused_variable) << D->getDeclName();
// Remove this name from our lexical scope.
Modified: cfe/trunk/test/Sema/warn-unused-variables.c
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/warn-unused-variables.c?rev=97498&r1=97497&r2=97498&view=diff
==============================================================================
--- cfe/trunk/test/Sema/warn-unused-variables.c (original)
+++ cfe/trunk/test/Sema/warn-unused-variables.c Mon Mar 1 15:06:03 2010
@@ -17,3 +17,9 @@
(void)sizeof(i);
return;
}
+
+// PR5933
+int f2() {
+ int X = 4; // Shouldn't have a bogus 'unused variable X' warning.
+ return Y + X; // expected-error {{use of undeclared identifier 'Y'}}
+}
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits