Opened 13 years ago
Closed 13 years ago
#3290 closed Bugs (fixed)
proto::extends compilation error with function type on intel-darwin
Reported by: | Owned by: | Eric Niebler | |
---|---|---|---|
Milestone: | Boost 1.40.0 | Component: | proto |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | proto extends function intel darwin | Cc: |
Description
These Spirit "actions" test failures on trunk:
- http://tinyurl.com/kpo5g7 (intel-darwin-10.1)
- http://tinyurl.com/qz8gcx (intel-darwin-11.0)
appear to be because of ambiguity between proto::as_child<Domain,T>(T&)
and proto::as_child<Domain,T>(const T&)
, like in #3021 (gcc-3.4 bug).
I think BOOST_PROTO_BROKEN_CONST_QUALIFIED_FUNCTIONS
(the workaround added in r53158 to fix #3021) also needs to be defined on those platforms.
Note that some toolsets using the same compiler versions appear to pass that test (http://tinyurl.com/pv8kwo), because in some cases the Intel compiler claims to be a gcc-3.4, so the existing workaround already kicks in.
So I'm not sure what the exact condition should be... probably either BOOST_WORKAROUND(__INTEL_COMPILER, BOOST_TESTED_AT(1100))
, or BOOST_WORKAROUND(__EDG_VERSION__, BOOST_TESTED_AT(310))
like for BOOST_PROTO_BROKEN_CONST_OVERLOADS
?
(In [57160]) work around EDG compiler bug, fixes #3290