OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium 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 BASE_COMPILER_SPECIFIC_H_ | 5 #ifndef BASE_COMPILER_SPECIFIC_H_ |
6 #define BASE_COMPILER_SPECIFIC_H_ | 6 #define BASE_COMPILER_SPECIFIC_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "build/build_config.h" | 9 #include "build/build_config.h" |
10 | 10 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 #else | 77 #else |
78 #define ALLOW_UNUSED | 78 #define ALLOW_UNUSED |
79 #endif | 79 #endif |
80 | 80 |
81 // Annotate a virtual method indicating it must be overriding a virtual | 81 // Annotate a virtual method indicating it must be overriding a virtual |
82 // method in the parent class. | 82 // method in the parent class. |
83 // Use like: | 83 // Use like: |
84 // virtual void foo() OVERRIDE; | 84 // virtual void foo() OVERRIDE; |
85 #if defined(COMPILER_MSVC) | 85 #if defined(COMPILER_MSVC) |
86 #define OVERRIDE override | 86 #define OVERRIDE override |
87 #elif defined(__clang__) | 87 // TODO(thakis): Reenable this, http://crbug.com/71088 |
88 #define OVERRIDE __attribute__((override)) | 88 //#elif defined(__clang__) |
| 89 //#define OVERRIDE __attribute__((override)) |
89 #else | 90 #else |
90 #define OVERRIDE | 91 #define OVERRIDE |
91 #endif | 92 #endif |
92 | 93 |
93 // Annotate a function indicating the caller must examine the return value. | 94 // Annotate a function indicating the caller must examine the return value. |
94 // Use like: | 95 // Use like: |
95 // int foo() WARN_UNUSED_RESULT; | 96 // int foo() WARN_UNUSED_RESULT; |
96 #if defined(COMPILER_GCC) | 97 #if defined(COMPILER_GCC) |
97 #define WARN_UNUSED_RESULT __attribute__((warn_unused_result)) | 98 #define WARN_UNUSED_RESULT __attribute__((warn_unused_result)) |
98 #else | 99 #else |
(...skipping 13 matching lines...) Expand all Loading... |
112 #endif | 113 #endif |
113 | 114 |
114 // WPRINTF_FORMAT is the same, but for wide format strings. | 115 // WPRINTF_FORMAT is the same, but for wide format strings. |
115 // This doesn't appear to yet be implemented in any compiler. | 116 // This doesn't appear to yet be implemented in any compiler. |
116 // See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38308 . | 117 // See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38308 . |
117 #define WPRINTF_FORMAT(format_param, dots_param) | 118 #define WPRINTF_FORMAT(format_param, dots_param) |
118 // If available, it would look like: | 119 // If available, it would look like: |
119 // __attribute__((format(wprintf, format_param, dots_param))) | 120 // __attribute__((format(wprintf, format_param, dots_param))) |
120 | 121 |
121 #endif // BASE_COMPILER_SPECIFIC_H_ | 122 #endif // BASE_COMPILER_SPECIFIC_H_ |
OLD | NEW |