* fixes to run correctly

This commit is contained in:
peter 2000-03-19 18:45:31 +00:00
parent a61493db4c
commit 966a4a1789
11 changed files with 149 additions and 121 deletions

View File

@ -1,5 +1,5 @@
#
# Makefile generated by fpcmake v0.99.13 [2000/02/08]
# Makefile generated by fpcmake v0.99.13 [2000/02/24]
#
defaultrule: info
@ -316,8 +316,22 @@ endif
# Users rules
#####################################################################
# For linux by default no graph tests
ifdef inlinux
NOGRAPH=1
endif
DIRS=tf ts tbs tbf test tesi to webtbs webtbf
# defining NOGRAPH excludes tests using the graph unit, defining
# GRAPH includes those tests.
ifdef NOGRAPH
include graph.lst
endif
ifdef GRAPH
graphlst=
endif
all : info
tests : clean all_compilations
@ -417,6 +431,7 @@ else
testexec:
ifeq ($(wildcard $(FILE)$(PPUEXT)),$(FILE)$(PPUEXT))
@echo "file is a unit $(FILE)$(PPUEXT)"
@echo "unit" > $(FILE).elg
else
@echo "No exefile $(FILE)$(EXEEXT)"
@echo $(FILE) >> faillist
@ -488,30 +503,30 @@ testone :
%.eli : %.res
$(MAKE) testexec 'FILE=$*' 'NOREDIR=YES'
allts : $(patsubst %.pp,%.res,$(wildcard ts/ts*.pp))
allts : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard ts/ts*.pp)))
alltbs : $(patsubst %.pp,%.res,$(wildcard tbs/tbs*.pp))
alltbs : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs*.pp)))
allwebtbs : $(patsubst %.pp,%.res,$(wildcard webtbs/tbug*.pp))
allwebtbs : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard webtbs/tbug*.pp)))
tbs0to99 : $(patsubst %.pp,%.res,$(wildcard tbs/tbs00*.pp))
tbs100to199 : $(patsubst %.pp,%.res,$(wildcard tbs/tbs01*.pp))
tbs200to299 : $(patsubst %.pp,%.res,$(wildcard tbs/tbs02*.pp))
tbs300to399 : $(patsubst %.pp,%.res,$(wildcard tbs/tbs03*.pp))
tbs0to99 : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs00*.pp)))
tbs100to199 : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs01*.pp)))
tbs200to299 : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs02*.pp)))
tbs300to399 : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs03*.pp)))
alltest : $(patsubst %.pp,%.res,$(wildcard test/test*.pp))
alltest : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard test/test*.pp)))
alltesi : $(patsubst %.pp,%.res,$(wildcard tesi/tesi*.pp))
alltesi : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tesi/tesi*.pp)))
alltis : $(patsubst %.pp,%.res,$(wildcard tis/tis*.pp))
alltis : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tis/tis*.pp)))
alltf : $(patsubst %.pp,%.ref,$(wildcard tf/tf*.pp))
alltf : $(patsubst %.pp,%.ref,$(filter-out $(graphlst),$(wildcard tf/tf*.pp)))
alltbf : $(patsubst %.pp,%.ref,$(wildcard tbf/tbf*.pp))
alltbf : $(patsubst %.pp,%.ref,$(filter-out $(graphlst),$(wildcard tbf/tbf*.pp)))
allwebtbf : $(patsubst %.pp,%.ref,$(wildcard webtbf/tbug*.pp))
allwebtbf : $(patsubst %.pp,%.ref,$(filter-out $(graphlst),$(wildcard webtbf/tbug*.pp)))
allto : $(patsubst %.pp,%.res,$(wildcard to/to*.pp))
allto : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard to/to*.pp)))
ifndef TS_FAIL_LIST
ifeq ($(wildcard ts_fail*),ts_fail)
@ -553,7 +568,7 @@ internal_again : clean_fail $(addsuffix .res,$(TS_FAIL_LIST)) \
all_compilations : allts alltbs allwebtbs alltf alltbf allwebtbf allto alltest alltesi alltis
grep fails $(LOG)
allexec : alltsexec alltbsexec allwebtbsexec alltestexec
allexec : alltsexec alltbsexec allwebtbsexec alltestexec
grep fails $(LOG)
alltestexec: $(patsubst %.pp,%.elg,$(wildcard test/test*.pp))
@ -564,20 +579,20 @@ allfails :
# these test are interactive
# no redirection !!!
alltesiexec: $(patsubst %.pp,%.eli,$(wildcard tesi/tesi*.pp))
alltesiexec: $(patsubst %.pp,%.eli,$(filter-out $(graphlst),$(wildcard tesi/tesi*.pp)))
alltsexec: $(patsubst %.pp,%.elg,$(wildcard ts/ts*.pp))
alltsexec: $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard ts/ts*.pp)))
alltbsexec: $(patsubst %.pp,%.elg,$(wildcard tbs/tbs*.pp))
alltbsexec: $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs*.pp)))
allwebtbsexec: $(patsubst %.pp,%.elg,$(wildcard webtbs/tbug*.pp))
allwebtbsexec: $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard webtbs/tbug*.pp)))
tbsexec0to99 : $(patsubst %.pp,%.elg,$(wildcard tbs/tbs00*.pp))
tbsexec100to199 : $(patsubst %.pp,%.elg,$(wildcard tbs/tbs01*.pp))
tbsexec200to299 : $(patsubst %.pp,%.elg,$(wildcard tbs/tbs02*.pp))
tbsexec300to399 : $(patsubst %.pp,%.elg,$(wildcard tbs/tbs03*.pp))
tbsexec0to99 : $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs00*.pp)))
tbsexec100to199 : $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs01*.pp)))
tbsexec200to299 : $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs02*.pp)))
tbsexec300to399 : $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs03*.pp)))
alltisexec: $(patsubst %.pp,%.eli,$(wildcard tis/tis*.pp))
alltisexec: $(patsubst %.pp,%.eli,$(filter-out $(graphlst),$(wildcard tis/tis*.pp)))
clean:
-rm -f $(addsuffix /*.re*,$(DIRS))
@ -591,7 +606,8 @@ ifdef inlinux
else
-rm -f $(addsuffix /*$(EXEEXT),$(DIRS))
endif
-rm -f $(LOG) $(LONGLOG) faillist ts_fail tf_fail
-rm -f *.tmp
-rm -f $(LOG) $(LONGLOG) faillist ts_fail tf_fail ex_fail
-rm -f fpcmaked ppas.sh ppas.bat retcode
info :

View File

@ -10,8 +10,22 @@ none=1
exts=1
[rules]
# For linux by default no graph tests
ifdef inlinux
NOGRAPH=1
endif
DIRS=tf ts tbs tbf test tesi to webtbs webtbf
# defining NOGRAPH excludes tests using the graph unit, defining
# GRAPH includes those tests.
ifdef NOGRAPH
include graph.lst
endif
ifdef GRAPH
graphlst=
endif
all : info
tests : clean all_compilations
@ -19,15 +33,15 @@ tests : clean all_compilations
cont_tests : all_compilations
getret$(EXEEXT) : getret.pp
$(FPC) getret
$(FPC) getret
getreturncode : getret$(EXEEXT)
ifndef inlinux
redir -ea $(FILE).log -oa $(FILE).log getret $(COMMAND)
cp retcode $(FILE).$(RESEXT)
redir -ea $(FILE).log -oa $(FILE).log getret $(COMMAND)
cp retcode $(FILE).$(RESEXT)
else
getret $(COMMAND) > $(FILE).log 2>$(FILE).log
cp retcode $(FILE).$(RESEXT)
getret $(COMMAND) > $(FILE).log 2>$(FILE).log
cp retcode $(FILE).$(RESEXT)
# @echo "Return code of $(FILE) is $(cat retcode)"
endif
@ -49,11 +63,11 @@ endif
ifeq ($(RETVAL),0)
testsuccess:
@echo "Test for $(FILE) success (compiles)"
@echo "Test for $(FILE) success (compiles)"
@echo "Test for $(FILE) success (compiles)" >>$(LOG)
else
testsuccess:
@echo "Test for $(FILE) fails (does not compile) error $(RETVAL)"
@echo "Test for $(FILE) fails (does not compile) error $(RETVAL)"
@echo "Test for $(FILE) fails (does not compile) error $(RETVAL)" >>$(LOG)
ifdef LONGLOG
@echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" >> $(LONGLOG)
@ -62,8 +76,8 @@ ifdef LONGLOG
cat $(FILE).log >> $(LONGLOG)
@echo "" >> $(LONGLOG)
endif
@echo $(FILE) >> ts_fail
@echo $(FILE) >> faillist
@echo $(FILE) >> ts_fail
@echo $(FILE) >> faillist
endif
ifdef EXCFILE
@ -78,11 +92,11 @@ endif
ifeq ($(EXERETVAL),0)
testexecsuccess:
@echo "Test for exec $(FILE) success (runs without error)"
@echo "Test for exec $(FILE) success (runs without error)"
@echo "Test for $(FILE) success (runs without error)" >> $(LOG)
else
testexecsuccess:
@echo "Test for exec $(FILE) fails exec error $(EXERETVAL)"
@echo "Test for exec $(FILE) fails exec error $(EXERETVAL)"
@echo "Test for exec $(FILE) fails exec error $(EXERETVAL)" >> $(LOG)
ifdef LONGLOG
@echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" >> $(LONGLOG)
@ -95,25 +109,26 @@ endif
ifeq ($(wildcard $(FILE)$(EXEEXT)),$(FILE)$(EXEEXT))
testexec:
@echo "Testing $(FILE)$(EXEEXT)"
@echo "Testing $(FILE)$(EXEEXT)"
ifdef NOREDIR
getret $(FILE)$(EXEEXT)
getret $(FILE)$(EXEEXT)
else
ifndef inlinux
redir -e $(FILE).elg -o $(FILE).elg getret $(FILE)$(EXEEXT)
redir -e $(FILE).elg -o $(FILE).elg getret $(FILE)$(EXEEXT)
else
getret $(FILE)$(EXEEXT) > $(FILE).elg 2>$(FILE).elg
getret $(FILE)$(EXEEXT) > $(FILE).elg 2>$(FILE).elg
endif
endif
cp -f retcode $(FILE).exc
$(MAKE) testexecsuccess 'FILE=$(FILE)' 'EXCFILE=$(FILE).exc'
cp -f retcode $(FILE).exc
$(MAKE) testexecsuccess 'FILE=$(FILE)' 'EXCFILE=$(FILE).exc'
else
testexec:
ifeq ($(wildcard $(FILE)$(PPUEXT)),$(FILE)$(PPUEXT))
@echo "file is a unit $(FILE)$(PPUEXT)"
@echo "file is a unit $(FILE)$(PPUEXT)"
@echo "unit" > $(FILE).elg
else
@echo "No exefile $(FILE)$(EXEEXT)"
@echo $(FILE) >> faillist
@echo "No exefile $(FILE)$(EXEEXT)"
@echo $(FILE) >> faillist
ifdef LONGLOG
@echo "No exefile $(FILE)$(EXEEXT) was generated" >> $(LONGLOG)
endif
@ -121,23 +136,23 @@ endif
endif
test_exc :
@echo $(wildcard $(FILE).exc*)
@echo xx$(wildcard $(EXCFILE)*)xx xx$(EXCFILE)xx
cat $(FILE).exc
@echo $(wildcard $(FILE).exc*)
@echo xx$(wildcard $(EXCFILE)*)xx xx$(EXCFILE)xx
cat $(FILE).exc
ifneq ($(RETVAL),0)
testfail:
@echo "Test for $(FILE) success (does not compile) error $(RETVAL)"
@echo "Test for $(FILE) success (does not compile) error $(RETVAL)"
@echo "Test for $(FILE) success (does not compile) error $(RETVAL)" >> $(LOG)
else
testfail:
@echo "Test for $(FILE) fails (does compile and should not)"
@echo "Test for $(FILE) fails (does compile and should not)"
@echo "Test for $(FILE) fails (does compile and should not)" >> $(LOG)
ifdef LONGLOG
@echo "Test for $(FILE) fails (does compile and should not)" >> $(LONGLOG)
endif
@echo $(FILE) >> tf_fail
@echo $(FILE) >> faillist
@echo $(FILE) >> tf_fail
@echo $(FILE) >> faillist
endif
ifndef LONGLOG
@ -161,51 +176,51 @@ FILE=ts/ts00001.pp
endif
testone :
$(MAKE) getreturncode 'COMMAND=$(FPC) $(OPT) $(FILE).pp' 'RESEXT=$(RESEXT)' 'FILE=$(FILE)'
$(MAKE) getreturncode 'COMMAND=$(FPC) $(OPT) $(FILE).pp' 'RESEXT=$(RESEXT)' 'FILE=$(FILE)'
%.res : %.pp
$(MAKE) testone 'FILE=$*' 'RESEXT=res'
$(MAKE) testsuccess 'FILE=$*' 'RESFILE=$*.res'
$(MAKE) testone 'FILE=$*' 'RESEXT=res'
$(MAKE) testsuccess 'FILE=$*' 'RESFILE=$*.res'
%.ref : %.pp
$(MAKE) testone 'FILE=$*' 'RESEXT=ref'
$(MAKE) testfail 'FILE=$*' 'RESFILE=$*.ref'
$(MAKE) testone 'FILE=$*' 'RESEXT=ref'
$(MAKE) testfail 'FILE=$*' 'RESFILE=$*.ref'
# exec log files
# creates two files
# *.elg log file
# *.exc exicode of program
%.elg : %.res
$(MAKE) testexec 'FILE=$*'
$(MAKE) testexec 'FILE=$*'
%.eli : %.res
$(MAKE) testexec 'FILE=$*' 'NOREDIR=YES'
$(MAKE) testexec 'FILE=$*' 'NOREDIR=YES'
allts : $(patsubst %.pp,%.res,$(wildcard ts/ts*.pp))
allts : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard ts/ts*.pp)))
alltbs : $(patsubst %.pp,%.res,$(wildcard tbs/tbs*.pp))
alltbs : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs*.pp)))
allwebtbs : $(patsubst %.pp,%.res,$(wildcard webtbs/tbug*.pp))
allwebtbs : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard webtbs/tbug*.pp)))
tbs0to99 : $(patsubst %.pp,%.res,$(wildcard tbs/tbs00*.pp))
tbs100to199 : $(patsubst %.pp,%.res,$(wildcard tbs/tbs01*.pp))
tbs200to299 : $(patsubst %.pp,%.res,$(wildcard tbs/tbs02*.pp))
tbs300to399 : $(patsubst %.pp,%.res,$(wildcard tbs/tbs03*.pp))
tbs0to99 : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs00*.pp)))
tbs100to199 : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs01*.pp)))
tbs200to299 : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs02*.pp)))
tbs300to399 : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs03*.pp)))
alltest : $(patsubst %.pp,%.res,$(wildcard test/test*.pp))
alltest : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard test/test*.pp)))
alltesi : $(patsubst %.pp,%.res,$(wildcard tesi/tesi*.pp))
alltesi : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tesi/tesi*.pp)))
alltis : $(patsubst %.pp,%.res,$(wildcard tis/tis*.pp))
alltis : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tis/tis*.pp)))
alltf : $(patsubst %.pp,%.ref,$(wildcard tf/tf*.pp))
alltf : $(patsubst %.pp,%.ref,$(filter-out $(graphlst),$(wildcard tf/tf*.pp)))
alltbf : $(patsubst %.pp,%.ref,$(wildcard tbf/tbf*.pp))
alltbf : $(patsubst %.pp,%.ref,$(filter-out $(graphlst),$(wildcard tbf/tbf*.pp)))
allwebtbf : $(patsubst %.pp,%.ref,$(wildcard webtbf/tbug*.pp))
allwebtbf : $(patsubst %.pp,%.ref,$(filter-out $(graphlst),$(wildcard webtbf/tbug*.pp)))
allto : $(patsubst %.pp,%.res,$(wildcard to/to*.pp))
allto : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard to/to*.pp)))
ifndef TS_FAIL_LIST
ifeq ($(wildcard ts_fail*),ts_fail)
@ -229,8 +244,8 @@ endif
endif
clean_fail :
-rm -f $(addsuffix .res,$(TS_FAIL_LIST))
-rm -f $(addsuffix .ref,$(TF_FAIL_LIST))
-rm -f $(addsuffix .res,$(TS_FAIL_LIST))
-rm -f $(addsuffix .ref,$(TF_FAIL_LIST))
-rm -f $(addsuffix .res,$(EXEC_FAIL_LIST))
-rm -f $(addsuffix .elg,$(EXEC_FAIL_LIST))
@ -247,7 +262,7 @@ internal_again : clean_fail $(addsuffix .res,$(TS_FAIL_LIST)) \
all_compilations : allts alltbs allwebtbs alltf alltbf allwebtbf allto alltest alltesi alltis
grep fails $(LOG)
allexec : alltsexec alltbsexec allwebtbsexec alltestexec
allexec : alltsexec alltbsexec allwebtbsexec alltestexec
grep fails $(LOG)
alltestexec: $(patsubst %.pp,%.elg,$(wildcard test/test*.pp))
@ -258,44 +273,45 @@ allfails :
# these test are interactive
# no redirection !!!
alltesiexec: $(patsubst %.pp,%.eli,$(wildcard tesi/tesi*.pp))
alltesiexec: $(patsubst %.pp,%.eli,$(filter-out $(graphlst),$(wildcard tesi/tesi*.pp)))
alltsexec: $(patsubst %.pp,%.elg,$(wildcard ts/ts*.pp))
alltsexec: $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard ts/ts*.pp)))
alltbsexec: $(patsubst %.pp,%.elg,$(wildcard tbs/tbs*.pp))
alltbsexec: $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs*.pp)))
allwebtbsexec: $(patsubst %.pp,%.elg,$(wildcard webtbs/tbug*.pp))
allwebtbsexec: $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard webtbs/tbug*.pp)))
tbsexec0to99 : $(patsubst %.pp,%.elg,$(wildcard tbs/tbs00*.pp))
tbsexec100to199 : $(patsubst %.pp,%.elg,$(wildcard tbs/tbs01*.pp))
tbsexec200to299 : $(patsubst %.pp,%.elg,$(wildcard tbs/tbs02*.pp))
tbsexec300to399 : $(patsubst %.pp,%.elg,$(wildcard tbs/tbs03*.pp))
tbsexec0to99 : $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs00*.pp)))
tbsexec100to199 : $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs01*.pp)))
tbsexec200to299 : $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs02*.pp)))
tbsexec300to399 : $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs03*.pp)))
alltisexec: $(patsubst %.pp,%.eli,$(wildcard tis/tis*.pp))
alltisexec: $(patsubst %.pp,%.eli,$(filter-out $(graphlst),$(wildcard tis/tis*.pp)))
clean:
-rm -f $(addsuffix /*.re*,$(DIRS))
-rm -f $(addsuffix /*$(PPUEXT),$(DIRS))
-rm -f $(addsuffix /*$(OEXT),$(DIRS))
-rm -f $(addsuffix /*.log,$(DIRS))
-rm -f $(addsuffix /*.elg,$(DIRS))
-rm -f $(addsuffix /*.exc,$(DIRS))
-rm -f $(addsuffix /*.re*,$(DIRS))
-rm -f $(addsuffix /*$(PPUEXT),$(DIRS))
-rm -f $(addsuffix /*$(OEXT),$(DIRS))
-rm -f $(addsuffix /*.log,$(DIRS))
-rm -f $(addsuffix /*.elg,$(DIRS))
-rm -f $(addsuffix /*.exc,$(DIRS))
ifdef inlinux
-rm -f $(patsubst %.pp,%$(EXEEXT),$(wildcard $(addsuffix /t*.pp,$(DIRS))))
-rm -f $(patsubst %.pp,%$(EXEEXT),$(wildcard $(addsuffix /t*.pp,$(DIRS))))
else
-rm -f $(addsuffix /*$(EXEEXT),$(DIRS))
-rm -f $(addsuffix /*$(EXEEXT),$(DIRS))
endif
-rm -f $(LOG) $(LONGLOG) faillist ts_fail tf_fail
-rm -f fpcmaked ppas.sh ppas.bat retcode
-rm -f *.tmp
-rm -f $(LOG) $(LONGLOG) faillist ts_fail tf_fail ex_fail
-rm -f fpcmaked ppas.sh ppas.bat retcode
info :
@echo This Makefile allows to test the compiler
@echo compilation of 'ts*.pp' should succeed
@echo compilation of 'tf*.pp' should fail
@echo compilation of 'test*.pp' should succeed
@echo 'to*.pp' files should also compile
@echo simply run \'make tests\' to test all compilation
@echo run \'make allexec\' to test also if the executables
@echo created behave like the should
@echo run \'make tesiexec\' to test executables
@echo that require interactive mode
@echo This Makefile allows to test the compiler
@echo compilation of 'ts*.pp' should succeed
@echo compilation of 'tf*.pp' should fail
@echo compilation of 'test*.pp' should succeed
@echo 'to*.pp' files should also compile
@echo simply run \'make tests\' to test all compilation
@echo run \'make allexec\' to test also if the executables
@echo created behave like the should
@echo run \'make tesiexec\' to test executables
@echo that require interactive mode

View File

@ -7,7 +7,7 @@ var
L:longint;
S:string;
begin
assign(F,'tbs0098.pp'); { Assign F to itself }
assign(F,'tbs/tbs0098.pp'); { Assign F to itself }
reset(F); { Open it (as a textfile) }
ReadLn(F); { Just read some lines }
ReadLn(F);

View File

@ -8,10 +8,6 @@
{ Win32 signal support is still missing ! }
{$ifdef OK}
{$R+}
{ BOUND check error... I don't think this is a code generator error }
{ but an error because the type casting is not considered at all! }
{ Must be compiled with -Cr }
{$ifdef go32v2}
uses dpmiexcp;
@ -23,23 +19,22 @@
function our_sig(l : longint) : longint;{$ifdef linux}cdecl;{$endif}
begin
{ If we land here the program works correctly !! }
Writeln('Bound check error signal recieved');
Writeln('Sigsegv signal recieved');
our_sig:=0;
Halt(0);
end;
Var
Sel: Word;
v: longint;
v: pointer;
{$endif OK}
Begin
{$ifdef OK}
Signal(SIGSEGV,signalhandler(@our_sig));
v:=$00ffffff;
Sel:=word(v);
writeln(sel);
{ should trigger Bound check error }
sel:=v;
{ generate a sigsegv by writing to null-address }
sel:=0;
v:=nil;
word(v^):=sel;
{ we should not go to here }
Writeln('Error : signal not called');
Halt(1);

Binary file not shown.

View File

@ -8,5 +8,6 @@ type
begin
a:=@a2;
a2:=@a;
a:=a2^;
end.

View File

@ -24,7 +24,7 @@ end;
begin
assign(fileof,'test.dat');
assign(fileof,'tbs0238.tmp');
rewrite(fileof);
a:='dummy string !!';
for nu:=1 to 8 do write(fileof,a);

View File

@ -24,7 +24,7 @@ const
single_pchar : pchar = 'Alone test';
const filename = 'ts010022.hlp';
const filename = 'ts010022.tmp';
var en : pchar;
f : text;

View File

@ -25,7 +25,7 @@ end;
var Foo:tFoo;
begin
assign(t,'tbug772.txt');
assign(t,'tbug772.tmp');
rewrite(t);
writeln(t,'4');
close(t);