From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 771 invoked by alias); 23 Apr 2003 01:07:14 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 759 invoked from network); 23 Apr 2003 01:07:14 -0000 Received: from unknown (HELO vlsi1.ultra.nyu.edu) (128.122.140.213) by sources.redhat.com with SMTP; 23 Apr 2003 01:07:14 -0000 Received: by vlsi1.ultra.nyu.edu (4.1/1.34) id AA11080; Tue, 22 Apr 03 21:11:34 EDT Date: Wed, 23 Apr 2003 02:20:00 -0000 From: kenner@vlsi1.ultra.nyu.edu (Richard Kenner) Message-Id: <10304230111.AA11080@vlsi1.ultra.nyu.edu> To: aoliva@redhat.com Subject: Re: DATA_ALIGNMENT vs. DECL_USER_ALIGNMENT Cc: gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org X-SW-Source: 2003-04/txt/msg01112.txt.bz2 The point is that you're saying it could increase the alignment of an object in spite of a user-specified alignment for its type. You can't tell whether the alignment was defined for interface, space or performance, so a user-specified alignment for a type should be obeyed. As has been discussed, "obeyed" means very different things for types and objects. For types, you must not treat the type as being more aligned. For objects, a more-aligned object is *also* less aligned, so aligning an object more than that of its type is "obeying" the alignment of the type. And we know there are cases (such as minimum alignment on S390) where you *must* increase the alignment of an object from that of its type. So the question is when to supress the an optional increase for objects and I claim the only time should be if there is an alignment specified *for a particular object*.