LangRef: clarify that global declarations can have section and alignment info.
authorBob Wilson <bob.wilson@apple.com>
Thu, 12 Jun 2014 20:40:33 +0000 (20:40 +0000)
committerBob Wilson <bob.wilson@apple.com>
Thu, 12 Jun 2014 20:40:33 +0000 (20:40 +0000)
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

docs/LangRef.rst

index 434bcbe6655c9a9c9256cc9a287420bb01b78283..ee95cb9f850a9a31c58656eb12b8336d71468680 100644 (file)
@@ -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: