fpc/rtl/inc
tom_at_work f252fd369e Tried to reorganize the ARM define mess in rtl/arm/arm.inc. Instead of requiring to enumerate all possible ARM variants each time a CPU feature is used, add a define of the format CPUARM_HAS_XXX and use that. Note that a better solution would be to properly implement the compiler cpuinfo infrastructure, however that is much more work.
+ CPUARM_HAS_BX is defined if the CPU supports the BX* instruction
  + CPUARM_HAS_REV is defined if the CPU supports the REV instruction. Note that you still have to check for compiler versions > 2.6.0 since the assembler reader of 2.6.0 does not understand that instruction.
  + CPUARM_HAS_IDIV is defined if the CPU supports the sdiv, udiv instructions. Use of this fixes a bug where previously these instruction were only used for armv7-m, while cortex3m cpus also support it.
  + CPUARM_HAS_LDREX is defined if the CPU supports the ldrex/strex instructions. Use of this fixes a bug with armv7(-a) cpus where this path has not been used.
  + SYSTEM_HAS_KUSER_CMPXCHG is defined if the system (mainly OS) support the kuser_cmpxchg functions. Use of this fixes a bug where ARMHF systems did not use it for synchronization (although ARMHF is armv7+ only, i.e. the LDREX path is used anyway)

