This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
RE: function overloading on __restrict__
J'ai mal aux cuisses et aux fesses aujourd'hui. C'est comme si j'avais
fait du sport hier :))
Dr Eric Fernandez
Project Leader
Physiomics plc
The Magdalen Centre
The Oxford Science Park
Oxford
OX4 4GA
UK
Tel: +44 (0)1865 784986
Web: http://www.physiomics-plc.com
Physiomics plc (Company # 4225086, VAT# GB 778 7496 48) is registered in
England and Wales at The Magdalen Centre, The Oxford Science Park,
Robert Robinson Avenue, Oxford OX4 4GA
> -----Original Message-----
> From: gcc-help-owner@gcc.gnu.org [mailto:gcc-help-owner@gcc.gnu.org]
> On Behalf Of Marc Glisse
> Sent: 18 March 2011 17:04
> To: Matthias Kretz
> Cc: gcc-help@gnu.org
> Subject: Re: function overloading on __restrict__
>
> On Fri, 18 Mar 2011, Matthias Kretz wrote:
>
> > it seems overloading on __restrict__ is not possible. I.e. GCC
> > complains
> > about:
> > void foo(float *__restrict__ mem) const; void foo(float *mem) const;
> >
> > This, to me, seems to have a very valid use case. Also the AIX C++
> > compiler docs (
> >
> http://publib.boulder.ibm.com/infocenter/comphelp/v7v91/index.jsp?topi
> >
> c=%2Fcom.ibm.vacpp7a.doc%2Flanguage%2Fref%2Fclrc03restrict_type_quali
> f
> > ier.htm) specify "The __restrict__ qualifier also affects parameter
> > type specifications for overloaded functions in the same way as a
> > cv-qualifier, thereby affecting the overload set."
>
> Please read this page more carefully.
>
> void foo(float *const mem) const;
> void foo(float *mem) const;
> fails.
>
> void foo(float *__restrict__* mem) const; void foo(float **mem) const;
> works.
>
> --
> Marc Glisse