From: Gennaro Prota (gennaro_prota_at_[hidden])
Date: 2003-02-15 12:23:12


On Sat, 15 Feb 2003 12:00:36 -0000, "John Maddock"
<jm_at_[hidden]> wrote:

>> Can't we detect
>> whether the compiler is supporting "long long" and only enable the
>> long long code under those circumstances? In fact, /don't/ we do
>> that?
>>
>> If this is just about inconvenient warnings, it seems to me that
>> telling people "disable long long support or disable the warning" is a
>> perfectly sensible approach.
>>
>> What am I missing?
>
>I agree completely: the issue is that older EDG compilers (prior to 3.0.0)
>don't signal whether they're in strict mode or not

Well, it's unfair to offload it on the compilers though. They aren't
certainly obliged to tell you that a non standard type is not
available. But I'm getting tired of all this discussion, I'm just
replying for the equity's sake. Just to set records straight: the
problem was not compilers; it's just that one should IMHO be able to
compile, let's say, boost::is_integral in strict mode, unless she does
use is_integral<long long>. If I just use is_integral<int>, why should
I get errors?

As you know (see

http://listarchives.boost.org/MailArchives/boost/msg29582.php

) __NO_LONG_LONG is just a 3.0 addition. There's a whole world of EDG
front ends that don't have it, and there's a whole world of EDG users
who want to compile in strict mode. BTW, Dave asked "can't we detect
whether the compiler is supporting long long?". Can we?

Genny.