netbsd man page for __alignof__

Query: __alignof__

OS: netbsd

Section: 3

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

__ALIGNOF__(3)						   BSD Library Functions Manual 					    __ALIGNOF__(3)

NAME
__alignof__ -- GNU extension for alignment of an object
SYNOPSIS
int __alignof__(void x);
DESCRIPTION
The __alignof__() operator returns the alignment of its operand. The operand can be a type or an expression. If the operand is a 'lvalue', the return value represents the required alignment of the underlying type, not the actual alignment of the specified 'lvalue'. The returned value is specific to the architecture and the ABI. If the architecture does not impose strict alignment requirements, __alignof__() returns the minimum required alignment. If __aligned(3) is used to increase the alignment, __alignof__() returns the specified alignment.
EXAMPLES
The syntax is comparable to the sizeof() operator. If the architecture aligns integers along 32-bit address boundaries, the following should print the value 4. (void)printf("%d ", __alignof__(int)); On the other hand, the following example should print the value 1, even though this is unlikely to be the actual alignment of the structure member. struct align { int x; char y; } a; (void)printf("%d ", __alignof__(a.y));
SEE ALSO
gcc(1), attribute(3), offsetof(3), typeof(3)
CAVEATS
This is a non-standard, compiler-specific extension.
BSD
December 20, 2010 BSD
Related Man Pages
__cacheline_aligned(3) - netbsd
__constfunc(3) - netbsd
__dead(3) - netbsd
__predict_false(3) - netbsd
__section(3) - netbsd
Similar Topics in the Unix Linux Community
Array alignment on HPUX
Need help compiling in C: lvalue required as left operand of assignment
"lvalue required as left operand of assignment" error in C
lvalue question [solved]
Compiler error "lvalue required as left operand of assignment"