Mercurial > hg > CbC > CbC_llvm
view clang/test/Analysis/member-expr.cpp @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
// RUN: %clang_analyze_cc1 -std=c++14 -analyzer-checker=core,debug.ExprInspection %s -verify void clang_analyzer_checkInlined(bool); void clang_analyzer_eval(int); namespace EnumsViaMemberExpr { struct Foo { enum E { Bar = 1 }; }; void testEnumVal(Foo Baz) { clang_analyzer_eval(Baz.Bar == Foo::Bar); // expected-warning{{TRUE}} } void testEnumRef(Foo &Baz) { clang_analyzer_eval(Baz.Bar == Foo::Bar); // expected-warning{{TRUE}} } void testEnumPtr(Foo *Baz) { clang_analyzer_eval(Baz->Bar == Foo::Bar); // expected-warning{{TRUE}} } } namespace PR19531 { struct A { A() : x(0) {} bool h() const; int x; }; struct B { void g(bool (A::*mp_f)() const) { // This used to trigger an assertion because the 'this' pointer is a // temporary. (A().*mp_f)(); } void f() { g(&A::h); } }; }