Anna Zaks 03f483353c [analyzer] Fix false warning about memory leak for QApplication::postEvent
According to Qt documentation Qt takes care of memory allocated for QEvent:
http://doc.qt.io/qt-4.8/qcoreapplication.html#postEvent

A patch by Evgeniy Dushistov!

Differential Revision: http://reviews.llvm.org/D14170

llvm-svn: 256887
2016-01-06 00:32:56 +00:00

16 lines
620 B
C++

// RUN: %clang_cc1 -analyze -analyzer-checker=core,alpha.deadcode.UnreachableCode,alpha.core.CastSize,unix.Malloc,cplusplus -analyzer-store=region -verify %s
// expected-no-diagnostics
#include "Inputs/qt-simulator.h"
void send(QObject *obj)
{
QEvent *e1 = new QEvent(QEvent::None);
static_cast<QApplication *>(QCoreApplication::instance())->postEvent(obj, e1);
QEvent *e2 = new QEvent(QEvent::None);
QCoreApplication::instance()->postEvent(obj, e2);
QEvent *e3 = new QEvent(QEvent::None);
QCoreApplication::postEvent(obj, e3);
QEvent *e4 = new QEvent(QEvent::None);
QApplication::postEvent(obj, e4);
}