Commit Graph

56514 Commits

Author SHA1 Message Date
Jonas Maebe
c262c5dbc9 * synchronised with trunk till r42256
git-svn-id: branches/debug_eh@42257 -
2019-06-20 17:21:34 +00:00
florian
b71164deca * fix warnings
git-svn-id: branches/debug_eh@42256 -
2019-06-20 17:13:59 +00:00
florian
1ed0000ae8 + Encode(U/S)leb128 take now a third parameter to force that the constant has a certain minimum size
+ tai_const has a new field fixed_size which is used to fix the size of an s/uleb128. This is needed to ensure convergence during assembling when calculating offsets

git-svn-id: branches/debug_eh@42255 -
2019-06-20 17:13:28 +00:00
florian
adb8e1b76c * fix writing of augmentation size
git-svn-id: branches/debug_eh@42254 -
2019-06-20 15:33:49 +00:00
florian
e4f821487d * write correct s/uleb types
git-svn-id: branches/debug_eh@42253 -
2019-06-20 15:30:07 +00:00
Mattias Gaertner
783505b4d7 fcl-passrc: starting test generics
git-svn-id: trunk@42252 -
2019-06-20 08:47:30 +00:00
Mattias Gaertner
fb29815fbf fcl-passrc: fixed parsing objfpc inline specialize
git-svn-id: trunk@42251 -
2019-06-20 08:47:04 +00:00
michael
6c1593652b * Patch from Ondrej Pokorny to support streaming to position 0 (bug ID 35724)
git-svn-id: trunk@42250 -
2019-06-19 12:24:59 +00:00
michael
024714fa20 * Fix non-threading platforms
git-svn-id: trunk@42249 -
2019-06-19 08:10:26 +00:00
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