Tasks #514
boost.thread doesn't work with gcc-4.5 in c++0x mode
Status: | Resolved | Start date: | 08/19/2011 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | M. Rolf | % Done: | 100% | |
Category: | - | |||
Target version: | NemoMath 0.1 |
Description
grrr
This was a nasty one (to find).
boost.thread doesn't work with gcc-4.5 in c++0x mode - Not a NemoMath bug, but right now breaks compatibility to boost.thread (under given conditions).
Just noting ...
Related issues
History
#1 Updated by M. Rolf almost 13 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 30
The general reason for using c++0x is that the new operator-features on Mappings (see r61)
require to evaluate the result-type of operator expressions such as (ClassA() * ClassB()).
The c++0x featured keyword decltype is a nice way to do that.
- GCC's language extension typeof. Doesn't compile for some reason:
sorry, unimplemented: mangling typeof, use decltype instead
Yet another compiler bug??? http://www.archivum.info/gnu.g++.help/2008-10/00024/Re-g++-4.3.2-4-problem-with-typeof.html
This solution would have the additional drawback, that the expression inside might be evaluated, which can
cause problems like 'division by zero'. - Boost 'typeof' package. Doesn't compile on TechFak system:
error: ‘::mpl_’ has not been declared
- There seems to a kind of 'private' version of decltype in GCC which is available without activating c++0x:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11756#c11
Using __decltype seems to work for GCC.
#2 Updated by M. Rolf almost 13 years ago
- Status changed from In Progress to Feedback
- % Done changed from 30 to 50
Introduced new option USE_CPP_0X, which is true by default.
Turn it off to use GCC-specific fallback (__decltype).
#3 Updated by Anonymous almost 13 years ago
Compiling again. Thx.
#4 Updated by M. Rolf almost 13 years ago
- Status changed from Feedback to Resolved
- % Done changed from 50 to 100
#5 Updated by M. Rolf almost 13 years ago
- Target version set to NemoMath 0.1