va_start only takes on argument now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6039 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-05-08 15:55:44 +00:00
parent 27aa094f57
commit a1a2097919

View File

@ -1697,7 +1697,7 @@ int %test(int %X, ...) {
%aq = alloca sbyte* %aq = alloca sbyte*
; Initialize variable argument processing ; Initialize variable argument processing
call void (sbyte**, ...)* %<a href="#i_va_start">llvm.va_start</a>(sbyte** %ap, int %X) call void (sbyte**)* %<a href="#i_va_start">llvm.va_start</a>(sbyte** %ap)
; Read a single integer argument ; Read a single integer argument
%tmp = <a href="#i_va_arg">va_arg</a> sbyte** %ap, int %tmp = <a href="#i_va_arg">va_arg</a> sbyte** %ap, int
@ -1718,7 +1718,7 @@ int %test(int %X, ...) {
<h5>Syntax:</h5> <h5>Syntax:</h5>
<pre> <pre>
call void (va_list*, ...)* %llvm.va_start(&lt;va_list&gt;* &lt;arglist&gt;, &lt;argument&gt;) call void (va_list*)* %llvm.va_start(&lt;va_list&gt;* &lt;arglist&gt;)
</pre> </pre>
<h5>Overview:</h5> <h5>Overview:</h5>
@ -1730,18 +1730,16 @@ invoked.<p>
<h5>Arguments:</h5> <h5>Arguments:</h5>
The first argument is a pointer to a <tt>va_list</tt> element to initialize. The argument is a pointer to a <tt>va_list</tt> element to initialize.<p>
The second argument is required to be the last LLVM argument before the
ellipsis. In the future, this restriction may be relaxed (to allow it to be
other arguments).<p>
<h5>Semantics:</h5> <h5>Semantics:</h5>
The '<tt>llvm.va_start</tt>' intrinsic works just like the <tt>va_start</tt> The '<tt>llvm.va_start</tt>' intrinsic works just like the <tt>va_start</tt>
macro available in C. In a target-dependent way, it initializes the macro available in C. In a target-dependent way, it initializes the
<tt>va_list</tt> element the first argument points to, so that the next call to <tt>va_list</tt> element the argument points to, so that the next call to
<tt>va_arg</tt> will produce the first variable argument passed to the <tt>va_arg</tt> will produce the first variable argument passed to the function.
function.<p> Unlike the C <tt>va_start</tt> macro, this intrinsic does not need to know the
last argument of the function, the compiler can figure that out.<p>
<!-- _______________________________________________________________________ --> <!-- _______________________________________________________________________ -->
@ -1812,7 +1810,7 @@ arbitrarily complex and require memory allocation, for example.<p>
<address><a href="mailto:sabre@nondot.org">Chris Lattner</a></address> <address><a href="mailto:sabre@nondot.org">Chris Lattner</a></address>
<!-- Created: Tue Jan 23 15:19:28 CST 2001 --> <!-- Created: Tue Jan 23 15:19:28 CST 2001 -->
<!-- hhmts start --> <!-- hhmts start -->
Last modified: Thu May 8 00:06:36 CDT 2003 Last modified: Thu May 8 10:48:46 CDT 2003
<!-- hhmts end --> <!-- hhmts end -->
</font> </font>
</body></html> </body></html>