Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Side by Side Diff: include/v8config.h

Issue 1145213004: Set V8_HAS_DECLSPEC_SELECTANY for clang-cl (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8CONFIG_H_ 5 #ifndef V8CONFIG_H_
6 #define V8CONFIG_H_ 6 #define V8CONFIG_H_
7 7
8 // Platform headers for feature detection below. 8 // Platform headers for feature detection below.
9 #if defined(__ANDROID__) 9 #if defined(__ANDROID__)
10 # include <sys/cdefs.h> 10 # include <sys/cdefs.h>
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 // #if V8_CC_INTEL 194 // #if V8_CC_INTEL
195 // ... 195 // ...
196 // #endif 196 // #endif
197 197
198 #if defined(__clang__) 198 #if defined(__clang__)
199 199
200 #if defined(__GNUC__) // Clang in gcc mode. 200 #if defined(__GNUC__) // Clang in gcc mode.
201 # define V8_CC_GNU 1 201 # define V8_CC_GNU 1
202 #elif defined(_MSC_VER) // Clang in cl mode. 202 #elif defined(_MSC_VER) // Clang in cl mode.
203 # define V8_CC_MSVC 1 203 # define V8_CC_MSVC 1
204 # define V8_HAS_DECLSPEC_SELECTANY 1
204 #endif 205 #endif
205 206
206 // Clang defines __alignof__ as alias for __alignof 207 // Clang defines __alignof__ as alias for __alignof
207 # define V8_HAS___ALIGNOF 1 208 # define V8_HAS___ALIGNOF 1
208 # define V8_HAS___ALIGNOF__ V8_HAS___ALIGNOF 209 # define V8_HAS___ALIGNOF__ V8_HAS___ALIGNOF
209 210
210 # define V8_HAS_ATTRIBUTE_ALIGNED (__has_attribute(aligned)) 211 # define V8_HAS_ATTRIBUTE_ALIGNED (__has_attribute(aligned))
211 # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (__has_attribute(always_inline)) 212 # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (__has_attribute(always_inline))
212 # define V8_HAS_ATTRIBUTE_DEPRECATED (__has_attribute(deprecated)) 213 # define V8_HAS_ATTRIBUTE_DEPRECATED (__has_attribute(deprecated))
213 # define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline)) 214 # define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline))
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 // are detectable by checking whether __GXX_EXPERIMENTAL_CXX0X__ is defined or, 263 // are detectable by checking whether __GXX_EXPERIMENTAL_CXX0X__ is defined or,
263 // more standardly, by checking whether __cplusplus has a C++11 or greater 264 // more standardly, by checking whether __cplusplus has a C++11 or greater
264 // value. Current versions of g++ do not correctly set __cplusplus, so we check 265 // value. Current versions of g++ do not correctly set __cplusplus, so we check
265 // both for forward compatibility. 266 // both for forward compatibility.
266 # if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L 267 # if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L
267 # define V8_HAS_CXX11_ALIGNAS (V8_GNUC_PREREQ(4, 8, 0)) 268 # define V8_HAS_CXX11_ALIGNAS (V8_GNUC_PREREQ(4, 8, 0))
268 # define V8_HAS_CXX11_ALIGNOF (V8_GNUC_PREREQ(4, 8, 0)) 269 # define V8_HAS_CXX11_ALIGNOF (V8_GNUC_PREREQ(4, 8, 0))
269 # define V8_HAS_CXX11_STATIC_ASSERT (V8_GNUC_PREREQ(4, 3, 0)) 270 # define V8_HAS_CXX11_STATIC_ASSERT (V8_GNUC_PREREQ(4, 3, 0))
270 # endif 271 # endif
271 272
272 #elif defined(_MSC_VER) 273 #elif defined(_MSC_VER)
Nico 2015/05/20 19:28:22 don't we support all the stuff in here too? Should
hans 2015/05/20 20:21:15 Yeah, that would work.
273 274
274 # define V8_CC_MSVC 1 275 # define V8_CC_MSVC 1
275 276
276 # define V8_HAS___ALIGNOF 1 277 # define V8_HAS___ALIGNOF 1
277 278
278 # define V8_HAS_DECLSPEC_ALIGN 1 279 # define V8_HAS_DECLSPEC_ALIGN 1
279 # define V8_HAS_DECLSPEC_DEPRECATED 1 280 # define V8_HAS_DECLSPEC_DEPRECATED 1
280 # define V8_HAS_DECLSPEC_NOINLINE 1 281 # define V8_HAS_DECLSPEC_NOINLINE 1
281 # define V8_HAS_DECLSPEC_SELECTANY 1 282 # define V8_HAS_DECLSPEC_SELECTANY 1
282 283
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 // Annotate a function indicating the caller must examine the return value. 397 // Annotate a function indicating the caller must examine the return value.
397 // Use like: 398 // Use like:
398 // int foo() WARN_UNUSED_RESULT; 399 // int foo() WARN_UNUSED_RESULT;
399 #if V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT 400 #if V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT
400 #define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 401 #define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
401 #else 402 #else
402 #define V8_WARN_UNUSED_RESULT /* NOT SUPPORTED */ 403 #define V8_WARN_UNUSED_RESULT /* NOT SUPPORTED */
403 #endif 404 #endif
404 405
405 #endif // V8CONFIG_H_ 406 #endif // V8CONFIG_H_
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698