|
@@ -1529,7 +1529,7 @@ BoundRow * HqlCppTranslator::declareStaticRow(BuildCtx & ctx, IHqlExpression * e
|
|
if (maxRecordSize > options.maxLocalRowSize)
|
|
if (maxRecordSize > options.maxLocalRowSize)
|
|
getInvariantMemberContext(ctx, &declarectx, NULL, false, false);
|
|
getInvariantMemberContext(ctx, &declarectx, NULL, false, false);
|
|
|
|
|
|
- if (declarectx != &ctx)
|
|
|
|
|
|
+ if (!declarectx->isSameLocation(ctx))
|
|
rowType.setown(makeModifier(rowType.getClear(), typemod_member, NULL));
|
|
rowType.setown(makeModifier(rowType.getClear(), typemod_member, NULL));
|
|
else
|
|
else
|
|
declarectx->setNextPriority(BuildCtx::OutermostScopePrio);
|
|
declarectx->setNextPriority(BuildCtx::OutermostScopePrio);
|
|
@@ -1552,7 +1552,7 @@ BoundRow * HqlCppTranslator::declareTempRow(BuildCtx & ctx, BuildCtx & codectx,
|
|
bool createRowDynamically = tempRowRequiresFinalize(record) || (maxRecordSize > options.maxLocalRowSize);
|
|
bool createRowDynamically = tempRowRequiresFinalize(record) || (maxRecordSize > options.maxLocalRowSize);
|
|
if (createRowDynamically)
|
|
if (createRowDynamically)
|
|
{
|
|
{
|
|
- return declareLinkedRow(ctx, expr, &ctx != &codectx);
|
|
|
|
|
|
+ return declareLinkedRow(ctx, expr, !ctx.isSameLocation(codectx));
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|