mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-28 22:20:43 +00:00
LangRef: clarify that global declarations can have section and alignment info.
I'm not sure what it means to set a section for a declaration in another translation unit, but there are some tests in the tree that do it so it seems to be legal now regardless. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210819 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c7147a3b6d
commit
4cea00282f
@ -519,12 +519,14 @@ Global Variables
|
||||
Global variables define regions of memory allocated at compilation time
|
||||
instead of run-time.
|
||||
|
||||
Global variables definitions must be initialized, may have an explicit section
|
||||
to be placed in, and may have an optional explicit alignment specified.
|
||||
Global variables definitions must be initialized.
|
||||
|
||||
Global variables in other translation units can also be declared, in which
|
||||
case they don't have an initializer.
|
||||
|
||||
Either global variable definitions or declarations may have an explicit section
|
||||
to be placed in and may have an optional explicit alignment specified.
|
||||
|
||||
A variable may be defined as a global ``constant``, which indicates that
|
||||
the contents of the variable will **never** be modified (enabling better
|
||||
optimization, allowing the global data to be placed in the read-only
|
||||
@ -589,8 +591,8 @@ Syntax::
|
||||
|
||||
[@<GlobalVarName> =] [Linkage] [Visibility] [DLLStorageClass] [ThreadLocal]
|
||||
[unnamed_addr] [AddrSpace] [ExternallyInitialized]
|
||||
<global | constant> <Type> [<InitializerConstant>
|
||||
[, section "name"] [, align <Alignment>]]
|
||||
<global | constant> <Type> [<InitializerConstant>]
|
||||
[, section "name"] [, align <Alignment>]
|
||||
|
||||
For example, the following defines a global in a numbered address space
|
||||
with an initializer, section, and alignment:
|
||||
|
Loading…
Reference in New Issue
Block a user