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