Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#10468 closed Bugs (fixed)

Regression in boost::lockfree::spsc_queue.reset()

Reported by: mark.incley@… Owned by: timblechmann
Milestone: To Be Determined Component: lockfree
Version: Boost 1.56.0 Severity: Regression
Keywords: lockfree reset Cc:

Description

Hi,

With Boost 1.55, the following code compiles under MSVC 11 (Visual Studio 2012 with Update 4) without problem:

boost::lockfree::spsc_queue<int, boost::lockfree::capacity<1024> > spsc_queue; spsc_queue.reset();

However, the same code fails to compile under Boost 1.56, producing the following error:

1>C:\ThirdPartySDK\boost_1_56_0\boost\lockfree\spsc_queue.hpp(339): error C2660: 'boost::lockfree::detail::ringbuffer_base<T>::pop' : function does not take 1 arguments 1> with 1> [ 1> T=int 1> ] 1> C:\ThirdPartySDK\boost_1_56_0\boost\lockfree\spsc_queue.hpp(334) : while compiling class template member function 'void boost::lockfree::detail::ringbuffer_base<T>::reset(void)' 1> with 1> [ 1> T=int 1> ] 1> icd.cpp(308) : see reference to function template instantiation 'void boost::lockfree::detail::ringbuffer_base<T>::reset(void)' being compiled 1> with 1> [ 1> T=int 1> ] 1> C:\ThirdPartySDK\boost_1_56_0\boost\lockfree\spsc_queue.hpp(408) : see reference to class template instantiation 'boost::lockfree::detail::ringbuffer_base<T>' being compiled 1> with 1> [ 1> T=int 1> ] 1> C:\ThirdPartySDK\boost_1_56_0\boost\lockfree\spsc_queue.hpp(643) : see reference to class template instantiation 'boost::lockfree::detail::compile_time_sized_ringbuffer<T,MaxSize>' being compiled 1> with 1> [ 1> T=int, 1> MaxSize=1024 1> ] 1> icd.cpp(307) : see reference to class template instantiation 'boost::lockfree::spsc_queue<T,A0>' being compiled 1> with 1> [ 1> T=int, 1> A0=boost::lockfree::capacity<1024> 1> ]

Thanks Mark.

Change History (7)

comment:1 by timblechmann, 8 years ago

Resolution: fixed
Status: newclosed

fixed in git

comment:2 by anonymous, 8 years ago

Resolution: fixed
Status: closedreopened

Hi,

Just to say that the problem remains in the Boost 1.57 release.

comment:3 by timblechmann, 8 years ago

Resolution: fixed
Status: reopenedclosed

forgot to push ... now it is in develop

comment:4 by anonymous, 8 years ago

I took and compiled boost with msvc 2013 and I still see the same problem in my application. Compared the sources of 1.57 release and the master from git, and they are the same too.

Is the problem fixed?

comment:4 by anonymous, 8 years ago

I took and compiled boost with msvc 2013 and I still see the same problem in my application. Compared the sources of 1.57 release and the master from git, and they are the same too.

Is the problem fixed?

comment:4 by anonymous, 8 years ago

I took and compiled boost with msvc 2013 and I still see the same problem in my application. Compared the sources of 1.57 release and the master from git, and they are the same too.

Is the problem fixed?

comment:5 by anonymous, 8 years ago

Hi,

The problem now appears to be fixed in Boost 1.58 Beta 1.

Thanks for the fix. Mark.

Note: See TracTickets for help on using tickets.