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.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Neha Bhende <bhenden@vmware.com>
This commit is contained in:
Brian Paul 2019-05-01 14:22:57 -06:00
parent 96540e4f0a
commit 413e55b5b9
1 changed files with 15 additions and 0 deletions

View File

@ -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"