mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 01:31:35 +01:00 
			
		
		
		
	* write parameter refs to ppu (only 1=used; 0=unsed), fixes parameter usage checking of inlined procedures loaded from units
git-svn-id: trunk@21482 -
This commit is contained in:
		
							parent
							
								
									e96dc4204e
								
							
						
					
					
						commit
						31b1678757
					
				| @ -43,7 +43,7 @@ type | |||||||
| {$endif Test_Double_checksum} | {$endif Test_Double_checksum} | ||||||
| 
 | 
 | ||||||
| const | const | ||||||
|   CurrentPPUVersion = 148; |   CurrentPPUVersion = 149; | ||||||
| 
 | 
 | ||||||
| { buffer sizes } | { buffer sizes } | ||||||
|   maxentrysize = 1024; |   maxentrysize = 1024; | ||||||
|  | |||||||
| @ -1833,6 +1833,9 @@ implementation | |||||||
|          } |          } | ||||||
|          varstate:=tvarstate(ppufile.getbyte); |          varstate:=tvarstate(ppufile.getbyte); | ||||||
| 
 | 
 | ||||||
|  |          { read usage info } | ||||||
|  |          refs:=ppufile.getbyte; | ||||||
|  | 
 | ||||||
|          paraloc[calleeside].init; |          paraloc[calleeside].init; | ||||||
|          paraloc[callerside].init; |          paraloc[callerside].init; | ||||||
|          if vo_has_explicit_paraloc in varoptions then |          if vo_has_explicit_paraloc in varoptions then | ||||||
| @ -1863,6 +1866,9 @@ implementation | |||||||
|          oldintfcrc:=ppufile.do_crc; |          oldintfcrc:=ppufile.do_crc; | ||||||
|          ppufile.do_crc:=false; |          ppufile.do_crc:=false; | ||||||
|          ppufile.putbyte(ord(varstate)); |          ppufile.putbyte(ord(varstate)); | ||||||
|  |          { write also info about the usage of parameters, | ||||||
|  |            the absolute usage does not matter } | ||||||
|  |          ppufile.putbyte(min(1,refs)); | ||||||
|          ppufile.do_crc:=oldintfcrc; |          ppufile.do_crc:=oldintfcrc; | ||||||
| 
 | 
 | ||||||
|          if vo_has_explicit_paraloc in varoptions then |          if vo_has_explicit_paraloc in varoptions then | ||||||
|  | |||||||
| @ -2130,6 +2130,7 @@ begin | |||||||
|              writeln(space,'       ParaNr : ',getword); |              writeln(space,'       ParaNr : ',getword); | ||||||
|              writeln(space,'        Univ  : ',boolean(getbyte)); |              writeln(space,'        Univ  : ',boolean(getbyte)); | ||||||
|              writeln(space,'     VarState : ',getbyte); |              writeln(space,'     VarState : ',getbyte); | ||||||
|  |              writeln(space,'         Refs : ',getbyte); | ||||||
|              if (vo_has_explicit_paraloc in varoptions) then |              if (vo_has_explicit_paraloc in varoptions) then | ||||||
|                begin |                begin | ||||||
|                  i:=getbyte; |                  i:=getbyte; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 florian
						florian