mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 12:39:38 +01:00 
			
		
		
		
	* prevent internal errors when calling location_force_mem() for
dynamic or open arrays on the JVM target git-svn-id: branches/jvmbackend@18757 -
This commit is contained in:
		
							parent
							
								
									eb8ba875db
								
							
						
					
					
						commit
						c648cade1a
					
				@ -1935,6 +1935,7 @@ implementation
 | 
			
		||||
  procedure thlcgobj.location_force_mem(list: TAsmList; var l: tlocation; size: tdef);
 | 
			
		||||
    var
 | 
			
		||||
      r : treference;
 | 
			
		||||
      forcesize: aint;
 | 
			
		||||
    begin
 | 
			
		||||
      case l.loc of
 | 
			
		||||
        LOC_FPUREGISTER,
 | 
			
		||||
@ -1959,7 +1960,12 @@ implementation
 | 
			
		||||
        LOC_REGISTER,
 | 
			
		||||
        LOC_CREGISTER :
 | 
			
		||||
          begin
 | 
			
		||||
            tg.gethltemp(list,size,size.size,tt_normal,r);
 | 
			
		||||
            if not is_dynamic_array(size) and
 | 
			
		||||
               not is_open_array(size) then
 | 
			
		||||
              forcesize:=size.size
 | 
			
		||||
            else
 | 
			
		||||
              forcesize:=voidpointertype.size;
 | 
			
		||||
            tg.gethltemp(list,size,forcesize,tt_normal,r);
 | 
			
		||||
            a_load_loc_ref(list,size,size,l,r);
 | 
			
		||||
            location_reset_ref(l,LOC_REFERENCE,l.size,0);
 | 
			
		||||
            l.reference:=r;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user