aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code
diff options
context:
space:
mode:
authorRichard Brooksby2013-05-08 16:29:12 +0100
committerRichard Brooksby2013-05-08 16:29:12 +0100
commitc781e594a8b80795cd91d4263f49e8b6347793c6 (patch)
tree7f12d1db2b417c86edf2e244d526861e03db8fac /mps/code
parent07f446a4502af8891d4e074328bba74134f5487c (diff)
downloademacs-c781e594a8b80795cd91d4263f49e8b6347793c6.tar.gz
emacs-c781e594a8b80795cd91d4263f49e8b6347793c6.zip
Adding keyword argument checking for format and chain.
Copied from Perforce Change: 181637 ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code')
-rw-r--r--mps/code/arg.c10
-rw-r--r--mps/code/mpm.h2
-rw-r--r--mps/code/pool.c4
3 files changed, 14 insertions, 2 deletions
diff --git a/mps/code/arg.c b/mps/code/arg.c
index b74b9d6886b..6daee5c432e 100644
--- a/mps/code/arg.c
+++ b/mps/code/arg.c
@@ -22,6 +22,16 @@ Bool ArgCheckCant(Arg arg) {
22 return TRUE; 22 return TRUE;
23} 23}
24 24
25Bool ArgCheckFormat(Arg arg) {
26 CHECKD(Format, arg->val.format);
27 return TRUE;
28}
29
30Bool ArgCheckChain(Arg arg) {
31 CHECKD(Chain, arg->val.chain);
32 return TRUE;
33}
34
25 35
26const KeyStruct _mps_key_varargs = {KeySig, "VARARGS", ArgCheckCant}; 36const KeyStruct _mps_key_varargs = {KeySig, "VARARGS", ArgCheckCant};
27 37
diff --git a/mps/code/mpm.h b/mps/code/mpm.h
index bd3752460f7..cb9a6f49fa2 100644
--- a/mps/code/mpm.h
+++ b/mps/code/mpm.h
@@ -138,6 +138,8 @@ extern Bool ArgCheck(Arg arg);
138extern Bool ArgListCheck(ArgList args); 138extern Bool ArgListCheck(ArgList args);
139extern Bool ArgPick(ArgStruct *argOut, ArgList args, Key key); 139extern Bool ArgPick(ArgStruct *argOut, ArgList args, Key key);
140extern Bool ArgCheckCant(Arg arg); 140extern Bool ArgCheckCant(Arg arg);
141extern Bool ArgCheckFormat(Arg arg);
142extern Bool ArgCheckChain(Arg arg);
141 143
142 144
143/* Logs and Powers 145/* Logs and Powers
diff --git a/mps/code/pool.c b/mps/code/pool.c
index 09a10f13d62..283f3244ff4 100644
--- a/mps/code/pool.c
+++ b/mps/code/pool.c
@@ -107,8 +107,8 @@ Bool PoolCheck(Pool pool)
107 107
108/* Common keywords to PoolInit */ 108/* Common keywords to PoolInit */
109 109
110const KeyStruct _mps_key_format = {KeySig, "AMS_FORMAT", ArgCheckCant}; /* FIXME: ArgCheckFormat */ 110const KeyStruct _mps_key_format = {KeySig, "AMS_FORMAT", ArgCheckFormat};
111const KeyStruct _mps_key_chain = {KeySig, "AMS_CHAIN", ArgCheckCant}; /* FIXME: ArgCheckChain */ 111const KeyStruct _mps_key_chain = {KeySig, "AMS_CHAIN", ArgCheckChain};
112 112
113 113
114/* PoolInit -- initialize a pool 114/* PoolInit -- initialize a pool