diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2012-10-23 20:19:32 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2012-10-23 20:19:32 +0000 |
commit | e4851f26eb7be1f71f919bb5890da7e3583f727d (patch) | |
tree | 7caffec8839ce3c6091984f57c26b712485ef020 /test/Sema/warn-missing-variable-declarations.c | |
parent | 4cdad3151bfb2075c6bdbfe89fbb08f31a90a45b (diff) |
Add a new warning -Wmissing-variable-declarations, to warn about variables
defined without a previous declaration. This is similar to
-Wmissing-prototypes, but for variables instead of functions.
Patch by Ed Schouten.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166498 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Sema/warn-missing-variable-declarations.c')
-rw-r--r-- | test/Sema/warn-missing-variable-declarations.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/Sema/warn-missing-variable-declarations.c b/test/Sema/warn-missing-variable-declarations.c new file mode 100644 index 0000000000..cf911c2a89 --- /dev/null +++ b/test/Sema/warn-missing-variable-declarations.c @@ -0,0 +1,36 @@ +// RUN: %clang -Wmissing-variable-declarations -fsyntax-only -Xclang -verify %s + +int vbad1; // expected-warning{{no previous extern declaration for non-static variable 'vbad1'}} + +int vbad2; +int vbad2 = 10; // expected-warning{{no previous extern declaration for non-static variable 'vbad2'}} + +struct { + int mgood1; +} vbad3; // expected-warning{{no previous extern declaration for non-static variable 'vbad3'}} + +int vbad4; +int vbad4 = 10; // expected-warning{{no previous extern declaration for non-static variable 'vbad4'}} +extern int vbad4; + +extern int vgood1; +int vgood1; +int vgood1 = 10; +// RUN: %clang -Wmissing-variable-declarations -fsyntax-only -Xclang -verify %s + +int vbad1; // expected-warning{{no previous extern declaration for non-static variable 'vbad1'}} + +int vbad2; +int vbad2 = 10; // expected-warning{{no previous extern declaration for non-static variable 'vbad2'}} + +struct { + int mgood1; +} vbad3; // expected-warning{{no previous extern declaration for non-static variable 'vbad3'}} + +int vbad4; +int vbad4 = 10; // expected-warning{{no previous extern declaration for non-static variable 'vbad4'}} +extern int vbad4; + +extern int vgood1; +int vgood1; +int vgood1 = 10; |