X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Falignof.h;h=74e35aa9d122ca548a86903e0e08844a254f97f2;hb=844a4da8483610b921cb017679848ceaf47a7b2e;hp=24f4bc9b4c5004e1584af0d5fb293b201887b5bd;hpb=d60f3b0c6b0f93a601acd1cfd3923f94ca05abb0;p=gnulib.git diff --git a/lib/alignof.h b/lib/alignof.h index 24f4bc9b4..74e35aa9d 100644 --- a/lib/alignof.h +++ b/lib/alignof.h @@ -1,5 +1,5 @@ /* Determine alignment of types. - Copyright (C) 2003-2004, 2006, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 2003-2004, 2006, 2009-2012 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,16 +12,18 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + along with this program; if not, see . */ #ifndef _ALIGNOF_H #define _ALIGNOF_H #include -/* Determine the alignment of a structure slot (field) of a given type, +/* alignof_slot (TYPE) + Determine the alignment of a structure slot (field) of a given type, at compile time. Note that the result depends on the ABI. + This is the same as alignof (TYPE) and _Alignof (TYPE), defined in + if __alignof_is_defined is 1. Note: The result cannot be used as a value for an 'enum' constant, due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ #if defined __cplusplus @@ -31,7 +33,8 @@ # define alignof_slot(type) offsetof (struct { char __slot1; type __slot2; }, __slot2) #endif -/* Determine the good alignment of a object of the given type at compile time. +/* alignof_type (TYPE) + Determine the good alignment of an object of the given type at compile time. Note that this is not necessarily the same as alignof_slot(type). For example, with GNU C on x86 platforms: alignof_type(double) = 8, but - when -malign-double is not specified: alignof_slot(double) = 4, @@ -44,10 +47,4 @@ # define alignof_type alignof_slot #endif -/* alignof is an alias for alignof_slot semantics, since that's what most - callers need. - Note: The result cannot be used as a value for an 'enum' constant, - due to bugs in HP-UX 10.20 cc and AIX 3.2.5 xlc. */ -#define alignof alignof_slot - #endif /* _ALIGNOF_H */