Fabian Groffen wrote: > Hi Jan, > > I experience the same issue. The attached patch works for me. I'm not > sure why it worked for Sjoerd here, so I'm not committing.
Because I tried it on Windows using the Intel compiler. > On 02-05-2007 09:52:24 +0200, Jan Flokstra wrote: >> I have great compilation troubles with the last lesson from the master:-) >> The >> compiler doesn not know the realloc() and the malloc() function() in the >> current setting. When I change them into PFrealloc() and PFmalloc() it >> compiles. But then I still have problems with the "free(buf);" line. There >> is >> no PFfree(); and I think GDKfree() will not always work, >> >> JanF. >> >> On Tuesday 01 May 2007 17:58, Sjoerd Mullender wrote: >>> Update of /cvsroot/monetdb/pathfinder/compiler/mil >>> In directory sc8-pr-cvs16:/tmp/cvs-serv17830 >>> >>> Modified Files: >>> milprint_summer.c >>> Log Message: >>> When you want to use a library function, make sure the appropriate >>> include file is included. For alloca there is an extra twist: for the >>> way to include alloca.h see e.g. monet_utils.mx. Do not hide the lack >>> of a declaration with a cast. The compiler then thinks the function >>> returns an int which may well be smaller in space than the actual >>> value, and hence some bytes of the value may get lost. >>> >>> Having said this, alloca should *not* be used in a loop. It allocates >>> memory in each iteration which is only freed at the end of the >>> function. If the loop loops many times, that can be a lot of memory >>> which is allocated on the stack (which is a very finite resource!). >>> >>> Here ends today's lesson. >>> >>> >>> Index: milprint_summer.c >>> =================================================================== >>> RCS file: /cvsroot/monetdb/pathfinder/compiler/mil/milprint_summer.c,v >>> retrieving revision 1.367 >>> retrieving revision 1.368 >>> diff -u -d -r1.367 -r1.368 >>> --- milprint_summer.c 27 Apr 2007 18:22:40 -0000 1.367 >>> +++ milprint_summer.c 1 May 2007 15:57:59 -0000 1.368 >>> @@ -11140,12 +11140,18 @@ >>> /* ============================= */ >>> /* initialize function variables */ >>> /* ============================= */ >>> + size_t maxbufsize = 0; >>> + char *buf = NULL; >>> while (args->kind != c_nil) >>> { >>> /* get the type name, and assure there *is* a namespace */ >>> char *tpe = PFty_str(TY(LR(args))); >>> - char *buf = (char*) alloca(4+strlen(tpe)); >>> - char *nme = buf; >>> + char *nme; >>> + if (maxbufsize < strlen(tpe) + 4) { >>> + maxbufsize = strlen(tpe) + 4; >>> + buf = buf ? realloc(buf, maxbufsize) : malloc(maxbufsize); >>> + } >>> + nme = buf; >>> if (strchr(tpe, ':') == NULL) { >>> *buf++ = 'x'; >>> *buf++ = 's'; >>> @@ -11171,6 +11177,8 @@ >>> >>> args = R(args); >>> } >>> + if (buf) >>> + free(buf); >>> /* create the full signature that also is a valid MIL identifier >>> */ c->sem.fun->sig = PFmalloc(12+3*(strlen(sig)+strlen(p))); >>> >>> >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by DB2 Express >>> Download DB2 Express C - the FREE version of DB2 express and take >>> control of your XML. No limits. Just data. Click to get it now. >>> http://sourceforge.net/powerbar/db2/ >>> _______________________________________________ >>> Monetdb-pf-checkins mailing list >>> [EMAIL PROTECTED] >>> https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by DB2 Express >> Download DB2 Express C - the FREE version of DB2 express and take >> control of your XML. No limits. Just data. Click to get it now. >> http://sourceforge.net/powerbar/db2/ >> _______________________________________________ >> Monetdb-developers mailing list >> Monetdb-developers@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/monetdb-developers >> >> ------------------------------------------------------------------------ >> >> Index: milprint_summer.c >> =================================================================== >> RCS file: /cvsroot/monetdb/pathfinder/compiler/mil/milprint_summer.c,v >> retrieving revision 1.368 >> diff -u -r1.368 milprint_summer.c >> --- milprint_summer.c 1 May 2007 15:57:59 -0000 1.368 >> +++ milprint_summer.c 2 May 2007 08:08:22 -0000 >> @@ -58,6 +58,7 @@ >> #include "pathfinder.h" >> >> #include <stdio.h> >> +#include <stdlib.h> >> #include <assert.h> >> #include <string.h> >> >> >> ------------------------------------------------------------------------ >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by DB2 Express >> Download DB2 Express C - the FREE version of DB2 express and take >> control of your XML. No limits. Just data. Click to get it now. >> http://sourceforge.net/powerbar/db2/ >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Monetdb-pf-checkins mailing list >> [EMAIL PROTECTED] >> https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins -- Sjoerd Mullender
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
_______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers