|
|
DescriptionSet V8_HAS_DECLSPEC_SELECTANY for clang-cl
This macro is used for defining static data members with
STATIC_CONST_MEMBER_DEFINITION. Clang-cl mimics MSVC's
behaviour here, so it also needs __declspec(selectany).
This change was prompted by Clang r237787 which changed
a bug where Clang would previously not emit symbols for
some static data members.
BUG=82385
LOG=N
Committed: https://crrev.com/e514015264f1e0193b57dee76487c85d24f7e4f1
Cr-Commit-Position: refs/heads/master@{#28563}
Patch Set 1 #
Total comments: 2
Patch Set 2 : Use a separate #if for the _MSC_VER check #
Total comments: 2
Patch Set 3 : Fix newline #Messages
Total messages: 20 (6 generated)
hans@chromium.org changed reviewers: + bmeurer@chromium.org, rnk@chromium.org
This should fix link errors such as http://build.chromium.org/p/chromium.fyi/builders/CrWinClang%28dbg%29/builds/...
lgtm
On 2015/05/20 18:18:39, Reid Kleckner wrote: > lgtm Can you check where that explicit clang check for added? Iirc I removed that a while ago, but maybe I'm misremembering what exactly I did here.
On 2015/05/20 18:40:17, Nico (afk until Thu May 21) wrote: > On 2015/05/20 18:18:39, Reid Kleckner wrote: > > lgtm > > Can you check where that explicit clang check for added? Iirc I removed that a > while ago, but maybe I'm misremembering what exactly I did here. Looks like it's been there since https://codereview.chromium.org/23248006, which if I'm reading it correctly is consolidating a bunch of different config .h files. The __clang__ line came from src/globals.h, and seems to have been there for a while.
thakis@chromium.org changed reviewers: + thakis@chromium.org
checked myself now that i'm on a laptop – I didn't change this as much as I wanted. In general, I think __clang__ checks should be kept to a minimum and the gcc and msvc macro checks should instead mostly do the right thing in clang mode too. In this case: https://codereview.chromium.org/1145213004/diff/1/include/v8config.h File include/v8config.h (right): https://codereview.chromium.org/1145213004/diff/1/include/v8config.h#newcode273 include/v8config.h:273: #elif defined(_MSC_VER) don't we support all the stuff in here too? Should this be an #if instead of an #elif?
New patch uploaded. https://codereview.chromium.org/1145213004/diff/1/include/v8config.h File include/v8config.h (right): https://codereview.chromium.org/1145213004/diff/1/include/v8config.h#newcode273 include/v8config.h:273: #elif defined(_MSC_VER) On 2015/05/20 19:28:22, Nico (afk until Thu May 21) wrote: > don't we support all the stuff in here too? Should this be an #if instead of an > #elif? Yeah, that would work.
On 2015/05/20 20:21:15, hans wrote: > New patch uploaded. > > https://codereview.chromium.org/1145213004/diff/1/include/v8config.h > File include/v8config.h (right): > > https://codereview.chromium.org/1145213004/diff/1/include/v8config.h#newcode273 > include/v8config.h:273: #elif defined(_MSC_VER) > On 2015/05/20 19:28:22, Nico (afk until Thu May 21) wrote: > > don't we support all the stuff in here too? Should this be an #if instead of > an > > #elif? > > Yeah, that would work. Lgtm if it builds, thanks!
LGTM with nit. https://codereview.chromium.org/1145213004/diff/20001/include/v8config.h File include/v8config.h (right): https://codereview.chromium.org/1145213004/diff/20001/include/v8config.h#newc... include/v8config.h:281: #endif Nit: keep the empty line before the #endif.
https://codereview.chromium.org/1145213004/diff/20001/include/v8config.h File include/v8config.h (right): https://codereview.chromium.org/1145213004/diff/20001/include/v8config.h#newc... include/v8config.h:281: #endif On 2015/05/21 04:43:49, Benedikt Meurer wrote: > Nit: keep the empty line before the #endif. Done.
The CQ bit was checked by hans@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from rnk@chromium.org, bmeurer@chromium.org, thakis@chromium.org Link to the patchset: https://codereview.chromium.org/1145213004/#ps40001 (title: "Fix newline")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1145213004/40001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: v8_presubmit on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/2874)
The CQ bit was checked by hans@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1145213004/40001
Message was sent while issue was closed.
Committed patchset #3 (id:40001)
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/e514015264f1e0193b57dee76487c85d24f7e4f1 Cr-Commit-Position: refs/heads/master@{#28563} |