Commit Graph

844 Commits

Author SHA1 Message Date
pierre
769f85783a List TSettings partially and improve generic output
git-svn-id: trunk@42111 -
2019-05-20 22:06:57 +00:00
Jonas Maebe
aad87820e6 * abstracted registration of library init/fini routines (to be able to add
LLVM support)

git-svn-id: trunk@42104 -
2019-05-19 19:20:47 +00:00
pierre
c0f064a35c Remove two warnings about missing case (others are still present in ppudump.pp source)
git-svn-id: trunk@42085 -
2019-05-16 12:42:39 +00:00
Jonas Maebe
d150869dea * record symbols that need to remain in their original order, and on Darwin
pass them to the linker so it does not reorder them
   o fixes resource strings on Darwin when using LTO (this used to reorder the
     resource string symbols, so they no longer all appeared between the START
     and END symbols for their compilation module)

git-svn-id: trunk@41907 -
2019-04-20 18:18:10 +00:00
Jonas Maebe
0225a3a39a * ppudump: fixed reading of ibresource section
git-svn-id: trunk@41905 -
2019-04-20 18:18:03 +00:00
pierre
ec76e879c9 Integrate patch from bug report 35409.
Add possibiliy to throw InternalError
  for unhandled case values inside tentryfile,
  But avoid adding dependency on verbose unit
  as this would break ppudump handling of ppu files.

  Add RaiseAssertion virtual method to tentryfile class.
  Call RaiseAssertion in tentryfile methods
  where an internal error is wanted.
  Override RaiseAssertion method in symtype.pas unit
  to call InternalError.
  Add new class tppudumpfile to override RaiseAssertion
  in utils/ppuutils/ppudump.pp unit.

git-svn-id: trunk@41896 -
2019-04-18 14:08:03 +00:00
Jonas Maebe
349bb2ff38 * check CurrentPPULongVersion in ppumove
git-svn-id: trunk@41866 -
2019-04-13 15:12:09 +00:00
Jonas Maebe
0b61b5d4cf * added extra header to ppu inside a subsection, so we won't run into
trouble when the ppu version hits 255
  * also moved several ppu flags to a set inside that section

git-svn-id: trunk@41846 -
2019-04-06 21:28:43 +00:00
Jonas Maebe
1bb8bd471a * fix msgtxt array size if the text size is an exact multiple of 240
git-svn-id: trunk@41725 -
2019-03-17 15:22:06 +00:00
pierre
74fed2a4cd Regenerate Makefile's after fpcmake change in commit #41721
git-svn-id: trunk@41723 -
2019-03-17 14:45:03 +00:00
yury
b0535d8d0f * ppudump: Fixed a warning regarding text clipping.
git-svn-id: trunk@41628 -
2019-03-07 10:36:05 +00:00
yury
54756c0f60 * ppudump: Fixed formatting of a error message.
git-svn-id: trunk@41627 -
2019-03-07 10:33:04 +00:00
yury
37941d03cc * ppudump: Avoid using GetLastOSError on platforms that doesn't support it (e.g. go32v2).
git-svn-id: trunk@41625 -
2019-03-07 10:18:15 +00:00
Jonas Maebe
8b9e90dc7a * keep track of whether a routine has a C-style variadic parameter in the
procoptions even when it's through an array-of-const parameter
  * always call create_varargs_paraloc_info() instead of create_paraloc_info()
    in the former case, even when no varargs parameters are specified (because
    on some platforms even some non-variadic parameters need to be passed
    differently, such as on ARM with gnueabihf)

git-svn-id: trunk@41420 -
2019-02-23 15:42:45 +00:00
yury
fa4596a08f * ppudump: Fixed warnings with -O3.
git-svn-id: trunk@41394 -
2019-02-20 10:24:48 +00:00
yury
9a3ddf650c * ppudump: Use buffered write when outputting to json or xml. It improves the output speed a lot.
git-svn-id: trunk@41393 -
2019-02-20 10:13:18 +00:00
Jonas Maebe
503ea604f3 + nolinline modifier to specify that a routine must never be inlined
git-svn-id: trunk@41198 -
2019-02-03 21:00:17 +00:00
joost
6ffe906794 * Mover {CompilerVersion} from the fppkg.cfg template to samplecfg, because
on Windows it is possible to install fpc in a location without the 
   compilerversion in the path.

git-svn-id: trunk@41184 -
2019-02-03 13:32:43 +00:00
Károly Balogh
6c87b89e45 atari: fpc now searches for the compiler with .ttp extension, as that's the default on Atari
git-svn-id: trunk@41141 -
2019-01-30 10:48:27 +00:00
pierre
3e2b102a44 Add missing support for -PriscvXX and -Psparc64
git-svn-id: trunk@40833 -
2019-01-10 12:18:22 +00:00
Jonas Maebe
51e68eb302 * fixed several places where the interface crc could change:
o unsetting po_inline while parsing the implementation for various reasons
     (interprocedural goto/label, accessing a local in a parent frame,
      having nested procedures)
   o instead handle this via the pio_inline_not_possible flag
   o noreturn can no longer be specified only in the implementation

git-svn-id: trunk@40789 -
2019-01-06 20:35:56 +00:00
Károly Balogh
5182dc37af haiku-x86_64: regenerated all Makefiles, take 2
git-svn-id: trunk@40758 -
2019-01-04 03:18:42 +00:00
Károly Balogh
2f7fe0e737 haiku-x86_64: add target to the compiler and ppudump, enable it in fpmake and fpcmake
git-svn-id: trunk@40753 -
2019-01-04 02:16:24 +00:00
Jonas Maebe
50ab607676 + customint torddef type to create arbitraty bit-width integers
o use this to handle non-power-of-two-sized parameters for llvm
   o no general support in the parser/code generator, so don't expose

