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

Side by Side Diff: third_party/WebKit/Source/wtf/Compiler.h

Issue 2748083005: Move files in wtf/ to platform/wtf/ (Part 1). (Closed)
Patch Set: Created 3 years, 9 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 | « third_party/WebKit/Source/wtf/CPU.h ('k') | third_party/WebKit/Source/wtf/Forward.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 * Copyright (C) 2011, 2012 Apple Inc. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be
3 * 3 // found in the LICENSE file.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25 4
26 #ifndef WTF_Compiler_h 5 #include "platform/wtf/Compiler.h"
27 #define WTF_Compiler_h
28 6
29 #include "base/compiler_specific.h" 7 // The contents of this header was moved to platform/wtf as part of
30 8 // WTF migration project. See the following post for details:
31 /* COMPILER() - the compiler being used to build the project */ 9 // https://groups.google.com/a/chromium.org/d/msg/blink-dev/tLdAZCTlcAA/bYXVT8gY CAAJ
32 #define COMPILER(WTF_FEATURE) \
33 (defined WTF_COMPILER_##WTF_FEATURE && WTF_COMPILER_##WTF_FEATURE)
34
35 /* ==== COMPILER() - the compiler being used to build the project ==== */
36
37 /* COMPILER(CLANG) - Clang */
38 #if defined(__clang__)
39 #define WTF_COMPILER_CLANG 1
40 #endif
41
42 /* COMPILER(MSVC) - Microsoft Visual C++ (and Clang when compiling for Windows).
43 */
44 #if defined(_MSC_VER)
45 #define WTF_COMPILER_MSVC 1
46 #endif
47
48 /* COMPILER(GCC) - GNU Compiler Collection (and Clang when compiling for
49 * platforms other than Windows). */
50 #if defined(__GNUC__)
51 #define WTF_COMPILER_GCC 1
52 #define GCC_VERSION \
53 (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
54 #define GCC_VERSION_AT_LEAST(major, minor, patch) \
55 (GCC_VERSION >= (major * 10000 + minor * 100 + patch))
56 #else
57 /* Define this for !GCC compilers, just so we can write things like
58 * GCC_VERSION_AT_LEAST(4, 1, 0). */
59 #define GCC_VERSION_AT_LEAST(major, minor, patch) 0
60 #endif
61
62 /* ==== Compiler features ==== */
63
64 /* NEVER_INLINE */
65
66 // TODO(palmer): Remove this and update callers to use NOINLINE from Chromium
67 // base. https://bugs.chromium.org/p/chromium/issues/detail?id=632441
68 #define NEVER_INLINE NOINLINE
69
70 /* OBJC_CLASS */
71
72 #ifndef OBJC_CLASS
73 #ifdef __OBJC__
74 #define OBJC_CLASS @class
75 #else
76 #define OBJC_CLASS class
77 #endif
78 #endif
79
80 /* WTF_PRETTY_FUNCTION */
81
82 #if COMPILER(GCC)
83 #define WTF_PRETTY_FUNCTION __PRETTY_FUNCTION__
84 #elif COMPILER(MSVC)
85 #define WTF_PRETTY_FUNCTION __FUNCSIG__
86 #else
87 #define WTF_PRETTY_FUNCTION __func__
88 #endif
89
90 /* NO_SANITIZE_UNRELATED_CAST - Disable runtime checks related to casts between
91 * unrelated objects (-fsanitize=cfi-unrelated-cast or -fsanitize=vptr). */
92
93 #if COMPILER(CLANG)
94 #define NO_SANITIZE_UNRELATED_CAST \
95 __attribute__((no_sanitize("cfi-unrelated-cast", "vptr")))
96 #else
97 #define NO_SANITIZE_UNRELATED_CAST
98 #endif
99
100 #endif /* WTF_Compiler_h */
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/wtf/CPU.h ('k') | third_party/WebKit/Source/wtf/Forward.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698