Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp0x/constexpr-aggr2.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 c++/68782 // { dg-do compile { target c++11 } } #define assert(X) do { if (!(X)) __builtin_abort(); } while (0) struct holder { int& value; }; constexpr holder from_value(int& value) { return { value }; } struct aggr { int i; }; constexpr holder from_aggr(aggr& a) { return from_value(a.i); } int main() { aggr a { 42 }; // these don't fire assert( &from_value(a.i).value != nullptr ); assert( &a.i == &from_value(a.i).value ); // those do assert( &from_aggr(a).value != nullptr ); assert( &a.i == &from_aggr(a).value ); }