mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 22:29:45 +01:00 
			
		
		
		
	* fixed some bugs in a_param_ref due to missing begin/end block markers
git-svn-id: trunk@4224 -
This commit is contained in:
		
							parent
							
								
									b3573feabb
								
							
						
					
					
						commit
						5622a7ae64
					
				| @ -477,11 +477,7 @@ begin | ||||
|           if (size <> OS_NO) then | ||||
|             a_load_ref_reg(list, size, location^.size, tmpref, | ||||
|               location^.register) | ||||
|           else | ||||
|           {$IFDEF extdebug} | ||||
|           list.concat(tai_comment.create(strpnew('a_param_ref with OS_NO, sizeleft ' + inttostr(sizeleft)))); | ||||
|           {$ENDIF extdebug} | ||||
| 
 | ||||
|           else begin | ||||
|             { load non-integral sized memory location into register. This | ||||
|              memory location be 1-sizeleft byte sized. | ||||
|              Always assume that this memory area is properly aligned, eg. start | ||||
| @ -529,7 +525,7 @@ begin | ||||
|                 a_reg_dealloc(list, NR_R0); | ||||
|                 a_reg_dealloc(list, NR_R12); | ||||
|               end; | ||||
|               else | ||||
|               else begin | ||||
|                 { still > 8 bytes to load, so load data single register now } | ||||
|                 a_load_ref_reg(list, location^.size, location^.size, tmpref, | ||||
|                   location^.register); | ||||
| @ -537,11 +533,12 @@ begin | ||||
|                  a multiple of the register size beginning with the MSB } | ||||
|                 adjusttail := true; | ||||
|               end; | ||||
|             end; | ||||
|             if (adjusttail) and (sizeleft < tcgsize2size[OS_INT]) then | ||||
|               a_op_const_reg(list, OP_SHL, OS_INT, | ||||
|                 (tcgsize2size[OS_INT] - sizeleft) * tcgsize2size[OS_INT], | ||||
|                 location^.register); | ||||
| 
 | ||||
|           end; | ||||
|         end; | ||||
|       LOC_REFERENCE: | ||||
|         begin | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 tom_at_work
						tom_at_work