Jonas Maebe
7ebbb744e9
* also specify sret attribute at the caller side
...
git-svn-id: trunk@34302 -
2016-08-13 14:47:42 +00:00
Jonas Maebe
819f0c39fa
* specify the "byval" attribute also at the caller side
...
git-svn-id: trunk@34301 -
2016-08-13 14:47:39 +00:00
Jonas Maebe
f0bf3b364a
* fixed alignment of reference used to set the first char of a 1-byte
...
shortstring
git-svn-id: trunk@34300 -
2016-08-13 14:47:36 +00:00
Jonas Maebe
f417ed6576
* internalerror in case a reference's alignment is not set in
...
thlcgllvm.make_simple_ref_ptr()
git-svn-id: trunk@34299 -
2016-08-13 14:47:34 +00:00
Jonas Maebe
2f0c3ce8cc
* fixed updating the reference alignment in thlcgllvm.g_set_addr_nonbitpacked_field_ref()
...
git-svn-id: trunk@34298 -
2016-08-13 14:47:31 +00:00
Jonas Maebe
ade1d811b0
* update the alignment of the reference in thlcgobj.get_bit_const_ref_sref()
...
after adapting the offset
git-svn-id: trunk@34297 -
2016-08-13 14:47:29 +00:00
Jonas Maebe
de465e056b
* set the alignment resulting from an aligned() call to the actual natural
...
alignment of the resultdef rather than to 0 (required for llvm, and
cleaner since then the code generator knows the actual alignment)
git-svn-id: trunk@34296 -
2016-08-13 14:47:26 +00:00
Jonas Maebe
a83f3c1a45
* fix maximum common alignment calculation in g_concatcopy() (if the second
...
parameter of newalignment() is larger than the first, the result is always
1)
git-svn-id: trunk@34295 -
2016-08-13 14:47:23 +00:00
joost
c90b5773b9
* Corrected name of advancedsingleinstance.pas in fpmake.pp
...
git-svn-id: trunk@34294 -
2016-08-13 10:10:24 +00:00
Jonas Maebe
f891788a86
* simplification of and fix for AArch64 cpupara.is_hfa_internal() (patch by
...
modulo7, mantis #30381 )
o check for array elements of size 0 does not make sense after we've
established it's an array of floats
o since the recursive call to is_hfa_internal() already checks for
floats, we don't have to do it before calling it again for the
elements of an array
o set the result to "true" if the array is small enough to be a HFA
git-svn-id: trunk@34293 -
2016-08-12 16:53:02 +00:00
svenbarth
a2bf4efce2
* use indirect imports for FPC_EMPTYCHAR if necessary
...
* make not of FPC_EMPTYCHAR as external assembler symbol
git-svn-id: trunk@34292 -
2016-08-12 14:20:17 +00:00
svenbarth
bf3c7144b0
* make not of public assembler symbols for variables and classes if necessary
...
git-svn-id: trunk@34291 -
2016-08-12 14:19:11 +00:00
Jonas Maebe
20cbdf75ea
+ test for mantis #24189 (already works in trunk, still broken in 3.0)
...
git-svn-id: trunk@34290 -
2016-08-12 13:40:19 +00:00
Jonas Maebe
8e0ee6599c
* store parameters to inline routines that are already in a temp into a new
...
temp if the original temp was marked as ti_const, and the new parameter
gets modified (mantis #30015 )
git-svn-id: trunk@34289 -
2016-08-12 13:35:56 +00:00
Jonas Maebe
70b1b32722
* let inline parameter temps inherit the "const" property of const
...
parameters, so we don't apply reference counting to them (mantis #30323 )
git-svn-id: trunk@34288 -
2016-08-12 13:35:53 +00:00
Jonas Maebe
18580d3069
* when assigning a value to a temp marked as ti_const, do not immediately
...
release the source location in case it was also a temp. Reason: we
don't increase reference counts when assigning to a ti_const (they are
like const parameters), so the original value must stay alive until
the ti_const temp is freed
o free the original data in the ttempdelete node for the ti_const temp
o don't increase reference counts when assigning composite types to
ti_const temps either
git-svn-id: trunk@34287 -
2016-08-12 13:35:51 +00:00
Jonas Maebe
a3ca471d32
* factored out all the tests for whether we need to put inline parameters
...
in temps (no functional changes)
git-svn-id: trunk@34286 -
2016-08-12 13:35:48 +00:00
Jonas Maebe
8d1e8ea203
* fixed indentation in nonlocalvars()
...
git-svn-id: trunk@34285 -
2016-08-12 13:35:45 +00:00
Jonas Maebe
94f90895a6
* separated call to wrapcomplexinlinepara() from the method that puts
...
parameters into temps in case it's required for correctness (so we
can easily "early exit" on failure from the latter) (still no
functional changes)
git-svn-id: trunk@34284 -
2016-08-12 13:35:42 +00:00
Jonas Maebe
07856870bc
* factored out code to determine whether we should put an inline parameter
...
in a temp or not (no functional changes)
git-svn-id: trunk@34283 -
2016-08-12 13:35:39 +00:00
Jonas Maebe
b17f90d183
* test for mantis #26402 (already fixed in 3.1.1, still broken in 3.0)
...
git-svn-id: trunk@34282 -
2016-08-12 13:35:37 +00:00
Jonas Maebe
c752050728
* don't print "parameter not used" hints for abstract methods (mantis #30431 )
...
git-svn-id: trunk@34281 -
2016-08-12 13:35:34 +00:00
Jonas Maebe
f4015f6ac9
* fixed wrong class cast in case arrays/records are passed to a_loadfpu*()
...
(fixes tests/webtbs/tw26993.pp for llvm)
git-svn-id: trunk@34280 -
2016-08-12 13:35:31 +00:00
Jonas Maebe
4e8bda76cb
* update alignment when advancing offset to next element of array constructor node
...
git-svn-id: trunk@34279 -
2016-08-12 13:35:28 +00:00
svenbarth
7678f5ecf0
Fix for Mantis #30453 : add Delphi compatible TThreadList<>
...
git-svn-id: trunk@34278 -
2016-08-12 13:15:08 +00:00
pierre
5e120982e5
Regenerated after: Fix fullcycle by setting EXCLUDE_80BIT_TARGETS to 1 if 80bit-real is not supported by current source CPU
...
git-svn-id: trunk@34277 -
2016-08-11 13:31:07 +00:00
pierre
717153cfb0
Fix fullcycle by setting EXCLUDE_80BIT_TARGETS to 1 if 80bit-real is not supported by current source CPU
...
git-svn-id: trunk@34276 -
2016-08-11 13:25:24 +00:00
yury
d99f913836
* pas2jni: Fixed string constant handling after recent changes in FPC.
...
git-svn-id: trunk@34275 -
2016-08-11 12:41:13 +00:00
pierre
3a2dd2d6e1
Regenerate after: Add fullinstallsymlink phony target, to be able to create all symlinks needed to all crosscompilers
...
git-svn-id: trunk@34273 -
2016-08-11 09:08:28 +00:00
pierre
dbf1100b33
Add fullinstallsymlink phony target, to be able to create all symlinks needed to all crosscompilers
...
git-svn-id: trunk@34272 -
2016-08-11 09:08:14 +00:00
pierre
10454d4fec
Regenerated msg files after: Add aarch64 to -P<x> CPU list
...
git-svn-id: trunk@34271 -
2016-08-11 09:07:01 +00:00
pierre
e6871efbf6
Add aarch64 to -P<x> CPU list
...
git-svn-id: trunk@34270 -
2016-08-11 09:06:14 +00:00
pierre
0e6b4def67
* Also search for ppcXXX if ppcrossXXX is not found for -PB option, show default binary
...
git-svn-id: trunk@34269 -
2016-08-11 09:01:58 +00:00
pierre
358eb38ef2
* fix test for msdos compact mode
...
git-svn-id: trunk@34268 -
2016-08-10 16:25:42 +00:00
pierre
d957595842
Fix for msdos, local variable SaveExit must be a CodePointer
...
git-svn-id: trunk@34267 -
2016-08-10 16:16:17 +00:00
pierre
4b17961dd4
* Skip some tests for msdos
...
git-svn-id: trunk@34266 -
2016-08-10 16:10:25 +00:00
pierre
6c6cf07c87
Remove heaptrc unit from buildrtl uses clause, heaptrc is handled separately to allow use of -gc option in RTL compilation
...
git-svn-id: trunk@34265 -
2016-08-10 09:49:55 +00:00
pierre
ed6dbc5330
Regenerate after: Allow compilation of win32 RTL with -gc option, by adding explicit heaptrc dependency to all units
...
git-svn-id: trunk@34264 -
2016-08-10 09:48:46 +00:00
pierre
0be6018ffc
Allow compilation of win32 RTL with -gc option, by adding explicit heaptrc dependency to all units
...
git-svn-id: trunk@34263 -
2016-08-10 09:48:19 +00:00
pierre
5884fbc8b0
Move {$checkpointer off} before interface and relax windows data bss check to also accept sections in between like .rdata
...
git-svn-id: trunk@34262 -
2016-08-10 09:46:37 +00:00
pierre
3a9f2f55f4
-gc or {$CHECKPOINTER ON} requires heaptrc unit loading even for units
...
git-svn-id: trunk@34261 -
2016-08-10 09:44:01 +00:00
pierre
0cb0bc3371
Use symbols instead of constants in code:
...
+ AllocateSig and ReleaseSig for theap_mem_info.sig field.
+ CheckSig for theap_extra_info.check field.
+ CRC32Seed and CRC32Pattern in CRC related functions.
* if sig is equal ReleaseSig, always assume already released (even if usecrc ius true).
git-svn-id: trunk@34260 -
2016-08-10 08:36:38 +00:00
pierre
5abbe42115
Add fpwidestring and unicodeducet units for go32v2 OS for wide string tests
...
git-svn-id: trunk@34259 -
2016-08-10 06:24:20 +00:00
pierre
b2467eae3b
* Pass exitcode correctly down to __libc_start_main in _haltproc
...
git-svn-id: trunk@34258 -
2016-08-09 06:50:54 +00:00
pierre
ee3d204b72
* Files added in %FILES need to be copied to destination directory even if UniqueSuffix is empty, as execution directory is different from source directory
...
git-svn-id: trunk@34257 -
2016-08-08 14:49:36 +00:00
nickysn
aa528356c7
* fixed compilation of rtl-generics in the medium and compact i8086 memory models
...
git-svn-id: trunk@34256 -
2016-08-06 14:16:38 +00:00
svenbarth
2841cd9a9e
* export IID and IIDSTR symbols of interfaces
...
git-svn-id: trunk@34255 -
2016-08-05 15:10:25 +00:00
svenbarth
296b7dbaf5
* explicitely load the system unit if we have at least one required package (as one of those *must* contain the system unit); but don't add it to the used units of the package module as otherwise we'd detect the package to contain the system unit as well
...
git-svn-id: trunk@34254 -
2016-08-05 14:45:40 +00:00
svenbarth
b079fed247
* generate an internal error when exporting an unknown symbol
...
- disable the debug output
git-svn-id: trunk@34253 -
2016-08-05 14:43:44 +00:00
svenbarth
32a354fc26
* ignore absolutevarsyms when exporting (at least for ordinary variable absolute symbols this works; for others we'll have to see...)
...
git-svn-id: trunk@34252 -
2016-08-05 14:42:58 +00:00