From 63ebc2a1b8571a5ec89503080bc49eae9e06b115 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Wed, 24 Jan 2007 21:53:05 +0000 Subject: [PATCH] * fixed include/exclude for big endian after r6172 git-svn-id: trunk@6179 - --- compiler/defutil.pas | 9 +++++++++ compiler/ncginl.pas | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/compiler/defutil.pas b/compiler/defutil.pas index 9926cf9436..f40cdfbef7 100644 --- a/compiler/defutil.pas +++ b/compiler/defutil.pas @@ -230,6 +230,9 @@ interface {# returns true, if the type passed is a varset } function is_varset(p : tdef) : boolean; + {# returns true if the type passed is a normalset } + function is_normalset(p : tdef) : boolean; + { # returns true if the procdef has no parameters and no specified return type } function is_bareprocdef(pd : tprocdef): boolean; @@ -1023,6 +1026,12 @@ implementation end; + function is_normalset(p : tdef) : boolean; + begin + result:=(p.typ=setdef) and (tsetdef(p).settype = normset); + end; + + function is_bareprocdef(pd : tprocdef): boolean; begin result:=(pd.maxparacount=0) and diff --git a/compiler/ncginl.pas b/compiler/ncginl.pas index d2e11a65dc..0462c5a7c5 100644 --- a/compiler/ncginl.pas +++ b/compiler/ncginl.pas @@ -510,7 +510,8 @@ implementation use_small : boolean; href : treference; begin - if not(is_varset(tcallparanode(left).resultdef)) then + if not(is_varset(tcallparanode(left).resultdef)) and + not(is_normalset(tcallparanode(left).resultdef)) then opsize:=int_cgsize(tcallparanode(left).resultdef.size) else opsize:=OS_32;