diff options
author | Bob Wilson <bob.wilson@apple.com> | 2014-06-12 20:40:33 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2014-06-12 20:40:33 +0000 |
commit | 4cea00282fe0a94b9f7d057fe084f4a6a84ca265 (patch) | |
tree | ccf665ed30aaf2b685487b71c7bea8f60505fce4 /docs | |
parent | c7147a3b6d63bba3dfac29e446847e69956a3f90 (diff) | |
download | llvm-4cea00282fe0a94b9f7d057fe084f4a6a84ca265.tar.gz llvm-4cea00282fe0a94b9f7d057fe084f4a6a84ca265.tar.bz2 llvm-4cea00282fe0a94b9f7d057fe084f4a6a84ca265.tar.xz |
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
Diffstat (limited to 'docs')
-rw-r--r-- | docs/LangRef.rst | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/docs/LangRef.rst b/docs/LangRef.rst index 434bcbe665..ee95cb9f85 100644 --- a/docs/LangRef.rst +++ b/docs/LangRef.rst @@ -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: |