Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!snorkelwacker!bloom-beacon!eru!luth!sunic!mcsun!ukc!acorn!abccam!pete From: pete@abccam.abcl.co.uk (Peter Cockerell) Newsgroups: comp.lang.c++ Subject: Compiling _vec_new with an ANSI C compiler Message-ID: <493@pete.abccam.abcl.co.uk> Date: 16 Jul 90 14:41:37 GMT Organization: Active Book Company Limited, Cambridge, UK Lines: 46 Yo, netLanders! We've been having a problem porting cfront 1.2.1 on to a system that uses a strict ANSI C comiler. It's this: the declarations of the functions _vec_new() and _vec_delete() are hard-wired into cfront, ie the symbol table is set-up explicitly (in simpl.c) to behave as if these declarations have been read: extern _vec_new(void *, int, int void *f); extern _vec_delete(void *, int, int, void *f, int); In both cases, the void *f in the list is actually a pointer to a fuction (ctor or dtor respectively). In the code for the functions themselves in the file _vec.c, there are lines like: typedef void (*PF)(void *) ... for (register int i=0; i