Commit Graph

56135 Commits

Author SHA1 Message Date
michael
ade808cb43 * Patch from Pascal Riekenberg to make component loading thread safe (bug ID 35638)
git-svn-id: trunk@42248 -
2019-06-19 06:25:02 +00:00
michael
db2c9183f1 * Fix bug ID #35731 (ReadSectionRaw needs to read comments)
git-svn-id: trunk@42247 -
2019-06-19 06:12:15 +00:00
Jonas Maebe
d6174499b1 * disable array and record regvars for all cpuhighleveltarget platforms
git-svn-id: trunk@42246 -
2019-06-18 19:16:33 +00:00
svenbarth
cc5549f3e7 * change Value argument of SetToString and result of of StringToSet from Integer to LongInt so that small sets are handled on 8/16-bit platforms as they are on 32- and 64-bit
git-svn-id: trunk@42245 -
2019-06-17 20:48:58 +00:00
svenbarth
15d0deff81 * fix SetToString/StringToSet for 8/16-bit platforms
git-svn-id: trunk@42244 -
2019-06-17 20:48:49 +00:00
Károly Balogh
25878f9eb2 put #ifdef TARGETOS / #endif around the gcclib section, otherwise the various host paths can cause a hard to debug mess during crosscompiling in some cases
git-svn-id: trunk@42243 -
2019-06-17 20:19:48 +00:00
nickysn
5d4af28c0f + implemented TOmfRecord_COMENT_IMPDEF.DecodeFrom
git-svn-id: trunk@42242 -
2019-06-17 01:53:38 +00:00
florian
d80dc03ccb * building on powerpc and arm fixed
git-svn-id: trunk@42241 -
2019-06-16 21:43:46 +00:00
svenbarth
89e454aca8 * rework/extend SetToString/StringToSet so that sets with a size > 4 can be converted as well (this is Delphi compatible)
+ added test

git-svn-id: trunk@42240 -
2019-06-16 21:36:25 +00:00
florian
749c4d4e47 + keep (certain) arrays in registers if they are used with constants indices only
git-svn-id: trunk@42239 -
2019-06-16 21:29:48 +00:00
nickysn
fbbf1f4f1c + Implemented TOmfRecord_COMENT_EXPDEF.DecodeFrom
git-svn-id: trunk@42238 -
2019-06-15 22:14:09 +00:00
nickysn
cbf95aebf4 + introduced the TOmfRecord_COMENT_EXPDEF class. Use that to generate export
libraries instead of generating the magic string directly.

git-svn-id: trunk@42237 -
2019-06-15 00:30:07 +00:00
nickysn
eea3eb1a8e + introduced the TOmfRecord_COMENT_IMPDEF class. Use it to encode the IMPDEF
records instead of encoding them directly.

git-svn-id: trunk@42236 -
2019-06-14 23:50:48 +00:00
nickysn
85684eb66d + introduced the TOmfRecord_COMENT_Subtype abstract class
git-svn-id: trunk@42235 -
2019-06-14 23:26:37 +00:00
nickysn
9fe80d7416 + use the new CC_OmfExtension_IMPDEF constant instead of the direct magic value
when writing IMPDEF records

git-svn-id: trunk@42234 -
2019-06-14 23:11:25 +00:00
nickysn
4f3a5cfd1e + use the new CC_OmfExtension_EXPDEF constant instead of the direct magic value
when writing export libraries

git-svn-id: trunk@42233 -
2019-06-14 23:10:38 +00:00
nickysn
0db19546ef + dispatch the IMPDEF and EXPDEF records to the newly introduced ReadImpDef and
ReadExpDef methods (not implemented yet)

git-svn-id: trunk@42232 -
2019-06-14 23:06:58 +00:00
nickysn
cdd2ba1a4d + added constants for the known CC_OmfExtension record subtypes (IMPDEF and
EXPDEF are the ones we care about - they are used in win16 dll import and
  export libraries)

git-svn-id: trunk@42231 -
2019-06-14 22:59:50 +00:00
nickysn
fe49522e6f + register a win16 dll scanner. Not functional yet.
git-svn-id: trunk@42230 -
2019-06-14 22:40:11 +00:00
nickysn
1f3d5e8865 - remove the tiny memory model code from TInternalLinkerWin16.DefaultLinkScript,
because the Win16 target doesn't support the tiny memory model

git-svn-id: trunk@42229 -
2019-06-14 22:24:19 +00:00
nickysn
9eaa46f791 + implement TInternalLinkerWin16.DefaultLinkScript by copying the MS-DOS
implementation (not correct, but a good starting point)

