Ticket UUID: | 555635 | |||
Title: | Dead code: matherr, TclMathInProgress | |||
Type: | Patch | Version: | None | |
Submitter: | jenglish | Created on: | 2002-05-13 21:59:18 | |
Subsystem: | 52. Portability Support | Assigned To: | dgp | |
Priority: | 5 Medium | Severity: | ||
Status: | Closed | Last Modified: | 2002-06-01 05:21:15 | |
Resolution: | Accepted | Closed By: | dgp | |
Closed on: | 2002-05-31 22:21:15 | |||
Description: |
The attached patch removes matherr() under Unix, the internal routine TclMathInProgress(), and the associated ThreadSpecificData. The source file unix/tclMtherr.c should also be removed if this patch is applied. The _matherr() implementation in win/tclWinMtherr.c -- which is only used in Borland C++, not MSVC -- has been retained, but it no longer checks TclMathInProgress(). This routine is used to prevent the Borland C++ math library from raising a fatal exception when illegal values are encountered. With this patch, it prevents exceptions from being thrown when any part of the program calls a math library function, not just Tcl internals. Again, this is only applicable when Tcl is built with the Borland compiler. Further discussion may be found under SF Tcl Bug #474335 "logic of matherr is backwards", but in summary: * matherr() is nonportable and not available on all platforms; * On the platforms where it is available, it is typically only used if the main executable is linked with a special version of libm, which Tcl does not do; * The version in unix/tclMtherr.c is merely an incomplete reimplementation of the default behaviour on the Unix platforms where it is available; * A bug related to this code (#474335) has gone unnoticed for over three years, so it is unlikely in the extreme that its outright removal will cause any ill effects; Summarizing the summary, this is dead code and it ought to be buried. | |||
User Comments: |
dgp added on 2002-06-01 05:21:15:
Logged In: YES user_id=80530 updated patch committed to 8.4a5. dgp added on 2002-06-01 05:06:09: File Added - 24166: matherr.patch Logged In: YES user_id=80530 Here's an updated version of the patch that also accounts for the NEED_MATHERR in unix/configure*. jenglish added on 2002-05-14 05:00:49: File Added - 23033: matherr-patch.txt Logged In: YES user_id=68433 Once again, I forgot to check the little button to upload an attachment... |