Cleaning todo. Taken from Blas' v1.5 checklist and revised for v2 on 2005-04-03 by Claudio. The order is not significant. Macros M1.- Remove NOT_USED_OR_REPLACED Macro Pending. M2.- Remove PYXIS macro Done. M3.- Remove NO_CHECKSUM macro (and CCH_Checksum function in cch.cpp) Not agreed still. M4.- Remove GDS_VAL and GDS_REF macros. Done. M5.- Remove NULL_PTR macro Done. M6.- Remove BOOLEAN, TRUE and FALSE macros and replace with keywords. Done where except some places where it doesn't make sense to remove them. M7.- Remove TEXT and SCHAR macros. Tricky and in some places SCHAR is really used as signed char. Code C1.- Remove warnings (excluding parentheses, unused var, non complete switches and pragmas) Mostly done. C2.- Define (type-safe?) unions for nod_arg and lls_object. Nod_arg is used in several places of the code to contain pointers to several kinds of objects or numbers, whether is defined as pointer to xxx_nod. The same happends with lls_object in lls (linked list) where the lls_object can store pointers or numbers, whether is defined as pointer to xxx_nod. See gpre.h nod_arg in gpre_nod struct and lls_object in lls struct. Another solution exists. C3.- Modify gds__msg_format and derivated functions to use arglist instead of TEXT arguments. This change will also remove a lot of casts. Done with fb_msg_format in MsgPrint.h. C4.- Remove casts. Partially done. C5.- Replace macros with code with inline functions. Partially done. C6.- Assertion cleaning. Now there are in the code compiler and custom assertions. AFAIK, done. Builds B1.- Posix take cpp generated from epp out of src directory. Unknown state. B2.- Build help.fdb from script. Done. B3.- Build msg.fdb from script. Done.