Update Function type documentation to clarify how multiple return values are supported.
authorDevang Patel <dpatel@apple.com>
Mon, 24 Mar 2008 05:35:41 +0000 (05:35 +0000)
committerDevang Patel <dpatel@apple.com>
Mon, 24 Mar 2008 05:35:41 +0000 (05:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48721 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LangRef.html

index 096acf294a98a8e3916c5ee3f3423bb528028dd2..8122d4356cdee518f9601596b8b301d0549ff472 100644 (file)
@@ -1225,8 +1225,10 @@ type "{ i32, [0 x float]}", for example.</p>
 <div class="doc_text">
 <h5>Overview:</h5>
 <p>The function type can be thought of as a function signature.  It
-consists of a return type and a list of formal parameter types. 
-Function types are usually used to build virtual function tables
+consists of a return type and a list of formal parameter types. The
+return type of a function type is a scalar type or a struct type. If the 
+return type is a struct type then all struct elements must be of a first 
+class type. Function types are usually used to build virtual function tables
 (which are structures of pointers to functions), for indirect function
 calls, and when defining a function.</p>
 
@@ -1260,6 +1262,11 @@ Variable argument functions can access their arguments with the <a
       which returns an integer.  This is the signature for <tt>printf</tt> in 
       LLVM.
     </td>
+  </tr><tr class="layout">
+    <td class="left"><tt>{i32, i32} (i32)</tt></td>
+    <td class="left">A function taking an <tt>i32></tt>, returning two values
+        <tt> i32 </tt> as an arggregate of type <tt>{ i32, i32 }</tt>
+    </td>
   </tr>
 </table>