Boost logo

Boost :

From: Felipe Magno de Almeida (felipe.m.almeida_at_[hidden])
Date: 2008-03-28 16:21:41


Index: core/non_terminal/impl/static.hpp
===================================================================
--- core/non_terminal/impl/static.hpp (revisÆo 43915)
+++ core/non_terminal/impl/static.hpp (c¢pia de trabalho)
@@ -44,25 +44,26 @@
         typedef typename boost::call_traits<T>::reference reference;
         typedef typename boost::call_traits<T>::const_reference
const_reference;

- static_(Tag = Tag())
+ struct destructor
         {
- struct destructor
+ ~destructor()
             {
- ~destructor()
- {
- static_::get_address()->~value_type();
- }
- };
+ static_::get_address()->~value_type();
+ }
+ };

- struct default_ctor
+ struct default_ctor
+ {
+ static void construct()
             {
- static void construct()
- {
- ::new (static_::get_address()) value_type();
- static destructor d;
- }
- };
+ ::new (static_::get_address()) value_type();
+ static destructor d;
+ }
+ };

+ static_(Tag = Tag())
+ {
+
             boost::call_once(&default_ctor::construct, constructed_);
         }

On Fri, Mar 28, 2008 at 5:20 PM, Felipe Magno de Almeida
<felipe.m.almeida_at_[hidden]> wrote:
> Hi,
>
> There are linking errors on msvc 7.1 (and probably other compilers)
> with static.hpp.
> The structs destructor e default_ctor are defined inside static_ constructors.
> If I move them to outside the function, they link ok.
>
> Regards,
> --
> Felipe Magno de Almeida
>

-- 
Felipe Magno de Almeida

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