Commit Graph

60910 Commits

Author SHA1 Message Date
michael
9ac84262f6 * Last patch from Andrey Sobol to fix bug ID #38141
git-svn-id: trunk@47719 -
2020-12-08 09:49:44 +00:00
florian
674c3f04e0 + added explanation for min/max intrinsics
* prepared x86 implementation for proper NaN handling

git-svn-id: trunk@47715 -
2020-12-07 21:31:07 +00:00
Mattias Gaertner
18919b774d pastojs: fixed writing map file when OnWriteJS handler returns true
git-svn-id: trunk@47714 -
2020-12-07 18:49:54 +00:00
Mattias Gaertner
dbdd90a989 pastojs: on handled error set LastErrorClass empty
git-svn-id: trunk@47713 -
2020-12-07 17:06:58 +00:00
Mattias Gaertner
e25848ab32 pastojs: catch load file exceptions and turn into regular errors
git-svn-id: trunk@47712 -
2020-12-07 16:58:52 +00:00
pierre
44b325ec3e * Initialize result out parameter by caling the constructor Init, not the method Reset.
This out parameter called 'result' is of type tcgpara, which is an object, but not a class,
      it has no virtual method, which means that the VMT is never used, and thus the
      fact that the object is not 'constructed' can be easily missed.
      Nevertheless, it could generate problems as the different fields have unassigned
      and thus random value, while reset method can dereference location field
      if not nil.
      Issue found by using -gttt compiler option.

git-svn-id: trunk@47711 -
2020-12-07 16:35:46 +00:00
michael
9fc390877e * Partially resolved ID 38141 : better handling of class hierarchy and cross-package links
git-svn-id: trunk@47710 -
2020-12-07 11:55:51 +00:00
pierre
a7232669ff * Adapted from patch node-dump-pass-1.patch submitted by J. Gareth Moreton from bug report 38156.
This patch extends the DEBUG_NODE_XML debug feature by also outputting, 
     to the *-node-dump.xml files, the node tree as it appears after the first pass, 
     since it often contains many more internal nodes like temporary allocations that may need
     to be evaluated for debugging and development purposes, or node-level optimisation opportunities.

git-svn-id: trunk@47709 -
2020-12-07 07:28:04 +00:00
Mattias Gaertner
54627fe1e7 pastojs: filer: restore method decl SelfArg
git-svn-id: trunk@47706 -
2020-12-06 22:18:05 +00:00
Mattias Gaertner
bf5a2a46de fcl-passrc: fixed calling type helper method when unit implementation is not yet read
git-svn-id: trunk@47705 -
2020-12-06 22:16:55 +00:00
florian
8d238cfaa1 * limit min/max optimization to fastmath for now, as the NaN handling is not working yet
git-svn-id: trunk@47704 -
2020-12-06 20:22:39 +00:00
marco
36eaa6c9ae * tried to apply patch of mantis #38169 in a more minimal way and fixing some of the omissions.
git-svn-id: trunk@47703 -
2020-12-06 20:17:48 +00:00
florian
d49453edba * quick fix for llvm compilation
git-svn-id: trunk@47702 -
2020-12-06 19:31:03 +00:00
florian
1a9678f4c4 + min/max support for x86
git-svn-id: trunk@47701 -
2020-12-06 18:09:30 +00:00
florian
c0d75c1c69 * patch Christo Crause: Use LDS for 8 bit references, resolves #38173
git-svn-id: trunk@47700 -
2020-12-06 16:40:30 +00:00
florian
4f3271500a * (modified) patch by Christo Crause: ESP8266 doesn't support min/max instructions, resolves #38175
git-svn-id: trunk@47699 -
2020-12-06 16:37:54 +00:00
florian
92520c423e * x86 change information updated
git-svn-id: trunk@47698 -
2020-12-06 16:22:38 +00:00
florian
a16b34d951 * test for min/max intrinsics
git-svn-id: trunk@47697 -
2020-12-06 14:19:00 +00:00
florian
19ce665b3d * compilation fixed
git-svn-id: trunk@47696 -
2020-12-06 14:18:59 +00:00
florian
7da0284bfc + read 64-Bit ELF executable info correctly
git-svn-id: trunk@47695 -
2020-12-06 10:23:18 +00:00
florian
e60a367f1b + project file for PowerPC64LE
git-svn-id: trunk@47694 -
2020-12-06 10:23:17 +00:00
florian
57dc416d96 + replace appropriate if statements by min/max intrinsics
+ support min/max intrinsic on xtensa

