Be aware that this file ius a concatenation of two patches. It is necessary to patch the evaluator_tab.c file so Microsoft Visual C++ 6.0 can grok it. For some (probably fabulously clever) reason, the MSVC++ compiler doesn't set __STDC__ when it's running in "C mode", which will then "undefine" the "const" keyword, which again leads to all kinds of trouble. -- mortene --- old-evaluator_tab.c Wed Jun 28 13:39:43 2000 +++ evaluator_tab.c Wed Jun 28 13:39:45 2000 @@ -72,13 +72,6 @@ int so_evallex(void); #include -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif -#endif - - #define YYFINAL 149 #define YYFLAG -32768 The Sun Forte CC compiler will warn on passing string literals to functions with "char *" as argument type. This patch fixes that problem. Index: evaluator_tab.c =================================================================== RCS file: /export/cvsroot/Coin-2/src/engines/evaluator_tab.c,v retrieving revision 1.3 diff -u -r1.3 evaluator_tab.c --- evaluator_tab.c 5 Jun 2003 12:20:57 -0000 1.3 +++ evaluator_tab.c 13 Jan 2004 14:40:00 -0000 @@ -68,7 +68,7 @@ static char * get_regname(char reg, int regtype); enum { REGTYPE_IN, REGTYPE_OUT, REGTYPE_TMP }; static so_eval_node *root_node; - static int so_evalerror(char *); + static int so_evalerror(const char *); static int so_evallex(void); #include @@ -1336,7 +1336,7 @@ * Called by bison parser upon lexical/syntax error. */ int -so_evalerror(char *myerr) +so_evalerror(const char *myerr) { strncpy(myerrorbuf, myerr, 512); myerrorbuf[511] = 0; /* just in case string was too long */