<?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>171010</bug_id>
          
          <creation_ts>2017-04-19 14:32:26 -0700</creation_ts>
          <short_desc>Vector.h: error: &apos;auto&apos; not allowed in lambda parameter</short_desc>
          <delta_ts>2017-04-23 22:58:34 -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>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=171038</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>
          <dependson>170102</dependson>
    
    <dependson>170994</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jfbastien</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1298821</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2017-04-19 14:32:26 -0700</bug_when>
    <thetext>In file included from $(INSTALL_ROOT)/System/Library/Frameworks/WebKit.framework/PrivateHeaders/EnvironmentUtilities.h:29:
In file included from $(SDKROOT)/usr/local/include/wtf/text/WTFString.h:30:
In file included from $(SDKROOT)/usr/local/include/wtf/text/StringImpl.h:35:
$(SDKROOT)/usr/local/include/wtf/Vector.h:1526:47: error: &apos;auto&apos; not allowed in lambda parameter
    return removeRepeatedElements(vector, [] (auto&amp; a, auto&amp; b) { return a == b; });
                                              ^~~~
$(SDKROOT)/usr/local/include/wtf/Vector.h:1526:56: error: &apos;auto&apos; not allowed in lambda parameter
    return removeRepeatedElements(vector, [] (auto&amp; a, auto&amp; b) { return a == b; });
                                                       ^~~~
2 errors generated.

This code was committed in Bug 170102, but was triggered by a change in Bug 170994 that exposed EnvironmentUtilities.h as a private header in WebKit.framework.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298822</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2017-04-19 14:32:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/31716076&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298825</commentid>
    <comment_count>2</comment_count>
      <attachid>307509</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2017-04-19 14:38:50 -0700</bug_when>
    <thetext>Created attachment 307509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298826</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-04-19 14:39:55 -0700</bug_when>
    <thetext>Attachment 307509 did not pass style-queue:


ERROR: Source/WTF/wtf/Vector.h:1526:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 2 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>1298827</commentid>
    <comment_count>4</comment_count>
      <attachid>307509</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-04-19 14:45:10 -0700</bug_when>
    <thetext>Comment on attachment 307509
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298884</commentid>
    <comment_count>5</comment_count>
      <attachid>307509</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-19 16:21:23 -0700</bug_when>
    <thetext>Comment on attachment 307509
Patch

Clearing flags on attachment: 307509

Committed r215538: &lt;http://trac.webkit.org/changeset/215538&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298885</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-19 16:21:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298900</commentid>
    <comment_count>7</comment_count>
      <attachid>307509</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-19 16:33:49 -0700</bug_when>
    <thetext>Comment on attachment 307509
Patch

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

&gt; Source/WTF/ChangeLog:3
&gt; +        Vector.h: error: &apos;auto&apos; not allowed in lambda parameter

It is allowed with c++14. The issue is that the project in question is building with c++11 support instead of c++14. I think we should fix this instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298901</commentid>
    <comment_count>8</comment_count>
      <attachid>307509</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-19 16:36:14 -0700</bug_when>
    <thetext>Comment on attachment 307509
Patch

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

&gt;&gt; Source/WTF/ChangeLog:3
&gt;&gt; +        Vector.h: error: &apos;auto&apos; not allowed in lambda parameter
&gt; 
&gt; It is allowed with c++14. The issue is that the project in question is building with c++11 support instead of c++14. I think we should fix this instead.

Source/WebKit/mac/Configurations/WebKitLegacy.xcconfig:OTHER_TAPI_FLAGS[sdk=iphone*] = -x objective-c++ -std=c++11 -fno-rtti;

We likely want c++14 here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298910</commentid>
    <comment_count>9</comment_count>
      <attachid>307509</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-04-19 16:44:30 -0700</bug_when>
    <thetext>Comment on attachment 307509
Patch

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

&gt;&gt;&gt; Source/WTF/ChangeLog:3
&gt;&gt;&gt; +        Vector.h: error: &apos;auto&apos; not allowed in lambda parameter
&gt;&gt; 
&gt;&gt; It is allowed with c++14. The issue is that the project in question is building with c++11 support instead of c++14. I think we should fix this instead.
&gt; 
&gt; Source/WebKit/mac/Configurations/WebKitLegacy.xcconfig:OTHER_TAPI_FLAGS[sdk=iphone*] = -x objective-c++ -std=c++11 -fno-rtti;
&gt; 
&gt; We likely want c++14 here.

I think this also broke the Windows build, so we may want to be careful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299218</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-04-20 12:32:41 -0700</bug_when>
    <thetext>Can we roll this out after https://trac.webkit.org/changeset/215560/webkit ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299225</commentid>
    <comment_count>11</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-04-20 12:37:40 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #10)
&gt; Can we roll this out after https://trac.webkit.org/changeset/215560/webkit ?

It also breaks Windows, so I don&apos;t think so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299641</commentid>
    <comment_count>12</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-04-21 09:23:49 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #10)
&gt; Can we roll this out after https://trac.webkit.org/changeset/215560/webkit ?

I think we can roll this workaround out once we update our Windows build infrastructure to Visual Studio 2017.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299677</commentid>
    <comment_count>13</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-04-21 10:30:57 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #12)
