diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2009-06-18 09:23:43 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2009-06-18 09:23:43 +0000 |
commit | a59ab169d57c990551590b4962efb652d859c60e (patch) | |
tree | b66abfeef67f2af17096d7913d4f474b98d6cd71 | |
parent | 71e6b972b89bc762ce983932f89e43a466900fed (diff) | |
download | fpc-a59ab169d57c990551590b4962efb652d859c60e.tar.gz |
* disallow new(property) (mantis #13992)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@13288 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | tests/webtbf/tw13992.pp | 39 | ||||
-rw-r--r-- | tests/webtbs/tw13992a.pp | 39 |
2 files changed, 78 insertions, 0 deletions
diff --git a/tests/webtbf/tw13992.pp b/tests/webtbf/tw13992.pp new file mode 100644 index 0000000000..f7f40aa677 --- /dev/null +++ b/tests/webtbf/tw13992.pp @@ -0,0 +1,39 @@ +{ %fail } + +{ new(property) should fail } + +program test_prop; + +{$mode delphi} + +type + TMyRec = record + s: string; + end; + PMyRec = ^TMyRec; + + TSomeClass = class + private + FMyRec: PMyRec; + public + constructor Create; + destructor Destroy; override; + property MyRec: PMyRec read FMyRec write FMyRec; + end; + +{ TSomeClass } + +constructor TSomeClass.Create; +begin + New(MyRec); +end; + +destructor TSomeClass.Destroy; +begin +// Dispose(MyRec); + inherited; +end; + +begin +end. + diff --git a/tests/webtbs/tw13992a.pp b/tests/webtbs/tw13992a.pp new file mode 100644 index 0000000000..586162245c --- /dev/null +++ b/tests/webtbs/tw13992a.pp @@ -0,0 +1,39 @@ +{ %norun } + +{ dispose(property) should be accepted } + +program test_prop; + +{$mode delphi} + +type + TMyRec = record + s: string; + end; + PMyRec = ^TMyRec; + + TSomeClass = class + private + FMyRec: PMyRec; + public + constructor Create; + destructor Destroy; override; + property MyRec: PMyRec read FMyRec write FMyRec; + end; + +{ TSomeClass } + +constructor TSomeClass.Create; +begin +// New(MyRec); +end; + +destructor TSomeClass.Destroy; +begin + Dispose(MyRec); + inherited; +end; + +begin +end. + |