Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: third_party/re2/patches/re2-msvc9-chrome.patch

Issue 564293002: Reduce diff to upstream re2 a bit. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/re2/mswin/stdint.h ('k') | third_party/re2/patches/this-null.patch » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 diff --git a/AUTHORS b/AUTHORS 1 diff --git a/AUTHORS b/AUTHORS
2 index 3c0f928..e17d9bf 100644 2 index 3c0f928..e17d9bf 100644
3 --- a/AUTHORS 3 --- a/AUTHORS
4 +++ b/AUTHORS 4 +++ b/AUTHORS
5 @@ -8,5 +8,6 @@ 5 @@ -8,5 +8,6 @@
6 6
7 # Please keep the list sorted. 7 # Please keep the list sorted.
8 8
9 +Brian Gunlogson <unixman83@gmail.com> 9 +Brian Gunlogson <unixman83@gmail.com>
10 Google Inc. 10 Google Inc.
11 Stefano Rivera <stefano.rivera@gmail.com> 11 Stefano Rivera <stefano.rivera@gmail.com>
12 diff --git a/CONTRIBUTORS b/CONTRIBUTORS 12 diff --git a/CONTRIBUTORS b/CONTRIBUTORS
13 index 7b44e04..7f6a93d 100644 13 index 7b44e04..7f6a93d 100644
14 --- a/CONTRIBUTORS 14 --- a/CONTRIBUTORS
15 +++ b/CONTRIBUTORS 15 +++ b/CONTRIBUTORS
16 @@ -26,6 +26,7 @@ 16 @@ -26,6 +26,7 @@
17 17
18 # Please keep the list sorted. 18 # Please keep the list sorted.
19 19
20 +Brian Gunlogson <unixman83@gmail.com> 20 +Brian Gunlogson <unixman83@gmail.com>
21 Dominic Battré <battre@chromium.org> 21 Dominic Battré <battre@chromium.org>
22 John Millikin <jmillikin@gmail.com> 22 John Millikin <jmillikin@gmail.com>
23 Rob Pike <r@google.com> 23 Rob Pike <r@google.com>
24 diff --git a/mswin/stdint.h b/mswin/stdint.h
25 new file mode 100644
26 index 0000000..d02608a
27 --- /dev/null
28 +++ b/mswin/stdint.h
29 @@ -0,0 +1,247 @@
30 +// ISO C9x compliant stdint.h for Microsoft Visual Studio
31 +// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
32 +//
33 +// Copyright (c) 2006-2008 Alexander Chemeris
34 +//
35 +// Redistribution and use in source and binary forms, with or without
36 +// modification, are permitted provided that the following conditions are met:
37 +//
38 +// 1. Redistributions of source code must retain the above copyright notice,
39 +// this list of conditions and the following disclaimer.
40 +//
41 +// 2. Redistributions in binary form must reproduce the above copyright
42 +// notice, this list of conditions and the following disclaimer in the
43 +// documentation and/or other materials provided with the distribution.
44 +//
45 +// 3. The name of the author may be used to endorse or promote products
46 +// derived from this software without specific prior written permission.
47 +//
48 +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
49 +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
50 +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
51 +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
52 +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
53 +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
54 +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
55 +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
56 +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
57 +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
58 +//
59 +///////////////////////////////////////////////////////////////////////////////
60 +
61 +#ifndef _MSC_VER // [
62 +#error "Use this header only with Microsoft Visual C++ compilers!"
63 +#endif // _MSC_VER ]
64 +
65 +#ifndef _MSC_STDINT_H_ // [
66 +#define _MSC_STDINT_H_
67 +
68 +#if _MSC_VER > 1000
69 +#pragma once
70 +#endif
71 +
72 +#include <limits.h>
73 +
74 +// For Visual Studio 6 in C++ mode and for many Visual Studio versions when
75 +// compiling for ARM we should wrap <wchar.h> include with 'extern "C++" {}'
76 +// or compiler give many errors like this:
77 +// error C2733: second C linkage of overloaded function 'wmemchr' not allowed
78 +#ifdef __cplusplus
79 +extern "C" {
80 +#endif
81 +# include <wchar.h>
82 +#ifdef __cplusplus
83 +}
84 +#endif
85 +
86 +// Define _W64 macros to mark types changing their size, like intptr_t.
87 +#ifndef _W64
88 +# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1 300
89 +# define _W64 __w64
90 +# else
91 +# define _W64
92 +# endif
93 +#endif
94 +
95 +
96 +// 7.18.1 Integer types
97 +
98 +// 7.18.1.1 Exact-width integer types
99 +
100 +// Visual Studio 6 and Embedded Visual C++ 4 doesn't
101 +// realize that, e.g. char has the same size as __int8
102 +// so we give up on __intX for them.
103 +#if (_MSC_VER < 1300)
104 + typedef signed char int8_t;
105 + typedef signed short int16_t;
106 + typedef signed int int32_t;
107 + typedef unsigned char uint8_t;
108 + typedef unsigned short uint16_t;
109 + typedef unsigned int uint32_t;
110 +#else
111 + typedef signed __int8 int8_t;
112 + typedef signed __int16 int16_t;
113 + typedef signed __int32 int32_t;
114 + typedef unsigned __int8 uint8_t;
115 + typedef unsigned __int16 uint16_t;
116 + typedef unsigned __int32 uint32_t;
117 +#endif
118 +typedef signed __int64 int64_t;
119 +typedef unsigned __int64 uint64_t;
120 +
121 +
122 +// 7.18.1.2 Minimum-width integer types
123 +typedef int8_t int_least8_t;
124 +typedef int16_t int_least16_t;
125 +typedef int32_t int_least32_t;
126 +typedef int64_t int_least64_t;
127 +typedef uint8_t uint_least8_t;
128 +typedef uint16_t uint_least16_t;
129 +typedef uint32_t uint_least32_t;
130 +typedef uint64_t uint_least64_t;
131 +
132 +// 7.18.1.3 Fastest minimum-width integer types
133 +typedef int8_t int_fast8_t;
134 +typedef int16_t int_fast16_t;
135 +typedef int32_t int_fast32_t;
136 +typedef int64_t int_fast64_t;
137 +typedef uint8_t uint_fast8_t;
138 +typedef uint16_t uint_fast16_t;
139 +typedef uint32_t uint_fast32_t;
140 +typedef uint64_t uint_fast64_t;
141 +
142 +// 7.18.1.4 Integer types capable of holding object pointers
143 +#ifdef _WIN64 // [
144 + typedef signed __int64 intptr_t;
145 + typedef unsigned __int64 uintptr_t;
146 +#else // _WIN64 ][
147 + typedef _W64 signed int intptr_t;
148 + typedef _W64 unsigned int uintptr_t;
149 +#endif // _WIN64 ]
150 +
151 +// 7.18.1.5 Greatest-width integer types
152 +typedef int64_t intmax_t;
153 +typedef uint64_t uintmax_t;
154 +
155 +
156 +// 7.18.2 Limits of specified-width integer types
157 +
158 +#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 2 20 at page 257 and footnote 221 at page 259
159 +
160 +// 7.18.2.1 Limits of exact-width integer types
161 +#define INT8_MIN ((int8_t)_I8_MIN)
162 +#define INT8_MAX _I8_MAX
163 +#define INT16_MIN ((int16_t)_I16_MIN)
164 +#define INT16_MAX _I16_MAX
165 +#define INT32_MIN ((int32_t)_I32_MIN)
166 +#define INT32_MAX _I32_MAX
167 +#define INT64_MIN ((int64_t)_I64_MIN)
168 +#define INT64_MAX _I64_MAX
169 +#define UINT8_MAX _UI8_MAX
170 +#define UINT16_MAX _UI16_MAX
171 +#define UINT32_MAX _UI32_MAX
172 +#define UINT64_MAX _UI64_MAX
173 +
174 +// 7.18.2.2 Limits of minimum-width integer types
175 +#define INT_LEAST8_MIN INT8_MIN
176 +#define INT_LEAST8_MAX INT8_MAX
177 +#define INT_LEAST16_MIN INT16_MIN
178 +#define INT_LEAST16_MAX INT16_MAX
179 +#define INT_LEAST32_MIN INT32_MIN
180 +#define INT_LEAST32_MAX INT32_MAX
181 +#define INT_LEAST64_MIN INT64_MIN
182 +#define INT_LEAST64_MAX INT64_MAX
183 +#define UINT_LEAST8_MAX UINT8_MAX
184 +#define UINT_LEAST16_MAX UINT16_MAX
185 +#define UINT_LEAST32_MAX UINT32_MAX
186 +#define UINT_LEAST64_MAX UINT64_MAX
187 +
188 +// 7.18.2.3 Limits of fastest minimum-width integer types
189 +#define INT_FAST8_MIN INT8_MIN
190 +#define INT_FAST8_MAX INT8_MAX
191 +#define INT_FAST16_MIN INT16_MIN
192 +#define INT_FAST16_MAX INT16_MAX
193 +#define INT_FAST32_MIN INT32_MIN
194 +#define INT_FAST32_MAX INT32_MAX
195 +#define INT_FAST64_MIN INT64_MIN
196 +#define INT_FAST64_MAX INT64_MAX
197 +#define UINT_FAST8_MAX UINT8_MAX
198 +#define UINT_FAST16_MAX UINT16_MAX
199 +#define UINT_FAST32_MAX UINT32_MAX
200 +#define UINT_FAST64_MAX UINT64_MAX
201 +
202 +// 7.18.2.4 Limits of integer types capable of holding object pointers
203 +#ifdef _WIN64 // [
204 +# define INTPTR_MIN INT64_MIN
205 +# define INTPTR_MAX INT64_MAX
206 +# define UINTPTR_MAX UINT64_MAX
207 +#else // _WIN64 ][
208 +# define INTPTR_MIN INT32_MIN
209 +# define INTPTR_MAX INT32_MAX
210 +# define UINTPTR_MAX UINT32_MAX
211 +#endif // _WIN64 ]
212 +
213 +// 7.18.2.5 Limits of greatest-width integer types
214 +#define INTMAX_MIN INT64_MIN
215 +#define INTMAX_MAX INT64_MAX
216 +#define UINTMAX_MAX UINT64_MAX
217 +
218 +// 7.18.3 Limits of other integer types
219 +
220 +#ifdef _WIN64 // [
221 +# define PTRDIFF_MIN _I64_MIN
222 +# define PTRDIFF_MAX _I64_MAX
223 +#else // _WIN64 ][
224 +# define PTRDIFF_MIN _I32_MIN
225 +# define PTRDIFF_MAX _I32_MAX
226 +#endif // _WIN64 ]
227 +
228 +#define SIG_ATOMIC_MIN INT_MIN
229 +#define SIG_ATOMIC_MAX INT_MAX
230 +
231 +#ifndef SIZE_MAX // [
232 +# ifdef _WIN64 // [
233 +# define SIZE_MAX _UI64_MAX
234 +# else // _WIN64 ][
235 +# define SIZE_MAX _UI32_MAX
236 +# endif // _WIN64 ]
237 +#endif // SIZE_MAX ]
238 +
239 +// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h>
240 +#ifndef WCHAR_MIN // [
241 +# define WCHAR_MIN 0
242 +#endif // WCHAR_MIN ]
243 +#ifndef WCHAR_MAX // [
244 +# define WCHAR_MAX _UI16_MAX
245 +#endif // WCHAR_MAX ]
246 +
247 +#define WINT_MIN 0
248 +#define WINT_MAX _UI16_MAX
249 +
250 +#endif // __STDC_LIMIT_MACROS ]
251 +
252 +
253 +// 7.18.4 Limits of other integer types
254 +
255 +#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnot e 224 at page 260
256 +
257 +// 7.18.4.1 Macros for minimum-width integer constants
258 +
259 +#define INT8_C(val) val##i8
260 +#define INT16_C(val) val##i16
261 +#define INT32_C(val) val##i32
262 +#define INT64_C(val) val##i64
263 +
264 +#define UINT8_C(val) val##ui8
265 +#define UINT16_C(val) val##ui16
266 +#define UINT32_C(val) val##ui32
267 +#define UINT64_C(val) val##ui64
268 +
269 +// 7.18.4.2 Macros for greatest-width integer constants
270 +#define INTMAX_C INT64_C
271 +#define UINTMAX_C UINT64_C
272 +
273 +#endif // __STDC_CONSTANT_MACROS ]
274 +
275 +
276 +#endif // _MSC_STDINT_H_ ]
277 diff --git a/re2/compile.cc b/re2/compile.cc 24 diff --git a/re2/compile.cc b/re2/compile.cc
278 index 9cddb71..adb45fd 100644 25 index 9cddb71..adb45fd 100644
279 --- a/re2/compile.cc 26 --- a/re2/compile.cc
280 +++ b/re2/compile.cc 27 +++ b/re2/compile.cc
281 @@ -502,7 +502,7 @@ int Compiler::RuneByteSuffix(uint8 lo, uint8 hi, bool foldca se, int next) { 28 @@ -502,7 +502,7 @@ int Compiler::RuneByteSuffix(uint8 lo, uint8 hi, bool foldca se, int next) {
282 return UncachedRuneByteSuffix(lo, hi, foldcase, next); 29 return UncachedRuneByteSuffix(lo, hi, foldcase, next);
283 } 30 }
284 31
285 - uint64 key = ((uint64)next << 17) | (lo<<9) | (hi<<1) | foldcase; 32 - uint64 key = ((uint64)next << 17) | (lo<<9) | (hi<<1) | foldcase;
286 + uint64 key = ((uint64)next << 17) | (lo<<9) | (hi<<1) | (foldcase ? 1ULL : 0U LL); 33 + uint64 key = ((uint64)next << 17) | (lo<<9) | (hi<<1) | (foldcase ? 1ULL : 0U LL);
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 #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; }) 260 #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; })
514 #define pcre_fullinfo(a, b, c, d) ({ (void)(a); (void)(b); (void)(c); *(d) = 0; 0; }) 261 #define pcre_fullinfo(a, b, c, d) ({ (void)(a); (void)(b); (void)(c); *(d) = 0; 0; })
515 +#else 262 +#else
516 +#define pcre_compile(a,b,c,d,e) NULL 263 +#define pcre_compile(a,b,c,d,e) NULL
517 +#define pcre_exec(a, b, c, d, e, f, g, h) NULL 264 +#define pcre_exec(a, b, c, d, e, f, g, h) NULL
518 +#define pcre_fullinfo(a, b, c, d) NULL 265 +#define pcre_fullinfo(a, b, c, d) NULL
519 +#endif 266 +#endif
520 } // namespace re2 267 } // namespace re2
521 #endif 268 #endif
522 269
523 diff --git a/util/stringprintf.cc b/util/stringprintf.cc
524 index c908181..d4691d1 100644
525 --- a/util/stringprintf.cc
526 +++ b/util/stringprintf.cc
527 @@ -4,6 +4,10 @@
528
529 #include "util/util.h"
530
531 +#ifndef va_copy
532 +#define va_copy(d,s) ((d) = (s)) //KLUGE: for MS compilers
533 +#endif
534 +
535 namespace re2 {
536
537 static void StringAppendV(string* dst, const char* format, va_list ap) {
538 diff --git a/util/test.cc b/util/test.cc 270 diff --git a/util/test.cc b/util/test.cc
539 index 0644829..2fe1bfa 100644 271 index 0644829..2fe1bfa 100644
540 --- a/util/test.cc 272 --- a/util/test.cc
541 +++ b/util/test.cc 273 +++ b/util/test.cc
542 @@ -3,7 +3,9 @@ 274 @@ -3,7 +3,9 @@
543 // license that can be found in the LICENSE file. 275 // license that can be found in the LICENSE file.
544 276
545 #include <stdio.h> 277 #include <stdio.h>
546 +#ifndef WIN32 278 +#ifndef WIN32
547 #include <sys/resource.h> 279 #include <sys/resource.h>
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
603 /* */ 335 /* */
604 @@ -4170,7 +4171,7 @@ typedef 336 @@ -4170,7 +4171,7 @@ typedef
605 VG_USERREQ__DISCARD_TRANSLATIONS, \ 337 VG_USERREQ__DISCARD_TRANSLATIONS, \
606 _qzz_addr, _qzz_len, 0, 0, 0); \ 338 _qzz_addr, _qzz_len, 0, 0, 0); \
607 } 339 }
608 - 340 -
609 +#endif 341 +#endif
610 342
611 /* These requests are for getting Valgrind itself to print something. 343 /* These requests are for getting Valgrind itself to print something.
612 Possibly with a backtrace. This is a really ugly hack. The return value 344 Possibly with a backtrace. This is a really ugly hack. The return value
OLDNEW
« no previous file with comments | « third_party/re2/mswin/stdint.h ('k') | third_party/re2/patches/this-null.patch » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698