19d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne//===----------------------------------------------------------------------===// 29d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne// 39d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne// The LLVM Compiler Infrastructure 49d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne// 59d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne// This file is dual licensed under the MIT and the University of Illinois Open 69d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne// Source Licenses. See LICENSE.TXT for details. 79d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne// 89d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne//===----------------------------------------------------------------------===// 99d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne 109d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne#include <assert.h> 119d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne#include <ext/hash_map> 129d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne#include <string> 139d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne 149d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourneint main() 159d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne{ 169d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne char str[] = "test"; 179d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne assert(__gnu_cxx::hash<const char *>()("test") == 189d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne std::hash<std::string>()("test")); 199d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne assert(__gnu_cxx::hash<char *>()(str) == std::hash<std::string>()("test")); 209d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne assert(__gnu_cxx::hash<char>()(42) == 42); 219d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne assert(__gnu_cxx::hash<signed char>()(42) == 42); 229d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne assert(__gnu_cxx::hash<unsigned char>()(42) == 42); 239d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne assert(__gnu_cxx::hash<short>()(42) == 42); 249d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne assert(__gnu_cxx::hash<unsigned short>()(42) == 42); 259d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne assert(__gnu_cxx::hash<int>()(42) == 42); 269d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne assert(__gnu_cxx::hash<unsigned int>()(42) == 42); 279d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne assert(__gnu_cxx::hash<long>()(42) == 42); 289d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne assert(__gnu_cxx::hash<unsigned long>()(42) == 42); 299d3d032c7d9686fbd31c776f65155367d3e19dcdPeter Collingbourne} 30