patchGNU Autoconf Archive - Patches: patch #7005, ...

 
 

patch #7005: ax_cxx_helpful_terminate_handler.m4 Macro Submission

Submitter:  Kevin Locke <kevinoid>
Submitted:  Sun 29 Nov 2009 07:12:00 PM UTC
   
 
Priority:  5 - Normal Status:  Done
Assigned to:  simons Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Tue 05 Jan 2010 12:58:18 PM UTC, comment #2: 

Commit 4339f0a8a2803e1e954f461319b39c7f1a1f60fb replaces AX_CXX_VERBOSE_TERMINATE_HANDLER with this improved implementation. Thank you very much for the submission.

Peter Simons <simons>
Group administrator
Thu 17 Dec 2009 07:28:04 PM UTC, comment #1: 

Hi Kevin,

your macro has been added to the repository in commit 0867dc7316d4caeb8547d5f6ec115fe4de9ea42a. Thank you very much for the submission!

I have also added Lapo to the carbon-copy list because I figured that he might want to know about this new macro. There is definitely an overlap between your macro and Lapo's. I'm not quite sure how to deal with that yet, though. It looks to me like AX_CXX_HELPFUL_TERMINATE_HANDLER is in fact a replacement for AX_CXX_VERBOSE_TERMINATE_HANDLER. I don't see a reason why the archive should be carrying both of them.

This should probably be discussed on the maintainers mailing list to find out what the consensus is.

Take care,
Peter

Peter Simons <simons>
Group administrator
Sun 29 Nov 2009 07:12:00 PM UTC, original submission:  

As a compliment (or possibly replacement) to the current AX_CXX_VERBOSE_TERMINATE_HANDLER macro, I present the AX_CXX_HELPFUL_TERMINATE_HANDLER macro.  Rather than specifically looking for the GNU libstdc++ verbose_terminate_handler, this macro uses a test program which throws an uncaught exception then checks if the output contains information about the exception.  This way it can detect helpful terminate handlers other than the current one provided with GNU libstdc++.

The design of this macro is not perfect.  Most importantly, the logic for capturing and testing the output of the test program is not very elegant.  I had first attempted to check for output from within the test program (by redirecting std::cerr, capturing SIGABRT, etc.) but it was excessively ugly and not very portable.  The result is that the logic in the macro itself is a little more awkward so that the test program is trivial.  I think it was a good trade, but feedback is welcome.

Any suggestions for improvement are gratefully accepted.

I hope you find it useful.

Kevin Locke <kevinoid>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #19153:  ax_cxx_helpful_terminate_handler.m4 added by kevinoid (3KiB - application/octet-stream - First version of AX_CXX_HELPFUL_TERMINATE_HANDLER)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by simons (Posted a comment)
  • -email is unavailable- added by simons (author of ax_cxx_verbose_terminate_handler)
  • -email is unavailable- added by kevinoid (Submitted the item)
  •  

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-01-05 simons StatusIn Progress Done
        Open/ClosedOpen Closed
    2009-12-17 simons StatusNone In Progress
        Assigned toNone simons
        Carbon-Copy- Added lapo luchini <lapo@lapo.it>
    2009-11-29 kevinoid Attached File- Added ax_cxx_helpful_terminate_handler.m4, #19153

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code