<?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>174392</bug_id>
          
          <creation_ts>2017-07-11 14:28:18 -0700</creation_ts>
          <short_desc>[SOUP] Do not use C linkage for functions using C++ features</short_desc>
          <delta_ts>2017-07-12 03:12:49 -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>WebKit Misc.</component>
          <version>Other</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="Adrian Perez">aperez</reporter>
          <assigned_to name="Adrian Perez">aperez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>berto</cc>
    
    <cc>buildbot</cc>
    
    <cc>cgarcia</cc>
    
    <cc>danw</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mrobinson</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1327742</commentid>
    <comment_count>0</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-07-11 14:28:18 -0700</bug_when>
    <thetext>Building with Clang emits the following warning:

  In file included from ../../Source/WebKit2/NetworkProcess/CustomProtocols/soup/LegacyCustomProtocolManagerSoup.cpp:33:
  In file included from DerivedSources/ForwardingHeaders/WebCore/WebKitSoupRequestGeneric.h:1:                                                                  
  Source/WebCore/platform/network/soup/WebKitSoupRequestGeneric.h:61:33:
     warning: &apos;webkitSoupRequestGenericGetRequest&apos; has C-linkage specified, but returns user-defined
     type &apos;const WebCore::ResourceRequest &amp;&apos; which is incompatible with C [-Wreturn-type-c-linkage]                                                   
  const WebCore::ResourceRequest&amp; webkitSoupRequestGenericGetRequest(WebKitSoupRequestGeneric*);
                                ^

I&apos;ll be uploading a patch for this momentarily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327746</commentid>
    <comment_count>1</comment_count>
      <attachid>315169</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-07-11 14:33:13 -0700</bug_when>
    <thetext>Created attachment 315169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327782</commentid>
    <comment_count>2</comment_count>
      <attachid>315169</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-07-11 15:28:28 -0700</bug_when>
    <thetext>Comment on attachment 315169
Patch

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

That&apos;s a good warning. Why can&apos;t GCC do that?

&gt; Source/WebCore/platform/network/soup/WebKitSoupRequestGeneric.h:61
&gt; +// The following functions used from C++ only, they should be outside
&gt; +// of the G_BEGIN_DECLS/G_END_DECLS block.

This should be obvious to anyone familiar with the intended use of G_BEGIN_DECLS and G_END_DECLS, and it&apos;s a pattern we&apos;ll need to follow in many private GObject header files wherever references are used in function signatures, so I would remove the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327976</commentid>
    <comment_count>3</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-07-12 03:03:44 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #2)
&gt; Comment on attachment 315169 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=315169&amp;action=review
&gt; 
&gt; That&apos;s a good warning. Why can&apos;t GCC do that?

GCC does not have -Wreturn-type-c-linkage. It does have -Wreturn-type
but it does not warn in this particular case :-/
 

&gt; &gt; Source/WebCore/platform/network/soup/WebKitSoupRequestGeneric.h:61
&gt; &gt; +// The following functions used from C++ only, they should be outside
&gt; &gt; +// of the G_BEGIN_DECLS/G_END_DECLS block.
&gt; 
&gt; This should be obvious to anyone familiar with the intended use of
&gt; G_BEGIN_DECLS and G_END_DECLS, and it&apos;s a pattern we&apos;ll need to follow in
&gt; many private GObject header files wherever references are used in function
&gt; signatures, so I would remove the comment.

Then I&apos;ll remove the comment and land the patch. Thanks for reviewing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327980</commentid>
    <comment_count>4</comment_count>
      <attachid>315224</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-07-12 03:11:31 -0700</bug_when>
    <thetext>Created attachment 315224
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327981</commentid>
    <comment_count>5</comment_count>
      <attachid>315224</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-07-12 03:12:44 -0700</bug_when>
    <thetext>Comment on attachment 315224
Patch

Clearing flags on attachment: 315224

Committed r219387: &lt;http://trac.webkit.org/changeset/219387&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327982</commentid>
    <comment_count>6</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-07-12 03:12:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315169</attachid>
            <date>2017-07-11 14:33:13 -0700</date>
            <delta_ts>2017-07-12 03:11:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174392-20170712003312.patch</filename>
            <type>text/plain</type>
            <size>1881</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5MzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzUyNzgwYjljODNlNjg1
MzVlODc3ZjcwMWFmM2M5MjAxNDE3OWNkNi4uYzc2YWQ2NzYxMDNmY2ZlMDlkMzlmNjRjNDE5Nzhj
YjM5ZjdjZjc1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA3LTExICBBZHJp
YW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW1NPVVBd
IERvIG5vdCB1c2UgQyBsaW5rYWdlIGZvciBmdW5jdGlvbnMgdXNpbmcgQysrIGZlYXR1cmVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQzOTIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVz
dHMgYmVjYXVzZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvV2ViS2l0U291cFJlcXVlc3RHZW5lcmljLmg6IE1vdmUgR19FTkRf
REVDTFMKKyAgICAgICAgdG8gbGVhdmUgZnVuY3Rpb25zIHdoaWNoIHVzZSBDKysgZmVhdHVyZXMg
b3V0c2lkZSBvZiB0aGUgYmxvY2sgaXQKKyAgICAgICAgZGVsaW1pdHMuCisKIDIwMTctMDctMTEg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZWR1Y2UgVVJMIHNpemUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9XZWJLaXRTb3VwUmVxdWVzdEdlbmVyaWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9XZWJLaXRTb3VwUmVxdWVzdEdlbmVyaWMuaAppbmRleCAwOWNiZDI3
MjUzZDQzZGI5ODUwNjVkNDQzNGRkYzZmMWFiODM0MGFiLi5hMWJjY2EwZjRmNzcxZTU0NmI1NjE0
NDliZjZmMTVjMDk0Njk1NDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvV2ViS2l0U291cFJlcXVlc3RHZW5lcmljLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1dlYktpdFNvdXBSZXF1ZXN0R2VuZXJpYy5oCkBAIC01
NSwxMSArNTUsMTQgQEAgc3RydWN0IF9XZWJLaXRTb3VwUmVxdWVzdEdlbmVyaWNDbGFzcyB7CiAK
IEdUeXBlIHdlYmtpdF9zb3VwX3JlcXVlc3RfZ2VuZXJpY19nZXRfdHlwZSgpOwogCitHX0VORF9E
RUNMUworCisvLyBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB1c2VkIGZyb20gQysrIG9ubHksIHRo
ZXkgc2hvdWxkIGJlIG91dHNpZGUKKy8vIG9mIHRoZSBHX0JFR0lOX0RFQ0xTL0dfRU5EX0RFQ0xT
IGJsb2NrLgorCiB2b2lkIHdlYmtpdFNvdXBSZXF1ZXN0R2VuZXJpY1NldENvbnRlbnRMZW5ndGgo
V2ViS2l0U291cFJlcXVlc3RHZW5lcmljKiwgZ29mZnNldCBjb250ZW50TGVuZ3RoKTsKIHZvaWQg
d2Via2l0U291cFJlcXVlc3RHZW5lcmljU2V0Q29udGVudFR5cGUoV2ViS2l0U291cFJlcXVlc3RH
ZW5lcmljKiwgY29uc3QgY2hhciogbWltZVR5cGUpOwogdm9pZCB3ZWJraXRTb3VwUmVxdWVzdEdl
bmVyaWNTZXRSZXF1ZXN0KFdlYktpdFNvdXBSZXF1ZXN0R2VuZXJpYyosIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYpOwogY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiB3ZWJr
aXRTb3VwUmVxdWVzdEdlbmVyaWNHZXRSZXF1ZXN0KFdlYktpdFNvdXBSZXF1ZXN0R2VuZXJpYyop
OwogCi1HX0VORF9ERUNMUwotCiAjZW5kaWYgLy8gV2ViS2l0U291cFJlcXVlc3RHZW5lcmljX2gK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315224</attachid>
            <date>2017-07-12 03:11:31 -0700</date>
            <delta_ts>2017-07-12 03:11:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174392-20170712131130.patch</filename>
            <type>text/plain</type>
            <size>1852</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2MzNjY2MDVkNmE5ZmY1
