pierre
6f80a4cc29
Fix tw3124 test for systems on pagecode 437.
...
* Never modify the first half of LowerCaseTable:
even if 'A' is the upper form of 'a' with an accent ('…'),
that doesn't mean that the lowercase form of 'A' should be
'a' with the accent ('…') instead of plain 'a'.
git-svn-id: trunk@34321 -
2016-08-16 14:47:29 +00:00
pierre
b9e336dcbe
Fix for trwsync.pp sporadic failure that appeared in trunk.
...
The problem was in the source of random related functions,
which are used in this test by several thread in parallel,
while this code is known and advertised as non-thread safe.
The access by multiple threads led to multiple increments of the
mt_index static variable, which was then never reset to zero and
led to all successive calls to random function to return zero.
This fix simply insures that the mt_state array is never
accessed past its end, and that mt_index is reset correctly even
if multiple increments do happen.
It does not make the random function thread-safe.
* Use local variable l_index to avoid accessing mt_state array past last element.
* Change mt_index=MTWIST_N+1 into l_index>=MTWIST_N+1
to insure that mt_init will be called again if index is past end.
git-svn-id: trunk@34320 -
2016-08-16 11:59:33 +00:00
svenbarth
cdda4da2d3
* sort the paths alphabetically
...
git-svn-id: trunk@34319 -
2016-08-15 15:58:16 +00:00
svenbarth
0a1be7f985
* also export all public RTTI and (required) INIT symbols aside from the non-existing internal ones
...
git-svn-id: trunk@34318 -
2016-08-15 14:49:44 +00:00
svenbarth
a073b86b57
* move handling of typesym's defs from insert_export() to its own function export_typedef()
...
git-svn-id: trunk@34317 -
2016-08-15 14:38:10 +00:00
svenbarth
c2662bd96a
* mark defs created with create_global_internal() with df_internal so that they can be easily identified
...
git-svn-id: trunk@34316 -
2016-08-15 14:30:46 +00:00
joost
5d4682349d
* Re-factored parsing of configuration-file, to be able to add support for include-files
...
git-svn-id: trunk@34315 -
2016-08-14 21:06:01 +00:00
joost
921399baf2
* Show progress-messages also in verbode and debug-mode
...
git-svn-id: trunk@34314 -
2016-08-14 20:20:43 +00:00
svenbarth
ad2facb10d
* also add the forced indirect symbols of data symbols to the public assembler symbols
...
* export the forced indirect symbols of data symbols on systems without indirect imports
git-svn-id: trunk@34313 -
2016-08-14 15:37:52 +00:00
marco
690f784c4d
* enable 40+ tests for Haiku as per mantis #30470
...
git-svn-id: trunk@34312 -
2016-08-14 14:09:24 +00:00
svenbarth
e2652d8a56
* regenerate after r34310
...
git-svn-id: trunk@34311 -
2016-08-14 11:25:30 +00:00
svenbarth
e0fd432c9d
* use a Pascal tool instead of a Makefile to generate the list of test files; this way the testsuite works again with older versions of make that don't support $(info ...) (e.g. 3.80 and earlier)
...
git-svn-id: trunk@34310 -
2016-08-14 11:25:10 +00:00
yury
3b8db21c2c
* pas2jni: Fixed invoking of Java event handlers from non-main threads.
...
git-svn-id: trunk@34309 -
2016-08-14 10:49:17 +00:00
svenbarth
57c1338aa1
* regenerate after r34307
...
git-svn-id: trunk@34308 -
2016-08-13 19:10:52 +00:00
svenbarth
2808be3e20
+ add and use sysinit unit for Win64 (only one since we don't support cygwin and gprof there)
...
* switch Win64 to indirect entry information
git-svn-id: trunk@34307 -
2016-08-13 19:10:27 +00:00
svenbarth
dbbd7b6969
* use FPCSysInstance instead of SysInstance directly
...
git-svn-id: trunk@34306 -
2016-08-13 19:09:08 +00:00
Jonas Maebe
051317e82e
* load the function result from the parentfpstruct to its original location
...
in exit nodes, because the wrapping code added in
tnodeutils.wrap_proc_body() gets inserted before the exit label to which
the exit node jumps
git-svn-id: trunk@34305 -
2016-08-13 14:47:50 +00:00
Jonas Maebe
a31ca58593
* factored out the loading the function result from the parentfpstruct into
...
its original location so it can be reused elsewhere too
git-svn-id: trunk@34304 -
2016-08-13 14:47:47 +00:00
Jonas Maebe
8760a6fbf8
* set shiftval to 0 if we convert a reference to a register paraloc,
...
as the reference overlaid the shiftval field and hence it could
have any value
git-svn-id: trunk@34303 -
2016-08-13 14:47:44 +00:00
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