git-svn-id: trunk@47693 -
2020-12-05 22:00:59 +00:00
florian
6e4997265c + min/max intrinsics for internal use by the compiler
git-svn-id: trunk@47692 -
2020-12-05 22:00:58 +00:00
florian
28d248c9d4 * cleanup merge overlefts
git-svn-id: trunk@47691 -
2020-12-05 22:00:57 +00:00
pierre
19d5e43615 Avoid internalerror in RemoveCurrentP for arm compiler
git-svn-id: trunk@47690 -
2020-12-05 21:23:09 +00:00
pierre
0189276a12 Raise internalerror inside RemoveCurentP is called with p=hp1, because it leads to using a class instance after it has been freed
git-svn-id: trunk@47689 -
2020-12-05 21:22:18 +00:00
florian
4f3a21eeec * don't do x*x -> optimziation for xtensa as it causes a recursive call in sqr(...)
git-svn-id: trunk@47688 -
2020-12-04 22:43:55 +00:00
svenbarth
deaff6f7fe * fix for Mantis #38151: when a Variant is passed by reference to a IDispatch property then invoke it using DISPATCH_PROPERTYPUTREF instead of DISPATCH_PROPERTYPUT
+ added test

git-svn-id: trunk@47687 -
2020-12-04 22:07:39 +00:00
svenbarth
69e6f3dcbb * if a call inside a generic's code that involves generic type arguments can't be clearly determined then postpone it till specialization in the hope that the type will be clear then
+ added test

git-svn-id: trunk@47686 -
2020-12-04 22:07:34 +00:00
Mattias Gaertner
0be298802b pastojs: filer: record values
git-svn-id: trunk@47684 -
2020-12-04 13:54:29 +00:00
yury
d72566169e * The code generator of the exit statement must set the fc_gotolabel flag in flowcontrol for inlined routines/code blocks. It fixes the incorrect assumption that such exit statements terminate the main routine.
git-svn-id: trunk@47683 -
2020-12-04 12:33:47 +00:00
Mattias Gaertner
d1cfb15a2a pastojs: filer: fixed checking signature in interface used unit referenced by implementation and needing indirect implementation unit
git-svn-id: trunk@47682 -
2020-12-04 11:06:42 +00:00
florian
9c6bdcfbb7 * fix in r47632 should be enabled for all targets as it is a stack tainting
parameter

git-svn-id: trunk@47680 -
2020-12-03 21:22:07 +00:00
Mattias Gaertner
b90504a458 pastojs: filer skip not fully specialized
git-svn-id: trunk@47679 -
2020-12-03 20:53:13 +00:00
Mattias Gaertner
988b67ae71 pastojs: filer: fixed specialize A<B<C>>
git-svn-id: trunk@47677 -
2020-12-03 16:20:21 +00:00
Mattias Gaertner
055cfa28b7 fcl-passrc: resolver: fixed specialize name of A<B<C>>
git-svn-id: trunk@47676 -
2020-12-03 16:20:10 +00:00
pierre
0cc91a50c7 Fix z80 compiler failure after change to ConcatConstSymbol in commit #47668
git-svn-id: trunk@47675 -
2020-12-03 11:05:36 +00:00
Mattias Gaertner
0eac775cea pastojs: filer: fixed restoring overload names of specialized methods
git-svn-id: trunk@47674 -
2020-12-03 10:44:32 +00:00
Mattias Gaertner
7b223eafe1 pastojs: filer: read inline specialize expr
git-svn-id: trunk@47673 -
2020-12-03 09:48:52 +00:00
Mattias Gaertner
e2fb9a43b4 pastojs: filer: skip generic references to generic types
git-svn-id: trunk@47672 -
2020-12-03 08:42:26 +00:00
Mattias Gaertner
e17365b12a pastojs: fixed specialize impl procs
git-svn-id: trunk@47670 -
2020-12-03 00:02:19 +00:00
Mattias Gaertner
c1496a266e fcl-passrc: resolver: use declproc signature
git-svn-id: trunk@47669 -
2020-12-03 00:01:54 +00:00
florian
482698e566 + add endsym to ConcatConstSymbol
git-svn-id: trunk@47668 -
2020-12-02 21:44:12 +00:00
pierre
6230de31bb * Second patch xml-node-dump-defs.patch from J. Gareth Moreton from bug report 36882.
With same changes to ensure that xmllint find no errors in generated xml files.

git-svn-id: trunk@47667 -
2020-12-02 21:01:40 +00:00
Mattias Gaertner
01766a3ff7 pas2js: filer: fixed storing reference to await and debugger
git-svn-id: trunk@47666 -
2020-12-02 15:11:35 +00:00
Mattias Gaertner
1c1e994ffc pastojs: delayed inits only for fully specialized types
git-svn-id: trunk@47665 -
2020-12-02 13:58:53 +00:00
pierre
a7fa31aa10 Fix i8086 compiler failure due to move of printnodeindention variable into verbose unit in commit #47658
git-svn-id: trunk@47664 -
2020-12-02 09:29:08 +00:00
florian
cbec395907 * test needs -Cg to trigger the warning
git-svn-id: trunk@47661 -
2020-12-01 21:54:45 +00:00
florian
0b63068ad2 * dir_push might not flush pending switch changes but has to read the pending
record if needed

git-svn-id: trunk@47660 -
2020-12-01 21:39:38 +00:00
florian
8b06b43c1a * meanwhile all linux targets support the checkpointer directive
git-svn-id: trunk@47659 -
2020-12-01 21:18:47 +00:00