[cfe-commits] r120291 - /cfe/trunk/test/CXX/stmt.stmt/stmt.label/p1.cpp

Douglas Gregor dgregor at apple.com
Mon Nov 29 08:37:40 PST 2010


Author: dgregor
Date: Mon Nov 29 10:37:40 2010
New Revision: 120291

URL: http://llvm.org/viewvc/llvm-project?rev=120291&view=rev
Log:
Add a test for C++ [stmt.label]p1, from Sashan!

Added:
    cfe/trunk/test/CXX/stmt.stmt/stmt.label/p1.cpp

Added: cfe/trunk/test/CXX/stmt.stmt/stmt.label/p1.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/stmt.stmt/stmt.label/p1.cpp?rev=120291&view=auto
==============================================================================
--- cfe/trunk/test/CXX/stmt.stmt/stmt.label/p1.cpp (added)
+++ cfe/trunk/test/CXX/stmt.stmt/stmt.label/p1.cpp Mon Nov 29 10:37:40 2010
@@ -0,0 +1,25 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+
+void f()
+{
+  int x = 0;
+  goto label1;
+
+label1: // expected-note{{previous definition is here}}
+  x = 1;
+  goto label2; // expected-error{{use of undeclared label 'label2'}}
+
+label1: // expected-error{{redefinition of label ''label1''}}
+  x = 2;
+}
+
+void h()
+{
+  int x = 0;
+  switch (x)
+  {
+    case 1:;
+    default:; // expected-error{{multiple default labels in one switch}}
+    default:; // expected-note{{previous case defined here}}
+  }
+}





More information about the cfe-commits mailing list