mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 12:39:38 +01:00 
			
		
		
		
	* use tcgpara.def instead of extra size parameters
git-svn-id: trunk@21694 -
This commit is contained in:
		
							parent
							
								
									c3ea451aea
								
							
						
					
					
						commit
						325c60866f
					
				@ -150,7 +150,7 @@ unit hlcg2ll;
 | 
				
			|||||||
             @param(tosize type of the pointer that we get as a result)
 | 
					             @param(tosize type of the pointer that we get as a result)
 | 
				
			||||||
             @param(r reference to get address from)
 | 
					             @param(r reference to get address from)
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          procedure a_loadaddr_ref_cgpara(list : TAsmList;fromsize, tosize : tdef;const r : treference;const cgpara : TCGPara);override;
 | 
					          procedure a_loadaddr_ref_cgpara(list : TAsmList;fromsize : tdef;const r : treference;const cgpara : TCGPara);override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          procedure a_call_name(list : TAsmList;pd : tprocdef;const s : TSymStr; weak: boolean);override;
 | 
					          procedure a_call_name(list : TAsmList;pd : tprocdef;const s : TSymStr; weak: boolean);override;
 | 
				
			||||||
          procedure a_call_reg(list : TAsmList;pd : tabstractprocdef;reg : tregister);override;
 | 
					          procedure a_call_reg(list : TAsmList;pd : tabstractprocdef;reg : tregister);override;
 | 
				
			||||||
@ -470,7 +470,7 @@ implementation
 | 
				
			|||||||
      cg.a_load_loc_cgpara(list,l,cgpara);
 | 
					      cg.a_load_loc_cgpara(list,l,cgpara);
 | 
				
			||||||
    end;
 | 
					    end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  procedure thlcg2ll.a_loadaddr_ref_cgpara(list: TAsmList; fromsize, tosize: tdef; const r: treference; const cgpara: TCGPara);
 | 
					  procedure thlcg2ll.a_loadaddr_ref_cgpara(list: TAsmList; fromsize: tdef; const r: treference; const cgpara: TCGPara);
 | 
				
			||||||
    begin
 | 
					    begin
 | 
				
			||||||
      cg.a_loadaddr_ref_cgpara(list,r,cgpara);
 | 
					      cg.a_loadaddr_ref_cgpara(list,r,cgpara);
 | 
				
			||||||
    end;
 | 
					    end;
 | 
				
			||||||
 | 
				
			|||||||
@ -161,7 +161,7 @@ unit hlcgobj;
 | 
				
			|||||||
             @param(tosize type of the pointer that we get as a result)
 | 
					             @param(tosize type of the pointer that we get as a result)
 | 
				
			||||||
             @param(r reference to get address from)
 | 
					             @param(r reference to get address from)
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          procedure a_loadaddr_ref_cgpara(list : TAsmList;fromsize, tosize : tdef;const r : treference;const cgpara : TCGPara);virtual;
 | 
					          procedure a_loadaddr_ref_cgpara(list : TAsmList;fromsize : tdef;const r : treference;const cgpara : TCGPara);virtual;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          { Remarks:
 | 
					          { Remarks:
 | 
				
			||||||
            * If a method specifies a size you have only to take care
 | 
					            * If a method specifies a size you have only to take care
 | 
				
			||||||
@ -731,8 +731,8 @@ implementation
 | 
				
			|||||||
         LOC_FPUREGISTER,LOC_CFPUREGISTER:
 | 
					         LOC_FPUREGISTER,LOC_CFPUREGISTER:
 | 
				
			||||||
           begin
 | 
					           begin
 | 
				
			||||||
             tg.gethltemp(list,size,size.size,tt_normal,ref);
 | 
					             tg.gethltemp(list,size,size.size,tt_normal,ref);
 | 
				
			||||||
             a_load_reg_ref(list,size,size,r,ref);
 | 
					             a_load_reg_ref(list,size,cgpara.def,r,ref);
 | 
				
			||||||
             a_loadfpu_ref_cgpara(list,size,ref,cgpara);
 | 
					             a_loadfpu_ref_cgpara(list,cgpara.def,ref,cgpara);
 | 
				
			||||||
             tg.ungettemp(list,ref);
 | 
					             tg.ungettemp(list,ref);
 | 
				
			||||||
           end
 | 
					           end
 | 
				
			||||||
         else
 | 
					         else
 | 
				
			||||||
@ -810,7 +810,7 @@ implementation
 | 
				
			|||||||
      end;
 | 
					      end;
 | 
				
			||||||
    end;
 | 
					    end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  procedure thlcgobj.a_loadaddr_ref_cgpara(list: TAsmList; fromsize, tosize: tdef; const r: treference; const cgpara: TCGPara);
 | 
					  procedure thlcgobj.a_loadaddr_ref_cgpara(list: TAsmList; fromsize: tdef; const r: treference; const cgpara: TCGPara);
 | 
				
			||||||
    var
 | 
					    var
 | 
				
			||||||
       hr : tregister;
 | 
					       hr : tregister;
 | 
				
			||||||
    begin
 | 
					    begin
 | 
				
			||||||
@ -818,13 +818,13 @@ implementation
 | 
				
			|||||||
       if cgpara.location^.loc in [LOC_CREGISTER,LOC_REGISTER] then
 | 
					       if cgpara.location^.loc in [LOC_CREGISTER,LOC_REGISTER] then
 | 
				
			||||||
         begin
 | 
					         begin
 | 
				
			||||||
           paramanager.allocparaloc(list,cgpara.location);
 | 
					           paramanager.allocparaloc(list,cgpara.location);
 | 
				
			||||||
           a_loadaddr_ref_reg(list,fromsize,tosize,r,cgpara.location^.register)
 | 
					           a_loadaddr_ref_reg(list,fromsize,cgpara.def,r,cgpara.location^.register)
 | 
				
			||||||
         end
 | 
					         end
 | 
				
			||||||
       else
 | 
					       else
 | 
				
			||||||
         begin
 | 
					         begin
 | 
				
			||||||
           hr:=getaddressregister(list,tosize);
 | 
					           hr:=getaddressregister(list,cgpara.def);
 | 
				
			||||||
           a_loadaddr_ref_reg(list,fromsize,tosize,r,hr);
 | 
					           a_loadaddr_ref_reg(list,fromsize,cgpara.def,r,hr);
 | 
				
			||||||
           a_load_reg_cgpara(list,tosize,hr,cgpara);
 | 
					           a_load_reg_cgpara(list,cgpara.def,hr,cgpara);
 | 
				
			||||||
         end;
 | 
					         end;
 | 
				
			||||||
    end;
 | 
					    end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -133,7 +133,7 @@ implementation
 | 
				
			|||||||
      begin
 | 
					      begin
 | 
				
			||||||
        if not(left.location.loc in [LOC_CREFERENCE,LOC_REFERENCE]) then
 | 
					        if not(left.location.loc in [LOC_CREFERENCE,LOC_REFERENCE]) then
 | 
				
			||||||
          internalerror(200304235);
 | 
					          internalerror(200304235);
 | 
				
			||||||
        hlcg.a_loadaddr_ref_cgpara(current_asmdata.CurrAsmList,left.resultdef,tempcgpara.def,left.location.reference,tempcgpara);
 | 
					        hlcg.a_loadaddr_ref_cgpara(current_asmdata.CurrAsmList,left.resultdef,left.location.reference,tempcgpara);
 | 
				
			||||||
      end;
 | 
					      end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user