Commit Graph

51969 Commits

Author SHA1 Message Date
michael
55a0fd5121 * Forgot to commit library name mixup
git-svn-id: trunk@37183 -
2017-09-11 17:11:34 +00:00
nickysn
db09759763 * also integrated the getnextreg() implementation for 8-bit and 16-bit alus from
the avr and i8086 code generators into the base tcg class

git-svn-id: trunk@37182 -
2017-09-11 15:47:39 +00:00
nickysn
cf28b202eb * integrated the getintregister() implementation for 8-bit and 16-bit alus from
the avr and i8086 code generators into the base tcg class (so it can be reused
  by other 8-bit and 16-bit targets)

git-svn-id: trunk@37181 -
2017-09-11 15:23:59 +00:00
nickysn
ddba821561 * GetNextReg(), used by 16-bit and 8-bit code generators (i8086 and avr) moved
from cpubase unit to a method in the tcg class. The reason for doing that is
  that this is now a standard part of the 16-bit and 8-bit code generators and
  moving to the tcg class allows doing extra checks (not done yet, but for
  example, in the future, we can keep track of whether there was an extra
  register allocated with getintregister and halt with an internalerror in case
  GetNextReg() is called for registers, which weren't allocated as a part of a
  sequence, therefore catching a certain class of 8-bit and 16-bit code
  generator bugs at compile time, instead of generating wrong code).
- removed GetLastReg() from avr's cpubase unit, because it isn't used for
  anything. It might be added to the tcg class, in case it's ever needed, but
  for now I've left it out.
* GetOffsetReg() and GetOffsetReg64() were also moved to the tcg unit.

git-svn-id: trunk@37180 -
2017-09-11 14:53:06 +00:00
maciej-izak
532e256579 fcl-passrc: paswrite: allow to write pointer type
git-svn-id: trunk@37179 -
2017-09-11 13:44:44 +00:00
maciej-izak
12f444c282 fcl-passrc: paswrite: remove redundant code
git-svn-id: trunk@37178 -
2017-09-11 13:32:07 +00:00
nickysn
30c38a81a9 + also check register type (must be R_INTREGISTER) and subregister (must be
R_SUBW) in i8086's GetNextReg()

git-svn-id: trunk@37177 -
2017-09-11 13:25:32 +00:00
michael
61aabf0ac5 * Patch from Pascal Riekenberg to fix setting of CSV parsing options
git-svn-id: trunk@37176 -
2017-09-11 12:58:24 +00:00
Mattias Gaertner
55b2a266d7 pastojs: implemented staticarray[char]
git-svn-id: trunk@37175 -
2017-09-10 20:05:32 +00:00
Mattias Gaertner
583923c503 fcl-passrc: resolver: static array[char]
git-svn-id: trunk@37174 -
2017-09-10 20:04:35 +00:00
marcus
5b52afc824 os4units: TNewWindow.type_ renamed to WType to be compatible with the other amiga platforms
git-svn-id: trunk@37173 -
2017-09-10 19:45:16 +00:00
nickysn
4e489f2b33 + generate faster, branchless code for abs(int64) on i8086
git-svn-id: trunk@37172 -
2017-09-10 18:58:45 +00:00
Mattias Gaertner
08e85ea6c5 fcl-passrc: resolver: static array[bool]
git-svn-id: trunk@37171 -
2017-09-10 18:48:01 +00:00
florian
01b950f39b + new test
git-svn-id: trunk@37170 -
2017-09-10 18:07:15 +00:00
nickysn
aefa317474 + fast and branchless implementation of abs(int64) for i386
git-svn-id: trunk@37169 -
2017-09-10 17:25:47 +00:00
Mattias Gaertner
339560f4b9 pastojs: fixed adding local and global const in order
git-svn-id: trunk@37168 -
2017-09-10 15:59:03 +00:00
michael
ce79760e79 * Remove some debug statements
git-svn-id: trunk@37167 -
2017-09-10 15:40:48 +00:00
michael
d53f3e0526 * Complete demos so list of demos can be retrieved as AJAX call
git-svn-id: trunk@37166 -
2017-09-10 15:16:00 +00:00
Mattias Gaertner
4bd77800cb pastojs: low(), high(), [] for static array with integer range
git-svn-id: trunk@37165 -
2017-09-10 15:08:27 +00:00
Mattias Gaertner
2bb0b48b51 fcl-passrc: resovler: added EvalRangeLimit
git-svn-id: trunk@37164 -
2017-09-10 15:07:35 +00:00
Mattias Gaertner
c8a593e8c5 fcl-passrc: useanalyzer: no hints for locals of not used forward defined proc
git-svn-id: trunk@37163 -
2017-09-10 13:01:37 +00:00
nickysn
ebf4f715e8 + added a i8086 specific implementation of 32-bit abs(), which generates even
better code

