[tlbuild] Asymptote compile errors on latest OS X (with libc++)

Mojca Miklavec mojca.miklavec.lists at gmail.com
Tue May 13 00:49:26 CEST 2014


On Tue, May 13, 2014 at 12:28 AM, John Bowman wrote:
> The ext/hash_map problem was already fixed in version 2.26. We don't use
> GNUC_PREREQ(4,3)
> anymore:
>
> #if defined __GNUC__ && defined __GNUC_MINOR__
> # define PREREQ(maj,min) \
>         ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
> #else
> # define PREREQ(maj,min) 1
> #endif
>
> #ifndef NOHASH
> #if PREREQ(4,3) || defined(__CYGWIN__)
>
> #if __cplusplus >= 201103L
> #include <memory>
> #include <unordered_map>
> #define EXT std
> #else
> #include <tr1/unordered_map>
> #define EXT std::tr1
> #endif

Even so clang identifies itself as

#define __GNUC_MINOR__ 2
#define __GNUC_PATCHLEVEL__ 1
#define __GNUC__ 4

and fails to satisfy the initial "#if PREREQ(4,3)", so it ends up with
the following code:

#else

#define EXT __gnu_cxx
#include <ext/hash_map>
#define unordered_map hash_map
#define unordered_multimap hash_multimap

#endif

despite having full C++11 support.

Mojca



More information about the tlbuild mailing list