Commit Graph

494 Commits

Author SHA1 Message Date
florian
803a6fea24 * throw an error if instructions which needs an operand size is used with one operand being a reference without size 2023-09-16 23:25:31 +02:00
Sven/Sarah Barth
a20e8b9a3d * fix #40095: when searching a suitable constructor for the custom attribute don't allow the return of a procvar which can happen in Mac/TP procvar modes (like Delphi)
+ added test
2023-06-30 17:12:56 +02:00
Sven/Sarah Barth
8592d42afa * test added for #40332 is supposed to fail 2023-06-30 16:24:20 +02:00
Sven/Sarah Barth
0b7a771ca9 * fix #40221: don't allow a conversion from an anonymous function to a procvar type if compare_defs_ext already rejected them
+ added tests
2023-06-16 17:28:50 +02:00
florian
55deefbab5 * do not crash on illegal with statement, resolves #40118 2023-01-18 23:03:28 +01:00
florian
5598ffc210 * x86_64: warn only on negative offsets if rsp is involed, second part of #40113
+ tests
2023-01-17 23:09:42 +01:00
florian
8b08486fa1 * do not warn on lea e/rsp with negative address offset, part of #40113
+ tests
2023-01-15 23:06:05 +01:00
florian
7affd78904 * do not throw an internal error on typed constants with wrong element count, resolves #40066 2022-12-30 21:53:04 +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
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
8e9a019fb7 * moved tests to proper location 2022-08-28 21:44:33 +02:00
Ondrej Pokorny
55629aeb19 do not publish enums with jumps 2022-08-16 20:47:44 +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
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
florian
ceda27ae25 * allow type parameters in variant parts of records as we do not now
what type is used during specialization, resolves #39805
2022-06-28 22:45:17 +02:00
florian
8eb2cea349 * do not throw an internal error if slice is used on dyn. array paramters, resolves #39806 2022-06-23 23:11:18 +02:00
Sven/Sarah Barth
7f9428eed5 * add cblock directive so that the test fails for the correct reason 2022-05-26 21:42:51 +02:00
florian
559fcdf736 * forbid cyclic pointer definitions, resolves #39634 2022-04-21 20:03:05 +02:00
florian
43b4b34395 * disallow offsetof trick for types involving implicit dereferences, resolves #39667 partially 2022-04-14 17:06:15 +02:00
florian
54dccaaad1 * do not crash in case of too many $push directives, resolves #39652 2022-04-07 22:51:30 +02:00
florian
4718029fe0 * do not throw an error if syscall is used with a syntax not applicable for the current
target, resolves #39640
2022-03-30 23:07:34 +02:00
florian
ae89261008 * prevent that a absolute symbol references itself, resolves #39604 2022-03-06 22:01:56 +01:00
florian
ac53225817 * test for already resolved issue #38874 2022-03-03 21:24:43 +01:00
florian
2b66f60a88 * do not throw an internal error in case of a misplaced string, resolves #39609 2022-03-02 23:09:53 +01:00
Sven/Sarah Barth
b5e57a63f5 + add test for already fixed #22252 2022-01-09 12:29:08 +01:00
florian
00d4a6889d * add no internal flag when folding constants in taddnode.simplify, resolves #39308 2021-10-12 22:59:45 +02:00
Jonas Maebe
ab01b0ebd7 Typed constants: no internalerror on failure
Don't check whether the expression queue is empty in the destructor in case
there was an error. Also improved error messages (constant expression instead
of variable expression expected).

Resolves #39393
2021-10-03 21:46:23 +02:00
florian
0a3efb6702 + test for already fixed #26016
git-svn-id: trunk@49407 -
2021-05-29 10:05:54 +00:00
svenbarth
f9957f30a5 * fix for Mantis #38771: the owner of the procdef might be Nil in case of a specialization (that virtual can't be used on generics is caught later on)
+ added test

git-svn-id: trunk@49228 -
2021-04-18 14:01:09 +00:00
svenbarth
2885d3ab56 * fix for Mantis #37426: don't allow an instance function of a type helper to be used on the type instead of a concrete value
+ added test

