<br><br><div class="gmail_quote">Le 16 avril 2012 00:09, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>></span> a écrit :<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Author: dblaikie<br>
Date: Sun Apr 15 17:09:44 2012<br>
New Revision: 154776<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=154776&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=154776&view=rev</a><br>
Log:<br>
Fix tests that weren't actually verifying anything.<br>
<br>
Passing -verify to clang without -cc1 or -Xclang silently passes (with a<br>
printed warning, but lit doesn't care about that). This change adds -cc1 or,<br>
as is necessary in one case, -Xclang to fix this so that these tests are<br>
actually verifying as intended.<br>
<br>
I'd like to change the driver so this kind of mistake could not be made, but<br>
I'm not entirely sure how. Further, since the driver only warns about unknown<br>
flags in general, we could have similar bugs with a misspellings of arguments<br>
that would be nice to find.<br>
<br>
Modified:<br>
    cfe/trunk/test/Analysis/objc-bool.m<br>
    cfe/trunk/test/Headers/typedef_guards.c<br>
    cfe/trunk/test/Lexer/utf-16.c<br>
    cfe/trunk/test/Preprocessor/pragma_sysheader.c<br>
    cfe/trunk/test/Sema/surpress-deprecated.c<br>
    cfe/trunk/test/SemaCXX/warn-everthing.cpp<br>
<br>
Modified: cfe/trunk/test/Analysis/objc-bool.m<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/objc-bool.m?rev=154776&r1=154775&r2=154776&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/objc-bool.m?rev=154776&r1=154775&r2=154776&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/test/Analysis/objc-bool.m (original)<br>
+++ cfe/trunk/test/Analysis/objc-bool.m Sun Apr 15 17:09:44 2012<br>
@@ -1,4 +1,4 @@<br>
-// RUN: %clang --analyze %s -o %t -verify<br>
+// RUN: %clang --analyze %s -o %t -Xclang -verify<br>
<br>
 // Test handling of ObjC bool literals.<br>
<br>
<br>
Modified: cfe/trunk/test/Headers/typedef_guards.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/typedef_guards.c?rev=154776&r1=154775&r2=154776&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/typedef_guards.c?rev=154776&r1=154775&r2=154776&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/test/Headers/typedef_guards.c (original)<br>
+++ cfe/trunk/test/Headers/typedef_guards.c Sun Apr 15 17:09:44 2012<br>
@@ -1,4 +1,4 @@<br>
-// RUN: %clang -fsyntax-only -verify %s<br>
+// RUN: %clang_cc1 -fsyntax-only -verify %s<br>
<br>
 // NULL is rdefined in stddef.h<br>
 #define NULL ((void*) 0)<br>
<br>
Modified: cfe/trunk/test/Lexer/utf-16.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/utf-16.c?rev=154776&r1=154775&r2=154776&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/utf-16.c?rev=154776&r1=154775&r2=154776&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/test/Lexer/utf-16.c (original)<br>
+++ cfe/trunk/test/Lexer/utf-16.c Sun Apr 15 17:09:44 2012<br>
@@ -1,4 +1,4 @@<br>
-// RUN: not %clang %s -fsyntax-only -verify<br>
+// RUN: %clang_cc1 %s -fsyntax-only -verify<br>
 // rdar://7876588<br>
<br>
 // This test verifies that clang gives a decent error for UTF-16 source files.<br>
<br>
Modified: cfe/trunk/test/Preprocessor/pragma_sysheader.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/pragma_sysheader.c?rev=154776&r1=154775&r2=154776&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/pragma_sysheader.c?rev=154776&r1=154775&r2=154776&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/test/Preprocessor/pragma_sysheader.c (original)<br>
+++ cfe/trunk/test/Preprocessor/pragma_sysheader.c Sun Apr 15 17:09:44 2012<br>
@@ -1,4 +1,4 @@<br>
-// RUN: %clang -verify -pedantic %s -fsyntax-only<br>
+// RUN: %clang_cc1 -verify -pedantic %s -fsyntax-only<br>
 // RUN: %clang_cc1 -E %s | FileCheck %s<br>
 // rdar://6899937<br>
 #include "pragma_sysheader.h"<br>
<br>
Modified: cfe/trunk/test/Sema/surpress-deprecated.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/surpress-deprecated.c?rev=154776&r1=154775&r2=154776&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/surpress-deprecated.c?rev=154776&r1=154775&r2=154776&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/test/Sema/surpress-deprecated.c (original)<br>
+++ cfe/trunk/test/Sema/surpress-deprecated.c Sun Apr 15 17:09:44 2012<br>
@@ -1,4 +1,4 @@<br>
-// RUN: %clang -fsyntax-only -Wno-deprecated-declarations -verify %s<br>
+// RUN: %clang_cc1 -fsyntax-only -Wno-deprecated-declarations -verify %s<br>
 extern void OldFunction() __attribute__((deprecated));<br>
<br>
 int main (int argc, const char * argv[]) {<br>
<br>
Modified: cfe/trunk/test/SemaCXX/warn-everthing.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/warn-everthing.cpp?rev=154776&r1=154775&r2=154776&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/warn-everthing.cpp?rev=154776&r1=154775&r2=154776&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/test/SemaCXX/warn-everthing.cpp (original)<br>
+++ cfe/trunk/test/SemaCXX/warn-everthing.cpp Sun Apr 15 17:09:44 2012<br>
@@ -1,4 +1,4 @@<br>
-// RUN: %clang -Weverything -fsyntax-only %s -verify<br>
+// RUN: %clang_cc1 -Weverything -fsyntax-only %s -verify<br>
<br>
 // This previously crashed due to a bug in the CFG.  Exercising all<br>
 // warnings helps check CFG construction.<br>
@@ -8,6 +8,6 @@<br>
   ~PR12271();<br>
 };<br>
<br>
-void testPR12271() {<br>
-  PR12271 a[1][1];<br>
-}<br>
\ No newline at end of file<br>
+void testPR12271() { // expected-warning {{no previous prototype for function 'testPR12271'}}<br>
+  PR12271 a[1][1]; // expected-warning {{unused variable 'a'}}<br>
+}<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br>The only way I would see lit actually reacting would be to terminate the processus with a non-0 result, which should be reported.<br><br>Perhaps that we could add a "developer" option provoking this kind of behavior for unknown flags and have lit expand %clang and %clang_cc1 automatically with this flag. This flag should then be negated in the few tests that actually test the driver diagnostic.<br>
<br>-- Matthieu<br>