<?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>179750</bug_id>
          
          <creation_ts>2017-11-15 16:54:23 -0800</creation_ts>
          <short_desc>REGRESSION(r224887): GCC 5 build broken</short_desc>
          <delta_ts>2017-11-16 15:29:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>Other</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=179706</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>178894</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>Ms2ger</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1372501</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-11-15 16:54:23 -0800</bug_when>
    <thetext>r224887 avoids relying on implementation-defined behavior (multichar constants). We don&apos;t want to roll out that commit.

But it also breaks the build with GCC 5. We&apos;d like to continue supporting GCC 5 in trunk for another half a year, as per https://trac.webkit.org/wiki/WebKitGTK/DependenciesPolicy.

This is actually pretty difficult and messy, but I think I have a solution that works for GCC 5 without sacrificing Jer&apos;s nice constexpr constructor when using newer compilers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372503</commentid>
    <comment_count>1</comment_count>
      <attachid>327037</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-11-15 17:12:13 -0800</bug_when>
    <thetext>Created attachment 327037
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372543</commentid>
    <comment_count>2</comment_count>
    <who name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</who>
    <bug_when>2017-11-16 00:00:58 -0800</bug_when>
    <thetext>Alternatively, would it be possible to add a no-argument constructor that initializes to zero? FourCC { 0 } would still be broken, but the alternative would be less ugly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372585</commentid>
    <comment_count>3</comment_count>
      <attachid>327037</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-11-16 06:23:06 -0800</bug_when>
    <thetext>Comment on attachment 327037
Patch

