URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [init/] [array5.C] - Rev 693
Compare with Previous | Blame | View Log
// { dg-do run }// Copyright (C) 2002 Free Software Foundation// Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>// Incorrect construction and destruction of multi-dimensional// array of class.extern "C" void abort();extern "C" int printf(const char *, ...);int count;int num;struct A{A(){if (count == num)throw "";count++;#ifdef PRINTprintf("ctor %p\n", static_cast<void *>(this));#endif}~A(){count--;#ifdef PRINTprintf("dtor %p\n", static_cast<void *>(this));#endif}};struct Array{A array[2][2][2];};int main(){for (num = 0; num <= 8; ++num) {count = 0;try {Array A;}catch (...) {}if (count != 0)abort();}}
