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