blob: cf437387d6a64012c62de4b772af0f37d37d4ee8 [file] [log] [blame]
Jordan Rose603513d2012-10-23 23:59:08 +00001// RUN: %clang_cc1 -analyze -analyzer-checker=core,debug.ExprInspection %s -verify
2
3void clang_analyzer_eval(int);
4
5namespace EnumsViaMemberExpr {
6 struct Foo {
7 enum E {
8 Bar = 1
9 };
10 };
11
12 void testEnumVal(Foo Baz) {
13 clang_analyzer_eval(Baz.Bar == Foo::Bar); // expected-warning{{TRUE}}
14 }
15
16 void testEnumRef(Foo &Baz) {
17 clang_analyzer_eval(Baz.Bar == Foo::Bar); // expected-warning{{TRUE}}
18 }
19
20 void testEnumPtr(Foo *Baz) {
21 clang_analyzer_eval(Baz->Bar == Foo::Bar); // expected-warning{{TRUE}}
22 }
23}