mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 02:39:40 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			790 B
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			790 B
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
{ Test for bug report 20093
 | 
						|
  Reported 2011-08-29
 | 
						|
  a_tclass in unit uvmt
 | 
						|
  and tclass in unit uvmt_a
 | 
						|
  both generate the same symbol name for the VMT
 | 
						|
  }
 | 
						|
 | 
						|
{ Use same name as unit to test also
 | 
						|
  possible confusion there }
 | 
						|
 | 
						|
 | 
						|
{$mode objfpc}
 | 
						|
 | 
						|
program vmt_uvmt;
 | 
						|
 | 
						|
uses
 | 
						|
  u_uvmta, uvmta, uvmta_a;
 | 
						|
 | 
						|
var
 | 
						|
  t : longint;
 | 
						|
begin
 | 
						|
  t:=6;
 | 
						|
  inc(t);
 | 
						|
  uvmta.a_int:=t;
 | 
						|
  inc(t);
 | 
						|
 | 
						|
  uvmta_a.int:=t;
 | 
						|
 | 
						|
  if (uvmta_a.int - uvmta.a_int <> 1) then
 | 
						|
    begin
 | 
						|
      Writeln('Error in generated executable');
 | 
						|
      if (@int = @a_int) then
 | 
						|
        Writeln('Both variables are at same address');
 | 
						|
      halt(1);
 | 
						|
    end;
 | 
						|
  test;
 | 
						|
  a_test;
 | 
						|
  u_uvmta.a_int;
 | 
						|
  if (test_count <> 1) or
 | 
						|
     (u_test_count <> 1) or
 | 
						|
     (a_test_count <> 1) then
 | 
						|
    begin
 | 
						|
      Writeln('Wrong code generated');
 | 
						|
      halt(2);
 | 
						|
    end;
 | 
						|
end.
 |