git-svn-id: trunk@22081 -
2012-08-14 19:45:03 +00:00
..
aliases.inc - RTL: cleaned up remaining 'decr_ref' routines (not removed completely due to bootstrapping needs, but aliased to 'finalize' ones). 2012-01-20 19:19:08 +00:00
astrings.inc Replace HandleErrorFrame calls by HandleErrorAddrFrameInd where possible in common code (to allow correct backtrace for mips cpu) 2012-07-12 11:53:59 +00:00
cgeneric.inc
cgenmath.inc * fixed compilation on Solaris after r20815 2012-04-24 11:08:08 +00:00
cgenstr.inc
charset.pp
cmem.pp
compproc.inc * moved g_test_self() from cgobj to hlcgobj 2012-07-11 08:25:51 +00:00
crt.inc
crth.inc
ctypes.pp
currh.inc
dos.inc
dosh.inc
dynarr.inc Replace HandleErrorFrame calls by HandleErrorAddrFrameInd where possible in common code (to allow correct backtrace for mips cpu) 2012-07-12 11:53:59 +00:00
dynarrh.inc
dynlibs.pas * Added GetLoadErrorStr function by Mark Morgan Loyd (Bug ID 22321) 2012-07-11 15:31:09 +00:00
except.inc Use two parameter versions of get_caller_frame and get_caller_addr to get correct results for MIPS 2012-07-10 10:07:11 +00:00
exeinfo.pp * Also enable ELF32 or ELF64 for OpenBSD OS 2012-04-23 10:10:10 +00:00
extres.inc
fexpand.inc + FileNameCasePreserving added - see #18066 in Mantis 2012-04-15 20:56:13 +00:00
file.inc
filerec.inc * make textrec/filerec unpacked, this improves the code significantly on arm etc. 2012-08-10 21:17:50 +00:00
fpextres.pp
fpintres.pp
gencurr.inc * fixed round(currency) after r18746 (in particular on platforms where 2012-04-28 13:00:15 +00:00
generic.inc Replace HandleErrorFrame calls by HandleErrorAddrFrameInd where possible in common code (to allow correct backtrace for mips cpu) 2012-07-12 11:53:59 +00:00
genmath.inc * merged trunk up to r20882 2012-04-15 15:54:10 +00:00
genset.inc * fixed upper bound of several helper array types for set operations 2012-03-29 20:34:56 +00:00
genstr.inc * dereference pchar passed to indexbyte in strecopy (patch by Andrew Haines, 2012-03-08 18:55:49 +00:00
genstrs.inc
getopts.pp
heap.inc * get rid of some feature checks, probably the whole feature stuff is plainly the wrong way, embedded rtl compiles again, resolves #20913 2011-12-29 14:06:30 +00:00
heaph.inc * get rid of some feature checks, probably the whole feature stuff is plainly the wrong way, embedded rtl compiles again, resolves #20913 2011-12-29 14:06:30 +00:00
heaptrc.pp * get_addr function renamed to get_pc_addr 2012-06-25 22:17:49 +00:00
innr.inc * merged trunk up to r20882 2012-04-15 15:54:10 +00:00
int64.inc Replace HandleErrorFrame calls by HandleErrorAddrFrameInd where possible in common code (to allow correct backtrace for mips cpu) 2012-07-12 11:53:59 +00:00
intres.inc
iso7185.pp
keyboard.inc
keybrdh.inc
keyscan.inc
lineinfo.pp * Fix lineinfo problems for BeOS/Haiku 2011-12-05 16:29:43 +00:00
lnfodwrf.pp
lstrings.pp
macpas.pp
makefile.inc
mathh.inc
matrix.pp
mmatimp.inc
mouse.inc
mouseh.inc
mvecimp.inc
objc1.inc
objc.pp
objcbase.pp
objcnf.inc
objects.pp Use need system macro FPC_LOCALS_ARE_STACK_REG_RELATIVE for mips support 2012-07-12 09:13:31 +00:00
objpas.inc * always decrease the refcount of the function result of helpers that return 2012-07-23 23:54:44 +00:00
objpash.inc
pagemem.pp
printer.inc
printerh.inc
readme
real2str.inc * patch by Max Nazhalov to improve real2str performance, resolves #21825 2012-05-05 18:29:32 +00:00
resh.inc
rtti.inc - RTL: cleaned up remaining 'decr_ref' routines (not removed completely due to bootstrapping needs, but aliased to 'finalize' ones). 2012-01-20 19:19:08 +00:00
sfpu128.pp + Add two new sotfpuu units with x80 or 128 bit support 2012-01-31 15:58:56 +00:00
sfpux80.pp + Add two new sotfpuu units with x80 or 128 bit support 2012-01-31 15:58:56 +00:00
sockets.inc
socketsh.inc
sockovl.inc
softfpu.pp * remove duplicate types after r20603, resolves #21548 2012-03-25 09:34:28 +00:00
sstrings.inc * patches by Max Nazhalov to solve some issues with currency formatting, resolves #18704 and #22063 2012-05-19 14:54:46 +00:00
stdsock.inc
strings.pp - Cleaned out FPC_STRTOSHORTSTRPROC and FPC_STRTOCHARARRAYPROC defines. Somebody had to do it one day. 2011-12-14 22:40:08 +00:00
stringsi.inc
sysres.inc
system.fpd * power functions added 2011-12-28 18:11:45 +00:00
system.inc Tried to reorganize the ARM define mess in rtl/arm/arm.inc. Instead of requiring to enumerate all possible ARM variants each time a CPU feature is used, add a define of the format CPUARM_HAS_XXX and use that. Note that a better solution would be to properly implement the compiler cpuinfo infrastructure, however that is much more work. 2012-08-14 19:45:03 +00:00
systemh.inc * get_addr function renamed to get_pc_addr 2012-06-25 22:17:49 +00:00
text.inc rtl: don't perform unneeded string conversions if string codepage matches codepage to convert (thanks to Sergey) 2012-07-31 01:24:36 +00:00
textrec.inc * make textrec/filerec unpacked, this improves the code significantly on arm etc. 2012-08-10 21:17:50 +00:00
thread.inc + Move EXEC_callback into separate file win/systlsdir.inc 2011-12-08 16:11:07 +00:00
threadh.inc
threadvr.inc
typefile.inc
ucomplex.pp
ufloat128.pp
ustringh.inc * merged trunk up to r20882 2012-04-15 15:54:10 +00:00
ustrings.inc Replace HandleErrorFrame calls by HandleErrorAddrFrameInd where possible in common code (to allow correct backtrace for mips cpu) 2012-07-12 11:53:59 +00:00
uuchar.pp * also redefine pchar as pwidechar in {$modeswitch unicodestrings} 2012-04-25 22:29:15 +00:00
varerror.inc
variant.inc + also specify the parameter def when allocating a parameter via 2012-06-24 15:02:12 +00:00
varianth.inc
variants.pp Fix VarEnsureRange use of Result before being set 2012-04-09 21:52:47 +00:00
video.inc
videoh.inc
wstringh.inc - Removed string conversion helpers that are not actually used by compiler code generation (duplicated pwidechar/punicodechar stuff). 2012-02-05 18:01:04 +00:00
wstrings.inc Replace HandleErrorFrame calls by HandleErrorAddrFrameInd where possible in common code (to allow correct backtrace for mips cpu) 2012-07-12 11:53:59 +00:00
wustrings.inc

This directory contains only RTL parts independent
of the processor and of the operating system.

The include files contain the following:

astrings.pp     AnsiStrings implementation.
except.inc      Delphi styled exception support.
file.inc        Untyped file support routines.
filerec.inc     Untyped file record definition.
heap.inc        Runtime heap manager .
heaph.inc       Declarations of Heap functions.
innr.inc        Internal function delcarations.
int64.inc       Support for 64-bit integer arithmetic.
lstrings.pp     LongStrings routine implementation.
mathh.inc       Declarations of mathematical functions.
real2str.inc    Routine to convert floating point numbers to strings.
rtti.inc        Delphi like runtime type information
sstrings.inc    ShortStrings (TP/BP pascal like strings) implementation.
system.inc      OS and Processor independent implementation part of system unit.
systemh.inc     Interface part of the system unit.
text.inc        Text file support routines.
textrec.inc     Definition of Textrec record.
typefile.inc    Text file record definition.
generic.inc     Processor independant implementation of assembler procs on i386
                (to allow easy porting to new processors).
genset.inc      Processor independant implementation of set handling
genmath.inc     Processor independant implementation of mathematical routines
genrrti.inc     Processor independant implementation of runtime type information routines

The unit files are:

ucomplex.pp     Complex functions using operator overloading
getopts.pp      Pascal implementation of the GNU Getops
objects.pp      Turbo Pascal like implementation of objects unit
heaptrc.pp      Runtime memory leak tracer and tests for memory integrity.