Commit Graph

53333 Commits

Author SHA1 Message Date
Mattias Gaertner
22fa27a70b fcl-passrc: resolver: sanity check
git-svn-id: trunk@38713 -
2018-04-08 14:59:04 +00:00
Mattias Gaertner
bb13e36c80 pas2js: docs: fixed typo
git-svn-id: trunk@38712 -
2018-04-08 13:05:14 +00:00
Mattias Gaertner
5140e1b022 pas2js: docs: interfaces JS
git-svn-id: trunk@38711 -
2018-04-08 12:59:12 +00:00
Mattias Gaertner
c2fe9080d6 pas2js: docs: guid
git-svn-id: trunk@38710 -
2018-04-08 12:20:58 +00:00
Mattias Gaertner
f6093dbae8 pas2js: 0.9.14
git-svn-id: trunk@38709 -
2018-04-08 12:05:55 +00:00
Mattias Gaertner
eb0992a79e pas2js: docs about class interfaces
git-svn-id: trunk@38708 -
2018-04-08 09:05:48 +00:00
Mattias Gaertner
b2d4ca52c2 pastojs: filer: ignore old modeswitch ignoreinterfaces
git-svn-id: trunk@38707 -
2018-04-08 09:04:44 +00:00
Mattias Gaertner
c5b82873d2 fcl-passrc: resolver: fixed scopedenums for anonymous set type
git-svn-id: trunk@38706 -
2018-04-08 07:33:54 +00:00
Mattias Gaertner
7111f2bfdd fcl-passrc: useanalyzer: added test for one-way dependency of class-interface to implementation method
git-svn-id: trunk@38705 -
2018-04-07 18:20:03 +00:00
Mattias Gaertner
93ce148b73 fcl-passrc: useanalyzer: typeinfo for interfaces
git-svn-id: trunk@38704 -
2018-04-06 18:20:11 +00:00
pierre
078ed0ec95 Fix range problems
git-svn-id: trunk@38703 -
2018-04-06 14:41:48 +00:00
Mattias Gaertner
1237e11765 pastojs: for s in arrayofstring
git-svn-id: trunk@38702 -
2018-04-06 13:34:17 +00:00
Mattias Gaertner
b64b45e26c fcl-passrc: resolver: fixed for s in arrayofstring
git-svn-id: trunk@38701 -
2018-04-06 13:34:03 +00:00
pierre
ef36525e4b Add missing 3.0.2 and 3.0.4 releases
git-svn-id: trunk@38700 -
2018-04-06 13:31:38 +00:00
Mattias Gaertner
abd1b66977 pastojs: removed modeswitch ignoreinterfaces
git-svn-id: trunk@38699 -
2018-04-06 11:03:19 +00:00
Mattias Gaertner
bebd127b91 fcl-passrc: removed modeswitch ignoreinterfaces
git-svn-id: trunk@38698 -
2018-04-06 11:03:09 +00:00
Mattias Gaertner
52b1649b8f pas2js: utility functions for com interfaces
git-svn-id: trunk@38697 -
2018-04-06 10:38:37 +00:00
Mattias Gaertner
0448e4edbc pastojs: com interfaces
git-svn-id: trunk@38696 -
2018-04-06 10:38:08 +00:00
Mattias Gaertner
835c1c8f1a fcl-passrc: useanalyzer: com interfaces
git-svn-id: trunk@38695 -
2018-04-06 10:37:45 +00:00
florian
254aa0e9e1 * consistent naming of lData field in NEWCPLINFO
git-svn-id: trunk@38694 -
2018-04-06 09:59:22 +00:00
pierre
d9c8d478b2 Restrict test to i8086 cpu
git-svn-id: trunk@38693 -
2018-04-06 07:40:21 +00:00
florian
bd27b7635b * also in case of constref make_not_regable with ra_addr_taken must be called, later on in pass_1 this happens anyways
* for in loops can generate temp. refs as loop counter, so when checking of the address of the for counter is taken, we have to check for a load node

git-svn-id: trunk@38692 -
2018-04-05 20:09:40 +00:00
nickysn
e1d0e7572e * i8086 TP7 compatibility fixes, related to obtaining procedure addresses:
o The @ and Addr() operators in TP or Delphi mode can now be applied to both
    near and far procedures and they always produce a CodePointer, regardless of
    the call model of the procedure.
  o Ofs() and Seg() can now also be applied to both near and far procedures.
  o The @ and Addr() operators in non-TP/Delphi modes, as well as the procedure
    name itself in TP/Delphi modes now can be applied to both near and far
    procedures and produce a near or a far procvar.

git-svn-id: trunk@38691 -
2018-04-05 15:09:12 +00:00
florian
42d6e81c33 * made message about subroutines not being inlined a note instead of a hint, see also #33515
git-svn-id: trunk@38690 -
2018-04-05 09:51:25 +00:00
florian
0fd0e356e1 + new flag ra_different_scope: used if a node tree is marked as non-regable if a variable is accessed from a different scope
git-svn-id: trunk@38689 -
2018-04-04 21:39:47 +00:00
florian
c59bd8c29a + calculate loop unrolling using node_count_weighted which takes care of nodes generating no code
* optimized unrolling calculation

git-svn-id: trunk@38688 -
2018-04-04 21:39:46 +00:00
florian
512328deee * include loop unrolling in -O3, as it is done carefully, it is beneficial on average
git-svn-id: trunk@38687 -
2018-04-04 21:39:44 +00:00
florian
fff6e0ecdb * unroll more aggressively
git-svn-id: trunk@38686 -
2018-04-04 21:39:42 +00:00
pierre
5368f1fbe9 Add handling of DelFiles
git-svn-id: trunk@38685 -
2018-04-04 21:27:36 +00:00
pierre
450f62efcc Move GetToken function to testu unit
git-svn-id: trunk@38684 -
2018-04-04 21:27:07 +00:00
pierre
33de492553 * Improve support in temporary directory.
+ CopyNeededFiles to copy additional files to temp directory.
  + TempFileList: New variable.
  * Cleanup: Use TempFileList to delete more file.
  + Add optional -Ssource_file_name directory.

git-svn-id: trunk@38683 -
2018-04-04 21:00:26 +00:00
nickysn
58ead31f49 * optimized ofs(proc) on i8086, so it only loads the offset in all memory models
git-svn-id: trunk@38682 -
2018-04-04 15:26:47 +00:00
nickysn
c7503ca291 + introduced tabstractprocdef.ofs_address_type - the address type, generated for
ofs()

git-svn-id: trunk@38681 -
2018-04-04 15:16:42 +00:00
nickysn
6929af07b7 + added flag tcnf_proc_2_procvar_get_offset_only
git-svn-id: trunk@38680 -
2018-04-04 14:48:12 +00:00
nickysn
99a1cf89b3 + print convnodeflags in printnodeinfo
git-svn-id: trunk@38679 -
2018-04-04 13:20:41 +00:00
nickysn
4a3a64d8f4 + print addrnodeflags in printnodeinfo
git-svn-id: trunk@38678 -
2018-04-04 12:48:52 +00:00
nickysn
dadd5568db + override set_labelsym_resultdef for i8086 and set a near pointer resultdef if
the anf_ofs flag is set

git-svn-id: trunk@38677 -
2018-04-04 12:34:21 +00:00
nickysn
109fb279f6 * moved the initialization of the resultdef for labelsyms in the typecheckpass
of taddrnode to a virtual method taddrnode.set_labelsym_resultdef. No
  functional changes.

git-svn-id: trunk@38676 -
2018-04-04 12:09:15 +00:00
florian
c46cbc8411 * do not issue a hint of compiler procs are not inlined, resolves #33515
git-svn-id: trunk@38675 -
2018-04-03 21:39:47 +00:00
pierre
a69942852f Fix to avoid access of memory outside of array size if overlap is true
git-svn-id: trunk@38674 -
2018-04-03 21:02:49 +00:00
michael
33a77a0bc7 * Allow descendents to change IsOpen
git-svn-id: trunk@38673 -
2018-04-03 18:31:45 +00:00
michael
08cca012f6 * Fix memleak when setting master-detail relations
git-svn-id: trunk@38672 -
2018-04-03 18:31:07 +00:00
nickysn
3318703ece * moved nf_typedaddr to addrnodeflags (anf_typedaddr)
git-svn-id: trunk@38671 -
2018-04-03 16:41:01 +00:00
nickysn
213e61eae5 + introduce the anf_ofs address node flag - indicates that the node was
generated by ofs()

git-svn-id: trunk@38670 -
2018-04-03 15:28:27 +00:00
nickysn
c9aecb8e94 * also compare convnodeflags in ttypeconvnode.docompare
git-svn-id: trunk@38669 -
2018-04-03 15:03:40 +00:00
nickysn
da609779d2 * simplify ttypeconvnode.printnodeinfo by making use of the fact that
write/writeln now can print enums

git-svn-id: trunk@38668 -
2018-04-03 14:49:31 +00:00
nickysn
539d4cb68a + introduced taddrnodeflags (empty for now)
git-svn-id: trunk@38667 -
2018-04-03 14:33:41 +00:00
pierre
b8cfaeda08 Fix compilation failure for Windows targets
git-svn-id: trunk@38666 -
2018-04-03 09:13:19 +00:00
michael
9f814c82ba * Fix for 3.0 compilation
git-svn-id: trunk@38665 -
2018-04-03 08:18:00 +00:00
florian
add418db0e * properly define Min/Max values of Native*Int helpers, resolves #33543
git-svn-id: trunk@38664 -
2018-04-02 21:31:23 +00:00