extend.texi (Common Variable Attributes): Document alias attribute.

gcc/ChangeLog:

	* doc/extend.texi (Common Variable Attributes): Document alias
	attribute.

From-SVN: r274127
This commit is contained in:
Martin Sebor 2019-08-05 22:40:49 +00:00 committed by Martin Sebor
parent f9d0ca4043
commit 75720b3e45
2 changed files with 32 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2019-08-05 Martin Sebor <msebor@redhat.com>
* doc/extend.texi (Common Variable Attributes): Document alias
attribute.
2019-08-05 Marek Polacek <polacek@redhat.com>
PR c++/91338 - Implement P1161R3: Deprecate a[b,c].

View File

@ -6719,6 +6719,33 @@ attributes.
The following attributes are supported on most targets.
@table @code
@item alias ("@var{target}")
@cindex @code{alias} variable attribute
The @code{alias} variable attribute causes the declaration to be emitted
as an alias for another symbol known as an @dfn{alias target}. Except
for top-level qualifiers the alias target must have the same type as
the alias. For instance, the following
@smallexample
int var_target;
extern int __attribute__ ((alias ("var_target"))) var_alias;
@end smallexample
@noindent
defines @code{var_alias} to be an alias for the @code{var_target} variable.
It is an error if the alias target is not defined in the same translation
unit as the alias.
Note that in the absence of the attribute GCC assumes that distinct
declarations with external linkage denote distinct objects. Using both
the alias and the alias target to access the same object is undefined
in a translation unit without a declaration of the alias with the attribute.
This attribute requires assembler and object file support, and may not be
available on all targets.
@cindex @code{aligned} variable attribute
@item aligned
@itemx aligned (@var{alignment})