summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/warn-missing-variable-declarations.c
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2012-10-23 20:19:32 +0000
committerEli Friedman <eli.friedman@gmail.com>2012-10-23 20:19:32 +0000
commit7d14b3c9b3f9f39f0a0ad7439eac86f3ca57097a (patch)
tree3cc81323a18b2bb5f4018fe58d1ec58f7db2d387 /clang/test/Sema/warn-missing-variable-declarations.c
parentb0eea8b54bfaabbcd9d767b3e0caa6a32bc9f4d1 (diff)
downloadbcm5719-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.c36
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;
OpenPOWER on IntegriCloud