Commit Graph

640 Commits

Author SHA1 Message Date
svenbarth
ff407c56d9 * extend scanning of $modeswitch to support not only + and -, but also ON and OFF like other switches
+ added tests

git-svn-id: trunk@39280 -
2018-06-22 21:29:08 +00:00
pierre
e518bd52ba Explicitly disabled overflow and range check for these two tests
git-svn-id: trunk@39266 -
2018-06-21 04:52:37 +00:00
svenbarth
7990b2e3f3 * apply patch from J. Gareth Moreton to implement Int() for SSE (currently only used on Win64)
+ added test

git-svn-id: trunk@38993 -
2018-05-14 21:08:04 +00:00
pierre
f28ab34f06 unicodeducet must appear before fpwidestring to set current_collation at startup
git-svn-id: trunk@38962 -
2018-05-09 23:11:48 +00:00
svenbarth
abd893cac4 * fix for Mantis #33635: correctly working SSE2 based Frac() implementation by J. Gareth Moreton
+ added test

git-svn-id: trunk@38903 -
2018-05-04 15:44:40 +00:00
svenbarth
cfa373a8cf * fix case of string with ranges as labels
+ add test

git-svn-id: trunk@38860 -
2018-04-27 21:06:33 +00:00
pierre
4a2348a38b skip targets that do not support libraries
git-svn-id: trunk@38772 -
2018-04-14 16:09:50 +00:00
pierre
ab7fb33d67 Restore removed ifdef UNIX around iosxwstr/cwstring unit loading
git-svn-id: trunk@38763 -
2018-04-13 06:22:21 +00:00
pierre
52b830a434 Use USE_INTERNAL_UNICODE to be able to test fpwidestrings on different targets
git-svn-id: trunk@38757 -
2018-04-12 20:39:34 +00:00
pierre
e69a7489d9 Add wide string needed units for go32v2 or darwin
git-svn-id: trunk@38736 -
2018-04-12 10:07:16 +00:00
pierre
4cf1ac209a Add %skiptarget=$nothread to tests using threads
git-svn-id: trunk@38528 -
2018-03-15 09:05:26 +00:00
pierre
cc22913a4c Modify DoMem parameter type to SizeUInt and adapt tests using this function, to avoid run time errors with range check
git-svn-id: trunk@38521 -
2018-03-13 21:59:58 +00:00
florian
61053ead34 + optimize is operator if used on sealed classes as proposed in #30097
git-svn-id: trunk@38387 -
2018-02-28 22:09:24 +00:00
florian
70519c0837 * do not use crt by default, reduced wrong fails hopefully
git-svn-id: trunk@38345 -
2018-02-25 15:34:15 +00:00
florian
8731854165 * test code for avr assembler by Christo Crause
* fix size of val field in TOprRec for avr, resolves #32946

git-svn-id: trunk@38291 -
2018-02-19 21:23:28 +00:00
florian
6400d612e8 + seg(<procvardef>) returns the segment stored in the procedure variable
git-svn-id: trunk@38216 -
2018-02-11 22:26:01 +00:00
florian
e5ebc65cce * if si and di are allocated on i8086, using an index in references is not possible anymore
git-svn-id: trunk@38203 -
2018-02-11 15:54:37 +00:00
svenbarth
640480272f * adjust TThread.Synchronize so that it also works correctly if the passed in thread instance is not the instance of the current thread
+ added test

