<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>123406</bug_id>
          
          <creation_ts>2013-10-28 08:54:49 -0700</creation_ts>
          <short_desc>check-webkit-style should support C++11 rvalue references</short_desc>
          <delta_ts>2014-03-21 05:58:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>commit-queue</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>llango.u-szeged</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>svillar</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>944101</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-10-28 08:54:49 -0700</bug_when>
    <thetext>The script currently considers:

T&amp;&amp;

as a mistake due to the missing whitespace before the two ampersands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952485</commentid>
    <comment_count>1</comment_count>
      <attachid>217405</attachid>
    <who name="László Langó">llango.u-szeged</who>
    <bug_when>2013-11-20 01:11:46 -0800</bug_when>
    <thetext>Created attachment 217405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952531</commentid>
    <comment_count>2</comment_count>
      <attachid>217405</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-11-20 03:37:29 -0800</bug_when>
    <thetext>Comment on attachment 217405
Patch

This looks OK, but a small test case should be included.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952534</commentid>
    <comment_count>3</comment_count>
    <who name="László Langó">llango.u-szeged</who>
    <bug_when>2013-11-20 03:45:03 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 217405 [details])
&gt; This looks OK, but a small test case should be included.

Ok, i&apos;m on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952538</commentid>
    <comment_count>4</comment_count>
      <attachid>217418</attachid>
    <who name="László Langó">llango.u-szeged</who>
    <bug_when>2013-11-20 04:48:41 -0800</bug_when>
    <thetext>Created attachment 217418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952627</commentid>
    <comment_count>5</comment_count>
      <attachid>217418</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-11-20 09:29:51 -0800</bug_when>
    <thetext>Comment on attachment 217418
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=217418&amp;action=review

A good start, but I think your logic in the &quot;check_style&quot; change is flawed. I think you allow rvalue references now at the cost of ignoring boolean expressions crossing multiple lines.  Please add a test for the multiple-line case and fix the logic for identifying rvalue references.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:2626
&gt; +    if cleansed_line.strip().endswith(&apos;||&apos;) or cleansed_line.strip().endswith(&apos; &amp;&amp;&apos;):

Won&apos;t strip() remove all the whitespace?  Will we ever match &apos; &amp;&amp;&apos;?

&gt; Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:629
&gt; +        self.assert_lint(&apos;T&amp;&amp;&apos;, &apos;&apos;)

We also need a test that shows that we catch instances of boolean expressions spanning multiple lines.  I believe that your change will break that style check. You can prove me wrong by including a test case!  :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952950</commentid>
    <comment_count>6</comment_count>
    <who name="László Langó">llango.u-szeged</who>
    <bug_when>2013-11-20 23:05:32 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 217418 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=217418&amp;action=review
&gt; 
&gt; A good start, but I think your logic in the &quot;check_style&quot; change is flawed. I think you allow rvalue references now at the cost of ignoring boolean expressions crossing multiple lines.  Please add a test for the multiple-line case and fix the logic for identifying rvalue references.
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:2626
&gt; &gt; +    if cleansed_line.strip().endswith(&apos;||&apos;) or cleansed_line.strip().endswith(&apos; &amp;&amp;&apos;):
&gt; 
&gt; Won&apos;t strip() remove all the whitespace?  Will we ever match &apos; &amp;&amp;&apos;?
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:629
&gt; &gt; +        self.assert_lint(&apos;T&amp;&amp;&apos;, &apos;&apos;)
&gt; 
&gt; We also need a test that shows that we catch instances of boolean expressions spanning multiple lines.  I believe that your change will break that style check. You can prove me wrong by including a test case!  :-)

