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
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