blob: d3c31388cead8f2bac866275fe3ec69b8484c001 [file] [log] [blame]
Howard Hinnant66c6f972011-11-29 16:45:27 +00001// -*- C++ -*-
2//===----------------------------------------------------------------------===//
3//
4// The LLVM Compiler Infrastructure
5//
6// This file is dual licensed under the MIT and the University of Illinois Open
7// Source Licenses. See LICENSE.TXT for details.
8//
9//===----------------------------------------------------------------------===//
10
11#ifdef min
Saleem Abdulrasoolab008f72016-07-12 14:39:13 +000012#if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS)
Howard Hinnantf7555062013-10-04 21:14:44 +000013#if defined(_MSC_VER) && ! defined(__clang__)
Yaron Keren1823bea2013-11-15 23:41:01 +000014_LIBCPP_WARNING("macro min is incompatible with C++. Try #define NOMINMAX "
15 "before any Windows header. #undefing min")
Howard Hinnantf7555062013-10-04 21:14:44 +000016#else
Howard Hinnant460b4ca2012-09-03 18:13:11 +000017#warning: macro min is incompatible with C++. #undefing min
Howard Hinnantf7555062013-10-04 21:14:44 +000018#endif
Saleem Abdulrasoolab008f72016-07-12 14:39:13 +000019#endif
Howard Hinnant66c6f972011-11-29 16:45:27 +000020#undef min
21#endif
22
23#ifdef max
Saleem Abdulrasoolab008f72016-07-12 14:39:13 +000024#if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS)
Howard Hinnantf7555062013-10-04 21:14:44 +000025#if defined(_MSC_VER) && ! defined(__clang__)
Yaron Keren1823bea2013-11-15 23:41:01 +000026_LIBCPP_WARNING("macro max is incompatible with C++. Try #define NOMINMAX "
27 "before any Windows header. #undefing max")
Howard Hinnantf7555062013-10-04 21:14:44 +000028#else
Howard Hinnant460b4ca2012-09-03 18:13:11 +000029#warning: macro max is incompatible with C++. #undefing max
Howard Hinnantf7555062013-10-04 21:14:44 +000030#endif
Saleem Abdulrasoolab008f72016-07-12 14:39:13 +000031#endif
Howard Hinnant66c6f972011-11-29 16:45:27 +000032#undef max
33#endif