member-expr.cpp revision 603513d2294c437b37bcf47f326b686e31bd9e84
1// 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}