Commit Graph

38909 Commits

Author SHA1 Message Date
michael
bc60ea4713 * Added ability to create class chart
git-svn-id: trunk@23194 -
2012-12-20 15:54:24 +00:00
michael
2c26d53f9b * Added ability to create class chart
git-svn-id: trunk@23193 -
2012-12-20 15:00:10 +00:00
reiniero
c9e838e2f9 + FCL-DB: db test framework: add test for issue #23509: locate must ignore lopartialkey for non-string fields
git-svn-id: trunk@23192 -
2012-12-19 15:58:58 +00:00
reiniero
e4ed8ea35b - FCL-DB: db test framework: clean up dbf export code (duplicate functionality since r23164)
git-svn-id: trunk@23191 -
2012-12-19 13:21:22 +00:00
reiniero
4556129de7 * FCL-DB: only honour lopartialkey for locate on indexed fields if field is string type.
This aligns behaviour with non-indexed locate as well as fpc bufdataset.
Partly addresses issue #23509

git-svn-id: trunk@23190 -
2012-12-19 13:11:47 +00:00
lacak
9f60eca94f fcl-db: tests: move IFDEF to proper position
git-svn-id: trunk@23189 -
2012-12-19 08:27:04 +00:00
sergei
c766c50907 * Proper fix for SPARC cycling with -dCHECK_PIC, pi_needs_got additionally must be set in following cases:
1) tguidconstnode.pass_1 (location is LOC_CREFERENCE)
  2) tonnode.pass_1 (generic secondpass references VMT of exception class)
  3) Conversion from unsigned to floating-point involves 'magic constant' as GOT-relative data object.
  4) Case jumptable address is loaded relative to GOT.

(1) and (2) also provide more accurate setting of pi_needs_got for all targets.

git-svn-id: trunk@23188 -
2012-12-18 17:56:56 +00:00
pierre
658968ef44 Add debugging generation ability for m68k compiler
git-svn-id: trunk@23187 -
2012-12-18 15:57:40 +00:00
pierre
c979ded1f9 Use FPUSOFT instead of CPUCOLDFIRE for settings some m68k software macors
git-svn-id: trunk@23186 -
2012-12-18 15:20:33 +00:00
pierre
14c5fceb45 Add fpc_longword_to_double
git-svn-id: trunk@23185 -
2012-12-18 15:17:48 +00:00
pierre
6d5f2e0cf2 Regenerated after: Add lineinfo
git-svn-id: trunk@23184 -
2012-12-18 15:16:37 +00:00
pierre
bb6355e716 Add lineinfo
git-svn-id: trunk@23183 -
2012-12-18 15:15:26 +00:00
pierre
daccd0d283 Add aliases fro mkdir/rmdir/chdir
git-svn-id: trunk@23182 -
2012-12-18 15:14:13 +00:00
pierre
11e743e5b8 Use FPC_INCLUDE_LONGWORD_TO_DOUBLE for m68k
git-svn-id: trunk@23181 -
2012-12-18 15:11:48 +00:00
pierre
ab52c48520 Add DynLinkStr support
git-svn-id: trunk@23180 -
2012-12-18 15:08:59 +00:00
pierre
39219cc30f Also handle fpu_soft
git-svn-id: trunk@23179 -
2012-12-18 15:07:13 +00:00
pierre
2a610e74b7 Also handle fpu_soft
git-svn-id: trunk@23178 -
2012-12-18 15:06:24 +00:00
pierre
080034982f Use GasCpuTypeStr array: GAS uses different names for cpu variants
git-svn-id: trunk@23177 -
2012-12-18 15:04:57 +00:00
pierre
0af0da69b1 New GasCpuTypeStr array: GAS uses different names for cpu variants
git-svn-id: trunk@23176 -
2012-12-18 15:00:38 +00:00
pierre
548a687a17 LOC_FPUREGISTER is not used for func_getretloc ig using fpu_soft
git-svn-id: trunk@23175 -
2012-12-18 14:58:53 +00:00
pierre
76ba2ea6c7 Save complete register set for setjmp/longjmp
git-svn-id: trunk@23174 -
2012-12-18 14:05:52 +00:00
pierre
0e14a3c5bd add fpc_longword_to_double if needed
git-svn-id: trunk@23173 -
2012-12-18 14:04:14 +00:00
michael
d965748048 * Patch from Graeme geldenhuys to introduce class hierarchy in IPF
git-svn-id: trunk@23172 -
2012-12-18 13:03:53 +00:00
michael
813b91a596 * Patch from Reinier Olislaghers - some cosmetic changes (Bug ID 23506)
git-svn-id: trunk@23171 -
2012-12-18 11:06:01 +00:00
sergei
0196c62ee8 + Initial work to support versions of ELF dynamic symbols.
git-svn-id: trunk@23170 -
2012-12-18 08:25:57 +00:00
lacak
da67d3be15 fcl-db: tests: formatting (reorder methods)
git-svn-id: trunk@23169 -
2012-12-18 07:34:41 +00:00
lacak
e8d236e3b4 fcl-db: postgresql:
* check transaction state to determine failed transaction. To avoid "current transaction is aborted commands ignored until end of transaction block"
* move GetPQErrorMessage into CheckResultError as it was originally in rev.21750

