Commit Graph

365 Commits

Author SHA1 Message Date
Viktor Szakats
e1f892788e 2001-12-14 10:17 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-12-14 09:32:52 +00:00
Antonio Linares
1515406b82 hvm support for pcode DLLs 2001-12-13 02:50:16 +00:00
Viktor Szakats
ff8174fb93 2001-12-11 00:02 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-12-10 23:18:13 +00:00
Antonio Linares
9b26e91c26 A minor fix required for Harbour DLLs 2001-12-09 18:44:15 +00:00
Jean-Francois Lefebvre
ce2eb47611 2001-11-26 22:55 GMT+1 JFL (mafact) <jfl@mafact.com> 2001-11-26 21:55:26 +00:00
Jean-Francois Lefebvre
891690234d 2001-11-18 22:15 GMT+1 JFL (mafact) <jfl@mafact.com> 2001-11-18 21:20:09 +00:00
Antonio Linares
49091a7c96 Added new function __VMVARSLEN() 2001-11-16 16:32:00 +00:00
Luiz Rafael Culik
52bfb16e4d See changelog 2001-11-12 21:25 GMT -3 2001-11-12 23:24:38 +00:00
Viktor Szakats
7dbe2926e8 2001-11-04 18:34 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-11-04 17:35:56 +00:00
Viktor Szakats
c5403ec584 2001-11-04 18:14 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-11-04 17:15:04 +00:00
Brian Hays
d2f1655bdb 2001-11-01 05:10 UTC-0800 Brian Hays <bhays@abacuslaw.com> 2001-11-02 01:11:29 +00:00
Jean-Francois Lefebvre
a947b503ce 2001-10-11 23:05 GMT+1 JFL (mafact) <jfl@mafact.com> 2001-10-11 21:04:15 +00:00
Jean-Francois Lefebvre
d5c355a81e 2001-08-20 22:20 GMT +1 JFL (mafact) <jfl@mafact.com> 2001-08-20 20:16:25 +00:00
Jean-Francois Lefebvre
f420483b5f 2001-08-19 23:30 GMT +1 JFL (mafact) <jfl@mafact.com> 2001-08-19 21:24:28 +00:00
Ryszard Glab
f047a9927f ChangeLog 2001-08-17 20:15 UTC+0100 2001-08-17 18:26:37 +00:00
Ron Pinkas
515035d9fe 2001-08-09 17:45 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.c
     * Minor correction to handling of HB_FS_FIRST

   * source/vm/hvm.c
     * Added extern "C" protection to hb_macroAutoSetMacro() declaration.
2001-08-10 00:43:13 +00:00
Ron Pinkas
559b060f97 2001-08-09 02:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/macro.c
   * include/hbcomp.h
   * include/hbexprb.c
   * include/hbexprc.c
   * include/hbmacro.h
   * include/hbmsetup.h
   * include/set.ch
   * source/compiler/cmdcheck.c
   * source/compiler/genc.c
   * source/compiler/harbour.c
   * source/compiler/hbpcode.c
   * source/rdd/dblist.prg
   * source/vm/hvm.c
     - Removed support for syncing of macro setting with main module.
     - Removed support for -ks which is replaced with -kr.
     + Added default logic to auto symchronize all macro activations with the compile time switches of each respective module.
     + Added -kr to disable auto synching, thus allowing Run-Time setting by means of HB_SETMACRO().
2001-08-09 09:48:59 +00:00
Maurilio Longo
3a638fda83 2001-08-08 23:52 GMT+2 Maurilio Longo <maurilio.longo@libero.it>
* include/hbvmpub.h
   * source/vm/classes.c
   * source/vm/hvm.c
   * source/vm/dynsym.c
     ! Fixed profiler counting of time elapsed inside recursive functions. It still has to
       be fixed for methods.
       NOTE: My knowledge of harbour VM is very poor. I hope I didn't break anything else :-))
     ! Fixed a few warnings inside hb_vmDo() and hb_vmSend()
   * source/vm/arrayshb.c
     ! Fixed isalnum() call on line 359, isalnum() requires an int
2001-08-08 21:55:19 +00:00
Ron Pinkas
65c8b39133 2001-08-06 23:50 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.c
     ! Corrected assigment of HB_FS_FIRST scope, for proper execution of first non INIT/EXIT procedure in main module.

   * source/compiler/genc.c
   * source/vm/hvm.c
     ! Improved sync logic of HB_SETMACRO() level, to only activate once per application before any prg level code is executed.
2001-08-07 06:50:36 +00:00
Jean-Francois Lefebvre
842ae2a9c8 2001-07-26 22:50 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-07-26 21:50:52 +00:00
Ron Pinkas
fc7c28a6b3 2001-07-23 04:15 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbexprop.h
     + Added #define  HB_ET_MACRO_PARE    64

   * source/vm/hvm.c
   * source/vm/macro.c
   * source/macro/macro.y
   * include/hbexprb.c
     + Added support for HB_P_MACROPUSHPARE aand HB_P_MACROPUSHINDEX

   * include/hbmacro.h
     + Added #define HB_MACRO_GEN_PARE     16  /* generate parentesized list */

   * source/common/expropt1.c
   * source/common/expropt2.c

   * include/hbpcode.h
   * source/compiler/genc.c
   * source/compiler/hbfix.c
   * source/compiler/hbpcode.c
     + Added new opcode HB_P_MACROPUSHPARE

   /* This should complete macro list support for ( &cMacro ) and aArray[ &cMacro ] syntaxes. */
2001-07-23 11:13:06 +00:00
Ron Pinkas
e2e1eeb028 2001-07-22 14:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     * Changed 2nd parameter to BYTE iContext in hb_macroGetValue( HB_ITEM_PTR pItem, BYTE iContext )

   * include/hbexprop.h
     + Added #define  HB_ET_MACRO_LIST    16   /* &variable used as in literal arrays or parentesised expressions. */
     + Added #define  HB_ET_MACRO_INDEX   32   /* &variable used as arrays index. */

   * include/hbexprb.c
     + Added macro list support logic to hb_compExprUseArray()
     + Added generation of HB_P_MACROLIST,  HB_P_MACROPUSHLIST, HB_P_MACROLISTEND, and HB_P_MACROPUSHINDEX in hb_compExprUseMacro()

       /* HB_P_MACROLIST and HB_P_MACROLISTEND are only generated as an enevelope if array contains a one or more macro element
          which will generate an HB_P_MACROPUSHLIST. */

   * include/hbpcode.h
   * source/compiler/genc.c
   * source/compiler/hbfix.c
   * source/compiler/hbpcode.c
     + Added: new opcodes HB_P_MACROLIST, HB_P_MACROPUSHLIST, HB_P_MACROLISTEND, and HB_P_MACROPUSHINDEX.

   * source/vm/hvm.c
   * source/vm/macro.c
     + Added: support for new opcodes HB_P_MACROLIST, HB_P_MACROPUSHLIST, HB_P_MACROLISTEND, and HB_P_MACROPUSHINDEX.

       /* HB_P_MACROPUSHINDEX not completed yet.*/

   /* NOTE: This implements macro as literal array arguments list syntax <{ &cMacro }>.
           ( &Cmacro ) and Array[ &cMacro ] are not completed yet.

      *** All prgs must be recompiled due to new opcodes !!!
   */
2001-07-23 06:31:41 +00:00
Ryszard Glab
f6353a8674 ChangeLog 2001-07-22 20:15 UTC+0100 2001-07-22 19:03:52 +00:00
Ron Pinkas
6f912ba2bd 2001-07-19 20:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     + Added #define HB_MAX_MACRO_ARGS 16

   * source/vm/hvm.c
   * source/vm/macro.c
     + Added support for nested HB_P_MACROPUSHARG

   * contrib/dot/pp.prg
     - Removed bSplit in PP_PreProLine(). Instead added logic to split the line unless line is a directive.
2001-07-20 03:32:06 +00:00
Ron Pinkas
3928d386a1 2001-07-18 16:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/macro.c
   * source/vm/hvm.c
     % Simplified logic for suppoting macro lists. Removed global variables:
          int hb_vm_iFunCalls = 0, *hb_vm_aiMacroListParameters = NULL, hb_vm_iMacroListAllocated
       which are no longer needed. No longer using any logic in any PCODE case, other than HB_P_PUSHMACROARG.
       No longer using any arrays, or memory allocations.

   * include/hbexpra.c
   * include/hbexprb.c
     * HB_P_PUSHMACROARG will now be followed with a push symbol sequence, indicating its parrent function call.

   * include/hbpcode.h
     * Added decimal values into the description comments for readability.
