Workaround GCC 9 bug.

This commit is contained in:
Hans-Kristian Arntzen 2019-06-24 10:17:25 +02:00
parent b4e0163749
commit 7557ff5567

View File

@ -292,7 +292,13 @@ static const char *vector_swizzle(int vecsize, int index)
{ ".x", ".y", ".z", ".w" },
{ ".xy", ".yz", ".zw", nullptr },
{ ".xyz", ".yzw", nullptr, nullptr },
#if defined(__GNUC__) && (__GNUC__ == 9)
// This works around a GCC 9 bug, see details in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90947.
// This array ends up being compiled as all nullptrs, tripping the assertions below.
{ "", nullptr, nullptr, "$" },
#else
{ "", nullptr, nullptr, nullptr },
#endif
};
assert(vecsize >= 1 && vecsize <= 4);