blob: 60ab1dbfb5f7f383254dbceb25c7ef31f9fb7822 [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//
4// The LLVM Compiler Infrastructure
5//
Eric Fiselier018a3d52017-05-31 22:07:496// This file is distributed under the University of Illinois Open Source
7// License. See LICENSE.TXT for details.
Howard Hinnant66c6f972011-11-29 16:45:278//
9//===----------------------------------------------------------------------===//
10
Eric Fiselier018a3d52017-05-31 22:07:4911
Howard Hinnant66c6f972011-11-29 16:45:2712#ifdef min
Saleem Abdulrasoolab008f72016-07-12 14:39:1313#if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS)
Eric Fiselierab2f54f2017-05-10 21:40:5814#if defined(_LIBCPP_WARNING)
Yaron Keren1823bea2013-11-15 23:41:0115_LIBCPP_WARNING("macro min is incompatible with C++. Try #define NOMINMAX "
16 "before any Windows header. #undefing min")
Howard Hinnantf7555062013-10-04 21:14:4417#else
Howard Hinnant460b4ca2012-09-03 18:13:1118#warning: macro min is incompatible with C++. #undefing min
Howard Hinnantf7555062013-10-04 21:14:4419#endif
Saleem Abdulrasoolab008f72016-07-12 14:39:1320#endif
Howard Hinnant66c6f972011-11-29 16:45:2721#undef min
22#endif
23
24#ifdef max
Saleem Abdulrasoolab008f72016-07-12 14:39:1325#if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS)
Eric Fiselierab2f54f2017-05-10 21:40:5826#if defined(_LIBCPP_WARNING)
Yaron Keren1823bea2013-11-15 23:41:0127_LIBCPP_WARNING("macro max is incompatible with C++. Try #define NOMINMAX "
28 "before any Windows header. #undefing max")
Howard Hinnantf7555062013-10-04 21:14:4429#else
Howard Hinnant460b4ca2012-09-03 18:13:1130#warning: macro max is incompatible with C++. #undefing max
Howard Hinnantf7555062013-10-04 21:14:4431#endif
Saleem Abdulrasoolab008f72016-07-12 14:39:1332#endif
Howard Hinnant66c6f972011-11-29 16:45:2733#undef max
34#endif