Browse Source

* test for register variables and goto

git-svn-id: trunk@2191 -
Jonas Maebe 19 years ago
parent
commit
548a9040bc
2 changed files with 40 additions and 0 deletions
  1. 1 0
      .gitattributes
  2. 39 0
      tests/test/opt/tgotoreg.pp

+ 1 - 0
.gitattributes

@@ -5525,6 +5525,7 @@ tests/test/opt/tcmov.pp svneol=native#text/plain
 tests/test/opt/tcse1.pp svneol=native#text/plain
 tests/test/opt/tcse2.pp svneol=native#text/plain
 tests/test/opt/tcse3.pp svneol=native#text/plain
+tests/test/opt/tgotoreg.pp svneol=native#text/plain
 tests/test/opt/treg1.pp svneol=native#text/plain
 tests/test/opt/treg2.dat -text
 tests/test/opt/treg2.pp svneol=native#text/plain

+ 39 - 0
tests/test/opt/tgotoreg.pp

@@ -0,0 +1,39 @@
+{% OPT=-Or}
+
+{$goto on}
+
+var
+  global: longint;
+
+procedure t1;
+begin
+  { make sure it's not put in a register in t }
+  global := 1;
+end;
+
+procedure t;
+var
+  l: longint;
+  s1,s2,s3: ansistring;
+label lab;
+begin
+  t1;
+  l := 1;
+  s1 := 'ABC';
+  s2 := 'DEF';
+  s3 := '';
+lab:
+  inc(l);
+  inc(global);
+  if global > 10 then
+    halt(1);
+  if l = 10 then
+    s3 := 'ABCDEF';
+  if s1+s2 <> s3 then
+    goto lab;
+end;
+
+begin
+  t;
+end.
+