From 81c01f0d2cab55e9bd2a723f1015e1cc06b314d2 Mon Sep 17 00:00:00 2001
From: Chris Lattner
Date: Tue, 13 Jun 2006 03:05:47 +0000
Subject: [PATCH] Decribe the "implementation" keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28762 91177308-0d34-0410-b5e6-96231b3b80d8
---
docs/LangRef.html | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 0d19f0af02d..6e339f6616d 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -350,6 +350,9 @@ symbol table entries. Here is an example of the "hello world" module:
; External declaration of the puts function
declare int %puts(sbyte*) ; int(sbyte*)*
+; Global variable / Function body section separator
+implementation
+
; Definition of main function
int %main() { ; int()*
; Convert [13x sbyte]* to sbyte *...
@@ -373,6 +376,13 @@ represented by a pointer to a memory location (in this case, a pointer to an
array of char, and a pointer to a function), and have one of the following linkage types.
+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.
+
--
2.11.0