
Hi John, the current clang (version 3.0 (trunk 135764)) is still emulating gcc-4.2.1 which leads to a lot of the tr1-tests failing with: boost/boost/tr1/detail/config_all.hpp:158:12: fatal error: '../4.2.1/utility' file not found # include BOOST_TR1_STD_HEADER(utility) ^ boost/boost/tr1/detail/config_all.hpp:100:44: note: expanded from: # define BOOST_TR1_STD_HEADER(name) <../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__/name> ^ 1 error generated. if your installed gcc is not 4.2.1. The attached patch fixes this by introducing a special case for clang. This fixes all but eight tr1-tests for clang trunk. Okay to commit? Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! Ingenieurgesellschaft für * voice: ++49 511 262926 57 ! Verkehrs- und Eisenbahnwesen mbH * fax : ++49 511 262926 99 ! Lister Straße 15 * juergen.hunold@ivembh.de ! www.ivembh.de * * Geschäftsführer: ! Sitz des Unternehmens: Hannover * Prof. Dr.-Ing. Thomas Siefer ! Amtsgericht Hannover, HRB 56965 * PD Dr.-Ing. Alfons Radtke !

On Fri, Jul 22, 2011 at 8:13 AM, Jürgen Hunold <juergen.hunold@ivembh.de> wrote:
Hi John,
the current clang (version 3.0 (trunk 135764)) is still emulating gcc-4.2.1 which leads to a lot of the tr1-tests failing with:
boost/boost/tr1/detail/config_all.hpp:158:12: fatal error: '../4.2.1/utility' file not found # include BOOST_TR1_STD_HEADER(utility) ^ boost/boost/tr1/detail/config_all.hpp:100:44: note: expanded from: # define BOOST_TR1_STD_HEADER(name) <../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__/name> ^ 1 error generated.
if your installed gcc is not 4.2.1.
The attached patch fixes this by introducing a special case for clang.
This fixes all but eight tr1-tests for clang trunk.
Okay to commit?
I don't understand why these tests are based on the compiler rather than the standard library? - Doug

The attached patch fixes this by introducing a special case for clang.
This fixes all but eight tr1-tests for clang trunk.
Okay to commit?
I don't understand why these tests are based on the compiler rather than the standard library?
They should be based on the std lib - but it's a circular dependency, we can't #include a std lib header to find out which lib it is, until we've figured where it is - for which we need to know what it is :( So the code makes the best guess it can based on the std C library and the compiler. Hope this makes sense, John.
participants (3)
-
Doug Gregor
-
John Maddock
-
Jürgen Hunold