diff options
author | Andreas Bregas <ab@openoffice.org> | 2001-09-04 09:06:24 +0000 |
---|---|---|
committer | Andreas Bregas <ab@openoffice.org> | 2001-09-04 09:06:24 +0000 |
commit | b8f0e34417d985062487c8e2c33d8779538eebe2 (patch) | |
tree | ddd54af8ca241626495ecfb4b477f1d88ff2dea8 /basic/source/comp | |
parent | 07e47bd749360290f615e4b1005767bea598b6de (diff) |
#88329# Generate GLOBAL_P code according to global flag
Diffstat (limited to 'basic/source/comp')
-rw-r--r-- | basic/source/comp/exprgen.cxx | 9 |
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; |