view gcc/testsuite/g++.old-deja/g++.pt/crash38.C @ 158:494b0b89df80 default tip

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

// { dg-do assemble  }
// Origin: Mark Mitchell <mark@codesourcery.com>

template <class T>
struct S {
  typedef typename T::Y<T>::Z X; // { dg-error "non-template" "non-template" } No Y in A
// { dg-message "note" "note" { target *-*-* } .-1 }
// { dg-error "does not declare" "not declare" { target *-*-* } .-2 }
  X x; // { dg-error "does not name a type" } No Y in A
};

struct A {
  struct Y {
    typedef A Z;
  };
};

template struct S<A>;