ZmIxYTM1ZGQ0Y2E2YzEzODdjZjQ1YjcyOC4uZGI2ZTMyN2JjMDZiMmYxODQ1NDZhYjc3NzE0OWNj
MWFmYWY2NDQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA3LTEyICBBZHJp
YW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW1NPVVBd
IERvIG5vdCB1c2UgQyBsaW5rYWdlIGZvciBmdW5jdGlvbnMgdXNpbmcgQysrIGZlYXR1cmVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQzOTIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBNaWNoYWVsIENhdGFuemFyby4KKworICAgICAgICBObyBuZXcg
dGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvV2ViS2l0U291cFJlcXVlc3RHZW5lcmljLmg6IE1vdmUgR19F
TkRfREVDTFMKKyAgICAgICAgdG8gbGVhdmUgZnVuY3Rpb25zIHdoaWNoIHVzZSBDKysgZmVhdHVy
ZXMgb3V0c2lkZSBvZiB0aGUgYmxvY2sgaXQKKyAgICAgICAgZGVsaW1pdHMuCisKIDIwMTctMDct
MTIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdIENyYXNoZXMgaW4gV2ViQ29yZTo6UGFzdGVib2FyZEhlbHBlcjo6ZmlsbFNlbGVjdGlv
bkRhdGEgd2hlbiBzb3VyY2UgZmlsZSBvZiBkcmFnIGlzIHVuYXZhaWxhYmxlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvV2ViS2l0U291cFJlcXVlc3RH
ZW5lcmljLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvV2ViS2l0U291
cFJlcXVlc3RHZW5lcmljLmgKaW5kZXggMDljYmQyNzI1M2Q0M2RiOTg1MDY1ZDQ0MzRkZGM2ZjFh
YjgzNDBhYi4uYWZhY2FjZmJkOTA1YTMwMzEzY2E4Yjg1NzA0YzYyYjJhYjVlZWFkNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1dlYktpdFNvdXBSZXF1
ZXN0R2VuZXJpYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9X
ZWJLaXRTb3VwUmVxdWVzdEdlbmVyaWMuaApAQCAtNTUsMTEgKzU1LDExIEBAIHN0cnVjdCBfV2Vi
S2l0U291cFJlcXVlc3RHZW5lcmljQ2xhc3MgewogCiBHVHlwZSB3ZWJraXRfc291cF9yZXF1ZXN0
X2dlbmVyaWNfZ2V0X3R5cGUoKTsKIAorR19FTkRfREVDTFMKKwogdm9pZCB3ZWJraXRTb3VwUmVx
dWVzdEdlbmVyaWNTZXRDb250ZW50TGVuZ3RoKFdlYktpdFNvdXBSZXF1ZXN0R2VuZXJpYyosIGdv
ZmZzZXQgY29udGVudExlbmd0aCk7CiB2b2lkIHdlYmtpdFNvdXBSZXF1ZXN0R2VuZXJpY1NldENv
bnRlbnRUeXBlKFdlYktpdFNvdXBSZXF1ZXN0R2VuZXJpYyosIGNvbnN0IGNoYXIqIG1pbWVUeXBl
KTsKIHZvaWQgd2Via2l0U291cFJlcXVlc3RHZW5lcmljU2V0UmVxdWVzdChXZWJLaXRTb3VwUmVx
dWVzdEdlbmVyaWMqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYgd2Via2l0U291cFJlcXVlc3RHZW5lcmljR2V0UmVxdWVz
dChXZWJLaXRTb3VwUmVxdWVzdEdlbmVyaWMqKTsKIAotR19FTkRfREVDTFMKLQogI2VuZGlmIC8v
IFdlYktpdFNvdXBSZXF1ZXN0R2VuZXJpY19oCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>