Improve x32 detection macro.
authorjochen@chromium.org <jochen@chromium.org>
Thu, 11 Sep 2014 08:01:24 +0000 (08:01 +0000)
committerjochen@chromium.org <jochen@chromium.org>
Thu, 11 Sep 2014 08:01:24 +0000 (08:01 +0000)
commit02213097cf2a91277c0ae1ea849186848f20e94d
tree2d6a7b4e8083b86c9b3762f9795eb73f8356846e
parentfebf84a3331282b163939acfd9f66a20dcc27a08
Improve x32 detection macro.

When targeting the Microsoft ABI in 64bit mode, clang defines __x86_64__ but
doesn't define __LP64__ (Microsoft uses LLP64), so it would fall down the x32
path. cl.exe doesn't define __x86_64__ in the first place, so it didn't have
this problem.

Rather than trying to guess pointer size by looking at __x86_64__ and __LP64__,
check for pointer size directly using __POINTER_SIZE__. This is defined by both
gcc and clang, and eliminiates this problem.

This should fix hundreds of "error(clang): unknown type name 'Atomic64'" when
compiling v8 on Windows with clang for 64 bit.

BUG=chromium:82385
LOG=n
R=haitao.feng@intel.com, jochen@chromium.org

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

Patch from Nico Weber <thakis@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/base/build_config.h