From 83aba29ebee2bb0885ab2db04b3ad6b22463fe58 Mon Sep 17 00:00:00 2001 From: "kenton@google.com" Date: Thu, 7 Jan 2010 04:40:54 +0000 Subject: Detect and avoid broken unordered_map on OSX 10.5 / GCC 4.0.1. --- m4/stl_hash.m4 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/m4/stl_hash.m4 b/m4/stl_hash.m4 index 84765a28..08813c99 100644 --- a/m4/stl_hash.m4 +++ b/m4/stl_hash.m4 @@ -22,8 +22,14 @@ AC_DEFUN([AC_CXX_STL_HASH], if test -z "$ac_cv_cxx_hash_map_header"; then + # On OSX 1.5 / GCC 4.0.1 (the standard compiler on that platform), + # calling find() on a const unordered_map does not compile. So, we + # include a call to find() in our test to detect this broken + # implementation and avoid using it. Note that ext/hash_map works + # fine on this platform, so we'll end up using that. AC_TRY_COMPILE([#include <$location>], - [${namespace}::$name t], + [const ${namespace}::$name t; + t.find(1);], [ac_cv_cxx_hash_map_header="<$location>"; ac_cv_cxx_hash_namespace="$namespace"; ac_cv_cxx_hash_map_class="$name";]) -- cgit v1.2.3