<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/100720/">http://git.reviewboard.kde.org/r/100720/</a>
     </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.orgrb/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.</div>
<div>By Branan Purvine-Riley.</div>





<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;">This is a very cursory patch to accept the "=default" and "=delete" C++0x constructs.

The main design issue is that class member declarations are parsed with the exact same code as regular declarations, and thus the '=' is seen as an initializer. This 'works' for the pure-virtual "=0", but also allows "=5" or "=pi" as perfectly valid constructs. This patch simply adds "default" and "delete" to the list of primary expressions so they will be accepted in that initializer, and thus 'work' in the same way that the pure-virtual specifier does.

This is the wrong way to do it, both for the C++0x constructs and the pure-virtual "=0". The patch simply clears up some red squigglies without a major parser overhaul. Long-term, that parser rewrite will probably need to be done anyway - there are plenty of other C++0x grammar differences that need to be fixed. 

Short-term, it may be worth pushing this into master so that some of the simpler C++0x forms are accepted in 4.3, if the parser rewrite hasn't been done by then.
</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </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;">Because of the way this is implemented, "delete" and "default" are now accepted anywhere a primary-expression is expected. (for example, "int a=delete;")</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.cpp <span style="color: grey">(281ad8dd5b5878b049b0a0f2e29a48ae42d33a5f)</span></li>

</ul>

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




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




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