svenbarth
d98e551882
+ add a generic variant of TValue.IsType
...
* extended test
git-svn-id: trunk@43591 -
2019-11-25 21:13:37 +00:00
pierre
a09e40945c
Regenerate all Makefile's after commit #43472
...
git-svn-id: trunk@43478 -
2019-11-15 14:47:02 +00:00
svenbarth
9dcd897ce6
* fix for Mantis #36196 : free a property's attributes when the property is destroyed
...
+ added test
git-svn-id: trunk@43299 -
2019-10-21 19:42:19 +00:00
marco
bacc9f6489
* initial version system.uitypes.
...
git-svn-id: trunk@43144 -
2019-10-06 17:23:38 +00:00
florian
48c5636fbc
* make InvokeKernelRegister work for caller cleared stack/fixed stack and keep stack 16 byte aligned if needed
...
git-svn-id: trunk@43009 -
2019-09-15 17:17:29 +00:00
svenbarth
492f1ac4be
* implement RawThunk for Aarch64
...
git-svn-id: trunk@42991 -
2019-09-13 20:38:31 +00:00
svenbarth
d6381a3477
* ensure that the RawThunkPlaceholder* constants are compared with using the correct type
...
git-svn-id: trunk@42990 -
2019-09-13 20:38:28 +00:00
svenbarth
63d83de063
* ccReg is the default calling convention on selected architectures (though I wonder why x86_64 returns ccReg as well when it does not support ccReg... :/ )
...
git-svn-id: trunk@42810 -
2019-08-24 23:08:42 +00:00
svenbarth
117fa8fa53
* Writeln is only needed for Debug
...
git-svn-id: trunk@42809 -
2019-08-24 23:08:39 +00:00
svenbarth
f740fc4228
* correct alignment of the procedure parameters
...
git-svn-id: trunk@42806 -
2019-08-24 23:08:30 +00:00
svenbarth
9bdef3b7c3
* correct alignment of the parameter type informations
...
git-svn-id: trunk@42805 -
2019-08-24 23:08:26 +00:00
svenbarth
62e7bb6254
* correct alignment for the result name/type
...
git-svn-id: trunk@42804 -
2019-08-24 23:08:23 +00:00
svenbarth
dad9260f93
+ introduce AlignToPtr, a copy of the one from the TypInfo unit (we should really come up with a better name here considering that it's redirecting to AlignTypeData on m68k...)
...
git-svn-id: trunk@42803 -
2019-08-24 23:08:20 +00:00
svenbarth
3df9552444
* implement RawThunk for m68k (works for Coldfire, but I hope the real 68k will handle it as well)
...
git-svn-id: trunk@42801 -
2019-08-24 23:08:07 +00:00
michael
f52b14ff3e
* Make order of ISO8601ToDate consistent, ReturnUTC always at the end, and default true
...
git-svn-id: trunk@42800 -
2019-08-24 11:05:19 +00:00
michael
2664a0a856
* Make order of args in TryISO8601ToDate delphi compatible
...
git-svn-id: trunk@42799 -
2019-08-24 11:01:15 +00:00
svenbarth
865f675a7a
* fix TValue.FromOrdinal for big endian targets
...
git-svn-id: trunk@42780 -
2019-08-23 21:57:14 +00:00
svenbarth
33f6adfab6
* fix for Mantis #35982 : free created attributes once the type is freed
...
+ added test
git-svn-id: trunk@42773 -
2019-08-23 14:59:13 +00:00
svenbarth
81870c00f6
- remove no longer required pointer types (they are part of the System unit now)
...
git-svn-id: trunk@42758 -
2019-08-21 20:25:40 +00:00
svenbarth
a8cf852b0f
- remove an unused local variable
...
git-svn-id: trunk@42757 -
2019-08-21 20:25:37 +00:00
svenbarth
805a9fa448
- remove the no longer required code that used TMethodImplementation for the IInterface methods
...
git-svn-id: trunk@42756 -
2019-08-21 20:25:34 +00:00
svenbarth
7b4cf161aa
* implement RawThunk for ARM
...
git-svn-id: trunk@42755 -
2019-08-21 20:25:31 +00:00
svenbarth
5978d9924f
- remove unused local variable
...
git-svn-id: trunk@42754 -
2019-08-21 20:25:28 +00:00
pierre
5ed7bd35df
Update all trunk/fpcsrc Makefile's after commit 42749
...
git-svn-id: trunk@42750 -
2019-08-20 15:58:10 +00:00
pierre
687554f4ec
Fix compilation for i8086, AllocateRawThunk return type changed to CodePointer
...
git-svn-id: trunk@42740 -
2019-08-19 15:44:29 +00:00
pierre
7f6122884f
Fix assembly instruction errors
...
git-svn-id: trunk@42738 -
2019-08-19 12:05:30 +00:00
svenbarth
652e1985a9
* implement thunking for x86_64 SysV ABI targets
...
git-svn-id: trunk@42734 -
2019-08-18 18:30:42 +00:00
svenbarth
58ada1f547
+ add a test for RawThunk; this does not require a function call manager thus it's better to place it in the general RTTI testcase so that it's always tested
...
git-svn-id: trunk@42733 -
2019-08-18 18:30:39 +00:00
svenbarth
62a61bdb41
* fix ifdefs for non-fpc (Lazarus likes to mess these up during auto completion...)
...
git-svn-id: trunk@42732 -
2019-08-18 18:30:37 +00:00
svenbarth
048dc7b289
* implement RawThunk for x86_64-win64
...
git-svn-id: trunk@42731 -
2019-08-18 18:30:34 +00:00
svenbarth
9cac24a325
* fix compilation on targets that don't have a RawThunk defined yet
...
git-svn-id: trunk@42720 -
2019-08-17 15:36:01 +00:00
svenbarth
7d9b249def
+ add TRttiOrdinalType and TRttiInt64Type (what's left of the "ordinal like" ones is TRttiEnumerationType, TRttiSetType and a non-Delphi compatible TRttiBooleanType (due to FPC supporting multiple Boolean types))
...
git-svn-id: trunk@42719 -
2019-08-17 15:35:58 +00:00
svenbarth
92c6d166a8
* TRttiFloatType.GetFloatType() can be inline
...
git-svn-id: trunk@42718 -
2019-08-17 15:35:55 +00:00
svenbarth
8fdee2b3b1
* implement TRttiFloatType.GetTypeSize()
...
git-svn-id: trunk@42717 -
2019-08-17 15:35:52 +00:00
svenbarth
16f47fbee3
* explicitely ignore the TestIntfMethods test if TVirtualInterface is not supported
...
git-svn-id: trunk@42710 -
2019-08-16 15:43:09 +00:00
svenbarth
95b60bc6b2
* switch TVirtualInterface to using thunks for QueryInterface, _AddRef and _Release as otherwise _Release will execute code that's no longer valid (it's also a bit more performant ;) )
...
Note: this is currently i386 only, x86_64 needs to be switched as well and thus TVirtualInterface.Create will raise a ENotImplemented there
git-svn-id: trunk@42709 -
2019-08-16 15:43:07 +00:00
svenbarth
2c4d7b6316
* implement a infrastructure for method thunks (these first adjust Self and then jump to the specified address)
...
git-svn-id: trunk@42708 -
2019-08-16 15:43:04 +00:00
florian
23585ded15
* fix access to ParamFlags of the tkMethod branch of type data for CPUs requiring proper alignment
...
git-svn-id: trunk@42511 -
2019-07-28 11:55:19 +00:00
svenbarth
de15025a47
* streamline retrieval of attributes (both in TypInfo and RTTI units)
...
git-svn-id: trunk@42373 -
2019-07-12 22:06:02 +00:00
svenbarth
e060a43d70
* rename TAttributeData to the more appropriate TAttributeTable
...
git-svn-id: trunk@42371 -
2019-07-12 22:05:55 +00:00
svenbarth
d137e06ade
* instead of embedding the attributes inside the class' and property's type data only store a reference to a table of attributes
...
git-svn-id: trunk@42365 -
2019-07-12 22:05:29 +00:00
svenbarth
b2932393df
Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 1/3]
...
Implemented attributes for class types and properties (based on work by Joost van der Sluis). Added TCustomAttribute - a base class for attributes. Added TUnitInfo record to RTTI. It contains the unit name and unit options (for now only a flag which specifies if the unit contains attributes). Added several tests for attributes.
git-svn-id: trunk@42356 -
2019-07-12 22:04:48 +00:00
michael
bf54543518
* Add SplitCommandLine
...
git-svn-id: trunk@42269 -
2019-06-22 13:37:47 +00:00
Jonas Maebe
c262c5dbc9
* synchronised with trunk till r42256
...
git-svn-id: branches/debug_eh@42257 -
2019-06-20 17:21:34 +00:00
svenbarth
746756cada
* add typecast to PTypeInfo to be on the safe side
...
git-svn-id: trunk@42222 -
2019-06-13 21:08:48 +00:00
svenbarth
253f65c5b2
* fix for Mantis #35687 : implement TValue.FromOrdinal()
...
+ added tests
git-svn-id: trunk@42221 -
2019-06-13 21:08:44 +00:00
svenbarth
34569080be
* correctly handle both Ansi- and WideChar in TValue
...
+ added tests
git-svn-id: trunk@42220 -
2019-06-13 21:08:41 +00:00
svenbarth
a2a403e2e5
* fix for Mantis #35693 : IsOrdinal also needs to return true for enums (with that AsOrdinal will work correctly as well)
...
* extended RTTI test by a test for enums
git-svn-id: trunk@42219 -
2019-06-13 21:08:38 +00:00
Jonas Maebe
faf75095cd
* synchronised with trunk till r42189
...
git-svn-id: branches/debug_eh@42190 -
2019-06-07 18:24:38 +00:00
svenbarth
fb0f2fbd35
* enable method implementation tests for i386 (interface tests will be ignored however as stdcall/cdecl are not yet provided without an external manager)
...
git-svn-id: trunk@42185 -
2019-06-06 20:51:57 +00:00