git-svn-id: trunk@42228 -
2019-06-14 22:20:51 +00:00
Mattias Gaertner
f50b4c5fbb pastojs: setlength(arr) now always clone
git-svn-id: trunk@42227 -
2019-06-14 20:45:01 +00:00
nickysn
db1903f45d + added a win16 internal linker class. Not functional yet.
git-svn-id: trunk@42226 -
2019-06-14 16:42:45 +00:00
nickysn
d3c3f2742c + added class TNewExeOutput. Not functional yet.
git-svn-id: trunk@42225 -
2019-06-14 16:23:23 +00:00
nickysn
7871ccd054 + initialize some defaults in the TNewExeHeader constructor
git-svn-id: trunk@42224 -
2019-06-14 15:51:25 +00:00
nickysn
1474db42e4 + added class TNewExeHeader that encapsulates a NewExe header and allows writing it to a file
git-svn-id: trunk@42223 -
2019-06-14 14:16:22 +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
Mattias Gaertner
d1830fc589 pastojs: fixed var a: somearray = nil
git-svn-id: trunk@42218 -
2019-06-13 08:05:28 +00:00
Mattias Gaertner
a889888f2a fcl-passrc: added test local var inits
git-svn-id: trunk@42217 -
2019-06-13 08:04:18 +00:00
Legolas
a9b015911d * Updated Wii port to libogc 1.8.22
git-svn-id: trunk@42216 -
2019-06-12 16:35:25 +00:00
florian
73c8861929 * suppress warning for targets without MM registers
git-svn-id: trunk@42214 -
2019-06-11 20:03:47 +00:00
nickysn
dec03b5ac7 + added the asmmodes_x86_att set constant - similar to asmmode_x86_intel, but for AT&T asm syntax
git-svn-id: trunk@42212 -
2019-06-11 15:51:40 +00:00
nickysn
697f2fcf75 * prettify the "Use of -offset(%esp), access may cause a crash or value may be
lost" warning by showing the exact register used (esp or rsp) and using the
  asm syntax (Intel or AT&T) used originally in the code

git-svn-id: trunk@42211 -
2019-06-10 16:19:06 +00:00
nickysn
d2b3da1f14 + add asmmode_standard to the asmmodes_x86_intel set on i8086, because i8086 defaults to intel syntax
git-svn-id: trunk@42210 -
2019-06-10 15:58:16 +00:00
nickysn
ce8ec3ab5d + introduced the asmmodes_x86_intel constant set
git-svn-id: trunk@42209 -
2019-06-10 15:44:19 +00:00
nickysn
4f2ab3fb11 * prettify the "Use of -offset(%ebp) is not recommended for local variable
access" warning by showing the exact register used (bp, ebp or rbp) and using
  the original asm syntax

git-svn-id: trunk@42208 -
2019-06-10 15:26:46 +00:00
nickysn
1e07606cbf * prettify the "Use of +offset(%ebp) is not compatible with regcall convention"
and "Use of +offset(%ebp) for parameters invalid here" warning messages by
  showing the exact register used (bp, ebp or rbp) and using the original asm
  syntax (Intel: [EBP+offset]; AT&T: +offset(%ebp) )

git-svn-id: trunk@42207 -
2019-06-10 15:08:46 +00:00
pierre
49fed0c710 Fix error in commit #42199
git-svn-id: trunk@42206 -
2019-06-10 13:55:59 +00:00
Jeppe Johansen
0d97dc7965 avr: Fixed some inconsistencies.
git-svn-id: trunk@42204 -
2019-06-10 13:35:38 +00:00
nickysn
2487fa7605 + added set TNewExeSegmentFlags
git-svn-id: trunk@42203 -
2019-06-10 13:06:58 +00:00
Legolas
7c02f2b531 * Nintendo DS port updated to libnds ver.1.7.3
git-svn-id: trunk@42202 -
2019-06-10 06:39:46 +00:00
Legolas
4239742b35 * GBA port updated
git-svn-id: trunk@42201 -
2019-06-09 22:27:16 +00:00
florian
f92b8d1681 * changes shift parameter of shift helpers into ALUUInt, as there is an "and" used anyways, this does not change semantics but reduces register pressure on 8 bit targets
git-svn-id: trunk@42200 -
2019-06-09 21:44:18 +00:00
pierre
14b9032ef2 Use use_tag_types everywhere to get consistent results for 'Tt' versus 't' for stabs for string definitions
git-svn-id: trunk@42199 -
2019-06-09 20:59:06 +00:00
florian
fe99252a9b * lazarus version update
git-svn-id: trunk@42198 -
2019-06-09 20:08:09 +00:00
florian
17c48694a5 * fix bootstrapping with 3.0.x and -O3
git-svn-id: trunk@42197 -
2019-06-09 20:05:21 +00:00
michael
44987e376d * Unicode string assertequal (removed doubles)
git-svn-id: trunk@42192 -
2019-06-08 14:43:39 +00:00