浏览代码

* avoid too long prefixes of manglednames by using a CRC like for long parameter name lists, resolves #15203

git-svn-id: trunk@14515 -
florian 15 年之前
父节点
当前提交
81f34dd4bb
共有 4 个文件被更改,包括 296 次插入1 次删除
  1. 1 0
      .gitattributes
  2. 1 1
      compiler/ppu.pas
  3. 6 0
      compiler/symdef.pas
  4. 288 0
      tests/webtbs/tw15203.pp

+ 1 - 0
.gitattributes

@@ -10152,6 +10152,7 @@ tests/webtbs/tw1501.pp svneol=native#text/plain
 tests/webtbs/tw15015.pp svneol=native#text/plain
 tests/webtbs/tw15015.pp svneol=native#text/plain
 tests/webtbs/tw15088.pp svneol=native#text/plain
 tests/webtbs/tw15088.pp svneol=native#text/plain
 tests/webtbs/tw15169.pp svneol=native#text/plain
 tests/webtbs/tw15169.pp svneol=native#text/plain
+tests/webtbs/tw15203.pp svneol=native#text/pascal
 tests/webtbs/tw15207.pp svneol=native#text/plain
 tests/webtbs/tw15207.pp svneol=native#text/plain
 tests/webtbs/tw15274.pp svneol=native#text/plain
 tests/webtbs/tw15274.pp svneol=native#text/plain
 tests/webtbs/tw15293.pp svneol=native#text/plain
 tests/webtbs/tw15293.pp svneol=native#text/plain

+ 1 - 1
compiler/ppu.pas

@@ -43,7 +43,7 @@ type
 {$endif Test_Double_checksum}
 {$endif Test_Double_checksum}
 
 
 const
 const
-  CurrentPPUVersion = 107;
+  CurrentPPUVersion = 108;
 
 
 { buffer sizes }
 { buffer sizes }
   maxentrysize = 1024;
   maxentrysize = 1024;

+ 6 - 0
compiler/symdef.pas

@@ -866,6 +866,12 @@ implementation
              prefix:=s+'_'+prefix
              prefix:=s+'_'+prefix
            else
            else
              prefix:=s;
              prefix:=s;
+           if length(prefix)>128 then
+             begin
+               crc:=0;
+               crc:=UpdateCrc32(crc,prefix[1],length(prefix));
+               prefix:='$CRC'+hexstr(crc,8);
+             end;
            st:=st.defowner.owner;
            st:=st.defowner.owner;
          end;
          end;
         { object/classes symtable, nested type definitions in classes require the while loop }
         { object/classes symtable, nested type definitions in classes require the while loop }

+ 288 - 0
tests/webtbs/tw15203.pp

@@ -0,0 +1,288 @@
+program test;
+type
+ extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections=longword;
+var
+ varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction30
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction29
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction28
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction27
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction26
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction25
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction24
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction23
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction22
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction21
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction20
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction19
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction18
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction17
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction16
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction15
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction14
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction13
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction12
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction11
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction10
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction9
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction8
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction7
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction6
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction5
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction4
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction3
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction2
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction1
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+function extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction0
+(var varone:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+vartwo:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections):extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+var
+ varthree:extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilections;
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction0*)
+varthree := 1;
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction0 := 1
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction0*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction1*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction0(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction1 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction0(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction1*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction2*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction1(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction2 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction1(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction2*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction3*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction2(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction3 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction2(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction3*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction4*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction3(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction4 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction3(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction4*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction5*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction4(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction5 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction4(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction5*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction6*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction5(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction6 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction5(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction6*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction7*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction6(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction7 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction6(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction7*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction8*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction7(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction8 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction7(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction8*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction9*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction8(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction9 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction8(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction9*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction10*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction9(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction10 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction9(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction10*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction11*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction10(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction11 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction10(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction11*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction12*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction11(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction12 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction11(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction12*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction13*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction12(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction13 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction12(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction13*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction14*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction13(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction14 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction13(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction14*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction15*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction14(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction15 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction14(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction15*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction16*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction15(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction16 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction15(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction16*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction17*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction16(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction17 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction16(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction17*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction18*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction17(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction18 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction17(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction18*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction19*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction18(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction19 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction18(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction19*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction20*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction19(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction20 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction19(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction20*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction21*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction20(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction21 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction20(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction21*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction22*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction21(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction22 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction21(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction22*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction23*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction22(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction23 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction22(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction23*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction24*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction23(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction24 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction23(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction24*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction25*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction24(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction25 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction24(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction25*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction26*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction25(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction26 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction25(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction26*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction27*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction26(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction27 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction26(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction27*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction28*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction27(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction28 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction27(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction28*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction29*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction28(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction29 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction28(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction29*)
+begin(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction30*)
+varthree := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction29(varone,vartwo);
+extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction30 := extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction29(varone,varthree)
+end;(*extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction30*)
+begin(*program*)
+varone := 1;
+writeln(extremelylongtypenamethatsomeguywantstocallitinspiteofyourpredilectionsfunction30(varone,2))
+end.(*program*)