summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2016-05-30 09:28:56 +0000
committermarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2016-05-30 09:28:56 +0000
commit35935a4e0648c939f2f9a97681cd030006108850 (patch)
treef776b84ff1b0fde3cb6b1ae927c3497984bb528f
parent733a51d7591808cf78b63d4730396f7235cc3216 (diff)
downloadfpc-35935a4e0648c939f2f9a97681cd030006108850.tar.gz
* patch from Sven equal to r31911 backported to 3.0.x
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/fixes_3_0@33856 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--compiler/ncgvmt.pas8
1 files changed, 5 insertions, 3 deletions
diff --git a/compiler/ncgvmt.pas b/compiler/ncgvmt.pas
index c02773a49e..f183da0b77 100644
--- a/compiler/ncgvmt.pas
+++ b/compiler/ncgvmt.pas
@@ -982,14 +982,16 @@ implementation
for i:=0 to st.DefList.Count-1 do
begin
def:=tdef(st.DefList[i]);
+ { skip generics and generic constraints }
+ if [df_generic,df_genconstraint]*def.defoptions<>[] then
+ continue;
case def.typ of
recorddef :
do_write_persistent_type_info(trecorddef(def).symtable,is_global);
objectdef :
begin
- { Skip generics and forward defs }
- if ([df_generic,df_genconstraint]*def.defoptions<>[]) or
- (oo_is_forward in tobjectdef(def).objectoptions) then
+ { Skip forward defs }
+ if (oo_is_forward in tobjectdef(def).objectoptions) then
continue;
do_write_persistent_type_info(tobjectdef(def).symtable,is_global);
{ Write also VMT if not done yet }