[cfe-commits] r154776 - in /cfe/trunk/test: Analysis/objc-bool.m Headers/typedef_guards.c Lexer/utf-16.c Preprocessor/pragma_sysheader.c Sema/surpress-deprecated.c SemaCXX/warn-everthing.cpp

Chandler Carruth chandlerc at google.com
Mon Apr 16 10:43:00 PDT 2012


On Mon, Apr 16, 2012 at 7:38 PM, David Blaikie <dblaikie at gmail.com> wrote:

> On Mon, Apr 16, 2012 at 10:29 AM, Matthieu Monrocq
> <matthieu.monrocq at gmail.com> wrote:
> >
> >
> > Le 16 avril 2012 00:09, David Blaikie <dblaikie at gmail.com> a écrit :
> >
> >> Author: dblaikie
> >> Date: Sun Apr 15 17:09:44 2012
> >> New Revision: 154776
> >>
> >> URL: http://llvm.org/viewvc/llvm-project?rev=154776&view=rev
> >> Log:
> >> Fix tests that weren't actually verifying anything.
> >>
> >> Passing -verify to clang without -cc1 or -Xclang silently passes (with a
> >> printed warning, but lit doesn't care about that). This change adds -cc1
> >> or,
> >> as is necessary in one case, -Xclang to fix this so that these tests are
> >> actually verifying as intended.
> >>
> >> I'd like to change the driver so this kind of mistake could not be made,
> >> but
> >> I'm not entirely sure how. Further, since the driver only warns about
> >> unknown
> >> flags in general, we could have similar bugs with a misspellings of
> >> arguments
> >> that would be nice to find.
> >>
> >> Modified:
> >>    cfe/trunk/test/Analysis/objc-bool.m
> >>    cfe/trunk/test/Headers/typedef_guards.c
> >>    cfe/trunk/test/Lexer/utf-16.c
> >>    cfe/trunk/test/Preprocessor/pragma_sysheader.c
> >>    cfe/trunk/test/Sema/surpress-deprecated.c
> >>    cfe/trunk/test/SemaCXX/warn-everthing.cpp
> >>
> >> Modified: cfe/trunk/test/Analysis/objc-bool.m
> >> URL:
> >>
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/objc-bool.m?rev=154776&r1=154775&r2=154776&view=diff
> >>
> >>
> ==============================================================================
> >> --- cfe/trunk/test/Analysis/objc-bool.m (original)
> >> +++ cfe/trunk/test/Analysis/objc-bool.m Sun Apr 15 17:09:44 2012
> >> @@ -1,4 +1,4 @@
> >> -// RUN: %clang --analyze %s -o %t -verify
> >> +// RUN: %clang --analyze %s -o %t -Xclang -verify
> >>
> >>  // Test handling of ObjC bool literals.
> >>
> >>
> >> Modified: cfe/trunk/test/Headers/typedef_guards.c
> >> URL:
> >>
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/typedef_guards.c?rev=154776&r1=154775&r2=154776&view=diff
> >>
> >>
> ==============================================================================
> >> --- cfe/trunk/test/Headers/typedef_guards.c (original)
> >> +++ cfe/trunk/test/Headers/typedef_guards.c Sun Apr 15 17:09:44 2012
> >> @@ -1,4 +1,4 @@
> >> -// RUN: %clang -fsyntax-only -verify %s
> >> +// RUN: %clang_cc1 -fsyntax-only -verify %s
> >>
> >>  // NULL is rdefined in stddef.h
> >>  #define NULL ((void*) 0)
> >>
> >> Modified: cfe/trunk/test/Lexer/utf-16.c
> >> URL:
> >>
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/utf-16.c?rev=154776&r1=154775&r2=154776&view=diff
> >>
> >>
> ==============================================================================
> >> --- cfe/trunk/test/Lexer/utf-16.c (original)
> >> +++ cfe/trunk/test/Lexer/utf-16.c Sun Apr 15 17:09:44 2012
> >> @@ -1,4 +1,4 @@
> >> -// RUN: not %clang %s -fsyntax-only -verify
> >> +// RUN: %clang_cc1 %s -fsyntax-only -verify
> >>  // rdar://7876588
> >>
> >>  // This test verifies that clang gives a decent error for UTF-16 source
> >> files.
> >>
> >> Modified: cfe/trunk/test/Preprocessor/pragma_sysheader.c
> >> URL:
> >>
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/pragma_sysheader.c?rev=154776&r1=154775&r2=154776&view=diff
> >>
> >>
> ==============================================================================
> >> --- cfe/trunk/test/Preprocessor/pragma_sysheader.c (original)
> >> +++ cfe/trunk/test/Preprocessor/pragma_sysheader.c Sun Apr 15 17:09:44
> >> 2012
> >> @@ -1,4 +1,4 @@
> >> -// RUN: %clang -verify -pedantic %s -fsyntax-only
> >> +// RUN: %clang_cc1 -verify -pedantic %s -fsyntax-only
> >>  // RUN: %clang_cc1 -E %s | FileCheck %s
> >>  // rdar://6899937
> >>  #include "pragma_sysheader.h"
> >>
> >> Modified: cfe/trunk/test/Sema/surpress-deprecated.c
> >> URL:
> >>
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/surpress-deprecated.c?rev=154776&r1=154775&r2=154776&view=diff
> >>
> >>
> ==============================================================================
> >> --- cfe/trunk/test/Sema/surpress-deprecated.c (original)
> >> +++ cfe/trunk/test/Sema/surpress-deprecated.c Sun Apr 15 17:09:44 2012
> >> @@ -1,4 +1,4 @@
> >> -// RUN: %clang -fsyntax-only -Wno-deprecated-declarations -verify %s
> >> +// RUN: %clang_cc1 -fsyntax-only -Wno-deprecated-declarations -verify
> %s
> >>  extern void OldFunction() __attribute__((deprecated));
> >>
> >>  int main (int argc, const char * argv[]) {
> >>
> >> Modified: cfe/trunk/test/SemaCXX/warn-everthing.cpp
> >> URL:
> >>
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/warn-everthing.cpp?rev=154776&r1=154775&r2=154776&view=diff
> >>
> >>
> ==============================================================================
> >> --- cfe/trunk/test/SemaCXX/warn-everthing.cpp (original)
> >> +++ cfe/trunk/test/SemaCXX/warn-everthing.cpp Sun Apr 15 17:09:44 2012
> >> @@ -1,4 +1,4 @@
> >> -// RUN: %clang -Weverything -fsyntax-only %s -verify
> >> +// RUN: %clang_cc1 -Weverything -fsyntax-only %s -verify
> >>
> >>  // This previously crashed due to a bug in the CFG.  Exercising all
> >>  // warnings helps check CFG construction.
> >> @@ -8,6 +8,6 @@
> >>   ~PR12271();
> >>  };
> >>
> >> -void testPR12271() {
> >> -  PR12271 a[1][1];
> >> -}
> >> \ No newline at end of file
> >> +void testPR12271() { // expected-warning {{no previous prototype for
> >> function 'testPR12271'}}
> >> +  PR12271 a[1][1]; // expected-warning {{unused variable 'a'}}
> >> +}
> >>
> >>
> >> _______________________________________________
> >> cfe-commits mailing list
> >> cfe-commits at cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >
> >
> > The only way I would see lit actually reacting would be to terminate the
> > processus with a non-0 result, which should be reported.
>
> Right
>
> > 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.
>
> Ideally, I'm wondering whether it makes sense to have even release
> versions of clang produce a non-zero exit code for completely unknown
> flags. If someone passes -foobar to clang, should we really silently
> (wrt exit code, at least) succeed?


What if the flag is a GCC flag that "might" work depending on what CC is
set to? I think we need to let users ask for either warnings or errors
about unknown flags, just as we do today.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120416/7ae30773/attachment.html>


More information about the cfe-commits mailing list