mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 09:02:22 +01:00 
			
		
		
		
	* When inlining currency (ordinal) multiplication, change resultdef to int64, in order to be consistent with behavior of generic handling. Fixes compilation faliure after r26500, Mantis #25565.
git-svn-id: trunk@26534 -
This commit is contained in:
		
							parent
							
								
									24e9e8a68c
								
							
						
					
					
						commit
						8b3217815b
					
				@ -2642,6 +2642,16 @@ implementation
 | 
			
		||||
          end
 | 
			
		||||
        else
 | 
			
		||||
          begin
 | 
			
		||||
            { can full 64-bit multiplication be handled inline? }
 | 
			
		||||
            if not use_generic_mul64bit then
 | 
			
		||||
              begin
 | 
			
		||||
                { generic handling replaces this node with call to fpc_mul_int64,
 | 
			
		||||
                  whose result is int64 }
 | 
			
		||||
                if is_currency(resultdef) then
 | 
			
		||||
                  resultdef:=s64inttype;
 | 
			
		||||
                exit;
 | 
			
		||||
              end;
 | 
			
		||||
 | 
			
		||||
            { when currency is used set the result of the
 | 
			
		||||
              parameters to s64bit, so they are not converted }
 | 
			
		||||
            if is_currency(resultdef) then
 | 
			
		||||
@ -2650,14 +2660,6 @@ implementation
 | 
			
		||||
                right.resultdef:=s64inttype;
 | 
			
		||||
              end;
 | 
			
		||||
 | 
			
		||||
            { can full 64-bit multiplication be handled inline? }
 | 
			
		||||
            if not use_generic_mul64bit then
 | 
			
		||||
              begin
 | 
			
		||||
                firstpass(left);
 | 
			
		||||
                firstpass(right);
 | 
			
		||||
                exit;
 | 
			
		||||
              end;
 | 
			
		||||
 | 
			
		||||
            { otherwise, create the parameters for the helper }
 | 
			
		||||
            right := ccallparanode.create(
 | 
			
		||||
              cordconstnode.create(ord(cs_check_overflow in current_settings.localswitches),pasbool8type,true),
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user