Commit Graph

46406 Commits

Author SHA1 Message Date
Jonas Maebe
d7f6744f7b * converted ncgrtti to the high level typed constant builder
o the result is still not very clean due to the fact that this data
     is almost completely unstructured due to variable-length strings
     everywhere, which means that
    a) we cannot just load recorddefs from the system or typeinfo unit
       and use those as templates
    b) we cannot easily reuse the recorddefs we create ourselves (except
       if the strings have the same length -- this is the reason for all
       of the names specified to begin_anonymous_record: to reuse defs
       as much as possible rather than creating new ones all the time)
    c) we have to add explicitly aligned subrecords everywhere to insert
       explicit alignment on platforms that need it

git-svn-id: trunk@31255 -
2015-07-30 16:58:17 +00:00
Jonas Maebe
c946a85ae6 * give an internalerror if a typed const builder is finalised while there
is still an unfinished aggregate

git-svn-id: trunk@31254 -
2015-07-30 16:58:14 +00:00
Jonas Maebe
2cfc3ca4d1 * end the vmtdef aggregate so appropriate padding is inserted (if necessary)
git-svn-id: trunk@31253 -
2015-07-30 16:58:11 +00:00
Jonas Maebe
e93660c170 - removed ttai_lowleveltypedconstbuilder.queue_addrn(), as we are always
implicitly taking the address of a complex expression in a typed constant
    (you cannot put the contents of another memory location in a typed
    constant)

git-svn-id: trunk@31252 -
2015-07-30 16:58:07 +00:00
Jonas Maebe
0e42559047 * support for queueing an access to a series of fieldvarsyms by name in the
typed const builder

git-svn-id: trunk@31251 -
2015-07-30 16:58:04 +00:00
Jonas Maebe
6f4fe415e9 * support specifying the alignment of the start of an anonymous record
in the typed const builder (packrecords is not enough in case there are
    only fields smaller than the desired alignment)

git-svn-id: trunk@31250 -
2015-07-30 16:58:01 +00:00
Jonas Maebe
6f5905684f + support for specifying the name of fields added to anonymous record
types that are constructed on the fly by the high level typed const
    builder

git-svn-id: trunk@31249 -
2015-07-30 16:57:58 +00:00
Jonas Maebe
b55c7df996 * factored out internal type prefixes
git-svn-id: trunk@31248 -
2015-07-30 16:57:55 +00:00
Jonas Maebe
413680f593 * factored out getting a previously created internal type by name
git-svn-id: trunk@31247 -
2015-07-30 16:57:52 +00:00
Jonas Maebe
ddeab221c0 * when starting a queued expression, immediately emit any necessary padding
bytes,becayse if we emit them at the end then we may interpret the first
    padding byte as the final component of the queued expression

git-svn-id: trunk@31246 -
2015-07-30 16:57:49 +00:00
Jonas Maebe
e34a16d1f1 * change rtti_mangledname resultdef into TSymStr
git-svn-id: trunk@31245 -
2015-07-30 16:57:45 +00:00
Jeppe Johansen
ffe67a93b4 Fix is_calljmp to include call instructions. This was breaking some optimizations previously.
Add debug messages to peephole optimizations and add some extra optimizations.

git-svn-id: trunk@31244 -
2015-07-30 06:29:21 +00:00
lacak
6f3da41769 fcl-db: sdfdataset: Added support for reading of CSV files, which have embedded CRLF between double-quotes (Added TSDFStringList) + test.
git-svn-id: trunk@31243 -
2015-07-30 05:49:05 +00:00
Jeppe Johansen
55669f62b1 Added most AVR controllers.
Made absolutevarsym use PUint instead of AWord for its offset to fix range errors.

git-svn-id: trunk@31242 -
2015-07-29 21:01:21 +00:00
florian
ee89e99189 * correctly write an error if one tries to implement a method introduced in a generic in a specialization of the generic, resolves issue #23169
git-svn-id: trunk@31241 -
2015-07-28 21:16:47 +00:00
joost
a67a35c498 * Added the ability to add fpmake as a target in a Makefile.fpc file. This way
there is no special need anymore for complete scripts in the Makefile.fpc
   to call fpmake. And it is now possible to combine other targets with a
   fpmake-target.

git-svn-id: trunk@31240 -
2015-07-28 09:52:19 +00:00
florian
d014572b8e * do not use an extra register, if CPC does a comparison with 0,
this was previously "fixed" by the peephole optimizer, but this increased
  register pressure

