Commit Graph

49180 Commits

Author SHA1 Message Date
yury
4a661ea8f8 * android: Implemented clocale. Fixed makefile.
git-svn-id: trunk@34349 -
2016-08-19 16:30:23 +00:00
yury
064375ea72 * android: Use ICU to get timezone information if running on an Android version where libc does not implement timezone.
git-svn-id: trunk@34348 -
2016-08-19 14:57:02 +00:00
svenbarth
f50671fe44 * reference the RTTI assembler symbols if they're queried from a different unit than the own they're declared in
git-svn-id: trunk@34347 -
2016-08-19 14:54:28 +00:00
yury
c2ba68df44 * android: Added functions GetSystemProperty() and SystemApiLevel().
git-svn-id: trunk@34346 -
2016-08-19 14:50:18 +00:00
yury
b10e4aa27b * android: cwstring: Fixed crash on unload in some cases. Allow ICU usage from other units.
git-svn-id: trunk@34345 -
2016-08-19 14:48:09 +00:00
svenbarth
4a9eaf5317 * use findunitsymtable() when checking the module id
git-svn-id: trunk@34344 -
2016-08-19 14:42:03 +00:00
svenbarth
8b853571c6 * don't generate a warning if a "generic" token follows while parsing procedure directives (let's hope we'll never have to add a "generic" directive :/ )
+ added test

git-svn-id: trunk@34343 -
2016-08-19 14:07:36 +00:00
svenbarth
54874cccd6 * reference the VMT's assembler symbol if it's from another unit
git-svn-id: trunk@34342 -
2016-08-19 14:00:24 +00:00
svenbarth
1bd5d030f5 * don't export the indirect symbols on platforms that require the import redirection as there the indirect ones will be created in the importing binary
git-svn-id: trunk@34341 -
2016-08-19 13:48:27 +00:00
svenbarth
f1cdb5c4e9 * don't export types that have been merely renamed (and thus are part of another unit and potentially another package altogether)
git-svn-id: trunk@34340 -
2016-08-19 13:29:33 +00:00
svenbarth
1c696b0e77 * use indirect reference for FPC_THREADVAR_RELOCATE if necessary
* reference FPC_THREADVAR_RELOCATE assembler symbol if necessary

git-svn-id: trunk@34339 -
2016-08-19 13:07:56 +00:00
svenbarth
fb6546972b * IID and IIDStr references of the VMT's interface table need to be indirect
git-svn-id: trunk@34338 -
2016-08-19 13:06:26 +00:00
svenbarth
77de5dd968 * reference assembler symbol of FPC_EMPTYMETHOD using AB_EXTERNAL and not AB_GLOBAL
git-svn-id: trunk@34337 -
2016-08-19 12:42:14 +00:00
svenbarth
70fbe50bac * reference the extern assembler symbol of the VMT when catching an exception if it's from another unit
git-svn-id: trunk@34336 -
2016-08-19 12:41:06 +00:00
pierre
2ec79b3606 Set result of functions calling RunError to avoid useless warnings
git-svn-id: trunk@34335 -
2016-08-19 12:21:17 +00:00
pierre
44f00c2bf4 Do not cast @JumpToHandleSignal to a longint, use ptruint type instead
git-svn-id: trunk@34334 -
2016-08-19 12:20:21 +00:00
yury
5e9d826d04 * android: Explicitly specified import library name.
git-svn-id: trunk@34333 -
2016-08-18 14:39:54 +00:00
yury
2630f3c498 * android: Properly initialize time zone information.
git-svn-id: trunk@34332 -
2016-08-18 14:03:34 +00:00
pierre
ef05e4cb49 Ensure '/' is used as directory separator to get same output as before
git-svn-id: trunk@34331 -
2016-08-18 11:43:56 +00:00
pierre
2b250bc0ab Makefile regeneration after:
Fix failure for windows make, related to the use of redirection,
  which on mingw32 make generate the use of a batch file, incompatible with
  forward slashes usd for createlst and gparmake.

  * utils/createlst.pp:
    Modify to add a first parameter with the name of the output file.

    Makefile.fpc: Adapt to new parameter of createlst.
    Change list name for directory TEST from TESTfilelist.lst to filelistTEST.lst
    to avoid generating files that start as the directory.

git-svn-id: trunk@34330 -
2016-08-18 07:08:28 +00:00
pierre
92c1190ace Reintroduce $(Q)
git-svn-id: trunk@34329 -
2016-08-18 07:08:20 +00:00
pierre
05542fbed9 Fix failure for windows make, related to the use of redirection,
which on mingw32 make generate the use of a batch file, incompatible with
  forward slashes usd for createlst and gparmake.

  * utils/createlst.pp:
    Modify to add a first parameter with the name of the output file.

    Makefile.fpc: Adapt to new parameter of createlst.
    Change list name for directory TEST from TESTfilelist.lst to filelistTEST.lst
    to avoid generating files that start as the directory.

git-svn-id: trunk@34328 -
2016-08-18 07:06:19 +00:00
yury
c4347e28b9 * pas2jni: Fixed handling of identical names of classes, proctypes when they are defined in different units.
git-svn-id: trunk@34327 -
2016-08-17 19:09:54 +00:00
pierre
6a3466e81a + Also write 'Terminate requested...' to output, so that the
information gets into log files if output is redirected.
  * Add 1000 to ExitStatus if TerminateSentCount is > 0
    to allow better discrimination between inferior exitcode and
    stop due to Terminate use.

git-svn-id: trunk@34326 -
2016-08-17 09:52:02 +00:00
pierre
876fd4aa5f Renegerate Makefile after:
Fix infinite loop problem that appear on gcc112 linux machine using GNU make 4.0.

  * Never put destination directory in the dependency list, as it gets modified when
    the target file is created and led to infinite recursion.
    We cannot use $(MKDIRTREE) unconditionally as this generates make error
    at least on Windows OS.
    Instead, create an explicit target for $(TEST_OUTPUTDIR), and add a: 
    $(MAKE) $dir
    line on gparmake, createlst and $(MAKEINC) targets explicitly.

git-svn-id: trunk@34325 -
2016-08-17 05:37:17 +00:00
pierre
bf652e79ed Fix infinite loop problem that appear on gcc112 linux machine using GNU make 4.0.
* Never put destination directory in the dependency list, as it gets modified when
    the target file is created and led to infinite recursion.
    We cannot use $(MKDIRTREE) unconditionally as this generates make error
    at least on Windows OS.
    Instead, create an explicit target for $(TEST_OUTPUTDIR), and add a: 
    $(MAKE) $dir
    line on gparmake, createlst and $(MAKEINC) targets explicitly.

git-svn-id: trunk@34324 -
2016-08-17 05:36:23 +00:00
Jonas Maebe
68088cd1da * regenerated after r34322
git-svn-id: trunk@34323 -
2016-08-16 16:33:24 +00:00
Jonas Maebe
b3419ef06e * add $(CREATELST) to the dependencies of $(GPARMAKE), so that both binaries
are not compiled at the same time (because otherwise the compiler may
    trip over itself in case it performs linking via an external script or
    using a response file)

git-svn-id: trunk@34322 -
2016-08-16 16:33:21 +00:00
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