[Mesa-dev] [PATCH] glsl: work around MinGW 7.x compiler bug

Neha Bhende bhenden at vmware.com
Wed May 1 21:07:26 UTC 2019


LGTM

Reviewed-by: Neha Bhende <bhenden at vmware.com>

Regards,
Neha

________________________________________
From: Brian Paul <brianp at vmware.com>
Sent: Wednesday, May 1, 2019 1:28 PM
To: mesa-dev at lists.freedesktop.org
Cc: Neha Bhende; Jose Fonseca; Charmaine Lee
Subject: [PATCH] glsl: work around MinGW 7.x compiler bug

I'm not sure what triggered this, but building with
scons platform=windows toolchain=crossmingw machine=x86 build=profile
with MinGW g++ 7.3 or 7.4 causes an internal compiler error.

We can work around it by forcing -O1 optimization.
---
 src/compiler/glsl/builtin_variables.cpp | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/compiler/glsl/builtin_variables.cpp b/src/compiler/glsl/builtin_variables.cpp
index 17ee80c..1b9963a 100644
--- a/src/compiler/glsl/builtin_variables.cpp
+++ b/src/compiler/glsl/builtin_variables.cpp
@@ -21,6 +21,21 @@
  * DEALINGS IN THE SOFTWARE.
  */

+
+/**
+ * Building this file with MinGW g++ 7.3 or 7.4 with:
+ *   scons platform=windows toolchain=crossmingw machine=x86 build=profile
+ * triggers an internal compiler error.
+ * Overriding the optimization level to -O1 works around the issue.
+ * MinGW 5.3.1 does not seem to have the bug, neither does 8.3.  So for now
+ * we're simply testing for version 7.x here.
+ */
+#if defined(__MINGW32__) && __GNUC__ == 7
+#warning "disabling optimizations for this file to work around compiler bug in MiGW gcc 7.x"
+#pragma GCC optimize("O1")
+#endif
+
+
 #include "ir.h"
 #include "ir_builder.h"
 #include "linker.h"
--
1.8.5.6



More information about the mesa-dev mailing list