2001-07-18 23:11:05 +00:00
Antonio Linares
9a9e4a7804 Added (PRG level) __SetProfiler( On | Off ) 2001-07-18 09:46:42 +00:00
Maurilio Longo
bd80e8d997 2001-07-18 09:06 GMT+2 Maurilio Longo <maurilio.longo@libero.it>
* source/rtl/tbrowse.prg
     + activated scoping
   * include/hbapierr.h
     include/hbapiitm.h
     include/hbvm.h
     source/rtl/errorapi.c
     source/vm/hvm.c
     source/vm/itemapi.c
     ! fixed va_start() use or, better, changed it to be compatible with OS/2 EMX GCC
       compiler which REQUIRES that va_start() calls use a type which cannot be promoted
       to something bigger. That is, this call is correct:
       va_start(valist, ulUnsignedLongType)
       while this one is not:
       va_start(valist, usUnsignedShortType)
       Using a type which can be promoted to a bigger one leads to memory corruption.
       I think this requirement could exist even on other ANSI C compilers.
     ! Removed workaround inside hb_itemDo() and hb_itemDoC() to prevent this corruption.
2001-07-18 07:21:03 +00:00
Ron Pinkas
8abc351c51 2001-07-17 18:25 UTC-0800 Ron Pinkas <ron@profit-master.com>
* utils/hbpp/hbpp.c
     * Commented an exit() call in hb_compGenError() to continue processing after an error just like Harbour does.

   * include/hbapi.h
     + Added 2nd parameter BOOL bArg to hb_macroGetValue()

   * include/hbexpra.c
     + Added global BOOL hb_exp_bArgList = FALSE;

   * include/hbexprb.c
     + Added logic to generate HB_P_MACROPUSHARG rather than HB_MACROPUSH when pushed macro is a function call argument.

   * include/hbpcode.h
   * source/compiler/genc.c
   * source/compiler/hbfix.c
   * source/compiler/hbpcode.c
     + Added new HB_P_MACROPUSHARG

   * source/macro/macro.y
     + Added logic to generate an error if macro expression is list, unless servicing an HB_MACROPUSHARG.

   * source/vm/hvm.c
     + Added support for new HB_P_MACROPUSHARG calling hb_macroGetValue() with TRUE for bArg.

   * source/vm/macro.c
     + Added 2nd parameter BOOL bArg to hb_macroGetValue() to signify servicing of HB_P_MACROPUSHARG.

   * contrib/dot/pp.prg
     + Added bSplit 4th paramater to PP_PreProLine() defaulting to .T.. - Calls from PP_PreProFile() set it to .F..
2001-07-18 01:29:53 +00:00
Ron Pinkas
6ed48b5b25 2001-07-16 09:45 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/hvm.c
   * source/vm/macro.c
     + Wrapped macro statement support within #ifdef HB_MACRO_STATEMENTS (which is NOT defined).
2001-07-16 16:42:59 +00:00
Ron Pinkas
d8977933fa 2001-07-16 03:40 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/hvm.c
   * source/vm/macro.c
     + Added missing #include "hbpp.h" to resolve strict compiler warnings.
2001-07-16 10:40:24 +00:00
Ron Pinkas
4454fbac5e 2001-07-16 03:00 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/hvm.c
     + Added call to hb_pp_Free() in hb_vmQuit() to release pp tables if loaded by macro evaluation.
2001-07-16 10:03:05 +00:00
Ron Pinkas
6c5369f4f8 2001-07-16 02:45 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/hvm.c
     * Few improvements to recent support for lists in macro expansion

   * source/vm/macro.c
     + Added preprocessing support to hb_macroGetValue()

   * source/compiler/harbour.sly
   * source/compiler/harbour.y
     + Added rules to support MacroVar and MacroExpr as a standalone Statement.
2001-07-16 09:41:28 +00:00
Ron Pinkas
005cee072c 2001-07-15 20:45 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     + Added member iListElements to HB_MACRO structure.

   * source/macro/macro.y
     + Added rules to support a macro of a comma seperated list.

   * source/vm/hvm.c
     + Added: int hb_vm_iFunCalls = 0, *hb_vm_aiMacroListParameters = NULL, hb_vm_iMacroListAllocated
       to support new logic to track number of extra parameters introduced by means of a macro expanded to a list.

   * source/vm/macro.c
     + Added logic to track number of extra parameters introduced by means of a macro expanded to a list.
