sergei
|
b223e104ac
Refactoring:
|
13 years ago |
florian
|
20b1e3af78
Merging of generics branch of Sven Barth
|
13 years ago |
sergei
|
270fc39432
* An open array/array of const parameter passed by value and requiring a local copy on heap (currently all targets except non-Darwin i386 ones) should not be placed into register and should force procedure to have an implicit finally block.
|
13 years ago |
sergei
|
c8e65c501a
* Don't optimize away implicit initialization/finalization procedures if corresponding clause is present in the source but is empty. Resolves #19701.
|
13 years ago |
svenbarth
|
4419dc3d34
Rebase to revision 19673
|
13 years ago |
svenbarth
|
87d9714221
Somehow the changes regarding tf_methods_specialized weren't commited, thus here they are again:
|
13 years ago |
svenbarth
|
461d231daa
Rebase to revision 19078 (directly before the merge of cpstrnew)
|
13 years ago |
svenbarth
|
594f84dc2c
Merge branch 'unique-syms'
|
13 years ago |
sergei
|
6cb6569d51
* Set pi_uses_exceptions flag when creating/firstpassing ttryexceptnode or ttryfinallynode, not when parsing try statements. It ensures that procedures with exception handling nodes created by compiler (constructors in the first place, but also for..in loops with TObject iterators, etc.) are handled the same way as ones containing exception nodes from user code.
|
13 years ago |
svenbarth
|
feeff56099
We need to flag specializations of record-/objectdef once we have generated their methods otherwise an interesting situation might occur:
|
14 years ago |
sergei
|
fa4b78363c
+ Handle safecall exceptions with a dedicated compilerproc, simplifies compiler part and reduces generated code size.
|
14 years ago |
florian
|
c6a0cafdb0
* don't generate implicit exception frames for pure assembler routines, resolves #20075
|
14 years ago |
florian
|
d7f7a9bb76
* patch by Alexander Shishkin to clean up $ifopt usage by $push/$pop, resolves #20346
|
14 years ago |
sergei
|
b997094755
+ Generate unwind bytecode for function prologues on win64.
|
14 years ago |
pierre
|
57f3f0a82b
scanner unit:
|
14 years ago |
florian
|
cf0d808708
+ avr assemblers do not convert automatically cond. branches with too large jump distances into an unconditional branch and a reverse condition branch, so fpc does this now
|
14 years ago |
svenbarth
|
a862cd702d
Rebase to revision 18000
|
14 years ago |
svenbarth
|
de1e6b1c3d
Implement support for nested non-generic types inside generic types. This is mostly for records, classes and objects ("structures") as those didn't work at all, but the others (arrays, procvars) weren't done cleanly either.
|
14 years ago |
pierre
|
239944f8d0
+ Use DLL name in assembler labels used to import DLL functions/variables
|
14 years ago |
Jonas Maebe
|
9f4f21baa1
* set the line information for the initialization of local variables with
|
14 years ago |
florian
|
f53a14ec38
* fix regressions caused by r17496
|
14 years ago |
florian
|
e271595e20
* patch by Hans-Peter Diettrich to speed up specialize_objectdefs, resolves #17638
|
14 years ago |
svenbarth
|
16e500ee3c
Removed old search algorithm
|
14 years ago |
svenbarth
|
d0705a1779
Rebase to revision 17236
|
14 years ago |
sergei
|
1c01d52ea6
* Improvements of tprocinfo class:
|
14 years ago |
svenbarth
|
f7f357f18e
* symconst.pas:
|
14 years ago |
svenbarth
|
d12b198c7f
Rebase to revision 16888
|
14 years ago |
florian
|
cc10ab57ab
* create a stub on all targets when the external name changes, resolves #18371
|
14 years ago |
paul
|
f5965a9ce4
compiler: specialize record methods the same way as currently done for object and class methods + test
|
14 years ago |
paul
|
e8502b8ec2
compiler: make current_genericdef, current_specializedef tstoreddef instead of tabstractrecorddef to implement generic arrays
|
14 years ago |