<?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>198349</bug_id>
          
          <creation_ts>2019-05-29 13:23:21 -0700</creation_ts>
          <short_desc>check-webkit-style reports false-positive build/include_order warning in WTF C++ source files</short_desc>
          <delta_ts>2019-05-29 15:06:19 -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>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=198346</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=198351</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bburg</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>thorton</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1540077</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-05-29 13:23:21 -0700</bug_when>
    <thetext>check-webkit-style reports false-positive build/include_order warning in WTF C++ source files.

For example, see Bug 198346 Comment #3:  &lt;https://bugs.webkit.org/show_bug.cgi?id=198346#c3&gt;

ERROR: Source/WTF/wtf/CrossThreadTaskHandler.cpp:29:  Alphabetical sorting problem.  [build/include_order] [4]

For this source in Source/WTF/wtf/CrossThreadTaskHandler.cpp:

    #include &quot;config.h&quot;
    #include &lt;wtf/CrossThreadTaskHandler.h&gt;
    
    #include &lt;wtf/AutodrainedPool.h&gt;

For whatever reason, most C++ source files in WTF use &lt;wtf/Header.h&gt; instead of &quot;Header.h&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1540107</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-05-29 14:16:13 -0700</bug_when>
    <thetext>This fix cuts down on a HUGE amount of false-positives about a missing primary header when running this command:

$ ./Tools/Scripts/check-webkit-style --filter=-,+build/include_order Source/WTF 2&gt;&amp;1 | grep -i primary</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1540109</commentid>
    <comment_count>2</comment_count>
      <attachid>370883</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-05-29 14:17:18 -0700</bug_when>
    <thetext>Created attachment 370883
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1540116</commentid>
    <comment_count>3</comment_count>
      <attachid>370883</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-05-29 14:37:52 -0700</bug_when>
    <thetext>Comment on attachment 370883
Patch v1

r=me
This is necessary so that #pragma once can work with WTF headers, which would otherwise sometimes be included from the build directory and sometimes from the source causing duplicate declarations from including two copies of the same header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1540118</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-05-29 14:39:00 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #3)
&gt; Comment on attachment 370883 [details]
&gt; Patch v1
&gt; 
&gt; r=me
&gt; This is necessary so that #pragma once can work with WTF headers, which
&gt; would otherwise sometimes be included from the build directory and sometimes
&gt; from the source causing duplicate declarations from including two copies of
&gt; the same header.

Thanks for the explanation!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1540131</commentid>
    <comment_count>5</comment_count>
      <attachid>370883</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-29 15:05:06 -0700</bug_when>
    <thetext>Comment on attachment 370883
Patch v1

Clearing flags on attachment: 370883

Committed r245870: &lt;https://trac.webkit.org/changeset/245870&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1540132</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-29 15:05:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1540133</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-29 15:06:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/51238831&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370883</attachid>
            <date>2019-05-29 14:17:18 -0700</date>
            <delta_ts>2019-05-29 15:05:06 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-198349-20190529141717.patch</filename>
            <type>text/plain</type>
            <size>5069</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1ODU0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDMzYjhhZjdjNjJjYzhjY2YxY2UxZmYyZmQ3NGEzZWNm
