merge with head

meow-7.2.2
callum_linden 2014-11-14 14:52:33 -08:00
commit cfb1779e26
5 changed files with 19 additions and 35 deletions

View File

@ -868,9 +868,9 @@
<key>archive</key>
<map>
<key>hash</key>
<string>c8ef73a589aa0023ecca876346f216df</string>
<string>a41182ffaabaf72fd170535c0879eac0</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/google-breakpad_3p-update-google-breakpad/rev/296779/arch/Darwin/installer/google_breakpad-1398.296779-darwin-296779.tar.bz2</string>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/google-breakpad_3p-update-google-breakpad/rev/294995/arch/Darwin/installer/google_breakpad-1332.294995-darwin-294995.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>

View File

@ -27,26 +27,7 @@
#ifndef LL_LLHASH_H
#define LL_LLHASH_H
#include "llpreprocessor.h" // for GCC_VERSION
#if (LL_WINDOWS)
#include <hash_map>
#include <algorithm>
#elif LL_DARWIN || LL_LINUX
# if GCC_VERSION >= 40300 // gcc 4.3 and up
# include <backward/hashtable.h>
# elif GCC_VERSION >= 30400 // gcc 3.4 and up
# include <ext/hashtable.h>
# elif __GNUC__ >= 3
# include <ext/stl_hashtable.h>
# else
# include <hashtable.h>
# endif
#elif LL_SOLARIS
#include <ext/hashtable.h>
#else
#error Please define your platform.
#endif
#include <boost/functional/hash.hpp>
// Warning - an earlier template-based version of this routine did not do
// the correct thing on Windows. Since this is only used to get
@ -55,17 +36,17 @@
inline size_t llhash( const char * value )
{
#if LL_WINDOWS
return stdext::hash_value(value);
#elif ( (defined _STLPORT_VERSION) || ((LL_LINUX) && (__GNUC__ <= 2)) )
std::hash<const char *> H;
return H(value);
#elif LL_DARWIN || LL_LINUX || LL_SOLARIS
__gnu_cxx::hash<const char *> H;
return H(value);
#else
#error Please define your platform.
#endif
// boost::hash is defined for std::string and for char, but there's no
// special overload for const char*. The lazy approach would be to
// instantiate a std::string and take its hash, but that might be more
// overhead than our callers want. Or we could use boost::hash_range() --
// but that would require a preliminary pass over the value to determine
// the end iterator. Instead, use boost::hash_combine() to hash individual
// characters.
std::size_t seed = 0;
for ( ; *value; ++value)
boost::hash_combine(seed, *value);
return seed;
}
#endif

View File

@ -84,6 +84,7 @@ namespace tut
template<> template<>
void frametimer_object_t::test<3>()
{
skip("fails with Xcode 6.x builds");
F64 seconds_since_epoch = LLFrameTimer::getTotalSeconds();
seconds_since_epoch += 2.0;
LLFrameTimer timer;

View File

@ -212,7 +212,7 @@ int main(int argc, char** argv)
char * end;
value = strtoul(optarg, &end, 10);
if (value < 0 || value > 100 || *end != '\0')
if (value > 100 || *end != '\0')
{
usage(std::cerr);
return 1;
@ -227,7 +227,7 @@ int main(int argc, char** argv)
char * end;
value = strtoul(optarg, &end, 10);
if (value < 0 || value > 3 || *end != '\0')
if (value > 3 || *end != '\0')
{
usage(std::cerr);
return 1;

View File

@ -76,7 +76,9 @@ const char FEATURE_TABLE_FILENAME[] = "featuretable%s.txt";
const char FEATURE_TABLE_VER_FILENAME[] = "featuretable%s.%s.txt";
#endif
#if 0 // consuming code in #if 0 below
const char GPU_TABLE_FILENAME[] = "gpu_table.txt";
#endif
const char GPU_TABLE_VER_FILENAME[] = "gpu_table.%s.txt";
LLFeatureInfo::LLFeatureInfo(const std::string& name, const BOOL available, const F32 level)