tweak local_size comparison a bit (#2456)
no longer causes an incorrect error if the current unit has local_size set, but the incoming unit does not
This commit is contained in:
parent
fb53f83503
commit
beec2e4a7c
@ -196,12 +196,14 @@ void TIntermediate::mergeModes(TInfoSink& infoSink, TIntermediate& unit)
|
|||||||
MERGE_TRUE(pointMode);
|
MERGE_TRUE(pointMode);
|
||||||
|
|
||||||
for (int i = 0; i < 3; ++i) {
|
for (int i = 0; i < 3; ++i) {
|
||||||
if (!localSizeNotDefault[i] && unit.localSizeNotDefault[i]) {
|
if (unit.localSizeNotDefault[i]) {
|
||||||
localSize[i] = unit.localSize[i];
|
if (!localSizeNotDefault[i]) {
|
||||||
localSizeNotDefault[i] = true;
|
localSize[i] = unit.localSize[i];
|
||||||
|
localSizeNotDefault[i] = true;
|
||||||
|
}
|
||||||
|
else if (localSize[i] != unit.localSize[i])
|
||||||
|
error(infoSink, "Contradictory local size");
|
||||||
}
|
}
|
||||||
else if (localSize[i] != unit.localSize[i])
|
|
||||||
error(infoSink, "Contradictory local size");
|
|
||||||
|
|
||||||
if (localSizeSpecId[i] == TQualifier::layoutNotSet)
|
if (localSizeSpecId[i] == TQualifier::layoutNotSet)
|
||||||
localSizeSpecId[i] = unit.localSizeSpecId[i];
|
localSizeSpecId[i] = unit.localSizeSpecId[i];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user