From: Bob Wilson Date: Thu, 12 Jun 2014 20:40:33 +0000 (+0000) Subject: LangRef: clarify that global declarations can have section and alignment info. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=4cea00282fe0a94b9f7d057fe084f4a6a84ca265;p=oota-llvm.git 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 --- diff --git a/docs/LangRef.rst b/docs/LangRef.rst index 434bcbe6655..ee95cb9f850 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:: [@ =] [Linkage] [Visibility] [DLLStorageClass] [ThreadLocal] [unnamed_addr] [AddrSpace] [ExternallyInitialized] - [ - [, section "name"] [, align ]] + [] + [, section "name"] [, align ] For example, the following defines a global in a numbered address space with an initializer, section, and alignment: