diff options
author | Karl Williamson <khw@cpan.org> | 2018-01-28 10:02:11 -0700 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2018-01-29 16:33:03 -0700 |
commit | 0b08cab0fc46a5f381ca18a451f55cf12c81d966 (patch) | |
tree | 516294b3147d650b5c4289b0355cf3e3a2c8daba /inline.h | |
parent | 7cf2d6c7983ca87681477f57869bf0779d8b2604 (diff) | |
download | perl-0b08cab0fc46a5f381ca18a451f55cf12c81d966.tar.gz |
Don't use variant_byte_number on MSVC6
See [perl #132766]
Diffstat (limited to 'inline.h')
-rw-r--r-- | inline.h | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -401,6 +401,8 @@ S_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep) | ( ( (PTR2nat(x) \ & PERL_WORD_BOUNDARY_MASK) >> 2)))) +# ifndef USING_MSVC6 + /* Do the word-at-a-time iff there is at least one usable full word. That * means that after advancing to a word boundary, there still is at least a * full word left. The number of bytes needed to advance is 'wordsize - @@ -458,7 +460,8 @@ S_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep) } while (x + PERL_WORDSIZE <= send); } -#endif +# endif /* End of ! MSVC6 */ +#endif /* End of ! EBCDIC */ /* Process per-byte */ while (x < send) { @@ -476,7 +479,10 @@ S_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep) return TRUE; } -#ifndef EBCDIC +#if ! defined(EBCDIC) && ! defined(USING_MSVC6) + +/* Apparent compiler error with MSVC6, so can't use this function. All callers + * to it must be compiled to use the EBCDIC fallback on MSVC6 */ PERL_STATIC_INLINE unsigned int S__variant_byte_number(PERL_UINTMAX_T word) |