aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2009-03-11 08:08:06 +0000
committerDuncan Sands <baldrick@free.fr>2009-03-11 08:08:06 +0000
commit5f4ee1fc5d00ae55c30fa2ce450c69be4c6d6e63 (patch)
tree524f8864fae13a926989fb2edb5d72e0dc180dbe /docs
parent841c6a4345082e9a1252cc39bcce7f1423a76ded (diff)
downloadexternal_llvm-5f4ee1fc5d00ae55c30fa2ce450c69be4c6d6e63.zip
external_llvm-5f4ee1fc5d00ae55c30fa2ce450c69be4c6d6e63.tar.gz
external_llvm-5f4ee1fc5d00ae55c30fa2ce450c69be4c6d6e63.tar.bz2
Remove the one-definition-rule version of extern_weak
linkage: this linkage type only applies to declarations, but ODR is only relevant to globals with definitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66650 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/LangRef.html12
1 files changed, 5 insertions, 7 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 6b7038d..c698e8a 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -554,15 +554,13 @@ All Global Variables and Functions have one of the following types of linkage:
<dt><tt><b><a name="linkage_linkonce">linkonce_odr</a></b></tt>: </dt>
<dt><tt><b><a name="linkage_common">common_odr</a></b></tt>: </dt>
<dt><tt><b><a name="linkage_weak">weak_odr</a></b></tt>: </dt>
- <dt><tt><b><a name="linkage_externweak">extern_weak_odr</a></b></tt>: </dt>
<dd>Some languages allow inequivalent globals to be merged, such as two
functions with different semantics. Other languages, such as <tt>C++</tt>,
ensure that only equivalent globals are ever merged (the "one definition
rule" - <tt>odr</tt>). Such languages can use the <tt>linkonce_odr</tt>,
- <tt>common_odr</tt>, <tt>weak_odr</tt> and <tt>extern_weak_odr</tt> linkage
- types to indicate that the global will only be merged with equivalent
- globals. These linkage types are otherwise the same as their
- non-<tt>odr</tt> versions.
+ <tt>common_odr</tt> and <tt>weak_odr</tt> linkage types to indicate that
+ the global will only be merged with equivalent globals. These linkage
+ types are otherwise the same as their non-<tt>odr</tt> versions.
</dd>
<dt><tt><b><a name="linkage_external">externally visible</a></b></tt>:</dt>
@@ -606,8 +604,8 @@ preventing a collision. Since "<tt>main</tt>" and "<tt>puts</tt>" are
external (i.e., lacking any linkage declarations), they are accessible
outside of the current module.</p>
<p>It is illegal for a function <i>declaration</i>
-to have any linkage type other than "externally visible", <tt>dllimport</tt>,
-<tt>extern_weak</tt> or <tt>extern_weak_odr</tt>.</p>
+to have any linkage type other than "externally visible", <tt>dllimport</tt>
+or <tt>extern_weak</tt>.</p>
<p>Aliases can have only <tt>external</tt>, <tt>internal</tt>, <tt>weak</tt>
or <tt>weak_odr</tt> linkages.</p>
</div>