Commit Graph

54624 Commits

Author SHA1 Message Date
pierre
2a9ce2ed6c Disable three operand overload of MatchOpType for avr and jvm targets, which only have 2 operands max
git-svn-id: trunk@40170 -
2018-11-01 23:04:18 +00:00
Mattias Gaertner
c39cc4475f pastojs: fixed assigning class var of descended classes
git-svn-id: trunk@40168 -
2018-11-01 22:40:57 +00:00
Mattias Gaertner
3f50c51225 fcl-passrc: added TPasResolver.IsClassField
git-svn-id: trunk@40166 -
2018-11-01 22:36:46 +00:00
Mattias Gaertner
2070df21ac fcl-passrc: debug check
git-svn-id: trunk@40165 -
2018-11-01 22:36:24 +00:00
Mattias Gaertner
2f5d081b5d nodepas2js: clean up
git-svn-id: trunk@40164 -
2018-11-01 22:35:17 +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
florian
59d5d6ec95 + factored out TX86AsmOptimizer.PrePeepholeOptIMUL, used now by x86-64 and i386
* generalized and simplified the code

git-svn-id: trunk@40162 -
2018-11-01 20:49:20 +00:00
florian
47c9bca7f2 * number of cycles slightly increased for better measurements
git-svn-id: trunk@40161 -
2018-11-01 20:49:19 +00:00
florian
2a016889de * skip align directives after unconditional jumps
git-svn-id: trunk@40160 -
2018-11-01 20:49:18 +00:00
florian
a092da723a + new fields for more precise control of alignment
+ support of new alignment control values for GNU AS writer
+ support of new alignment control values for binary writer
* better alignment settings on i386-win32
* improved inserted align directives for if nodes

git-svn-id: trunk@40159 -
2018-11-01 20:49:17 +00:00
florian
64e8557180 + introduce tai_align_abstract.create_max which limits the maximal number of bytes being inserted for alignment
git-svn-id: trunk@40158 -
2018-11-01 20:49:15 +00:00
florian
cdce68451a - x86 align does not use a register anymore, code removed
git-svn-id: trunk@40157 -
2018-11-01 20:49:15 +00:00
Jonas Maebe
011968e74b * replaced "is" test with faster field value test
git-svn-id: trunk@40156 -
2018-11-01 20:39:41 +00:00
Jonas Maebe
1a9eb77698 * fixed compilation with -O3 (one false positive, one real error)
git-svn-id: trunk@40155 -
2018-11-01 20:39:38 +00:00
Mattias Gaertner
5951a3c0ce pastojs: fixed inc(classvar)
git-svn-id: trunk@40152 -
2018-11-01 15:06:59 +00:00
Mattias Gaertner
f5574bebc9 pastojs: using same val function as resolver
git-svn-id: trunk@40151 -
2018-11-01 13:58:26 +00:00
Mattias Gaertner
681016370e fcl-passrc: fixed IsCharLiteral in pas2js
git-svn-id: trunk@40150 -
2018-11-01 13:58:01 +00:00
Mattias Gaertner
f9e426c45a pas2js: clean up $shared in sets
git-svn-id: trunk@40148 -
2018-11-01 13:37:49 +00:00
Mattias Gaertner
ef3b1ee5ba pas2js: hide $shared in sets
git-svn-id: trunk@40146 -
2018-11-01 13:35:12 +00:00
Mattias Gaertner
a2f89ac1f9 pas2js: debug val() failure
git-svn-id: trunk@40144 -
2018-11-01 13:32:58 +00:00
Mattias Gaertner
05243a2de6 pas2js: hide $shared in sets
git-svn-id: trunk@40143 -
2018-11-01 13:32:19 +00:00
Jonas Maebe
0cd85d73e4 * ttryfinallynode now inherits from tbinarynode instead of tloopnode, as its
t1 field was always set to tnothingnode

