Decribe the "implementation" keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28762 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 0d19f0a..6e339f6 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -350,6 +350,9 @@
<i>; External declaration of the puts function</i>
<a href="#functionstructure">declare</a> int %puts(sbyte*) <i>; int(sbyte*)* </i>
+<i>; Global variable / Function body section separator</i>
+implementation
+
<i>; Definition of main function</i>
int %main() { <i>; int()* </i>
<i>; Convert [13x sbyte]* to sbyte *...</i>
@@ -373,6 +376,13 @@
array of char, and a pointer to a function), and have one of the following <a
href="#linkage">linkage types</a>.</p>
+<p>Due to a limitation in the current LLVM assembly parser (it is limited by
+one-token lookahead), modules are split into two pieces by the "implementation"
+keyword. Global variable prototypes and definitions must occur before the
+keyword, and function definitions must occur after it. Function prototypes may
+occur either before or after it. In the future, the implementation keyword may
+become a noop, if the parser gets smarter.</p>
+
</div>
<!-- ======================================================================= -->