From bd381db5d2ab618bc820a8f2de798fea6b482d9c Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Mon, 18 Oct 2010 10:18:38 +0000 Subject: [PATCH] 2010-10-18 12:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/src/compiler/hbmain.c ! reset function and class declaration between compiling files included by SET PROCEDUR TO or DO [ WITH ] This behavior is synced with PP rules resetting. * harbour/contrib/xhb/xhb.hbp + added two .ch files * harbour/contrib/hbct/hbct.hbx * regenerated with LF EOL. I think that these files should be declared in SVN as using native EOLs --- harbour/ChangeLog | 14 + harbour/contrib/hbct/hbct.hbx | 816 +++++++++++++++++----------------- harbour/contrib/xhb/xhb.hbp | 2 + harbour/src/compiler/hbmain.c | 67 +-- 4 files changed, 461 insertions(+), 438 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 82f8a6fc6b..832a847b2a 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,20 @@ The license applies to all entries newer than 2009-04-28. */ +2010-10-18 12:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/src/compiler/hbmain.c + ! reset function and class declaration between compiling files included + by SET PROCEDUR TO or DO [ WITH ] + This behavior is synced with PP rules resetting. + + * harbour/contrib/xhb/xhb.hbp + + added two .ch files + + * harbour/contrib/hbct/hbct.hbx + * regenerated with LF EOL. + I think that these files should be declared in SVN as using native + EOLs + 2010-10-17 18:44 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/idebrowse.prg % Changed: one signal to new format. diff --git a/harbour/contrib/hbct/hbct.hbx b/harbour/contrib/hbct/hbct.hbx index 753946d1fc..10caeabd17 100644 --- a/harbour/contrib/hbct/hbct.hbx +++ b/harbour/contrib/hbct/hbct.hbx @@ -1,408 +1,408 @@ -/* - * $Id$ - */ - -/* -------------------------------------------------------------------- */ -/* NOTE: You can add manual override which functions to include or */ -/* exclude from automatically generated EXTERNAL/DYNAMIC list. */ -/* Syntax: // HB_FUNC_INCLUDE */ -/* // HB_FUNC_EXCLUDE */ -/* -------------------------------------------------------------------- */ - -/* -------------------------------------------------------------------- */ -/* WARNING: Automatically generated code below. DO NOT EDIT! */ -/* Regenerate with HB_REBUILD_EXTERN=yes while using GCC */ -/* compiler family. [vszakats] */ -/* -------------------------------------------------------------------- */ - -#ifndef __HBEXTERN_CH__HBCT__ -#define __HBEXTERN_CH__HBCT__ - -#ifdef __HBEXTERN__HBCT__ANNOUNCE - ANNOUNCE __HBEXTERN__HBCT__ -#endif - -#ifdef __HBEXTERN__HBCT__REQUEST - #command DYNAMIC => EXTERNAL -#endif - -DYNAMIC ACOS -DYNAMIC ADDASCII -DYNAMIC ADDMONTH -DYNAMIC AFTERATNUM -DYNAMIC ALLOFREE -DYNAMIC ASCIISUM -DYNAMIC ASCPOS -DYNAMIC ASIN -DYNAMIC ATADJUST -DYNAMIC ATAN -DYNAMIC ATN2 -DYNAMIC ATNUM -DYNAMIC ATREPL -DYNAMIC ATTOKEN -DYNAMIC BEFORATNUM -DYNAMIC BITTOC -DYNAMIC BLANK -DYNAMIC BOM -DYNAMIC BOQ -DYNAMIC BOY -DYNAMIC CEILING -DYNAMIC CELSIUS -DYNAMIC CENTER -DYNAMIC CHARADD -DYNAMIC CHARAND -DYNAMIC CHAREVEN -DYNAMIC CHARHIST -DYNAMIC CHARLIST -DYNAMIC CHARMIRR -DYNAMIC CHARMIX -DYNAMIC CHARNOLIST -DYNAMIC CHARNOT -DYNAMIC CHARODD -DYNAMIC CHARONE -DYNAMIC CHARONLY -DYNAMIC CHAROR -DYNAMIC CHARPACK -DYNAMIC CHARPIX -DYNAMIC CHARRELA -DYNAMIC CHARRELREP -DYNAMIC CHARREM -DYNAMIC CHARREPL -DYNAMIC CHARRLL -DYNAMIC CHARRLR -DYNAMIC CHARSHL -DYNAMIC CHARSHR -DYNAMIC CHARSLIST -DYNAMIC CHARSORT -DYNAMIC CHARSPREAD -DYNAMIC CHARSUB -DYNAMIC CHARSWAP -DYNAMIC CHARUNPACK -DYNAMIC CHARWIN -DYNAMIC CHARXOR -DYNAMIC CHECKSUM -DYNAMIC CLEARBIT -DYNAMIC CLEAREOL -DYNAMIC CLEARSLOW -DYNAMIC CLEARWIN -DYNAMIC CLEOL -DYNAMIC CLWIN -DYNAMIC COLORREPL -DYNAMIC COLORTON -DYNAMIC COLORWIN -DYNAMIC COMPLEMENT -DYNAMIC COM_BREAK -DYNAMIC COM_CLOSE -DYNAMIC COM_COUNT -DYNAMIC COM_CRC -DYNAMIC COM_CTS -DYNAMIC COM_DCD -DYNAMIC COM_DEVNAME -DYNAMIC COM_DOSCON -DYNAMIC COM_DSR -DYNAMIC COM_DTR -DYNAMIC COM_ERRCHR -DYNAMIC COM_EVENT -DYNAMIC COM_FLUSH -DYNAMIC COM_GETIO -DYNAMIC COM_GETIRQ -DYNAMIC COM_HARD -DYNAMIC COM_INIT -DYNAMIC COM_KEY -DYNAMIC COM_LSR -DYNAMIC COM_MCR -DYNAMIC COM_MSR -DYNAMIC COM_NUM -DYNAMIC COM_OPEN -DYNAMIC COM_READ -DYNAMIC COM_REMOTE -DYNAMIC COM_RING -DYNAMIC COM_RTS -DYNAMIC COM_SCOUNT -DYNAMIC COM_SEND -DYNAMIC COM_SETIO -DYNAMIC COM_SETIRQ -DYNAMIC COM_SFLUSH -DYNAMIC COM_SKEY -DYNAMIC COM_SMODE -DYNAMIC COM_SOFT -DYNAMIC COM_SOFT_R -DYNAMIC COM_SOFT_S -DYNAMIC COS -DYNAMIC COSH -DYNAMIC COT -DYNAMIC COUNTGETS -DYNAMIC COUNTLEFT -DYNAMIC COUNTRIGHT -DYNAMIC CRYPT -DYNAMIC CSETARGERR -DYNAMIC CSETATMUPA -DYNAMIC CSETCENT -DYNAMIC CSETCURS -DYNAMIC CSETKEY -DYNAMIC CSETREF -DYNAMIC CSETSAFETY -DYNAMIC CTCEXIT -DYNAMIC CTCINIT -DYNAMIC CTEXIT -DYNAMIC CTINIT -DYNAMIC CTOBIT -DYNAMIC CTODOW -DYNAMIC CTOF -DYNAMIC CTOMONTH -DYNAMIC CTON -DYNAMIC CTWINIT -DYNAMIC CTWLASTKEY -DYNAMIC CURRENTGET -DYNAMIC DAYSINMONTH -DYNAMIC DAYSTOMONTH -DYNAMIC DBFSIZE -DYNAMIC DELETEFILE -DYNAMIC DIRMAKE -DYNAMIC DIRNAME -DYNAMIC DMY -DYNAMIC DOSPARAM -DYNAMIC DOY -DYNAMIC DRIVETYPE -DYNAMIC DSETKBIOS -DYNAMIC DTOR -DYNAMIC ENHANCED -DYNAMIC EOM -DYNAMIC EOQ -DYNAMIC EOY -DYNAMIC EXENAME -DYNAMIC EXPAND -DYNAMIC EXPONENT -DYNAMIC FACT -DYNAMIC FAHRENHEIT -DYNAMIC FIELDDECI -DYNAMIC FIELDNUM -DYNAMIC FIELDSIZE -DYNAMIC FILEAPPEND -DYNAMIC FILEATTR -DYNAMIC FILECCLOSE -DYNAMIC FILECCONT -DYNAMIC FILECDATI -DYNAMIC FILECOPEN -DYNAMIC FILECOPY -DYNAMIC FILEDATE -DYNAMIC FILEDELETE -DYNAMIC FILEMOVE -DYNAMIC FILESCREEN -DYNAMIC FILESEEK -DYNAMIC FILESIZE -DYNAMIC FILESMAX -DYNAMIC FILESTR -DYNAMIC FILETIME -DYNAMIC FLOOR -DYNAMIC FTOC -DYNAMIC FV -DYNAMIC GETCLEARA -DYNAMIC GETCLEARB -DYNAMIC GETFLDCOL -DYNAMIC GETFLDROW -DYNAMIC GETFLDVAR -DYNAMIC GETINPUT -DYNAMIC GETKXLAT -DYNAMIC GETPREC -DYNAMIC GETSECRET -DYNAMIC HBCT_MAXCOL -DYNAMIC HBCT_MAXROW -DYNAMIC HB_GT_CTW -DYNAMIC INFINITY -DYNAMIC INTNEG -DYNAMIC INTPOS -DYNAMIC INVERTATTR -DYNAMIC INVERTWIN -DYNAMIC ISBIT -DYNAMIC ISLEAP -DYNAMIC JUSTLEFT -DYNAMIC JUSTRIGHT -DYNAMIC KBDSTAT -DYNAMIC KEYSEC -DYNAMIC KEYTIME -DYNAMIC KSETCAPS -DYNAMIC KSETINS -DYNAMIC KSETNUM -DYNAMIC KSETSCROLL -DYNAMIC LASTDAYOM -DYNAMIC LIKE -DYNAMIC LOG10 -DYNAMIC LTOC -DYNAMIC LTON -DYNAMIC MANTISSA -DYNAMIC MAXLINE -DYNAMIC MDY -DYNAMIC MILLISEC -DYNAMIC NETCANCEL -DYNAMIC NETDISK -DYNAMIC NETPRINTER -DYNAMIC NETREDIR -DYNAMIC NETRMTNAME -DYNAMIC NETWORK -DYNAMIC NNETWORK -DYNAMIC NTOC -DYNAMIC NTOCDOW -DYNAMIC NTOCMONTH -DYNAMIC NTOCOLOR -DYNAMIC NUL -DYNAMIC NUMAND -DYNAMIC NUMAT -DYNAMIC NUMCOUNT -DYNAMIC NUMDISKL -DYNAMIC NUMHIGH -DYNAMIC NUMLINE -DYNAMIC NUMLOW -DYNAMIC NUMMIRR -DYNAMIC NUMNOT -DYNAMIC NUMOR -DYNAMIC NUMROL -DYNAMIC NUMTOKEN -DYNAMIC NUMXOR -DYNAMIC PADLEFT -DYNAMIC PADRIGHT -DYNAMIC PAYMENT -DYNAMIC PERIODS -DYNAMIC PI -DYNAMIC POSALPHA -DYNAMIC POSCHAR -DYNAMIC POSDEL -DYNAMIC POSDIFF -DYNAMIC POSEQUAL -DYNAMIC POSINS -DYNAMIC POSLOWER -DYNAMIC POSRANGE -DYNAMIC POSREPL -DYNAMIC POSUPPER -DYNAMIC PRINTREADY -DYNAMIC PRINTSEND -DYNAMIC PRINTSTAT -DYNAMIC PV -DYNAMIC QUARTER -DYNAMIC RAND -DYNAMIC RANDOM -DYNAMIC RANGEREM -DYNAMIC RANGEREPL -DYNAMIC RATE -DYNAMIC REMALL -DYNAMIC REMLEFT -DYNAMIC REMRIGHT -DYNAMIC RENAMEFILE -DYNAMIC REPLALL -DYNAMIC REPLLEFT -DYNAMIC REPLRIGHT -DYNAMIC RESTCURSOR -DYNAMIC RESTGETS -DYNAMIC RESTSETKEY -DYNAMIC RESTTOKEN -DYNAMIC RTOD -DYNAMIC SAVECURSOR -DYNAMIC SAVEGETS -DYNAMIC SAVESETKEY -DYNAMIC SAVETOKEN -DYNAMIC SAYDOWN -DYNAMIC SAYMOVEIN -DYNAMIC SAYSCREEN -DYNAMIC SAYSPREAD -DYNAMIC SCREENATTR -DYNAMIC SCREENFILE -DYNAMIC SCREENMARK -DYNAMIC SCREENMIX -DYNAMIC SCREENSTR -DYNAMIC SCREENTEXT -DYNAMIC SECTOTIME -DYNAMIC SETATLIKE -DYNAMIC SETBIT -DYNAMIC SETCLEARA -DYNAMIC SETCLEARB -DYNAMIC SETDATE -DYNAMIC SETFATTR -DYNAMIC SETFCREATE -DYNAMIC SETFDATI -DYNAMIC SETFONT -DYNAMIC SETKXLAT -DYNAMIC SETLASTKEY -DYNAMIC SETPREC -DYNAMIC SETRC -DYNAMIC SETTIME -DYNAMIC SHOWTIME -DYNAMIC SIGN -DYNAMIC SIN -DYNAMIC SINH -DYNAMIC STANDARD -DYNAMIC STRDIFF -DYNAMIC STRFILE -DYNAMIC STRSCREEN -DYNAMIC STRSWAP -DYNAMIC TABEXPAND -DYNAMIC TABPACK -DYNAMIC TAN -DYNAMIC TANH -DYNAMIC TEMPFILE -DYNAMIC TIMETOSEC -DYNAMIC TIMEVALID -DYNAMIC TOKEN -DYNAMIC TOKENAT -DYNAMIC TOKENEND -DYNAMIC TOKENEXIT -DYNAMIC TOKENINIT -DYNAMIC TOKENLOWER -DYNAMIC TOKENNEXT -DYNAMIC TOKENNUM -DYNAMIC TOKENSEP -DYNAMIC TOKENUPPER -DYNAMIC TRUENAME -DYNAMIC UNSELECTED -DYNAMIC UNTEXTWIN -DYNAMIC VALPOS -DYNAMIC VGAPALETTE -DYNAMIC VIDEOTYPE -DYNAMIC VOLSERIAL -DYNAMIC VOLUME -DYNAMIC WACLOSE -DYNAMIC WAITPERIOD -DYNAMIC WBOARD -DYNAMIC WBOX -DYNAMIC WCENTER -DYNAMIC WCLOSE -DYNAMIC WCOL -DYNAMIC WEEK -DYNAMIC WFCOL -DYNAMIC WFLASTCOL -DYNAMIC WFLASTROW -DYNAMIC WFORMAT -DYNAMIC WFROW -DYNAMIC WHIDE -DYNAMIC WLASTCOL -DYNAMIC WLASTROW -DYNAMIC WLEVEL -DYNAMIC WMODE -DYNAMIC WMOVE -DYNAMIC WNUM -DYNAMIC WOM -DYNAMIC WOPEN -DYNAMIC WORDONE -DYNAMIC WORDONLY -DYNAMIC WORDREM -DYNAMIC WORDREPL -DYNAMIC WORDSWAP -DYNAMIC WORDTOCHAR -DYNAMIC WROW -DYNAMIC WSELECT -DYNAMIC WSETMOVE -DYNAMIC WSETSHADOW -DYNAMIC WSHADOW -DYNAMIC WSHOW -DYNAMIC WSTEP -DYNAMIC XMOBLOCK -DYNAMIC XMOCHECK -DYNAMIC XTOC -DYNAMIC ZEROINSERT -DYNAMIC ZEROREMOVE -DYNAMIC _HB_CTDSPTIME - -#ifdef __HBEXTERN__HBCT__REQUEST - #uncommand DYNAMIC => EXTERNAL -#endif - -#endif +/* + * $Id$ + */ + +/* -------------------------------------------------------------------- */ +/* NOTE: You can add manual override which functions to include or */ +/* exclude from automatically generated EXTERNAL/DYNAMIC list. */ +/* Syntax: // HB_FUNC_INCLUDE */ +/* // HB_FUNC_EXCLUDE */ +/* -------------------------------------------------------------------- */ + +/* -------------------------------------------------------------------- */ +/* WARNING: Automatically generated code below. DO NOT EDIT! */ +/* Regenerate with HB_REBUILD_EXTERN=yes while using GCC */ +/* compiler family. [vszakats] */ +/* -------------------------------------------------------------------- */ + +#ifndef __HBEXTERN_CH__HBCT__ +#define __HBEXTERN_CH__HBCT__ + +#ifdef __HBEXTERN__HBCT__ANNOUNCE + ANNOUNCE __HBEXTERN__HBCT__ +#endif + +#ifdef __HBEXTERN__HBCT__REQUEST + #command DYNAMIC => EXTERNAL +#endif + +DYNAMIC ACOS +DYNAMIC ADDASCII +DYNAMIC ADDMONTH +DYNAMIC AFTERATNUM +DYNAMIC ALLOFREE +DYNAMIC ASCIISUM +DYNAMIC ASCPOS +DYNAMIC ASIN +DYNAMIC ATADJUST +DYNAMIC ATAN +DYNAMIC ATN2 +DYNAMIC ATNUM +DYNAMIC ATREPL +DYNAMIC ATTOKEN +DYNAMIC BEFORATNUM +DYNAMIC BITTOC +DYNAMIC BLANK +DYNAMIC BOM +DYNAMIC BOQ +DYNAMIC BOY +DYNAMIC CEILING +DYNAMIC CELSIUS +DYNAMIC CENTER +DYNAMIC CHARADD +DYNAMIC CHARAND +DYNAMIC CHAREVEN +DYNAMIC CHARHIST +DYNAMIC CHARLIST +DYNAMIC CHARMIRR +DYNAMIC CHARMIX +DYNAMIC CHARNOLIST +DYNAMIC CHARNOT +DYNAMIC CHARODD +DYNAMIC CHARONE +DYNAMIC CHARONLY +DYNAMIC CHAROR +DYNAMIC CHARPACK +DYNAMIC CHARPIX +DYNAMIC CHARRELA +DYNAMIC CHARRELREP +DYNAMIC CHARREM +DYNAMIC CHARREPL +DYNAMIC CHARRLL +DYNAMIC CHARRLR +DYNAMIC CHARSHL +DYNAMIC CHARSHR +DYNAMIC CHARSLIST +DYNAMIC CHARSORT +DYNAMIC CHARSPREAD +DYNAMIC CHARSUB +DYNAMIC CHARSWAP +DYNAMIC CHARUNPACK +DYNAMIC CHARWIN +DYNAMIC CHARXOR +DYNAMIC CHECKSUM +DYNAMIC CLEARBIT +DYNAMIC CLEAREOL +DYNAMIC CLEARSLOW +DYNAMIC CLEARWIN +DYNAMIC CLEOL +DYNAMIC CLWIN +DYNAMIC COLORREPL +DYNAMIC COLORTON +DYNAMIC COLORWIN +DYNAMIC COMPLEMENT +DYNAMIC COM_BREAK +DYNAMIC COM_CLOSE +DYNAMIC COM_COUNT +DYNAMIC COM_CRC +DYNAMIC COM_CTS +DYNAMIC COM_DCD +DYNAMIC COM_DEVNAME +DYNAMIC COM_DOSCON +DYNAMIC COM_DSR +DYNAMIC COM_DTR +DYNAMIC COM_ERRCHR +DYNAMIC COM_EVENT +DYNAMIC COM_FLUSH +DYNAMIC COM_GETIO +DYNAMIC COM_GETIRQ +DYNAMIC COM_HARD +DYNAMIC COM_INIT +DYNAMIC COM_KEY +DYNAMIC COM_LSR +DYNAMIC COM_MCR +DYNAMIC COM_MSR +DYNAMIC COM_NUM +DYNAMIC COM_OPEN +DYNAMIC COM_READ +DYNAMIC COM_REMOTE +DYNAMIC COM_RING +DYNAMIC COM_RTS +DYNAMIC COM_SCOUNT +DYNAMIC COM_SEND +DYNAMIC COM_SETIO +DYNAMIC COM_SETIRQ +DYNAMIC COM_SFLUSH +DYNAMIC COM_SKEY +DYNAMIC COM_SMODE +DYNAMIC COM_SOFT +DYNAMIC COM_SOFT_R +DYNAMIC COM_SOFT_S +DYNAMIC COS +DYNAMIC COSH +DYNAMIC COT +DYNAMIC COUNTGETS +DYNAMIC COUNTLEFT +DYNAMIC COUNTRIGHT +DYNAMIC CRYPT +DYNAMIC CSETARGERR +DYNAMIC CSETATMUPA +DYNAMIC CSETCENT +DYNAMIC CSETCURS +DYNAMIC CSETKEY +DYNAMIC CSETREF +DYNAMIC CSETSAFETY +DYNAMIC CTCEXIT +DYNAMIC CTCINIT +DYNAMIC CTEXIT +DYNAMIC CTINIT +DYNAMIC CTOBIT +DYNAMIC CTODOW +DYNAMIC CTOF +DYNAMIC CTOMONTH +DYNAMIC CTON +DYNAMIC CTWINIT +DYNAMIC CTWLASTKEY +DYNAMIC CURRENTGET +DYNAMIC DAYSINMONTH +DYNAMIC DAYSTOMONTH +DYNAMIC DBFSIZE +DYNAMIC DELETEFILE +DYNAMIC DIRMAKE +DYNAMIC DIRNAME +DYNAMIC DMY +DYNAMIC DOSPARAM +DYNAMIC DOY +DYNAMIC DRIVETYPE +DYNAMIC DSETKBIOS +DYNAMIC DTOR +DYNAMIC ENHANCED +DYNAMIC EOM +DYNAMIC EOQ +DYNAMIC EOY +DYNAMIC EXENAME +DYNAMIC EXPAND +DYNAMIC EXPONENT +DYNAMIC FACT +DYNAMIC FAHRENHEIT +DYNAMIC FIELDDECI +DYNAMIC FIELDNUM +DYNAMIC FIELDSIZE +DYNAMIC FILEAPPEND +DYNAMIC FILEATTR +DYNAMIC FILECCLOSE +DYNAMIC FILECCONT +DYNAMIC FILECDATI +DYNAMIC FILECOPEN +DYNAMIC FILECOPY +DYNAMIC FILEDATE +DYNAMIC FILEDELETE +DYNAMIC FILEMOVE +DYNAMIC FILESCREEN +DYNAMIC FILESEEK +DYNAMIC FILESIZE +DYNAMIC FILESMAX +DYNAMIC FILESTR +DYNAMIC FILETIME +DYNAMIC FLOOR +DYNAMIC FTOC +DYNAMIC FV +DYNAMIC GETCLEARA +DYNAMIC GETCLEARB +DYNAMIC GETFLDCOL +DYNAMIC GETFLDROW +DYNAMIC GETFLDVAR +DYNAMIC GETINPUT +DYNAMIC GETKXLAT +DYNAMIC GETPREC +DYNAMIC GETSECRET +DYNAMIC HBCT_MAXCOL +DYNAMIC HBCT_MAXROW +DYNAMIC HB_GT_CTW +DYNAMIC INFINITY +DYNAMIC INTNEG +DYNAMIC INTPOS +DYNAMIC INVERTATTR +DYNAMIC INVERTWIN +DYNAMIC ISBIT +DYNAMIC ISLEAP +DYNAMIC JUSTLEFT +DYNAMIC JUSTRIGHT +DYNAMIC KBDSTAT +DYNAMIC KEYSEC +DYNAMIC KEYTIME +DYNAMIC KSETCAPS +DYNAMIC KSETINS +DYNAMIC KSETNUM +DYNAMIC KSETSCROLL +DYNAMIC LASTDAYOM +DYNAMIC LIKE +DYNAMIC LOG10 +DYNAMIC LTOC +DYNAMIC LTON +DYNAMIC MANTISSA +DYNAMIC MAXLINE +DYNAMIC MDY +DYNAMIC MILLISEC +DYNAMIC NETCANCEL +DYNAMIC NETDISK +DYNAMIC NETPRINTER +DYNAMIC NETREDIR +DYNAMIC NETRMTNAME +DYNAMIC NETWORK +DYNAMIC NNETWORK +DYNAMIC NTOC +DYNAMIC NTOCDOW +DYNAMIC NTOCMONTH +DYNAMIC NTOCOLOR +DYNAMIC NUL +DYNAMIC NUMAND +DYNAMIC NUMAT +DYNAMIC NUMCOUNT +DYNAMIC NUMDISKL +DYNAMIC NUMHIGH +DYNAMIC NUMLINE +DYNAMIC NUMLOW +DYNAMIC NUMMIRR +DYNAMIC NUMNOT +DYNAMIC NUMOR +DYNAMIC NUMROL +DYNAMIC NUMTOKEN +DYNAMIC NUMXOR +DYNAMIC PADLEFT +DYNAMIC PADRIGHT +DYNAMIC PAYMENT +DYNAMIC PERIODS +DYNAMIC PI +DYNAMIC POSALPHA +DYNAMIC POSCHAR +DYNAMIC POSDEL +DYNAMIC POSDIFF +DYNAMIC POSEQUAL +DYNAMIC POSINS +DYNAMIC POSLOWER +DYNAMIC POSRANGE +DYNAMIC POSREPL +DYNAMIC POSUPPER +DYNAMIC PRINTREADY +DYNAMIC PRINTSEND +DYNAMIC PRINTSTAT +DYNAMIC PV +DYNAMIC QUARTER +DYNAMIC RAND +DYNAMIC RANDOM +DYNAMIC RANGEREM +DYNAMIC RANGEREPL +DYNAMIC RATE +DYNAMIC REMALL +DYNAMIC REMLEFT +DYNAMIC REMRIGHT +DYNAMIC RENAMEFILE +DYNAMIC REPLALL +DYNAMIC REPLLEFT +DYNAMIC REPLRIGHT +DYNAMIC RESTCURSOR +DYNAMIC RESTGETS +DYNAMIC RESTSETKEY +DYNAMIC RESTTOKEN +DYNAMIC RTOD +DYNAMIC SAVECURSOR +DYNAMIC SAVEGETS +DYNAMIC SAVESETKEY +DYNAMIC SAVETOKEN +DYNAMIC SAYDOWN +DYNAMIC SAYMOVEIN +DYNAMIC SAYSCREEN +DYNAMIC SAYSPREAD +DYNAMIC SCREENATTR +DYNAMIC SCREENFILE +DYNAMIC SCREENMARK +DYNAMIC SCREENMIX +DYNAMIC SCREENSTR +DYNAMIC SCREENTEXT +DYNAMIC SECTOTIME +DYNAMIC SETATLIKE +DYNAMIC SETBIT +DYNAMIC SETCLEARA +DYNAMIC SETCLEARB +DYNAMIC SETDATE +DYNAMIC SETFATTR +DYNAMIC SETFCREATE +DYNAMIC SETFDATI +DYNAMIC SETFONT +DYNAMIC SETKXLAT +DYNAMIC SETLASTKEY +DYNAMIC SETPREC +DYNAMIC SETRC +DYNAMIC SETTIME +DYNAMIC SHOWTIME +DYNAMIC SIGN +DYNAMIC SIN +DYNAMIC SINH +DYNAMIC STANDARD +DYNAMIC STRDIFF +DYNAMIC STRFILE +DYNAMIC STRSCREEN +DYNAMIC STRSWAP +DYNAMIC TABEXPAND +DYNAMIC TABPACK +DYNAMIC TAN +DYNAMIC TANH +DYNAMIC TEMPFILE +DYNAMIC TIMETOSEC +DYNAMIC TIMEVALID +DYNAMIC TOKEN +DYNAMIC TOKENAT +DYNAMIC TOKENEND +DYNAMIC TOKENEXIT +DYNAMIC TOKENINIT +DYNAMIC TOKENLOWER +DYNAMIC TOKENNEXT +DYNAMIC TOKENNUM +DYNAMIC TOKENSEP +DYNAMIC TOKENUPPER +DYNAMIC TRUENAME +DYNAMIC UNSELECTED +DYNAMIC UNTEXTWIN +DYNAMIC VALPOS +DYNAMIC VGAPALETTE +DYNAMIC VIDEOTYPE +DYNAMIC VOLSERIAL +DYNAMIC VOLUME +DYNAMIC WACLOSE +DYNAMIC WAITPERIOD +DYNAMIC WBOARD +DYNAMIC WBOX +DYNAMIC WCENTER +DYNAMIC WCLOSE +DYNAMIC WCOL +DYNAMIC WEEK +DYNAMIC WFCOL +DYNAMIC WFLASTCOL +DYNAMIC WFLASTROW +DYNAMIC WFORMAT +DYNAMIC WFROW +DYNAMIC WHIDE +DYNAMIC WLASTCOL +DYNAMIC WLASTROW +DYNAMIC WLEVEL +DYNAMIC WMODE +DYNAMIC WMOVE +DYNAMIC WNUM +DYNAMIC WOM +DYNAMIC WOPEN +DYNAMIC WORDONE +DYNAMIC WORDONLY +DYNAMIC WORDREM +DYNAMIC WORDREPL +DYNAMIC WORDSWAP +DYNAMIC WORDTOCHAR +DYNAMIC WROW +DYNAMIC WSELECT +DYNAMIC WSETMOVE +DYNAMIC WSETSHADOW +DYNAMIC WSHADOW +DYNAMIC WSHOW +DYNAMIC WSTEP +DYNAMIC XMOBLOCK +DYNAMIC XMOCHECK +DYNAMIC XTOC +DYNAMIC ZEROINSERT +DYNAMIC ZEROREMOVE +DYNAMIC _HB_CTDSPTIME + +#ifdef __HBEXTERN__HBCT__REQUEST + #uncommand DYNAMIC => EXTERNAL +#endif + +#endif diff --git a/harbour/contrib/xhb/xhb.hbp b/harbour/contrib/xhb/xhb.hbp index 833216e25b..f1f4e22c4c 100644 --- a/harbour/contrib/xhb/xhb.hbp +++ b/harbour/contrib/xhb/xhb.hbp @@ -13,6 +13,8 @@ -instfile=inc:xhb.h -instfile=inc:hbcompat.ch -instfile=inc:xhb.ch +-instfile=inc:xhbcls.ch +-instfile=inc:xhbextrn.ch -instfile=inc:xhb.hbx ../hbct/hbct.hbc diff --git a/harbour/src/compiler/hbmain.c b/harbour/src/compiler/hbmain.c index 1a33530b2d..441c3e6ff1 100644 --- a/harbour/src/compiler/hbmain.c +++ b/harbour/src/compiler/hbmain.c @@ -950,6 +950,40 @@ HB_BOOL hb_compIsValidMacroText( HB_COMP_DECL, const char * szText, HB_SIZE nLen * DECLARATIONS */ +static void hb_compDeclaredReset( HB_COMP_DECL ) +{ + while( HB_COMP_PARAM->pFirstDeclared ) + { + PCOMDECLARED pDeclared = HB_COMP_PARAM->pFirstDeclared; + HB_COMP_PARAM->pFirstDeclared = pDeclared->pNext; + if( pDeclared->cParamTypes ) + hb_xfree( pDeclared->cParamTypes ); + if( pDeclared->pParamClasses ) + hb_xfree( pDeclared->pParamClasses ); + hb_xfree( pDeclared ); + } + HB_COMP_PARAM->pLastDeclared = NULL; + + while( HB_COMP_PARAM->pFirstClass ) + { + PCOMCLASS pClass = HB_COMP_PARAM->pFirstClass; + HB_COMP_PARAM->pFirstClass = pClass->pNext; + while( pClass->pMethod ) + { + PCOMDECLARED pDeclared = pClass->pMethod; + pClass->pMethod = pDeclared->pNext; + if( pDeclared->cParamTypes ) + hb_xfree( pDeclared->cParamTypes ); + if( pDeclared->pParamClasses ) + hb_xfree( pDeclared->pParamClasses ); + hb_xfree( pDeclared ); + } + hb_xfree( pClass ); + } + HB_COMP_PARAM->pLastClass = NULL; + HB_COMP_PARAM->pLastMethod = NULL; +} + PCOMCLASS hb_compClassFind( HB_COMP_DECL, const char * szClassName ) { PCOMCLASS pClass = HB_COMP_PARAM->pFirstClass; @@ -3876,42 +3910,14 @@ void hb_compCompileEnd( HB_COMP_DECL ) hb_xfree( pInline ); } - while( HB_COMP_PARAM->pFirstDeclared ) - { - PCOMDECLARED pDeclared = HB_COMP_PARAM->pFirstDeclared; - HB_COMP_PARAM->pFirstDeclared = pDeclared->pNext; - if( pDeclared->cParamTypes ) - hb_xfree( pDeclared->cParamTypes ); - if( pDeclared->pParamClasses ) - hb_xfree( pDeclared->pParamClasses ); - hb_xfree( pDeclared ); - } - HB_COMP_PARAM->pLastDeclared = NULL; - - while( HB_COMP_PARAM->pFirstClass ) - { - PCOMCLASS pClass = HB_COMP_PARAM->pFirstClass; - HB_COMP_PARAM->pFirstClass = pClass->pNext; - while( pClass->pMethod ) - { - PCOMDECLARED pDeclared = pClass->pMethod; - pClass->pMethod = pDeclared->pNext; - if( pDeclared->cParamTypes ) - hb_xfree( pDeclared->cParamTypes ); - if( pDeclared->pParamClasses ) - hb_xfree( pDeclared->pParamClasses ); - hb_xfree( pDeclared ); - } - hb_xfree( pClass ); - } - HB_COMP_PARAM->pLastClass = NULL; - while( HB_COMP_PARAM->symbols.pFirst ) { PCOMSYMBOL pSym = HB_COMP_PARAM->symbols.pFirst; HB_COMP_PARAM->symbols.pFirst = pSym->pNext; hb_xfree( pSym ); } + + hb_compDeclaredReset( HB_COMP_PARAM ); } static void hb_compGenIncluded( HB_COMP_DECL ) @@ -4066,6 +4072,7 @@ static int hb_compCompile( HB_COMP_DECL, const char * szPrg, const char * szBuff /* Clear and reinitialize preprocessor state */ hb_pp_reset( HB_COMP_PARAM->pLex->pPP ); + hb_compDeclaredReset( HB_COMP_PARAM ); if( !szBuffer ) szPrg = pModule->szName;