summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin@c9x.me>2021-10-18 21:04:10 +0200
committerQuentin Carbonneaux <quentin@c9x.me>2021-10-22 23:53:25 +0200
commitfcdef10dae54d7124aca9ccbefe53baa8e67267d (patch)
tree1215b60f1f3a31d38ee37228dd37bcc4a6a61f99 /doc
parent9858a12730717d9c5e5deec4264d7041d75fc947 (diff)
downloadroux-fcdef10dae54d7124aca9ccbefe53baa8e67267d.tar.gz
make variadic args explicit
Some abis, like the riscv one, treat
arguments differently depending on
whether they are variadic or not.
To prepare for the upcomming riscv
target, we change the variadic call
syntax and give meaning to the
location of the '...' marker.

  # new syntax
  %ret =w call $f(w %regular, ..., w %variadic)

By nature of their abis, the change
is backwards compatible for existing
targets.
Diffstat (limited to 'doc')
-rw-r--r--doc/il.txt6
1 files changed, 3 insertions, 3 deletions
diff --git a/doc/il.txt b/doc/il.txt
index d1ed755..87a4d9f 100644
--- a/doc/il.txt
+++ b/doc/il.txt
@@ -751,7 +751,7 @@ single-precision floating point number `%f` into `%rs`.
     ARG :=
         ABITY VAL  # Regular argument
       | 'env' VAL  # Environment argument (first)
-      | '...'      # Variadic marker (last)
+      | '...'      # Variadic marker
 
     ABITY := BASETY | :IDENT
 
@@ -778,8 +778,8 @@ integer.  If the called function does not expect an environment
 parameter, it will be safely discarded.  See the <@ Functions >
 section for more information about environment parameters.
 
-When the called function is variadic, the last argument
-must be `...`.
+When the called function is variadic, there must be a `...`
+marker separating the named and variadic arguments.
 
 ~ Variadic
 ~~~~~~~~~~