git-svn-id: trunk@31239 -
2015-07-27 19:49:05 +00:00
florian
df999735f3 * use R1 in comparisons if left=0 instead of loading 0 into (a) register(s)
git-svn-id: trunk@31238 -
2015-07-27 19:49:03 +00:00
florian
42ea874bb1 * avr version corrected for several controllers
git-svn-id: trunk@31237 -
2015-07-27 19:49:02 +00:00
florian
4d3552943d * correctly write OUTPUT_ARCH to the linker script, resolves issue #28395
git-svn-id: trunk@31236 -
2015-07-27 19:49:00 +00:00
michael
98e70ae3e6 * Fix GetModule, cause of wrong class tree
git-svn-id: trunk@31235 -
2015-07-26 11:40:28 +00:00
michael
722fdea993 * Improved testunit coverage
git-svn-id: trunk@31234 -
2015-07-26 08:31:28 +00:00
michael
a32160131b * Add backwards compatibility lookup for operators
git-svn-id: trunk@31233 -
2015-07-26 08:11:06 +00:00
michael
798192ba70 * Better operator declaration
git-svn-id: trunk@31232 -
2015-07-26 08:10:45 +00:00
michael
a910bbc3a7 * Resolve operators at the end. The name is corrected after the node is created
git-svn-id: trunk@31231 -
2015-07-26 08:09:56 +00:00
michael
1c5da41b48 * Warn-no-node correctly passed on
git-svn-id: trunk@31230 -
2015-07-26 08:09:11 +00:00
michael
66f4d0bc4e * Handle consts in records
git-svn-id: trunk@31229 -
2015-07-26 08:05:34 +00:00
michael
07c26c1754 * Change name handling for operators
git-svn-id: trunk@31228 -
2015-07-26 08:05:12 +00:00
michael
e4cd8565ae * Parse operators better
git-svn-id: trunk@31226 -
2015-07-24 08:52:34 +00:00
lacak
3d6a6512ad fcl-db: odbc: add support for stIndexes for database metadata retrieval SetSchemaInfo()
git-svn-id: trunk@31225 -
2015-07-24 05:38:26 +00:00
michael
8600940c26 * Initialize and finalize
git-svn-id: trunk@31224 -
2015-07-23 18:52:33 +00:00
Károly Balogh
eb3bd4648c amicommon: actually, not all filesystems (FTPMount, for example) support the ExamineFH method, so fall back to double-seek in that case
git-svn-id: trunk@31223 -
2015-07-23 18:43:37 +00:00
marco
4e6f673a6d * patch from #27919, enabling resources for gba, fixing fcl-base build.
git-svn-id: trunk@31221 -
2015-07-23 11:32:07 +00:00
lacak
61c451b391 fcl-db: mysql: add MySQL57Connection. Requires rev.31218.
(Tested with MySQL Server 5.7.7 RC)

git-svn-id: trunk@31220 -
2015-07-23 10:27:29 +00:00
florian
40eec2f249 * fix clinfo.pp for 64 Bit targets, patch by Thaddy de Koning, resolves #28405
git-svn-id: trunk@31219 -
2015-07-22 19:54:07 +00:00
michael
4442ecc863 * Added MySQL 5.7 header translation from Laco (bug ID 28417)
git-svn-id: trunk@31218 -
2015-07-22 18:59:41 +00:00
lacak
433d0ce4f6 fcl-db: sqlite: always call InitializeSQLite to properly increment library loading/unloading ref-counting. Regression introduced in rev.27342. Bug #28391
git-svn-id: trunk@31215 -
2015-07-16 08:03:38 +00:00
pierre
dc06f85b58 Set ALLOW_WARNINGSS to 1 for m68k and avr compiler to allow successful fullinstall completion
git-svn-id: trunk@31214 -
2015-07-15 15:27:27 +00:00
pierre
56859175c9 Add support for DragonFly OS
git-svn-id: trunk@31213 -
2015-07-14 22:05:34 +00:00
pierre
780c54c8b4 Add support for DragonFly OS
git-svn-id: trunk@31212 -
2015-07-14 22:05:03 +00:00
pierre
1bfef577e6 Add DragonFly code
git-svn-id: trunk@31211 -
2015-07-14 22:03:13 +00:00
pierre
014d2f805d Use /libexec/ld-elf.so.2 as dynamic linker for DragonFly OS
git-svn-id: trunk@31210 -
2015-07-14 21:59:23 +00:00
pierre
f08fa883e2 Pipe syscall for DragonFly also uses EAX:EDX for result, like FreeBSD
git-svn-id: trunk@31209 -
2015-07-14 21:58:27 +00:00
pierre
b67b407d2d Add call to _init_tls and _rtld_call_init functions for x86_64 DragonFly target startup
git-svn-id: trunk@31208 -
2015-07-14 21:56:55 +00:00
pierre
0c011c9313 Add DragonFly specific OS_XXX defines
git-svn-id: trunk@31207 -
2015-07-14 21:54:19 +00:00
michael
d900f4a29f * Added support for class methods/properties in records
git-svn-id: trunk@31205 -
2015-07-12 07:25:08 +00:00
pierre
960a72f821 Use AnsiString and sysutils GetEnvironmentVariable function to avoid truncation of PATH to 255 chars
git-svn-id: trunk@31202 -
2015-07-11 13:59:06 +00:00
Jonas Maebe
9118146bc1 * ensure that managed out-parameters are processed before any other
parameters:
   1) since they are finalised on the caller side, if that same value
      is passed as a value parameter as well and its reference count
      was 1, then the value parameter will contain an invalid pointer
   2) since finalisation involves a call, for optimal code generation
      purposes they should also be evaluated first
    (mantis #28279, #28390)

git-svn-id: trunk@31201 -
2015-07-10 22:04:35 +00:00
lacak
a2b7b9cd6e fcl-db: odbc: experimental support for XML and sql_variant SQL Server data types
git-svn-id: trunk@31200 -
2015-07-08 13:00:59 +00:00
Jonas Maebe
5f21d6df93 * enable -godwarfsets by default
git-svn-id: trunk@31199 -
2015-07-07 17:12:31 +00:00