mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 02:39:40 +01:00 
			
		
		
		
	* test for register variables and goto
git-svn-id: trunk@2191 -
This commit is contained in:
		
							parent
							
								
									ea89d8a881
								
							
						
					
					
						commit
						548a9040bc
					
				
							
								
								
									
										1
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
								
							@ -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
									
								
								tests/test/opt/tgotoreg.pp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								tests/test/opt/tgotoreg.pp
									
									
									
									
									
										Normal file
									
								
							@ -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.
 | 
			
		||||
 
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user