1 // RUN: %clang_cc1 -analyze -analyzer-checker=core,debug.ExprInspection %s -verify 2 3 void clang_analyzer_eval(int); 4 5 namespace 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 }