view gcc/testsuite/g++.dg/ext/flexary14.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
line wrap: on
line source

// PR c++/69349 - template substitution error for flexible array members
// { dg-do compile }

template <class>
struct A;

template <class T>
struct A<T[]> { typedef int X; };

template <class T> int foo (T&, typename A<T>::X = 0) { return 0; }

struct B {
  int n, a[];     // { dg-error "10:ISO C\\+\\+ forbids flexible array member" }
};

void bar (B *b)
{
    foo (b->a);
}