Program arguments: /Users/jroelofs/workdir/llvm/build/Debug+Asserts/bin/llvm-readobj -unwind catch_in_noexcept.cpp.out
Segmentation fault: 11
[14:16:44] ✘ jroelofs@Escher test$ cat catch_in_noexcept.cpp
//===---------------------- catch_in_noexcept.cpp--------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
Extended Description
[14:14:22] ✘ jroelofs@Escher test$ /Users/jroelofs/workdir/llvm/build/Debug+Asserts/bin/llvm-readobj -unwind catch_in_noexcept.cpp.out
File: catch_in_noexcept.cpp.out Format: ELF32-arm Arch: arm AddressSize: 32bit LoadName: UnwindInformation { UnwindIndexTable { SectionIndex: 3 SectionName: .ARM.exidx SectionOffset: 0x65DAC Entries [ Entry { FunctionAddress: 0x248 FunctionName: _Z2f1v Model: CantUnwind } Entry { FunctionAddress: 0x2D8 Model: Compact (Inline) PersonalityIndex: 0 Opcodes [ 0x9B ; vsp = r11 0x84 0x80 ; pop {fp, lr} ] } Entry { FunctionAddress: 0x8F4 0 llvm-readobj 0x0000000104618f7e llvm::sys::PrintStackTrace(__sFILE) + 46 1 llvm-readobj 0x000000010461928b PrintStackTraceSignalHandler(void) + 27 2 llvm-readobj 0x000000010461961c SignalHandler(int) + 412 3 libsystem_platform.dylib 0x00007fff9637d5aa _sigtramp + 26 4 libsystem_platform.dylib 000000000000000000 _sigtramp + 1774725744 5 llvm-readobj 0x00000001043f6a35 llvm::support::detail::packed_endian_specific_integral<unsigned int, (llvm::support::endianness)1, 2ul>::operator unsigned int() const + 21 6 llvm-readobj 0x000000010440113f llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)1, 2ul, false> >::getSectionName(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, 2ul, false> > const) const + 47 7 llvm-readobj 0x00000001044016ab llvm::ARM::EHABI::PrinterContext<llvm::object::ELFType<(llvm::support::endianness)1, 2ul, false> >::PrintIndexTable(unsigned int, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, 2ul, false> > const) const + 1243 8 llvm-readobj 0x00000001044010ad llvm::ARM::EHABI::PrinterContext<llvm::object::ELFType<(llvm::support::endianness)1, 2ul, false> >::PrintUnwindInformation() const + 605 9 llvm-readobj 0x00000001043e49bf (anonymous namespace)::ELFDumper<llvm::object::ELFType<(llvm::support::endianness)1, 2ul, false> >::printUnwindInfo() + 95 10 llvm-readobj 0x000000010440fcbe dumpObject(llvm::object::ObjectFile const*) + 1454 11 llvm-readobj 0x000000010440f0a9 dumpInput(llvm::StringRef) + 857 12 llvm-readobj 0x000000010440ece1 main + 1521 13 libdyld.dylib 0x00007fff8eb055fd start + 1 14 libdyld.dylib 0x0000000000000003 start + 1901046279 Stack dump:
[14:16:44] ✘ jroelofs@Escher test$ cat catch_in_noexcept.cpp //===---------------------- catch_in_noexcept.cpp--------------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===//
include
include
include
struct A {};
void f1() noexcept { try { A a; throw a; assert(false); } catch (...) { assert(true); return; } assert(false); }
int main() { f1(); }