2006-11-29 16:11 UTC+0200 Chen Kedem <niki@actcom.co.il>

This commit is contained in:
Chen Kedem
2006-11-29 14:10:53 +00:00
parent 34f1e47f04
commit 6c2a6995cb
4 changed files with 34 additions and 91 deletions

View File

@@ -8,6 +8,14 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2006-11-29 16:11 UTC+0200 Chen Kedem <niki@actcom.co.il>
* makefile.bc
* make_b32.bat
! Fixed the COPY command to work on Windows-NT (/Y flag isn't supported)
* TODO
- Remove TOFIX item with were fixed
2006-11-29 10:30 UTC+0100 J. Lefebvre (jfl/at/mafact.com)
* harbour/makefile.vc
* Sync. with makefile.bc for msvc compiler.

View File

@@ -190,41 +190,6 @@ Status...: Open.
***
Assign to: <nobody>
Detail...: An error in the evaluated macro cause memory leak.
--tt2.prg--
func test
local x := "user input" // this is junk
local y
errorblock({|e|break(e)})
begin sequence
y := &x
end
return nil
-----------
bld_b32 tt2 /w/a/n
tt2
the program runs, and on exit it gives following CodeGuard
warning:
,-
| Resource leak: The memory block was never freed
| The memory block [size: 10 bytes] was allocated with malloc
| NOTE: Ask me if you need the exact call tree. [Chen]
`-
This is simpler example of the same problem:
--tt2b.prg--
proc test
? type("user input")
return
Status...: Open.
***
Assign to: <nobody>
Detail...: The Borland CodeGuard warn about Access overrun in some
of the console IO functions, it appears to be a fault in
@@ -244,45 +209,4 @@ Status...: Open.
***
Assign to: <nobody>
Detail...: Access in freed memory compiling a macro array item.
--tt23.prg--
proc Main()
LOCAL GetList := {}
PRIVATE cMacro := "cEarly", cEarly := {"Early"}
@ 12,10 GET &cMacro[1]
READ
RETURN
------------
When compiling, Harbour gives the following CodeGuard warning:
,-
| Access in freed memory: Attempt to access 2 byte(s) at NNNNNNNN+32
| The memory block [size: 40 bytes] was allocated with malloc
| NOTE: Ask me if you need the exact call tree. [Chen]
`-
Status...: Open.
***
Assign to: <nobody>
Detail...: Resource leak while compiling the following:
--tt25.prg--
FUNCTION ()x
------------
When compiling, Harbour gives the following CodeGuard warning:
,-
| Resource leak: The memory block was never freed
| The memory block [size: 40 bytes] was allocated with malloc
| NOTE: Ask me if you need the exact call tree. [Chen]
`-
Status...: Open.
***
=======================================================================

View File

@@ -15,12 +15,18 @@ rem set HB_BUILD_MODE=P
rem set HB_BUILD_DLL=yes
rem set HB_BUILD_DEBUG=yes
rem set HB_BUILD_VERBOSE=yes
rem set HB_REBUILD_PARSER=yes
rem set HB_MAKE_PROGRAM=
rem set HB_MAKE_FLAGS=
rem ---------------------------------------------------------------
if "%HB_MAKE_PROGRAM%" == "" set HB_MAKE_PROGRAM=make.exe
rem Save the user value, force silent file overwrite with COPY
rem (not all Windows versions support the COPY /Y flag)
set HB_ORGENV_COPYCMD=%COPYCMD%
set COPYCMD=/Y
rem ---------------------------------------------------------------
if "%1" == "clean" goto CLEAN
@@ -71,3 +77,6 @@ rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
:EXIT
rem Restore user value
set COPYCMD=%HB_ORGENV_COPYCMD%
set HB_ORGENV_COPYCMD=

View File

@@ -36,6 +36,8 @@
# dll in addition to normal static build
# HB_BUILD_DEBUG - If set to yes causes to compile with debug info
# HB_BUILD_VERBOSE - enables echoing commands being executed
# HB_REBUILD_PARSER - If set to yes force preprocessing new rules by
# bison (you must use bison 2.3 or later)
# BCCDLL_WITH_DYNRT - If set to -tWR causes that harbour-bc.dll
# will use dynamic runtime library (recommended)
# HB_INSTALL_PREFIX - Path to instalation directory into which
@@ -266,14 +268,14 @@ Install : doInstall
INSTALL : doInstall
doInstall: $(HB_BIN_INSTALL) $(HB_LIB_INSTALL) $(HB_INC_INSTALL)
-if exist $(HB_BIN_INSTALL)\nul if exist $(BIN_DIR)\*.exe copy /B /Y $(BIN_DIR)\*.exe $(HB_BIN_INSTALL) > inst_$(CC_DIRNAME).log
-if exist $(HB_BIN_INSTALL)\nul if exist $(BIN_DIR)\*.dll copy /B /Y $(BIN_DIR)\*.dll $(HB_BIN_INSTALL) >> inst_$(CC_DIRNAME).log
-if exist $(HB_LIB_INSTALL)\nul if exist $(BIN_DIR)\*.lib copy /B /Y $(BIN_DIR)\*.lib $(HB_LIB_INSTALL) >> inst_$(CC_DIRNAME).log
-if exist $(HB_LIB_INSTALL)\nul if exist $(LIB_DIR)\*.lib copy /B /Y $(LIB_DIR)\*.lib $(HB_LIB_INSTALL) >> inst_$(CC_DIRNAME).log
-if exist $(HB_BIN_INSTALL)\nul if exist $(BIN_DIR)\*.exe copy /B $(BIN_DIR)\*.exe $(HB_BIN_INSTALL) > inst_$(CC_DIRNAME).log
-if exist $(HB_BIN_INSTALL)\nul if exist $(BIN_DIR)\*.dll copy /B $(BIN_DIR)\*.dll $(HB_BIN_INSTALL) >> inst_$(CC_DIRNAME).log
-if exist $(HB_LIB_INSTALL)\nul if exist $(BIN_DIR)\*.lib copy /B $(BIN_DIR)\*.lib $(HB_LIB_INSTALL) >> inst_$(CC_DIRNAME).log
-if exist $(HB_LIB_INSTALL)\nul if exist $(LIB_DIR)\*.lib copy /B $(LIB_DIR)\*.lib $(HB_LIB_INSTALL) >> inst_$(CC_DIRNAME).log
!if "$(HB_INSTALL_PREFIX)" != "."
-if exist $(HB_INC_INSTALL)\nul copy /A /Y include\*.api $(HB_INC_INSTALL) >> inst_$(CC_DIRNAME).log
-if exist $(HB_INC_INSTALL)\nul copy /A /Y include\*.ch $(HB_INC_INSTALL) >> inst_$(CC_DIRNAME).log
-if exist $(HB_INC_INSTALL)\nul copy /A /Y include\*.h $(HB_INC_INSTALL) >> inst_$(CC_DIRNAME).log
-if exist $(HB_INC_INSTALL)\nul copy /A include\*.api $(HB_INC_INSTALL) >> inst_$(CC_DIRNAME).log
-if exist $(HB_INC_INSTALL)\nul copy /A include\*.ch $(HB_INC_INSTALL) >> inst_$(CC_DIRNAME).log
-if exist $(HB_INC_INSTALL)\nul copy /A include\*.h $(HB_INC_INSTALL) >> inst_$(CC_DIRNAME).log
!endif
#**********************************************************
@@ -639,12 +641,12 @@ $(OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.y
!else
$(OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.yyc
copy /A /Y $** $@ >> inst_$(CC_DIRNAME).log
copy /A /Y $(**:.yyc=.yyh) $(@:.c=.h) >> inst_$(CC_DIRNAME).log
copy /A $** $@
copy /A $(**:.yyc=.yyh) $(@:.c=.h)
$(OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.yyc
copy /A /Y $** $@ >> inst_$(CC_DIRNAME).log
copy /A /Y $(**:.yyc=.yyh) $(@:.c=.h) >> inst_$(CC_DIRNAME).log
copy /A $** $@
copy /A $(**:.yyc=.yyh) $(@:.c=.h)
!endif
@@ -683,12 +685,12 @@ $(DLL_OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.y
!else
$(DLL_OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.yyc
copy /A /Y $** $@ >> inst_$(CC_DIRNAME).log
copy /A /Y $(**:.yyc=.yyh) $(@:.c=.h) >> inst_$(CC_DIRNAME).log
copy /A $** $@
copy /A $(**:.yyc=.yyh) $(@:.c=.h)
$(DLL_OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.yyc
copy /A /Y $** $@ >> inst_$(CC_DIRNAME).log
copy /A /Y $(**:.yyc=.yyh) $(@:.c=.h) >> inst_$(CC_DIRNAME).log
copy /A $** $@
copy /A $(**:.yyc=.yyh) $(@:.c=.h)
!endif