From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20121 invoked by alias); 10 Apr 2003 21:10:53 -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 20106 invoked from network); 10 Apr 2003 21:10:53 -0000 Received: from unknown (HELO vlsi1.ultra.nyu.edu) (128.122.140.213) by sources.redhat.com with SMTP; 10 Apr 2003 21:10:53 -0000 Received: by vlsi1.ultra.nyu.edu (4.1/1.34) id AA02800; Thu, 10 Apr 03 17:14:59 EDT Date: Thu, 10 Apr 2003 21:31:00 -0000 From: kenner@vlsi1.ultra.nyu.edu (Richard Kenner) Message-Id: <10304102114.AA02800@vlsi1.ultra.nyu.edu> To: dje@watson.ibm.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/msg00467.txt.bz2 Yes, the type can have greater alignment. However type normally does imply a minimum alignment and minimum size. Specifying user alignment for a well-defined type seems redundant. You lost me. If I have a record of two 16-bit fields, the natural alignment of that type is 16 bits. However, the user is allowed to specify an alignment of 32 bits for the type. I'm not sure what your second sentence means, but it is indeed true that the compiler cannot change the alignment of a type since it bounds it in both directions: it gives the minimum alignment that an object of that type created by the compiler is guaranteed to have, but it also gives the *maximum* alignment that the compiler is allowed to assume that a user-created object of that type will have.