that were removed (e.g. most of QuickDraw) were kept. Most changes are
related to deprecation notices, or the fact that certain headers have
become available on iOS. This version corresponds to r393 of the
macosxintf repository.
There were also a number of small corrections to existing declarations:
o several opaque types have been changed from ^SInt32 into pointers to
different empty records. That means that these types are no longer
assignment-compatible. Some of the more prominent ones that may affect
existing *correct* code are HIObject and ControlRef=HIViewRef. This
may require adding typecasts to keep code compiling (the same typecasts
are required in C)
o CGGLContextCreate : fixed first parameter (was "var", now is value
parameter)
o CFHostGetAddressing: var hasBeenResolved: boolean -> booleanptr because
can be nil
o CFHostGetNames: var hasBeenResolved: boolean -> booleanptr because can
be nil
o ColorSyncIterateInstalledProfiles: var seed: UInt32 -> UInt32Ptr
because can be nil
o AudioStreamGetPropertyInfo: outSize and outWritable changed to pointer
because can be nil
o cblas (several var-parametes changed to pointers because they represent
arrays):
o cblas_sswap, cblas_dswap: X, Y
o cblas_scopy, cblas_dcopy: Y
o cblas_saxpy, cblas_daxpy: Y
o catlas_saxpby, catlas_daxpby: Y
o catlas_sset, catlas_dset: X
o cblas_sscal, cblas_dscal: X
o cblas_sgemv, cblas_dgemv: X
o cblas_strmv, cblas_dtrmv: X
o cblas_stbmv, cblas_dtbmv: X
o cblas_stpmv, cblas_dtpmv: Ap, X
o cblas_strsv, cblas_dtrsv: X
o cblas_stbsv, cblas_dtbsv: X
o cblas_stpsv, cblas_dtpsv: Ap, X
o cblas_ssymv, cblas_dsymv: X
o cblas_ssbmv, cblas_dsbmv: Y
o cblas_sspmv, cblas_dspmv: Ap, Y
o cblas_sger, cblas_dger: A
o cblas_ssyr, cblas_dsyr: A
o cblas_sspr, cblas_dspr: Ap
o cblas_ssyr2, cblas_dsyr2: A
o cblas_sspr2, cblas_dspr2: A
o cblas_sgemm, cblas_sgemm: C
o cblas_ssymm, cblas_Dsymm: C
o cblas_ssyrk, cblas_dsyrk: C
o cblas_ssyr2k, cblas_dsyr2k: C
o cblas_strmm, cblas_dtrmm: B
o cblas_strsm, cblas_strsm: B
o vBLAS (idem)
o SDOT: X, Y
o SNRM2: X
o SASUM: X
o ISAMAX: X
o SSWAP: X, Y
o SCOPY: X, Y
o SAXPY: X, Y
o SROT: X, Y
o SSCAL: X
o SGEMV, A, X, Y
o SGEMM: A, B, C
o vDSP (idem)
o vDSP_sve_svesq, vDSP_sve_svesqD: __vDSP_A
o vDSP_normalize, vDSP_normalizeD: __vDSP_A, __vDSP_C
git-svn-id: trunk@22897 -
+ add routine "call_rtl_moddiv_reg_reg" which handles the calling of "fpc_div_longint", "fpc_div_dword", "fpc_mod_longint" and "fpc_mod_dword"
* emit_mod_reg_reg & emit_div_reg_reg: use the new method instead of doing the call oneself
=> "Str(SomeInt, SomeStr)" and "Writeln(SomeInt)" now works
git-svn-id: trunk@22893 -
+ add methods "call_rtl_mul_const_reg" and "call_rtl_mul_reg_reg" which can call the RTL helpers "fpc_mul_longint" and "fpc_mul_longword" (based on AVR code)
* use the new call methods for the RTL to correctly pass the parameters (on the stack, not in registers...)
git-svn-id: trunk@22892 -
* don't do a sign_extend, but use the correct move size to copy the const; this fixes the setting of the line ending style inside of "Assign"
=> output of strings does now work correctly!
git-svn-id: trunk@22890 -
(allows retrieval of various connection related informations like type and version of DBMS, name and version of client library)
* implements this method for MySQL, PostgreSQL, SQLite, ODBC
Patch by DB-Core team
git-svn-id: trunk@22886 -
completely disable the "fast loop" code for Coldfire instead of "hackfixing" it; with this StdIO starts to work (though one byte is missing at the end...)
git-svn-id: trunk@22883 -
* TExeOutput.WriteExeSectionContent: To write proper gap between exe sections, don't align writer position. The desired position is present in exesection.DataPos, so pad right up to it.
git-svn-id: trunk@22881 -
Up until now we only checked the next instruction, with the new load
scheduler this is insufficient as shift-instructions and next usage
might farther apart.
The new version uses GetNextInstructionUsingReg, this also comes with a
price as we very carefully have to check if one of the used registers is
changed and that the usage of RRX will not break when we fold and flags
get changed in between.
git-svn-id: trunk@22876 -
- memory barriers are only needed on armv6 and up
- DMB on ARMv6 is "mcr 15, 0, r0, cr7, cr10, {5}", not "mcr 15, 0, r0, cr7, cr10, {4}"
- improve write barrier on armv7 by using "dmb st" instead of "dmb sy"
todo: The use of the correct barrier code should be determined during runtime.
git-svn-id: trunk@22867 -
Therefore, added dedicated routines align_aword and align_qword that handle target platform size and 64-bit unsigned, respectively.
+ Also added TExeOutput.FixedSectionAlign boolean that, when set to False, ignores SectionDataAlign and SectionMemAlign and aligns every exe section to its own SecAlign value. This kind of alignment is used on ELF targets.
git-svn-id: trunk@22858 -