Chromium Code Reviews| Index: third_party/re2/patches/re2-msvc9-chrome.patch |
| diff --git a/third_party/re2/patches/re2-msvc9-chrome.patch b/third_party/re2/patches/re2-msvc9-chrome.patch |
| deleted file mode 100644 |
| index 49a2b751ed93fc58b153d05d392283118b892b57..0000000000000000000000000000000000000000 |
| --- a/third_party/re2/patches/re2-msvc9-chrome.patch |
| +++ /dev/null |
| @@ -1,344 +0,0 @@ |
| -diff --git a/AUTHORS b/AUTHORS |
|
battre
2015/12/10 13:32:05
This seems to be largely upstreamed. Everything co
|
| -index 3c0f928..e17d9bf 100644 |
| ---- a/AUTHORS |
| -+++ b/AUTHORS |
| -@@ -8,5 +8,6 @@ |
| - |
| - # Please keep the list sorted. |
| - |
| -+Brian Gunlogson <unixman83@gmail.com> |
| - Google Inc. |
| - Stefano Rivera <stefano.rivera@gmail.com> |
| -diff --git a/CONTRIBUTORS b/CONTRIBUTORS |
| -index 7b44e04..7f6a93d 100644 |
| ---- a/CONTRIBUTORS |
| -+++ b/CONTRIBUTORS |
| -@@ -26,6 +26,7 @@ |
| - |
| - # Please keep the list sorted. |
| - |
| -+Brian Gunlogson <unixman83@gmail.com> |
| - Dominic Battré <battre@chromium.org> |
| - John Millikin <jmillikin@gmail.com> |
| - Rob Pike <r@google.com> |
| -diff --git a/re2/compile.cc b/re2/compile.cc |
| -index 9cddb71..adb45fd 100644 |
| ---- a/re2/compile.cc |
| -+++ b/re2/compile.cc |
| -@@ -502,7 +502,7 @@ int Compiler::RuneByteSuffix(uint8 lo, uint8 hi, bool foldcase, int next) { |
| - return UncachedRuneByteSuffix(lo, hi, foldcase, next); |
| - } |
| - |
| -- uint64 key = ((uint64)next << 17) | (lo<<9) | (hi<<1) | foldcase; |
| -+ uint64 key = ((uint64)next << 17) | (lo<<9) | (hi<<1) | (foldcase ? 1ULL : 0ULL); |
| - map<uint64, int>::iterator it = rune_cache_.find(key); |
| - if (it != rune_cache_.end()) |
| - return it->second; |
| -diff --git a/re2/prefilter_tree.cc b/re2/prefilter_tree.cc |
| -index d8bc37a..cdcf77e 100644 |
| ---- a/re2/prefilter_tree.cc |
| -+++ b/re2/prefilter_tree.cc |
| -@@ -8,6 +8,11 @@ |
| - #include "re2/prefilter_tree.h" |
| - #include "re2/re2.h" |
| - |
| -+#ifdef WIN32 |
| -+#include <stdio.h> |
| -+#define snprintf _snprintf |
| -+#endif |
| -+ |
| - DEFINE_int32(filtered_re2_min_atom_len, |
| - 3, |
| - "Strings less than this length are not stored as atoms"); |
| -diff --git a/re2/re2.cc b/re2/re2.cc |
| -index 8d1d468..0da886d 100644 |
| ---- a/re2/re2.cc |
| -+++ b/re2/re2.cc |
| -@@ -11,7 +11,13 @@ |
| - |
| - #include <stdio.h> |
| - #include <string> |
| -+#ifdef WIN32 |
| -+#define strtoll _strtoi64 |
| -+#define strtoull _strtoui64 |
| -+#define strtof strtod |
| -+#else |
| - #include <pthread.h> |
| -+#endif |
| - #include <errno.h> |
| - #include "util/util.h" |
| - #include "util/flags.h" |
| -@@ -31,10 +37,22 @@ const VariadicFunction2<bool, const StringPiece&, const RE2&, RE2::Arg, RE2::Par |
| - const VariadicFunction2<bool, StringPiece*, const RE2&, RE2::Arg, RE2::ConsumeN> RE2::Consume; |
| - const VariadicFunction2<bool, StringPiece*, const RE2&, RE2::Arg, RE2::FindAndConsumeN> RE2::FindAndConsume; |
| - |
| --// This will trigger LNK2005 error in MSVC. |
| --#ifndef COMPILER_MSVC |
| --const int RE2::Options::kDefaultMaxMem; // initialized in re2.h |
| --#endif // COMPILER_MSVC |
| -+#define kDefaultMaxMem (8<<20) |
| -+ |
| -+RE2::Options::Options() |
| -+ : encoding_(EncodingUTF8), |
| -+ posix_syntax_(false), |
| -+ longest_match_(false), |
| -+ log_errors_(true), |
| -+ max_mem_(kDefaultMaxMem), |
| -+ literal_(false), |
| -+ never_nl_(false), |
| -+ never_capture_(false), |
| -+ case_sensitive_(true), |
| -+ perl_classes_(false), |
| -+ word_boundary_(false), |
| -+ one_line_(false) { |
| -+} |
| - |
| - RE2::Options::Options(RE2::CannedOptions opt) |
| - : encoding_(opt == RE2::Latin1 ? EncodingLatin1 : EncodingUTF8), |
| -diff --git a/re2/re2.h b/re2/re2.h |
| -index 272028b..c509853 100644 |
| ---- a/re2/re2.h |
| -+++ b/re2/re2.h |
| -@@ -552,28 +552,16 @@ class RE2 { |
| - // If this happens too often, RE2 falls back on the NFA implementation. |
| - |
| - // For now, make the default budget something close to Code Search. |
| -+#ifndef WIN32 |
| - static const int kDefaultMaxMem = 8<<20; |
| -+#endif |
| - |
| - enum Encoding { |
| - EncodingUTF8 = 1, |
| - EncodingLatin1 |
| - }; |
| - |
| -- Options() : |
| -- encoding_(EncodingUTF8), |
| -- posix_syntax_(false), |
| -- longest_match_(false), |
| -- log_errors_(true), |
| -- max_mem_(kDefaultMaxMem), |
| -- literal_(false), |
| -- never_nl_(false), |
| -- never_capture_(false), |
| -- case_sensitive_(true), |
| -- perl_classes_(false), |
| -- word_boundary_(false), |
| -- one_line_(false) { |
| -- } |
| -- |
| -+ Options(); |
| - /*implicit*/ Options(CannedOptions); |
| - |
| - Encoding encoding() const { return encoding_; } |
| -diff --git a/re2/stringpiece.h b/re2/stringpiece.h |
| -index ab9297c..38a5150 100644 |
| ---- a/re2/stringpiece.h |
| -+++ b/re2/stringpiece.h |
| -@@ -23,6 +23,9 @@ |
| - #include <cstddef> |
| - #include <iosfwd> |
| - #include <string> |
| -+#ifdef WIN32 |
| -+#include <algorithm> |
| -+#endif |
| - |
| - namespace re2 { |
| - |
| -diff --git a/re2/testing/re2_test.cc b/re2/testing/re2_test.cc |
| -index b99cacf..911e868 100644 |
| ---- a/re2/testing/re2_test.cc |
| -+++ b/re2/testing/re2_test.cc |
| -@@ -6,7 +6,9 @@ |
| - // TODO: Test extractions for PartialMatch/Consume |
| - |
| - #include <sys/types.h> |
| -+#ifndef WIN32 |
| - #include <sys/mman.h> |
| -+#endif |
| - #include <sys/stat.h> |
| - #include <errno.h> |
| - #include <vector> |
| -@@ -14,6 +16,11 @@ |
| - #include "re2/re2.h" |
| - #include "re2/regexp.h" |
| - |
| -+#ifdef WIN32 |
| -+#include <stdio.h> |
| -+#define snprintf _snprintf |
| -+#endif |
| -+ |
| - DECLARE_bool(logtostderr); |
| - |
| - namespace re2 { |
| -@@ -657,6 +664,7 @@ TEST(RE2, FullMatchTypedNullArg) { |
| - CHECK(!RE2::FullMatch("hello", "(.*)", (float*)NULL)); |
| - } |
| - |
| -+#ifndef WIN32 |
| - // Check that numeric parsing code does not read past the end of |
| - // the number being parsed. |
| - TEST(RE2, NULTerminated) { |
| -@@ -678,6 +686,7 @@ TEST(RE2, NULTerminated) { |
| - CHECK(RE2::FullMatch(StringPiece(v + pagesize - 1, 1), "(.*)", &x)); |
| - CHECK_EQ(x, 1); |
| - } |
| -+#endif |
| - |
| - TEST(RE2, FullMatchTypeTests) { |
| - // Type tests |
| -diff --git a/util/logging.h b/util/logging.h |
| -index 4443f7c..d0a2d87 100644 |
| ---- a/util/logging.h |
| -+++ b/util/logging.h |
| -@@ -7,8 +7,13 @@ |
| - #ifndef RE2_UTIL_LOGGING_H__ |
| - #define RE2_UTIL_LOGGING_H__ |
| - |
| -+#ifndef WIN32 |
| - #include <unistd.h> /* for write */ |
| -+#endif |
| - #include <sstream> |
| -+#ifdef WIN32 |
| -+#include <io.h> |
| -+#endif |
| - |
| - // Debug-only checking. |
| - #define DCHECK(condition) assert(condition) |
| -diff --git a/util/mutex.h b/util/mutex.h |
| -index 9787bfb..e321fae 100644 |
| ---- a/util/mutex.h |
| -+++ b/util/mutex.h |
| -@@ -12,8 +12,10 @@ |
| - |
| - namespace re2 { |
| - |
| -+#ifndef WIN32 |
| - #define HAVE_PTHREAD 1 |
| - #define HAVE_RWLOCK 1 |
| -+#endif |
| - |
| - #if defined(NO_THREADS) |
| - typedef int MutexType; // to keep a lock-count |
| -@@ -32,7 +34,9 @@ namespace re2 { |
| - # include <pthread.h> |
| - typedef pthread_mutex_t MutexType; |
| - #elif defined(WIN32) |
| --# define WIN32_LEAN_AND_MEAN // We only need minimal includes |
| -+# ifndef WIN32_LEAN_AND_MEAN |
| -+# define WIN32_LEAN_AND_MEAN // We only need minimal includes |
| -+# endif |
| - # ifdef GMUTEX_TRYLOCK |
| - // We need Windows NT or later for TryEnterCriticalSection(). If you |
| - // don't need that functionality, you can remove these _WIN32_WINNT |
| -diff --git a/util/pcre.cc b/util/pcre.cc |
| -index 5e67e1f..1602133 100644 |
| ---- a/util/pcre.cc |
| -+++ b/util/pcre.cc |
| -@@ -11,6 +11,11 @@ |
| - #include "util/flags.h" |
| - #include "util/pcre.h" |
| - |
| -+#ifdef WIN32 |
| -+#define strtoll _strtoi64 |
| -+#define strtoull _strtoui64 |
| -+#endif |
| -+ |
| - #define PCREPORT(level) LOG(level) |
| - |
| - // Default PCRE limits. |
| -diff --git a/util/pcre.h b/util/pcre.h |
| -index 4dda95d..771ac91 100644 |
| ---- a/util/pcre.h |
| -+++ b/util/pcre.h |
| -@@ -180,9 +180,15 @@ struct pcre_extra { int flags, match_limit, match_limit_recursion; }; |
| - #define PCRE_ERROR_MATCHLIMIT 2 |
| - #define PCRE_ERROR_RECURSIONLIMIT 3 |
| - #define PCRE_INFO_CAPTURECOUNT 0 |
| -+#ifndef WIN32 |
| - #define pcre_compile(a,b,c,d,e) ({ (void)(a); (void)(b); *(c)=""; *(d)=0; (void)(e); ((pcre*)0); }) |
| - #define pcre_exec(a, b, c, d, e, f, g, h) ({ (void)(a); (void)(b); (void)(c); (void)(d); (void)(e); (void)(f); (void)(g); (void)(h); 0; }) |
| - #define pcre_fullinfo(a, b, c, d) ({ (void)(a); (void)(b); (void)(c); *(d) = 0; 0; }) |
| -+#else |
| -+#define pcre_compile(a,b,c,d,e) NULL |
| -+#define pcre_exec(a, b, c, d, e, f, g, h) NULL |
| -+#define pcre_fullinfo(a, b, c, d) NULL |
| -+#endif |
| - } // namespace re2 |
| - #endif |
| - |
| -diff --git a/util/test.cc b/util/test.cc |
| -index 0644829..2fe1bfa 100644 |
| ---- a/util/test.cc |
| -+++ b/util/test.cc |
| -@@ -3,7 +3,9 @@ |
| - // license that can be found in the LICENSE file. |
| - |
| - #include <stdio.h> |
| -+#ifndef WIN32 |
| - #include <sys/resource.h> |
| -+#endif |
| - #include "util/test.h" |
| - |
| - DEFINE_string(test_tmpdir, "/var/tmp", "temp directory"); |
| -@@ -23,9 +25,13 @@ void RegisterTest(void (*fn)(void), const char *name) { |
| - |
| - namespace re2 { |
| - int64 VirtualProcessSize() { |
| -+#ifndef WIN32 |
| - struct rusage ru; |
| - getrusage(RUSAGE_SELF, &ru); |
| - return (int64)ru.ru_maxrss*1024; |
| -+#else |
| -+ return 0; |
| -+#endif |
| - } |
| - } // namespace re2 |
| - |
| -diff --git a/util/util.h b/util/util.h |
| -index c46ab1b..17ef824 100644 |
| ---- a/util/util.h |
| -+++ b/util/util.h |
| -@@ -12,7 +12,9 @@ |
| - #include <stddef.h> // For size_t |
| - #include <assert.h> |
| - #include <stdarg.h> |
| -+#ifndef WIN32 |
| - #include <sys/time.h> |
| -+#endif |
| - #include <time.h> |
| - #include <ctype.h> // For isdigit, isalpha. |
| - |
| -@@ -51,7 +53,11 @@ using std::tr1::unordered_set; |
| - #else |
| - |
| - #include <unordered_set> |
| -+#ifdef WIN32 |
| -+using std::tr1::unordered_set; |
| -+#else |
| - using std::unordered_set; |
| -+#endif |
| - |
| - #endif |
| - |
| -diff --git a/util/valgrind.h b/util/valgrind.h |
| -index ca10b1a..d097b0c 100644 |
| ---- a/util/valgrind.h |
| -+++ b/util/valgrind.h |
| -@@ -4064,6 +4064,7 @@ typedef |
| - #endif /* PLAT_ppc64_aix5 */ |
| - |
| - |
| -+#ifndef WIN32 |
| - /* ------------------------------------------------------------------ */ |
| - /* ARCHITECTURE INDEPENDENT MACROS for CLIENT REQUESTS. */ |
| - /* */ |
| -@@ -4170,7 +4171,7 @@ typedef |
| - VG_USERREQ__DISCARD_TRANSLATIONS, \ |
| - _qzz_addr, _qzz_len, 0, 0, 0); \ |
| - } |
| -- |
| -+#endif |
| - |
| - /* These requests are for getting Valgrind itself to print something. |
| - Possibly with a backtrace. This is a really ugly hack. The return value |