From 818a65f36f4fe1931a53675ff2bc0e12307d58ef Mon Sep 17 00:00:00 2001 From: Richard Brooksby Date: Thu, 16 May 2013 13:10:01 +0100 Subject: [PATCH] Replacing duplicate *trivvarargs methods with a single implementation in args.c. Copied from Perforce Change: 181851 ServerID: perforce.ravenbrook.com --- mps/code/arena.c | 12 +----------- mps/code/arg.c | 11 +++++++++++ mps/code/arg.h | 1 + mps/code/buffer.c | 11 +---------- mps/code/mpm.h | 1 - mps/code/poolabs.c | 9 +-------- 6 files changed, 15 insertions(+), 30 deletions(-) diff --git a/mps/code/arena.c b/mps/code/arena.c index 189503b348e..a77a72f590c 100644 --- a/mps/code/arena.c +++ b/mps/code/arena.c @@ -46,16 +46,6 @@ static Res ArenaTrivDescribe(Arena arena, mps_lib_FILE *stream) } -/* ArenaTrivVarargs -- ignore obsolete varargs for future arena classes */ - -static void ArenaTrivVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs) -{ - UNUSED(varargs); - args[0].key = MPS_KEY_ARGS_END; - AVER(ArgListCheck(args)); -} - - /* AbstractArenaClass -- The abstract arena class definition * * .null: Most abstract class methods are set to NULL. See @@ -69,7 +59,7 @@ DEFINE_CLASS(AbstractArenaClass, class) class->name = "ABSARENA"; class->size = 0; class->offset = 0; - class->varargs = ArenaTrivVarargs; + class->varargs = ArgTrivVarargs; class->init = NULL; class->finish = NULL; class->reserved = NULL; diff --git a/mps/code/arg.c b/mps/code/arg.c index d8ab7277008..75056285652 100644 --- a/mps/code/arg.c +++ b/mps/code/arg.c @@ -167,6 +167,17 @@ void ArgRequire(ArgStruct *argOut, ArgList args, Key key) { } +/* ArgTrivVarargs -- class method to ignore deprecated varargs */ + +void ArgTrivVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs) +{ + UNUSED(varargs); + args[0].key = MPS_KEY_ARGS_END; + AVER(ArgListCheck(args)); +} + + + /* C. COPYRIGHT AND LICENSE * * Copyright (C) 2001-2013 Ravenbrook Limited . diff --git a/mps/code/arg.h b/mps/code/arg.h index e756da04182..2bcc80b0c61 100644 --- a/mps/code/arg.h +++ b/mps/code/arg.h @@ -38,6 +38,7 @@ extern Bool ArgListCheck(ArgList args); extern Bool ArgPick(ArgStruct *argOut, ArgList args, Key key); extern void ArgRequire(ArgStruct *argOut, ArgList args, Key key); +extern void ArgTrivVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs); extern Bool ArgCheckCant(Arg arg); extern Bool ArgCheckFormat(Arg arg); diff --git a/mps/code/buffer.c b/mps/code/buffer.c index d9af5933fcd..12d5c2dcbf3 100644 --- a/mps/code/buffer.c +++ b/mps/code/buffer.c @@ -1064,15 +1064,6 @@ void BufferRampReset(Buffer buffer) /* BufferClass -- support for the basic Buffer class */ -/* bufferTrivVarargs -- basic buffer varargs method */ - -static void bufferTrivVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs) { - UNUSED(varargs); - args[0].key = MPS_KEY_ARGS_END; - AVER(ArgListCheck(args)); -} - - /* bufferTrivInit -- basic buffer init method */ static Res bufferTrivInit(Buffer buffer, Pool pool, ArgList args) @@ -1215,7 +1206,7 @@ DEFINE_CLASS(BufferClass, class) INHERIT_CLASS(&class->protocol, ProtocolClass); class->name = "BUFFER"; class->size = sizeof(BufferStruct); - class->varargs = bufferTrivVarargs; + class->varargs = ArgTrivVarargs; class->init = bufferTrivInit; class->finish = bufferTrivFinish; class->attach = bufferTrivAttach; diff --git a/mps/code/mpm.h b/mps/code/mpm.h index ced8ec3e4f6..4292f9fa671 100644 --- a/mps/code/mpm.h +++ b/mps/code/mpm.h @@ -219,7 +219,6 @@ extern void PoolTraceEnd(Pool pool, Trace trace); extern void PoolWalk(Pool pool, Seg seg, FormattedObjectsStepMethod f, void *v, size_t s); extern void PoolFreeWalk(Pool pool, FreeBlockStepMethod f, void *p); -extern void PoolTrivVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs); extern Res PoolTrivInit(Pool pool, ArgList arg); extern void PoolTrivFinish(Pool pool); extern Res PoolNoAlloc(Addr *pReturn, Pool pool, Size size, diff --git a/mps/code/poolabs.c b/mps/code/poolabs.c index c29f409ae9b..212fa76a44c 100644 --- a/mps/code/poolabs.c +++ b/mps/code/poolabs.c @@ -122,7 +122,7 @@ DEFINE_CLASS(AbstractPoolClass, class) class->size = 0; class->offset = 0; class->attr = 0; - class->varargs = PoolTrivVarargs; + class->varargs = ArgTrivVarargs; class->init = PoolTrivInit; class->finish = PoolTrivFinish; class->alloc = PoolNoAlloc; @@ -195,13 +195,6 @@ void PoolTrivFinish(Pool pool) NOOP; } -void PoolTrivVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs) -{ - UNUSED(varargs); - args[0].key = MPS_KEY_ARGS_END; - AVER(ArgListCheck(args)); -} - Res PoolTrivInit(Pool pool, ArgList args) { AVERT(Pool, pool);