git-svn-id: trunk@23168 -
2012-12-18 07:17:10 +00:00
Károly Balogh
e2f02faca0 do not refer reg a6 directly, base pointer might differ among platforms (a5 on m68k-amiga)
git-svn-id: trunk@23167 -
2012-12-18 02:13:43 +00:00
Károly Balogh
39755ba888 use operatingsystem_result on m68k-amiga to pass returncode to OS
git-svn-id: trunk@23166 -
2012-12-18 01:41:52 +00:00
reiniero
f62269a111 + sqldb: db test framework:
- consolidate csv export test from issue #20268 
- fix output filenames so that naming collisions are less likely

git-svn-id: trunk@23165 -
2012-12-17 15:56:40 +00:00
reiniero
1ce4f17261 + sqldb: db test framework:
- consolidate db export tests into db test framework; remove existing xmlxsd and dbf export tests.
- add tests for other exports (rtf, tex, csv, sql..)
- Tests give an access violation but that is probably caused by dataset code. Ludo Brand's analysis:
Can reproduce the problem. Something wrong with the dataset. The length of the blob is 1G although the blob is initialised with an empty string. This obviously causes a sigsegv because there is no 1G of data to copy from. Looking further into it. 

git-svn-id: trunk@23164 -
2012-12-17 15:26:28 +00:00
lacak
01753385e4 fcl-db: postgresql: add schema name into schema query.
stSysTables should return only system tables.

git-svn-id: trunk@23163 -
2012-12-17 13:22:19 +00:00
reiniero
4820160ed1 + fcl-db tests: GUI test framework: add db connector selector/editor. Addresses issue #23483
git-svn-id: trunk@23162 -
2012-12-17 13:15:20 +00:00
lacak
83f411adb9 fcl-db: test: for UniDirectional datasets is RecNo=-1 (also in Delphi), so fix test.
git-svn-id: trunk@23161 -
2012-12-17 06:57:43 +00:00
Károly Balogh
7fa067265b small & ugly patch to work around old GNU AS on Amiga, which doesn't know about -march=
git-svn-id: trunk@23160 -
2012-12-17 00:12:30 +00:00
Károly Balogh
e2ce0e54c2 made Amiga/68k RTL to build with new m68k compiler at least (result probably not functional yet)
git-svn-id: trunk@23159 -
2012-12-16 23:46:27 +00:00
svenbarth
4adb36e8da Add support for generic type constraints. They are currently only useful to stop specialization of a generic. The parsing of a generic is still too lax and needs to be changed in the future...
symconst.pas:
  + extend "tdefoptions" by a "df_genconstraint" which will be used to mark dummy defs that should mainly satisfy the compiler's type checking without to much changes
symsym.pas:
  + add a class "tgenericconstraintdata" which will hold information about the constraints associated with a specific generic type parameter (designed for future extensions)
  + extend "ttypesym" by a reference to a "tgenericconstraintdata" which is written to the ppu only if needed
symtype.pas:
  + add a pointer to "tderef" as this is needed for the ppu reading/writing code for the "tgenericconstraintdata"
pdecl.pas, types_dec:
  + call "parse_generic_parameters" so that constraints are allowed
