Opened 8 years ago

Closed 8 years ago

#10460 closed Bugs (fixed)

Compiler error due to looser throw specifier

Reported by: mackrorysd@… Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: move
Version: Boost 1.55.0 Severity: Problem
Keywords: Cc:

Description

I'm running into errors when using C++ code generated by thrift and Boost 1.55.0 together. Errors of the form:

${BOOST_ROOT}/include/boost/move/core.hpp:70: error: looser throw specifier for 'boost::rv<T>::~rv() [with T = ...]'
error:   overriding 'virtual ... throw ()'

I'm not that familiar with the C++11 semantics involved, but some similar problems are discussed here:

http://stackoverflow.com/questions/6539009/gcc-exception-specification-of-default-destructor

http://stackoverflow.com/questions/24858417/using-c-boosts-format-object-as-an-exception-member

I was able to work around the problem by patching the header file as attached...

Attachments (1)

patch (354 bytes ) - added by anonymous 8 years ago.

Download all attachments as: .zip

Change History (3)

by anonymous, 8 years ago

Attachment: patch added

comment:1 by anonymous, 8 years ago

Summary: Copmiler error due to looser throw specifierCompiler error due to looser throw specifier

comment:2 by Ion Gaztañaga, 8 years ago

Resolution: fixed
Status: newclosed

Thanks. Patch applied in develop, commit:

SHA-1: 78e032ccf052b92b7f8c051eda6c6c6420f4db45

Note: See TracTickets for help on using tickets.