libc++ headers include debug header in Xcode 6.3 10.10 SDK/CLT packages
Originator: | mistydemeo | ||
Number: | rdar://20503249 | Date Originated: | 10-Apr-2015 |
Status: | Closed | Resolved: | |
Product: | Developer Tools | Product Version: | 6.3.0.0.1.1428348375 |
Classification: | Reproducible: | Yes |
Summary: In the Xcode 6.3 version of the OS X 10.10 SDK, and in the Command Line Tools for Xcode 6.3 package, many headers in libc++ unconditionally #include <__debug>. Because the __debug header is not included with the shipped headers, it is not possible to build C++ software which uses these headers. Affected headers are: __hash_table algorithm experimental/optional experimental/string_view iterator list string unordered_map unordered_set vector In Xcode 6.2, the __debug #include statement was conditional on #ifdef _LIBCPP_DEBUG, but in Xcode 6.3 they are unconditional. Steps to Reproduce: 1. Create a file named test.cpp with the following contents: #include <iterator> int main() {} 2. Run: clang++ test.cpp -o test Expected Results: The test program compiles. Actual Results: clang++ fails with the following error: In file included from test.cpp:1: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iterator:341:10: fatal error: '__debug' file not found #include <__debug> ^ 1 error generated. Version: Command Line Tools 6.3.0.0.1.1428348375 ProductVersion: 10.10.3 BuildVersion: 14D131 Notes: Configuration: Tested on OS X 10.10.3 using the Command Line Tools for Xcode 6.3; I can also confirm this occurs on OS X 10.10.3 with Xcode 6.3.
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!