This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: MEMBER_TYPE_FORCES_BLK on IA-64/HP-UX
- From: Steve Ellcey <sje at cup dot hp dot com>
- To: wilson at specifixinc dot com, ebotcazou at adacore dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Sun, 3 Jul 2005 09:13:04 -0700 (PDT)
- Subject: Re: MEMBER_TYPE_FORCES_BLK on IA-64/HP-UX
> Steve Ellcey defined MEMBER_TYPE_FORCES_BLK when he first implemented
> the ia64-hpux port. At the time, I mentioned using PARALLELs was a
> better solution, but this was a simpler way for him to get the initial
> port working. Since then, there have been a lot of bug fixes to the
> ia64-hpux support by various people: Steve, Zack, Joseph, etc. Looking
> at the current code, it does appear that all cases are now handled by
> PARALLELs, and that the definition of MEMBER_TYPE_FORCES_BLK no longer
> appears to be necessary.
>
> I don't have an ia64-hpux machine, so there is no easy way for me to
> test this change.
> --
> Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com
I am concerned about the use of MEMBER_TYPE_FORCES_BLK in stor-layout.c.
I believe that, if MEMBER_TYPE_FORCES_BLK is not defined, this code will
change the mode of a structure containing a single field from BLKmode
into the mode of the field. I think this might mess up the parameter
passing of structures that contain a single field, particularly when
that field is smaller than 64 bits, like a single char, an int, or a
float. I would definitely want to check the parameter passing of small
single field structures before removing MEMBER_TYPE_FORCES_BLK on
ia64-hpux.
Steve Ellcey
sje@cup.hp.com