2001-07-16 03:43:13 +00:00
Jean-Francois Lefebvre
1177052490 2001-07-12 00:40 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-07-11 22:42:17 +00:00
Antonio Linares
31be17356d Added profiler support for functions and procedures 2001-06-30 07:39:36 +00:00
Antonio Linares
866d798b98 Profiler support added 2001-06-29 14:56:12 +00:00
David G. Holm
d5220415d2 See ChangeLog entry 2001-06-21 14:45 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-06-21 18:49:58 +00:00
David G. Holm
a13ea3a883 See ChangeLog entry 2001-06-20 14:50 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-06-20 18:55:21 +00:00
Ron Pinkas
8a3b3dc3f2 2001-06-07 18:40 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/hvm.c
     ! Fixed HB_P_MPOPFIELD was poping assgined value pre-maturely, causing "data type error" from RDD when replacing a field using macro.
2001-06-08 01:38:26 +00:00
Ron Pinkas
efb9abf69c 2001-05-25 12:20 UTC-0800 Ron Pinkas <ron@profit-master.com>
* contrib/dot/pp.prg
     * Few corrections to NextToken() and CompileRule() to match Clipper behaviour regrding decimal point, and decimal numbers.

   * source/pp/ppcore.c
     - Removed unused variable as per compiler warning.

   * source/vm/hvm.c
     ! Fixed HB_P_POPFIELD and HB_P_POPVARIABLE to NOT pop top stack element pre-maturely.
       Item is now pop only after assignment took place. This fixes problem where the FieldPut rutine had to use the stack,
       thus overriding the assigned item.
2001-05-25 19:18:50 +00:00
Viktor Szakats
37b052fc7a 2001-05-15 15:02 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-05-15 13:02:07 +00:00
Ron Pinkas
88d6d4ea34 2001-05-10 14:40 UTC-0800 Ron Pinkas <ron@profit-master.com> 2001-05-10 22:05:54 +00:00
Ron Pinkas
196044b21f 2001-05-07 11:40 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbclass.ch
     ! Added missing parameter to declaration of AddMultiData()

   * source/compiler/harbour.c
     ! Corrected broken Linked-List links in hb_compDeclaredInit()

   * source/compiler/hbpcode.c
     * Minor correction declared parameters checking.

   * source/vm/hvm.c
     + Added complete call stack display to hb_vmRequestCancel()
       /* Cancelling will now show the complete call stack, rather than the not very helpful just current procedure. */
2001-05-07 18:45:55 +00:00
Ron Pinkas
ee674c5116 2001-05-02 11:05 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     * Changed HB_NESTED_CLONED to record BaseArray instead of first item.
     * Reverted declaration of hb_arrayClone to use 2nd paramater ( pClonedList ) for futute Thread Safety.

   * source/vm/arrays.c
     * Corrected handling of nested (shared) empty array in hb_arrayClone().
     * Reverted definition of hb_arrayClone() to use 2nd parameter ( pClonedList ) for future Thread Safety.

   * source/vm/arrayshb.c
   * source/vm/classes.c
   * source/vm/hvm.c
     * Added required 2nd parameter ( NULL ) to calls to hb_arrayClone()
2001-05-02 18:36:34 +00:00
Ron Pinkas
c1188f415a 2001-04-28 02:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     - Removed 2nd parameter from hb_arrayClone() declaration

   * source/vm/arrays.c
     - Removed 2nd parameter from definition of hb_arrayClone(), added a static s_pClonedList instead.

   * source/vm/arrayshb.c
   * source/vm/classes.c
   * source/vm/hvm.c
     - Removed 2nd parameter from calls to hb_arrayClone()
2001-04-28 21:26:43 +00:00
Ron Pinkas
11435cf83e 2001-04-17 19:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     * Removed 3rd paramater from declaration of hb_arrayClone().

   * source/vm/arrays.c
     ! Optimized and improved hb_arrayClone().

   * source/vm/arrayshb.c
   * source/vm/classes.c
   * source/vm/hvm.c
     * Changed calls to hb_arrayClone() to remove no longer needed, 3rd parameter.
2001-04-18 06:52:00 +00:00
Ron Pinkas
e21cb2b118 2001-04-17 19:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     + Added typedef struct HB_NESTED_CLONED
     * Changed declaration of hb_arrayClone to hb_arrayClone( PHB_ITEM pArray, PHB_NESTED_CLONED pClonedList, BOOL *bCyclic )

   * source/vm/arrays.c
     ! Fixed hb_arrayClone() to correctly clone any array including RELATIVE Ciclic Referncing of any level.

   * source/vm/arrayshb.c
   * source/vm/classes.c
   * source/vm/hvm.c
     * Changed calls to hb_arrayClone() to pass 2 additional NULLs as 2nd. and 3rd. parameters.
