blob: 4923ee6b4a1a5a716b6c05226e2506cf203a2c09 [file] [log] [blame]
Howard Hinnant66c6f972011-11-29 16:45:271// -*- C++ -*-
Eric Fiselier018a3d52017-05-31 22:07:492//===------------------------ __undef_macros ------------------------------===//
Howard Hinnant66c6f972011-11-29 16:45:273//
Chandler Carruth4abbf7d2019-01-19 08:50:564// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
Howard Hinnant66c6f972011-11-29 16:45:277//
8//===----------------------------------------------------------------------===//
9
Eric Fiselier018a3d52017-05-31 22:07:4910
Howard Hinnant66c6f972011-11-29 16:45:2711#ifdef min
Saleem Abdulrasoolab008f72016-07-12 14:39:1312#if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS)
Eric Fiselierab2f54f2017-05-10 21:40:5813#if defined(_LIBCPP_WARNING)
Yaron Keren1823bea2013-11-15 23:41:0114_LIBCPP_WARNING("macro min is incompatible with C++. Try #define NOMINMAX "
15 "before any Windows header. #undefing min")
Howard Hinnantf7555062013-10-04 21:14:4416#else
Howard Hinnant460b4ca2012-09-03 18:13:1117#warning: macro min is incompatible with C++. #undefing min
Howard Hinnantf7555062013-10-04 21:14:4418#endif
Saleem Abdulrasoolab008f72016-07-12 14:39:1319#endif
Howard Hinnant66c6f972011-11-29 16:45:2720#undef min
21#endif
22
23#ifdef max
Saleem Abdulrasoolab008f72016-07-12 14:39:1324#if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS)
Eric Fiselierab2f54f2017-05-10 21:40:5825#if defined(_LIBCPP_WARNING)
Yaron Keren1823bea2013-11-15 23:41:0126_LIBCPP_WARNING("macro max is incompatible with C++. Try #define NOMINMAX "
27 "before any Windows header. #undefing max")
Howard Hinnantf7555062013-10-04 21:14:4428#else
Howard Hinnant460b4ca2012-09-03 18:13:1129#warning: macro max is incompatible with C++. #undefing max
Howard Hinnantf7555062013-10-04 21:14:4430#endif
Saleem Abdulrasoolab008f72016-07-12 14:39:1331#endif
Howard Hinnant66c6f972011-11-29 16:45:2732#undef max
33#endif