pgenutil.pas:
  + extend "generate_specialization" by a "parsedpos" to give in the file position of the first parsed parameter (needed for correct error locations when checking the constraints)
  + add an overloaded call of "generate_specialization" to differentiate between the use cases "first parameter parsed by generate_specialization" and "first parameter parsed by other code"; this also allows to write the "fillchar" for the "parampos" parameter only once ( => otherwise a warning is triggered => error in compilation)
  + extend the "parse_generic_specialization_types" by a "poslist" parameter which will contain the positions of all parsed type parameters (can only be used in the case that all parameters are parsed)
  * move the original code of "parse_generic_specialization_types" to a new procedure "parse_generic_specialization_types_internal" which take an additional "parsedpos" parameter which will be added to the "poslist" before all others; "parse_generic_specialization_types" calls this new procedure with a dummy argument (which won't be used)
  + extend "parse_generic_parameters" by the parsing of generic constraints which constructs correct defs for the parameters and fills in the new "tgenericconstraintdata" object for each parameter (note: the "constructor" constraint is only parsed for Delphi compatibility and basically means the same as a "class" constraint... (it's a relict of Delphi.NET))
  * adjust "insert_generic_parameter_types" as specializations and generics can no longer be differed by whether the type parameters are of type "undefineddef"
pdecsub.pas, parse_proc_head, consume_generic_interface:
  * adjust call to "generate_specialization"
  + add a new function "check_generic_constraints" which is used from within "generate_specialization" to ensure that the given specialization parameters are compatible with the constraints of the generic parameters
ptype.pas:
  * single_type: adjust call to "generate_specialization"
  * read_named_type, expr_type: adjust call to "generate_specialization"
  + write_persistent_type_info: don't write typeinfo for constraints
pexpr.pas, sub_expr:
  * adjust call to "generate_specialization"
* adjusted ppudump, because of added "tdefoptions.df_genconstraint" value

+ added tests for generic constraints
* modified test for class helper inside a generic which extends a class type parameter
+ added test for record helper inside a generic which extends a record type parameter

git-svn-id: trunk@23158 -
2012-12-16 13:44:58 +00:00
florian
e4b0c1b284 + lazarus compiler project for aarch64
git-svn-id: trunk@23157 -
2012-12-16 12:35:02 +00:00
florian
d4c17ec4e0 + patch by Vojtech Cihak to add csqr function, resolves #23492
+ init function for complex numbers
+ csamevalue function
+ test
+ run tests in units/ucomplex directory

git-svn-id: trunk@23156 -
2012-12-16 10:15:13 +00:00
sergei
c73ec250a6 + Endian-swapping procedures for version (TElfverneed, etc.) records.
git-svn-id: trunk@23155 -
2012-12-16 09:43:48 +00:00
sergei
0aa7204707 + Added codes of dynamic relocations to TElfTarget; since most targets use similar dynamic relocation model differing only in code values, this will allow to do majority of handling in the base class.
git-svn-id: trunk@23154 -
2012-12-16 09:36:34 +00:00
Jonas Maebe
c37c039905 * report resolveref errors on the correct line number
git-svn-id: trunk@23153 -
2012-12-15 22:54:22 +00:00
Jonas Maebe
6ac8b4fbdf * give a proper error when an mmx/fpu/sse register is used inside a memory
reference (mantis #23441)

git-svn-id: trunk@23152 -
2012-12-15 22:47:16 +00:00
Jonas Maebe
68dd05e259 * fixed std_regname() for xmm registers with custom sizes
* fixed findreg_by_number() for xmm registers with R_SUBNONE
    (from the assembler reader)

git-svn-id: trunk@23151 -
2012-12-15 22:47:12 +00:00
Jonas Maebe
6e9a8c9187 * write node flags to log file instead of to stdout
git-svn-id: trunk@23150 -
2012-12-15 22:47:07 +00:00
svenbarth
9ef4a35a7b Fix the fix for Mantis #21538. The check never really worked up to now...
defcmp.pas, compare_defs_ext:
  use "equal_defs" instead of a reference comparison to check whether the type defs are equal
pgenutil.pas, insert_generic_parameter_types:
  * add to each (specialized) generic parameter the "sp_generic_para" flag so that it will be added to the "genericparas" list upon ppu loading
  * add the generic parameter to the genericparas list as well, so that the comparison in "compare_defs_ext" is triggered at all... (up to now the list was always empty -.-)
ppu.pas:
  * increase PPU version

git-svn-id: trunk@23149 -
2012-12-15 21:43:52 +00:00
ludob
43371002c4 Oracleconnection: added support for TSQLCurser.FSelectable
git-svn-id: trunk@23148 -
2012-12-15 15:52:08 +00:00
sergei
db72b8d7fd * TCGMips.a_loadfpu_reg_cgpara: temps of type Double need 8-byte alignment, according to description of sdcX/ldcX instructions. Using TCGSize2Size to specify alignment is somewhat weird, but it is being used in other CPU back-ends and looks working.
git-svn-id: trunk@23146 -
2012-12-15 08:47:11 +00:00
sergei
1415569ecb - Removed UnixToWinAge, since revision 444 it does not change its argument, but wastes a lot of CPU cycles converting it from local time and back.
git-svn-id: trunk@23145 -
2012-12-15 08:38:41 +00:00
michael
cecea651b2 * Expose ForeachCall functionality in new Iterate call, but keep backwards compatibiliy
git-svn-id: trunk@23144 -
2012-12-14 14:56:42 +00:00