1// { dg-do compile } 2// { dg-options "-pedantic -pedantic-errors" } 3 4// Copyright (C) 2001 Free Software Foundation, Inc. 5// Contributed by Nathan Sidwell 15 Dec 2001 <nathan@codesourcery.com> 6 7// PR 2645 8 9struct AS 10{ 11 typedef void (myT) (); 12 struct L {}; 13 14}; 15 16 17template <typename T> struct B1 : T 18{ 19 typedef typename T::L __restrict__ r;// { dg-error "'__restrict__' qualifiers cannot" "" } 20 typedef typename T::myT __restrict__ p; 21 22 // The following are DR 295 dependent 23 typedef typename T::myT volatile *myvolatile; 24 typename T::myT volatile *a; 25 myvolatile b; 26}; 27template <typename T> struct B2 : T 28{ 29 // The following are DR 295 dependent 30 typedef typename T::myT const *myconst; 31 typename T::myT const *a; 32 myconst b; 33}; 34 35B1<AS> b1; // { dg-message "required" "" } 36B2<AS> b2; 37