Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(224)

Issue 12328142: Mark types used in template instantiatious explicitly as visible (Closed)

Created:
7 years, 9 months ago by Nico
Modified:
7 years, 9 months ago
Reviewers:
danakj, hans, Mark Mentovai
CC:
chromium-reviews, cc-bugs_chromium.org, oshima, enne (OOO), danakj
Visibility:
Public.

Description

Closed without committing. Turns out this wasn't needed, see comments below. Mark types used in template instantiatious explicitly as visible As of r175326, clang hides instantiated templates if any of the instantiating types are hidden at instantiation time (see http://comments.gmane.org/gmane.comp.compilers.clang.scm/67619 ). This change is needed to keep the components build working with clang when rolling to clang r175326 or newer. BUG=177235

Patch Set 1 #

Patch Set 2 : foo #

Patch Set 3 : blah #

Patch Set 4 : comment #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+38 lines, -6 lines) Patch
M base/base.gypi View 1 1 chunk +1 line, -0 lines 0 comments Download
A base/export_template_type.h View 1 2 3 1 chunk +27 lines, -0 lines 2 comments Download
M cc/occlusion_tracker.h View 1 2 3 chunks +6 lines, -4 lines 0 comments Download
M ui/gfx/rect.h View 1 2 chunks +2 lines, -1 line 0 comments Download
M ui/gfx/rect_f.h View 1 2 2 chunks +2 lines, -1 line 0 comments Download

Messages

Total messages: 8 (0 generated)
Nico
7 years, 9 months ago (2013-02-27 14:41:32 UTC) #1
hans
lgtm
7 years, 9 months ago (2013-02-27 14:46:59 UTC) #2
danakj
owners LGTM
7 years, 9 months ago (2013-02-27 14:51:10 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/thakis@chromium.org/12328142/1
7 years, 9 months ago (2013-02-27 14:52:17 UTC) #4
commit-bot: I haz the power
Sorry for I got bad news for ya. Compile failed with a clobber build on ...
7 years, 9 months ago (2013-02-27 15:15:43 UTC) #5
Nico
This needs some more tweaking to make it work with gcc too, see patch set ...
7 years, 9 months ago (2013-02-28 15:35:02 UTC) #6
Mark Mentovai
Since compliers are treating this differently, can we just not use forward declarations? This evidently ...
7 years, 9 months ago (2013-02-28 15:39:21 UTC) #7
Nico
7 years, 9 months ago (2013-02-28 16:50:25 UTC) #8
On 2013/02/28 15:39:21, Mark Mentovai wrote:
> Since compliers are treating this differently, can we just not use forward
> declarations? This evidently doesn’t happen all that often.

Great point. As it turns out, this CL isn't necessary at all since clang
r176164, for the reason you state: By the time the actual explicit instantiation
in the cc file is reached (as opposed to the instantiation declaration in the
header), the header for Insets / InsetsF / Layer / LayerImpl etc is already
loaded, and due to clang r176164 everything works. I just didn't test building
without any local changes after that revision, due to so much back and forth on
that thread.

So it's all good as is, without this CL. Closing. Thank you for your comment :-)

Powered by Google App Engine
This is Rietveld 408576698