<table><tr><td style="">aaronpuchert added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D13900">View Revision</a></tr></table><br /><div><div><p>On the surface the compiler is right, this comes very close to undefined behavior. But there is so much crazy stuff happening in the DUChain that it might be fine in the end.</p>
<blockquote style="border-left: 3px solid #8C98B8;
color: #6B748C;
font-style: italic;
margin: 4px 0 12px 0;
padding: 8px 12px;
background-color: #F8F9FC;">
<div style="font-style: normal;
padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D13900#287851" style="background-color: #e7e7e7;
border-color: #e7e7e7;
border-radius: 3px;
padding: 0 4px;
font-weight: bold;
color: black;text-decoration: none;">D13900#287851</a>, <a href="https://phabricator.kde.org/p/kossebau/" style="
border-color: #f1f7ff;
color: #19558d;
background-color: #f1f7ff;
border: 1px solid transparent;
border-radius: 3px;
font-weight: bold;
padding: 0 4px;">@kossebau</a> wrote:</div>
<div style="margin: 0;
padding: 0;
border: 0;
color: rgb(107, 116, 140);"><p>I have no deep understanding of the actual code, all seem more elaborated low-level memory magic to me, which though has existed for years without (known?) issues, so my motivation to try to rewrite it using proper (modern?) C++ expressions is rather low :)</p></div>
</blockquote>
<p>Well, actually I do remember a few crashes in DUChain code. But in the few cases when I didn't have something better to do, I was immediately scared away by the code. I find it really hard to understand.</p>
<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>Perhaps worth a comment, but then I have no idea what to write besides "Dear clever code reader, please consider to rewrite this code using normal C++ class code" which though is IMHO an implicit with most/any given diagnostic pragmas ;) But feel challenged to be the clever code reader now :P I know it's just me to keep fingers from keyboard here.</p></blockquote>
<p>Yes, somebody should probably rewrite that. But it's hard to know where to start.</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D13900#inline-73429">View Inline</a><span style="color: #4b4d51; font-weight: bold;">qmljsparser.cpp:51-53</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; "><span style="color: #74777d">// This file is automatically generated from qmljs.g.</span>
</div><div style="padding: 0 8px; margin: 0 4px; "><span style="color: #74777d">// Changes should be made to that file, not here. Any change to this file will</span>
</div><div style="padding: 0 8px; margin: 0 4px; "><span style="color: #74777d">// be lost!</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">If that is true, the change should be made somewhere else.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R32 KDevelop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D13900">https://phabricator.kde.org/D13900</a></div></div><br /><div><strong>To: </strong>kossebau, KDevelop<br /><strong>Cc: </strong>aaronpuchert, kfunk, kdevelop-devel, antismap, iodelay, vbspam, njensen, geetamc, Pilzschaf, akshaydeo, surgenight, arrowd<br /></div>