| Index: third_party/re2/util/util.h
|
| diff --git a/third_party/re2/util/util.h b/third_party/re2/util/util.h
|
| index a4fdfcc936ac99577b5380216d3fe42f95a37f75..c59d91f2ccf85d356a39fc9012ad74543b197212 100644
|
| --- a/third_party/re2/util/util.h
|
| +++ b/third_party/re2/util/util.h
|
| @@ -9,16 +9,18 @@
|
| #include <stdio.h>
|
| #include <string.h>
|
| #include <stdint.h>
|
| -#include <stddef.h> // For size_t
|
| +#include <stddef.h> // For size_t
|
| #include <assert.h>
|
| #include <stdarg.h>
|
| -#ifndef WIN32
|
| -#include <sys/time.h>
|
| +#include <time.h> // For clock_gettime, CLOCK_REALTIME
|
| +#include <ctype.h> // For isdigit, isalpha
|
| +
|
| +#if !defined(_WIN32)
|
| +#include <sys/time.h> // For gettimeofday
|
| #endif
|
| -#include <time.h>
|
| -#include <ctype.h> // For isdigit, isalpha.
|
|
|
| // C++
|
| +#include <ctime>
|
| #include <vector>
|
| #include <string>
|
| #include <algorithm>
|
| @@ -29,9 +31,6 @@
|
| #include <utility>
|
| #include <set>
|
|
|
| -#include "build/build_config.h"
|
| -#include "base/third_party/dynamic_annotations/dynamic_annotations.h"
|
| -
|
| // Use std names.
|
| using std::set;
|
| using std::pair;
|
| @@ -46,7 +45,7 @@ using std::sort;
|
| using std::swap;
|
| using std::make_pair;
|
|
|
| -#if defined(__GNUC__) && !defined(USE_CXX0X) && !defined(_LIBCPP_ABI_VERSION) && !defined(OS_ANDROID)
|
| +#if defined(__GNUC__) && !defined(USE_CXX0X) && !defined(_LIBCPP_ABI_VERSION)
|
|
|
| #include <tr1/unordered_set>
|
| using std::tr1::unordered_set;
|
| @@ -54,7 +53,7 @@ using std::tr1::unordered_set;
|
| #else
|
|
|
| #include <unordered_set>
|
| -#if defined(WIN32) || (defined(OS_ANDROID) && !defined(_LIBCPP_ABI_VERSION))
|
| +#if defined(_WIN32)
|
| using std::tr1::unordered_set;
|
| #else
|
| using std::unordered_set;
|
| @@ -62,6 +61,17 @@ using std::unordered_set;
|
|
|
| #endif
|
|
|
| +#ifdef _WIN32
|
| +
|
| +#define snprintf _snprintf_s
|
| +#define stricmp _stricmp
|
| +#define strtof strtod /* not really correct but best we can do */
|
| +#define strtoll _strtoi64
|
| +#define strtoull _strtoui64
|
| +#define vsnprintf vsnprintf_s
|
| +
|
| +#endif
|
| +
|
| namespace re2 {
|
|
|
| typedef int8_t int8;
|
| @@ -77,35 +87,31 @@ typedef unsigned long ulong;
|
| typedef unsigned int uint;
|
| typedef unsigned short ushort;
|
|
|
| +// Prevent the compiler from complaining about or optimizing away variables
|
| +// that appear unused.
|
| +#undef ATTRIBUTE_UNUSED
|
| +#if defined(__GNUC__)
|
| +#define ATTRIBUTE_UNUSED __attribute__ ((unused))
|
| +#else
|
| +#define ATTRIBUTE_UNUSED
|
| +#endif
|
| +
|
| // COMPILE_ASSERT causes a compile error about msg if expr is not true.
|
| #if __cplusplus >= 201103L
|
| #define COMPILE_ASSERT(expr, msg) static_assert(expr, #msg)
|
| #else
|
| template<bool> struct CompileAssert {};
|
| #define COMPILE_ASSERT(expr, msg) \
|
| - typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1]
|
| + typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1] ATTRIBUTE_UNUSED
|
| #endif
|
|
|
| -// DISALLOW_EVIL_CONSTRUCTORS disallows the copy and operator= functions.
|
| +// DISALLOW_COPY_AND_ASSIGN disallows the copy and operator= functions.
|
| // It goes in the private: declarations in a class.
|
| -#define DISALLOW_EVIL_CONSTRUCTORS(TypeName) \
|
| +#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
|
| TypeName(const TypeName&); \
|
| void operator=(const TypeName&)
|
|
|
| -#define arraysize(array) (sizeof(array)/sizeof((array)[0]))
|
| -
|
| -// Fake lock annotations. For real ones, see
|
| -// http://code.google.com/p/data-race-test/
|
| -#ifndef ANNOTATE_PUBLISH_MEMORY_RANGE
|
| -#define ANNOTATE_PUBLISH_MEMORY_RANGE(a, b)
|
| -#define ANNOTATE_IGNORE_WRITES_BEGIN()
|
| -#define ANNOTATE_IGNORE_WRITES_END()
|
| -#define ANNOTATE_BENIGN_RACE(a, b)
|
| -#define NO_THREAD_SAFETY_ANALYSIS
|
| -#define ANNOTATE_HAPPENS_BEFORE(x)
|
| -#define ANNOTATE_HAPPENS_AFTER(x)
|
| -#define ANNOTATE_UNPROTECTED_READ(x) (x)
|
| -#endif
|
| +#define arraysize(array) (int)(sizeof(array)/sizeof((array)[0]))
|
|
|
| class StringPiece;
|
|
|
| @@ -132,17 +138,10 @@ static inline uint64 Hash64StringWithSeed(const char* s, int len, uint32 seed) {
|
| return ((uint64)x << 32) | y;
|
| }
|
|
|
| -inline bool RunningOnValgrindOrMemorySanitizer() {
|
| -#if defined(MEMORY_SANITIZER)
|
| - return true;
|
| -#else
|
| - return RunningOnValgrind();
|
| -#endif
|
| -}
|
| +bool RunningOnValgrind();
|
|
|
| } // namespace re2
|
|
|
| -#include "util/arena.h"
|
| #include "util/logging.h"
|
| #include "util/mutex.h"
|
| #include "util/utf.h"
|
|
|