diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2010-10-04 16:16:19 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2010-10-04 16:16:19 +0000 |
commit | 95f4f2cf6102f95abf6948d74907c44c3540eddd (patch) | |
tree | f3b6c986dac065190da8a3204a0eaa9b180feabf | |
parent | 36a23e86b6ab1265bbf883dd71bc844f7c9183f3 (diff) |
* If std::tr1::unordered_set is unavailable, use std::set.
-rw-r--r-- | configure.ac | 7 | ||||
-rw-r--r-- | src/libexpr/symbol-table.hh | 9 |
2 files changed, 16 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 094e6bd09..1caa9be5c 100644 --- a/configure.ac +++ b/configure.ac @@ -140,11 +140,18 @@ AC_LANG_POP(C++) AC_CHECK_HEADER([err.h], [], [bsddiff_compat_include="-Icompat-include"]) AC_SUBST([bsddiff_compat_include]) + # Check whether we have the personality() syscall, which allows us to # do i686-linux builds on x86_64-linux machines. AC_CHECK_HEADERS([sys/personality.h]) +# Check for tr1/unordered_set. +AC_LANG_PUSH(C++) +AC_CHECK_HEADERS([tr1/unordered_set], [], [], []) +AC_LANG_POP(C++) + + AC_DEFUN([NEED_PROG], [ AC_PATH_PROG($1, $2) diff --git a/src/libexpr/symbol-table.hh b/src/libexpr/symbol-table.hh index 424c23538..20ebe5fed 100644 --- a/src/libexpr/symbol-table.hh +++ b/src/libexpr/symbol-table.hh @@ -1,8 +1,13 @@ #ifndef __SYMBOL_TABLE_H #define __SYMBOL_TABLE_H +#include "config.h" + #include <map> + +#if HAVE_TR1_UNORDERED_SET #include <tr1/unordered_set> +#endif #include "types.hh" @@ -60,7 +65,11 @@ inline std::ostream & operator << (std::ostream & str, const Symbol & sym) class SymbolTable { private: +#if HAVE_TR1_UNORDERED_SET typedef std::tr1::unordered_set<string> Symbols; +#else + typedef std::set<string> Symbols; +#endif Symbols symbols; public: |