Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.old-deja/g++.ext/restrict1.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 } // 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 (); }