Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/torture/pr40834.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 run } */ extern "C" void abort (void); class XalanDOMString { public: int y; }; class XObject { public: const XalanDOMString& str() const { return x; } XalanDOMString x; }; class XObjectPtr { public: XObjectPtr(const XObjectPtr& theSource) { m_xobjectPtr = theSource.m_xobjectPtr; } const XObject* operator->() const { return m_xobjectPtr; }; XObjectPtr(XObject *p) { m_xobjectPtr = p; } XObject* m_xobjectPtr; }; class FunctionSubstringBefore { public: int execute( const XObjectPtr arg1) const { const XalanDOMString& theFirstString = arg1->str(); return theFirstString.y; } }; int main () { XObject x; XObjectPtr y (&x); x.x.y = -1; FunctionSubstringBefore z; if (z.execute (y) != -1) abort (); return 0; }