This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: long long, C++ testsuite and -ansi -pedantic-errors
"Martin v. Loewis" wrote:
>
> > IMHO H.J.'s suggestion (wrap the long long stuff in __STRICT_ANSI__)
> > is a step in the right direction. This is indeed something that must
> > be fixed in the library, not in the test suite. AFAIK `long long' is
> > ill formed in C++, and requires a diagnostic (in conforming mode).
>
> It is ill-formed in application code; the C++ library is part of the
> implementation (of C++), and therefore can do whatever it pleases.
Oh, I forgot about that.
> I believe putting __extension__ in that please would be the correct
> solution. It would be incorrect, if
>
> a) there is a well-formed program that won't behave conforming due to
> the presence operator<<(long long), or
>
> b) there is an ill-formed program that won't be diagnosed as such,
> because of that operator.
>
> I believe a) is not the case, since that operator will never be
> invoked in a conforming program. b) is not the case because an
> ill-formed program had to declare an object of type long long to use
> this operator (or a conversion function, or so). Such declarations
> would themselves be diagnosed, so there is really no problem with
> using __extension__ in the library.
Yes, I think you're right.
Brane
--
Branko Čibej <branko.cibej@hermes.si>
HERMES SoftLab, Litijska 51, 1000 Ljubljana, Slovenia
voice: (+386 1) 586 53 49 fax: (+386 1) 586 52 70