decay.hpp - anonymous enum problem

Hi, I have a project for Windows/Mac that builds fine using VS2010, but generates errors when I build using Xcode 4.6 with the Apple-provided GCC 4.2 compiler (required, as this project also uses wxWidgets). All of my own modules compile cleanly, but I get the following error output: SurfaceReader Group /users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp /users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp:28: '<anonymous enum>' is/uses anonymous type /users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp:28: Trying to instantiate 'template<class T> struct boost::remove_reference' /users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp:38: '<anonymous enum>' is/uses anonymous type /users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp:38: Trying to instantiate 'template<class T> struct boost::remove_reference' I realise that I haven't provided the command that Xcode is using to build the project - this isn't deliberate, but I can't seem to locate where Xcode provides this on-screen using the VoiceOver accessibility tool (I'm a totally blind developer). I don't include decay.hpp directly in any of my modules, but further research turned up: https://svn.boost.org/trac/boost/ticket/6362 If I can find the anonymous enum within the files included within decay.hpp I can patch it by providing a tag for the enum and I believe that this will rectify the issue. Can anybody point me at the appropriate file, or have I got to plough through the lot? I initially discovered this issue in Boost 1.54.0, but I can also reproduce it using 1.55.0. Many thanks in advance. Best wishes. Tim Burgess

I have a project for Windows/Mac that builds fine using VS2010, but generates errors when I build using Xcode 4.6 with the Apple-provided GCC 4.2 compiler (required, as this project also uses wxWidgets). All of my own modules compile cleanly, but I get the following error output:
SurfaceReader Group /users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp
/users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp:28: '<anonymous enum>' is/uses anonymous type /users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp:28: Trying to instantiate 'template<class T> struct boost::remove_reference' /users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp:38: '<anonymous enum>' is/uses anonymous type /users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp:38: Trying to instantiate 'template<class T> struct boost::remove_reference'
I realise that I haven't provided the command that Xcode is using to build the project - this isn't deliberate, but I can't seem to locate where Xcode provides this on-screen using the VoiceOver accessibility tool (I'm a totally blind developer). I don't include decay.hpp directly in any of my modules, but further research turned up:
https://svn.boost.org/trac/boost/ticket/6362
If I can find the anonymous enum within the files included within decay.hpp I can patch it by providing a tag for the enum and I believe that this will rectify the issue. Can anybody point me at the appropriate file, or have I got to plough through the lot?
I initially discovered this issue in Boost 1.54.0, but I can also reproduce it using 1.55.0.
I don't think this is anything to do with us: there are no anonymous unions in use in decay.hpp. I suspect this is a problem with the actual type being passed to decay from your code: do you have the complete instantiation backtrace? Sorry to not be more helpful, John

On 11/18/2013 7:16 AM, John Maddock wrote:
there are no anonymous unions in use in decay.hpp. I suspect this is a problem with the actual type being passed to decay from your code: do you have the complete instantiation backtrace?
Sorry to not be more helpful, John
The usual culprit in strange XCode compilation problems - in my experience - is some apple macro conflicting with valid names like: "nil_", "check", "verify", etc. Joel has graciously avoided the "nil_" issue in Fusion and Phoenix. I usually #undef the offending macro. Jeff

Hi John, I'm pretty much a newbie when it comes to Xcode, so I've no idea how to get you that trace - the Issue Navigator gives me no clues as to what's including/calling decay.hpp. Any clues/links to reading materials would be most welcome. Best wishes. Tim Burgess -----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of John Maddock Sent: 18 November 2013 12:17 To: boost@lists.boost.org Subject: Re: [boost] decay.hpp - anonymous enum problem
I have a project for Windows/Mac that builds fine using VS2010, but generates errors when I build using Xcode 4.6 with the Apple-provided GCC 4.2 compiler (required, as this project also uses wxWidgets). All of my own modules compile cleanly, but I get the following error output:
SurfaceReader Group /users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hp p
/users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp:28:
'<anonymous enum>' is/uses anonymous type
/users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp:28:
Trying to instantiate 'template<class T> struct boost::remove_reference'
/users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp:38:
'<anonymous enum>' is/uses anonymous type
/users/tim/developer/libraries/boost_1_54_0/boost/type_traits/decay.hpp:38:
Trying to instantiate 'template<class T> struct boost::remove_reference'
I realise that I haven't provided the command that Xcode is using to build the project - this isn't deliberate, but I can't seem to locate where Xcode provides this on-screen using the VoiceOver accessibility tool (I'm a totally blind developer). I don't include decay.hpp directly in any of my modules, but further research turned up:
https://svn.boost.org/trac/boost/ticket/6362
If I can find the anonymous enum within the files included within decay.hpp I can patch it by providing a tag for the enum and I believe that this will rectify the issue. Can anybody point me at the appropriate file, or have I got to plough through the lot?
I initially discovered this issue in Boost 1.54.0, but I can also reproduce it using 1.55.0.
I don't think this is anything to do with us: there are no anonymous unions in use in decay.hpp. I suspect this is a problem with the actual type being passed to decay from your code: do you have the complete instantiation backtrace? Sorry to not be more helpful, John _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (3)
-
Jeff Flinn
-
John Maddock
-
Tim Burgess