summaryrefslogtreecommitdiffstats
path: root/llvm/docs/LangRef.html
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-07-20 01:03:30 +0000
committerBill Wendling <isanbard@gmail.com>2009-07-20 01:03:30 +0000
commita3c6f6bffaabc3e514cd9e46d16c5f9d93c6b4af (patch)
tree786729b22c11a5594587611ce98238d93cfe473c /llvm/docs/LangRef.html
parent88f35c870b71eeb6b58da955007d2c3b5dc0cd00 (diff)
downloadbcm5719-llvm-a3c6f6bffaabc3e514cd9e46d16c5f9d93c6b4af.tar.gz
bcm5719-llvm-a3c6f6bffaabc3e514cd9e46d16c5f9d93c6b4af.zip
Add plumbing for the `linker_private' linkage type. This type is meant for
"private" symbols which the assember shouldn't strip, but which the linker may remove after evaluation. This is mostly useful for Objective-C metadata. This is plumbing, so we don't have a use of it yet. More to come, etc. llvm-svn: 76385
Diffstat (limited to 'llvm/docs/LangRef.html')
-rw-r--r--llvm/docs/LangRef.html26
1 files changed, 24 insertions, 2 deletions
diff --git a/llvm/docs/LangRef.html b/llvm/docs/LangRef.html
index 44e6fa126e0..4fb712ee3bb 100644
--- a/llvm/docs/LangRef.html
+++ b/llvm/docs/LangRef.html
@@ -20,7 +20,24 @@
<li><a href="#highlevel">High Level Structure</a>
<ol>
<li><a href="#modulestructure">Module Structure</a></li>
- <li><a href="#linkage">Linkage Types</a></li>
+ <li><a href="#linkage">Linkage Types</a>
+ <ol>
+ <li><a href="#linkage_private">private</a></li>
+ <li><a href="#linkage_linker_private">linker_private</a></li>
+ <li><a href="#linkage_internal">internal</a></li>
+ <li><a href="#linkage_available_externally">available_externally</a></li>
+ <li><a href="#linkage_linkonce">linkonce</a></li>
+ <li><a href="#linkage_common">common</a></li>
+ <li><a href="#linkage_weak">weak</a></li>
+ <li><a href="#linkage_appending">appending</a></li>
+ <li><a href="#linkage_externweak">extern_weak</a></li>
+ <li><a href="#linkage_linkonce">linkonce_odr</a></li>
+ <li><a href="#linkage_weak">weak_odr</a></li>
+ <li><a href="#linkage_external">externally visible</a></li>
+ <li><a href="#linkage_dllimport">dllimport</a></li>
+ <li><a href="#linkage_dllexport">dllexport</a></li>
+ </ol>
+ </li>
<li><a href="#callingconv">Calling Conventions</a></li>
<li><a href="#namedtypes">Named Types</a></li>
<li><a href="#globalvars">Global Variables</a></li>
@@ -502,6 +519,11 @@ All Global Variables and Functions have one of the following types of linkage:
object file.
</dd>
+ <dt><tt><b><a name="linkage_linker_private">linker_private</a></b></tt>: </dt>
+
+ <dd>Similar to private, but the symbol is passed through the assembler and
+ removed by the linker after evaluation.</dd>
+
<dt><tt><b><a name="linkage_internal">internal</a></b></tt>: </dt>
<dd> Similar to private, but the value shows as a local symbol (STB_LOCAL in
@@ -509,7 +531,7 @@ All Global Variables and Functions have one of the following types of linkage:
'<tt>static</tt>' keyword in C.
</dd>
- <dt><tt><b><a name="available_externally">available_externally</a></b></tt>:
+ <dt><tt><b><a name="linkage_available_externally">available_externally</a></b></tt>:
</dt>
<dd>Globals with "<tt>available_externally</tt>" linkage are never emitted
OpenPOWER on IntegriCloud