* include/hbcomp.h
* include/hberrors.h
* include/hbexpra.c
* include/hbexprb.c
* include/hbexprc.c
* include/hbmacro.h
* include/hbpcode.h
* include/hbpp.h
* include/hbxvm.h
* source/common/expropt1.c
* source/compiler/cmdcheck.c
* source/compiler/expropta.c
* source/compiler/exproptb.c
* source/compiler/exproptc.c
* source/compiler/genc.c
* source/compiler/gencc.c
* source/compiler/gencli.c
* source/compiler/genhrb.c
* source/compiler/genjava.c
* source/compiler/genobj32.c
* source/compiler/harbour.c
* source/compiler/harbour.l
* source/compiler/harbour.y
* source/compiler/hbdead.c
* source/compiler/hbfix.c
* source/compiler/hbfunchk.c
* source/compiler/hbgenerr.c
* source/compiler/hblbl.c
* source/compiler/hbpcode.c
* source/compiler/hbstripl.c
* source/macro/macroa.c
* source/macro/macrob.c
* source/macro/macroc.c
* source/vm/hvm.c
* source/vm/macro.c
* fixed compilation of code that uses '@' pass by
reference. The following syntax is no longer supported:
var := IIF( .T., @var, var )
however you can still use the following:
funcall( IIF( bPassbyRef, @someVar, someVar ) )
+added support for the following statement:
WITH OBJECT <objexpression>
...
END
inside this statement you can use simplified form of sending
messages to the object specified by <objexpression>
:message( ) instead objexpression:message()
:property instead objexpression:property
The runtime error will be generated at the time of message
sending (or property access/assign) if <objexpression>
is not a value of type object.
You can use the reserved property:
:__withobject
to access/assign the controlling object.
*fixed support for command line response file (@file.clp)
to be compatible with Clipper (Clipper genertes a single
obj file)
*fixed memory leaks when there is a fatal error in autoopened
module (using DO ... statement)
*implicit startup functions are removed from the list of
functions before generation of output code
* source/pp/ppcomp.c
* source/pp/pplib.c
* source/pp/ppcore.c
* redefinition of #define no longer causes a memory leak
* fixed repeatable optional clauses
#xcommand SET <var1> [, <varN>] WITH <val> =>
<var1>:=<val>[; <varN>:=<val>]
* fixed compilation of optional clauses (when used in different
order then declared) -this fixes the following long
waiting bug:
#command MYCOMMAND [<mylist,...>] [MYCLAUSE <myval>] => ;
MyFunction( {<mylist>} [, <myval>] )
MYCOMMAND MYCLAUSE 321 "HELLO"
* fixed restricted macro match marker <x:&>
* tests/Makefile
- tests/pretest.prg
+ utils/hbpptest
+ utils/hbpptest/Makefile
+ utils/hbpptest/pretest.prg
* moved file 'pretest.prg' from tests to separate directory
to make easier validation of the preprocessor
* TODO
* added note to fix hb_objGetMethod() so it will not generate
error if there is no method
* doc/en/clipper.txt
* added documentation for WITH OBJECT usage
214 lines
2.8 KiB
Makefile
214 lines
2.8 KiB
Makefile
#
|
|
# $Id$
|
|
#
|
|
|
|
ifeq ($(HB_MAIN),)
|
|
HB_MAIN = std
|
|
endif
|
|
|
|
ROOT = ../
|
|
|
|
LIBS=\
|
|
debug \
|
|
vm \
|
|
rtl \
|
|
lang \
|
|
rdd \
|
|
rtl \
|
|
vm \
|
|
macro \
|
|
pp \
|
|
common \
|
|
|
|
ifeq ($(PM),)
|
|
PM := $(pm)
|
|
endif
|
|
|
|
ifeq ($(PM),) # PM not defined = build all files
|
|
|
|
PRG_SOURCES=\
|
|
ac_test.prg \
|
|
adirtest.prg \
|
|
ainstest.prg \
|
|
and_or.prg \
|
|
array16.prg \
|
|
arrayidx.prg \
|
|
arrays.prg \
|
|
arreval.prg \
|
|
arrindex.prg \
|
|
atest.prg \
|
|
begin.prg \
|
|
box.prg \
|
|
boxtest.prg \
|
|
byref.prg \
|
|
calling.prg \
|
|
cdow.prg \
|
|
clasname.prg \
|
|
classch.prg \
|
|
classes.prg \
|
|
clsdata.prg \
|
|
cmphello.prg \
|
|
codebl.prg \
|
|
codebloc.prg \
|
|
comments.prg \
|
|
curdirt.prg \
|
|
cursrtst.prg \
|
|
dates.prg \
|
|
dates2.prg \
|
|
dates3.prg \
|
|
db_brows.prg \
|
|
dbevalts.prg \
|
|
delimtst.prg \
|
|
devtest.prg \
|
|
dirtest.prg \
|
|
disptest.prg \
|
|
docase.prg \
|
|
dosshell.prg \
|
|
dynsym.prg \
|
|
exittest.prg \
|
|
fib.prg \
|
|
fornext.prg \
|
|
fortest.prg \
|
|
fsplit.prg \
|
|
hello.prg \
|
|
ifelse.prg \
|
|
ifinline.prg \
|
|
initexit.prg \
|
|
inkeytst.prg \
|
|
inline.prg \
|
|
iotest.prg \
|
|
iotest2.prg \
|
|
langapi.prg \
|
|
lnlenli2.prg \
|
|
longdev.prg \
|
|
longstr.prg \
|
|
longstr2.prg \
|
|
memfile.prg \
|
|
memory.prg \
|
|
memvar.prg \
|
|
menutest.prg \
|
|
mousetst.prg \
|
|
multiarg.prg \
|
|
nums.prg \
|
|
objects.prg \
|
|
onidle.prg \
|
|
os.prg \
|
|
output.prg \
|
|
overload.prg \
|
|
parexpr.prg \
|
|
passref.prg \
|
|
procline.prg \
|
|
procname.prg \
|
|
readhrb.prg \
|
|
recursiv.prg \
|
|
returns.prg \
|
|
round.prg \
|
|
say.prg \
|
|
scroll.prg \
|
|
sdf_test.prg \
|
|
seconds.prg \
|
|
setkeys.prg \
|
|
set_num.prg \
|
|
set_test.prg \
|
|
sound.prg \
|
|
statinit.prg \
|
|
statfun.prg \
|
|
statics.prg \
|
|
strdelim.prg \
|
|
symbolt.prg \
|
|
t1.prg \
|
|
test_all.prg \
|
|
testbrdb.prg \
|
|
testbrw.prg \
|
|
testcdx.prg \
|
|
testcgi.prg \
|
|
testdbf.prg \
|
|
testdecl.prg \
|
|
testerro.prg \
|
|
testfor.prg \
|
|
testhtml.prg \
|
|
testid.prg \
|
|
testinc.prg \
|
|
testmem.prg \
|
|
testntx.prg \
|
|
testpre.prg \
|
|
testprof.prg \
|
|
testrdd.prg \
|
|
testread.prg \
|
|
teststr.prg \
|
|
testvars.prg \
|
|
testwarn.prg \
|
|
tstalias.prg \
|
|
tstasort.prg \
|
|
tstcolor.prg \
|
|
tstdbi.prg \
|
|
tstdspac.prg \
|
|
version.prg \
|
|
vmasort.prg \
|
|
while.prg \
|
|
newrdd.prg \
|
|
|
|
PRG_HEADERS=\
|
|
db_brows.ch \
|
|
cgi.ch \
|
|
keywords.ch \
|
|
test.ch \
|
|
|
|
BAD_PRG_SOURCES=\
|
|
alias.prg \
|
|
clasinit.prg \
|
|
dates4.prg \
|
|
debugtst.prg \
|
|
dupvars.prg \
|
|
dynobj.prg \
|
|
extend1.prg \
|
|
funcarr.prg \
|
|
inherit.prg \
|
|
inifiles.prg \
|
|
keywords.prg \
|
|
linecont.prg \
|
|
lnlenli1.prg \
|
|
mathtest.prg \
|
|
objarr.prg \
|
|
objasign.prg \
|
|
rtfclass.prg \
|
|
spawn.prg \
|
|
spawn2.prg \
|
|
statics1.prg \
|
|
statics2.prg \
|
|
stripem.prg \
|
|
test.prg \
|
|
test10.prg \
|
|
testgt.prg \
|
|
testhbf.prg \
|
|
testpp.prg \
|
|
testtok.prg \
|
|
tstprag.prg \
|
|
twirl.prg \
|
|
vec1.prg \
|
|
|
|
C_SOURCES=\
|
|
|
|
C_HEADERS=\
|
|
|
|
BAD_C_SOURCES=\
|
|
extend2.c \
|
|
|
|
include $(TOP)$(ROOT)config/test.cf
|
|
|
|
else #PM defined = build specified file
|
|
|
|
ifneq ($(findstring .prg,$(PM)),)
|
|
PRG_MAIN := $(PM)
|
|
else
|
|
ifneq ($(findstring .PRG,$(PM)),)
|
|
PRG_MAIN := $(PM)
|
|
else
|
|
PRG_MAIN := $(PM).prg
|
|
endif
|
|
endif
|
|
include $(TOP)$(ROOT)config/bin.cf
|
|
|
|
endif
|
|
|