From 53992adde3eda3ccf9da63bc7e45673f043de18f Mon Sep 17 00:00:00 2001 From: rdivacky Date: Thu, 27 May 2010 15:17:06 +0000 Subject: Update clang to r104832. --- test/SemaCXX/switch.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'test/SemaCXX/switch.cpp') diff --git a/test/SemaCXX/switch.cpp b/test/SemaCXX/switch.cpp index c256960..fc13630 100644 --- a/test/SemaCXX/switch.cpp +++ b/test/SemaCXX/switch.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s +// RUN: %clang_cc1 -fsyntax-only -verify -Wswitch-enum %s void test() { bool x = true; @@ -40,3 +40,20 @@ void x3(C &c) { switch (c) { // expected-error{{incomplete class type}} } } + +namespace test3 { + enum En { A, B, C }; + template void foo() { + int x = 0, y = 5; + + switch (how) { //expected-warning {{no case matching constant switch condition '2'}} + case A: x *= y; break; + case B: x += y; break; + // No case for C, but it's okay because we have a constant condition. + } + } + + template void foo(); + template void foo(); + template void foo(); //expected-note {{in instantiation}} +} -- cgit v1.1