mesa/st/st_glsl_to_tgsi_temprename.cpp: Fix compilation with MSVC
authorGert Wollny <gw.fossdev@gmail.com>
Wed, 6 Sep 2017 12:21:25 +0000 (14:21 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 6 Sep 2017 13:12:19 +0000 (15:12 +0200)
If <windows.h> is included then max is a macro that clashes
with std::numeric_limits::max, hence undefine it.
For some reason the struct access_record is not recognizes
outside the anonymouse namespace, make it a class.
The patch successfully was tested on AppVeyor.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp

index d984184e701e3468a546b190c19e1b755b65c7c4..00ec7e749bdd495e7c2301b165399a697cf48aeb 100644 (file)
@@ -43,6 +43,13 @@ using std::cerr;
 using std::setw;
 #endif
 
+/* If <windows.h> is included this is defined and clashes with
+ * std::numeric_limits<>::max()
+ */
+#ifdef max
+#undef max
+#endif
+
 using std::numeric_limits;
 
 /* Without c++11 define the nullptr for forward-compatibility
@@ -592,7 +599,8 @@ lifetime temp_comp_access::get_required_lifetime()
 
 /* Helper class for sorting and searching the registers based
  * on life times. */
-struct access_record {
+class access_record {
+public:
    int begin;
    int end;
    int reg;