Commit Graph

49980 Commits

Author SHA1 Message Date
Károly Balogh
4bb40d14cf os4units: TInterfaceData must be 4 byte aligned, and TNode is only 14 bytes
git-svn-id: trunk@35269 -
2017-01-08 16:35:39 +00:00
lacak
f05acbed7a fcl-db: base: avoid code page conversion to CP_NONE as this kind of conversion is for now undefined (see bug #30622)
git-svn-id: trunk@35268 -
2017-01-08 16:24:11 +00:00
svenbarth
5275c36393 + extend TParamFlags by values for hidden parameters in general and especially the hidden high, self and vmt parameters (this is necessary so a manager approach for Invoke() can be used with as few knowledge about the involved calling conventions as possible)
Note: with this TParamFlags exceeds the size of a Byte

git-svn-id: trunk@35267 -
2017-01-08 16:08:35 +00:00
svenbarth
62fc960e63 + utility function to reverse the bit pattern of a Word
git-svn-id: trunk@35266 -
2017-01-08 16:06:29 +00:00
svenbarth
fd465ff500 * adjusted tests as SizeOf(TParamFlags) = 1 does not need to be true anymore
git-svn-id: trunk@35264 -
2017-01-08 12:43:59 +00:00
svenbarth
25842d70c8 * adjust test so it also checks the full ParamFlags instead of only the reduced one
git-svn-id: trunk@35263 -
2017-01-08 12:42:17 +00:00
svenbarth
bd8a7be17e * better implementation of TProcedureParam.GetFlags that correctly handles a TParamFlags with a size > 1 even on big endian
git-svn-id: trunk@35262 -
2017-01-08 12:41:06 +00:00
marcus
ccf6504584 systems_aros, and systems_amigalike as collection for target defines
git-svn-id: trunk@35261 -
2017-01-08 11:34:27 +00:00
florian
1bea9e36eb + entropy test for random
git-svn-id: trunk@35260 -
2017-01-08 10:26:12 +00:00
pierre
d5f2c58d32 Fix bug report 34320, about random returning two same values at start
git-svn-id: trunk@35259 -
2017-01-08 09:19:50 +00:00
svenbarth
729d582822 * move the indirect symbols from al_exports to a new assembler list al_indirectglobals; otherwise compilation would fail horribly if we'd try to compile with a .def file as then the al_exports sections are ignored by the internal linker
git-svn-id: trunk@35258 -
2017-01-07 20:18:17 +00:00
florian
29a2c433f7 * -Sr option for iso mode: in case no command line parameter is passed, the file name for program parameters is derived from their variable name
git-svn-id: trunk@35257 -
2017-01-07 14:50:58 +00:00
svenbarth
6b641394d0 * fix for Mantis #31201: don't write any RTTI for undefined defs (and while we're at it abort if an error def is encountered)
+ added test

git-svn-id: trunk@35256 -
2017-01-07 14:35:25 +00:00
Károly Balogh
4b7d0eb0ac atari: FSearch impementation for DOS unit, copied from msdos target
git-svn-id: trunk@35255 -
2017-01-07 04:33:00 +00:00
Károly Balogh
a8a9a5f5de atari: most of the DOS unit is now implemented, but largely untested
git-svn-id: trunk@35254 -
2017-01-07 04:13:58 +00:00
Károly Balogh
58f85ed4e4 atari: dos unit skeleton for atari. to be implemented.
git-svn-id: trunk@35253 -
2017-01-07 01:15:45 +00:00
florian
f68558b88c * factored out TX86AsmOptimizer.OptPass2Imul
git-svn-id: trunk@35252 -
2017-01-06 22:25:24 +00:00
florian
ebb2b81f79 * FoldLea optimizes more cases
git-svn-id: trunk@35251 -
2017-01-06 22:25:22 +00:00
svenbarth
417f1cd49d + initial implementation of the RTTI for parameter locations (not *yet* used by anything)
The parameter manager converts from the internal compiler representation of
a parameter's location to an RTTI representation. As the general implementation
more or less directly uses the compiler structures for this a platform specific
parameter manager may override this functionality in case some parameter
information changed in a non-backwards compatible way.
The RTTI parameter location has a layout that allows for an easy enumeration
as the size is fixed for all locations. Additionally there are properties that
allow for easy access to the information stored in them.

git-svn-id: trunk@35250 -
2017-01-06 22:21:37 +00:00
svenbarth
0ed00f64f5 * move writing of the calling convention into its own method
git-svn-id: trunk@35249 -
2017-01-06 20:55:25 +00:00
svenbarth
e3f10500b0 * move writing of the methodkind into its own function (and return the value as its a bit more complicated to calculate than merely checking proctypeoption)
git-svn-id: trunk@35248 -
2017-01-06 20:46:31 +00:00
lacak
18f081150d fcl-db: interbase: detect BLOB CHARACTER SET NONE and set TMemoField.CodePage to CP_NONE in this case. Related to #31162
git-svn-id: trunk@35245 -
2017-01-06 08:39:15 +00:00
Károly Balogh
49fc799e97 atari: section smartlinking support for atari. needs vlink nightly
git-svn-id: trunk@35244 -
2017-01-06 02:44:12 +00:00
Károly Balogh
48744d0abd amiga: section smartlinking support for amiga. needs vlink nightly
git-svn-id: trunk@35243 -
2017-01-05 23:08:08 +00:00
Károly Balogh
48de52f41b morphos: added section smartlinking support using vlink. needs vlink nightly
git-svn-id: trunk@35242 -
2017-01-05 22:39:54 +00:00
Károly Balogh
95cb456951 powerpc: set af_smartlink_sections for vasm
git-svn-id: trunk@35241 -
2017-01-05 22:30:57 +00:00
Károly Balogh
3e4c905813 m68k: make vasm to use ELF objects on amiga, enabled smartlink sections
git-svn-id: trunk@35240 -
2017-01-05 22:29:08 +00:00
pierre
1b1fe68f92 Fix aarch64 cycle after constant parser simplification change in rev 35229-35230
git-svn-id: trunk@35239 -
2017-01-05 13:41:44 +00:00
Károly Balogh
ab5b9982ee aros: enabled internal sysinit for i386-aros
git-svn-id: trunk@35238 -
2017-01-05 00:25:10 +00:00
Károly Balogh
d084bd0d3b aros: implemented pascal sysinit, will be shared across all cpus. also refactored the RTL build
git-svn-id: trunk@35237 -
2017-01-05 00:21:59 +00:00
Károly Balogh
789fb552d5 aros: fixed striping and added section smartlinking support
git-svn-id: trunk@35236 -
2017-01-04 22:59:05 +00:00
florian
3706ab4e44 * fix formatting of the writing of the fraction
git-svn-id: trunk@35235 -
2017-01-04 22:57:43 +00:00
florian
466d26b5ef * copyright notice updated to 2017
git-svn-id: trunk@35234 -
2017-01-04 21:32:19 +00:00
Károly Balogh
69a502db37 instead of stringdup(ppufile.getstring), have a getpshortstring function in entfile, and use it whereever possible. this avoids an extra shortstring copy, compared to the earlier solution
git-svn-id: trunk@35233 -
2017-01-04 19:19:50 +00:00
lacak
67f38f374b fcl-db: interbase: add TransactionHandle to TIBCursor (needed for further work) + unify naming (DatabaseHandle, TransactionHandle, StatementHandle)
git-svn-id: trunk@35232 -
2017-01-04 19:15:40 +00:00
florian
42cde51805 * ignore warnings caused by boolean expression simplification
git-svn-id: trunk@35231 -
2017-01-04 16:33:31 +00:00
florian
331bb95c5e * simplify logical operations with constant booleans if the expresions involve no side effects
git-svn-id: trunk@35230 -
2017-01-04 16:33:29 +00:00
florian
3e2aff15fb * short boolean evaluation is too expensive for simple nodes with no side effects, do full evaluation in this case
git-svn-id: trunk@35229 -
2017-01-04 16:33:27 +00:00
Károly Balogh
233185a4e5 rtti: make aligntoqword to always align to the same size as typinfo/AlignTypeData. this fixes m68k crashes in RTTI after r35218
git-svn-id: trunk@35228 -
2017-01-04 05:01:53 +00:00
Károly Balogh
f69bfe0ee4 atari: return a valid filehandle in do_open(). this code accidentally worked before with -O2, because the way the reg uses overlapped, but failed with -O-...
git-svn-id: trunk@35227 -
2017-01-04 04:53:41 +00:00
Károly Balogh
14c365e7b5 atari: align the tpasize to dword, seems like the section sizes are not guaranteed to be even (with vlink at least)
git-svn-id: trunk@35226 -
2017-01-04 04:50:15 +00:00
florian
2e779239ad * fix rtti for targets with a max. C record alignment > 8 bytes
git-svn-id: trunk@35225 -
2017-01-03 18:44:50 +00:00
florian
53019b2470 * align code slightly better on i386-win32/x86_64-win64
git-svn-id: trunk@35224 -
2017-01-03 16:43:26 +00:00
florian
5aa32a1bbe * align more jump targets
git-svn-id: trunk@35223 -
2017-01-03 16:43:24 +00:00
Károly Balogh
d8f7fd008e atari: enable vlink for native builds as default
git-svn-id: trunk@35222 -
2017-01-03 13:58:49 +00:00
florian
a2838775cc * interlocked methods with smallint parameters, resolves #31158
git-svn-id: trunk@35221 -
2016-12-31 19:42:47 +00:00
florian
be9f055c33 * fix rtti unit for targets with FPC_REQUIRES_PROPER_ALIGNMENT set
git-svn-id: trunk@35219 -
2016-12-30 15:32:58 +00:00
florian
0b82f71e8d * take care of the fact that there are 32 bit abis (e.g. ARMHF) which align qword on 8 byte boundaries, resolves issue #31132
git-svn-id: trunk@35218 -
2016-12-30 15:32:56 +00:00
florian
673c0b3df3 * build unit update
git-svn-id: trunk@35217 -
2016-12-30 15:25:23 +00:00
Károly Balogh
419629c9b7 atari: some initial proof-of-concept AES unit, so first GEM app works
git-svn-id: trunk@35216 -
2016-12-30 10:33:21 +00:00