Opened 8 years ago

Closed 7 years ago

#11222 closed Bugs (fixed)

intrusive/pointer_traits.hpp fails to compile with C++98

Reported by: Marc Mondesir <marcm@…> Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: intrusive
Version: Boost 1.58.0 Severity: Showstopper
Keywords: Cc:

Description

boost/thread.hpp eventually includes boost/intrusive/pointer_traits.hpp. This gives compile errors, eg: /Source/SmartSound_109/0_SDK/Cross/boost/include/boost/intrusive/pointer_traits.hpp:36:1: Use of undeclared identifier 'check'

The error depends on a compile setting, (Project settings): Apple LLVM 6.0 - Language - C++

C++ Language Dialect

(set to) C++ 98 [std=c++98]

This is on Mac OS 10.9 with Xcode 6.2. I attached a sample project that fails to compile by simply including boost/thread.hpp in main.mm.

Attachments (1)

TestyApp.zip (42.8 KB ) - added by Marc Mondesir <marcm@…> 8 years ago.
Zip archive of project demonstrating problem.

Download all attachments as: .zip

Change History (4)

by Marc Mondesir <marcm@…>, 8 years ago

Attachment: TestyApp.zip added

Zip archive of project demonstrating problem.

comment:1 by Ion Gaztañaga, 7 years ago

It seems that current develop and master branches don't have this error (likely because the macro no longer uses a member "check" function which seems to be a macro in MacOs.

Can you test current develop version to see if the error is not present?

comment:2 by marcm@…, 7 years ago

I got the current head using Git. Including the header from that version builds without errors. Looks like it's fixed.

comment:3 by Ion Gaztañaga, 7 years ago

Resolution: fixed
Status: newclosed

Thanks for testing. The change was merged for the next release so I'm closing the ticket.

Note: See TracTickets for help on using tickets.