From 7f10b4ed6a557b7a1fd1083939156a3dcf8b377e Mon Sep 17 00:00:00 2001 From: Flavio Cruz Date: Tue, 15 Mar 2016 05:31:41 -0400 Subject: Remove functions, procedures and simple procedures. This has been tested by cross-compiling a base Hurd system to make sure these kinds of routines are no longer used. * lexxer.l: Remove tokens. * parser.y: Remove token types and production rules. * routine.c: Remove rtMakeProcedure, rtMakeSimpleProcedure, rtMakeFunction. * routine.h: Remove enum values rkSimpleProcedure, rkProcedure, rkFunction. Remove dead fields from struct routine. * user.c: Simplify and remove dead code. --- routine.h | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'routine.h') diff --git a/routine.h b/routine.h index f80a174..2b79b27 100644 --- a/routine.h +++ b/routine.h @@ -264,7 +264,6 @@ typedef u_int arg_kind_t; typedef struct argument { - /* if argKind == akReturn, then argName is name of the function */ identifier_t argName; struct argument *argNext; @@ -305,18 +304,14 @@ typedef struct argument /* * The various routine kinds' peculiarities are abstracted by rtCheckRoutine - * into attributes like rtOneWay, rtProcedure, etc. These are what - * code generation should use. It is Bad Form for code generation to - * test rtKind. + * into attributes like rtOneWay, etc. These are what code generation should + * use. It is bad Form for code generation to test rtKind. */ typedef enum { rkRoutine, rkSimpleRoutine, - rkSimpleProcedure, - rkProcedure, - rkFunction, } routine_kind_t; typedef struct routine @@ -329,12 +324,7 @@ typedef struct routine identifier_t rtUserName; /* user-visible name (UserPrefix + Name) */ identifier_t rtServerName; /* server-side name (ServerPrefix + Name) */ - /* rtErrorName is only used for Procs, SimpleProcs, & Functions */ - identifier_t rtErrorName; /* error-handler name */ - - boolean_t rtOneWay; /* SimpleProcedure or SimpleRoutine */ - boolean_t rtProcedure; /* Procedure or SimpleProcedure */ - boolean_t rtUseError; /* Procedure or Function */ + boolean_t rtOneWay; /* TRUE for SimpleRoutine */ boolean_t rtSimpleFixedRequest; /* fixed msg-simple value in request */ boolean_t rtSimpleSendRequest; /* in any case, initial value */ @@ -362,7 +352,7 @@ typedef struct routine argument_t *rtRequestPort; /* always non-NULL, defaults to first arg */ argument_t *rtUReplyPort; /* always non-NULL, defaults to Mig-supplied */ argument_t *rtSReplyPort; /* always non-NULL, defaults to Mig-supplied */ - argument_t *rtReturn; /* non-NULL unless rtProcedure */ + argument_t *rtReturn; /* non-NULL */ argument_t *rtServerReturn; /* NULL or rtReturn */ argument_t *rtRetCode; /* always non-NULL */ argument_t *rtWaitTime; /* if non-NULL, will use MACH_RCV_TIMEOUT */ @@ -388,10 +378,6 @@ extern boolean_t rtCheckMaskFunction(const argument_t *args, u_int mask, extern routine_t *rtMakeRoutine(identifier_t name, argument_t *args); extern routine_t *rtMakeSimpleRoutine(identifier_t name, argument_t *args); -extern routine_t *rtMakeProcedure(identifier_t name, argument_t *args); -extern routine_t *rtMakeSimpleProcedure(identifier_t name, argument_t *args); -extern routine_t *rtMakeFunction(identifier_t name, argument_t *args, - ipc_type_t *type); extern void rtPrintRoutine(const routine_t *rt); extern void rtCheckRoutine(routine_t *rt); -- cgit v1.2.3