From c10f0af135f9f60627d7cd48431dc7497e57e95b Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Wed, 28 Mar 2007 02:46:29 +0000 Subject: [PATCH] Undocument the implementation keyword Docuemnt the checkpoint keyword git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35413 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/LangRef.html | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/docs/LangRef.html b/docs/LangRef.html index e51618de180..11b43befdff 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -27,6 +27,7 @@
  • Parameter Attributes
  • Module-Level Inline Assembly
  • Data Layout
  • +
  • Check Points
  • Type System @@ -371,9 +372,6 @@ symbol table entries. Here is an example of the "hello world" module:

    ; External declaration of the puts function declare i32 %puts(i8 *) ; i32(i8 *)* -; Global variable / Function body section separator -implementation - ; Definition of main function define i32 %main() { ; i32()* ; Convert [13x i8 ]* to i8 *... @@ -397,13 +395,6 @@ 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.

    - @@ -856,6 +847,16 @@ following rules: terms of 64 <2 x double>, for example.
  • + +
    + Data Layout +
    +
    +

    At the top level, the keyword checkpoint may be used to force the + assembler to check point the types and values it has defined so far. Any + unresolved types or references will generate error messages. This is useful + as an assertion point or for debugging.

    +
    Type System
    @@ -2719,8 +2720,6 @@ compiled to LLVM:

    %RT = type { i8 , [10 x [20 x i32]], i8 } %ST = type { i32, double, %RT } - implementation - define i32* %foo(%ST* %s) { entry: %reg = getelementptr %ST* %s, i32 1, i32 2, i32 1, i32 5, i32 13 -- 2.34.1