florian
22df9cde3e
* halt and runerror never return
...
git-svn-id: trunk@38202 -
2018-02-11 10:21:16 +00:00
Károly Balogh
07513150e0
* make StdOut/StdErr optionally a true alias of Output/ErrOutput, so they share the same underlying TextRec. this reduces data segment usage on small systems by more than 1K.
...
git-svn-id: trunk@38196 -
2018-02-10 22:45:51 +00:00
svenbarth
ea193bc993
* enable explicit Pointer overloads of Interlocked* functions for M68k as that has a calling convention where the passing of Pointer values differs from ordinal values (address vs. int registers). Fixes e.g. usage of the Classes unit
...
git-svn-id: trunk@38053 -
2018-01-26 21:37:58 +00:00
svenbarth
e09ec0e36b
+ add ability to have explicitely implemented Pointer overloads of the Interlocked* routines instead of forwarding them to the ones with suitable size.
...
git-svn-id: trunk@38052 -
2018-01-26 21:36:35 +00:00
maciej-izak
8aaa3c0fd5
+ added additional OpaquePointer type for the system unit (mantis #32977 ).
...
git-svn-id: trunk@37942 -
2018-01-09 21:45:03 +00:00
maciej-izak
f719f81c06
+ added new types for the system unit: opaque data type (TOpaqueData) and related opaque pointer (POpaqueData) (mantis #32977 )
...
git-svn-id: trunk@37940 -
2018-01-09 21:18:26 +00:00
nickysn
29f307589e
+ added an i8086-specific procedure MoveData, that allows moving of far data,
...
regardless of the memory model; procedure interface is the same as a similar
Turbo C (and DJGPP) function
git-svn-id: trunk@37741 -
2017-12-15 21:47:21 +00:00
nickysn
0119e7afb3
* changed the codepointer type in the i8086 small and compact memory models from
...
nearpointer to nearcspointer
git-svn-id: trunk@37730 -
2017-12-14 17:36:15 +00:00
marco
52f81da69c
* some aliases for newer delphi versions, patch by Silvio.
...
utf8char, putf8char and marshal*
git-svn-id: trunk@37689 -
2017-12-06 10:49:35 +00:00
florian
0725bfcdf0
* do not generate references to the variant type, if the variants feature is not available
...
git-svn-id: trunk@37660 -
2017-12-02 17:16:32 +00:00
florian
ff86c80176
* cpu specific header file for the system unit: cpuh.inc, moved several declarations into it
...
git-svn-id: trunk@37542 -
2017-11-01 16:33:30 +00:00
svenbarth
fe95d73fe5
* move RTTI header include above ObjPas header include
...
git-svn-id: trunk@37426 -
2017-10-08 08:44:51 +00:00
Károly Balogh
e1501c86bf
m68k: fix no FPU support
...
git-svn-id: trunk@37227 -
2017-09-16 18:13:57 +00:00
svenbarth
187ebc6821
* adjust/update guard against older compiler versions
...
git-svn-id: trunk@36876 -
2017-08-12 08:17:07 +00:00
florian
8bbe7d7268
* define STACK_BIAS constant for sparc64, it is fundamental
...
git-svn-id: trunk@36540 -
2017-06-19 21:17:54 +00:00
florian
cd70098b84
+ SPARC64 support for the system unit
...
git-svn-id: trunk@36431 -
2017-06-05 21:33:59 +00:00
nickysn
ba665e103c
+ added sqr(shortint) and sqr(smallint) for CPUs with 8/16-bit alu
...
git-svn-id: trunk@36342 -
2017-05-26 13:16:36 +00:00
nickysn
78a7445751
+ added Odd(byte) and Odd(shortint) for cpus with 8-bit alu and Odd(word)/
...
Odd(smallint) for cpus with 8 or 16-bit alu
git-svn-id: trunk@36328 -
2017-05-25 14:42:56 +00:00
nickysn
fa645dcaf7
+ added abs(smallint) and abs(shortint) for cpus with 8-bit or 16-bit alu
...
git-svn-id: trunk@36327 -
2017-05-25 14:14:18 +00:00
nickysn
504662826a
* fixed the rtl cpu ifdefs for the rol/ror/sar cpu support check
...
git-svn-id: trunk@36153 -
2017-05-08 10:16:15 +00:00
pierre
651f8b17c1
Add minimum type/const for RTL compilation with threading support disabled
...
git-svn-id: trunk@36106 -
2017-05-04 22:12:17 +00:00
nickysn
056e742684
+ enable the internal 8-bit and 16-bit sar on i8086
...
git-svn-id: trunk@36032 -
2017-05-01 12:36:36 +00:00
nickysn
b14f277e8f
+ use rtl helpers for 64-bit shl/shr/sar/rol/ror modify in place operations, on
...
platforms that don't have native 64-bit implementation of the corresponding
64-bit shift/rotate operation
git-svn-id: trunk@35787 -
2017-04-13 15:24:32 +00:00
nickysn
321876252b
+ enabled the rol/ror intrinsic on i8086
...
git-svn-id: trunk@35734 -
2017-04-04 22:37:58 +00:00
nickysn
ca46040728
+ added 16-bit versions of the InterLocked* functions for i8086
...
git-svn-id: trunk@35149 -
2016-12-18 00:17:10 +00:00
Jonas Maebe
868370d727
+ InterlockedCompareExchangePointer() alias for InterlockedCompareExchange(pointer)
...
(mantis #29964 )
git-svn-id: trunk@34599 -
2016-10-02 12:57:07 +00:00
svenbarth
a2c9c75e97
Convert Insert() and Delete() to intrinsics in preparation for dynamic array support for these two procedures.
...
Since overloading compilerprocs does not work each procedure got its own unique name, but they are using the new compilerproc extension to map them to the Insert and Delete symbol so that error messages can be shown with the respective name for the procedure declarations instead of fpc_shortstr_delete for example.
git-svn-id: trunk@33895 -
2016-06-03 21:25:49 +00:00
svenbarth
788393c298
Change WideString initialization to work correctly with indirect main information as well
...
rtl/inc/systemh.inc & rtl/java/jsystemh_types.inc:
- TEntryInformation: remove WideInitTables
rtl/win/sysosh.inc:
+ TEntyrInformationOS: add WideInitTables
rtl/win/syswin.inc:
* adjust WStrInitTablesTable, so that it is now a pointer and can be used both with direct and indirect main entry
* InitWin32Widestrings: WStrInitTablesTable is now a pointer
rtl/win32/sysinit.inc:
* WideInitTables has moved to the OS specific part of the entry information
rtl/win32/system.pp:
* OsSetupEntryinformation: setup WStrInitTablesTable
git-svn-id: trunk@33571 -
2016-04-29 13:13:14 +00:00
Károly Balogh
1192978152
m68k: software mod/div and mul helper requirement has nothing to do with the softfpu, CF and plain 68k simply needs it
...
git-svn-id: trunk@33532 -
2016-04-18 02:20:08 +00:00
florian
bb1f2b8062
* make NativeInt and NativeUInt unique types, resolves #29444
...
git-svn-id: trunk@33234 -
2016-03-13 15:30:38 +00:00
svenbarth
7b67ead440
Pass further main program data through the indirect entry information.
...
rtl/inc/systemh.inc:
+ TEntryInformation: add Pointer fields ResourceStringTables, ResStrInitTables, WideInitTables (for targets with separate WideString type) and ResLocation (not used on Windows, but since most other targets don't have Windows' resource system it's not part of OS)
rtl/java/jsystemh_types.inc:
+ TEntryInformation: adjust for consistency reasons
rtl/win32/sysinit.inc:
* SysInitEntryInformation: initialize with pointers to the correct tables
git-svn-id: trunk@33027 -
2016-01-29 16:51:27 +00:00
svenbarth
3da7675eb1
Add a possiblity for targets to specify additional fields for TEntryInformation using an optional sub record called TEntryInformationOS
...
rtl/inc/systemh.inc:
+ add field OS of type TEntryInformationOS if the target specifies HAS_ENTRYINFORMATION_OS
rtl/java/jsystemh_types.inc:
+ same adjustments as above for consistency reasons despite it being not used there anyway
git-svn-id: trunk@33024 -
2016-01-29 15:32:33 +00:00
svenbarth
b525cecad8
- get rid of the calling convention modifier for PascalMain as it's generated using the default calling convention anyway (without any parameters this luckily doesn't matter that much ;) )
...
(Note: adjusted merge info as in my packages branch there is a less complete commit for this)
git-svn-id: trunk@33023 -
2016-01-29 14:51:15 +00:00
nickysn
0f6b5161e6
* the 'count' parameter of Move and FillChar on i8086 made 16-bit unsigned,
...
instead of signed (BP7 compatibility)
git-svn-id: trunk@32443 -
2015-11-21 17:55:47 +00:00
marco
08f9400070
* adding puint64 mantis #29020
...
git-svn-id: trunk@32351 -
2015-11-16 20:39:38 +00:00
marco
d95b95e648
* fix for #28940 also add PSizeUint
...
git-svn-id: trunk@32257 -
2015-11-06 15:54:54 +00:00
Jonas Maebe
80902035e0
* moved excepth.inc include from the system unit implementation to interface
...
so that we can still find the type definitions in it once we don't store
the entire implementation symtable to the ppu anymore
git-svn-id: trunk@32151 -
2015-10-25 19:21:54 +00:00
michael
8161c1135c
* Add offset to Pos functions, Delphi XE 8 compatible.
...
git-svn-id: trunk@31464 -
2015-08-31 13:05:37 +00:00
marco
8cf0c3bcb6
* camel case paramcount as per mantis #28503
...
git-svn-id: trunk@31307 -
2015-08-10 08:17:46 +00:00
michael
81fa382c42
* Rename WriteExceptionToStdErr -> WriteErrorsToStdErr
...
git-svn-id: trunk@30555 -
2015-04-12 15:37:46 +00:00
michael
94e57aa463
* Moved WriteExceptionToStdErr to system unit, so it is observed even in absence of sysutils (bug ID 27708)
...
git-svn-id: trunk@30551 -
2015-04-12 13:58:49 +00:00
nickysn
28dc9fe68b
* fixed definition of the ALUSInt type on 16-bit CPUs
...
git-svn-id: trunk@30453 -
2015-04-05 21:47:32 +00:00
florian
134457fb8c
+ define types depending on the ALU register size of the CPU, e. g. for most 8 Bit CPUs this is different from Ptr(U)Int, and e.g. also for the far pointer memory models of i8086
...
git-svn-id: trunk@30451 -
2015-04-05 21:25:03 +00:00
Jonas Maebe
6a70c84258
+ internal bsr/bsf support for ppc32 and ppc64
...
git-svn-id: trunk@30152 -
2015-03-09 16:48:34 +00:00
Jonas Maebe
ff020a3be4
+ "Utf8CodePointLen(pansichar,MaxLookAhead,IncludeCombiningDiacriticalMarks):
...
sizeint" function that returns:
<0: invalid sequence detected after processing "-result" bytes
0: incomplete (may still be valid if MaxLookAhead is increased)
>0: sequence of result bytes forms a codepoint (+ combining diacritical
marks if that parameter was true)
git-svn-id: trunk@30047 -
2015-03-01 17:12:17 +00:00
Jonas Maebe
416d0b3974
* enable internal handling of 64 bit sar() on AArch64
...
git-svn-id: trunk@29983 -
2015-02-23 22:57:15 +00:00
Jonas Maebe
a8d05b66e2
+ AArch64 internal bsf/bsr support
...
git-svn-id: trunk@29979 -
2015-02-23 22:57:02 +00:00
Jonas Maebe
03f8a15904
* enable internal handling of 32 and 64 bit rotates on AArch64
...
git-svn-id: trunk@29977 -
2015-02-23 22:56:56 +00:00
Jonas Maebe
b0112fa63f
+ initial AArch64 support in systemh.inc, options.pas, version.pas and
...
psystem.pas
git-svn-id: trunk@29903 -
2015-02-23 22:52:04 +00:00
sergei
7666cd5c0e
+ Overloaded procedure dump_stack that calls CaptureBacktrace, thus encapsulating internals of stack traversing.
...
* Use this new procedure in heaptrc unit.
git-svn-id: trunk@29713 -
2015-02-15 20:00:24 +00:00