Commit Graph

38734 Commits

Author SHA1 Message Date
Jonas Maebe
3a5b5f03d5 * only enable for Linux and Win32/Win64, since those are presumably the
platforms on which this package has been tested (it definitely won't work
    on darwin as is)

git-svn-id: trunk@22944 -
2012-11-06 23:14:16 +00:00
michael
9d7ba28cf7 * Initial version of libvlc units
git-svn-id: trunk@22943 -
2012-11-06 22:42:15 +00:00
lacak
70b030c9f1 fcl-db: mssql: very basic support for variant data type, rather than raising exception.
(as dbconvert does not support SYBVARIANT atm, use direct Move to move raw data into blob buffer)

git-svn-id: trunk@22941 -
2012-11-06 13:57:57 +00:00
michael
b24074841e * trivial patch from Laco
git-svn-id: trunk@22940 -
2012-11-06 13:40:50 +00:00
lacak
43375ef468 fcl-db: formatting
git-svn-id: trunk@22939 -
2012-11-06 09:29:22 +00:00
lacak
221ee477b2 fcl-db tests: unification of file names used (generated) during testing.
git-svn-id: trunk@22938 -
2012-11-06 08:32:41 +00:00
lacak
0893146a91 fcl-db test: improve testing of ftAutoInc. After rev.22935
(some databases allows updating of identity columns so test it)

git-svn-id: trunk@22937 -
2012-11-06 08:09:32 +00:00
svenbarth
fdf6b17421 rtl/linux/m68k/prt0.as:
correctly calculate and pass on the addresses for the parameters and the environment; this way parameters can now be used, but reading environment variables still does not seem to work...

Note: the other assembler files (especially cprt0.as) were not adjusted and might not work at all

git-svn-id: trunk@22936 -
2012-11-05 21:12:09 +00:00
ludob
35f1339404 sqldb: Modified ftAutoinc behavior slightly to match Delphi behavior and allow updating of ftAutoInc fields for those db backends that support it. Added support for odbc ReadOnly fields. Patch from Lacak2 Mantis #22531
git-svn-id: trunk@22935 -
2012-11-05 15:23:15 +00:00
reiniero
51c06b1180 * FCL-DB: cosmetic changes in comments
git-svn-id: trunk@22934 -
2012-11-05 07:00:12 +00:00
florian
761fcca4ec + is_dynamicstring
+ implement low/high for dynamic strings, resolves #15244 and #22936
+ basic support for $zerobasedstrings directive

git-svn-id: trunk@22933 -
2012-11-04 21:48:53 +00:00
florian
39aef35bdc * pass not only exception address but also frame to raise:
if an address is passed the compiler cannot know a good 
  value for the frame so it passed nil and no stack trace is printed, resolves #12528

git-svn-id: trunk@22932 -
2012-11-04 20:40:21 +00:00
svenbarth
1bc47815be m68k/cgcpu.pas, tcg64k.fixref:
* in the case of ref.base + ref.symbol always add the base to the index; with this the compiler now cycles for Coldfire

git-svn-id: trunk@22931 -
2012-11-04 20:29:22 +00:00
svenbarth
a4f390e4d9 m68k/cgcpu.pas, tcg64f68k:
+ a_op64_reg_reg: add support for "NEG" and "NOT" of 64-bit values
  + a_op64_const_reg: make sure that we know whether a NEG or NOT with a constant is performed

git-svn-id: trunk@22930 -
2012-11-04 20:27:01 +00:00
florian
bc4a8ac63e + constant postfixoperator_tokens
+ check for postfix operators after string contants, resolves #23136

git-svn-id: trunk@22929 -
2012-11-04 19:21:19 +00:00
svenbarth
2038a607ac cg64f32.pas, tcg64f32.a_load64_*_cgpara:
* since m68k is 1) a big endian system and 2) a system without a fixed stack (thus we use a push-equivalent) we need to swap the order of the hi and lo longwords of a 64-bit value when passing it to a function

git-svn-id: trunk@22928 -
2012-11-04 19:12:57 +00:00
florian
b58273fdeb * fix memory leak of video unit as proposed by Michael Karst, resolves #22876
git-svn-id: trunk@22927 -
2012-11-04 18:42:47 +00:00
florian
a523d81b87 * fix sincos also for x86-64-linux
git-svn-id: trunk@22926 -
2012-11-04 18:02:20 +00:00
florian
a9fed57090 * fix sincos for x86-64 windows resolves #23268
* changed to intel assembler to be more readble
* test for sincos extended

git-svn-id: trunk@22925 -
2012-11-04 16:27:29 +00:00
svenbarth
22552e468b m68k/cgcpu.pas, tcg68k.g_concatcopy:
* in case of copying from the parameter location to the local location we need to use the alignment size for the source as byte/word values are passed as LongInts (this is how the ABI is specified)

git-svn-id: trunk@22924 -
2012-11-04 16:11:16 +00:00
svenbarth
30f006d751 m68k/cgcpu.pas, tcg64f68k.a_op64_const_reg:
* use the correct register for the high value

git-svn-id: trunk@22923 -
2012-11-04 16:08:37 +00:00
florian
ddc054be79 * patch by Cyrax for easy redirection of heaptrc output, resolves #22168
git-svn-id: trunk@22922 -
2012-11-04 14:07:57 +00:00
florian
0b30b0fd5a * re-enable jump tables for x86-64, they are fixed, see also
http://www.hu.freepascal.org/lists/fpc-devel/2012-June/029141.html

git-svn-id: trunk@22921 -
2012-11-03 22:14:45 +00:00
joost
55d03b775e * Within the LaTeX help-text, underscores have to be escaped.
git-svn-id: trunk@22920 -
2012-11-03 17:07:59 +00:00
lacak
a8404dbf7f fcl-db: implemented GetConnectionInfo for TMSSQLConnection
(basic support, more options later)

