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}
1 file changed
tree: 2436613b781708d7bfa6a03feaffc4e13eab7b11
  1. benchmarks/
  2. build/
  3. include/
  4. samples/
  5. src/
  6. test/
  7. testing/
  8. tools/
  9. .clang-format
  10. .gitignore
  11. AUTHORS
  12. BUILD.gn
  13. ChangeLog
  14. codereview.settings
  15. DEPS
  16. LICENSE
  17. LICENSE.strongtalk
  18. LICENSE.v8
  19. LICENSE.valgrind
  20. Makefile
  21. Makefile.android
  22. Makefile.nacl
  23. OWNERS
  24. PRESUBMIT.py
  25. README.md
  26. WATCHLISTS
README.md

V8 JavaScript Engine

V8 is Google's open source JavaScript engine.

V8 implements ECMAScript as specified in ECMA-262.

V8 is written in C++ and is used in Google Chrome, the open source browser from Google.

V8 can run standalone, or can be embedded into any C++ application.

V8 Project page: https://code.google.com/p/v8/

Getting the Code

V8 Git repository: https://chromium.googlesource.com/v8/v8.git GitHub mirror: https://github.com/v8/v8-git-mirror

For fetching all branches, add the following into your remote configuration in .git/config:

    fetch = +refs/branch-heads/*:refs/remotes/branch-heads/*
    fetch = +refs/tags/*:refs/tags/*