Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/opt/nrv8.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
// PR optimization/19531 // forbids NRV on volatile return value. // { dg-options -O2 } // { dg-do run } extern "C" { void abort(); } struct A { int d; A () { d = 123; } A (const A & o) { d = o.d; } A (volatile const A & o) { d = o.d + 2; } }; A bar() { volatile A l; return l; } int main() { A a = bar (); if (a.d != 125) abort(); return 0; }