mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-30 17:42:38 +02:00
* better rtti
This commit is contained in:
parent
804397de24
commit
811044754a
@ -2,6 +2,6 @@
|
||||
# Here we set processor dependent include file names.
|
||||
#
|
||||
|
||||
CPUNAMES=i386 heap math set
|
||||
CPUNAMES=i386 heap math set rttip
|
||||
CPUINCNAMES=$(addsuffix .inc,$(CPUNAMES))
|
||||
|
||||
|
@ -20,8 +20,6 @@ Procedure Initialize (Data,TypeInfo : pointer);[Public,Alias : 'INITIALIZE'];ass
|
||||
|
||||
asm
|
||||
# Save registers
|
||||
push %ebp
|
||||
movl %esp,%ebp
|
||||
push %eax
|
||||
push %ebx
|
||||
push %ecx
|
||||
@ -93,16 +91,11 @@ asm
|
||||
pop %ecx
|
||||
pop %ebx
|
||||
pop %eax
|
||||
leave
|
||||
ret $8
|
||||
end;
|
||||
|
||||
Procedure Finalize (Data,TypeInfo: Pointer);[Public, Alias : 'FINALIZE']; assembler;
|
||||
Procedure Finalize (Data,TypeInfo: Pointer);[Public,Alias : 'FINALIZE']; assembler;
|
||||
|
||||
asm
|
||||
# Save registers
|
||||
push %ebp
|
||||
movl %esp,%ebp
|
||||
push %eax
|
||||
push %ebx
|
||||
push %ecx
|
||||
@ -176,15 +169,12 @@ asm
|
||||
pop %ecx
|
||||
pop %ebx
|
||||
pop %eax
|
||||
ret $8
|
||||
end;
|
||||
|
||||
Procedure Addref (Data,TypeInfo : Pointer); [Public, alias : 'ADDREF'];Assembler;
|
||||
Procedure Addref (Data,TypeInfo : Pointer); [Public,alias : 'ADDREF'];Assembler;
|
||||
|
||||
asm
|
||||
# Save registers
|
||||
push %ebp
|
||||
movl %esp,%ebp
|
||||
push %eax
|
||||
push %ebx
|
||||
push %ecx
|
||||
@ -258,16 +248,12 @@ asm
|
||||
pop %ecx
|
||||
pop %ebx
|
||||
pop %eax
|
||||
leave
|
||||
ret $8
|
||||
end;
|
||||
|
||||
Procedure DecRef (Data,TypeInfo : Pointer); [Public, alias : 'DECREF'];Assembler;
|
||||
Procedure DecRef (Data,TypeInfo : Pointer); [Public,alias : 'DECREF'];Assembler;
|
||||
|
||||
asm
|
||||
# Save registers
|
||||
push %ebp
|
||||
movl %esp,%ebp
|
||||
push %eax
|
||||
push %ebx
|
||||
push %ecx
|
||||
@ -341,15 +327,16 @@ asm
|
||||
pop %ecx
|
||||
pop %ebx
|
||||
pop %eax
|
||||
leave
|
||||
ret $8
|
||||
end;
|
||||
|
||||
{$ASMMODE DEFAULT}
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.4 1998-06-17 11:50:43 michael
|
||||
Revision 1.5 1998-06-25 08:41:43 florian
|
||||
* better rtti
|
||||
|
||||
Revision 1.4 1998/06/17 11:50:43 michael
|
||||
+ Small patch: forgot to make alias public
|
||||
|
||||
Revision 1.3 1998/06/10 07:46:49 michael
|
||||
@ -361,4 +348,4 @@ end;
|
||||
Revision 1.1 1998/06/08 15:32:12 michael
|
||||
+ Split rtti according to processor. Implemented optimized i386 code.
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -210,7 +210,7 @@ begin
|
||||
Size:=PAnsiRec(Pointer(S2)-FirstOff)^.Len;
|
||||
Location:=Length(S1);
|
||||
{ Setlength takes case of uniqueness
|
||||
and alllocated memory. We need to use length,
|
||||
and allocated memory. We need to use length,
|
||||
to take into account possibility of S1=Nil }
|
||||
//!! SetLength (S1,Size+Location);
|
||||
Move (Pointer(S2)^,Pointer(Pointer(S1)+location)^,Size+1);
|
||||
@ -418,7 +418,7 @@ begin
|
||||
PByte(ResultAddress+Size)^:=0;
|
||||
end;
|
||||
end;
|
||||
Copy:=ResultAddress
|
||||
Copy:=ResultAddress;
|
||||
end;
|
||||
|
||||
|
||||
@ -672,7 +672,10 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.5 1998-06-12 07:39:13 michael
|
||||
Revision 1.6 1998-06-25 08:41:44 florian
|
||||
* better rtti
|
||||
|
||||
Revision 1.5 1998/06/12 07:39:13 michael
|
||||
+ Added aliases for Incr/Decr ref.
|
||||
|
||||
Revision 1.4 1998/06/08 19:35:02 michael
|
||||
|
@ -6,7 +6,7 @@
|
||||
# implementation files.
|
||||
|
||||
SYSNAMES=systemh heaph mathh filerec textrec system real2str sstrings innr \
|
||||
file typefile version text
|
||||
file typefile version text rtti
|
||||
SYSINCNAMES=$(addsuffix .inc,$(SYSNAMES))
|
||||
|
||||
# Other unit names which can be used for all systems
|
||||
|
16
rtl/makefile
16
rtl/makefile
@ -21,7 +21,7 @@
|
||||
# What compiler do you want to use :
|
||||
ifndef PP
|
||||
PP=ppc386
|
||||
endif PP
|
||||
endif
|
||||
|
||||
# Where do you want to install the units ?
|
||||
# For each of the systems, a subdirectory OSunits of
|
||||
@ -73,7 +73,9 @@ endif
|
||||
|
||||
|
||||
# Set redir to YES if you want a log file to be kept.
|
||||
ifndef REDIR
|
||||
REDIR=YES
|
||||
endif
|
||||
|
||||
# Set NODEBUG to YES if you DON'T want debugging
|
||||
NODEBUG=YES
|
||||
@ -141,7 +143,7 @@ else
|
||||
override REDIR:= >> log
|
||||
endif
|
||||
else
|
||||
REDIR:=
|
||||
override REDIR:= >> con
|
||||
endif
|
||||
|
||||
# Check error definitions file.
|
||||
@ -155,7 +157,7 @@ DOS=NO
|
||||
else
|
||||
DOS=YES
|
||||
# also redirect the standard error to the redir file
|
||||
ifdef REDIR
|
||||
ifeq (YES,$(REDIR))
|
||||
PP:=redir -eo $(PP)
|
||||
# set the verbosity to max
|
||||
OPT:=$(OPT) -va
|
||||
@ -200,7 +202,7 @@ native: rtl$(OS_SRC)
|
||||
|
||||
nativelibs : $(OS_SRC)libs
|
||||
|
||||
all: rtlgo32v1 rtlgo32v2 rtllinux rtlos2
|
||||
all: rtlgo32v1 rtlgo32v2 rtllinux rtlos2 rtlwin32
|
||||
|
||||
libs: go32v1libs go32v2libs linuxlibs os2libs
|
||||
|
||||
@ -269,9 +271,9 @@ native_libinstall: libinstall_$(OS_SRC)
|
||||
|
||||
makefile.dif : makefile
|
||||
-$(DIFF) $(DIFFOPTS) makefile $(REFPATH)/makefile > makefile.dif
|
||||
|
||||
|
||||
diffs_rtl: makefile.dif
|
||||
|
||||
diffs_rtl: makefile.dif
|
||||
|
||||
diffs_dos:
|
||||
$(MAKE) -C dos diffs
|
||||
@ -293,6 +295,8 @@ diffs_linux:
|
||||
$(MAKE) -C linux diffs
|
||||
diffs_os2:
|
||||
$(MAKE) -C os2 diffs
|
||||
diffs_win32:
|
||||
$(MAKE) -C win32 diffs
|
||||
|
||||
install_go32v1:
|
||||
$(MAKE) -C dos/go32v1 install
|
||||
|
@ -176,9 +176,9 @@ unit defines;
|
||||
CNLEN = 15;
|
||||
DNLEN = 15;
|
||||
FILE_BEGIN = 0;
|
||||
FILE_CURRENT = 1;
|
||||
{ _lopen, LZOpenFile, OpenFile }
|
||||
FILE_CURRENT = 1;
|
||||
FILE_END = 2;
|
||||
{ _lopen, LZOpenFile, OpenFile }
|
||||
OF_READ = 0;
|
||||
OF_READWRITE = 2;
|
||||
OF_WRITE = 1;
|
||||
@ -4416,7 +4416,10 @@ end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.3 1998-06-10 10:39:12 peter
|
||||
Revision 1.4 1998-06-25 08:41:47 florian
|
||||
* better rtti
|
||||
|
||||
Revision 1.3 1998/06/10 10:39:12 peter
|
||||
* working w32 rtl
|
||||
|
||||
}
|
||||
|
@ -4545,14 +4545,14 @@ unit struct;
|
||||
|
||||
implementation
|
||||
|
||||
const __ExtrnlLibrary='system.dll'; {Setup as you need!}
|
||||
|
||||
|
||||
end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.2 1998-05-06 12:36:50 michael
|
||||
Revision 1.3 1998-06-25 08:41:48 florian
|
||||
* better rtti
|
||||
|
||||
Revision 1.2 1998/05/06 12:36:50 michael
|
||||
+ Removed log from before restored version.
|
||||
|
||||
Revision 1.1.1.1 1998/03/25 11:18:47 root
|
||||
|
Loading…
Reference in New Issue
Block a user