Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2001-04-11 17:32:17


Maybe we could just move the pragmas outside the class definition. Does that
work?

----- Original Message -----
From: "Ed Brey" <brey_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Tuesday, April 10, 2001 1:14 PM
Subject: [boost] smart_ptr: VC compiler error triggered by warning
suppression

> I recently tried upgrading my project's library to use the latest
> version of smart_ptr, and unfortunately, the pragmas that were added to
> suppress a spurious warning are triggering an internal compiler error on
> VC6.5. VC claims the line causing the problem is operator* in
> shared_ptr.
>
> The project is including smart_ptr.hpp in a precompiled header (and it
> would be nice to keep it there), although the error doesn't occur until
> a different translation unit is compiled and the template is
> instantiated. The program doesn't instantiate scoped_ptr; otherwise, it
> might also share the same fate.
>
> It doesn't matter whether incremental compilation is turned on or off:
> the error occurs either way.
>
> Removing the pragmas around operator-> from the scoped_ptr and
> shared_ptr classes and instead placing them at to the beginning and end
> of the file (right after the #includes and right before the final
> #endif) solves the problem. It seems that VC is somehow getting
> confused when it sees pragmas within a class definition.
>
>
>
> To unsubscribe, send email to: <mailto:boost-unsubscribe_at_[hidden]>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>


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