Commit Graph

46453 Commits

Author SHA1 Message Date
nickysn
8206c6dbd0 * the code for determining the code, data and bss sizes in the internal linker
moved to virtual methods, to allow for platform specific overrides (e.g. for
  supporting section names, other than '.text', '.data' and '.bss', etc.)

git-svn-id: trunk@31321 -
2015-08-13 15:07:24 +00:00
nickysn
e59c164844 + parse FIXUPP records in the omf object reader (although converting them TOmfRelocation is not yet implemented)
git-svn-id: trunk@31320 -
2015-08-13 13:44:46 +00:00
Jeppe Johansen
59f164b948 Changed type of size argument from aint to asizeint. This previously broke things on 8bit targets.
git-svn-id: trunk@31319 -
2015-08-13 01:57:09 +00:00
joost
46906833f1 * Re-generated makefile's
git-svn-id: trunk@31318 -
2015-08-12 19:47:44 +00:00
joost
ac87da7c42 * Filter the Makefile's unit searchpaths from the fpmake command line.
To void cluttering the .fpm file

git-svn-id: trunk@31317 -
2015-08-12 19:15:14 +00:00
joost
1f5fab5309 * rstconv.pp depends on fcl-json and uses resourcestrings
git-svn-id: trunk@31316 -
2015-08-12 19:01:50 +00:00
nickysn
c3133c498a + added property tobjectreader.pos, which returns the current position when reading an object file
git-svn-id: trunk@31315 -
2015-08-11 15:46:44 +00:00
nickysn
515d702408 - removed semicolon after 'begin'
git-svn-id: trunk@31314 -
2015-08-11 14:30:32 +00:00
nickysn
0cd1a88588 * fixed memory leak in TOmfObjInput.ReadExtDef
git-svn-id: trunk@31313 -
2015-08-11 13:39:26 +00:00
nickysn
9fc100574c + added property TObjSymbol.group for use with the omf object format
git-svn-id: trunk@31312 -
2015-08-11 13:38:28 +00:00
nickysn
c50991713c + implemented reading of omf public names
git-svn-id: trunk@31311 -
2015-08-11 13:04:22 +00:00
michael
7f1b21e561 * Added example for parameter binding from Laco
git-svn-id: trunk@31310 -
2015-08-11 06:50:18 +00:00
pierre
8847394d02 Accept 3.0.0 as starting compiler
git-svn-id: trunk@31308 -
2015-08-10 13:18:33 +00:00
marco
8cf0c3bcb6 * camel case paramcount as per mantis #28503
git-svn-id: trunk@31307 -
2015-08-10 08:17:46 +00:00
lacak
105af639ce fcl-db: mysql: fix reporting of connection errors. Pass allocated connection handle (not Nil) to MySQLError procedure to correctly read error code, error message and sqlstate.
git-svn-id: trunk@31306 -
2015-08-10 07:08:39 +00:00
michael
437aab34de * Fix by Michalis Kamburelis for bug #28496
git-svn-id: trunk@31305 -
2015-08-09 16:04:01 +00:00
Jonas Maebe
0d87df71a9 * default to ARMv7/VFPv3 for Darwin/ARM (since that's what most iOS devices
use nowadays)

git-svn-id: trunk@31302 -
2015-08-09 09:08:26 +00:00
svenbarth
39016c032e Fix for Mantis #28442. Do not generate the VMT record definition for generic classes. It isn't used anyway.
nobj.pas, TVMTBuilder:
  * generate_vmt_def: check for df_generic (not is_generic!) and abort if set

+ added test

git-svn-id: trunk@31301 -
2015-08-07 15:02:55 +00:00
michael
e5fba07668 * Fix bug #0028486
git-svn-id: trunk@31299 -
2015-08-07 12:00:40 +00:00
Jonas Maebe
4c0807c596 * simplified enum lookup table management by using tfplist instead of
an ad hoc dynamic array implementation

git-svn-id: trunk@31295 -
2015-08-06 18:34:31 +00:00
pierre
d9359ea4af revision.inc update after commit 31240
git-svn-id: trunk@31294 -
2015-08-06 14:27:35 +00:00
michael
3acf0285aa * Allow comments in JSON config file
git-svn-id: trunk@31293 -
2015-08-06 13:09:40 +00:00
michael
97bc0a4bff * Add support for parsing comments
git-svn-id: trunk@31292 -
2015-08-06 12:37:17 +00:00
michael
7c94f09d34 * Convert to/from UTF8
git-svn-id: trunk@31291 -
2015-08-06 11:27:56 +00:00
Jonas Maebe
a722b5dbc5 * add alignment padding to internally constructed llvm records
git-svn-id: trunk@31290 -
2015-08-05 21:06:09 +00:00
Jonas Maebe
eda52f81cd * fixed the type of the "count" parameter of the int_FinalizeArray() forward
declaration

