From 0bc1e7e23baf6bf275590d0e8bfa4da086c8901e Mon Sep 17 00:00:00 2001 From: florian Date: Sat, 5 Nov 2016 23:06:06 +0000 Subject: [PATCH] * "inherit" the nf_internal flag in tinlinenode.getaddsub_for_incdec git-svn-id: trunk@34802 - --- compiler/ninl.pas | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/compiler/ninl.pas b/compiler/ninl.pas index ae913ffb24..12c7cd4f76 100644 --- a/compiler/ninl.pas +++ b/compiler/ninl.pas @@ -3938,22 +3938,40 @@ implementation hpp := caddnode.create_internal(addn,hp,hpp) else hpp := caddnode.create_internal(subn,hp,hpp); + { assign result of addition } + + { inherit internal flag } if not(is_integer(resultnode.resultdef)) then - inserttypeconv(hpp,corddef.create( + begin + if nf_internal in flags then + inserttypeconv_internal(hpp,corddef.create( {$ifdef cpu64bitaddr} - s64bit, + s64bit, {$else cpu64bitaddr} - s32bit, + s32bit, {$endif cpu64bitaddr} - get_min_value(resultnode.resultdef), - get_max_value(resultnode.resultdef), - true)) + get_min_value(resultnode.resultdef), + get_max_value(resultnode.resultdef), + true)) + else + inserttypeconv(hpp,corddef.create( +{$ifdef cpu64bitaddr} + s64bit, +{$else cpu64bitaddr} + s32bit, +{$endif cpu64bitaddr} + get_min_value(resultnode.resultdef), + get_max_value(resultnode.resultdef), + true)) + end else - if nf_internal in flags then - inserttypeconv_internal(hpp,resultnode.resultdef) - else - inserttypeconv(hpp,resultnode.resultdef); + begin + if nf_internal in flags then + inserttypeconv_internal(hpp,resultnode.resultdef) + else + inserttypeconv(hpp,resultnode.resultdef); + end; { avoid any possible warnings } inserttypeconv_internal(hpp,resultnode.resultdef);