OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [torture/] [pr40642.C] - Rev 774

Go to most recent revision | Compare with Previous | Blame | View Log

// { dg-do compile }
/* { dg-require-profiling "-fprofile-generate" } */
// { dg-options "-fprofile-generate" }

// GCC used to ICE with some EH edge missing.

inline void* operator new(__SIZE_TYPE__, void* p) throw() { return p; }
inline void operator delete (void*, void*) throw() { }

template<typename T> void foo(void* p, T t)
{
  new(p) T(t);
}

void bar();

template<typename T> struct A
{
  T* p;

  A() { try { foo(p, T()); } catch(...) {} }

  A(const A&) { try { bar(); } catch(...) { throw; } }
};

A<A<int> > a;

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.