git-svn-id: trunk@31289 -
2015-08-05 21:06:07 +00:00
Jonas Maebe
b4e61b2469 * enable the llvm code generator for VMT generation
git-svn-id: trunk@31288 -
2015-08-05 21:06:04 +00:00
Jonas Maebe
bfa94ae908 * further (final?) reworking of llvm external symbol handling:
o all external symbol definitions are now inserted in the llvmtype post pass
     based on all declarations and types used in llvm instructions
   o this means we don't have to use the workaround with the Pascal mangled
     names anymore for all external names, as we now insert the external
     references only once we know all type information

git-svn-id: trunk@31287 -
2015-08-05 21:06:01 +00:00
Jonas Maebe
6dcf61f057 * an alias is an explicit definition of a symbol -> override types gleaned
from implicit ones

git-svn-id: trunk@31286 -
2015-08-05 21:05:58 +00:00
Jonas Maebe
a58504990a * fixed llvm handling of routines that are normally declared in the
interface of a unit, or forward declared, and then the implementation turns
    out to be external. We now properly generate a wrapper routine at the
    Pascal level for the original declaration that calls through to the
    external routine

git-svn-id: trunk@31285 -
2015-08-05 21:05:55 +00:00
Jonas Maebe
1cdaf8e332 * don't write external linkage for aliases: llvm 3.6 has a bug that rejects
linkage types for aliases (or its documentation hasn't been updated), and
    external linkage is the default so it doesn't matter for earlier versions

git-svn-id: trunk@31284 -
2015-08-05 21:05:52 +00:00
marco
3c30a9b6d1 * fix mantis #28420, extreme corner case.
git-svn-id: trunk@31283 -
2015-08-05 13:10:49 +00:00
michael
7753417631 * Fix bug ID #28469
git-svn-id: trunk@31277 -
2015-08-04 09:19:22 +00:00
michael
05e0d44697 * Widestring -> Unicodestring, optimize StripSlash
git-svn-id: trunk@31273 -
2015-08-04 09:11:27 +00:00
michael
3b9edc840f * Fix formatted indent size
git-svn-id: trunk@31272 -
2015-08-04 09:09:12 +00:00
florian
a797c2fc46 * calculate middle element P correctly if (L+R>=2^31), resolves #28289
git-svn-id: trunk@31267 -
2015-08-03 20:09:50 +00:00
michael
77b1e16330 * MariaDB version 10.1 is also compatible with 5.6
git-svn-id: trunk@31266 -
2015-08-03 19:21:44 +00:00
michael
123f78155f * Added Options to format JSON file (bug ID 28464)
git-svn-id: trunk@31265 -
2015-08-03 19:18:22 +00:00
florian
eb6cd613e8 * make GetStringUTFChars compatible with the lazarus declaration, resolves #28351
git-svn-id: trunk@31264 -
2015-08-02 20:54:47 +00:00
florian
29ba426fcc * call DefaultReplacements for #WRITE and #INCLUDE, resolves #28315
git-svn-id: trunk@31263 -
2015-08-02 20:45:49 +00:00
florian
9a55e8fa3c * do not call typecheckpass unncessarily in generic definitions, it might cause only errors, resolves #28058
git-svn-id: trunk@31262 -
2015-08-02 20:29:30 +00:00
florian
f1decfb6b6 * do not generate a vmt record for generics, they are only needed for specializations
git-svn-id: trunk@31261 -
2015-08-02 19:51:08 +00:00
florian
87ca4bd252 * enable libcurl for windows (win32/win64)
* patch by Thaddy de Koning to fix teststream.pp, resolves #28436

git-svn-id: trunk@31260 -
2015-08-01 21:28:13 +00:00
michael
6ba4413478 * Set visibility on record constants
git-svn-id: trunk@31259 -
2015-08-01 15:18:18 +00:00
Jeppe Johansen
4e646cca60 Forgot to add Cortex-M7 unit to previous commit.
git-svn-id: trunk@31258 -
2015-07-31 22:25:08 +00:00
Jeppe Johansen
2b80d46492 Added STM32F7xx controller units and types.
git-svn-id: trunk@31257 -
2015-07-31 22:21:16 +00:00
Jonas Maebe
9a8a323578 * (again) fixed loading the address of the string data of an ansi/
unicodestring constants: specify the type of the pointer to the
    string record (which is indirect) rather than that of the string
    array (which will implicitly be the result of the getelementptr)

git-svn-id: trunk@31256 -
2015-07-30 16:58:19 +00:00
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