git-svn-id: trunk@37162 -
2017-09-10 12:28:00 +00:00
nickysn
16d7eefbca + adapted and enabled the x86 specific abs() code generation for i8086, because
it generates slightly better code, than the generic implementation

git-svn-id: trunk@37161 -
2017-09-10 12:12:34 +00:00
marcus
8bb6dc12b1 Fixes fcl-report compilation after r37157
git-svn-id: trunk@37160 -
2017-09-09 21:22:09 +00:00
florian
074ef98535 * fix spilling on sparc64 if the offset must be built by sethi/or/xor
git-svn-id: trunk@37159 -
2017-09-09 19:36:52 +00:00
florian
8315c660f4 * fix JumpTargetOp for sparc64
git-svn-id: trunk@37158 -
2017-09-09 19:36:50 +00:00
michael
5d41b88b26 * Complete webdemo, so all options can be set
git-svn-id: trunk@37157 -
2017-09-09 13:26:56 +00:00
joost
f9125a0a98 * Added RSA-ssh256 utility functions
git-svn-id: trunk@37156 -
2017-09-08 15:01:17 +00:00
nickysn
74dad2099e + added tcpuflags and cpu_capabilities to i8086's cpuinfo.pas
git-svn-id: trunk@37155 -
2017-09-08 14:38:40 +00:00
michael
9cc087ad58 * Fix web demo (final development was not committed)
git-svn-id: trunk@37154 -
2017-09-07 07:34:07 +00:00
michael
0ba38f50fe * Only add paper sizes once
git-svn-id: trunk@37153 -
2017-09-07 07:33:07 +00:00
michael
5fd38b9916 * MultiFile function
git-svn-id: trunk@37152 -
2017-09-07 07:32:06 +00:00
florian
3d514856a4 * improve node complexity calculations for type nodes
git-svn-id: trunk@37151 -
2017-09-06 20:34:56 +00:00
michael
d889a2bf60 * Forgot to commit
git-svn-id: trunk@37150 -
2017-09-06 19:14:46 +00:00
Mattias Gaertner
9a2736abcb pastojs: implemented typeinfo for record member:arrayf of type
git-svn-id: trunk@37147 -
2017-09-05 16:34:42 +00:00
marco
68b3a79e15 * fix from #32373 (cryptstringtobinary external name) by Michal Gawrycki
git-svn-id: trunk@37146 -
2017-09-05 14:27:11 +00:00
michael
9ad7c50cdd * Fix writing of interface methods with calling convention
git-svn-id: trunk@37145 -
2017-09-05 07:07:59 +00:00
michael
4761b22ef3 * WriteEnumType must be virtual
git-svn-id: trunk@37144 -
2017-09-05 06:39:10 +00:00
michael
e9779e3c89 * No extra semicolon after enum type, and in mkxmlrpc classes for functions
git-svn-id: trunk@37143 -
2017-09-05 06:38:27 +00:00
michael
2b12c46fe3 fix typo in previous commit
git-svn-id: trunk@37142 -
2017-09-04 22:05:00 +00:00
michael
e408d0ad81 * Reinstate old mkxmlrpc procedure element writing
git-svn-id: trunk@37141 -
2017-09-04 20:46:15 +00:00
michael
5f1ca4c1de * Fix forward class definition writing
git-svn-id: trunk@37140 -
2017-09-04 20:10:57 +00:00
michael
cb41314faa * Some fixes, added forceoverload
git-svn-id: trunk@37137 -
2017-09-03 20:01:08 +00:00
maciej-izak
8b5524ac3a * ignore is_publishable for properties in interfaces (related to $M+ directive). $M has effect on visibility of default section for classes. Interface has always only public section (fix for problem in tb0631.pp)
git-svn-id: trunk@37136 -
2017-09-03 19:05:21 +00:00
marco
b6824290fc * initial fileflush, mantis #15824
git-svn-id: trunk@37135 -
2017-09-03 16:41:32 +00:00
michael
bb31bc6ca4 * Compile & install jssrcmap
git-svn-id: trunk@37134 -
2017-09-03 16:39:34 +00:00
Mattias Gaertner
b484d77894 fcl-passrc: resolver: compile time range checks
git-svn-id: trunk@37117 -
2017-09-02 17:09:43 +00:00
Mattias Gaertner
78e1047ce2 pastojs: allow assign any constant to jsvalue
git-svn-id: trunk@37115 -
2017-09-02 16:46:35 +00:00
Mattias Gaertner
0b3b61d261 fcl-passrc: error if semicolon is missing between block statements, fixed parsing finalization
git-svn-id: trunk@37114 -
2017-09-02 16:45:50 +00:00
michael
3787d52dee * Fix bug ID #32353, reset ref count fields in destructor
git-svn-id: trunk@37112 -
2017-09-02 15:07:23 +00:00