<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/104557/">http://git.reviewboard.kde.org/r/104557/</a>
     </td>
    </tr>
   </table>
   <br />








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 13th, 2012, 8:49 a.m., <b>Alexandre Courbot</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/104557/diff/1/?file=56379#file56379line2776" style="color: black; font-weight: bold; text-decoration: underline;">languages/cpp/parser/parser.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">bool Parser::parseBaseSpecifier(BaseSpecifierAST *&node)</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2776</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">  <span class="n">parseInitializerList</span><span class="p">(</span><span class="n">list</span><span class="p">,</span> <span class="kc">true</span><span class="p">)</span> <span class="o">||</span> <span class="n">parseInitializerList</span><span class="p">(</span><span class="n">list</span><span class="p">,</span> <span class="kc">false</span><span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Unfortunately the parser seems to enter an infinite loop that allocates memory until it gets killed with I parse the Linux kernel with this. Inverting the true and false parameters seems to fix the issue, but this tends to indicate something can go terribly wrong in parseDesignatedInitializer. Any suggestion as to how I could figure out the faulty code that drives the parser crazy?</pre>
 </blockquote>



 <p>On April 13th, 2012, 9:11 a.m., <b>Ivan Shapovalov</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Uhm.. I did not test it on the kernel code. Does the loop happen with true-then-false order or vice versa?

Anyway, I will now attempt to trace the parser to see which rules actually create the loop body.</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">true-then-false makes the parser go wild when parsing the kernel. If you know of a good way to trace this, please tell me since I can easily reproduce the issue.</pre>
<br />




<p>- Alexandre</p>


<br />
<p>On April 13th, 2012, 1:18 a.m., Ivan Shapovalov wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDevelop and Alexandre Courbot.</div>
<div>By Ivan Shapovalov.</div>


<p style="color: grey;"><i>Updated April 13, 2012, 1:18 a.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Fix of this patch:
https://git.reviewboard.kde.org/r/103448

Passes unit-tests and "QString" testcase.</pre>
  </td>
 </tr>
</table>





<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>languages/cpp/parser/parser.h <span style="color: grey">(64b5c50)</span></li>

 <li>languages/cpp/parser/parser.cpp <span style="color: grey">(a45ee31)</span></li>

 <li>languages/cpp/parser/tests/test_parser.h <span style="color: grey">(2869d9d)</span></li>

 <li>languages/cpp/parser/tests/test_parser.cpp <span style="color: grey">(94e3ee0)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/104557/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>