From: SourceForge.net <no...@so...> - 2004-04-07 13:44:14
|
Bugs item #927411, was opened at 2004-04-01 06:04 Message generated for change (Comment added) made by dgp You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=927411&group_id=10894 Category: 51. Configure and Build Tools Group: development: 8.5a2 >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Vince Darley (vincentdarley) Assigned to: Don Porter (dgp) Summary: tclPort.h throws errors Initial Comment: Trying to compile tclvfs on Windows against the latest cvs head throws these errors: ../../cvs-tcl/generic\tclIntDecls.h(702) : error C2143: syntax error : missing ' )' before '*' ../../cvs-tcl/generic\tclIntDecls.h(702) : error C2143: syntax error : missing ' {' before '*' ../../cvs-tcl/generic\tclIntDecls.h(702) : error C2059: syntax error : 'type' ../../cvs-tcl/generic\tclIntDecls.h(702) : error C2059: syntax error : ')' ../../cvs-tcl/generic\tclIntDecls.h(1115) : error C2143: syntax error : missing ')' before '*' ../../cvs-tcl/generic\tclIntDecls.h(1115) : error C2143: syntax error : missing ';' before '*' ../../cvs-tcl/generic\tclIntDecls.h(1115) : error C2059: syntax error : '*' ../../cvs-tcl/generic\tclIntDecls.h(1115) : error C2059: syntax error : ')' ../../cvs-tcl/generic\tclIntDecls.h(1164) : error C2059: syntax error : '}' ../../cvs-tcl/generic\tclIntDecls.h(1169) : error C2143: syntax error : missing '{' before '*' C:\Progra~1\devstudio\vc\include\time.h(154) : warning C4142: benign redefinitio n of type C:\Progra~1\devstudio\vc\include\time.h(154) : error C2372: 'time' : redefinitio n; different types of indirection ..\generic\vfs.c(963) : error C2223: left of '->tclInExit' must point to struct/ union This appears to be due to vfs.c doing this: #include <tcl.h> /* Required to access the 'stat' structure fields */ #include "tclPort.h" If one adds a #include "tclInt.h" in between those two includes, then the compilation proceeds ok. At the least this behaviour change should be documented in the ChangeLog. ---------------------------------------------------------------------- >Comment By: Don Porter (dgp) Date: 2004-04-07 09:44 Message: Logged In: YES user_id=80530 Yes, TclInExit() is in the internal stubs table, so its declaration is best access via #include "tclInt.h" Using that instead of #include "tclPort.h" should cover compatibility with both the HEAD and older Tcl releases. Closing. Re-open if there are problems with that answer. Thanks for testing. ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2004-04-06 18:49 Message: Logged In: YES user_id=32170 vfs.c still fails, but now with TclInExit not being defined. I guess before that function was accessed through tclPort.h somehow. Finally, with the previous fix to vfs.c the code still works. So, in some sense Tcl has still broken backwards compatibility (but only for internal interfaces), and a simple one-line source fix solves the issue. (sorry for not checking this earlier -- I've been v. busy) ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2004-04-06 18:40 Message: Logged In: YES user_id=80530 please check the HEAD again. Patch 922727 may have corrected this. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2004-04-01 12:11 Message: Logged In: YES user_id=80530 can you check whether the patch attached to Feature Request 922727 corrects this? (or makes it worse?) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=927411&group_id=10894 |