Mercurial > hg > CbC > CbC_llvm
view clang/test/Analysis/nil-receiver.mm @ 222:81f6424ef0e3 llvm-original
LLVM original branch
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 18 Jul 2021 22:10:01 +0900 (2021-07-18) |
parents | 1d019706d866 |
children |
line wrap: on
line source
// RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection \ // RUN: -verify %s #define nil ((id)0) void clang_analyzer_eval(int); struct S { int x; S(); }; @interface I @property S s; @end void foo() { // This produces a zero-initialized structure. // FIXME: This very fact does deserve the warning, because zero-initialized // structures aren't always valid in C++. It's particularly bad when the // object has a vtable. S s = ((I *)nil).s; clang_analyzer_eval(s.x == 0); // expected-warning{{TRUE}} }