view gcc/testsuite/g++.old-deja/g++.pt/crash38.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

// { 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>;