mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 09:32:00 +01:00 
			
		
		
		
	* pass all const record parameters on aarch64-win64 as references due to the habit of passing records as pointers by using the const modifier in the Windows unit
This commit is contained in:
		
							parent
							
								
									57fd8f13c9
								
							
						
					
					
						commit
						0430e1bd1a
					
				| @ -179,10 +179,15 @@ unit cpupara; | |||||||
|             { ABI: any composite > 16 bytes that not a hfa/hva |             { ABI: any composite > 16 bytes that not a hfa/hva | ||||||
|               Special case: MWPascal, which passes all const parameters by |               Special case: MWPascal, which passes all const parameters by | ||||||
|                 reference for compatibility reasons |                 reference for compatibility reasons | ||||||
|             } |               Special case 2: on Windows we need to pass all const records by | ||||||
|  |                 reference due to the Windows unit (ab)using const to pass | ||||||
|  |                 pointer parameters } | ||||||
|             result:= |             result:= | ||||||
|               ((varspez=vs_const) and |               ((varspez=vs_const) and | ||||||
|                (calloption=pocall_mwpascal)) or |                ( | ||||||
|  |                  (calloption=pocall_mwpascal) or | ||||||
|  |                  (target_info.system=system_aarch64_win64) | ||||||
|  |                )) or | ||||||
|               (not is_hfa(def,hfabasedef) and |               (not is_hfa(def,hfabasedef) and | ||||||
|                (def.size>16)); |                (def.size>16)); | ||||||
|           variantdef, |           variantdef, | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Sven/Sarah Barth
						Sven/Sarah Barth