Defining macros for min and max breaks using std::min and std::max. Defining NOMINMAX before including the header stops them from being defined.
See https://web.archive.org/web/
20170911092732/https://support.microsoft.com/en-us/help/143208/prb-using-stl-in-windows-program-can-cause-min-max-conflicts for details.
This patch is part of the series to [[ http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html | make flang compilable with MS Visual Studio ]].
Reviewed By: isuruf
Differential Revision: https://reviews.llvm.org/D85656
#include <fcntl.h>
#include <stdlib.h>
#ifdef _WIN32
+#define NOMINMAX
#include <io.h>
#include <windows.h>
#else