summaryrefslogtreecommitdiff
path: root/basic/source/comp
diff options
context:
space:
mode:
authorAndreas Bregas <ab@openoffice.org>2001-09-04 09:06:24 +0000
committerAndreas Bregas <ab@openoffice.org>2001-09-04 09:06:24 +0000
commitb8f0e34417d985062487c8e2c33d8779538eebe2 (patch)
treeddd54af8ca241626495ecfb4b477f1d88ff2dea8 /basic/source/comp
parent07e47bd749360290f615e4b1005767bea598b6de (diff)
#88329# Generate GLOBAL_P code according to global flag
Diffstat (limited to 'basic/source/comp')
-rw-r--r--basic/source/comp/exprgen.cxx9
1 files changed, 5 insertions, 4 deletions
diff --git a/basic/source/comp/exprgen.cxx b/basic/source/comp/exprgen.cxx
index 39d603f8a79d..44ea8d88551d 100644
--- a/basic/source/comp/exprgen.cxx
+++ b/basic/source/comp/exprgen.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: exprgen.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: ab $ $Date: 2000-10-10 13:02:03 $
+ * last change: $Author: ab $ $Date: 2001-09-04 10:06:24 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -133,7 +133,8 @@ void SbiExprNode::Gen()
if( pProc && pProc->GetLib().Len() )
eOp = pProc->IsCdecl() ? _CALLC : _CALL;
else
- eOp = ( aVar.pDef->GetScope() == SbRTL ) ? _RTL : _FIND;
+ eOp = ( aVar.pDef->GetScope() == SbRTL ) ? _RTL :
+ (aVar.pDef->IsGlobal() ? _FIND_G : _FIND);
}
for( SbiExprNode* p = this; p; p = p->aVar.pNext )
@@ -164,7 +165,7 @@ void SbiExprNode::Gen()
void SbiExprNode::GenElement( SbiOpcode eOp )
{
#ifndef PRODUCT
- if( eOp < _RTL || eOp > _CALLC )
+ if( (eOp < _RTL || eOp > _CALLC) && eOp != _FIND_G )
pGen->GetParser()->Error( SbERR_INTERNAL_ERROR, "Opcode" );
#endif
SbiSymDef* pDef = aVar.pDef;