Commit Graph

50630 Commits

Author SHA1 Message Date
Mattias Gaertner
a63cdac0f3 fcl-passrc: allow override basetypenames, fixed analyzer tpasargument
git-svn-id: trunk@35853 -
2017-04-19 20:12:26 +00:00
Mattias Gaertner
511339d70a pastojs: check only allowed basetypes
git-svn-id: trunk@35852 -
2017-04-19 18:39:09 +00:00
Mattias Gaertner
8376f3c126 pas-fclsrc: emit element hints, type shortstring[]
git-svn-id: trunk@35851 -
2017-04-19 18:38:18 +00:00
nickysn
9303a8f61a * changed the x86 TInsProp.Ch structure from a 3-element array to a pascal set;
this removes the limit of 3 Ch_XXX flags per instruction (thus allowing adding
  more precise flags, e.g. for tracking only certain bits of the flags register,
  etc.) and avoids the ugliness of having the Ch_None filler, which makes
  x86ins.dat less readable.

git-svn-id: trunk@35850 -
2017-04-19 16:48:35 +00:00
nickysn
189e49998c * fixes to the x86 instruction flags tracking attributes:
* AAA and AAS also read flags (AF)
  * CMC reads and writes flags (it inverts CF)
  * CMPSx and SCASx write flags
  * CMPSx, SCASx, LODSx, STOSx, MOVSx read the direction flag
  * NOT doesn't affect flags
  * REP isn't affected by and doesn't affect flags
  * REPE/REPNE/REPZ/REPNZ/REPC/REPNC don't write flags, only read them
  * ROL and ROR don't read flags
  * SAL doesn't read flags
  * SHLD and SHRD don't read flags

git-svn-id: trunk@35849 -
2017-04-19 15:42:50 +00:00
nickysn
7ee0c07b8d + added flags register tracking for many i8086 operations
git-svn-id: trunk@35848 -
2017-04-19 13:46:20 +00:00
Mattias Gaertner
efe23d612b pastojs: proc type reference-to
git-svn-id: trunk@35847 -
2017-04-19 13:30:46 +00:00
Mattias Gaertner
863e0c1956 fcl-passrc: resolver: proc type reference-to
git-svn-id: trunk@35846 -
2017-04-19 13:30:32 +00:00
Mattias Gaertner
3f3f921b18 pastojs: eopPower
git-svn-id: trunk@35845 -
2017-04-18 22:49:35 +00:00
Mattias Gaertner
f93b706e82 fcl-passrc: resolver: eopDivide
git-svn-id: trunk@35844 -
2017-04-18 22:49:06 +00:00
Mattias Gaertner
dd9630b1d7 pastojs: external names can be char
git-svn-id: trunk@35843 -
2017-04-18 21:37:34 +00:00
Mattias Gaertner
4f11e61033 fcl-passrc: external names can be char
git-svn-id: trunk@35842 -
2017-04-18 21:37:23 +00:00
nickysn
e708a76f70 * some i386 optimizations for 64-bit SHL/SHR/SAR in tcg64f386.a_op64_const_reg:
* only use SHx/RCx when optimizing for size
  * use ADD reglo,reglo + ADC reghi,reghi for SHL by 1 on i386 and i486

git-svn-id: trunk@35841 -
2017-04-18 21:30:31 +00:00
Mattias Gaertner
e47747380e pastojs: local vars $mod and self, no createCallBack for procs, nested inherited
git-svn-id: trunk@35840 -
2017-04-18 20:31:50 +00:00
Mattias Gaertner
5cf503f57d fcl-passrc: nested inherited, emit hints for call overload error
git-svn-id: trunk@35839 -
2017-04-18 20:30:55 +00:00
nickysn
0264c4cace + implemented OP_SHR/OP_SHL/OP_SAR correctly in tcg64f386.a_op64_const_ref for
const values larger than 31

git-svn-id: trunk@35838 -
2017-04-18 16:02:48 +00:00
nickysn
16af6f03fb + support OP_SHR/OP_SHL/OP_SAR/OP_ROL/OP_ROR in tcgx86.a_op_reg_ref
git-svn-id: trunk@35837 -
2017-04-18 15:14:28 +00:00
nickysn
d7b8d8dd54 * don't emit the "SUB ECX,32" instruction on i386, when doing a 64-bit shift by
reg, with a value >=32. The instruction is redundant, because the SHL/SHR
  instructions already AND mask the shift count by 31.

git-svn-id: trunk@35836 -
2017-04-18 15:09:20 +00:00
nickysn
d7c8a081a1 + enable using the cg64 ops OP_SHR/OP_SHL/OP_SAR on i386 for implementing the
64-bit in_sar/shl/shr_assign_x_y inline nodes

git-svn-id: trunk@35835 -
2017-04-18 14:36:41 +00:00
nickysn
03dfa07ebc + implemented OP_SHR/OP_SHL/OP_SAR in i386's tcg64f386.a_op64_reg_ref
git-svn-id: trunk@35834 -
2017-04-18 14:34:20 +00:00
pierre
17b2671213 Regenerate all Makefile's after changes related to FPCDIR checks
git-svn-id: trunk@35833 -
2017-04-18 14:15:47 +00:00
nickysn
3d28878210 + added taicpu.op_reg_reg_ref() constructor for x86, in order to support the
shld/shrd [ref],reg,CL instructions

