From 331ace25c6f5d630e554681c9ed9acf81adf8878 Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 15 Mar 2015 16:19:58 +0000 Subject: [PATCH] * handle undefineddef in classify_argument, resolves #27658 git-svn-id: trunk@30239 - --- .gitattributes | 1 + compiler/x86_64/cpupara.pas | 5 +++++ tests/webtbs/tw27658.pp | 14 ++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 tests/webtbs/tw27658.pp diff --git a/.gitattributes b/.gitattributes index 8bcc074a2b..7a8526d4bf 100644 --- a/.gitattributes +++ b/.gitattributes @@ -14334,6 +14334,7 @@ tests/webtbs/tw2758.pp svneol=native#text/plain tests/webtbs/tw2763.pp svneol=native#text/plain tests/webtbs/tw27634.pp svneol=native#text/plain tests/webtbs/tw2765.pp svneol=native#text/plain +tests/webtbs/tw27658.pp svneol=native#text/pascal tests/webtbs/tw27665.pp svneol=native#text/plain tests/webtbs/tw2767.pp svneol=native#text/plain tests/webtbs/tw2771.pp svneol=native#text/plain diff --git a/compiler/x86_64/cpupara.pas b/compiler/x86_64/cpupara.pas index 7c72164511..30b1acb2d2 100644 --- a/compiler/x86_64/cpupara.pas +++ b/compiler/x86_64/cpupara.pas @@ -705,6 +705,11 @@ unit cpupara; def:=search_system_type('TVARDATA').typedef; result:=classify_argument(def,varspez,def.size,classes,byte_offset); end; + undefineddef: + { show shall we know? + since classify_argument is called during parsing, see tw27685.pp, + we handle undefineddef here } + result:=0; else internalerror(2010021405); end; diff --git a/tests/webtbs/tw27658.pp b/tests/webtbs/tw27658.pp new file mode 100644 index 0000000000..36919c86d7 --- /dev/null +++ b/tests/webtbs/tw27658.pp @@ -0,0 +1,14 @@ +{$MODE OBJFPC} +program Project1; + +uses gmap; + +type + +generic TMyMap = class(specialize TMap) +end; +generic TMyCounter = class(specialize TMyMap) +end; + +begin +end.