Opened 13 years ago

Closed 13 years ago

#3290 closed Bugs (fixed)

proto::extends compilation error with function type on intel-darwin

Reported by: François Barel <frabar666@…> 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:

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?

Change History (1)

comment:1 by Eric Niebler, 13 years ago

Resolution: fixed
Status: newclosed

(In [57160]) work around EDG compiler bug, fixes #3290

Note: See TracTickets for help on using tickets.