| Ticket UUID: | 555635 | ||
| Title: | Dead code: matherr, TclMathInProgress | ||
| Type: | Patch | Created on: | 2002-05-13 21:59:18 |
| Submitter: | jenglish | Assigned to: | dgp |
| Subsystem: | 52. Portability Support | Severity: | |
| Priority: | 5 Medium | Last modified: | 2002-06-01 05:21:15 |
| Status: | Closed | Closed by: | dgp |
| Resolution: | Accepted | Closed on: | 2002-05-31 22:21:15 |
| Version: | None | ||
| 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: | ||||
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... 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*. dgp added on 2002-06-01 05:21:15:
Logged In: YES user_id=80530 updated patch committed to 8.4a5. | ||||
Attachments:
- matherr.patch [download] added by dgp on 2002-06-01 05:06:09. [details]
- matherr-patch.txt [download] added by jenglish on 2002-05-14 05:00:49. [details]
