Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/opt/pr46640.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 compile { target i?86-*-* x86_64-*-* } } // { dg-options "-fschedule-insns2 -fsel-sched-pipelining -fselective-scheduling2 -fno-exceptions -O" } struct QBasicAtomicInt { int i, j; bool deref () { asm volatile ("":"=m" (i), "=qm" (j)); return true; } }; struct Data { QBasicAtomicInt ref; void *data; }; struct QByteArray { Data * d; ~QByteArray () { d->ref.deref (); } }; int indexOf (unsigned); int stat (void *, int *); QByteArray encodeName (); bool makeDir (unsigned len) { unsigned i = 0; while (len) { int st; int pos = indexOf (i); QByteArray baseEncoded = encodeName (); if (stat (baseEncoded.d->data, &st) && stat (baseEncoded.d, &st)) return false; i = pos; } return true; }