Commit Graph

7539 Commits

Author SHA1 Message Date
florian
c92056fcac * patches by Rika: Fix a bug in LdExp(extended), and test Math.Frexp/Ldexp implementations instead of own, resolves #40030 2022-12-11 20:04:46 +01:00
florian
bf2911a562 + test for #40025 by Rika, resolves #40025 2022-12-10 21:35:07 +01:00
Pierre Muller
96c63c4443 Fix fcmove instruction for external assemblers 2022-12-10 19:59:05 +00:00
Pierre Muller
a592636d9c Use CMOV and FCMOV with a condition, the parser should reject without a condition 2022-12-10 17:06:35 +00:00
Jonas Maebe
851af5033f Darwin/AArch64: adjust alignment info of custom-aligned paralocs
Resolves #40019
2022-12-06 21:46:26 +01:00
J. Gareth "Curious Kit" Moreton
f54917d600 * New test to catch stack overflow in compiler (#40010) 2022-12-04 05:52:08 +00:00
Sven/Sarah Barth
ebb4de1441 * mark test as NORUN 2022-12-03 19:41:34 +01:00
Sven/Sarah Barth
7a34677b2a * as long as the type passed into a TypeInfo() is not an undefined or error def the resulting value will always be constant at compile time, so it can be compared to another then no matter if typenode or not
+ added tests
2022-12-02 17:47:15 +01:00
Pierre Muller
b202fb2b0a Fix two tests for ELFV2 powerpc64 ABI 2022-12-01 00:05:05 +00:00
florian
b835005941 * proper naming for test, resolves #40013 2022-11-30 22:17:58 +01:00
florian
96d4bd19ac * use bzhi only (if at all) for in_and_assign_x_y and not other in_*_x_y operations, resolves #40016 2022-11-30 22:16:21 +01:00
J. Gareth "Curious Kit" Moreton
5704626762 * New test to catch issue identified in #40003 2022-11-28 21:43:50 +00:00
florian
247423400f * create muln with create instead of create_internal when converting "n - n mod const)" so pass1 works properly, resolves #40004 2022-11-24 22:43:27 +01:00
florian
e7fda48327 + missing halt instructions 2022-11-23 19:01:32 +01:00
Pierre Muller
d38c24fee7 Add test for avx2 support using cpu unit function avx2support 2022-11-22 22:48:35 +01:00
florian
0ba4cee279 * convert n-n mod const into n div const*const, resolves #39615 2022-11-22 22:41:58 +01:00
J. Gareth "Curious Kit" Moreton
735f297f5b * Range check fixes to BZHI tests 2022-11-21 14:44:39 +00:00
florian
3b43bd027c * calculate life info for if nodes correctly if the then branch is empty, resolves #39992 2022-11-13 22:28:08 +01:00
Pierre Muller
0f30af07e5 Fix test to succeed for big endian mips 2022-11-12 13:16:51 +00:00
florian
3e6d4bf1cc * new cpu feature tests 2022-11-09 23:09:07 +01:00
florian
12aa48602b + CMOVSupport function 2022-11-08 21:15:11 +01:00
Sven/Sarah Barth
9e3483fbeb * fix #39977: allow a capturer to access any method independant of visibility as the visibility checks are supposed to have been done before the captured symbol was converted
+ added test
2022-11-06 22:01:49 +01:00
Sven/Sarah Barth
b051e7667c * fix #39978: ensure that Self is captured when a method of the current class is captured into a function reference
+ added test
2022-11-06 22:01:49 +01:00
Sven/Sarah Barth
d221f42a57 * ensure that the correct overload is picked for function reference parameters
+ added tests
2022-11-06 22:01:49 +01:00
Sven/Sarah Barth
a714e2ff35 * fix #39981: retrieve the symbol that returns the desired procdef/procvardef not maybe the Self or something else as we need that symbol to differentiate the procdefs
+ added test
2022-11-06 22:01:48 +01:00
Rika Ichinose
7243befdb7 Better TBits. 2022-11-06 20:55:38 +00:00
J. Gareth "Curious Kit" Moreton
0dbf40a24c * Added new tests for BZHI optimisations 2022-11-06 15:42:09 +00:00
Ondrej Pokorny
05c45486e8 fcl-image/pasjpeg: handle Exif orientation flag automatically 2022-11-02 09:25:20 +00:00
florian
3f7bf0fd70 * stop generation of typed array constants if the size does not match, resolves #39980 2022-11-01 21:16:31 +01:00
florian
0eee70ac81 * fix FindUnitSymtable for exception symtables, resolves #24801 and #39974
* more consistent naming of exceptsymtable enumeration symbol
2022-10-31 20:19:10 +01:00
Pierre Muller
e1b3c03daf Add test for mips code generation bug 2022-10-29 21:34:00 +01:00
Sven/Sarah Barth
e050a019a2 * fix #29859: ensure that it's correctly passed down into generate_specialization whether a unit name was provided for the specialization and if so search the generic only in that unit
+ added tests
2022-10-28 17:40:53 +02:00
florian
c75bb80b14 * more debug messages
* better exit codes for test
2022-10-26 23:20:18 +02:00
Pierre Muller
49ddf159b2 Fix internalerror generated with riscv32 compiler.
Fix
  Compiling ./fcl-passrc/src/pscanner.pp
  pscanner.pp(2512,40) Fatal: Internal error 2006010801
  error generated for riscv32-linux target after commit #c83e6c34
  by correcting expectloc for riscv32 for 64-bit comparisons.
  Add a small test.
2022-10-25 18:42:14 +02:00
florian
3fa77a4f62 * fix life information propagation for while loops, resolves #39971
* warnings/errors fixed which are caused by the new life information propagation
  + test
2022-10-24 22:13:43 +02:00
J. Gareth "Curious Kit" Moreton
fa76baa3d4 * New test to evaluate i39918 2022-10-22 13:07:16 +00:00
florian
8f269d4540 * check for proper exception type 2022-10-22 15:05:52 +02:00
florian
2b48afe151 * check if optinfo is assigned before using it, resolves #39913 2022-10-21 21:14:39 +02:00
J. Gareth "Curious Kit" Moreton
6b77017cb9 * x86: Added two new tests for i39922 2022-10-18 20:47:42 +00:00
Jonas Maebe
0758aa1143 FPU exception mask: generlised system unit interface 2022-10-17 19:43:01 +00:00
florian
e457cdad8a * patch by avk959 to solve infinite loop in FindMatchesBoyerMoore*, resolves #39885 and #39709
+ tests
2022-10-17 21:14:32 +02:00
florian
5670a7543c * properly reset nf_write/nf_modify flags for min/max inline nodes, needed by dead store optimization, resolves #39958
* factored out nutils.node_reset_pass1_write
2022-10-16 22:51:50 +02:00
florian
65ff03f30a + test for #39955 2022-10-15 13:59:35 +02:00
florian
1c86a4bbeb * if a pointer_to_array type conversion is applied to a variable, it is not written, resolves #39957 2022-10-14 23:12:18 +02:00
Pierre Muller
d217a459aa Fix bug report #39952.
* compiler/aggas.pas: Avoid use of .long for 64bit constant
    for targets that automatically insert alignments.
  + tests/webtbs/tw39952.pp: New test from bug report 39952.
2022-10-12 21:28:16 +01:00
florian
f0c0d8a033 + test for #22809 which is meanwhile resolved 2022-10-12 21:56:30 +02:00
florian
989895c82f * patch by Bart B: FormatFloat correctly outputs NaN now, resolves #32868
+ test
2022-10-11 22:11:33 +02:00
Sven/Sarah Barth
188cac3bc6 * enable OpenStrings by default in mode Delphi
+ added test
2022-10-08 13:52:34 +02:00
Sven/Sarah Barth
6cbbf9c52a * $P/$OpenStrings is supposed to be a local switch, so change that accordingly
+ added tests
2022-10-08 13:52:32 +02:00
florian
9f293df425 * export DynArrayAssign, resolves #39897 2022-10-06 22:56:38 +02:00
florian
ad7cc0e69d * handle <dyn.array>+[] (and swapped) correctly, resolves #39919 2022-10-05 22:48:21 +02:00
marcoonthegit
2291100bbd * fix and test for bug #39884 solving daysbetween when zero date is crossed. 2022-10-05 20:46:18 +02:00
florian
d8cd4d283d * removed wrong program name 2022-10-04 22:02:59 +02:00
florian
2396b36c21 * nil =/<> dyn. array is a valid expression, so isbinaryoperatoroverloadable needs to take care of it, resolves #39933 2022-10-03 10:26:09 +02:00
florian
444fe092da * propertly check equality with the for-counter when propagating constants, resolves #39915 2022-09-24 20:39:43 +02:00
florian
960c154f48 * properly named 2022-09-22 23:00:34 +02:00
Sven/Sarah Barth
4f9acc10f0 * fix #39898: when a loadnode is captured ensure that its nf_load_procvar flag is applied to the subscript node as well
+ added tests
2022-09-20 00:01:49 +02:00
florian
af1194de4d * end of an include file works like a new line with regard to single line (//) comments, resolves #39912 2022-09-19 23:03:36 +02:00
Sven/Sarah Barth
c8fee69345 * fix #39907: only load system class types from units that are marked as a System unit
+ added test
2022-09-18 15:41:33 +02:00
florian
168016b865 * patch by Rika: Use linear file list in FInput.TInputFileManager instead of linked, resolves #39880 2022-09-17 22:46:57 +02:00
Sven/Sarah Barth
e21186cac0 * fix #39902: in case of mode ObjFPC function pointers passed to parameters need to be checked for the correct procdef as well
+ added adjusted/extended test
2022-09-16 16:20:42 +02:00
Sven/Sarah Barth
13fb30c52e * fix #39902: correctly handle assignment of procvars to properties with a field write accessor
+ added adjusted/extended test
2022-09-16 16:20:42 +02:00
Jonas Maebe
e746cf96da Overload selection: call procvars if result is compatible with parameter
Previously we only autmatically called procvars without parameters in TP/Delphi
modes if their result type was equal to the parameter type to which they were
passed. Resolves #39748.
2022-09-16 11:21:05 +02:00
Sven/Sarah Barth
62a57bf82e * fix #39903: correctly parse anonymous function references in records (and classes/objects)
+ added test
2022-09-15 22:57:05 +02:00
J. Gareth "Curious Kit" Moreton
2931b43000 * New test for #39713 2022-08-31 18:25:11 +00:00
Sven/Sarah Barth
a93942cd27 * correctly convert a single WideChar to a PChar constant with the correct code page
+ added test
2022-08-28 21:53:44 +02:00
florian
889c164f78 + new test 2022-08-28 21:49:38 +02:00
florian
8e9a019fb7 * moved tests to proper location 2022-08-28 21:44:33 +02:00
florian
0440749562 + test for #39873 2022-08-28 21:29:52 +02:00
Sven/Sarah Barth
e5957b1ef0 * fix #39875: when a WideString constant is used to initialize a PChar the constant needs to be converted to the current code page
+ added test
2022-08-26 18:05:13 +02:00
Sven/Sarah Barth
5135b586cb * fix #39857: don't trash symbols marked as vo_is_internal
+ added test
2022-08-26 17:42:22 +02:00
Sven/Sarah Barth
8595c927a8 * fix #39876: correctly Read(Str) enum types which have a size smaller than 4 Byte
+ added tests
2022-08-26 17:16:29 +02:00
florian
85c7368759 * handle also simulated flags in tmipselnotnode.second_boolean, resolves #39877 2022-08-24 21:16:23 +02:00
florian
2670eb1ce7 * improved test as proposed by Rika 2022-08-23 21:27:44 +02:00
florian
4f7dffadbb * extended test 2022-08-22 21:33:52 +02:00
florian
5af087cfc3 * experimental test for #39722, no sure if it will work this way on all platforms 2022-08-21 23:03:38 +02:00
florian
d3d4de7818 * test for #39834, previous commits resolve #39834 2022-08-20 18:11:24 +02:00
Sven/Sarah Barth
61debb1559 * fix #39869: correctly check whether the recorded token stream still needs to be parsed (the replay depth of the scanner needs to be *larger* than what it was before starting the playback)
+ added test
2022-08-18 23:09:01 +02:00
florian
9e14dee1c3 * fixed Math.Tanh as proposed by Paolo Valle, resolves #39867 2022-08-17 20:56:43 +02:00
marcoonthegit
533cd82922 * applied patch from Alexey for closes #39704
* reviewed checks at start of function to match Delphi in rangecheck errors and other exits
 * test for the above.
2022-08-17 18:38:02 +02:00
Ondrej Pokorny
55629aeb19 do not publish enums with jumps 2022-08-16 20:47:44 +02:00
florian
cc66eb27ab * patch by Rika: More numerical stability for Math, resolves #39863 2022-08-14 22:26:09 +02:00
Sven/Sarah Barth
27c1bb3bea * an objectdef also requires an init for its members if a member (or a member of one of the parents) has a complex initialization
+ added test
2022-08-14 15:42:32 +02:00
florian
8028a769f4 * ensure that the executable path used in the test is absolute 2022-08-12 22:12:11 +02:00
Sven/Sarah Barth
5e7330448d * fix #39858: correctly keep track of symbols that need to be captured into the capturer
+ added test
2022-08-12 17:44:39 +02:00
Sven/Sarah Barth
35958a9b6b * fix #39860: even if the block type is not correct for the specialization of a generic routine continue to specialize it to not trigger e.g. an internal error
+ added tests
2022-08-12 14:46:56 +02:00
florian
5afd809e88 + handle LOC_FLAGS in thlcgobj.location_force_mem, resolves #39292 2022-08-08 23:14:56 +02:00
J. Gareth "Curious Kit" Moreton
8ba76f7d0a * New test to catch i39851 2022-07-31 19:45:23 +00:00
Nikolay Nikolov
8c9a07a3e8 + added test for wasmglobals, where the globals are declared in the implementation section of a unit 2022-07-31 20:12:11 +03:00
Nikolay Nikolov
6d23d22d50 + added wasm dir to test dirs 2022-07-31 20:04:43 +03:00
Nikolay Nikolov
6d3da83611 + added test for wasm globals 2022-07-31 19:54:34 +03:00
florian
6c47f8f4d7 * do not warn on anonymous functions without captured variables about being not used, resolves #39853 2022-07-29 21:46:48 +02:00
Sven/Sarah Barth
c122e16beb * fix #39849: it's an error when the file (or string) parameter of a Read*/Write* is followed by a ":"
+ added test
2022-07-29 17:34:55 +02:00
Jonas Maebe
3d6c53ee74 parentfpstruct: explicitly trash before initialising
It's an internal sym, but it contains user data. Together with the previous
commit resolves #39845
2022-07-26 22:36:13 +02:00
florian
a16f35dcb1 + support RV32E Extension 2022-07-17 22:14:13 +02:00
florian
399e699b72 * tests for merge request 244 2022-07-16 22:13:21 +02:00
Sven/Sarah Barth
8d90cd3e64 * fix #39826: correctly handle function references that are part of generics/specializations, but are not generics/specializations themselves
+ added test
2022-07-15 16:32:02 +02:00
florian
d27c3b4b79 + test for #33559 2022-07-13 22:53:37 +02:00
florian
e25594c48e * correctly truncate rtti symbol names of enumeration types, resolves #39829 2022-07-11 22:07:57 +02:00
florian
1d32a575e7 * as correctly pointed out by Bart B, -gw instead of -g should be used in the test for #39816 2022-07-06 19:50:07 +02:00