git-svn-id: trunk@49102 -
2021-04-02 15:25:01 +00:00
florian
60c8b71bae * string constants have a size of 0, resolves #38504
git-svn-id: trunk@48759 -
2021-02-21 18:46:00 +00:00
florian
ecce39a3b2 + throw a warning in ISO mode if a constant string is assigned to a char and the sizes do not match, resolves #38439
git-svn-id: trunk@48563 -
2021-02-09 20:48:27 +00:00
florian
b1f7fb4ba1 * test for already fixed issue #24434
git-svn-id: trunk@48516 -
2021-02-06 12:53:04 +00:00
florian
9803318fef * give a proper error if macros are too deeply nested
git-svn-id: trunk@48357 -
2021-01-23 21:29:37 +00:00
florian
7f775abb6d * throw a proper error if a contructur has a type parameter in delphi mode, resolves #37217
git-svn-id: trunk@48113 -
2021-01-08 14:19:19 +00:00
svenbarth
d854d18bd9 * instead of blindly consuming whatever comes next trigger an explicit error if the parsed expression does not match for "INDEX ordexpr" or "NAME strexpr"
+ added tests

git-svn-id: trunk@47995 -
2021-01-02 23:23:08 +00:00
florian
cbec395907 * test needs -Cg to trigger the warning
git-svn-id: trunk@47661 -
2020-12-01 21:54:45 +00:00
florian
8b06b43c1a * meanwhile all linux targets support the checkpointer directive
git-svn-id: trunk@47659 -
2020-12-01 21:18:47 +00:00
svenbarth
67d2ecc09f * with the recent ShortString changes this test is no longer needed as it was added exactly to check the condition I removed, so disable it for 3.2.1 and newer (as I want to merge these changes back to fixes)
git-svn-id: trunk@47655 -
2020-12-01 06:39:31 +00:00
florian
60bd9c5ba0 * write a proper error message if types are read/written which are not supported in iso mode, resolves #37763
git-svn-id: trunk@46885 -
2020-09-17 19:58:55 +00:00
florian
120825d1d6 * do not throw an internal error on illegal assembler expressions, resolves #37439
git-svn-id: trunk@46499 -
2020-08-19 21:09:44 +00:00
florian
18b8b9c566 * do not apply range test optimization if the variable is a string being compared against a char constants, resolves #37476
git-svn-id: trunk@46453 -
2020-08-15 18:29:26 +00:00
florian
1ba8255af0 * do not try to unroll a loop if previously an error was thrown, resolves #37475
git-svn-id: trunk@46435 -
2020-08-14 18:10:56 +00:00
svenbarth
055cfc1771 * added test for Mantis #36014 which is already fixed (also in 3.2.0)
git-svn-id: trunk@46219 -
2020-08-03 21:53:24 +00:00
florian
f542ee7b92 * do not throw an internal error if an errorneous type is passed to str, resolves #37462
git-svn-id: trunk@45983 -
2020-08-01 21:11:35 +00:00
florian
6f661e44d0 * do not throw an internal error later on in case of a recursive call, if the declaration of the function was faulty, resolves #37460
git-svn-id: trunk@45975 -
2020-07-31 21:03:35 +00:00
florian
0cb21e8338 + test for last commit
git-svn-id: trunk@45773 -
2020-07-11 20:31:00 +00:00
svenbarth
eaa2a2006c * fix for Mantis #37272: also allow the empty set for dynamic array parameters; Delphi probably started to allow that together with array constructors.
+ added tests

git-svn-id: trunk@45706 -
2020-06-27 22:33:31 +00:00
svenbarth
a467332187 * fix for Mantis #36975: arraydefs are not allowed for generic types (this is only used for type declarations; for specializing constant strings which are char arrays are still allowed)
+ added test

git-svn-id: trunk@45089 -
2020-04-26 11:46:10 +00:00
florian
bc3131688a * fix precedence of IS operator, resolves #35909
git-svn-id: trunk@44266 -
2020-03-06 10:10:58 +00:00