aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog37
1 files changed, 37 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index db7d7df9..3116aef7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,40 @@
+2008-09-16 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Implement functions with variable number of arguments and 'run' mode.
+
+ * mfd/symtab.c (function_install): Take additional argument.
+ * mfd/lex.l: New tokens `vaptr', `...' and ARGX.
+ * mfd/snarf.m4 (MF_VASTRING): New define.
+ * mfd/gram.y: Handle functions with variable number of arguments,
+ $(expr), and vaptr() expressions. This raises shift/reduce
+ expectation to 29 conflicts.
+ (parmtype_function): Return dtype_string for
+ arguments from vararg list.
+ (FUNC_HIDDEN_ARGS): Return 1 if f->varargs is set.
+ (type_to_string): Handle pointer argument.
+ (function_call): Handle function->varargs.
+ (node_type): Handle node_type_argx, and node_type_vaptr.
+ (cast_arg_list): Handle variable number of arguments.
+ (cast_to): Handle dtype_pointer as dtype_number.
+ * mfd/drivers.c (argx, vaptr): New node types.
+ (code_type_call): Handle variable number of arguments.
+ (code_cast): Handle dtype_pointer as dtype_number.
+ * mfd/mailfromd.h (MAILFROMD_RUN): New define.
+ (struct argx_node): New type.
+ (struct node): Add argx_node.
+ (struct function): New member `varargs'.
+ (function_install): Add varargs.
+ (mailfromd_run): New prototype.
+ * mfd/prog.c (env_vaptr, env_get_reg): New functions.
+ (env_make_frame0): New function.
+ (instr_xmemstk): New instruction handler.
+ * mfd/opcodes (XMEMSTK): New opcode.
+ * mfd/prog.h (env_get_reg, env_vaptr): New protos.
+ * mfd/main.c (options): New option `--run'.
+ (main): Handle `run' mode.
+ * mfd/Makefile.am (M4_FILES): Add bi_getopt.m4.
+ * NEWS: Update.
+
2008-09-15 Sergey Poznyakoff <gray@gnu.org.ua>
* tests/alias.at: New file.

Return to:

Send suggestions and report system problems to the System administrator.