• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2022 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef V8_COMMON_ALLOW_DEPRECATED_H_
6 #define V8_COMMON_ALLOW_DEPRECATED_H_
7 
8 #if defined(V8_IMMINENT_DEPRECATION_WARNINGS) || \
9     defined(V8_DEPRECATION_WARNINGS)
10 
11 #if defined(V8_CC_MSVC)
12 
13 #define START_ALLOW_USE_DEPRECATED() \
14   __pragma(warning(push)) __pragma(warning(disable : 4996))
15 
16 #define END_ALLOW_USE_DEPRECATED() __pragma(warning(pop))
17 
18 #else  // !defined(V8_CC_MSVC)
19 
20 #define START_ALLOW_USE_DEPRECATED() \
21   _Pragma("GCC diagnostic push")     \
22       _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
23 
24 #define END_ALLOW_USE_DEPRECATED() _Pragma("GCC diagnostic pop")
25 
26 #endif  // !defined(V8_CC_MSVC)
27 
28 #else  // !(defined(V8_IMMINENT_DEPRECATION_WARNINGS) ||
29        // defined(V8_DEPRECATION_WARNINGS))
30 
31 #define START_ALLOW_USE_DEPRECATED()
32 #define END_ALLOW_USE_DEPRECATED()
33 
34 #endif  // !(defined(V8_IMMINENT_DEPRECATION_WARNINGS) ||
35         // defined(V8_DEPRECATION_WARNINGS))
36 
37 #endif  // V8_COMMON_ALLOW_DEPRECATED_H_
38