Dear all,

When using a recent gcc-compiler of the 4.x family, xotcl fails to compile due to a compatibility issue with respect to declaring nested functions *static*. xotcl.c, however, currently contains one static nested function and therefore breaks when using gcc4. The following error is reported back by make:

############## snip ##############
./generic/xotcl.c: In function ‘XOTcl_ThreadExitProc’:
./generic/xotcl.c:10791: error: invalid storage class for function ‘XOTcl_ExitProc’
./generic/xotcl.c:10792: error: ‘XOTcl_ExitProc’ undeclared (first use in this function)
./generic/xotcl.c:10792: error: (Each undeclared identifier is reported only once
./generic/xotcl.c:10792: error: for each function it appears in.)
make: *** [xotcl.o] Error 1
############## snip ##############

To resolve the issue, the nested function XOTcl_ExitProc has to be moved to the top level. A patch is attached to the email. The patched version compiles perfectly and passes the entire bunch of tests.

regards,

//stefan
--
Stefan Sobernig
Department of Information Systems and New Media
Vienna University of Economics	
Augasse 2-6
A - 1090 Vienna
     
Phone: +43 - 1 - 31336 - 4878
Fax: +43 - 1 - 31336 - 746     
Email: stefan.sobernig@wu-wien.ac.at
PubKey: http://julia.wu-wien.ac.at/~ssoberni/0x5FC2D3FA.asc