&gt; (In reply to Chris Dumez from comment #10)
&gt; &gt; Can we roll this out after https://trac.webkit.org/changeset/215560/webkit ?
&gt; 
&gt; I think we can roll this workaround out once we update our Windows build
&gt; infrastructure to Visual Studio 2017.

I&apos;m wrong!

I just rolled this patch out locally, and was able to build WebKit without trouble on Windows. So it looks like VS2015 Update 3&apos;s C++14 support is sufficient here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300375</commentid>
    <comment_count>14</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2017-04-23 15:58:53 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #13)
&gt; (In reply to Brent Fulgham from comment #12)
&gt; &gt; (In reply to Chris Dumez from comment #10)
&gt; &gt; &gt; Can we roll this out after https://trac.webkit.org/changeset/215560/webkit ?
&gt; &gt; 
&gt; &gt; I think we can roll this workaround out once we update our Windows build
&gt; &gt; infrastructure to Visual Studio 2017.
&gt; 
&gt; I&apos;m wrong!
&gt; 
&gt; I just rolled this patch out locally, and was able to build WebKit without
&gt; trouble on Windows. So it looks like VS2015 Update 3&apos;s C++14 support is
&gt; sufficient here.

Based on Source/WebKit2/Configurations/Base.xcconfig, we can&apos;t roll out this change until we switch to c++14 (or gnu++14) for this:

OTHER_TAPI_FLAGS[sdk=iphone*] = -x objective-c++ -std=c++11 -fno-rtti;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300438</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-04-23 22:58:34 -0700</bug_when>
    <thetext>Ideally, we would not make any C++ headers WebKit SPI, and then we won&apos;t need to worry about InstallAPI here.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307509</attachid>
            <date>2017-04-19 14:38:50 -0700</date>
            <delta_ts>2017-04-19 16:21:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171010-20170419143849.patch</filename>
            <type>text/plain</type>
            <size>1520</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1NTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDRkYjZmYmVjMzliZmFmNzkxYTc5ODk4
NDAxOTYxM2YwODU3MWFjMzcuLjFhMTIwNTJmNTBjZTMzNTgwN2ZiNTc2MTI0ZjQ3NTBkZjU2Y2Vk
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDQtMTkgIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBWZWN0b3IuaDogZXJyb3I6ICdhdXRvJyBub3QgYWxs
b3dlZCBpbiBsYW1iZGEgcGFyYW1ldGVyCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8x
NzEwMTA+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTcxNjA3Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9WZWN0b3IuaDoKKyAgICAg
ICAgKFdURjo6cmVtb3ZlUmVwZWF0ZWRFbGVtZW50cyk6IFJlcGxhY2UgJ2F1dG8nIHdpdGggYSBz
cGVjaWZpYworICAgICAgICB0eXBlLCAnVCcsIGJhc2VkIG9uIGEgVmVjdG9yPD4gdGVtcGxhdGUg
dHlwZS4KKwogMjAxNy0wNC0xOSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIE1vdmUgbm90Rm91bmQgaW50byBpdHMgb3duIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1ZlY3Rvci5oIGIvU291cmNlL1dURi93dGYvVmVjdG9yLmgKaW5kZXggM2I2ZmFmOGZj
MzNhNjI2NjBmYjU3MjYzZDc0Y2RiZWI2YjM1ZGI3OC4uNjFiNDEwYmQ0Y2EyZTY3MzJjNjBkOGQx
MjgxMDMwZDQxYzhiNTZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVmVjdG9yLmgKKysr
IGIvU291cmNlL1dURi93dGYvVmVjdG9yLmgKQEAgLTE1MjAsMTAgKzE1MjAsMTAgQEAgc2l6ZV90
IHJlbW92ZVJlcGVhdGVkRWxlbWVudHMoVmVjdG9yVHlwZSYgdmVjdG9yLCBjb25zdCBGdW5jJiBm
dW5jKQogICAgIHJldHVybiBuZXdTaXplOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBWZWN0b3JU
eXBlPgotc2l6ZV90IHJlbW92ZVJlcGVhdGVkRWxlbWVudHMoVmVjdG9yVHlwZSYgdmVjdG9yKQor
dGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBPdmVy
Zmxvd0hhbmRsZXIsIHNpemVfdCBtaW5DYXBhY2l0eT4KK3NpemVfdCByZW1vdmVSZXBlYXRlZEVs
ZW1lbnRzKFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZsb3dIYW5kbGVyLCBtaW5DYXBh
Y2l0eT4mIHZlY3RvcikKIHsKLSAgICByZXR1cm4gcmVtb3ZlUmVwZWF0ZWRFbGVtZW50cyh2ZWN0
b3IsIFtdIChhdXRvJiBhLCBhdXRvJiBiKSB7IHJldHVybiBhID09IGI7IH0pOworICAgIHJldHVy
biByZW1vdmVSZXBlYXRlZEVsZW1lbnRzKHZlY3RvciwgW10gKFQmIGEsIFQmIGIpIHsgcmV0dXJu
IGEgPT0gYjsgfSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdURgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>