git-svn-id: trunk@40142 -
2018-11-01 13:19:33 +00:00
Mattias Gaertner
cc44f64920 pastojs: fixed for e in set do
git-svn-id: trunk@40140 -
2018-11-01 12:43:39 +00:00
Mattias Gaertner
db4f11201a nodepas2js: exception handling with stacktrace
git-svn-id: trunk@40139 -
2018-11-01 12:42:40 +00:00
Mattias Gaertner
32907ada6d pastojs: fixed searching paths without trailing pathdelim
git-svn-id: trunk@40138 -
2018-11-01 12:42:05 +00:00
Mattias Gaertner
42c2859ce4 fcl-passrc: fixed hashlist for pas2js
git-svn-id: trunk@40137 -
2018-11-01 12:41:04 +00:00
Mattias Gaertner
46b1838d60 fcl-json: fixed hashlist for pas2js
git-svn-id: trunk@40136 -
2018-11-01 12:40:46 +00:00
Mattias Gaertner
b5e7566e55 fcl-js: fixed hashlist for pas2js
git-svn-id: trunk@40135 -
2018-11-01 12:40:25 +00:00
Mattias Gaertner
72bab28659 pastojs: fixed local record and enum types
git-svn-id: trunk@40133 -
2018-11-01 10:02:18 +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
96460b70b2 Remove another wrong typecast when testing that a tai is an instruction
git-svn-id: trunk@40131 -
2018-11-01 07:01:02 +00:00
Mattias Gaertner
a34b1f36e0 pastojs: fixed parsing if-then-raise-else
git-svn-id: trunk@40129 -
2018-11-01 00:19:39 +00:00
Mattias Gaertner
057534ef47 pastojs: fixed initializing static array of record
git-svn-id: trunk@40127 -
2018-10-31 23:40:45 +00:00
Mattias Gaertner
4d69aebf18 pastojs: nodejs js exception handling
git-svn-id: trunk@40126 -
2018-10-31 23:40:14 +00:00
Mattias Gaertner
5f43eb5baa fcl-passrc: fixed TPasResHashList arbitrary values
git-svn-id: trunk@40125 -
2018-10-31 23:37:55 +00:00
pierre
9c90f593ab Add global range check disable for i8086 cgcpu and x86 nx86add units
git-svn-id: trunk@40124 -
2018-10-31 23:20:29 +00:00
pierre
a015c779ff Remove unneeded typecasts in TryTOptimizeMove
git-svn-id: trunk@40123 -
2018-10-31 23:19:39 +00:00
pierre
fbffd2a38f Fix typecast in FindRegDeAlloc call
git-svn-id: trunk@40122 -
2018-10-31 23:18:09 +00:00
pierre
bb219cd05a Add check about tloadnode.symtableentry type before typecast
git-svn-id: trunk@40121 -
2018-10-31 23:16:51 +00:00
pierre
0abc978cc4 Change RemoveCurrentP parameter type to tai, because GetNextInstruction does not always return a taicpu, adapt code in avr/aoptcpu unit
git-svn-id: trunk@40120 -
2018-10-31 23:15:22 +00:00
Mattias Gaertner
ff431f0106 pastojs: fixed calling destructor after exception in constructor
git-svn-id: trunk@40116 -
2018-10-31 23:02:01 +00:00
pierre
9c2ac7b3dd Avoid range check error in ReadPosInfo
git-svn-id: trunk@40115 -
2018-10-31 22:53:11 +00:00
pierre
bf3bedb2d4 Add explicit rtlclean/rtl targets in fullcycle rule if DOWPOCYCLE is set
git-svn-id: trunk@40114 -
2018-10-31 15:50:26 +00:00
pierre
ae0c180e0b Avoid overflow in code
git-svn-id: trunk@40113 -
2018-10-31 15:49:14 +00:00
pierre
e42ccccecf Disable range check completely in arm/cgcpu unit
git-svn-id: trunk@40112 -
2018-10-31 15:48:32 +00:00
pierre
04fd1a6397 Complement commit 40104, by changing type of executionweight in toptinfo record and adapt pass_2 code
git-svn-id: trunk@40111 -
2018-10-31 15:47:53 +00:00
pierre
e5dffebdc7 Avoid range check error in MaskLength evaluation
git-svn-id: trunk@40110 -
2018-10-31 14:51:23 +00:00
pierre
8f7707d474 Use correct field for sl_absolutetype or sl_typeconv ppropaccesslistitem type (revealed by compilation with -CriotR)
git-svn-id: trunk@40109 -
2018-10-31 14:43:18 +00:00
Mattias Gaertner
0e012e657f pastojs: fixed handling read error
git-svn-id: trunk@40108 -
2018-10-31 14:17:39 +00:00
Mattias Gaertner
1eb6ef4b27 pastojs: fixed %date% omitting []
git-svn-id: trunk@40107 -
2018-10-31 14:00:33 +00:00