2001-04-18 02:28:39 +00:00
David G. Holm
0e07837322 See ChangeLog entry 2001-04-12 15:00 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-04-12 18:56:30 +00:00
Ron Pinkas
bb7e6f1111 2001-03-24 02:20 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/hbpcode.c
     ! Fixed some StrongType logic.

   * source/compiler/genc.c
   * source/rdd/dbf1.c
   * source/rtl/gtapi.c
   * source/vm/hvm.c
     ! Corrected Compiler warnings.

   * source/compiler/harbour.c
   * include/hbcomp.h
     * Minor formatting.
2001-04-07 20:27:26 +00:00
Ron Pinkas
9d823b9a8b 2001-03-22 11:00 UTC-0800 Ron Pinkas <ron@profit-master.com>
* hb_slex.vc
     * Minor corrections.

   * include/hbapi.h
     + extern PHB_ITEM hb_paramError( int iParam ); /* Returns either the generic parameter or a NIL item if param not provided */
     + extern PHB_ITEM hb_arrayFromStack( USHORT uiLen ); /* Creates and returns an Array of n Elements from the Eval Stack - Does NOT pop the items. */
     + extern PHB_ITEM hb_arrayFromParams( void ); /* Creates and returns an Array of current Generic Parameters. */

   * include/hbapierr.h
     * extern USHORT   hb_errRT_BASE           ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiArgCount, ... );
     * extern USHORT   hb_errRT_BASE_Ext1      ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiOsCode, USHORT uiFlags, USHORT uiArgCount, ... );
     * extern PHB_ITEM hb_errRT_BASE_Subst     ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiArgCount, ... );
     * extern void     hb_errRT_BASE_SubstR    ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiArgCount, ... );
       + Added support for variable number of Error Arguments.

   * source/rtl/errorapi.c
     * hb_errRT_BASE           ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiArgCount, ... );
     * hb_errRT_BASE_Ext1      ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiOsCode, USHORT uiFlags, USHORT uiArgCount, ... );
     * hb_errRT_BASE_Subst     ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiArgCount, ... );
     * hb_errRT_BASE_SubstR    ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiArgCount, ... );
       + Added support for variable number of Error Arguments.

   * source/vm/arrays.c
     + PHB_ITEM hb_arrayFromStack( USHORT uiLen )
     + PHB_ITEM hb_arrayFromParams( void )

   * source/vm/extend.c
      + PHB_ITEM hb_paramError( int iParam )

   * source/rdd/dbcmd.c
     * Added the Error Arguments as parameters to hb_errRT_BASE*().

   * source/rtl/abs.c
   * source/rtl/at.c
   * source/rtl/chrasc.c
   * source/rtl/copyfile.c
   * source/rtl/datec.c
   * source/rtl/dateshb.c
   * source/rtl/diskspac.c
   * source/rtl/disksphb.c
   * source/rtl/do.c
   * source/rtl/left.c
   * source/rtl/len.c
   * source/rtl/math.c
   * source/rtl/minmax.c
   * source/rtl/mod.c
   * source/rtl/philes.c
   * source/rtl/philesx.c
   * source/rtl/replic.c
   * source/rtl/round.c
   * source/rtl/set.c
   * source/rtl/space.c
   * source/rtl/str.c
   * source/rtl/strcase.c
   * source/rtl/strtran.c
   * source/rtl/strzero.c
   * source/rtl/substr.c
   * source/rtl/transfrm.c
   * source/rtl/trim.c
   * source/rtl/type.c
   * source/rtl/val.c
   * source/rtl/word.c
     * Added the Error Arguments as parameters to hb_errRT_BASE*().

   * source/vm/arrayshb.c
   * source/vm/eval.c
   * source/vm/hvm.c
   * source/vm/macro.c
   * source/vm/memvars.c
   * source/vm/runner.c
     * Added the Error Arguments as parameters to hb_errRT_BASE*().

   * source/vm/classes.c
     + Added 0 arguments (J.F. can you please decide what should be the arguments! )

   /* HBTEST now reports 173 failures ( down from 376 ) many of the failures are justified.

      I have tested this as much as I could, but since it invloved lots of "Cust & Pasets" more testing should be done.

      It would be great if someone could review each of HBTEST Reported Failures on a one-by-one basis.

     BTW, HBTEST reports 1 UN-RELEASED Memory Block (from before my changes)!
   */
2001-03-22 19:49:50 +00:00