Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp1z/decomp47.C @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
// PR c++/87122 // { dg-do run { target c++14 } } // { dg-options "" } extern "C" void abort (); struct S { int a, b; }; int c; template <int N> void foo () { S x[4] = { { N, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; auto f = [](auto & y) { for (auto & [ u, v ] : y) // { dg-warning "structured bindings only available with" "" { target c++14_down } } { if ((u & 1) != 1 || v != u + 1 || u < N || u > 7 || (c & (1 << u)) || &u != &y[v / 2 - 1].a || &v != &y[v / 2 - 1].b) abort (); c |= 1 << u; } }; f (x); } int main () { foo<1> (); if (c != 0xaa) abort (); }