-// Build don't link:
-
-// Copyright (C) 1999 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 14 Nov 1999 <nathan@acm.org>
-// Test our restrict object pointer extension
-
-struct A
-{
- void f1() __restrict__;
- void g1(int *__restrict__);
- void f2() __restrict__;
- void g2(int *__restrict__);
- void f3();
- void g3(int *);
- void f4();
- void g4(int *);
-};
-
-void A::f1 () __restrict__ {}
-void A::g1 (int *__restrict__) {}
-
-void A::f2 () {}
-void A::g2 (int *) {}
-
-void A::f3 () __restrict__ {}
-void A::g3 (int *__restrict__) {}
-
-void A::f4 () {}
-void A::g4 (int *) {}
-
-template <class T> struct X
-{
- void f1() __restrict__;
- void g1(int *__restrict__);
- void f2() __restrict__;
- void g2(int *__restrict__);
- void f3();
- void g3(int *);
- void f4();
- void g4(int *);
-};
-
-template <class T> void X<T>::f1 () __restrict__ {}
-template <class T> void X<T>::g1 (int *__restrict__) {}
-template <class T> void X<T>::f2 () {}
-template <class T> void X<T>::g2 (int *) {}
-template <class T> void X<T>::f3 () __restrict__ {}
-template <class T> void X<T>::g3 (int *__restrict__) {}
-template <class T> void X<T>::f4 () {}
-template <class T> void X<T>::g4 (int *) {}
-
-void fn ()
-{
- X<int> g;
-
- g.f1 ();
- g.f2 ();
- g.f3 ();
- g.f4 ();
-}