diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/template/qualttp20.C')
-rw-r--r-- | gcc/testsuite/g++.dg/template/qualttp20.C | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/qualttp20.C b/gcc/testsuite/g++.dg/template/qualttp20.C new file mode 100644 index 000000000..f42981b52 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/qualttp20.C @@ -0,0 +1,36 @@ +// { dg-do compile } +// { dg-options "-pedantic -pedantic-errors" } + +// Copyright (C) 2001 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 15 Dec 2001 <nathan@codesourcery.com> + +// PR 2645 + +struct AS +{ + typedef void (myT) (); + struct L {}; + +}; + + +template <typename T> struct B1 : T +{ + typedef typename T::L __restrict__ r;// { dg-error "'__restrict__' qualifiers cannot" "" } + typedef typename T::myT __restrict__ p; + + // The following are DR 295 dependent + typedef typename T::myT volatile *myvolatile; + typename T::myT volatile *a; + myvolatile b; +}; +template <typename T> struct B2 : T +{ + // The following are DR 295 dependent + typedef typename T::myT const *myconst; + typename T::myT const *a; + myconst b; +}; + +B1<AS> b1; // { dg-message "instantiated" "" } +B2<AS> b2; |