.\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .TH gnu::aligned 3attr 2025-06-28 "Linux man-pages 6.15" .SH NAME gnu::aligned \- set alignment of an object .SH SYNOPSIS .nf .BI [[gnu::aligned( alignment )]] .B [[gnu::aligned]] .fi .SH DESCRIPTION This attribute can be applied to a type or a variable, and sets its .I alignment in bytes. .P If the .I alignment is not specified, the maximum alignment is used. This is equivalent to .P .in +4n .EX [[gnu::aligned(alignof(max_align_t))]] .EE .in .SH VERSIONS .TP .BI __attribute__((aligned( alignment ))) .TP .BI __declspec(align( alignment )) .P C11 provides the .BR _Alignas () type specifier, which has similar semantics. .SH STANDARDS GNU. .SH HISTORY gcc, g++, clang 11, clang++ 2.8.0. .SH CAVEATS This attribute can increase the natural alignment of a type, but it can't decrease it. .P The linker may limit the maximum alignment that can be applied.