<?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>81061</bug_id>
          
          <creation_ts>2012-03-13 17:01:46 -0700</creation_ts>
          <short_desc>Functions with C linkage should return POD types</short_desc>
          <delta_ts>2012-03-13 17:46:23 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mrowe</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>578007</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-03-13 17:01:46 -0700</bug_when>
    <thetext>They should return either primitive C types or C structs (i.e. structs that do not have methods).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578008</commentid>
    <comment_count>1</comment_count>
      <attachid>131752</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-03-13 17:02:51 -0700</bug_when>
    <thetext>Created attachment 131752
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578013</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 17:08:25 -0700</bug_when>
    <thetext>Attachment 131752 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/ChangeLog:3:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578031</commentid>
    <comment_count>3</comment_count>
      <attachid>131758</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-03-13 17:28:06 -0700</bug_when>
    <thetext>Created attachment 131758
the patch

Corrected the comment.

Apparently, the requirements for return types of functions with C linkage match the C++-03 definition of POD (a strict subset of aggregate types - so no C++-style members, only POD fields).  The C++-11 definition has been split up into two separate concepts (trivial and standard-layout).  Prior to this code we were returning standard-layout but not non-trivial (and thus not POD) classes, which is correct in C++-11 but not C++-03.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578037</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 17:30:31 -0700</bug_when>
    <thetext>Attachment 131758 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/ChangeLog:3:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578042</commentid>
    <comment_count>5</comment_count>
      <attachid>131758</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2012-03-13 17:32:52 -0700</bug_when>
    <thetext>Comment on attachment 131758
the patch

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

Looks fine to me.

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        Need a short description and bug URL (OOPS!)

Describe the problem!

&gt; Source/JavaScriptCore/dfg/DFGOperations.h:160
&gt; +// According to C++ rules, a type used for the return signature of function with C linkage (i.e.
&gt; +// &apos;extern &quot;C&quot;&apos;) needs to be POD in the C++-03 sense: loosely speaking it must have nothing more than
&gt; +// those members that would be valid in C. This means no constructors.

I don&apos;t think it&apos;s necessary to explain what a POD type is here. I&apos;d simplify this to something like:
// Since this type is used in the signature of a function declared with C linkage it must be a POD type.

&gt; Source/JavaScriptCore/llint/LLIntSlowPaths.h:44
&gt; +// According to C++ rules, a type used for the return signature of function with C linkage (i.e.
&gt; +// &apos;extern &quot;C&quot;&apos;) needs to be POD in the C++-03 sense: loosely speaking it must have nothing more than
&gt; +// those members that would be valid in C. This means no constructors.

Same comment about the comment here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578058</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-03-13 17:46:23 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/110651</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131752</attachid>
            <date>2012-03-13 17:02:51 -0700</date>
            <delta_ts>2012-03-13 17:28:06 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>clinkage_patch_1.diff</filename>
            <type>text/plain</type>
            <size>3831</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTEwNjQzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDEyLTAzLTEzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
TmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25z
Lmg6CisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAgICAgICAgKExMSW50KToK
KyAgICAgICAgKFNsb3dQYXRoUmV0dXJuVHlwZSk6CisgICAgICAgIChKU0M6OkxMSW50OjplbmNv
ZGVSZXN1bHQpOgorCiAyMDEyLTAzLTEzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgTG9hZHMgZnJvbSBVSW50MzJBcnJheXMgc2hvdWxkIG5vdCByZXN1bHQgaW4g
YSBkb3VibGUgdXAtY29udmVydCBpZiBpdCBpc24ndCBuZWNlc3NhcnkKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCShyZXZpc2lvbiAxMTA2MzgpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5KQpA
QCAtMTU0LDIxICsxNTQsMTIgQEAgSlNDZWxsKiBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1
bmN0aQogCiAvLyBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIGxvb2t1cCBhbiBleGNlcHRpb24gaGFu
ZGVyLCBrZXllZCBieSBmYXVsdExvY2F0aW9uLCB3aGljaCBpcwogLy8gdGhlIHJldHVybiBsb2Nh
dGlvbiBmcm9tIG9uZSBvZiB0aGUgY2FsbHMgb3V0IHRvIG9uZSBvZiB0aGUgaGVscGVyIG9wZXJh
dGlvbnMgYWJvdmUuCi1zdHJ1Y3QgREZHSGFuZGxlciB7Ci0gICAgREZHSGFuZGxlcihFeGVjU3Rh
dGUqIGV4ZWMsIHZvaWQqIGhhbmRsZXIpCi0gICAgewotICAgICAgICB1LnMuZXhlYyA9IGV4ZWM7
Ci0gICAgICAgIHUucy5oYW5kbGVyID0gaGFuZGxlcjsKLSAgICB9Ci0KLSNpZiAhQ1BVKFg4Nl82
NCkKLSAgICB1aW50NjRfdCBlbmNvZGVkKCkKLSAgICB7Ci0gICAgICAgIENPTVBJTEVfQVNTRVJU
KHNpemVvZihVbmlvbikgPT0gc2l6ZW9mKHVpbnQ2NF90KSwgREZHSGFuZGxlcl9Vbmlvbl9pc182
NGJpdCk7Ci0gICAgICAgIHJldHVybiB1LmVuY29kZWQ7Ci0gICAgfQotI2VuZGlmCiAKKy8vIEFj
Y29yZGluZyB0byBDKysgcnVsZXMsIGEgdHlwZSB1c2VkIGZvciB0aGUgcmV0dXJuIHNpZ25hdHVy
ZSBvZiBmdW5jdGlvbiB3aXRoIEMgbGlua2FnZSAoaS5lLgorLy8gJ2V4dGVybiAiQyInKSBuZWVk
cyB0byBiZSBhIHB1cmUgQyB0eXBlLCBhbmQgaGVuY2UgbXVzdCBub3QgaGF2ZSBhbnkgbWV0aG9k
cyBvciBjb25zdHJ1Y3RvcnMuCisvLyBJbiBwYXJ0aWN1bGFyLCBpdCBuZWVkcyB0byBiZSBub3Qg
anVzdCBzaGFwZWQgbGlrZSBhIFBPRCAobm8gdnRhYmxlKSBidXQgYWxzbyBtdXN0IG5vdCBoYXZl
CisvLyBhbnkgQysrLW5lc3MgdG8gaXQuCitzdHJ1Y3QgREZHSGFuZGxlciB7CiAgICAgdW5pb24g
VW5pb24gewogICAgICAgICBzdHJ1Y3QgU3RydWN0IHsKICAgICAgICAgICAgIEV4ZWNTdGF0ZSog
ZXhlYzsKQEAgLTE3NywxNyArMTY4LDI3IEBAIHN0cnVjdCBERkdIYW5kbGVyIHsKICAgICAgICAg
dWludDY0X3QgZW5jb2RlZDsKICAgICB9IHU7CiB9OworCitpbmxpbmUgREZHSGFuZGxlciBjcmVh
dGVERkdIYW5kbGVyKEV4ZWNTdGF0ZSogZXhlYywgdm9pZCogaGFuZGxlcikKK3sKKyAgICBERkdI
YW5kbGVyIHJlc3VsdDsKKyAgICByZXN1bHQudS5zLmV4ZWMgPSBleGVjOworICAgIHJlc3VsdC51
LnMuaGFuZGxlciA9IGhhbmRsZXI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogI2lmIENQVShY
ODZfNjQpCiB0eXBlZGVmIERGR0hhbmRsZXIgREZHSGFuZGxlckVuY29kZWQ7CiBpbmxpbmUgREZH
SGFuZGxlckVuY29kZWQgZGZnSGFuZGxlckVuY29kZWQoRXhlY1N0YXRlKiBleGVjLCB2b2lkKiBo
YW5kbGVyKQogewotICAgIHJldHVybiBERkdIYW5kbGVyKGV4ZWMsIGhhbmRsZXIpOworICAgIHJl
dHVybiBjcmVhdGVERkdIYW5kbGVyKGV4ZWMsIGhhbmRsZXIpOwogfQogI2Vsc2UKIHR5cGVkZWYg
dWludDY0X3QgREZHSGFuZGxlckVuY29kZWQ7CiBpbmxpbmUgREZHSGFuZGxlckVuY29kZWQgZGZn
SGFuZGxlckVuY29kZWQoRXhlY1N0YXRlKiBleGVjLCB2b2lkKiBoYW5kbGVyKQogewotICAgIHJl
dHVybiBERkdIYW5kbGVyKGV4ZWMsIGhhbmRsZXIpLmVuY29kZWQoKTsKKyAgICBDT01QSUxFX0FT
U0VSVChzaXplb2YoREZHSGFuZGxlcjo6VW5pb24pID09IHNpemVvZih1aW50NjRfdCksIERGR0hh
bmRsZXJfVW5pb25faXNfNjRiaXQpOworICAgIHJldHVybiBjcmVhdGVERkdIYW5kbGVyKGV4ZWMs
IGhhbmRsZXIpLnUuZW5jb2RlZDsKIH0KICNlbmRpZgogREZHSGFuZGxlckVuY29kZWQgREZHX09Q
RVJBVElPTiBsb29rdXBFeGNlcHRpb25IYW5kbGVyKEV4ZWNTdGF0ZSosIHVpbnQzMl90KTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCShyZXZp
c2lvbiAxMTA2MzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0
aHMuaAkod29ya2luZyBjb3B5KQpAQCAtMzksMjAgKzM5LDIxIEBAIHN0cnVjdCBJbnN0cnVjdGlv
bjsKIG5hbWVzcGFjZSBMTEludCB7CiAKICNpZiBVU0UoSlNWQUxVRTY0KQorLy8gQWNjb3JkaW5n
IHRvIEMrKyBydWxlcywgYSB0eXBlIHVzZWQgZm9yIHRoZSByZXR1cm4gc2lnbmF0dXJlIG9mIGZ1
bmN0aW9uIHdpdGggQyBsaW5rYWdlIChpLmUuCisvLyAnZXh0ZXJuICJDIicpIG5lZWRzIHRvIGJl
IGEgcHVyZSBDIHR5cGUsIGFuZCBoZW5jZSBtdXN0IG5vdCBoYXZlIGFueSBtZXRob2RzIG9yIGNv
bnN0cnVjdG9ycy4KKy8vIEluIHBhcnRpY3VsYXIsIGl0IG5lZWRzIHRvIGJlIG5vdCBqdXN0IHNo
YXBlZCBsaWtlIGEgUE9EIChubyB2dGFibGUpIGJ1dCBhbHNvIG11c3Qgbm90IGhhdmUKKy8vIGFu
eSBDKystbmVzcyB0byBpdC4KIHN0cnVjdCBTbG93UGF0aFJldHVyblR5cGUgewogICAgIHZvaWQq
IGE7CiAgICAgdm9pZCogYjsKLSAgICAKLSAgICBTbG93UGF0aFJldHVyblR5cGUodm9pZCogYSwg
dm9pZCogYikKLSAgICAgICAgOiBhKGEpCi0gICAgICAgICwgYihiKQotICAgIHsKLSAgICB9CiB9
OwogCiBpbmxpbmUgU2xvd1BhdGhSZXR1cm5UeXBlIGVuY29kZVJlc3VsdCh2b2lkKiBhLCB2b2lk
KiBiKQogewotICAgIHJldHVybiBTbG93UGF0aFJldHVyblR5cGUoYSwgYik7CisgICAgU2xvd1Bh
dGhSZXR1cm5UeXBlIHJlc3VsdDsKKyAgICByZXN1bHQuYSA9IGE7CisgICAgcmVzdWx0LmIgPSBi
OworICAgIHJldHVybiByZXN1bHQ7CiB9CiAjZWxzZQogdHlwZWRlZiBpbnQ2NF90IFNsb3dQYXRo
UmV0dXJuVHlwZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131758</attachid>
            <date>2012-03-13 17:28:06 -0700</date>
            <delta_ts>2012-03-13 17:32:52 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>clinkage_patch_2.diff</filename>
            <type>text/plain</type>
            <size>3745</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTEwNjQzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDEyLTAzLTEzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
TmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25z
Lmg6CisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAgICAgICAgKExMSW50KToK
KyAgICAgICAgKFNsb3dQYXRoUmV0dXJuVHlwZSk6CisgICAgICAgIChKU0M6OkxMSW50OjplbmNv
ZGVSZXN1bHQpOgorCiAyMDEyLTAzLTEzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgTG9hZHMgZnJvbSBVSW50MzJBcnJheXMgc2hvdWxkIG5vdCByZXN1bHQgaW4g
YSBkb3VibGUgdXAtY29udmVydCBpZiBpdCBpc24ndCBuZWNlc3NhcnkKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCShyZXZpc2lvbiAxMTA2MzgpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5KQpA
QCAtMTU0LDIxICsxNTQsMTEgQEAgSlNDZWxsKiBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1
bmN0aQogCiAvLyBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIGxvb2t1cCBhbiBleGNlcHRpb24gaGFu
ZGVyLCBrZXllZCBieSBmYXVsdExvY2F0aW9uLCB3aGljaCBpcwogLy8gdGhlIHJldHVybiBsb2Nh
dGlvbiBmcm9tIG9uZSBvZiB0aGUgY2FsbHMgb3V0IHRvIG9uZSBvZiB0aGUgaGVscGVyIG9wZXJh
dGlvbnMgYWJvdmUuCi1zdHJ1Y3QgREZHSGFuZGxlciB7Ci0gICAgREZHSGFuZGxlcihFeGVjU3Rh
dGUqIGV4ZWMsIHZvaWQqIGhhbmRsZXIpCi0gICAgewotICAgICAgICB1LnMuZXhlYyA9IGV4ZWM7
Ci0gICAgICAgIHUucy5oYW5kbGVyID0gaGFuZGxlcjsKLSAgICB9Ci0KLSNpZiAhQ1BVKFg4Nl82
NCkKLSAgICB1aW50NjRfdCBlbmNvZGVkKCkKLSAgICB7Ci0gICAgICAgIENPTVBJTEVfQVNTRVJU
KHNpemVvZihVbmlvbikgPT0gc2l6ZW9mKHVpbnQ2NF90KSwgREZHSGFuZGxlcl9Vbmlvbl9pc182
NGJpdCk7Ci0gICAgICAgIHJldHVybiB1LmVuY29kZWQ7Ci0gICAgfQotI2VuZGlmCiAKKy8vIEFj
Y29yZGluZyB0byBDKysgcnVsZXMsIGEgdHlwZSB1c2VkIGZvciB0aGUgcmV0dXJuIHNpZ25hdHVy
ZSBvZiBmdW5jdGlvbiB3aXRoIEMgbGlua2FnZSAoaS5lLgorLy8gJ2V4dGVybiAiQyInKSBuZWVk
cyB0byBiZSBQT0QgaW4gdGhlIEMrKy0wMyBzZW5zZTogbG9vc2VseSBzcGVha2luZyBpdCBtdXN0
IGhhdmUgbm90aGluZyBtb3JlIHRoYW4KKy8vIHRob3NlIG1lbWJlcnMgdGhhdCB3b3VsZCBiZSB2
YWxpZCBpbiBDLiBUaGlzIG1lYW5zIG5vIGNvbnN0cnVjdG9ycy4KK3N0cnVjdCBERkdIYW5kbGVy
IHsKICAgICB1bmlvbiBVbmlvbiB7CiAgICAgICAgIHN0cnVjdCBTdHJ1Y3QgewogICAgICAgICAg
ICAgRXhlY1N0YXRlKiBleGVjOwpAQCAtMTc3LDE3ICsxNjcsMjcgQEAgc3RydWN0IERGR0hhbmRs
ZXIgewogICAgICAgICB1aW50NjRfdCBlbmNvZGVkOwogICAgIH0gdTsKIH07CisKK2lubGluZSBE
RkdIYW5kbGVyIGNyZWF0ZURGR0hhbmRsZXIoRXhlY1N0YXRlKiBleGVjLCB2b2lkKiBoYW5kbGVy
KQoreworICAgIERGR0hhbmRsZXIgcmVzdWx0OworICAgIHJlc3VsdC51LnMuZXhlYyA9IGV4ZWM7
CisgICAgcmVzdWx0LnUucy5oYW5kbGVyID0gaGFuZGxlcjsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCiAjaWYgQ1BVKFg4Nl82NCkKIHR5cGVkZWYgREZHSGFuZGxlciBERkdIYW5kbGVyRW5jb2Rl
ZDsKIGlubGluZSBERkdIYW5kbGVyRW5jb2RlZCBkZmdIYW5kbGVyRW5jb2RlZChFeGVjU3RhdGUq
IGV4ZWMsIHZvaWQqIGhhbmRsZXIpCiB7Ci0gICAgcmV0dXJuIERGR0hhbmRsZXIoZXhlYywgaGFu
ZGxlcik7CisgICAgcmV0dXJuIGNyZWF0ZURGR0hhbmRsZXIoZXhlYywgaGFuZGxlcik7CiB9CiAj
ZWxzZQogdHlwZWRlZiB1aW50NjRfdCBERkdIYW5kbGVyRW5jb2RlZDsKIGlubGluZSBERkdIYW5k
bGVyRW5jb2RlZCBkZmdIYW5kbGVyRW5jb2RlZChFeGVjU3RhdGUqIGV4ZWMsIHZvaWQqIGhhbmRs
ZXIpCiB7Ci0gICAgcmV0dXJuIERGR0hhbmRsZXIoZXhlYywgaGFuZGxlcikuZW5jb2RlZCgpOwor
ICAgIENPTVBJTEVfQVNTRVJUKHNpemVvZihERkdIYW5kbGVyOjpVbmlvbikgPT0gc2l6ZW9mKHVp
bnQ2NF90KSwgREZHSGFuZGxlcl9Vbmlvbl9pc182NGJpdCk7CisgICAgcmV0dXJuIGNyZWF0ZURG
R0hhbmRsZXIoZXhlYywgaGFuZGxlcikudS5lbmNvZGVkOwogfQogI2VuZGlmCiBERkdIYW5kbGVy
RW5jb2RlZCBERkdfT1BFUkFUSU9OIGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXIoRXhlY1N0YXRlKiwg
dWludDMyX3QpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1Bh
dGhzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xv
d1BhdGhzLmgJKHJldmlzaW9uIDExMDYzOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFNsb3dQYXRocy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwyMCArMzksMjAgQEAgc3Ry
dWN0IEluc3RydWN0aW9uOwogbmFtZXNwYWNlIExMSW50IHsKIAogI2lmIFVTRShKU1ZBTFVFNjQp
CisvLyBBY2NvcmRpbmcgdG8gQysrIHJ1bGVzLCBhIHR5cGUgdXNlZCBmb3IgdGhlIHJldHVybiBz
aWduYXR1cmUgb2YgZnVuY3Rpb24gd2l0aCBDIGxpbmthZ2UgKGkuZS4KKy8vICdleHRlcm4gIkMi
JykgbmVlZHMgdG8gYmUgUE9EIGluIHRoZSBDKystMDMgc2Vuc2U6IGxvb3NlbHkgc3BlYWtpbmcg
aXQgbXVzdCBoYXZlIG5vdGhpbmcgbW9yZSB0aGFuCisvLyB0aG9zZSBtZW1iZXJzIHRoYXQgd291
bGQgYmUgdmFsaWQgaW4gQy4gVGhpcyBtZWFucyBubyBjb25zdHJ1Y3RvcnMuCiBzdHJ1Y3QgU2xv
d1BhdGhSZXR1cm5UeXBlIHsKICAgICB2b2lkKiBhOwogICAgIHZvaWQqIGI7Ci0gICAgCi0gICAg
U2xvd1BhdGhSZXR1cm5UeXBlKHZvaWQqIGEsIHZvaWQqIGIpCi0gICAgICAgIDogYShhKQotICAg
ICAgICAsIGIoYikKLSAgICB7Ci0gICAgfQogfTsKIAogaW5saW5lIFNsb3dQYXRoUmV0dXJuVHlw
ZSBlbmNvZGVSZXN1bHQodm9pZCogYSwgdm9pZCogYikKIHsKLSAgICByZXR1cm4gU2xvd1BhdGhS
ZXR1cm5UeXBlKGEsIGIpOworICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQ7CisgICAgcmVz
dWx0LmEgPSBhOworICAgIHJlc3VsdC5iID0gYjsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogI2Vs
c2UKIHR5cGVkZWYgaW50NjRfdCBTbG93UGF0aFJldHVyblR5cGU7Cg==
</data>
<flag name="review"
          id="135177"
          type_id="1"
          status="+"
          setter="mrowe"
    />
          </attachment>
      

    </bug>

</bugzilla>