Commit Graph

16 Commits

Author SHA1 Message Date
Ron Pinkas
e0201e2067 20000430-21:30 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.c
      - Removed refrence to pFunc->iFunctionIndex.

    * source/compiler/hbpcode.c
      * Enhancements to hb_compStrongType()

    * tests/testwarn.prg
      + Added code to demonstrate more warnings.

    * include/hberrors.h
      - Removed pFunctionCalls and iFunctionIndex members of _FUNC structure.
2000-05-01 04:37:09 +00:00
Ron Pinkas
f935e3bca5 20000430-22:15 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* harbour/source/compiler/harbour.y
      ! Fixed { hb_compVariableDim( $1, $2 ); } to { hb_comp_cVarType = 'A'; hb_compVariableDim( $1, $2 ); }
	so that correct type is saved.

    * harbour/source/compiler/hbpcode.c
      * Enhancements to hb_compStrongType()

    * harbour/source/compiler/hbgenerr.c
      + added :
        "3Can\'t use array index with NON Array"
        "3Incompatible return value: \'%s\' expected: \'%s\'"

    * harbour/include/hberrors.h
      + added :
        #define HB_COMP_WARN_NOT_ARRAY                  13
        #define HB_COMP_RETURN_TYPE                     14

    * harbour/tests/testwarn.prg
      + Added code to demonstrate more warnings.
2000-05-01 03:31:35 +00:00
Ryszard Glab
d7d9f2bee5 ChangeLog 20000430-13:50 GMT+1 2000-04-30 11:44:51 +00:00
Ron Pinkas
4966e9016b 20000429-23:50 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* harbour/source/compiler/harbour.c
      ! Fixed hb_compVariableAdd() to utilize parameter cValueType for Codeblock local variables, so that correct type is stored.

    * harbour/source/compiler/harbour.y
      ! Fixed hb_compExprCBVarAdd( $<asExpr>0, $1, $2 ) to hb_compExprCBVarAdd( $<asExpr>0, $1, hb_comp_cVarType ) and
	hb_compExprCBVarAdd( $<asExpr>0, $3, $4 ) to hb_compExprCBVarAdd( $<asExpr>0, $3, hb_comp_cVarType ) so that
        correct type is passed.
      + Added hb_comp_cVarType = ' ' to reset declared type after BlockVar[s] PRIVATE and PUBLIC.

    * harbour/source/compiler/hbpcode.c
      * Minor corrections to hb_compStrongType()
2000-04-30 06:56:59 +00:00
David G. Holm
23e1b2174a See ChangeLog entry 2000-04-26 20:00 GMT-4 David G. Holm <dholm@jsd-llc.com> 2000-04-27 00:41:41 +00:00
Ron Pinkas
13c38352c7 20000426-12:30 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* harbour/include/hbcomp.h
       + Added:
         BYTE   pStack[256];              /* Compile Time Stack */
         SHORT   iStackIndex;              /* Compile Time Stack Index */
         BYTE   pFunctionCalls[256];      /* Array of Function Calls Compile Time Stack Postion */
         SHORT  iFunctionIndex;           /* Index into Array of Function Calls Compile Time Stack Postion */

    * harbour/include/hberrors.h
       * Modified Memory Errors to indicate the requested size.
       -* Removed few Strong Type warnings, and modified few others.

    * harbour/include/hbexprb.c
      * Modified all HB_EXPR_PCODE?( hb_compGenPCode1 ,...) to HB_EXPR_GENPCODE?( ... ) to diferntiate between the
        calls top GenPCode?() and the other calls using this macro, since the GenPCode?() now uses additional parameter:
	BOOL bAffectStack
      * Modified all the GenPCode?() to pass additional required paramter.

    * harbour/include/hbexprc.c
      * Modified all HB_EXPR_PCODE?( hb_compGenPCode1 ,...) to HB_EXPR_GENPCODE?( ... ) to diferntiate between the
        calls top GenPCode?() and the other calls using this macro, since the GenPCode?() now uses additional parameter:
	BOOL bAffectStack
      * Modified all the GenPCode?() to pass additional required paramter.

    * harbour/include/hbexprop.h
      + Added macros:
        #define HB_EXPR_GENPCODE1( action, p1 ) action( (p1) )
        #define HB_EXPR_GENPCODE2( action, p1, p2, p3 ) action( (p1), (p2), (p3) )
        #define HB_EXPR_GENPCODE3( action, p1, p2, p3, p4 ) action( (p1), (p2), (p3), (p4) )
        #define HB_EXPR_GENPCODE4( action, p1, p2, p3, p4, p5 ) action( (p1), (p2), (p3), (p4), (p5) )

	And:

        #define HB_EXPR_GENPCODE1( action, p1 ) action( (p1), pMacro )
        #define HB_EXPR_GENPCODE2( action, p1, p2, p3 ) action( (p1), (p2), (p3), pMacro )
        #define HB_EXPR_GENPCODE3( action, p1, p2, p3, p4 ) action( (p1), (p2), (p3), (p4), pMacro )
        #define HB_EXPR_GENPCODE4( action, p1, p2, p3, p4, p5 ) action( (p1), (p2), (p3), (p4), (p5), pMacro )

    * harbour/include/hbmacro.h
       Added:
         extern void hb_compGenPCode1( BYTE, HB_MACRO_DECL );
         extern void hb_compGenPCode2( BYTE, BYTE, BOOL, HB_MACRO_DECL );
         extern void hb_compGenPCode3( BYTE, BYTE, BYTE, BOOL, HB_MACRO_DECL );
         extern void hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE, BOOL, HB_MACRO_DECL );
         extern void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, BOOL, HB_MACRO_DECL );

	 And:
         extern void hb_compGenPCode1( BYTE byte, HB_MACRO_DECL );
         extern void hb_compGenPCode2( BYTE byte1, BYTE byte2, BOOL bStackAffected, HB_MACRO_DECL );
         extern void hb_compGenPCode3( BYTE byte1, BYTE byte2, BYTE byte3, BOOL bStackAffected, HB_MACRO_DECL );
         extern void hb_compGenPCode4( BYTE byte1, BYTE byte2, BYTE byte3, BYTE byte4, BOOL bStackAffected, HB_MACRO_DECL );
         extern void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, BOOL, HB_MACRO_DECL );

	 *** I think this is redundant but I went by exisitng declarations !!! Ryszard Please Check !!!

    * harbour/source/compiler/harbour.c
      * Modified GenPCode2-N() to require additional paramter.
      * Modified GenPCode2-N() to call StrongType() if needed.
      * Modified all the GenPCode?() calls to pass additional required paramter.

    * harbour/source/compiler/harbour.y
      * Modified all the GenPCode?() to pass additional required paramter.

    * harbour/source/compiler/hbgenerr.c
       * Modified Memory Errors to indicate the requested size.
       -* Removed few Strong Type warnings, and modified few others.

    * harbour/source/compiler/hbpcode.c
      Added void hb_compStrongType( int iSize ) - This is the Strong Type Checker! It's not 100% completed but it's stable and the
      approch guarntee 100% accuracy once we fine tune the calculations of the Compile Time Stack to be identical to the R/T Stack.

    * harbour/source/vm/macro.c
      * Modified GenPCode2-N() to require additional paramter.
      * Modified GenPCode2-N() to call StrongType() if needed.
      * Modified all the GenPCode?() calls to pass additional required paramter.

    * harbour/tests/testwarn.prg
      + Added code to demonstrate more warnings.
