URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [eh/] [spec10.C] - Rev 693
Compare with Previous | Blame | View Log
// Make sure that we call terminate when a throw() spec is violated even// with -fnothrow-opt. The function pointers are there to make sure that// the compiler doesn't get clever about optimizing the calls based on// knowledge about the called functions.// { dg-options "-fnothrow-opt" }// { dg-do run }#include <exception>#include <cstdlib>void my_terminate (){std::exit (0);}void g() { throw 1; }void (*p1)() = g;void f() throw() { p1(); }void (*p2)() = f;void h() { p2(); }int main(){std::set_terminate (my_terminate);try { h(); }catch (int) { }return 1;}
