Mattias Gaertner
5c9c8024be
fcl-passrc:
...
pasresolver: class const
pasuseanalyzer: no hints for abstract method
git-svn-id: trunk@35731 -
2017-04-04 20:58:29 +00:00
nickysn
b957b65ec8
* generate better i8086 code for 64-bit shl/shr, by masking the shift count by 63
...
git-svn-id: trunk@35730 -
2017-04-04 17:58:00 +00:00
Mattias Gaertner
6bb2dcf350
pastojs: updated error strings
...
git-svn-id: trunk@35729 -
2017-04-04 17:25:58 +00:00
Mattias Gaertner
58791a0b5c
fcl-passrc: fixed checking proc arg base type from different units, fixed scanner eof row, fixed fail test messages
...
git-svn-id: trunk@35728 -
2017-04-04 17:25:15 +00:00
nickysn
6580dfee39
* generate better i386 code for 64-bit shl/shr, by masking the shift count by
...
63, instead of comparing it to 64 and branching. Note that, although this
changes the behaviour of 64-bit shifts by values larger than 64 (when stored
in a variable), it actually makes them consistent with both the code,
generated on x86_64, as well as with 64-bit shift by constant on i386 itself.
git-svn-id: trunk@35727 -
2017-04-04 16:28:54 +00:00
nickysn
76cb419241
* use 16-bit 386+ instructions (shld,shrd) for performing fast 32-bit
...
shl/shr/sar on i8086, in a_op_const_reg, when the target CPU is set to 80386
or later
git-svn-id: trunk@35726 -
2017-04-04 14:40:29 +00:00
nickysn
0ab4f01668
* implemented fast (loopless) 32-bit shift by constant for 8086 as well
...
git-svn-id: trunk@35725 -
2017-04-03 21:04:59 +00:00
maciej-izak
8391b73206
* Virtual methods cannot be declared as static (static virtual method has no sense).
...
+ added tests
git-svn-id: trunk@35724 -
2017-04-03 20:45:52 +00:00
nickysn
0f2ad7b712
* generate faster (i.e. loopless) code for 32-bit shl/shr/sar by const on 186+
...
git-svn-id: trunk@35723 -
2017-04-03 20:37:21 +00:00
maciej-izak
ee4ae1254f
undo accidental commit (r35721) :/
...
git-svn-id: trunk@35722 -
2017-04-03 17:10:20 +00:00
maciej-izak
b4b87a841c
git-svn-id: trunk@35721 -
2017-04-03 17:08:01 +00:00
Mattias Gaertner
e71ac95b69
fcl-passrc: pasuseanalyzer: no hint assigned but never used for out argument
...
git-svn-id: trunk@35720 -
2017-04-03 15:52:36 +00:00
Mattias Gaertner
dac17860c4
fcl-passrc: pasresolver: when accessing a record member, access the record too
...
git-svn-id: trunk@35719 -
2017-04-03 15:20:55 +00:00
Mattias Gaertner
457d23a151
fcl-passrc: pasresolver: check proc type or proc var
...
git-svn-id: trunk@35718 -
2017-04-03 13:01:50 +00:00
maciej-izak
322720236c
+ added missing dwarf constants: DW_FORM_sec_offset, DW_FORM_exprloc and DW_FORM_flag_present
...
git-svn-id: trunk@35717 -
2017-04-03 10:42:27 +00:00
Mattias Gaertner
e9791ceffc
pas2js: started pass property by reference
...
git-svn-id: trunk@35716 -
2017-04-03 07:56:29 +00:00
Mattias Gaertner
632b973ed6
fcl-passrc: comments, analyzer option paoKeepPublished
...
git-svn-id: trunk@35715 -
2017-04-03 07:55:49 +00:00
Mattias Gaertner
bceb016f5f
pastojs: added array params to external class 'Array' [integer]:jsvalue, 'Object' [string]:jsvalue
...
git-svn-id: trunk@35714 -
2017-04-02 18:54:04 +00:00
Mattias Gaertner
d4c801b708
fcl-passrc: pasresolver: allow adding custom arram params
...
git-svn-id: trunk@35713 -
2017-04-02 18:52:17 +00:00
Mattias Gaertner
fcbfa0899f
pastojs: nested proc var
...
git-svn-id: trunk@35711 -
2017-04-02 11:27:07 +00:00
Mattias Gaertner
f23862e8de
fcl-passrc: pasresolver: proc type modifier is nested
...
git-svn-id: trunk@35710 -
2017-04-02 11:26:25 +00:00
Mattias Gaertner
255870d371
fcl-passrc: pasresolver: fixed searching units recursively
...
git-svn-id: trunk@35709 -
2017-04-01 20:53:22 +00:00
Mattias Gaertner
4e0fd4de53
fcl-passrc: store access type of accessing default property
...
git-svn-id: trunk@35708 -
2017-04-01 20:21:39 +00:00
florian
4504648ec1
* initialize maskvalue to fix compilation with -O3+
...
git-svn-id: trunk@35707 -
2017-04-01 19:03:35 +00:00
michael
cbb5bbbc27
* Patch from Mattias Gaertner: Arrays can be null (test)
...
git-svn-id: trunk@35706 -
2017-04-01 18:22:59 +00:00
michael
d4d31508c3
* Patch from Mattias Gaertner: Arrays can be null
...
git-svn-id: trunk@35705 -
2017-04-01 18:22:28 +00:00
michael
ad99d1b015
* Patch from Mattias Gaertner
...
- function copy(array,start=0,count=max): array
- procedure insert(item,var array,const position)
- procedure delete(var array,const start,count)
- allow type casting array of jsvalue to any array
git-svn-id: trunk@35704 -
2017-04-01 16:00:32 +00:00
michael
9e39442dbc
* Fix from Mattias Gaertner for System.Delete() use analyses.
...
git-svn-id: trunk@35703 -
2017-04-01 15:59:57 +00:00
michael
945b0aa98b
* Fix from Mattias Gaertner:
...
- children of a const record are const too
- external class instance cannot access static members
- option to treat open arrays as dynamic arrays
- made rrfReadable consistent on class types
- const dynarray param: elements are writable
git-svn-id: trunk@35702 -
2017-04-01 15:59:10 +00:00
joost
3b58c328c7
* Reading the fppkg-settings should not depend on the global
...
OnGetApplicationName event
git-svn-id: trunk@35701 -
2017-04-01 10:01:29 +00:00
joost
b52d6874d2
* Added more logging on why packages are installed
...
git-svn-id: trunk@35700 -
2017-03-31 19:49:36 +00:00
joost
20c9a16fa9
* Do not install packages into a repository that does not allow new
...
packages, also not when they are installed from their original source.
git-svn-id: trunk@35699 -
2017-03-31 19:36:57 +00:00
joost
a3f43a3661
* Try to fix plugins as fast as possible, so that as many packages
...
are compiled with the plugins
git-svn-id: trunk@35698 -
2017-03-31 18:54:54 +00:00
michael
aade79cff4
* Patch from Mattias Gaertner to fix use of Forward defined Classes
...
git-svn-id: trunk@35697 -
2017-03-31 15:15:10 +00:00
michael
a9f13acd81
* Patch from Mattias Gaertner:
...
- type cast array to array with same dimensions and element types
- allow type casting string to external class name 'String'
- allow type casting array to external class name 'Array'
- allow assigning any array to an array of jsvalue
git-svn-id: trunk@35696 -
2017-03-31 11:33:44 +00:00
michael
03e6268a3d
* Patch from Mattias Gaertner: type cast array to array with same dimensions and element types
...
git-svn-id: trunk@35695 -
2017-03-31 11:32:58 +00:00
michael
92cca391aa
* Remove debug writeln
...
git-svn-id: trunk@35694 -
2017-03-31 06:58:16 +00:00
michael
88bd388bb6
* Patch from Mattias Gaertner
...
- concat(array1,array2,...)
- jsvalue = and <>
- allow no other string type except String
- allow no other float type except Double
git-svn-id: trunk@35693 -
2017-03-31 06:53:24 +00:00
michael
ba7d698b1d
* Patch from Mattias Gaertner:
...
- intrinsics:
function concat(array1,array2,...): array
function copy(array): array, copy(a,start), copy(a,start,end)
insert(item; var array; index: integer)
delete(var array; start, count: integer)
- unified type mismatch errors and report types with paths if needed
git-svn-id: trunk@35692 -
2017-03-31 06:52:48 +00:00
michael
f2aebcd595
* Patch from Mattias Gaertner
...
* fixed checking semicolon after a procedure
git-svn-id: trunk@35691 -
2017-03-31 06:51:31 +00:00
lacak
85c9167f40
fcl-db: sqldb: storage specifiers for Options properties
...
git-svn-id: trunk@35690 -
2017-03-31 06:32:24 +00:00
marco
7e2cffdb87
* fix compilation.
...
git-svn-id: trunk@35689 -
2017-03-30 17:04:52 +00:00
marco
812f1b941d
* patch from 32537
...
git-svn-id: trunk@35688 -
2017-03-30 16:07:56 +00:00
marco
49e4819b2b
* patch to speed up spe by WP. Mantis #31534
...
git-svn-id: trunk@35687 -
2017-03-30 14:31:05 +00:00
nickysn
2fc62d0177
* reserve consecutive inline numbers for the other modify-in-place inline nodes
...
that I'm planning to implement (sar/shl/shr/rol/ror/not/neg)
git-svn-id: trunk@35686 -
2017-03-29 16:13:40 +00:00
nickysn
f29492bdea
* at -O3 level, convert i:=i and/or/xor k to the new in_[and/or/xor]_assign_x_y
...
inline nodes, which should generate better code for certain CPU targets,
including x86. Note that the optimization isn't applied yet for all integer
types (those that have extra implicit typecasts, inserted by the compiler,
aren't handled yet).
git-svn-id: trunk@35685 -
2017-03-29 15:20:57 +00:00
nickysn
f19ebe2acf
* fixed compiler internal error in the in_[and/or/xor]_assign_x_y inline nodes
...
when their second parameter is a large 64-bit unsigned constant
git-svn-id: trunk@35684 -
2017-03-29 14:55:07 +00:00
michael
b62a833a01
* Patch from Mattias Gaertner
...
- allow only String, no other string types
- assigned(array)
- tpasargument proc type
git-svn-id: trunk@35683 -
2017-03-29 11:38:42 +00:00
michael
6ab7bc9def
* Patch from Mattias Gaertner:
...
- function type
git-svn-id: trunk@35682 -
2017-03-29 11:38:02 +00:00
michael
0653c7045e
* Patch from Mattias Gaertner
...
- assigned(array)
- open array: override, pass array literal, pass var
- reporting type mismatches shows full path if necessary
- fixed comparing basetype from different units
- types with unitname
git-svn-id: trunk@35681 -
2017-03-29 11:37:16 +00:00