Tcl Source Code

Ticket Change Details
Login
Overview

Artifact ID: 9316f64fde3295c1755e55b164b952cc975b351cb5638c45877e4e933d04dabb
Ticket: ef23a85ac6bab7d4f2cdb1eb1a03d23bb2e5b289
Tcl_PanicProc - Tcl9 & NaviServer
User & Date: jan.nijtmans 2024-04-25 15:10:46
Changes

  1. icomment:
    Should be fixed [b95cc2b450d1f6dd|here]
    
    > The version in branch bug-ef23a85ac6 fixes the issue.
    
    Unfortunately, the earlier fix caused warnings on Linux:
    <pre>
    /home/runner/work/tcl/tcl/generic/tcl.h:600:1: warning: ‘noreturn’ attribute ignored [-Wattributes]
      600 | typedef TCL_NORETURN1 void (Tcl_PanicProc) (const char *format, ...);
          | ^~~~~~~
    </pre>
    which can be seen in the GITHUB build:
    [https://github.com/tcltk/tcl/actions/runs/8812574046/job/24188518470]
    
    The best solution, it turns out, is no longer use the `TCL_NORETURN1` option when setting/getting exitproc/panicproc functions, but let `Tcl_Panic()` handle all of this. If the user provides a `TCL_NORETURN` function as panicproc, that's fine. If the user doesn't do that, but provides a function which returns, then `Tcl_Panic()` will handle the last part of exiting.
    
    This way, I think, solves the NaviServer warning, and it handles everything I can think of.
    
    Thanks for the report!
    
  2. login: "jan.nijtmans"
  3. mimetype: "text/x-fossil-wiki"