Bug 179926 - tuple related items are used in WTF without including tuple
Summary: tuple related items are used in WTF without including tuple
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Template Framework (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
: 169769 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-11-21 11:22 PST by Stephan Szabo
Modified: 2017-11-22 09:57 PST (History)
12 users (show)

See Also:


Attachments
Add tuple includes to WTF headers. (1.62 KB, patch)
2017-11-21 11:30 PST, Stephan Szabo
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Szabo 2017-11-21 11:22:48 PST
There are some cases where a few WTF headers that use tuple without including <tuple> (HashFunctions.h, PrintStream.h, Signals.h) can cause compilation failures on toolchains where tuple isn't being already defined (for example via include from another previously included STL header) and don't delay templates like MSVC.
 
For Signals.h, it appears that the only place in Signals.cpp the additional <tuple> include would work in break the header include order (it would have to be before the include of Signals.h itself). For PrintStream.h, it might be possible to find another location, although the first specific error we see is in SlotVisitor.cpp and adding in the accepted header include position in either that file or SlotVisitor.h did not fix the error. For HashFunctions (or at least HashTraits that uses it), there appeared to be failures in WTF, LLIntOffsetsExtractor, and JavaScriptCore and test* apps for failures to find make_tuple via paths including it from heap/Weak.h and text/CString.h across at least 5 of the JSC unified sources.
Comment 1 Stephan Szabo 2017-11-21 11:30:07 PST
Created attachment 327423 [details]
Add tuple includes to WTF headers.
Comment 2 Don Olmstead 2017-11-21 11:49:29 PST
This was brought up at the contributors meeting so hopefully we can land this. STL makes no guarantees that any one header includes another header within the STL so that's one reason we believe that other platforms are not having these problems.
Comment 3 Stephan Szabo 2017-11-21 12:45:18 PST
Adding Alex as he had commented on https://bugs.webkit.org/show_bug.cgi?id=169769
Comment 4 Don Olmstead 2017-11-21 16:16:16 PST
*** Bug 169769 has been marked as a duplicate of this bug. ***
Comment 5 WebKit Commit Bot 2017-11-22 09:56:15 PST
Comment on attachment 327423 [details]
Add tuple includes to WTF headers.

Clearing flags on attachment: 327423

Committed r225096: <https://trac.webkit.org/changeset/225096>
Comment 6 WebKit Commit Bot 2017-11-22 09:56:16 PST
All reviewed patches have been landed.  Closing bug.
Comment 7 Radar WebKit Bug Importer 2017-11-22 09:57:33 PST
<rdar://problem/35668618>