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

Side by Side Diff: include/v8config.h

Issue 145593003: v8config.h: set V8_CC_MSVC when building with clang-cl (Closed) Base URL: https://github.com/v8/v8.git@master
Patch Set: Re-upload Created 6 years, 10 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 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 (__has_attribute(warn_unused_result)) 227 (__has_attribute(warn_unused_result))
228 228
229 # define V8_HAS_BUILTIN_EXPECT (__has_builtin(__builtin_expect)) 229 # define V8_HAS_BUILTIN_EXPECT (__has_builtin(__builtin_expect))
230 230
231 # define V8_HAS_CXX11_ALIGNAS (__has_feature(cxx_alignas)) 231 # define V8_HAS_CXX11_ALIGNAS (__has_feature(cxx_alignas))
232 # define V8_HAS_CXX11_STATIC_ASSERT (__has_feature(cxx_static_assert)) 232 # define V8_HAS_CXX11_STATIC_ASSERT (__has_feature(cxx_static_assert))
233 # define V8_HAS_CXX11_DELETE (__has_feature(cxx_deleted_functions)) 233 # define V8_HAS_CXX11_DELETE (__has_feature(cxx_deleted_functions))
234 # define V8_HAS_CXX11_FINAL (__has_feature(cxx_override_control)) 234 # define V8_HAS_CXX11_FINAL (__has_feature(cxx_override_control))
235 # define V8_HAS_CXX11_OVERRIDE (__has_feature(cxx_override_control)) 235 # define V8_HAS_CXX11_OVERRIDE (__has_feature(cxx_override_control))
236 236
237 # if defined(_MSC_VER)
Benedikt Meurer 2014/01/27 06:25:38 Please add a comment why this is necessary.
238 # define V8_CC_MSVC 1
239 # endif
240
237 #elif defined(__GNUC__) 241 #elif defined(__GNUC__)
238 242
239 # define V8_CC_GNU 1 243 # define V8_CC_GNU 1
240 // Intel C++ also masquerades as GCC 3.2.0 244 // Intel C++ also masquerades as GCC 3.2.0
241 # define V8_CC_INTEL (defined(__INTEL_COMPILER)) 245 # define V8_CC_INTEL (defined(__INTEL_COMPILER))
242 # define V8_CC_MINGW32 (defined(__MINGW32__)) 246 # define V8_CC_MINGW32 (defined(__MINGW32__))
243 # define V8_CC_MINGW64 (defined(__MINGW64__)) 247 # define V8_CC_MINGW64 (defined(__MINGW64__))
244 # define V8_CC_MINGW (V8_CC_MINGW32 || V8_CC_MINGW64) 248 # define V8_CC_MINGW (V8_CC_MINGW32 || V8_CC_MINGW64)
245 249
246 # define V8_HAS___ALIGNOF__ (V8_GNUC_PREREQ(4, 3, 0)) 250 # define V8_HAS___ALIGNOF__ (V8_GNUC_PREREQ(4, 3, 0))
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 # define V8_ALIGNOF(type) __alignof__(type) 466 # define V8_ALIGNOF(type) __alignof__(type)
463 #else 467 #else
464 // Note that alignment of a type within a struct can be less than the 468 // Note that alignment of a type within a struct can be less than the
465 // alignment of the type stand-alone (because of ancient ABIs), so this 469 // alignment of the type stand-alone (because of ancient ABIs), so this
466 // should only be used as a last resort. 470 // should only be used as a last resort.
467 namespace v8 { template <typename T> class AlignOfHelper { char c; T t; }; } 471 namespace v8 { template <typename T> class AlignOfHelper { char c; T t; }; }
468 # define V8_ALIGNOF(type) (sizeof(::v8::AlignOfHelper<type>) - sizeof(type)) 472 # define V8_ALIGNOF(type) (sizeof(::v8::AlignOfHelper<type>) - sizeof(type))
469 #endif 473 #endif
470 474
471 #endif // V8CONFIG_H_ 475 #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