git-svn-id: trunk@38124 -
2018-02-05 21:50:00 +00:00
svenbarth
22932493b9 * if the debug info of a parent def is considered as queued then ensure that it is indeed queued (if it should already be in the list then the duplicate entry would have the state written if it's checked and thus ignored)
+ added test

git-svn-id: trunk@37969 -
2018-01-14 16:46:10 +00:00
svenbarth
afa6d1bdb0 * extend test a little bit to ensure that nested Concat() calls for strings work correctly
git-svn-id: trunk@37724 -
2017-12-12 19:54:38 +00:00
svenbarth
f6a867ef04 * move handling of Concat to tinlinenode so that it can be easily extended for dynamic arrays
+ added test

git-svn-id: trunk@37429 -
2017-10-08 10:39:34 +00:00
svenbarth
9619576515 + add support for $SetPE{OS,SubSys,User}Version directives; Delphi compatible; Note: $SetPEUserVersion takes precedence to $Version
+ added test

git-svn-id: trunk@37364 -
2017-09-30 13:55:29 +00:00
svenbarth
81a0f88d8c + add Delphi compatible TThread.ForceQueue() which enqueues the method also for the main thread (at least if the RTL is in multi threading mode, otherwise it's still executed right away - whether this is Delphi compatible needs to be tested as I only have a 10.1 currently which does not yet support TThread.ForceQueue())
+ added test

git-svn-id: trunk@37359 -
2017-09-29 21:19:45 +00:00
maciej-izak
8b5524ac3a * ignore is_publishable for properties in interfaces (related to $M+ directive). $M has effect on visibility of default section for classes. Interface has always only public section (fix for problem in tb0631.pp)
git-svn-id: trunk@37136 -
2017-09-03 19:05:21 +00:00
svenbarth
7b675b6769 * correctly write the type of open array parameters as the element def and not the array def
+ added test that shows the linking error if not done so (otherwise that should already be covered by trtti15.pp)

git-svn-id: trunk@37083 -
2017-08-29 20:17:24 +00:00
svenbarth
83e4585b0f * correctly handle unit identifiers inside specializations of generic routines
git-svn-id: trunk@37080 -
2017-08-29 18:29:10 +00:00
Károly Balogh
13d2ae8166 m68k: disabled obsolete test which tested between FPU_NONE and FPU_SOFT defaults...
git-svn-id: trunk@36626 -
2017-07-01 21:29:00 +00:00
nickysn
504662826a * fixed the rtl cpu ifdefs for the rol/ror/sar cpu support check
git-svn-id: trunk@36153 -
2017-05-08 10:16:15 +00:00
nickysn
4a8a7c210a * fixed test on platforms that don't have 8-bit and 16-bit rol/ror
git-svn-id: trunk@36144 -
2017-05-07 13:34:26 +00:00
florian
b3f889e028 * -Ox options are incremental, so disable all optimizations first in case testing is run with -O4
git-svn-id: trunk@36135 -
2017-05-06 18:47:41 +00:00
nickysn
c28d533bb0 + support the cmpsd sse instruction in the at&t inline assembly reader
git-svn-id: trunk@36124 -
2017-05-05 15:46:47 +00:00
nickysn
881cb790a9 + added tests that check side effect removal behaviour for the simplifications
added/changed today

git-svn-id: trunk@36053 -
2017-05-01 21:01:26 +00:00
nickysn
7821d729cd + a very basic test for correctness for the various simplifications, implemented
today. It does not check for side effects and thus it should work at any
  optimization level, regardless of whether each optimization is done or not.

git-svn-id: trunk@36048 -
2017-05-01 20:17:07 +00:00
maciej-izak
1d301b6dbe More consequent writing of Rtti. Part of code related to recorddef moved from recorddef_rtti to write_child_data_rtti(). When typeinfo is used in code init Rtti is a child of the full Rtti. Commit also contains correction for code commited for mantis #31249 (r35376) and mantis #31305 (r35377) for objects. Before was impossible to compile code with usage of typeinfo() function for object without managed fields ("Undefined symbol" error).
+ Test attached

git-svn-id: trunk@35403 -
2017-02-06 18:52:37 +00:00
Károly Balogh
442cbed9ad improved tb0625. boolean casting should disregard the upper bits
git-svn-id: trunk@35107 -
2016-12-11 13:26:04 +00:00
svenbarth
0c372f0beb * fix compilation of Rtti unit on PowerPC: converting a Int64 to a Boolean failed (in this case with an internal error)
+ added a test though we should probably extend tcnvint2.pp to test converting ints to different sized boolean types...

git-svn-id: trunk@35101 -
2016-12-10 19:13:07 +00:00
svenbarth
70817baf98 * since we already allow inline specializations in mode ObjFPC due to generic functions it's only consequential to also allow specializations after pointers (they are already allowed in mode Delphi).
+ added tests
* tgeneric87.pp and tgeneric88.pp are no longer considered as tests that should fail

git-svn-id: trunk@35078 -
2016-12-06 21:37:22 +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
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
pierre
358eb38ef2 * fix test for msdos compact mode
git-svn-id: trunk@34268 -
2016-08-10 16:25:42 +00:00
Jonas Maebe
630033c9fa * fixed compilation on platforms where comp=int64 (should maybe fix the
compiler to support assigning integral floating point constants to
    comp on all platforms)

git-svn-id: trunk@34082 -
2016-07-06 17:28:08 +00:00
pierre
b238b3cb8d Fix test for compact and medium i8086 memory model
git-svn-id: trunk@34074 -
2016-07-05 22:42:38 +00:00
Jonas Maebe
ec5dea1092 * don't perform the "/ const" to "* (1/const)" transformation for comp-typed
expressions, since comp cannot represent fractions (bug reported at
    http://lists.freepascal.org/pipermail/fpc-pascal/2016-June/048234.html )

git-svn-id: trunk@34035 -
2016-06-30 15:33:51 +00:00
pierre
8058f6b301 Use SizeInt type for DoMem variable argument, as it might be different from PtrInt, for instance for some msdos memory models
git-svn-id: trunk@34022 -
2016-06-28 16:13:24 +00:00
pierre
3253711e95 Disable expliccitly overlfow and range checks
git-svn-id: trunk@34014 -
2016-06-21 09:21:18 +00:00
pierre
df7e562d94 Add explicit $R- or $Q- to avoid different results if -Criot option is used
git-svn-id: trunk@34010 -
2016-06-20 15:55:10 +00:00
svenbarth
aaff6d0b97 Allow Delete() and Insert() to be used with generic types as arguments.
+ added test

git-svn-id: trunk@33897 -
2016-06-03 21:45:23 +00:00
svenbarth
9fb2a8bba9 + added simple test to check whether Delete() and Insert() still work correctly (though a mistake there would probably have broken the cycling totally anyway...)
git-svn-id: trunk@33896 -
2016-06-03 21:38:29 +00:00
Jonas Maebe
8c0d9b581c * don't write the destination register in a_load_ref_reg_unaligned() before
the reference has been used for the last time, as the destination
    register could be the base or index register of the reference

git-svn-id: trunk@33393 -
2016-03-30 20:04:31 +00:00
svenbarth
9f2defcb7e Adjust the test I committed yesterday so that we treat the warning we don't want to reappear as an error.
git-svn-id: trunk@33325 -
2016-03-25 08:35:34 +00:00