aboutsummaryrefslogtreecommitdiffstats
path: root/docs
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
commit41a0785fdd228e1563e606f650cef9b3617ab29e (patch)
treed2af2edf3eb2da3f5490936f7843f1594e3e95e6 /docs
parent3f17ea91e33b4f2566e58307930fd34c4f55c8b4 (diff)
downloadexternal_llvm-41a0785fdd228e1563e606f650cef9b3617ab29e.zip
external_llvm-41a0785fdd228e1563e606f650cef9b3617ab29e.tar.gz
external_llvm-41a0785fdd228e1563e606f650cef9b3617ab29e.tar.bz2
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76385 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/LangRef.html26
1 files changed, 24 insertions, 2 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 44e6fa1..4fb712e 100644
--- a/docs/LangRef.html
+++ b/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