Commit Graph

178 Commits

Author SHA1 Message Date
florian
85225d437e + additional goto test
git-svn-id: trunk@15689 -
2010-08-02 19:35:44 +00:00
florian
c6ffbe9eda * support string constants > 255 chars
* don't cut off anymore string constants silently at 255 chars

git-svn-id: trunk@14789 -
2010-01-24 09:28:46 +00:00
paul
cb54b3e7a9 compiler: allow class to have local type sections + tests
git-svn-id: trunk@14605 -
2010-01-11 02:35:10 +00:00
Jonas Maebe
a1bcc1c8d2 * turn openstring value parameters into regular shortstring parameters
(mantis #14940 and #14941)
  * only turn var/our shortstring parameters with a length of 255 into
    openstring parameters with {$p+} (new tbf/tb0217.pp)

git-svn-id: trunk@14602 -
2010-01-10 15:36:23 +00:00
florian
6ea40be296 * fixed more properties, I still wonder how this could be commited
git-svn-id: trunk@13543 -
2009-08-16 10:57:52 +00:00
Jonas Maebe
c6733ed9a5 * disallow placing fields after method/property definitions, because this
can create ambiguities for the parser in case the field names also exist
    as modifiers (TP- and Delphi-compatible, mantis #13971) + tests
  * fixed tests that broke because of this change

git-svn-id: trunk@13334 -
2009-06-27 12:59:46 +00:00
Jonas Maebe
b7235b21c9 * no longer allow assigning values to typecasted properties, because in
case the getter is a function, the result is that first the getter is
    called, and subsequently the temp holding the function result is
    overwritten (thus not changing anything). This is Delphi-compatible,
    and fixes tests/tbf/tb0214*

git-svn-id: trunk@13320 -
2009-06-23 18:42:53 +00:00
Jonas Maebe
e6bf70fc05 * fixed/cleaned up tests for "nil + 1"
git-svn-id: trunk@13212 -
2009-05-30 11:29:54 +00:00
Jonas Maebe
7e908cb1e3 * forbid "nil +/- ordinal" expressions (Delphi-compatible, and the
expression is meaningless since nil is not a valid address)

git-svn-id: trunk@13205 -
2009-05-27 17:50:55 +00:00
Jonas Maebe
3a8b29be91 + test conversion from class to differently sized enum and to differently
sized integer (succeed for Delphi, fail for objfpc)
  * fixed compiler so it only allows typecasting a class/interface to a
    differently sized integer in Delphi mode

git-svn-id: trunk@13152 -
2009-05-16 11:07:09 +00:00
Jonas Maebe
ea356808b1 * tests have to fail
* "fixed" tests so they also fail on 32 bit platforms

git-svn-id: trunk@13149 -
2009-05-16 10:30:28 +00:00
ivost
cf7b755dc0 * additional negative testcase for interfaces
git-svn-id: trunk@12726 -
2009-02-08 23:10:43 +00:00
ivost
b2235eb873 * new negative test cases for interface to TGuid/Shortstring assign
git-svn-id: trunk@12724 -
2009-02-08 21:24:28 +00:00
Jonas Maebe
b3aa2ab759 + new test which should fail but doesn't yet (it should not be possible to
use a char typecasted as a chararray with more than one element as an
    lvalue)

git-svn-id: trunk@12708 -
2009-02-07 22:20:47 +00:00
Jonas Maebe
53213844d8 + new test (not yet fixed)
git-svn-id: trunk@12050 -
2008-11-11 20:20:29 +00:00
Jonas Maebe
e5920bc2b8 * delay verbosity changes just like localswitches changes
* store a node's verbosity in the node so that e.g. disabling warnings
    also disables warnings for this node in pass_1
   (the above together fix mantis #12076)
  * save/restore verbosity with {$push}/{$pop} (mantis #12075)
  * if warnings/notes/hints are turned off, also do not count encountered
    ones for the totals (otherwise -Sew cannot be used properly in
    combination with {$warnings off}, because disabled warnings will still
    trigger a compiler error) -- this required adding -vw/-vn/-vh to all
    tests using -Sew/-Sen/-Seh
  - removed some superfluous state saving/restoring from firstpass()

git-svn-id: trunk@12025 -
2008-11-03 21:18:27 +00:00
florian
57f3e2f40a * forbid access to properties in class methods
* readability fix

git-svn-id: trunk@11838 -
2008-09-28 20:16:13 +00:00
florian
d2214685c3 * fixes compiler crash with out of memory on illegal array declarations
git-svn-id: trunk@11505 -
2008-08-03 10:34:41 +00:00
tom_at_work
f11cf59854 * tests for checking type casts from integers/enums to TObjects in Delphi and non-Delphi mode (see r11398)
git-svn-id: trunk@11400 -
2008-07-18 15:53:37 +00:00
florian
050627ea1d * allow goto inside finally blocks
git-svn-id: trunk@11392 -
2008-07-17 19:49:38 +00:00
Jonas Maebe
87aa666768 + test I still had lying around
git-svn-id: trunk@10950 -
2008-05-12 09:51:19 +00:00
florian
4a243d451f + support of -Mxxx or $modeswitch to enable single mode specific features
git-svn-id: trunk@10936 -
2008-05-10 22:04:53 +00:00
Jonas Maebe
08ccb30e3b * perform real "exactness" checking for open array parameters
git-svn-id: trunk@9624 -
2008-01-04 12:54:47 +00:00
Jonas Maebe
61522d00a2 * fixed tests now that i386 assembler code is checked for correct PIC
usage in case PIC generation is on (some by adding PIC-versions of
    the assembler code, most by adding -Cg- to the options to be used).

    Note: the Intel assembler reader does not yet support the Delphi
    PIC construct, so tests with that (like test/tasmread and test/tcg1)
    do not work with -Cg on non-Darwin (Darwin needs a different PIC
    construct)

git-svn-id: trunk@9370 -
2007-12-01 14:34:50 +00:00
Jonas Maebe
f1f1f1c7cd + tests for wrong relsymbol usage
git-svn-id: trunk@9369 -
2007-12-01 14:27:45 +00:00
Jonas Maebe
1ee8207ffa * fixed mantis #9522: no longer allow typecasting ordinal constants
to complex types (caused a lot of internal errors later on, and
    was also Delphi-incompatible)

git-svn-id: trunk@8369 -
2007-09-03 15:55:26 +00:00
Jonas Maebe
eddc507a13 * disallow widechar sets (Delphi 7 compatible, and were handled wrongly
by FPC previously)
  * tbs/tb0474 now fails -> renamed to tbf/tb0201 (+ new test tbf/tb0202)

git-svn-id: trunk@8284 -
2007-08-14 14:27:59 +00:00
daniel
dafc044cea * tb0201 should now succeed, move & rename it to tbs/tb0540
* Add %FAIL & %NORUN to tb0200.

git-svn-id: trunk@7826 -
2007-06-26 17:43:41 +00:00
daniel
9eccba45e9 * Improve test.
git-svn-id: trunk@7824 -
2007-06-26 17:28:21 +00:00
daniel
eef2d4a1df + Discovered a bug regarding string bounds checking, add tests for it.
git-svn-id: trunk@7823 -
2007-06-26 17:23:49 +00:00
daniel
02732bfb55 * Fix tests for constexprint rework.
git-svn-id: trunk@7638 -
2007-06-13 07:30:09 +00:00
pierre
d7e6f9f701 * add test for wrong code that should generate an error
git-svn-id: trunk@7113 -
2007-04-16 09:35:47 +00:00
florian
fef643654b * moved
git-svn-id: trunk@7066 -
2007-04-06 21:20:28 +00:00
florian
56e30e75af * don't crash on invalid property declarations, resolves #8451
git-svn-id: trunk@7065 -
2007-04-06 21:18:10 +00:00
florian
b8af065523 * do check for non defined labels earlier to avoid ies in the cg
git-svn-id: trunk@6698 -
2007-03-03 14:52:46 +00:00
Jonas Maebe
67edbb1fa0 * corrected reference to test which should succeed
git-svn-id: trunk@6269 -
2007-01-30 14:39:49 +00:00
Jonas Maebe
f2b07704b5 * proper initialised/used warnings for variables used
in complex with-statements + tests

git-svn-id: trunk@6024 -
2007-01-17 12:04:53 +00:00
Jonas Maebe
7f24462fcb * warn when doing not(uninitialised_variable)
git-svn-id: trunk@6000 -
2007-01-16 16:34:44 +00:00
florian
ad7e261a04 * forbid to take the address of a label defined outside of the current procedure
git-svn-id: trunk@5974 -
2007-01-14 19:21:37 +00:00
Jonas Maebe
3610a8eb53 * fixed test parameters
git-svn-id: trunk@5815 -
2007-01-05 09:50:45 +00:00
Jonas Maebe
2ddeca21e6 * don't give warning about constructing instance with abstract methods
for self.create calls + tests

git-svn-id: trunk@5810 -
2007-01-04 13:02:23 +00:00
Jonas Maebe
e5a1d628eb * fixed one regression in r5682: implementation declarations with a
calling convention that has different hidden parameters than the
    interface declaration no longer compiled in Delphi mode (e.g.
    webtbs/tw7329.pp on i386)
  * fixed remaining declaration parsing incompatibilities in TP/Delphi
    modes (other modes already gave errors for the things below):
    * give an error for "function a: byte;" in interface followed by
      "procedure a;" in implementation ("function a;" in implementation
      still allowed as in TP/Delphi)
    * give an error for "function a(b: byte):byte" in interface
      followed by "function a: byte;" in implementation (if one parameter
      or return type is specified in implementation, everything must
      be repeated -- "function a;" still allowed)
  * copied webtbs/tw0890.pp to webtbf/tw0890a.pp since it now correctly
    fails, and modified webtbs/tw0890.pp so it doesn't fail with the
    new code

git-svn-id: trunk@5688 -
2006-12-23 11:17:21 +00:00
florian
b3ac0f5d98 * another test
git-svn-id: trunk@5172 -
2006-11-02 09:55:59 +00:00
florian
4c76107b98 * limited generics to records, classes, objects and interfaces
git-svn-id: trunk@5171 -
2006-11-02 09:48:17 +00:00
florian
1275e7d109 * forbid usage of TYPE and VAR inside of common classes/objects
git-svn-id: trunk@5170 -
2006-11-02 09:12:59 +00:00
florian
9a1b9071a5 * implemented kylix like local directive, fixes #7242
git-svn-id: trunk@4982 -
2006-10-19 20:26:14 +00:00
Jonas Maebe
b02495645f * fixed test
git-svn-id: trunk@4882 -
2006-10-13 12:54:55 +00:00
micha
f47f8e6af1 add tests for untyped pointer arithmetic warnings
git-svn-id: trunk@4820 -
2006-10-07 16:28:21 +00:00
Jonas Maebe
378e7fb3d4 + added
git-svn-id: trunk@3921 -
2006-06-22 09:39:36 +00:00
Jonas Maebe
f174d2f937 + added { %fail }
git-svn-id: trunk@3200 -
2006-04-13 09:00:40 +00:00