Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.old-deja/g++.law/except3.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do assemble } // { dg-options "-fexceptions" } // GROUPS passed exceptions // except file // Message-Id: <9211301118.AA09810@ss670mp.geco.slb.com> // From: willoch@ss670mp.oslo.sgp.slb.com (thorbjorn willoch) // Subject: -fansi-exceptions bug // Date: Mon, 30 Nov 92 11:18:05 GMT extern "C" int printf(const char *, ...); class Vector { int* p; int sz; public: Vector(int s) { p = new int[sz=s]; } ~Vector() {delete [] p; } int size() {return sz; } class Range{}; int& operator[](int i); }; int& Vector::operator[](int i) { if(0<=i && i<sz) return p[i]; throw Range(); } void do_something(Vector& v) { int i = v[v.size()+10]; } int main() { Vector v(10); try { do_something(v); } catch (Vector::Range) { printf("Range error exception\n"); } }