git-svn-id: trunk@22919 -
2012-11-02 11:10:33 +00:00
Jonas Maebe
b8116de644 * fixed make install after r22897
git-svn-id: trunk@22918 -
2012-11-02 11:03:22 +00:00
michael
2bb25ea14f * Patch to make db library loading code more uniform
git-svn-id: trunk@22917 -
2012-11-02 11:01:20 +00:00
reiniero
920e34b3ff * FCL-DB: typo+clarification for MSSQL/Sybase db test framework databse.ini template
git-svn-id: trunk@22916 -
2012-11-02 08:29:42 +00:00
sergei
d019670495 - Removed generic implementation of TObjData.sectionname, its existence is useless because it is completely overridden by all TObjData descendants.
- Removed separate ELF section names for PIC. The only difference was .data named .data.rel; however .rel suffix has nothing to do with PIC. It only signifies that the section has relocations so such sections can be grouped together in output file and reduce number of pages for dynamic linker to visit  while resolving the relocations at load time. At the same time, no existing link scripts distinguish between .rel and any other suffix (except .rel.ro, but it's a different story), meaning that long section names will break .rel grouping.
While support for .data.rel can be added similar to existing rodata handling (separate sec_data and sec_data_norel sections), this doesn't seem worth the trouble.

git-svn-id: trunk@22915 -
2012-11-02 08:03:54 +00:00
sergei
4410fe86d2 * ELF linker: moved some code (which must be executed only once when linking with separate debug file) from MemPos_Start into AfterUnusedSectionRemoval, this removes some checks and simplifies things.
* Simplified .shstrtab handling between passes by using oso_debug_copy attribute on it.
- Don't recreate segment mapping: only debug sections are removed between passes, and they are never part of any segment.

git-svn-id: trunk@22914 -
2012-11-02 06:41:03 +00:00
svenbarth
9d4d7d748c m68k/n68kadd.pas:
+ add support for 64-bit comparisons; the code is based on the code of mips/ncpuadd.pas, but heavily adjusted for m68k

git-svn-id: trunk@22913 -
2012-11-01 21:27:02 +00:00
florian
9e35bfa252 * adapt condition
+ several missing constants added

git-svn-id: trunk@22912 -
2012-11-01 20:11:49 +00:00
florian
2ae8d604bc + shifterop for ARM64
git-svn-id: trunk@22911 -
2012-11-01 20:11:15 +00:00
florian
5e738710d4 + initial implementation of aasmcpu unit for ARM64
git-svn-id: trunk@22910 -
2012-11-01 20:10:31 +00:00
florian
046184dfe9 + ARM64 GAS instruction table unit
git-svn-id: trunk@22909 -
2012-11-01 20:09:47 +00:00
florian
e1af3ecc5d + assembler optimizer unit skeleton
git-svn-id: trunk@22908 -
2012-11-01 20:09:12 +00:00
florian
085fbbf016 + first batch of FPU/VFP instructions
git-svn-id: trunk@22907 -
2012-11-01 20:08:13 +00:00
florian
b2706861f6 + define bestrealtype for aarch64
git-svn-id: trunk@22902 -
2012-11-01 17:19:46 +00:00
florian
ca75588989 + first cpubase implementation for aarch64
git-svn-id: trunk@22901 -
2012-11-01 17:18:25 +00:00
florian
0197b84b7f + instruction table generator for arm64
+ Makefile target to build arm64 instruction tables
+ instruction table with integer instructions

git-svn-id: trunk@22900 -
2012-11-01 16:11:19 +00:00
svenbarth
4d1e42e891 rtl/m68k/setjump.inc:
* implement "fpc_setjmp" and "fpc_longjmp"
rtl/m68k/m68k.inc:
  * add "nostackframe" to "get_frame" and "sptr"
  + add "get_pc_addr"
=> allows stack traces to be displayed correctly

git-svn-id: trunk@22899 -
2012-11-01 16:00:14 +00:00
reiniero
c26abcebe7 * FCL-DB: fix for MSSQL/Sybase db test framework errors when existing FPDEV table present.
Thanks to Lacak2 for the fix idea!

git-svn-id: trunk@22898 -
2012-11-01 15:21:54 +00:00
Jonas Maebe
1c19fb9ecc * updated headers to Mac OS X 10.8 SDK (includes iOS 6 SDK info). Headers
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 -
2012-11-01 11:45:57 +00:00
florian
1cb97f23e5 + cpuinfo unit for arm64
+ set basic types in the globals units for arm64

git-svn-id: trunk@22896 -
2012-10-31 22:03:56 +00:00
florian
7089d1d638 + defines for aarch64 to configure the compiler
git-svn-id: trunk@22895 -
2012-10-31 21:51:04 +00:00
florian
5af1d48158 + register definitions for AArch64 aka ARM64
+ Lazarus project for AArch64

Since AArch64 is very different from 32 Bit ARM, both won't share code in the compiler

git-svn-id: trunk@22894 -
2012-10-31 21:46:01 +00:00
svenbarth
772072d8c9 m68k/n68kmat.pas, tm68kmoddivnode:
+ 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 -
2012-10-31 21:27:05 +00:00
svenbarth
49d953aea2 m68k/cgcpu.pas:
+ 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 -
2012-10-31 20:58:16 +00:00
florian
e190f76dd9 * removed spaces from sparc cpu name strings so they can be much easier used
git-svn-id: trunk@22891 -
2012-10-31 20:57:14 +00:00
svenbarth
a3a3cad8ee m68k/cgcpu.pas, tcg68k.a_load_const_ref:
* 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 -
2012-10-31 20:26:29 +00:00