sergei
|
f42c1b3720
* Return dynamic arrays in parameter, this was the only managed type still returned in register. Returning managed types in registers requires catching and re-raising exceptions at callee side in order to finalize result and avoid memory leaks. While such behavior makes little difference with generic setjmp-based exception handling, it becomes very inefficient as SEH-styled exception handling is being introduced.
|
преди 11 години |
pierre
|
a311c53167
Replace HandleErrorFrame calls by HandleErrorAddrFrameInd where possible in common code (to allow correct backtrace for mips cpu)
|
преди 13 години |
sergei
|
92f927976e
* Rewrote fpc_dynarray_copy to trim out-of-range arguments instead of raising range error. Makes behavior Delphi-compatible and resolves #21396.
|
преди 13 години |
sergei
|
f136e44b6b
- RTL: cleaned up remaining 'decr_ref' routines (not removed completely due to bootstrapping needs, but aliased to 'finalize' ones).
|
преди 13 години |
sergei
|
568ef396fb
* Added fpc_dynarray_assign (a helper for dynamic array assignments), added local access to fpc_intf_assign, and switched fpc_copy to use assignment helpers instead of incr_ref/decr_ref combinations.
|
преди 13 години |
sergei
|
a8fe9601de
* Get rid of using pdynarraytypeinfo, instead treat rtti as distinct 'header' and 'data' parts. In variants unit, use rtti declarations from typinfo directly. In system unit, declare private tdynarraytypedata record which (like typinfo.TTypeData) is not packed on alignment-sensitive targets. This simplifies code and removes scary pointer manipulations, should also yield better code on aligned targets.
|
преди 13 години |
sergei
|
5658c30328
* Partially reverted r20041 to prevent IE200606085 on ARM platforms.
|
преди 13 години |
sergei
|
40f29ffd7a
* Generate direct order of indexes passed to fpc_dynarray_setlength at compile time, eliminates the need of reversing them at runtime (in DynArraySetLength).
|
преди 13 години |
sergei
|
1fcd40ee64
Continue fixing open array handling:
|
преди 14 години |
mazen
|
b127fc154a
* Fixed spell error revealed by lintian.
|
преди 15 години |
florian
|
e01e4e5719
* optimized copy(<dyn. array> ...) by checking if the elements are really ref. counted
|
преди 15 години |
Jonas Maebe
|
65f217ed02
* only set dynarray pointer to nil in decref in case the last reference
|
преди 17 години |
peter
|
923aac0390
* give range error if setlength value < 0 and the array is not filled
|
преди 17 години |
florian
|
fd2032dab2
+ start of embedded rtl
|
преди 19 години |
micha
|
d704af7216
fix compilation for {$T+} linux/win
|
преди 19 години |
peter
|
16f121a8bc
* reuse generic align()
|
преди 19 години |
yury
|
11576fd24b
* fixed warnings and notes while compiling system unit for wince.
|
преди 19 години |
tom_at_work
|
9d7ac02696
* fixed tb0488 on unix platforms (missing cwstring uses)
|
преди 20 години |
florian
|
8b3c634573
* fixed DynArraySetLength
|
преди 20 години |
florian
|
c5f82ba6de
+ (ole)variant<->error type conversion
|
преди 20 години |
florian
|
8dd52941d5
* tdynarraytypeinfo moved to interface
|
преди 20 години |
michael
|
198b2104be
+ Removed HASFUNCTIONCOPYDYNARR define
|
преди 20 години |
michael
|
5cafc069b5
+ Removed NOSAVEREGISTERS define
|
преди 20 години |
michael
|
93ba0409be
+ Removed HASCOMPILERPROC define
|
преди 20 години |
michael
|
7712d4e2d1
+ Removed FPC_ALIGNSRTTI define
|
преди 20 години |
peter
|
4ace790492
* remove $Log
|
преди 20 години |
fpc
|
790a4fe2d3
* log and id tags removed
|
преди 20 години |
fpc
|
50778076c3
initial import
|
преди 20 години |
Jonas Maebe
|
9ccf2effdc
* fixed web bug #3805
|
преди 20 години |
florian
|
eeaded577a
* fixed copy(dyn. array,...);
|
преди 20 години |