| OLD | NEW |
| 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 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 # define V8_GNUC_PREREQ(major, minor, patchlevel) \ | 140 # define V8_GNUC_PREREQ(major, minor, patchlevel) \ |
| 141 ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= \ | 141 ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= \ |
| 142 ((major) * 10000 + (minor) * 100 + (patchlevel))) | 142 ((major) * 10000 + (minor) * 100 + (patchlevel))) |
| 143 | 143 |
| 144 # define V8_CC_GNU 1 | 144 # define V8_CC_GNU 1 |
| 145 # if defined(__MINGW32__) | 145 # if defined(__MINGW32__) |
| 146 # define V8_CC_MINGW 1 | 146 # define V8_CC_MINGW 1 |
| 147 # endif | 147 # endif |
| 148 | 148 |
| 149 # define V8_HAS_ATTRIBUTE___ALIGNED__ (V8_GNUC_PREREQ(2, 95, 0)) | 149 # define V8_HAS_ATTRIBUTE___ALIGNED__ (V8_GNUC_PREREQ(2, 95, 0)) |
| 150 # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (V8_GNUC_PREREQ(4, 0, 0)) | 150 // always_inline is available in gcc 4.0 but not very reliable until 4.4. |
| 151 // Works around "sorry, unimplemented: inlining failed" build errors with |
| 152 // older compilers. |
| 153 # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (V8_GNUC_PREREQ(4, 4, 0)) |
| 151 # define V8_HAS_ATTRIBUTE_DEPRECATED (V8_GNUC_PREREQ(3, 4, 0)) | 154 # define V8_HAS_ATTRIBUTE_DEPRECATED (V8_GNUC_PREREQ(3, 4, 0)) |
| 152 # define V8_HAS_ATTRIBUTE_VISIBILITY (V8_GNUC_PREREQ(4, 3, 0)) | 155 # define V8_HAS_ATTRIBUTE_VISIBILITY (V8_GNUC_PREREQ(4, 3, 0)) |
| 153 | 156 |
| 154 # define V8_HAS_BUILTIN_EXPECT (V8_GNUC_PREREQ(2, 96, 0)) | 157 # define V8_HAS_BUILTIN_EXPECT (V8_GNUC_PREREQ(2, 96, 0)) |
| 155 | 158 |
| 156 // g++ requires -std=c++0x or -std=gnu++0x to support C++11 functionality | 159 // g++ requires -std=c++0x or -std=gnu++0x to support C++11 functionality |
| 157 // without warnings (functionality used by the macros below). These modes | 160 // without warnings (functionality used by the macros below). These modes |
| 158 // are detectable by checking whether __GXX_EXPERIMENTAL_CXX0X__ is defined or, | 161 // are detectable by checking whether __GXX_EXPERIMENTAL_CXX0X__ is defined or, |
| 159 // more standardly, by checking whether __cplusplus has a C++11 or greater | 162 // more standardly, by checking whether __cplusplus has a C++11 or greater |
| 160 // value. Current versions of g++ do not correctly set __cplusplus, so we check | 163 // value. Current versions of g++ do not correctly set __cplusplus, so we check |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 # define V8_ALIGNAS(n) alignas(n) | 281 # define V8_ALIGNAS(n) alignas(n) |
| 279 #elif V8_HAS_ATTRIBUTE___ALIGNED__ | 282 #elif V8_HAS_ATTRIBUTE___ALIGNED__ |
| 280 # define V8_ALIGNAS(n) __attribute__((__aligned__(n))) | 283 # define V8_ALIGNAS(n) __attribute__((__aligned__(n))) |
| 281 #elif V8_HAS_DECLSPEC_ALIGN | 284 #elif V8_HAS_DECLSPEC_ALIGN |
| 282 # define V8_ALIGNAS(n) __declspec(align(n)) | 285 # define V8_ALIGNAS(n) __declspec(align(n)) |
| 283 #else | 286 #else |
| 284 # define V8_ALIGNAS(n) /* NOT SUPPORTED */ | 287 # define V8_ALIGNAS(n) /* NOT SUPPORTED */ |
| 285 #endif | 288 #endif |
| 286 | 289 |
| 287 #endif // V8CONFIG_H_ | 290 #endif // V8CONFIG_H_ |
| OLD | NEW |