2000-04-26 20:04:07 +00:00
Ryszard Glab
91e200477b ChangeLog 20000426-13:15 GMT+1 2000-04-26 11:10:44 +00:00
Ron Pinkas
a3b90dd225 20000425-07:30 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/harbour.c
     * Replaced sequential calls to hb_compGenPCode3() + hb_compGenPCode3() with 1 call to new hb_compGenPCode4()

   * source/compiler/hbpcode.c
     + Added hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE )

   * include/hbcomp.h
     + Added hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE )

   * source/vm/macro.c
     + Added hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE, HB_MACRO_DECL )
2000-04-25 14:38:23 +00:00
Ryszard Glab
ca228db0f7 ChangeLog 20000425-15:05 GMT+1 2000-04-25 13:02:02 +00:00
Viktor Szakats
94ffc45414 20000425-03:38 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-25 01:38:22 +00:00
Ryszard Glab
2fb49392b4 ChangeLog 20000424-19:15 GMT+1 2000-04-24 17:09:30 +00:00
Viktor Szakats
2d7f222ed0 20000422-21:36 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-22 19:33:37 +00:00
Ron Pinkas
220b114c3e 20000421-14:20 GMT-8 Ron Pinkas <Ron@Profit-Master.com>
* source/compiler/hvm.c
     + Added support for new PCodes HB_P_PUSHBYTE, and HB_P_PUSHONE
     + Added void hb_vmPushOne( void ), void hb_vmPushZero( void ) and void hb_vmPushByte( BYTE )
     * Optimized HB_P_ZERO by using hb_vmPushZero()

   * source/compiler/harbour.c
     - REMMED not used hb_compGenPushInteger()
     * Optimized hb_compGenPushLong() to USE HB_P_ZERO, HB_P_ONE, HB_P_PUSHBBYTE, HB_P_PUSHBINT, or , HB_P_PUSHLONG as needed.
     * Optimized few pairs of hb_compGenPCode1() to use hb_compGenPCode2() instead.

   * source/compiler/genc.c
     + Added support for PCodes HB_P_PUSHBYTE, and HB_P_PUSHONE

   * source/compiler/hbpcode.c
     + Added hb_compGenPCode2( BYTE, BYTE )

   * source/compiler/harbour.y
     * Optimized few pairs of hb_compGenPCode1() to use hb_compGenPCode2() instead.

   * source/include/hbpcode.h
     + Added PCodes HB_P_PUSHBYTE, and HB_P_PUSHONE

   * source/include/hbvm.h
     + Added:
        extern void    hb_vmPushOne( void ); /* pushes a 0 onto the stack */
        extern void    hb_vmPushZero( void ); /* pushes a 1 onto the stack */
        extern void    hb_vmPushByte( BYTE bNumber ); /* pushes a integer number onto the stack */

   * include/hbcomp.h
     - Removed #ifef of GenObj32
2000-04-21 21:51:21 +00:00
Viktor Szakats
3e3819e705 20000302-11:21 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-03-02 11:58:22 +00:00
Viktor Szakats
ef400b31cb 19991209-01:05 GMT+1 Victor Szel <info@szelvesz.hu> 1999-12-09 01:20:07 +00:00
Viktor Szakats
1a5c7bff79 19991208-18:06 GMT+1 1999-12-08 18:31:36 +00:00