-(case (and (switch_on "foo"), (any_switch_on ["bar", "baz"])),
- (warning "W1"),
- (and (switch_on ["foo", "bar"]), (any_empty ["foo_p", "bar_p"])),
- (warning "W2"),
- (and (empty ["foo_p", "bar_p"]), (any_not_empty ["baz_p"])),
- (warning "W3"))
+(case
+ // CHECK: W1
+ // CHECK: foo = false;
+ // CHECK: foo_p = "";
+ // CHECK: foo_l.clear();
+ (and (switch_on "foo"), (any_switch_on "bar", "baz")),
+ [(warning "W1"), (unset_option "foo"),
+ (unset_option "foo_p"), (unset_option "foo_l")],
+ // CHECK: W2
+ // CHECK: foo = true;
+ // CHECK: bar = true;
+ // CHECK: baz = false;
+ // CHECK: foo_p = "asdf";
+ // CHECK: foo_l.clear();
+ // CHECK: foo_l.push_back("qwert");
+ // CHECK: foo_l.push_back("yuiop");
+ // CHECK: foo_l.push_back("asdf");
+ (and (switch_on "foo", "bar"), (any_empty "foo_p", "bar_p")),
+ [(warning "W2"), (set_option "foo"),
+ (set_option "bar", true),
+ (set_option "baz", false),
+ (set_option "foo_p", "asdf"),
+ (set_option "foo_l", ["qwert", "yuiop", "asdf"])],
+ // CHECK: W3
+ // CHECK: foo = true;
+ // CHECK: bar = true;
+ // CHECK: baz = true;
+ (and (empty "foo_p", "bar_p"), (any_not_empty "baz_p")),
+ [(warning "W3"), (set_option "foo", "bar", "baz")])