git-svn-id: trunk@35832 -
2017-04-18 12:47:57 +00:00
nickysn
10d7603dce + implemented OP_SHR/OP_SHL/OP_SAR support in tcg64f386.a_op64_reg_reg
git-svn-id: trunk@35831 -
2017-04-18 12:24:46 +00:00
nickysn
7e8c89435f * avoid the AND instruction in the i386 shr64/shl64 code, by using TEST+JZ,
instead of CMP+JL

git-svn-id: trunk@35830 -
2017-04-18 11:36:48 +00:00
michael
f29bbe25a6 * Parse Reference To Procedure|function
git-svn-id: trunk@35829 -
2017-04-18 11:24:56 +00:00
Mattias Gaertner
1b07db5a08 fppas2js: fixed compilation, due to changes in resolver
git-svn-id: trunk@35828 -
2017-04-18 07:46:45 +00:00
Mattias Gaertner
1117a69f78 fcl-passrc: base types ansichar, rawbytestrring, choosing overload by distance, fail if multi overloads are lossy or use default params
git-svn-id: trunk@35827 -
2017-04-18 07:44:52 +00:00
pierre
14ec66c649 Regenerated files after 35825: Follow-up to commit 35817: Extend do not accept $(FPCDIR)/units sub-directory existence to validate FPCDIR variable value
git-svn-id: trunk@35826 -
2017-04-18 06:33:34 +00:00
pierre
94ed85fa64 Follow-up to commit 35817: Extend do not accept $(FPCDIR)/units sub-directory existence to validate FPCDIR variable value
git-svn-id: trunk@35825 -
2017-04-18 06:30:42 +00:00
Jonas Maebe
4e1f999b02 * write full path name when ppu crc checks fail/conflict (patch by
C. Western, mantis #31650)

git-svn-id: trunk@35823 -
2017-04-17 20:42:03 +00:00
michael
87b6646e02 * Demo for simple file server
git-svn-id: trunk@35822 -
2017-04-17 11:35:34 +00:00
michael
5a7a05bd3f * SimpleFileModule for use with new router
git-svn-id: trunk@35821 -
2017-04-17 11:30:58 +00:00
joost
5051a0ccc5 * Fixed AV
git-svn-id: trunk@35820 -
2017-04-17 11:16:06 +00:00
joost
74f952324f * Added test for command-line package-variants (introduced in r35814)
git-svn-id: trunk@35819 -
2017-04-17 10:15:07 +00:00
pierre
e6d5bd049f Regenerated after commit 35817: * Do not accept $(FPCDIR)/units sub-directory existence to validate FPCDIR variable value
git-svn-id: trunk@35818 -
2017-04-17 10:06:41 +00:00
pierre
19148275db * Do not accept $(FPCDIR)/units sub-directory existence to validate FPCDIR variable value
git-svn-id: trunk@35817 -
2017-04-17 10:06:11 +00:00
joost
cd13255d56 * Add a debug message to determine if a package is a source- or installed-package
git-svn-id: trunk@35816 -
2017-04-16 22:32:14 +00:00
joost
721e0d34e3 * Fixed help-message
git-svn-id: trunk@35815 -
2017-04-16 22:28:36 +00:00
joost
efd5aace57 * Added ability to add package-variants on the command-line
git-svn-id: trunk@35814 -
2017-04-16 22:21:30 +00:00
joost
0f8751c9e6 * Fixed task-description
git-svn-id: trunk@35813 -
2017-04-16 22:21:14 +00:00
joost
e5a8747f5e * Fixed false changed-dependency messages
* Raised changed-dependency-messages loglevel from debug to warning

git-svn-id: trunk@35812 -
2017-04-16 20:10:02 +00:00
Mattias Gaertner
0139308762 pastojs: typecast function result
git-svn-id: trunk@35811 -
2017-04-16 19:31:20 +00:00
Mattias Gaertner
a4ffecf988 fcl-passrc: typecast function result
git-svn-id: trunk@35810 -
2017-04-16 19:31:09 +00:00
Mattias Gaertner
9e57c2f5d2 pastojs: typecast procvar and pointer, name anonymous array type
git-svn-id: trunk@35809 -
2017-04-16 19:12:11 +00:00
Mattias Gaertner
e32782f5b3 fcl-passrc: resolver: typecast procvar and pointer
git-svn-id: trunk@35808 -
2017-04-16 19:09:47 +00:00
joost
790c9995fe * Added PackageVariant-test
git-svn-id: trunk@35807 -
2017-04-16 18:53:50 +00:00
Mattias Gaertner
4775c6d517 fcl-passrc: analyzer: fixed marking method override
git-svn-id: trunk@35806 -
2017-04-15 21:10:54 +00:00
Mattias Gaertner
f57816c116 pastojs: clean up
git-svn-id: trunk@35805 -
2017-04-15 19:23:22 +00:00
Mattias Gaertner
89bf386545 pastojs: const set of chars, in operator returns boolean on false
git-svn-id: trunk@35804 -
2017-04-15 19:17:52 +00:00
Mattias Gaertner
975b5b8007 pastojs: fixed typeinfo module path
git-svn-id: trunk@35803 -
2017-04-15 16:15:14 +00:00