<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 29.03.2013 22:04, Anna Zaks wrote:<br>
</div>
<blockquote
cite="mid:2EFF8687-A4B9-4750-AEDD-718D8F4ED633@apple.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<br>
<div>
<div>On Mar 28, 2013, at 5:42 PM, Anton Yartsev <<a
moz-do-not-send="true" href="mailto:anton.yartsev@gmail.com">anton.yartsev@gmail.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div style="letter-spacing: normal; orphans: auto; text-align:
start; text-indent: 0px; text-transform: none; white-space:
normal; widows: auto; word-spacing: 0px;
-webkit-text-stroke-width: 0px;">
<blockquote type="cite">
<blockquote type="cite">Evolved one more problem to solve:
if overloaded standard operator new is defined and is
called as a function, then it is not recognized as
overloaded operator for some reason. Tests
testOpNewArray() and testOpNew() in NewDelete-custom.cpp
cover these issue.<br>
</blockquote>
<br>
You can check if it has to do with redeclarations of the
allocator function, but I wouldn't expect that. Definitely
something we need to fix before putting out another
open-source checker build.<br>
</blockquote>
Addressed the issue. Actually the problem is caused by the
fact, that overloaded operator new was inlined and has not
been processed by checkPostStmt(const CallExpr) at all as it
skips inlined calls.<br>
What Is the reason for skipping inline calls?<br>
<br>
</div>
</blockquote>
<br>
The idea is that if a function has been inlined, it will be
modeled through inlining where we will know exactly what it
does. </div>
<div><br>
</div>
<div>It is unclear if we should enforce the malloc/free,
new/delete rules on inlined functions. For example, in this
case, if someone overloaded the operator new, do we want to
ensure that delete was called on the object regardless of what
new's custom implementation is?</div>
</blockquote>
It seems to me that if we just simply handle inline functions
without analyzing the implementation it'll give less false-positives
then false-negatives if we just skip them as most malloc/new
functions are expected to allocate memory. Or I haven't got
something?<br>
<pre class="moz-signature" cols="72">--
Anton</pre>
</body>
</html>