gcc: potentially a compiler-bug work around

This commit is contained in:
John Kessenich 2017-12-16 02:58:10 -07:00
Родитель 2505057af8
Коммит a0d60f2bea
1 изменённых файлов: 8 добавлений и 6 удалений

Просмотреть файл

@ -1378,6 +1378,8 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
arg0 = unaryArg;
}
TString featureString;
const char* feature = nullptr;
switch (callNode.getOp()) {
case EOpTextureGather:
case EOpTextureGatherOffset:
@ -1386,8 +1388,8 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
// Figure out which variants are allowed by what extensions,
// and what arguments must be constant for which situations.
TString featureString = fnCandidate.getName() + "(...)";
const char* feature = featureString.c_str();
featureString = fnCandidate.getName() + "(...)";
feature = featureString.c_str();
profileRequires(loc, EEsProfile, 310, nullptr, feature);
int compArg = -1; // track which argument, if any, is the constant component argument
switch (callNode.getOp()) {
@ -1443,8 +1445,8 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
bias = fnCandidate.getParamCount() > 4;
if (bias) {
TString biasFeatureString = fnCandidate.getName() + "with bias argument";
const char* feature = biasFeatureString.c_str();
featureString = fnCandidate.getName() + "with bias argument";
feature = featureString.c_str();
profileRequires(loc, ~EEsProfile, 450, nullptr, feature);
requireExtensions(loc, 1, &E_GL_AMD_texture_gather_bias_lod, feature);
}
@ -1466,8 +1468,8 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
bias = fnCandidate.getParamCount() > 5;
if (bias) {
TString featureString = fnCandidate.getName() + "with bias argument";
const char* feature = featureString.c_str();
featureString = fnCandidate.getName() + "with bias argument";
feature = featureString.c_str();
profileRequires(loc, ~EEsProfile, 450, nullptr, feature);
requireExtensions(loc, 1, &E_GL_AMD_texture_gather_bias_lod, feature);
}