Boost logo

Boost Users :

Subject: [Boost-users] error compiling under Solaris10 in release mode
From: Magallo (m.galletti_at_[hidden])
Date: 2012-03-13 13:02:34


Hi all,
I am new to boost libraries and I find them very powerful.

I'm using the Boost.Interprocess library to make some interprocess
communication and synchronization.

I'm using mutexes and I was able to let my program build and work as
expected. This is good when I build it in Debug mode, when I switch to
release mode, i.e. using the -O2 or -O3 flag to optimize performances, the
compiler returns this error:

"boost/interprocess/detail/atomic.hpp:316: internal compiler error: in
rewrite_stmt, at tree-into-ssa.c:1380"
Please submit a full bug report,
with preprocessed source if appropriate.

When I use a debug compilation, without -O2, it works fine. Why that?

I read somewhere that I could try to define BOOST_SP_USE_PTHREADS but I
tryed and nothing changes.

Is it something related to the operating system?

I see that the error brings me to

inline boost::uint32_t atomic_cas32
   (volatile boost::uint32_t *mem, boost::uint32_t with, boost::uint32_t
cmp)
{ return __sync_val_compare_and_swap(const_cast<boost::uint32_t *>(mem),
cmp, with); }

in the atomic.hpp file.

The compiler is:
g++ --version
sparc-sun-solaris2.10-g++ (GCC) 4.2.1 (20090222) (gccfss)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

What could I do? Please help.

Cheers.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net