Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
905e8651
Commit
905e8651
authored
May 05, 2003
by
Richard Henderson
Committed by
Richard Henderson
May 05, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* doc/extend.texi (Variable Attributes): Re-sort table and tidy.
From-SVN: r66510
parent
e8115463
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
66 additions
and
57 deletions
+66
-57
gcc/ChangeLog
+4
-0
gcc/doc/extend.texi
+62
-57
No files found.
gcc/ChangeLog
View file @
905e8651
2003-05-05 Richard Henderson <rth@redhat.com>
* doc/extend.texi (Variable Attributes): Re-sort table and tidy.
2003-05-05 David O'Brien <obrien@FreeBSD.org>
2003-05-05 David O'Brien <obrien@FreeBSD.org>
* config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
* config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
...
...
gcc/doc/extend.texi
View file @
905e8651
...
@@ -2367,15 +2367,6 @@ since it is known that the calling function loaded the correct value.
...
@@ -2367,15 +2367,6 @@ since it is known that the calling function loaded the correct value.
Not
all
ELF
targets
support
this
attribute
.
Not
all
ELF
targets
support
this
attribute
.
@
item
tls_model
(
"@var{tls_model}"
)
@
cindex
@
code
{
tls_model
}
attribute
The
@
code
{
tls_model
}
attribute
sets
thread
-
local
storage
model
(@
pxref
{
Thread
-
Local
})
of
a
particular
@
code
{
__thread
}
variable
,
overriding
@
code
{-
ftls
-
model
=}
command
line
switch
on
a
per
-
variable
basis
.
The
@
var
{
tls_model
}
argument
should
be
one
of
@
code
{
global
-
dynamic
},
@
code
{
local
-
dynamic
},
@
code
{
initial
-
exec
}
or
@
code
{
local
-
exec
}.
@
item
regparm
(@
var
{
number
})
@
item
regparm
(@
var
{
number
})
@
cindex
functions
that
are
passed
arguments
in
registers
on
the
386
@
cindex
functions
that
are
passed
arguments
in
registers
on
the
386
On
the
Intel
386
,
the
@
code
{
regparm
}
attribute
causes
the
compiler
to
On
the
Intel
386
,
the
@
code
{
regparm
}
attribute
causes
the
compiler
to
...
@@ -2958,15 +2949,13 @@ It is an error to ask for the alignment of an incomplete type.
...
@@ -2958,15 +2949,13 @@ It is an error to ask for the alignment of an incomplete type.
The keyword @code{__attribute__} allows you to specify special
The keyword @code{__attribute__} allows you to specify special
attributes of variables or structure fields. This keyword is followed
attributes of variables or structure fields. This keyword is followed
by an attribute specification inside double parentheses. Ten
by an attribute specification inside double parentheses. Some
attributes are currently defined for variables: @code{aligned},
attributes are currently defined generically for variables.
@code{mode}, @code{nocommon}, @code{packed}, @code{section},
Other attributes are defined for variables on particular target
@code{transparent_union}, @code{unused}, @code{deprecated},
systems. Other attributes are available for functions
@code{vector_size}, and @code{weak}. Some other attributes are defined
(@pxref{Function Attributes}) and for types (@pxref{Type Attributes}).
for variables on particular target systems. Other attributes are
Other front ends might define more attributes
available for functions (@pxref{Function Attributes}) and for types
(@pxref{C++ Extensions,,Extensions to the C++ Language}).
(@pxref{Type Attributes}). Other front ends might define more
attributes (@pxref{C++ Extensions,,Extensions to the C++ Language}).
You may also specify attributes with @samp{__} preceding and following
You may also specify attributes with @samp{__} preceding and following
each keyword. This allows you to use them in header files without
each keyword. This allows you to use them in header files without
...
@@ -3034,6 +3023,40 @@ up to a maximum of 8 byte alignment, then specifying @code{aligned(16)}
...
@@ -3034,6 +3023,40 @@ up to a maximum of 8 byte alignment, then specifying @code{aligned(16)}
in an @code{__attribute__} will still only provide you with 8 byte
in an @code{__attribute__} will still only provide you with 8 byte
alignment. See your linker documentation for further information.
alignment. See your linker documentation for further information.
@item common
@itemx nocommon
@cindex @code{common} attribute
@cindex @code{nocommon} attribute
@opindex fcommon
@opindex fno-common
The @code{common} attribute requests GCC to place a variable in
``common'' storage. The @code{nocommon} attribute requests the
opposite -- to allocate space for it directly.
These attributes override the default chosen by the
@option{-fno-common} and @option{-fcommon} flags respectively.
@item deprecated
@cindex @code{deprecated} attribute
The @code{deprecated} attribute results in a warning if the variable
is used anywhere in the source file. This is useful when identifying
variables that are expected to be removed in a future version of a
program. The warning also includes the location of the declaration
of the deprecated variable, to enable users to easily find further
information about why the variable is deprecated, or what they should
do instead. Note that the warnings only occurs for uses:
@smallexample
extern int old_var __attribute__ ((deprecated));
extern int old_var;
int new_fn () @{ return old_var; @}
@end smallexample
results in a warning on line 3 but not line 2.
The @code{deprecated} attribute can also be used for functions and
types (@pxref{Function Attributes}, @pxref{Type Attributes}.)
@item mode (@var{mode})
@item mode (@var{mode})
@cindex @code{mode} attribute
@cindex @code{mode} attribute
This attribute specifies the data type for the declaration---whichever
This attribute specifies the data type for the declaration---whichever
...
@@ -3045,18 +3068,6 @@ indicate the mode corresponding to a one-byte integer, @samp{word} or
...
@@ -3045,18 +3068,6 @@ indicate the mode corresponding to a one-byte integer, @samp{word} or
@samp{__word__} for the mode of a one-word integer, and @samp{pointer}
@samp{__word__} for the mode of a one-word integer, and @samp{pointer}
or @samp{__pointer__} for the mode used to represent pointers.
or @samp{__pointer__} for the mode used to represent pointers.
@item nocommon
@cindex @code{nocommon} attribute
@opindex fno-common
This attribute specifies requests GCC not to place a variable
``common'' but instead to allocate space for it directly. If you
specify the @option{-fno-common} flag, GCC will do this for all
variables.
Specifying the @code{nocommon} attribute for a variable provides an
initialization of zeros. A variable may only be initialized in one
source file.
@item packed
@item packed
@cindex @code{packed} attribute
@cindex @code{packed} attribute
The @code{packed} attribute specifies that a variable or structure field
The @code{packed} attribute specifies that a variable or structure field
...
@@ -3150,6 +3161,17 @@ linkers work. See @code{section} attribute for more information.
...
@@ -3150,6 +3161,17 @@ linkers work. See @code{section} attribute for more information.
The @code{shared} attribute is only available on Windows NT@.
The @code{shared} attribute is only available on Windows NT@.
@item tls_model ("@var{tls_model}")
@cindex @code{tls_model} attribute
The @code{tls_model} attribute sets thread-local storage model
(@pxref{Thread-Local}) of a particular @code{__thread} variable,
overriding @code{-ftls-model=} command line switch on a per-variable
basis.
The @var{tls_model} argument should be one of @code{global-dynamic},
@code{local-dynamic}, @code{initial-exec} or @code{local-exec}.
Not all targets support this attribute.
@item transparent_union
@item transparent_union
This attribute, attached to a function parameter which is a union, means
This attribute, attached to a function parameter which is a union, means
that the corresponding argument may have the type of any union member,
that the corresponding argument may have the type of any union member,
...
@@ -3163,26 +3185,6 @@ This attribute, attached to a variable, means that the variable is meant
...
@@ -3163,26 +3185,6 @@ This attribute, attached to a variable, means that the variable is meant
to be possibly unused. GCC will not produce a warning for this
to be possibly unused. GCC will not produce a warning for this
variable.
variable.
@item deprecated
The @code{deprecated} attribute results in a warning if the variable
is used anywhere in the source file. This is useful when identifying
variables that are expected to be removed in a future version of a
program. The warning also includes the location of the declaration
of the deprecated variable, to enable users to easily find further
information about why the variable is deprecated, or what they should
do instead. Note that the warnings only occurs for uses:
@smallexample
extern int old_var __attribute__ ((deprecated));
extern int old_var;
int new_fn () @{ return old_var; @}
@end smallexample
results in a warning on line 3 but not line 2.
The @code{deprecated} attribute can also be used for functions and
types (@pxref{Function Attributes}, @pxref{Type Attributes}.)
@item vector_size (@var{bytes})
@item vector_size (@var{bytes})
This attribute specifies the vector size for the variable, measured in
This attribute specifies the vector size for the variable, measured in
bytes. For example, the declaration:
bytes. For example, the declaration:
...
@@ -3214,7 +3216,13 @@ the @code{int}.
...
@@ -3214,7 +3216,13 @@ the @code{int}.
@item weak
@item weak
The @code{weak} attribute is described in @xref{Function Attributes}.
The @code{weak} attribute is described in @xref{Function Attributes}.
@end table
@subsection M32R/D Variable Attributes
One attribute is currently defined for the M32R/D.
@table @code
@item model (@var{model-name})
@item model (@var{model-name})
@cindex variable addressability on the M32R/D
@cindex variable addressability on the M32R/D
Use this attribute on the M32R/D to set the addressability of an object.
Use this attribute on the M32R/D to set the addressability of an object.
...
@@ -3227,16 +3235,18 @@ addresses can be loaded with the @code{ld24} instruction).
...
@@ -3227,16 +3235,18 @@ addresses can be loaded with the @code{ld24} instruction).
Medium and large model objects may live anywhere in the 32-bit address space
Medium and large model objects may live anywhere in the 32-bit address space
(the compiler will generate @code{seth/add3} instructions to load their
(the compiler will generate @code{seth/add3} instructions to load their
addresses).
addresses).
@end table
@subsection i386 Variable Attributes
@subsection i386 Variable Attributes
Two attributes are currently defined for i386 configurations:
Two attributes are currently defined for i386 configurations:
@code{ms_struct} and @code{gcc_struct}
@code{ms_struct} and @code{gcc_struct}
@table @code
@item ms_struct
@item ms_struct
@itemx gcc_struct
@itemx gcc_struct
@cindex @code{ms_struct}
@cindex @code{ms_struct}
attribute
@cindex @code{gcc_struct}
@cindex @code{gcc_struct}
attribute
If @code{packed} is used on a structure, or if bit-fields are used
If @code{packed} is used on a structure, or if bit-fields are used
it may be that the Microsoft ABI packs them differently
it may be that the Microsoft ABI packs them differently
...
@@ -3247,13 +3257,8 @@ either format.
...
@@ -3247,13 +3257,8 @@ either format.
Currently @option{-m[no-]ms-bitfields} is provided for the Windows X86
Currently @option{-m[no-]ms-bitfields} is provided for the Windows X86
compilers to match the native Microsoft compiler.
compilers to match the native Microsoft compiler.
@end table
@end table
To specify multiple attributes, separate them by commas within the
double parentheses: for example, @samp{__attribute__ ((aligned (16),
packed))}.
@node Type Attributes
@node Type Attributes
@section Specifying Attributes of Types
@section Specifying Attributes of Types
@cindex attribute of types
@cindex attribute of types
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment