mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-15 00:38:42 +00:00
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:
parent
27aa094f57
commit
a1a2097919
@ -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(<va_list>* <arglist>, <argument>)
|
call void (va_list*)* %llvm.va_start(<va_list>* <arglist>)
|
||||||
</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>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user