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 | 7d14b3c9b3f9f39f0a0ad7439eac86f3ca57097a (patch) | |
tree | 3cc81323a18b2bb5f4018fe58d1ec58f7db2d387 /clang/test/Sema/warn-missing-variable-declarations.c | |
parent | b0eea8b54bfaabbcd9d767b3e0caa6a32bc9f4d1 (diff) | |
download | bcm5719-llvm-7d14b3c9b3f9f39f0a0ad7439eac86f3ca57097a.tar.gz bcm5719-llvm-7d14b3c9b3f9f39f0a0ad7439eac86f3ca57097a.zip |
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.
llvm-svn: 166498
Diffstat (limited to 'clang/test/Sema/warn-missing-variable-declarations.c')
-rw-r--r-- | clang/test/Sema/warn-missing-variable-declarations.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/clang/test/Sema/warn-missing-variable-declarations.c b/clang/test/Sema/warn-missing-variable-declarations.c new file mode 100644 index 00000000000..cf911c2a89b --- /dev/null +++ b/clang/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; |