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