* Build unixcp for all unix-like systems.
* Use the unixcp unit in cwstring instead of winiconv.inc.
- Deleted winiconv.inc
- Reverted r22410,r22411,r22428. The compiler will use the unixcp unit to get a default code page for ansistrings.
git-svn-id: trunk@23670 -
In trunk TBookmark is of type array of bytes (TBytes), prior this it was Pointer (to memory block of BookmarkSize where is stored "bookmark data").
BufDatset uses GotoBookmark and passes address of bookmark, which is okay when TBookmark was pointer, but when it is dynamic array then on entry into method FPC_DYNARRAY_INCR_REF is called, where is accessed "array header" in unallocated memory, which leads to invalid pointer operation.
Making parameter as const will avoid invoking reference counting mechanism. Bug #23381. Discussed also in DB-Core ML.
git-svn-id: trunk@23665 -
* Reorganize ifdef GDB_VXYZ part
+ Add code for LIBGDB_HAS_GET_STDIN (possibly set in gen-gdblib-inc.sh script).
+ Use GDB_USE_XSTRVPRINTF conditional.
git-svn-id: trunk@23660 -
gvector.pp:
* more consistent formatting
- remove "inline" directives in implementation section
* use "Move" instead of a for-loop in Erase and Insert (while also respecting managed types) for performance improvement
* set the removed entry in PopBack to Default(T) (also for managed types)
* fix a bug in Erase which checked for "<= Size" instead of "< Size"
git-svn-id: trunk@23647 -
gvector.pp, TVector.TVectorEnumerator:
* the size of a vector is of type SizeUInt which is LongWord on 32 bit systems and QWord on 64 bit systems and which is in both cases not the same as Integer which is LongInt
+ add a boolean property to detect whether the first call to MoveNext was done
* check in MoveNext whether the first call was done and return approbiate results
gvector.pp, TVector:
+ declare GetEnumerator as inline as well
git-svn-id: trunk@23645 -
* Abort if attempting to emit a call without pi_do_call flag set, because the outgoing parameter area determines layout of temps and therefore cannot be created/changed during pass 2.
* Bypass g_concatcopy_move if procedure is a leaf one, due to the restriction mentioned above.
git-svn-id: trunk@23644 -
- Always use fresh native fpcmake executable.
- Build fresh native fpcmake executable when cross-compiling.
- Explicitly specify a compiler which is used to bootstrap fpmake and fpcmake. Always use fresh native compiler for that.
* New bootstrap target for fpcmake to build native fpcmake regardless of CPU/OS settings.
git-svn-id: trunk@23641 -
Of course this change does not help very much, because when data are loaded from file bidirectional is checked and exception is raised.
So IMO we should comment: //UniDirectional := TestUniDirectional, because in concept of save/load file we can not test unidirectional bufdataset.
git-svn-id: trunk@23640 -
* Disabled building of clocale, since it does not work anyway. A new android implementation is needed.
* Disabled building of x86 and ports units. They are useless on Android.
git-svn-id: trunk@23635 -
* Replaced assignment "has_errors:=true" by calling a new procedure SetHasErrors. It simplifies debugging - just set a breakpoint inside SetHasErrors and see the stack back trace to find out where the error has occurred.
git-svn-id: trunk@23633 -
assemble.pas, TExternalAssembler.WriteSourceLine:
* don't generate an internal error if no module is found; if the system unit is compiled with -al there can be cases when fileinfo contains only zeros (though I wonder where this comes from; I'll need to investigate this when I have time)
git-svn-id: trunk@23631 -