Commit Graph

56411 Commits

Author SHA1 Message Date
svenbarth
869664c6da * rename custom attributes related tests to something more sensible
git-svn-id: trunk@42361 -
2019-07-12 22:05:12 +00:00
svenbarth
ed5f19e7e3 * change boolean parameters for try_consume_unitsym to a set
git-svn-id: trunk@42360 -
2019-07-12 22:05:05 +00:00
svenbarth
39bab2dbcc * rename trtti_attributesdef to trtti_attributes_list
git-svn-id: trunk@42359 -
2019-07-12 22:05:00 +00:00
svenbarth
84848df18d Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 3/3]
Added FPC_REQUIRES_PROPER_ALIGNMENT to TUnitInfo definition. Added FPC_HAS_EXTENDED_RTTI define.

git-svn-id: trunk@42358 -
2019-07-12 22:04:56 +00:00
svenbarth
f91e38d1bd Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 2/3]
Regenerated compiler/msgidx.inc and compiler/msgtxt.inc.

git-svn-id: trunk@42357 -
2019-07-12 22:04:53 +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
Mattias Gaertner
28e07f77e4 pastojs: fixed createcallback inside anonymous method
git-svn-id: trunk@42355 -
2019-07-12 16:56:35 +00:00
svenbarth
2a7b750d70 * write a name for the none property access entry (looks nicer than a "(Nil)" at the start of the line)
git-svn-id: trunk@42354 -
2019-07-12 16:25:36 +00:00
svenbarth
54c4fb2a00 * write an entry name for the property options
git-svn-id: trunk@42353 -
2019-07-12 16:25:33 +00:00
svenbarth
1607e15e48 * ensure that the toString constant is used instead of TObject's ToString method
git-svn-id: trunk@42352 -
2019-07-12 16:25:30 +00:00
michael
a516b6fd74 * Fix bug ID #0035817
git-svn-id: trunk@42351 -
2019-07-11 20:33:39 +00:00
michael
fde8697032 * Always try to show the field name when possible
git-svn-id: trunk@42350 -
2019-07-11 20:17:29 +00:00
michael
0fb74a0f57 * Always try to show the field name when possible
git-svn-id: trunk@42349 -
2019-07-11 20:16:35 +00:00
Mattias Gaertner
3d662b5e5c fcl-passrc: fixed helper in other unit
git-svn-id: trunk@42348 -
2019-07-10 08:28:11 +00:00
Mattias Gaertner
e5214b94a5 fcl-passrc: fixed parsing class var a:t;b:t
git-svn-id: trunk@42347 -
2019-07-10 07:55:28 +00:00
nickysn
0a94f8fc08 + parse the IMPDEF record in TOmfObjInput.ReadImpDef
git-svn-id: trunk@42346 -
2019-07-09 12:31:11 +00:00
michael
ebd005d1a7 * Fix bug ID #35796, codepage issue when getting string as variant
git-svn-id: trunk@42344 -
2019-07-08 10:27:11 +00:00
michael
2425b97462 * Patch from Maciej Izak to allow loading multiple times
git-svn-id: trunk@42343 -
2019-07-08 10:24:00 +00:00
Jonas Maebe
7f772683cb * fix tobjectdef.vmt_def to search in the correct symtable
* always register vmt defs (so they get written to the ppu) in case of llvm,
    because it may need this def in case a method from a class defined in the
    implementation of unit gets called from an inlined routine that gets
    inlined in another unit (normally that vmt def would not get written to
    the ppu file, as it can't be referenced from the interface and it's also
    not necessarily directly referenced from the inline routine's nodes)
    (fixes sdo_dataobject compilation with LLVM after enabling cross-unit
     inlining of methods accessing static symbol table symbols)

git-svn-id: trunk@42342 -
2019-07-07 21:33:51 +00:00
Jonas Maebe
e56b58c2b0 * factored out checks whether a procdef's symbol needs to be global, and
the generation of the procdef's asmsymbols
   o also removed unnecessary definition of procdef alias symbols for Darwin
     (they are already defined in ncgutil.alloc_proc_symbol)

git-svn-id: trunk@42341 -
2019-07-07 21:33:47 +00:00
Jonas Maebe
3fee990218 * on Mach-O, PECOFF and ELF platforms, write local symbols as hidden/
private_extern (or plain global in case of PECOFF, as the effect is
    the same there): visible across object files, but they become local
    when linked into a binary/library. This enables cross-unit inlining
    of functions accessig implementation-only symbols.

git-svn-id: trunk@42340 -
2019-07-07 21:33:43 +00:00
Jonas Maebe
449a14dddf - disabled ogmacho, as it can no longer deal with the assembly we generate
git-svn-id: trunk@42339 -
2019-07-07 21:33:39 +00:00
Jonas Maebe
0f57327bff * maybereplacewithtemp/maybereplacewithtempref: also create a temp in case
of possible side effects

git-svn-id: trunk@42338 -
2019-07-07 21:33:36 +00:00
Jeppe Johansen
7dc515b62c - Fix result type of SizeOf and BitSizeOf to use sizesint instead of sint.
git-svn-id: trunk@42337 -
2019-07-07 14:37:45 +00:00
Jeppe Johansen
48a7c0989a - Change syntax of sbiw operands to work around syntax in older binutils.
git-svn-id: trunk@42336 -
2019-07-07 11:48:00 +00:00
Jeppe Johansen
a1a17447ff - Fix bug in 64bit softfloat double negation.
- Clean up handling of CPU/FPU type handling in RISCV.
- Do more fixes to get RISCV32 working.
- Fix most soft multiplication handling for generic RISCV code. Still missing a few.
- Add RISCV embedded targets.

git-svn-id: trunk@42335 -
2019-07-07 11:32:27 +00:00
Jeppe Johansen
e53cb61b11 Add support for softfloat in RISCV RTL.
git-svn-id: trunk@42334 -
2019-07-07 11:24:44 +00:00
Jeppe Johansen
9c77e87dd0 Fix types on embedded RTL.
Optimize consoleio for size on AVR.
Add support for RISC-V.
Regenerated makefile

git-svn-id: trunk@42333 -
2019-07-06 17:04:51 +00:00
Jonas Maebe
40082100e1 * fixed range test optimization for signed types and enabled it for them
git-svn-id: trunk@42332 -
2019-07-06 09:57:32 +00:00
svenbarth
b270b0f7f0 * fix typo
git-svn-id: trunk@42331 -
2019-07-05 15:33:43 +00:00
svenbarth
433f07c407 * forgot to commit tests in r42329
git-svn-id: trunk@42330 -
2019-07-05 15:30:53 +00:00
svenbarth
2e4d8e36a5 * fix for Mantis #35670: when a unused dummy symbol is found for a non-generic procedure/function, hide that dummy symbol and create a new symbol for the procedure/function
+ added tests

git-svn-id: trunk@42329 -
2019-07-05 14:12:16 +00:00
svenbarth
d0eddbcbb9 * fix for Mantis #35735: also handle "generic" keyword inside helper types
+ added test

git-svn-id: trunk@42328 -
2019-07-05 14:12:13 +00:00
svenbarth
a2ce2cea94 * fix for Mantis #35760: apply patch by user Bloodbatgot to fix drawing of thick lines
git-svn-id: trunk@42327 -
2019-07-05 12:40:55 +00:00
marco
2bebfeca3a * return to findexinfostandard, because it didn't work (only changes reporting, not searching).
However the sfn was user accessable via finddata, so for now enable that aain, mantis 35773

git-svn-id: trunk@42326 -
2019-07-05 09:12:47 +00:00
marcus
d9f3867783 Fixed ppudump compilation on big endian platforms after r42324
git-svn-id: trunk@42325 -
2019-07-04 16:49:26 +00:00
pierre
40f0372d8c Correctly read saved tsettings
git-svn-id: trunk@42324 -
2019-07-04 15:25:40 +00:00
pierre
d8b89432a2 * Set ControllerSupport to false for sparc/sparc64 and x86_64 CPUs.
This boolean must only be set to true if TControllerType is not simply (ct_none)
  * ppu.pas: Increment CurrentPPULongVersion constant as the above modification
    changes the number of fields of the TSettings record that is saved to
    PPU in ST_LOADSETTINGS field.

git-svn-id: trunk@42323 -
2019-07-04 15:24:49 +00:00
pierre
828a248287 Systematically include fpcdefs.inc at sart of all units used by compiler
git-svn-id: trunk@42322 -
2019-07-03 13:35:05 +00:00
pierre
67cf63049d Commit patch submitted in bug report #35787 by Gareth Moreton
git-svn-id: trunk@42318 -
2019-07-01 19:42:48 +00:00
pierre
b9649d17a5 Commit modified file after commit #42260
git-svn-id: trunk@42317 -
2019-07-01 17:34:08 +00:00
Mattias Gaertner
bd5a81c657 fcl-image: fpreadtiff: fixed inline
git-svn-id: trunk@42316 -
2019-07-01 14:16:32 +00:00
michael
561fa85104 * Fix comment for DateTimeToStr
git-svn-id: trunk@42315 -
2019-06-30 17:20:35 +00:00
Jonas Maebe
56acdd3a11 * fixed compilation with -dTest_Double_checksum_write
git-svn-id: trunk@42314 -
2019-06-30 17:19:31 +00:00
Jonas Maebe
40f6a4ea3c - removed remnants of old ppu file support (ppudump does not support any
other ppu version than the current one anyway)

git-svn-id: trunk@42313 -
2019-06-30 16:24:48 +00:00
Jonas Maebe
cc9f8b7f56 * record in ppu flag whether or not symbols are ansistrings, and use that
flag in ppudump rather than hardcoding targets (it's also the case for
    LLVM)

git-svn-id: trunk@42312 -
2019-06-30 16:24:44 +00:00
Jonas Maebe
789f13eb24 * LLVM-specific support for popcnt
git-svn-id: trunk@42311 -
2019-06-30 15:23:36 +00:00
Mattias Gaertner
5ee32296f0 pastojs: note about typeinfo(aClassVar)
git-svn-id: trunk@42310 -
2019-06-30 14:44:54 +00:00
Jonas Maebe
0a91fcb44f * LLVM-specific support for bsr*/bsf*
git-svn-id: trunk@42309 -
2019-06-29 16:27:18 +00:00
Jonas Maebe
6b97c712f6 * volatile syms should never be regable
git-svn-id: trunk@42308 -
2019-06-29 16:27:14 +00:00