YTI3ZTVlYS4uMjdjM2I5ZDkxY2Q3MTM4ODMwMjUzZDliZTM0MWIzYTJjNDViNjhlMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE5LTA1LTI5ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAg
ICAgICAgY2hlY2std2Via2l0LXN0eWxlIHJlcG9ydHMgZmFsc2UtcG9zaXRpdmUgYnVpbGQvaW5j
bHVkZV9vcmRlciB3YXJuaW5nIGluIFdURiBDKysgc291cmNlIGZpbGVzCisgICAgICAgIDxodHRw
czovL3dlYmtpdC5vcmcvYi8xOTgzNDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5w
eToKKyAgICAgICAgKF9jbGFzc2lmeV9pbmNsdWRlKTogRG9uJ3QgcmV0dXJuIGVhcmx5IGZvciA8
d3RmL0hlYWRlci5oPgorICAgICAgICBpbmNsdWRlcy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weToKKyAgICAgICAgKE9yZGVyT2ZJbmNs
dWRlc1Rlc3QudGVzdF9wcmltYXJ5X2hlYWRlcik6IEFkZCB0ZXN0cyBmb3IKKyAgICAgICAgPHd0
Zi9IZWFkZXIuaD4gaW5jbHVkZXMuCisKIDIwMTktMDUtMjkgIEFha2FzaCBKYWluICA8YWFrYXNo
X2phaW5AYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgRmxha3kgQVBJIFRlc3QgVGVzdFdl
YktpdEFQSS5fV0tEb3dubG9hZC5Eb3dubG9hZE1vbml0b3JDYW5jZWwKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkKaW5kZXggNGFkZGU3YWFmMjZiZDU4NTQ4
NjJlZjdkYWM1Y2QxZmMzNWVjN2I0MS4uNTRiMTM2ODNkZGEzYWIzY2QzZGY2ZjZlMDRiMzY4MWQ4
ZTU2NDZhZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vy
cy9jcHAucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAu
cHkKQEAgLTMwMzEsNyArMzAzMSw3IEBAIGRlZiBfY2xhc3NpZnlfaW5jbHVkZShmaWxlbmFtZSwg
aW5jbHVkZSwgaXNfc3lzdGVtLCBpbmNsdWRlX3N0YXRlKToKICAgICAiIiIKIAogICAgICMgSWYg
aXQgaXMgYSBzeXN0ZW0gaGVhZGVyIHdlIGtub3cgaXQgaXMgY2xhc3NpZmllZCBhcyBfT1RIRVJf
SEVBREVSLgotICAgIGlmIGlzX3N5c3RlbSBhbmQgbm90IGluY2x1ZGUuc3RhcnRzd2l0aCgncHVi
bGljLycpOgorICAgIGlmIGlzX3N5c3RlbSBhbmQgbm90IGluY2x1ZGUuc3RhcnRzd2l0aCgncHVi
bGljLycpIGFuZCBub3QgaW5jbHVkZS5zdGFydHN3aXRoKCd3dGYvJyk6CiAgICAgICAgIHJldHVy
biBfT1RIRVJfSEVBREVSCiAKICAgICAjIElmIHRoZSBpbmNsdWRlIGlzIG5hbWVkIGNvbmZpZy5o
IHRoZW4gdGhpcyBpcyBXZWJDb3JlL2NvbmZpZy5oLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQppbmRleCBmODM5N2U0ZTYy
ZTExYjI2N2M3NGEyYTRmZjYxNTM0NDhiZTdlMzg0Li43MzE3OWFiNzQzNDhlNTUwNjFkNWQ1YzQ0
NjE1NGZkZjVmY2I1YTU1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0
eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQpAQCAtMzEyOSw4ICszMTI5LDEwIEBAIGNsYXNz
IE9yZGVyT2ZJbmNsdWRlc1Rlc3QoQ3BwU3R5bGVUZXN0QmFzZSk6CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJyNpbmNsdWRlICJiYXIuaCJcbicsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICcnKQorCiAgICAgICAgICMgUHJldGVuZCB0aGF0IGhlYWRl
ciBmaWxlcyBleGlzdC4KICAgICAgICAgb3MucGF0aC5pc2ZpbGUgPSBsYW1iZGEgZmlsZW5hbWU6
IFRydWUKKwogICAgICAgICAjIE1pc3NpbmcgaW5jbHVkZSBmb3IgZXhpc3RpbmcgcHJpbWFyeSBo
ZWFkZXIgLT4gZXJyb3IuCiAgICAgICAgIHNlbGYuYXNzZXJ0X2xhbmd1YWdlX3J1bGVzX2NoZWNr
KCdmb28uY3BwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyNp
bmNsdWRlICJjb25maWcuaCJcbicKQEAgLTMxMzksMTIgKzMxNDEsMTQgQEAgY2xhc3MgT3JkZXJP
ZkluY2x1ZGVzVGVzdChDcHBTdHlsZVRlc3RCYXNlKToKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ0ZvdW5kIG90aGVyIGhlYWRlciBiZWZvcmUgYSBoZWFkZXIgdGhp
cyBmaWxlIGltcGxlbWVudHMuICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ1Nob3VsZCBiZTogY29uZmlnLmgsIHByaW1hcnkgaGVhZGVyLCBibGFuayBsaW5lLCBh
bmQgdGhlbiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbHBo
YWJldGljYWxseSBzb3J0ZWQuICBbYnVpbGQvaW5jbHVkZV9vcmRlcl0gWzRdJykKKwogICAgICAg
ICAjICpTb2Z0TGluay5jcHAgZmlsZXMgc2hvdWxkIG5vdCBpbmNsdWRlIHRoZWlyIGhlYWRlcnMg
LT4gbm8gZXJyb3IuCiAgICAgICAgIHNlbGYuYXNzZXJ0X2xhbmd1YWdlX3J1bGVzX2NoZWNrKCdG
b29Tb2Z0TGluay5jcHAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnI2luY2x1ZGUgImNvbmZpZy5oIlxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICcjaW5jbHVkZSA8d3RmL1NvZnRMaW5raW5nLmg+XG4nLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnJykKKwogICAgICAgICAjIEhhdmluZyBpbmNsdWRlIGZvciBl
eGlzdGluZyBwcmltYXJ5IGhlYWRlciAtPiBubyBlcnJvci4KICAgICAgICAgc2VsZi5hc3NlcnRf
bGFuZ3VhZ2VfcnVsZXNfY2hlY2soJ2Zvby5jcHAnLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnI2luY2x1ZGUgImNvbmZpZy5oIlxuJwpAQCAtMzE1Myw2ICszMTU3
LDI3IEBAIGNsYXNzIE9yZGVyT2ZJbmNsdWRlc1Rlc3QoQ3BwU3R5bGVUZXN0QmFzZSk6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcjaW5jbHVkZSAiYmFyLmgiXG4n
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJykKIAorICAgICAg
ICAjIEhhdmluZyBpbmNsdWRlIGZvciBleGlzdGluZyBXVEYgcHJpbWFyeSBoZWFkZXIgLT4gbm8g
ZXJyb3IuCisgICAgICAgIHNlbGYuYXNzZXJ0X2xhbmd1YWdlX3J1bGVzX2NoZWNrKCdmb28uY3Bw
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyNpbmNsdWRlICJj
b25maWcuaCJcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyNp
bmNsdWRlIDx3dGYvZm9vLmg+XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyNp
bmNsdWRlIDx3dGYvYmFyLmg+XG4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnJykKKworICAgICAgICAjIFdURiBwcmltYXJ5IGhlYWRlciBpbmNsdWRlZCBvdXQg
b2Ygb3JkZXIgLT4gZXJyb3IuCisgICAgICAgIHNlbGYuYXNzZXJ0X2xhbmd1YWdlX3J1bGVzX2No
ZWNrKCdmb28uY3BwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JyNpbmNsdWRlICJjb25maWcuaCJcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJyNpbmNsdWRlIDx3dGYvYmFyLmg+XG4nCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJyNpbmNsdWRlIDx3dGYvZm9vLmg+XG4nLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbJ0ZvdW5kIG90aGVyIGhlYWRlciBiZWZvcmUgYSBoZWFkZXIg
dGhpcyBmaWxlIGltcGxlbWVudHMuICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdTaG91bGQgYmU6IGNvbmZpZy5oLCBwcmltYXJ5IGhlYWRlciwgYmxhbmsgbGlu
ZSwgYW5kIHRoZW4gJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J2FscGhhYmV0aWNhbGx5IHNvcnRlZC4gIFtidWlsZC9pbmNsdWRlX29yZGVyXSBbNF0nLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvdW5kIGhlYWRlciB0aGlz
IGZpbGUgaW1wbGVtZW50cyBhZnRlciBvdGhlciBoZWFkZXIuICcKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdTaG91bGQgYmU6IGNvbmZpZy5oLCBwcmltYXJ5IGhl
YWRlciwgYmxhbmsgbGluZSwgYW5kIHRoZW4gJworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ2FscGhhYmV0aWNhbGx5IHNvcnRlZC4gIFtidWlsZC9pbmNsdWRlX29y
ZGVyXSBbNF0nXSkKKwogICAgICAgICBvcy5wYXRoLmlzZmlsZSA9IHNlbGYub3NfcGF0aF9pc2Zp
bGVfb3JpZwogCiAgICAgZGVmIHRlc3RfcHVibGljX3ByaW1hcnlfaGVhZGVyKHNlbGYpOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>