svenbarth
a173c34d96
* have tcgrttinode use the indirect RTTI labels if necessary
...
git-svn-id: trunk@34224 -
2016-07-29 14:03:31 +00:00
svenbarth
61551cbb0f
* move properties and functions of TVMT to the end of the record, so that one only needs to adjust the total entry count TVMTBuilder.generate_vmt_def()
...
git-svn-id: trunk@34223 -
2016-07-29 13:54:36 +00:00
svenbarth
a2c0dae8a9
Merged revision(s) 32502 from branches/svenbarth/packages:
...
Use indirect reference for the RTL helpers that require RTTI symbols.
hlcgobj.pas, thlcgobj:
* g_incrrefcount, g_initialize, g_finalize & g_array_rtti_helper: use the indirect symbol of the RTTI if the target supports packages
........
git-svn-id: trunk@34222 -
2016-07-29 13:52:19 +00:00
svenbarth
50865158a4
Fix for Mantis #30410 .
...
* ncgrtti.pas, TRTTIWriter.ref_rtti: don't require the indirect symbol as an external assembler symbol, but the direct one
git-svn-id: trunk@34221 -
2016-07-29 13:49:42 +00:00
yury
e3ebaa6e6a
* Remove trailing #13#10 in the result of SysErrorMessage() on Windows and minor optimization. It is Delphi compatible.
...
git-svn-id: trunk@34220 -
2016-07-29 10:23:12 +00:00
yury
980c4741ac
* Fixed conversion from PWideChar to ansistring.
...
+ test.
git-svn-id: trunk@34219 -
2016-07-29 09:43:05 +00:00
michael
d8266a708f
* Patch from Mattias Gaertner to make exception object configurable, fix tests
...
git-svn-id: trunk@34218 -
2016-07-28 11:45:41 +00:00
michael
19bd74faa9
* Patch from Mattias Gaertner
...
- jstree: add some explanatory comments
- jswriter:
TJSWriter.WriteSourceElements write functions and vars,
fixed unneeded semicolon in TJSWriter.WriteFuncDef.
git-svn-id: trunk@34217 -
2016-07-28 11:17:03 +00:00
michael
08c79c41bd
* Updates from Laco for version 1.0
...
git-svn-id: trunk@34216 -
2016-07-27 11:44:44 +00:00
michael
ef076798d0
* Patch from Mattias Gaertner to start new unit conversion format
...
git-svn-id: trunk@34215 -
2016-07-27 11:38:46 +00:00
michael
57ab472c72
* Patch from Mattias Gaertner to check implicit units when there is no uses list
...
git-svn-id: trunk@34214 -
2016-07-27 11:34:29 +00:00
michael
16ce35ea9b
* Patch from Mattias Gaertner to make EscapeString a normal method + Fix casing
...
git-svn-id: trunk@34213 -
2016-07-27 11:32:27 +00:00
michael
1d6900e800
* Patch from Mattias Gaertner to fixed type casts AsString is a TJSString.
...
git-svn-id: trunk@34212 -
2016-07-27 11:30:13 +00:00
pierre
cc7d0d2f45
Try to implement BreakLine (Ctrl+N), bug report 28787
...
git-svn-id: trunk@34211 -
2016-07-26 22:14:27 +00:00
pierre
71782a85f3
Fix bug report 28822, source file test.test.pas gets pascal syntax highlighting
...
git-svn-id: trunk@34210 -
2016-07-26 21:50:18 +00:00
pierre
0af402fd1a
Add stop on Signals
...
git-svn-id: trunk@34209 -
2016-07-26 21:17:37 +00:00
pierre
af8cf223ca
Specify MI use in About Dialog
...
git-svn-id: trunk@34208 -
2016-07-26 21:17:01 +00:00
pierre
7b2c034065
Avoid flickering in Compilation messagebox
...
git-svn-id: trunk@34207 -
2016-07-26 21:01:19 +00:00
michael
d0ca79baf7
* Patch from Mattias Gaertner to clean up code: less hints, nicer stacktraces
...
git-svn-id: trunk@34206 -
2016-07-26 18:07:27 +00:00
michael
798b6d753a
* Patch from Mattias Gaertner to check uses clause
...
git-svn-id: trunk@34205 -
2016-07-26 18:02:11 +00:00
michael
62f39e0037
* Some clean-up patches by Mattias
...
git-svn-id: trunk@34204 -
2016-07-26 15:05:39 +00:00
pierre
ef1369fef2
Reset static recorddef variables to nil in InitSymtable, avoid crashes in TextMode IDE
...
git-svn-id: trunk@34203 -
2016-07-26 12:52:40 +00:00
michael
92ab883002
* Some cleanup from Mattias
...
git-svn-id: trunk@34202 -
2016-07-25 18:56:37 +00:00
michael
cdc481f218
* Patch from Mattias Gaertner to Allow only one uses list
...
git-svn-id: trunk@34201 -
2016-07-25 18:52:28 +00:00
olivier
49132b57dd
- remove sysheap.inc override from the Haiku port. mmap is now fully supported under Haiku for a long time. sbrk is also under work and the current implementation limit the available memory.
...
git-svn-id: trunk@34200 -
2016-07-24 18:47:33 +00:00
michael
d4a0fcecd9
* Removed unused variable
...
git-svn-id: trunk@34199 -
2016-07-24 07:39:22 +00:00
michael
827209f2de
* Generic array parsing
...
git-svn-id: trunk@34198 -
2016-07-24 07:36:15 +00:00
pierre
b9e6938519
Correct behavior: if VMT becomes NIL, RTE 219 must be generated as this happens if EXPVMT is not an ancestor of starting VMT
...
git-svn-id: trunk@34197 -
2016-07-24 06:13:46 +00:00
michael
e1751df5c3
* Refactor so LoadFromStream can be overridden
...
git-svn-id: trunk@34196 -
2016-07-23 20:04:38 +00:00
michael
c715aa5188
* Call inherited destructor
...
git-svn-id: trunk@34195 -
2016-07-23 19:47:10 +00:00
svenbarth
59303c5113
Fix -CR after the recent VMT changes.
...
* tobjectvmt: parent needs to be ppointer for 3.1.1
* fpc_check_object_ext: correctly determine parent VMT
git-svn-id: trunk@34194 -
2016-07-23 16:42:15 +00:00
svenbarth
131a7bbc67
Fix cycling.
...
* correctly handle tcalo_data_force_indirect in finalize_vectorized_dead_strip_asmlist()
* correctly handle tcdssso_use_indirect in get_vectorized_dead_strip_section_symbol()
git-svn-id: trunk@34193 -
2016-07-23 16:34:26 +00:00
joost
05779cc64c
* Do not add the --prefix parameter when calling fpmake for building archives
...
git-svn-id: trunk@34190 -
2016-07-22 22:14:26 +00:00
pierre
c3ac426131
Fix testppudump by adding missing TAsmsymtype and TAsmsymbind
...
git-svn-id: trunk@34189 -
2016-07-22 16:42:10 +00:00
svenbarth
02ebae7658
* use the indirect symbol for resource strings if necessary
...
* have the unit import the resource string symbol if necessary
git-svn-id: trunk@34188 -
2016-07-22 16:04:51 +00:00
svenbarth
cbbbe8927e
* handle the export and import of resourcestring symbols for packages
...
git-svn-id: trunk@34187 -
2016-07-22 16:03:59 +00:00
svenbarth
ccb4b23949
* register the start and end symbols of resource strings in the extern assembler list of the program/library
...
* export the start and end symbols of resource strings from the package
git-svn-id: trunk@34186 -
2016-07-22 16:03:16 +00:00
svenbarth
947c876ba3
* use the indirect start and end symbols for the resource string table (affects both the compiler and the RTL)
...
git-svn-id: trunk@34185 -
2016-07-22 16:01:39 +00:00
svenbarth
90a1099c5e
* generate indirect symbols for resource strings as well as the start and end symbols
...
* register the start and end symbol in the unit's public assembler symbol list
git-svn-id: trunk@34184 -
2016-07-22 15:59:35 +00:00
svenbarth
3147374178
Ensure uniqueness of internal errors
...
git-svn-id: trunk@34183 -
2016-07-22 15:56:54 +00:00
svenbarth
4df4449933
Extend the ttypedconstbuilder's dead_stripe_section handling (get_vectorized_dead_strip_section_symbol() and finalize_vectorized_dead_strip_asmlist()) with the ability to
...
- register a symbol in the unit's public or extern asm symbol list
- add an indirect symbol when defining the symbol
- use an indirect symbol instead of the direct one
This will be needed to correctly handle resourcestrings for packages
git-svn-id: trunk@34182 -
2016-07-22 15:55:14 +00:00
svenbarth
d9d2789375
* fix DynArrayDim() and DynArrayIndex() after the RTTI changes in r33944
...
git-svn-id: trunk@34180 -
2016-07-22 13:48:12 +00:00
svenbarth
022df814c2
* use the extern and public assembler symbol lists stored in the units to resolve those symbols to a used package that don't have a corresponding Pascal symbol
...
git-svn-id: trunk@34179 -
2016-07-22 13:42:13 +00:00
svenbarth
6cc7539208
* also export the mangled RTTI name from a package
...
git-svn-id: trunk@34178 -
2016-07-22 13:39:51 +00:00
svenbarth
971d05c898
* also import procdefs that are called through the VMT
...
git-svn-id: trunk@34177 -
2016-07-22 13:38:59 +00:00
svenbarth
f69b365b77
* declare various symbols as external assembler symbols: RTTI references, parent VMT, FPC_EMPTYMETHOD (all three only if it's used from a different unit), threadvar lists and symbols declared as "external"
...
git-svn-id: trunk@34176 -
2016-07-22 13:34:38 +00:00
svenbarth
bb72c1c4df
* declare various assembler symbols (VMT, RTTI, threadvars) as public assembler symbols
...
* declare public function alias as public assembler symbols
git-svn-id: trunk@34175 -
2016-07-22 13:11:24 +00:00
svenbarth
5bb121e91c
Add a mechanism to keep track of assembler symbols that either publicly provided by a unit or used by a unit and that are not really baked by a Pascal symbol (e.g. public function aliases, RTTI & VMT symbol).
...
This basically revives the globalasmsym entry of the PPU though it feeds to different lists, one for the public (exported) symbols and one for the external (imported) symbols. Also the list of symbols is much smaller as it would be if all symbols would be dumped in there.
git-svn-id: trunk@34174 -
2016-07-22 13:08:32 +00:00
svenbarth
f18e6cec0b
* correctly enumerate the fields of the TVMT record after the previous extension of it (GetvParent and vParent are two new symbols and TVMT does not only contain fieldvarsyms now) so that the VMT def can be correctly generated
...
git-svn-id: trunk@34173 -
2016-07-22 13:07:37 +00:00
svenbarth
685f820622
* switch class'/object's parent reference in the VMT to an indirect reference
...
(this also requires the adjustment of a test)
git-svn-id: trunk@34172 -
2016-07-22 12:53:51 +00:00