Set V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode.
authorthakis <thakis@chromium.org>
Tue, 2 Dec 2014 05:23:09 +0000 (21:23 -0800)
committerCommit bot <commit-bot@chromium.org>
Tue, 2 Dec 2014 05:23:21 +0000 (05:23 +0000)
commit643c24eb95e702dc0a59d26dd57d21c7e3ae3611
tree2436613b781708d7bfa6a03feaffc4e13eab7b11
parentc516d4f09408879602520748333754d3866224fb
Set V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode.

Also, remove V8_CC_CLANG since it's not read anywhere (and ideally shouldn't
be).

Clang tries to be compatible with gcc in clang mode, and with msvc in clang-cl
mode. It wants to go down the same code paths that these compilers want to go
down in most cases.

For example, V8PRIxPTR was set incorrectly on Windows 64-bit before this change
since macros.h assumed that checking for V8_CC_MSVC is enough to find LLP64
systems, but V8_CC_MSVC wasn't set for clang.  Most other existing checks for
V8_CC_MSVC should be taken for clang-cl too (and for the remaining ones,
clang-cl is happy with either code path).

Likewise, V8_IMMEDIATE_CRASH is currently set to a suboptimal value with clang
since __builtin_trap() is only used if V8_CC_GNU is set.

Including clang in the gcc and cl macros is also what chromium does.

BUG=chromium:82385
LOG=y

Review URL: https://codereview.chromium.org/757553004

Cr-Commit-Position: refs/heads/master@{#25592}
include/v8config.h