git-svn-id: trunk@40398 -
2018-11-29 20:57:08 +00:00
pierre
0052e4da81 * Use getasizeint/putasizeint for tfieldvarsym.fieldoffset
* Change CurrentPPUVersion

git-svn-id: trunk@40347 -
2018-11-18 10:32:13 +00:00
florian
9f16c34329 + initial work for tls-based threadvar support on arm-linux
git-svn-id: trunk@40267 -
2018-11-07 22:02:58 +00:00
yury
dd60397165 + Added the pio_inline_not_possible flag to timplprocoption. It is set if a function can't be inline (contains an assembler block, etc). When calling such functions, no note "Call to subroutine "?" marked as inline is not inlined" is emitted.
git-svn-id: trunk@40254 -
2018-11-07 12:20:30 +00:00
pierre
e49025a086 More -CriotR fixes:
* entfile.pas: Change PPU header falgs filed from longint to dword.
  * ngtcon.pas: Change local variable startoffset type to aword.
  * omfbase.pas: Avoid calling move with a nil string s indexed as s[1],
    to avoid a range check error.
  * owomflib.pas: Disable range check explicitly in hash computation.
  * utils/ppuutils/ppudump.pp: Adapt to flags type change in entfile.pas

git-svn-id: trunk@40163 -
2018-11-01 21:58:54 +00:00
pierre
3b49fda0a2 Only call moved if len>0, as otherwise astring local variable is nil, which leads to a range check error for astring[1]
git-svn-id: trunk@40132 -
2018-11-01 07:09:47 +00:00
pierre
9c2ac7b3dd Avoid range check error in ReadPosInfo
git-svn-id: trunk@40115 -
2018-10-31 22:53:11 +00:00
pierre
378e1dfaa4 Add explicit typecast to avoid range check error
git-svn-id: trunk@40001 -
2018-10-20 22:19:08 +00:00
yury
a29290202f * Regenerated makefiles to support x86_64-android.
git-svn-id: trunk@39958 -
2018-10-17 17:12:20 +00:00
yury
e367577bf1 + added support for x86_64-android target.
git-svn-id: trunk@39956 -
2018-10-17 16:56:27 +00:00
Jonas Maebe
0b246f3dbd * converted Boolean8 to an internal type, and mapped Boolean to the
new internal pasbool1(type) (part of mantis #34411)
   o apply the _Bool x86-64 parameter passing rules only to pasbool1

git-svn-id: trunk@39949 -
2018-10-16 21:14:18 +00:00
pierre
a898ae856f Adapt ppudump to fix introduced in revision 39912
git-svn-id: trunk@39914 -
2018-10-12 06:05:50 +00:00
yury
8c59eb1ce5 * Regenerated makefiles to support aarch64-android.
git-svn-id: trunk@39863 -
2018-10-06 09:36:03 +00:00
yury
671d31df1d + Added support for the aarch64-android target.
git-svn-id: trunk@39862 -
2018-10-06 09:33:09 +00:00
pierre
915fb05055 Update remaining Makefile's
git-svn-id: trunk@39830 -
2018-09-27 07:10:27 +00:00
florian
a34d4e715c Merged riscv_new branch
git-svn-id: trunk@39813 -
2018-09-26 19:49:08 +00:00
svenbarth
600ed6701e + keep track whether a structured type has fields with management operators (or fields that in turn have fields with management operators and so on) and store that in the PPU to speed up compilation again
* adjusted PPUdump for this

git-svn-id: trunk@39709 -
2018-09-03 18:00:27 +00:00
marco
98f00acb06 * trunk to 3.3.1
git-svn-id: trunk@39635 -
2018-08-18 15:47:44 +00:00
Jeppe Johansen
2aaf481d89 Regenerated makefiles.
git-svn-id: branches/laksen/riscv_new@39476 -
2018-07-20 10:40:57 +00:00
Jeppe Johansen
ceb38833f2 Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
git-svn-id: branches/laksen/riscv_new@39474 -
2018-07-20 08:21:15 +00:00
svenbarth
cc153176f3 + add a new symtable option sto_has_non_trivial_init that is true if the symtable contains a symbol with an
Initialize() operator (like sto_needs_init_final this flag is calculated on demand)
* increase PPU version

git-svn-id: trunk@39252 -
2018-06-20 19:00:08 +00:00
florian
21d785e41b * do not unroll loops if the counter variable is accessed outside the current scope
git-svn-id: trunk@39163 -
2018-06-03 15:12:48 +00:00
nickysn
a275d15da2 + added an i8086-specific column in x86reg.dat for the dwarf register numbers
and filled it with the dwarf register mapping, used by Open Watcom (Watcom
  also uses this mapping on i386, but we don't need to support their debugger on
  i386 for now)

git-svn-id: trunk@39097 -
2018-05-23 15:12:58 +00:00
pierre
d12ba4d37d Regenerated Makefile's after addition of ppas and ppaslink script removal in rev 38745
git-svn-id: trunk@38749 -
2018-04-12 15:21:49 +00:00
pierre
79730fe479 Fix compilation error after introduction of po_hasnearfarcallmodel
git-svn-id: trunk@38734 -
2018-04-11 20:09:05 +00:00
pierre
554c0c5a2a Avoid to access past length of string in last commit
git-svn-id: trunk@38417 -
2018-03-05 21:43:28 +00:00
pierre
01154e1f55 Also discard lines beginning with # for multiline messages
git-svn-id: trunk@38416 -
2018-03-05 21:36:37 +00:00