116d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher// RUN: %clang_cc1 -emit-llvm %s -o - 216d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christophernamespace std { 316d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher class exception { }; 416d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher 516d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher class type_info { 616d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher public: 716d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher virtual ~type_info(); 816d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher }; 916d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher 1016d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher} 1116d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher 1216d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christophernamespace __cxxabiv1 { 1316d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher class __si_class_type_info : public std::type_info { 1416d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher ~__si_class_type_info(); 1516d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher }; 1616d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher} 1716d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher 1816d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopherclass recursive_init: public std::exception { 1916d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopherpublic: 2016d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher virtual ~recursive_init() throw (); 2116d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher}; 2216d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopher 2316d482ebe8abb5a8eaf5d3407e90c96e6afa397bEric Christopherrecursive_init::~recursive_init() throw() { } 24