stip() method only remove the leading end trailing whitespaces. It won&apos;t remove the whitespace before &apos;&amp;&amp;&apos;. Just to be sure a i checked it before i uploaded the patch. End already exists a test that check the multiline conditions (last assert in &apos;test_brace_at_begin_of_line&apos;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952951</commentid>
    <comment_count>7</comment_count>
      <attachid>217418</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-11-20 23:19:48 -0800</bug_when>
    <thetext>Comment on attachment 217418
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=217418&amp;action=review

R=me

&gt;&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:2626
&gt;&gt;&gt; +    if cleansed_line.strip().endswith(&apos;||&apos;) or cleansed_line.strip().endswith(&apos; &amp;&amp;&apos;):
&gt;&gt; 
&gt;&gt; Won&apos;t strip() remove all the whitespace?  Will we ever match &apos; &amp;&amp;&apos;?
&gt; 
&gt; stip() method only remove the leading end trailing whitespaces. It won&apos;t remove the whitespace before &apos;&amp;&amp;&apos;. Just to be sure a i checked it before i uploaded the patch. End already exists a test that check the multiline conditions (last assert in &apos;test_brace_at_begin_of_line&apos;).

Great! Thanks for confirming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952956</commentid>
    <comment_count>8</comment_count>
      <attachid>217418</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-20 23:43:49 -0800</bug_when>
    <thetext>Comment on attachment 217418
Patch

Clearing flags on attachment: 217418

Committed r159612: &lt;http://trac.webkit.org/changeset/159612&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952957</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-20 23:43:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993039</commentid>
    <comment_count>10</comment_count>
    <who name="László Langó">llango.u-szeged</who>
    <bug_when>2014-03-21 05:58:36 -0700</bug_when>
    <thetext>*** Bug 73395 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217405</attachid>
            <date>2013-11-20 01:11:46 -0800</date>
            <delta_ts>2013-11-20 04:48:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123406-20131120011145.patch</filename>
            <type>text/plain</type>
            <size>1547</size>
            <attacher name="László Langó">llango.u-szeged</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NDk5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzJkZmJmMmZiOWViOWM5NmE2M2NhZjE1MWQzZDIzZjlh
Y2NmNjU0OS4uODkwNzM0MjgzMDk5YTM4ZmZjZTQyMDBiZGE3MjAyZWY1ZWM0YzMwMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDEzLTExLTIwICBMw6FzemzDsyBMYW5nw7MgIDxsYW5nb0BpbmYudS1zemVnZWQuaHU+
CisKKyAgICAgICAgY2hlY2std2Via2l0LXN0eWxlIHNob3VsZCBzdXBwb3J0IEMrKzExIHJ2YWx1
ZSByZWZlcmVuY2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTIzNDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weToKKyAgICAgICAg
KGNoZWNrX3N0eWxlKToKKwogMjAxMy0xMS0xOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBZZXQgYW5vdGhlciBidWlsZCBmaXguIEp1c3QgYWxsb3cgYW55IGNo
YXJhY3Rlci4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tl
cnMvY3BwLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkK
aW5kZXggNWUwZmQwMTJhOWJiZmNmZDUwYmFlOGUwN2QyNTg1YzdiODE0MmFkMC4uMmQ1NTliZDcz
MzY5ZDg1YjI2YzE5YTk3NWY0MWRkMmZhNWFhOTFhNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkKQEAgLTI2MjMsNyArMjYyMyw3IEBAIGRlZiBjaGVj
a19zdHlsZShjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfZXh0ZW5zaW9uLCBjbGFzc19z
dGF0ZSwgZmlsZV9zdGF0CiAgICAgICAgIGVycm9yKGxpbmVfbnVtYmVyLCAnd2hpdGVzcGFjZS9u
ZXdsaW5lJywgNCwKICAgICAgICAgICAgICAgJ01vcmUgdGhhbiBvbmUgY29tbWFuZCBvbiB0aGUg
c2FtZSBsaW5lJykKIAotICAgIGlmIGNsZWFuc2VkX2xpbmUuc3RyaXAoKS5lbmRzd2l0aCgnfHwn
KSBvciBjbGVhbnNlZF9saW5lLnN0cmlwKCkuZW5kc3dpdGgoJyYmJyk6CisgICAgaWYgY2xlYW5z
ZWRfbGluZS5zdHJpcCgpLmVuZHN3aXRoKCd8fCcpIG9yIGNsZWFuc2VkX2xpbmUuc3RyaXAoKS5l
bmRzd2l0aCgnICYmJyk6CiAgICAgICAgIGVycm9yKGxpbmVfbnVtYmVyLCAnd2hpdGVzcGFjZS9v
cGVyYXRvcnMnLCA0LAogICAgICAgICAgICAgICAnQm9vbGVhbiBleHByZXNzaW9ucyB0aGF0IHNw
YW4gbXVsdGlwbGUgbGluZXMgc2hvdWxkIGhhdmUgdGhlaXIgJwogICAgICAgICAgICAgICAnb3Bl
cmF0b3JzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIGxpbmUgaW5zdGVhZCBvZiB0aGUgcmlnaHQg
c2lkZS4nKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217418</attachid>
            <date>2013-11-20 04:48:41 -0800</date>
            <delta_ts>2013-11-20 23:43:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123406-20131120044841.patch</filename>
            <type>text/plain</type>
            <size>2355</size>
            <attacher name="László Langó">llango.u-szeged</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NDk5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzJkZmJmMmZiOWViOWM5NmE2M2NhZjE1MWQzZDIzZjlh
Y2NmNjU0OS4uNDg0MTVlMjdiZmE0NWY5ZTUwOGFhYmMwMDU4OThlNWEzZTFjNjJjMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEzLTExLTIwICBMw6FzemzDsyBMYW5nw7MgIDxsYW5nb0BpbmYudS1zemVnZWQuaHU+
CisKKyAgICAgICAgY2hlY2std2Via2l0LXN0eWxlIHNob3VsZCBzdXBwb3J0IEMrKzExIHJ2YWx1
ZSByZWZlcmVuY2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTIzNDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weToKKyAgICAgICAg
KGNoZWNrX3N0eWxlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJz
L2NwcF91bml0dGVzdC5weToKKyAgICAgICAgKENwcDExU3R5bGVUZXN0KToKKyAgICAgICAgKENw
cDExU3R5bGVUZXN0LnRlc3RfcnZhdWxlX3JlZmVyZW5jZV9hdF9lbmRfb2ZfbGluZSk6CisKIDIw
MTMtMTEtMTkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgWWV0
IGFub3RoZXIgYnVpbGQgZml4LiBKdXN0IGFsbG93IGFueSBjaGFyYWN0ZXIuCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwLnB5CmluZGV4IDVlMGZkMDEyYTliYmZj
ZmQ1MGJhZThlMDdkMjU4NWM3YjgxNDJhZDAuLjJkNTU5YmQ3MzM2OWQ4NWIyNmMxOWE5NzVmNDFk
ZDJmYTVhYTkxYTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hl
Y2tlcnMvY3BwLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMv
Y3BwLnB5CkBAIC0yNjIzLDcgKzI2MjMsNyBAQCBkZWYgY2hlY2tfc3R5bGUoY2xlYW5fbGluZXMs
IGxpbmVfbnVtYmVyLCBmaWxlX2V4dGVuc2lvbiwgY2xhc3Nfc3RhdGUsIGZpbGVfc3RhdAogICAg
ICAgICBlcnJvcihsaW5lX251bWJlciwgJ3doaXRlc3BhY2UvbmV3bGluZScsIDQsCiAgICAgICAg
ICAgICAgICdNb3JlIHRoYW4gb25lIGNvbW1hbmQgb24gdGhlIHNhbWUgbGluZScpCiAKLSAgICBp
ZiBjbGVhbnNlZF9saW5lLnN0cmlwKCkuZW5kc3dpdGgoJ3x8Jykgb3IgY2xlYW5zZWRfbGluZS5z
dHJpcCgpLmVuZHN3aXRoKCcmJicpOgorICAgIGlmIGNsZWFuc2VkX2xpbmUuc3RyaXAoKS5lbmRz
d2l0aCgnfHwnKSBvciBjbGVhbnNlZF9saW5lLnN0cmlwKCkuZW5kc3dpdGgoJyAmJicpOgogICAg
ICAgICBlcnJvcihsaW5lX251bWJlciwgJ3doaXRlc3BhY2Uvb3BlcmF0b3JzJywgNCwKICAgICAg
ICAgICAgICAgJ0Jvb2xlYW4gZXhwcmVzc2lvbnMgdGhhdCBzcGFuIG11bHRpcGxlIGxpbmVzIHNo
b3VsZCBoYXZlIHRoZWlyICcKICAgICAgICAgICAgICAgJ29wZXJhdG9ycyBvbiB0aGUgbGVmdCBz
aWRlIG9mIHRoZSBsaW5lIGluc3RlYWQgb2YgdGhlIHJpZ2h0IHNpZGUuJykKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHkKaW5k
ZXggMDc5YTQ2OTkwZjk2MzU3YTJmNWJlYTQxNmIxYTdkY2Q3MjI1MDUwMC4uZTE0MzViYjc0MjU4
MjU4MGU1YWQzM2E3NjQxM2VlNmY2ODAwMTEzNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHkKQEAgLTYyNCw2ICs2MjQs
MTEgQEAgY2xhc3MgRnVuY3Rpb25EZXRlY3Rpb25UZXN0KENwcFN0eWxlVGVzdEJhc2UpOgogICAg
ICAgICAgICAgZGV0ZWN0aW9uX2xpbmU9MikKIAogCitjbGFzcyBDcHAxMVN0eWxlVGVzdChDcHBT
dHlsZVRlc3RCYXNlKToKKyAgICBkZWYgdGVzdF9ydmF1bGVfcmVmZXJlbmNlX2F0X2VuZF9vZl9s
aW5lKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydF9saW50KCdUJiYnLCAnJykKKworCiBjbGFz
cyBDcHBTdHlsZVRlc3QoQ3BwU3R5bGVUZXN0QmFzZSk6CiAKICAgICBkZWYgdGVzdF9hc21fbGlu
ZXNfaWdub3JlZChzZWxmKToK
</data>

          </attachment>
      

    </bug>

</bugzilla>