Jer .. any opinion on this? I will r+ it tomorrow if there isn&apos;t concern about this patch.
Its a build fix, so it has a bit of urgency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372601</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-11-16 07:25:10 -0800</bug_when>
    <thetext>(In reply to Ms2ger from comment #2)
&gt; Alternatively, would it be possible to add a no-argument constructor that
&gt; initializes to zero? FourCC { 0 } would still be broken, but the alternative
&gt; would be less ugly.

Seems like a good idea. Let&apos;s see what Jer thinks before I spend more time on this, though, because this was harder than it looks and I don&apos;t care to admit how much time I spent on it. :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372786</commentid>
    <comment_count>5</comment_count>
      <attachid>327037</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-11-16 13:52:00 -0800</bug_when>
    <thetext>Comment on attachment 327037
Patch

This looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372821</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-11-16 15:08:42 -0800</bug_when>
    <thetext>(In reply to Ms2ger from comment #2)
&gt; Alternatively, would it be possible to add a no-argument constructor that
&gt; initializes to zero? FourCC { 0 } would still be broken, but the alternative
&gt; would be less ugly.

Although it&apos;s ugly, I decided to stick with the current approach to avoid needing to define the no-argument constructor in the non-GCC 5 case. This way, when we delete the fallback code, we won&apos;t have the extra constructor left over.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372827</commentid>
    <comment_count>7</comment_count>
      <attachid>327037</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-16 15:28:03 -0800</bug_when>
    <thetext>Comment on attachment 327037
Patch

Clearing flags on attachment: 327037

Committed r224937: &lt;https://trac.webkit.org/changeset/224937&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372828</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-16 15:28:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372830</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-16 15:29:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/35600883&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327037</attachid>
            <date>2017-11-15 17:12:13 -0800</date>
            <delta_ts>2017-11-16 15:28:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179750-20171115191213.patch</filename>
            <type>text/plain</type>
            <size>5415</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTcxM2JmN2EwODcwMTFh
ZmY4Y2Y5NjJiMmE2ZDYxYmQ0ZjM5MzY1MS4uNDM3OTVkYTdjMGM2MjQ0MDk2MTZkOGYxZTJlMTJi
NTQ1MmNkNTc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE3LTExLTE1ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNT
SU9OKHIyMjQ4ODcpOiBHQ0MgNSBidWlsZCBicm9rZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTc1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGxlZ2FjeSBGb3VyQ0MgY29uc3RydWN0b3Ig
dGhhdCB3aWxsIGJlIHVzZWQgb25seSB3aGVuIGJ1aWxkaW5nIHdpdGggR0NDIDUuIFRoaXMgaXMK
KyAgICAgICAgYmFkLCBidXQgaXQgc2VlbXMgYWNjZXB0YWJsZSBmb3IgdXNlIHdpdGggYSBmYWxs
YmFjayBjb2RlcGF0aC4KKworICAgICAgICBVbmZvcnR1bmF0ZWx5LCB0aGlzIHJlcXVpcmVzIGFk
anVzdGluZyBzb21lIGluaXRpYWxpemF0aW9ucyB0byBhdm9pZCBhbWJpZ3VpdHkgd2l0aCB0aGUK
KyAgICAgICAgdWludDMyX3QgY29uc3RydWN0b3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9Gb3VyQ0MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZvdXJDQzo6Rm91ckNDKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNPQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OklTT0JveDo6cGVla0JveCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT0Jv
eC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09PcmlnaW5hbEZvcm1hdEJv
eC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVUeXBlQm94Lmg6
CisKIDIwMTctMTEtMTUgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIEFTU0VSVElPTiBGQUlMRUQ6ICFyZW5kZXJlci0+bmVlZHNMYXlvdXQoKSBpbiBXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6Y2hlY2tQb3NpdGlvbmVkT2JqZWN0c05lZWRMYXlvdXQgd2l0aCBNYXRo
TUwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvdXJDQy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm91ckNDLmgKaW5kZXggZTEyZWU1
Mjg1M2YyZWE1Y2I3ZjExYjI3MTkwYzk1Njc0ZDNkZjY5MS4uMWFmZTA1MWYxOTgyZjZjNjUxNjdi
MzNlNDNkN2I1YWJhOWQzMzcwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm91ckNDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm91ckNDLmgKQEAgLTI3LDE3ICsyNyw0NiBAQAogCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKKy8vIEZJWE1FOiBSZW1vdmUgdGhpcyBtZXNzeSBmYWxsYmFjayBwYXRoIGFuZCBy
ZXF1aXJlIEdDQyA2IGluIE1heSAyMDE4LgorI2lmIENPTVBJTEVSKEdDQykKKyNpZiAhR0NDX1ZF
UlNJT05fQVRfTEVBU1QoNiwgMCwgMCkKKyNkZWZpbmUgTkVFRF9GT1VSQ0NfTEVHQUNZX0NPTlNU
UlVDVE9SCisjaW5jbHVkZSA8Y3N0cmluZz4KKyNlbmRpZgorI2VuZGlmCisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogc3RydWN0IEZvdXJDQyB7CiAgICAgV0VCQ09SRV9FWFBPUlQgRm91ckNDKHVp
bnQzMl90IHZhbHVlKSA6IHZhbHVlKHZhbHVlKSB7IH0KIAorI2lmZGVmIE5FRURfRk9VUkNDX0xF
R0FDWV9DT05TVFJVQ1RPUgorICAgIC8vIFRoaXMgY29uc3RydWN0b3IgaXMgcmlza3kgYmVjYXVz
ZSBpdCBjcmVhdGVzIGFtYmlndW91cyBmdW5jdGlvbgorICAgIC8vIGNhbGxzIHRoYXQgd2lsbCBu
b3QgZXhpc3QgZXhjZXB0IHdpdGggb2xkIHZlcnNpb25zIG9mIEdDQzogdGhlCisgICAgLy8gaW5p
dGlhbGl6YXRpb24gRm91ckNDIHsgMCB9IGlzIHZhbGlkIG9ubHkgd2hlbiB0aGlzIGxlZ2FjeQor
ICAgIC8vIGNvbnN0cnVjdG9yIGlzIG5vdCBlbmFibGVkLCBiZWNhdXNlIHRoZSB1aW50MzJfdCBj
b25zdHJ1Y3RvciBhbmQKKyAgICAvLyB0aGlzIGNvbnN0cnVjdG9yIGFyZSBlcXVhbGx5LWFwcHJv
cHJpYXRlIG9wdGlvbnMuIFNvIHRoZSBtb3JlCisgICAgLy8gdmVyYm9zZSBpbml0aWFsaXphdGlv
biBGb3VyQ0MgeyB1aW50MzJfdCB7IDAgfSB9IGlzIHJlcXVpcmVkLCBidXQKKyAgICAvLyBkZXZl
bG9wZXJzIHdpbGwgbm90IHJlYWxpemUgdGhpcyB1bmxlc3MgdGhleSB1c2UgYW4gb2xkIHZlcnNp
b24gb2YKKyAgICAvLyBHQ0MuIEJhZC4KKyAgICBGb3VyQ0MoY29uc3QgY2hhciogZGF0YSkKKyAg
ICB7CisgICAgICAgIGlmICghZGF0YSkgeworICAgICAgICAgICAgdmFsdWUgPSAwOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VD
VVJJVFlfSU1QTElDQVRJT04oc3RybGVuKGRhdGEpID09IDQpOworICAgICAgICB2YWx1ZSA9IGRh
dGFbMF0gPDwgMjQgfCBkYXRhWzFdIDw8IDE2IHwgZGF0YVsyXSA8PCA4IHwgZGF0YVszXTsKKyAg
ICB9CisjdW5kZWYgTkVFRF9GT1VSQ0NfTEVHQUNZX0NPTlNUUlVDVE9SCisjZWxzZQogICAgIHRl
bXBsYXRlPHN0ZDo6c2l6ZV90IE4+CiAgICAgY29uc3RleHByIEZvdXJDQyhjb25zdCBjaGFyICgm
ZGF0YSlbTl0pCiAgICAgewogICAgICAgICBzdGF0aWNfYXNzZXJ0KChOIC0gMSkgPT0gNCwgIkZv
dXJDQyBsaXRlcmFscyBtdXN0IGJlIGV4YWN0bHkgNCBjaGFyYWN0ZXJzIGxvbmciKTsKICAgICAg
ICAgdmFsdWUgPSBkYXRhWzBdIDw8IDI0IHwgZGF0YVsxXSA8PCAxNiB8IGRhdGFbMl0gPDwgOCB8
IGRhdGFbM107CiAgICAgfQorI2VuZGlmCiAKICAgICBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdDsK
ICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc3RkOjpvcHRpb25hbDxGb3VyQ0M+IGZyb21TdHJp
bmcoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9pc28vSVNPQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2lzby9JU09Cb3guY3BwCmluZGV4IGY2MTZmNDM1MjVjZjEyMmVjNGYyYjMyNGM1ODMwZDg2ZmZi
OGZhOGMuLjc5YTgyYTlmNmMzNmY4YzM4OTBmYzk1YjNlZTk2MTc4M2I1NjM1ZjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09Cb3guY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09Cb3guY3BwCkBAIC0zOCw3
ICszOCw3IEBAIElTT0JveDo6UGVla1Jlc3VsdCBJU09Cb3g6OnBlZWtCb3goRGF0YVZpZXcmIHZp
ZXcsIHVuc2lnbmVkIG9mZnNldCkKICAgICBpZiAoIWNoZWNrZWRSZWFkPHVpbnQzMl90PihzaXpl
LCB2aWV3LCBvZmZzZXQsIEJpZ0VuZGlhbikpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CiAKLSAgICBGb3VyQ0MgdHlwZSA9IHsgMCB9OworICAgIEZvdXJDQyB0eXBlID0geyB1aW50MzJf
dCB7IDAgfSB9OwogICAgIGlmICghY2hlY2tlZFJlYWQ8dWludDMyX3Q+KHR5cGUsIHZpZXcsIG9m
ZnNldCwgQmlnRW5kaWFuKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT0JveC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT0JveC5oCmluZGV4IGRiMzMxM2Rl
ODRmZGUzMTI1YmUzMzk4YWI1OTFiMzIxOGM1NWQ2ZGYuLjYyZTY3OWFlM2IyNjQxODhmNmU3MjE1
YzZjNGY4ZmIwYzliN2YyMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2lzby9JU09Cb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9pc28vSVNPQm94LmgKQEAgLTcxLDcgKzcxLDcgQEAgcHJvdGVjdGVkOgogICAgIH0KIAogICAg
IHVpbnQ2NF90IG1fc2l6ZSB7IDAgfTsKLSAgICBGb3VyQ0MgbV9ib3hUeXBlIHsgMCB9OworICAg
IEZvdXJDQyBtX2JveFR5cGUgeyB1aW50MzJfdCB7IDAgfSB9OwogICAgIFZlY3Rvcjx1aW50OF90
PiBtX2V4dGVuZGVkVHlwZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2lzby9JU09PcmlnaW5hbEZvcm1hdEJveC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT09yaWdpbmFsRm9ybWF0Qm94LmgKaW5kZXggZTkwZTc2
YzgwZGY3OGI2ODcyOWY2MTVmZTMyY2RjNTVhYTQ0NGMzZC4uMGEwOGY2ZTkwMjYwNTc5NzQyODMy
ZmY3ZjY2ZDZlZWQ4YjMzNmM1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvaXNvL0lTT09yaWdpbmFsRm9ybWF0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT09yaWdpbmFsRm9ybWF0Qm94LmgKQEAgLTM4LDcgKzM4
LDcgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIGJvb2wgcGFyc2UoSlNDOjpEYXRhVmlldyYs
IHVuc2lnbmVkJiBvZmZzZXQpIG92ZXJyaWRlOwogCi0gICAgRm91ckNDIG1fZGF0YUZvcm1hdCB7
IDAgfTsKKyAgICBGb3VyQ0MgbV9kYXRhRm9ybWF0IHsgdWludDMyX3QgeyAwIH0gfTsKIH07CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09T
Y2hlbWVUeXBlQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNP
U2NoZW1lVHlwZUJveC5oCmluZGV4IDY2YTljYTA3MjgzMDQ2MjFkZGY2MzEyN2U3NGI4OWQ2YWI5
ZjUzY2YuLjNiMWNkODkzYWMxODE0NzI2OWQ3ZmYwYWNhYTRmNjU5NzNiZDgwZWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9JU09TY2hlbWVUeXBlQm94
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1NjaGVtZVR5
cGVCb3guaApAQCAtMzksNyArMzksNyBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBw
YXJzZShKU0M6OkRhdGFWaWV3JiwgdW5zaWduZWQmIG9mZnNldCkgb3ZlcnJpZGU7CiAKLSAgICBG
b3VyQ0MgbV9zY2hlbWVUeXBlIHsgMCB9OworICAgIEZvdXJDQyBtX3NjaGVtZVR5cGUgeyB1aW50
MzJfdCB7IDAgfSB9OwogICAgIHVpbnQzMl90IG1fc2NoZW1lVmVyc2lvbiB7IDAgfTsKIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>