Boost logo

Boost :

From: williamkempf_at_[hidden]
Date: 2001-06-26 08:47:12


--- In boost_at_y..., John Max Skaller <skaller_at_o...> wrote:
> Jens Maurer wrote:
>
> > I'm using gcc 2.95.3 on Linux to compile this program:
> >
> > #include <boost/cstdint.hpp>
> >
> > int main()
> > {
> > boost::int32_t x;
> > boost::int64_t y;
> > }
> >
> > Here are the results:
> > no flags: int64_t undefined
> > -D_GNU_SOURCE: works
> > -ansi -D_GNU_SOURCE: works
> > -pedantic: int64_t undefined
> > -pedantic -D_GNU_SOURCE: "too many 'l's in integer constant"
> > -pedantic -Wno-long-long -D_GNU_SOURCE: "too many ..."
> >
> > Can you reproduce these results?
>
> Yes.
>
> >Could you try your original
> > problem again without -pedantic?
>
> OK. But I really want as much pedantry as possible
> to check that I'm really generating _conforming_ code,
> as I claim: ie. I want to make sure everything will
> work for other C++ compilers (which I can't test myself).
>
> ... (plays with the Felix build ..)..
>
> OK, this worked. Thanks.
>
> BTW: checkout Felix!

I don't know for sure what GCC is doing here (or what the Boost
cstdint.hpp is doing), but technically it would be correct in
producing an error here if strict ANSI C++ compliance were being
used. C++ does not have a "long long" type.

Bill Kempf


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk