diff options
| author | Peter Collingbourne <peter@pcc.me.uk> | 2015-12-14 19:22:37 +0000 |
|---|---|---|
| committer | Peter Collingbourne <peter@pcc.me.uk> | 2015-12-14 19:22:37 +0000 |
| commit | 45cd0c3264e3e2312462e709a81950a9885fc931 (patch) | |
| tree | a604578409188d6ebef2a2d6e0fdad91d50bd831 /llvm/docs | |
| parent | 59a981a8f3dbd2a903e2e7071c7ae686f25e4652 (diff) | |
| download | bcm5719-llvm-45cd0c3264e3e2312462e709a81950a9885fc931.tar.gz bcm5719-llvm-45cd0c3264e3e2312462e709a81950a9885fc931.zip | |
docs: Correct wording in LangRef relating to available_externally linkage.
Differential Revision: http://reviews.llvm.org/D15343
llvm-svn: 255534
Diffstat (limited to 'llvm/docs')
| -rw-r--r-- | llvm/docs/LangRef.rst | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 5f4c4b1eeab..a0c23f9a213 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -204,14 +204,15 @@ linkage: (``STB_LOCAL`` in the case of ELF) in the object file. This corresponds to the notion of the '``static``' keyword in C. ``available_externally`` - Globals with "``available_externally``" linkage are never emitted - into the object file corresponding to the LLVM module. They exist to - allow inlining and other optimizations to take place given knowledge - of the definition of the global, which is known to be somewhere - outside the module. Globals with ``available_externally`` linkage - are allowed to be discarded at will, and are otherwise the same as - ``linkonce_odr``. This linkage type is only allowed on definitions, - not declarations. + Globals with "``available_externally``" linkage are never emitted into + the object file corresponding to the LLVM module. From the linker's + perspective, an ``available_externally`` global is equivalent to + an external declaration. They exist to allow inlining and other + optimizations to take place given knowledge of the definition of the + global, which is known to be somewhere outside the module. Globals + with ``available_externally`` linkage are allowed to be discarded at + will, and allow inlining and other optimizations. This linkage type is + only allowed on definitions, not declarations. ``linkonce`` Globals with "``linkonce``" linkage are merged with other globals of the same name when linkage occurs. This can be used to implement |

