Created attachment 641999 [details] add tuple to stl-headers Code we got from chromium uses <tuple>, so we should add it to stl-headers. I found this because clang is stricter than gcc on redeclarations without visibilities and we were getting a preprocessed file that looked like #pragma GCC visibility push(hidden) .... #pragma GCC visibility push(default) contents of a libstdc++ header that forward declares tuple_element. #pragma GCC visibility pop ... contents of libstdc++'s tuple, which defines tuple_element .... When we see the forward declaration we think that tuple_element has default visibility, but then when we find out the definition we see it has hidden visibility. This can also cause problems if only the tuple header is included and we conclude that the types declared in there are hidden.
Comment on attachment 641999 [details] add tuple to stl-headers This isn't an exception-safety review, this is extending the list of headers we use but haven't reviewed. Please update this bug accordingly. r=me for extending that list.