Fix url::CanonOutputT template export |
||||||
Issue descriptionThe template instantiations seems to cause double definitions because of virtual methods. This has been creating some issues to land https://chromium-review.googlesource.com/c/525692/. A quick fix is to EXPORT_TEMPLATE*. A longer fix would be to remove the virtual-ness.
,
Oct 2 2017
,
Oct 2 2017
+tasak #1: IIUC, the errors (warnings) happen that the keyword 'extern' and '__declspec(dllexport)' are exclusive and the only one of them can exist. I was trying to suppress the warnings at https://chromium-review.googlesource.com/c/chromium/src/+/647050, which was reverted due to breaking some bots. I was wondering how https://chromium-review.googlesource.com/c/chromium/src/+/579211 was going to solve that.
,
Oct 2 2017
,
Oct 11 2017
+erikchen What's going on this? This has been a blocker on crbug/757374 ...
,
Oct 11 2017
mlamouri: I think we can move forward with this. I read through: https://chromium-review.googlesource.com/c/chromium/src/+/579211 My understanding is that thakis@ believes that there's a better way of solving the problem, but doesn't have the time to look. Everyone else who's looked [including dcheng, another base owner], believes this is the best short term solution. jam@, a top level owner, has decided it's okay to move forward: https://chromium-review.googlesource.com/c/chromium/src/+/579211#message-4e18287222fd612f8c2e24a9c50b2118a921e385. If at some point thakis@ finds a better solution, we can move forward with that.
,
Oct 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/130ad75c1b9408a91a8f86c320240e4137f35143 commit 130ad75c1b9408a91a8f86c320240e4137f35143 Author: Mounir Lamouri <mlamouri@chromium.org> Date: Fri Oct 13 17:07:15 2017 Export CanonOutputT template instantiations to avoid double definition. The double instantiations seem to happen because of virtual methods. If the class could lose be non-virtual, this could be fixed. However, this is blocking another CL and this fix is the optimal one with regards to time constraints. Bug: 747081 Change-Id: I5c2d2cc7a9e49266b25d2cd3d9835d0647e5438a Reviewed-on: https://chromium-review.googlesource.com/579211 Commit-Queue: Mounir Lamouri <mlamouri@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#508734} [modify] https://crrev.com/130ad75c1b9408a91a8f86c320240e4137f35143/base/BUILD.gn [rename] https://crrev.com/130ad75c1b9408a91a8f86c320240e4137f35143/base/export_template.h [modify] https://crrev.com/130ad75c1b9408a91a8f86c320240e4137f35143/ipc/BUILD.gn [modify] https://crrev.com/130ad75c1b9408a91a8f86c320240e4137f35143/ipc/ipc_message_macros.h [modify] https://crrev.com/130ad75c1b9408a91a8f86c320240e4137f35143/url/BUILD.gn [add] https://crrev.com/130ad75c1b9408a91a8f86c320240e4137f35143/url/url_canon.cc [modify] https://crrev.com/130ad75c1b9408a91a8f86c320240e4137f35143/url/url_canon.h
,
Oct 15 2017
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by mlamouri@chromium.org
, Jul 20 2017