nickysn
23b0cf2340
* msdos system unit variable dos_psp renamed PrefixSeg for TP7 compatibility
...
git-svn-id: trunk@28047 -
2014-06-24 10:58:59 +00:00
nickysn
1910177cf0
+ added heapmax support to the $M directive on i8086-msdos. It is currently
...
only implemented in the near data memory models. The far data models support
is still a TODO.
git-svn-id: trunk@28039 -
2014-06-23 20:17:17 +00:00
marco
bcd13a856d
* Some convenience permission constants, patch by Graeme #26373
...
git-svn-id: trunk@28038 -
2014-06-23 15:35:43 +00:00
nickysn
95449a3fd4
* fixed yet another dos_psp<>dgroup bug in the startup code for .exe files in
...
the tiny memory model
git-svn-id: trunk@28033 -
2014-06-22 20:12:55 +00:00
nickysn
3164a10d9d
* fixed a bug in the startup code for tiny memory model, which caused the
...
program MCB address not to be calculated correctly, when the program is a tiny
model .exe file, leading to possible memory corruption. Previously, the code
assumed that dos_psp=CS, but that's only true for tiny .com files; tiny .exe
files have a 256-byte gap between dos_psp and CS.
git-svn-id: trunk@28032 -
2014-06-22 11:06:57 +00:00
nickysn
cd6b15f49a
* slight optimization to the small and medium model startup code
...
git-svn-id: trunk@28031 -
2014-06-22 09:42:30 +00:00
Jeppe Johansen
0dc39b5d63
Applied patch from Michael Ring that adds some startup code for some new stm32f0 and stm32f1 controllers, and fixes naming on some LPC ARMv6m controllers.
...
git-svn-id: trunk@28009 -
2014-06-20 06:49:04 +00:00
nickysn
1295b4abf7
- removed the call to CheckNullArea from the exit code for the tiny memory model
...
git-svn-id: trunk@28006 -
2014-06-19 21:47:46 +00:00
michael
a0f4ff655e
* Small optimisation in strnew from Luiz Americo (bug ID 26365)
...
git-svn-id: trunk@28005 -
2014-06-19 17:40:21 +00:00
nickysn
7cfd7a66cd
+ create a special 'heap' segment with reserved space equal to heapsize (i.e.
...
the value set by -Ch or the second parameter to the $M directive). This is
equivalent to the heapmin value in Turbo Pascal 7 and ensures that the program
has at least this amount of heap space available (otherwise DOS will show a
'not enough memory' error and will refuse to load the program).
git-svn-id: trunk@28002 -
2014-06-19 14:14:01 +00:00
sergei
04d8e8a5dc
* On 64-bit targets, handle abs(int64) internally, using the same code as for abs(longint), i.e. without branching. Both generic and x86-specific pass 2 code is already suitable for different operand sizes, only type checking needs removal of excessive conversions to 32 bits.
...
git-svn-id: trunk@27989 -
2014-06-17 18:45:11 +00:00
nickysn
2dc8839af5
* set class=data to all data segments/sections on i8086
...
git-svn-id: trunk@27957 -
2014-06-14 16:01:22 +00:00
nickysn
8ad63788c7
- do not emit a stack segment in the tiny memory model
...
- rm the reference to the top of the stack segment from the startup code in tiny
model
git-svn-id: trunk@27956 -
2014-06-14 15:56:44 +00:00
nickysn
73d7f2aa18
* let the compiler generate the stack segment in i8086 near data memory models
...
as well. Even though, in these models, the stack is dynamically allocated
(because it goes on top of the heap, but the heap is variable size), there are
still benefits:
1) the program will run on a larger stack during initialization, before the
actual stack (and heap) are ready
2) in cases, when the system is extremely low on memory, DOS will reject to
load the program if there's not enough memory for the stack the program
requires. This way the startup code can be further simplified by omitting
the 'not enough memory' check in the future (when we add the minimum heap
size to the executable reserved space as well).
git-svn-id: trunk@27903 -
2014-06-08 21:14:57 +00:00
Károly Balogh
e89669bedc
rewrite SpinLock to still work without the need to accidentally disable optimizations for a large part of the classes unit
...
git-svn-id: trunk@27864 -
2014-06-06 11:05:57 +00:00
sergei
217ab9879c
* Enabled internal handling of Abs(longint) for all targets. It has been implemented in cross-platform way ages ago (see tcginlinenode.second_abs_long), but not enabled on MIPS,SPARC and m68k.
...
- RTL: removed MIPS,SPARC and m68k-specific implementations of Abs(longint), and marked the generic one as required for bootstrapping purposes only.
git-svn-id: trunk@27857 -
2014-06-05 10:35:51 +00:00
Jonas Maebe
bee20f79f0
* save original widestring manager on entry and restore it on exit, so that
...
units finalized afterwards won't try to use the finalized cwstring
manager (mantis #26252 )
git-svn-id: trunk@27842 -
2014-06-01 18:30:49 +00:00
Jonas Maebe
5bc6a2e934
* synchronised JVM versions of generic include files with current generic
...
versions
git-svn-id: trunk@27839 -
2014-06-01 14:13:40 +00:00
marco
0a0739b916
* improved winexec comment, updated copyright year and add minor comment to gettickcount64
...
Mantis #26238
git-svn-id: trunk@27834 -
2014-05-31 14:47:31 +00:00
sergei
a8bc2085e8
- Delete strpas.inc files, no longer used, their contents has been merged into corresponding $(CPU).inc.
...
git-svn-id: trunk@27833 -
2014-05-31 00:49:40 +00:00
sergei
e5f6f9c3a1
- powerpc and powerpc64: cleaned out code corresponding to FPC_STRTOSHORTSTRINGPROC not defined (obsolete and removed from other targets long ago). Also merged strpas.inc files into powerpc*.inc, because by now they are included only once and therefore don't need to be separate files.
...
git-svn-id: trunk@27832 -
2014-05-31 00:45:21 +00:00
sergei
a94187c79b
- ARM: cleaned out code corresponding to FPC_STRTOSHORTSTRINGPROC not defined (obsolete and removed from other targets long ago).
...
git-svn-id: trunk@27831 -
2014-05-31 00:38:01 +00:00
nickysn
d4565aeec2
* in i8086 far data memory models add reference to the beginning of stack from
...
the startup code, so the object module, containing the stack segment doesn't
get smartlinked away
git-svn-id: trunk@27824 -
2014-05-29 14:57:48 +00:00
nickysn
3cc8ff11e3
+ generate the stack segment for i8086 far data memory models from within fpc
...
itself (instead of having a fixed 16k stack in the startup code). This allows
setting the stack size in these models with the -Cs option.
git-svn-id: trunk@27820 -
2014-05-27 23:29:50 +00:00
sergei
22e099d000
* sqrt(real): for targets with emulated floating point, invoke float64_sqrt or float32_sqrt from softfpu code. Testing on ARM CPU shows that float64_sqrt executes about twice faster and offers better accuracy than fpc_sqrt_real from genmath.inc.
...
* softfpu.pp: changed float64_sqrt into a function, so it is consistent with other compiler-invoked routines.
git-svn-id: trunk@27809 -
2014-05-21 15:07:13 +00:00
sergei
fc5f45f65c
* sqr(real) and sqrt(real): remove typeconv node inserted by initial call processing (see explanation in comments), allowing these functions to be evaluated using precision of argument. In particular, sqrt(single) and sqrt(double) now emit 'sqrtss' and 'sqrtsd' instructions on x86 targets with -Cfsse3. Non-x86 targets already have the necessary support in code generators.
...
* abs(real): handle the same way as sqrt and sqr, i.e. without casting to bestreal and back.
git-svn-id: trunk@27808 -
2014-05-21 14:53:47 +00:00
Tomas Hajny
cedf009d3c
* fix for SIGSEGV in Exec without command line parameters revealed in discussion for #26160
...
git-svn-id: trunk@27804 -
2014-05-18 20:37:40 +00:00
Tomas Hajny
bb0a670e9e
* fix for bug #26160
...
git-svn-id: trunk@27803 -
2014-05-18 20:02:10 +00:00
michael
6fcff07e50
* SizeInt -> SizeUInt for strPLCopy (Bug ID 26156)
...
git-svn-id: trunk@27802 -
2014-05-18 07:35:33 +00:00
michael
046b7626dd
* Reworked patch from Werner Pamler (bug ID 26168) to add support for periods
...
git-svn-id: trunk@27801 -
2014-05-18 07:24:59 +00:00
sergei
2f8a1706e6
* x86_64-*bsd: cleaned out handwritten assembler threadvar access from syscall code.
...
git-svn-id: trunk@27793 -
2014-05-15 16:29:50 +00:00
Jonas Maebe
55d62d6821
* removed units moved in r27349 (patch by Olivier Coursiere, mantis #26148 )
...
git-svn-id: trunk@27784 -
2014-05-14 13:06:24 +00:00
pierre
d4368c55b9
Fix windows problem with FindResource function
...
git-svn-id: trunk@27782 -
2014-05-14 06:11:53 +00:00
michael
81a95f6f1b
* Fix problem with IE for inlined taking address (@S[1]) of empty const
...
git-svn-id: trunk@27781 -
2014-05-13 17:58:31 +00:00
michael
ddf6de1b29
* Implemented ReadComponentRes(ex) for bug #21785
...
git-svn-id: trunk@27777 -
2014-05-11 18:28:50 +00:00
michael
042e6243a3
* Fixed bug #20522 , adapted patch from Bart Broersma
...
git-svn-id: trunk@27775 -
2014-05-11 18:04:52 +00:00
michael
d9d1a7fa5d
* Fix bug ID #18550
...
git-svn-id: trunk@27774 -
2014-05-11 17:14:20 +00:00
michael
17e34abc62
* Fix for bug ID #18551
...
git-svn-id: trunk@27773 -
2014-05-11 17:02:56 +00:00
michael
a397b1b480
* Added (modified) patch for appending 0:0:0 in case of full date (Denis Golovan, bug ID #25109 )
...
git-svn-id: trunk@27772 -
2014-05-11 14:11:44 +00:00
michael
1d9ac3aa9e
* Fixed bug #26053
...
git-svn-id: trunk@27770 -
2014-05-11 13:28:00 +00:00
michael
66f711ad09
* Fixed bug ID #26070
...
git-svn-id: trunk@27767 -
2014-05-11 12:12:12 +00:00
florian
bb129a6d6c
* renamed overloaded fma functions into functions encoding explicitly the type
...
git-svn-id: trunk@27766 -
2014-05-11 11:51:41 +00:00
michael
d5a88caecd
* Do not display error message if NoErrMsg is set.
...
git-svn-id: trunk@27765 -
2014-05-11 10:19:04 +00:00
michael
4258d71a2d
* Fixed bug #26053 (NoErrMsg variable for Delphi compatibility)
...
git-svn-id: trunk@27764 -
2014-05-11 10:15:29 +00:00
michael
276a273e6c
* Const string in StrP(L)Copy (bug report 26100)
...
git-svn-id: trunk@27763 -
2014-05-11 10:11:41 +00:00
michael
75c6d67bc7
* Extention -> extension (By Reinier, bug ID #25979 )
...
git-svn-id: trunk@27755 -
2014-05-10 15:31:41 +00:00
michael
a1c9a98e68
* Extention -> extension (By Reinier, bug ID #25979 )
...
git-svn-id: trunk@27754 -
2014-05-10 15:31:22 +00:00
michael
bbfd061dcf
* Extention -> extension (By Reinier, bug ID #25979 )
...
git-svn-id: trunk@27753 -
2014-05-10 15:30:57 +00:00
michael
47fd732236
* Fix StrToDate incompatibility with delphi in case of trailing whitespace
...
git-svn-id: trunk@27745 -
2014-05-10 13:41:06 +00:00
Károly Balogh
fbc7b3d89a
fixed some recently added external vs. public mixup, so Amiga binaries even link again
...
git-svn-id: trunk@27736 -
2014-05-04 23:11:38 +00:00