[PATCH] D36712: Emit section information for extern variables
Erich Keane via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 22 08:31:58 PDT 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL311459: Emit section information for extern variables (authored by erichkeane).
Changed prior to commit:
@@ -579,7 +579,9 @@
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.
+to be placed in and may have an optional explicit alignment specified. If there
+is a mismatch between the explicit or inferred section information for the
+variable declaration and its definition the resulting behavior is undefined.
A variable may be defined as a global ``constant``, which indicates that
the contents of the variable will **never** be modified (enabling better
@@ -622,6 +624,12 @@
Additionally, the global can placed in a comdat if the target has the necessary
+External declarations may have an explicit section specified. Section
+information is retained in LLVM IR for targets that make use of this
+information. Attaching section information to an external declaration is an
+assertion that its definition is located in the specified section. If the
+definition is located in a different section, the behavior is undefined.
By default, global initializers are optimized by assuming that global
variables defined within the module are not modified from their
initial values before the start of the global initializer. This is
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1462 bytes
Desc: not available
More information about the cfe-commits