[1.48.0 Beta 1][fusion] MacTypes.h conflict with nil

reposted from "[1.48.0] Beta 1 is now available from SourceForge" thread for better visibilty. Mac 10.6 Xcode 3.2.6 gcc 4.2: In compiling our application, upgrading from boost_1_44_0 I get conflicts with MacTypes.h define of nil when compiling cons_fwd.hpp from fusion. Any thoughts? Jeff

On 10/29/2011 2:06 AM, Jeff Flinn wrote:
reposted from "[1.48.0] Beta 1 is now available from SourceForge" thread for better visibilty.
Mac 10.6 Xcode 3.2.6 gcc 4.2:
In compiling our application, upgrading from boost_1_44_0 I get conflicts with MacTypes.h define of nil when compiling cons_fwd.hpp from fusion.
Any thoughts?
I wouldn't mind renaming that on the Mac platform. I don't have access to a Mac right now, but if you can prepare a patch, I'll get the changes in. It should be an easy name change (I suggest nil_) with proper #ifdefs for detecting the Mac platform. Regards, -- Joel de Guzman http://www.boostpro.com http://boost-spirit.com

Joel de Guzman wrote:
On 10/29/2011 2:06 AM, Jeff Flinn wrote:
reposted from "[1.48.0] Beta 1 is now available from SourceForge" thread for better visibilty.
Mac 10.6 Xcode 3.2.6 gcc 4.2:
In compiling our application, upgrading from boost_1_44_0 I get conflicts with MacTypes.h define of nil when compiling cons_fwd.hpp from fusion.
Any thoughts?
I wouldn't mind renaming that on the Mac platform. I don't have access to a Mac right now, but if you can prepare a patch, I'll get the changes in. It should be an easy name change (I suggest nil_) with proper #ifdefs for detecting the Mac platform.
Regards,
I'd hate to see cruft added to fusion, however little to resolve this issue. I see 189 usages of nil in boost 1.44.0 and 202 in 1.47.0 primarily with spirit/xpressive. Both these boost versions compile fine with our code. I'm trying to understand what might be different with 1.48.0 that causes the conflict to arise. Is there a config file 'not' being included in 1.48 that was #undef'ing nil? I'll do a little more investigation. Thanks, Jeff

On 2.11.2011. 13:35, Jeff Flinn wrote:
I'd hate to see cruft added to fusion, however little to resolve this issue. I see 189 usages of nil in boost 1.44.0 and 202 in 1.47.0 primarily with spirit/xpressive. Both these boost versions compile fine with our code. I'm trying to understand what might be different with 1.48.0 that causes the conflict to arise. Is there a config file 'not' being included in 1.48 that was #undef'ing nil?
I'll do a little more investigation.
I've had this problem with 1.47 and 1.46 too with Clang on OS X and had to resort to manually renaming nil to nil_ in Fusion sources. I was hoping this was already fixed and that 1.48 will finally be fixed. AFAIK nil and Nil are Objective-C keywords and should not therefore be used in Boost code... -- "What Huxley teaches is that in the age of advanced technology, spiritual devastation is more likely to come from an enemy with a smiling face than from one whose countenance exudes suspicion and hate." Neil Postman
participants (3)
-
Domagoj Saric
-
Jeff Flinn
-
Joel de Guzman