Last Comment Bug 773768 - STL: Add another stl file to the "FIXME" list
: STL: Add another stl file to the "FIXME" list
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: XPCOM (show other bugs)
: unspecified
: x86_64 Linux
: -- normal (vote)
: mozilla17
Assigned To: Nobody; OK to take it and work on it
:
Mentors:
Depends on:
Blocks: clang
  Show dependency treegraph
 
Reported: 2012-07-13 12:24 PDT by Rafael Ávila de Espíndola (:espindola) (not reading bugmail)
Modified: 2012-07-17 02:12 PDT (History)
2 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
add tuple to stl-headers (191 bytes, text/plain)
2012-07-13 12:24 PDT, Rafael Ávila de Espíndola (:espindola) (not reading bugmail)
cjones.bugs: review+
Details

Description Rafael Ávila de Espíndola (:espindola) (not reading bugmail) 2012-07-13 12:24:25 PDT
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 1 Chris Jones [:cjones] inactive; ni?/f?/r? if you need me 2012-07-16 13:52:54 PDT
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.
Comment 2 Ed Morley [:emorley] 2012-07-17 02:12:23 PDT
https://hg.mozilla.org/mozilla-central/rev/1cbe2e404e80

Note You need to log in before you can comment on or make changes to this bug.