diff --git a/docs/LangRef.html b/docs/LangRef.html index 65cb4ea968d..ffae318b29f 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -1697,7 +1697,7 @@ int %test(int %X, ...) { %aq = alloca sbyte* ; Initialize variable argument processing - call void (sbyte**, ...)* %llvm.va_start(sbyte** %ap, int %X) + call void (sbyte**)* %llvm.va_start(sbyte** %ap) ; Read a single integer argument %tmp = va_arg sbyte** %ap, int @@ -1718,7 +1718,7 @@ int %test(int %X, ...) {
Syntax:
-  call void (va_list*, ...)* %llvm.va_start(<va_list>* <arglist>, <argument>)
+  call void (va_list*)* %llvm.va_start(<va_list>* <arglist>)
 
Overview:
@@ -1730,18 +1730,16 @@ invoked.

Arguments:
-The first argument is a pointer to a va_list element to initialize. -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).

+The argument is a pointer to a va_list element to initialize.

Semantics:
The 'llvm.va_start' intrinsic works just like the va_start macro available in C. In a target-dependent way, it initializes the -va_list element the first argument points to, so that the next call to -va_arg will produce the first variable argument passed to the -function.

+va_list element the argument points to, so that the next call to +va_arg will produce the first variable argument passed to the function. +Unlike the C va_start macro, this intrinsic does not need to know the +last argument of the function, the compiler can figure that out.

@@ -1812,7 +1810,7 @@ arbitrarily complex and require memory allocation, for example.

Chris Lattner
-Last modified: Thu May 8 00:06:36 CDT 2003 +Last modified: Thu May 8 10:48:46 CDT 2003