Skip to content

std::terminate() is being called when std::bad_exception should be thrown #10913

@llvmbot

Description

@llvmbot
Bugzilla Link 10541
Resolution FIXED
Resolved on Nov 10, 2012 13:26
Version unspecified
OS MacOS X
Attachments complete program exhibiting the error
Reporter LLVM Bugzilla Contributor

Extended Description

I have a program with a function 'foo' that lists std::bad_exception in its exception specification, and a custom unexpected hander is registered which rethrows an exception. When 'foo' is called it throws a type not listed and so my custom unexpected handler is called. However, if I'm using libc++ then after my handler is called std::terminate() is called.

These circumstances should lead to std::bad_exception being thrown and exception handling continuing normally instead of std::terminate() being called.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzillalibc++libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions