aboutsummaryrefslogtreecommitdiff
path: root/tests/conformance/4-statements/switch_label_forms.zc
blob: ae131aa4834bd278e70252d88f49b3951770bca5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// expect: neg/chr/sum/enum/
// spec 4.7.1 and 3.14: labels are constant expressions
include rt;
void pn(int x) { rt.put_n(x); rt.put_c(10); }
enum color { RED, GREEN };
void t(int k) {
	switch (k) {
	case -1: rt.put_s("neg");
	case 'a': rt.put_s("chr");
	case 1 + 1 * 3: rt.put_s("sum");
	case color.GREEN: rt.put_s("enum");
	}
	rt.put_c(10);
}
fn main() { t(-1); pn(0); return 0; }
// zc0: skip