V8 icu patch 4.x by MylesBorins · Pull Request #15562 · nodejs/node

@nodejs-github-bot added v4.x v8 engine

Issues and PRs related to the V8 dependency.

labels

Sep 22, 2017

Qantas94Heavy

bnoordhuis

bnoordhuis

hashseed

bnoordhuis

@bnoordhuis @MylesBorins

Original commit message:

    Allow ICU to normalize time zones

    There's at least one case of a time zone alias: Asia/Kathmandu aliases
    Asia/Katmandu. ICU seems to normalize to the (deprecated) latter choice.
    V8 internationalization choked on this change; this patch interprets
    ICU's output more precisely and allows it.

    BUG=chromium:487322
    R=jungshik,adamk
    LOG=Y

    Review URL: https://codereview.chromium.org/1509273007

    Cr-Commit-Position: refs/heads/master@{nodejs#32769}

PR-URL: nodejs#15562
Original commit message:

    Timezone name check fix

    1. Location names with more than one underscores (e.g. Ho_Chi_Minh)
       didn't work because of the way capturing works with repeated patterns
       in RE. It's now supported by changing the RE to capture the whole string
       and splitting on '_' in the next step.

    2. Adds support for location names with a hyphen

    3. Adds support for timezone ids with three parts (e.g.
       American/Argentina/Buenos_Aires)

    4. Adds special handling of 'au', 'es' and 'of' in zone ids. They need to be kept in lowercase. (see the full list at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones )

    5. Adds regression tests for all the above and make the existing tests
       more robust against future ICU changes. ICU canonicalizes zone names to
       deprecated names, but it may change. (
       http://bugs.icu-project.org/trac/ticket/12044 )

    BUG=364374
    LOG=Y

    Review URL: https://codereview.chromium.org/1529363005

    Cr-Commit-Position: refs/heads/master@{nodejs#33097}

PR-URL: nodejs#15562

MylesBorins

Qantas94Heavy

MylesBorins pushed a commit that referenced this pull request

Oct 18, 2017
The v8 and test-hash-seed targets cannot be run in parallel because they
need different copies of the deps/v8 directory.

Ref: #14004 (comment)
Backport-PR-URL: #15562
PR-URL: #14219
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>

MylesBorins pushed a commit that referenced this pull request

Oct 18, 2017
Original commit message:

    Fix compilation with GCC 5.2

    Fixes:

    ../../test/cctest/compiler/test-js-typed-lowering.cc:224:14:
     error: ‘kJSTypes’ defined but not used [-Werror=unused-variable]
      static Type* kJSTypes[] = {Type::Undefined(), Type::Null(),   Type::Boolean(),

    ../../src/bignum.cc: In member function
     ‘void v8::internal::Bignum::AssignDecimalString(Vector<const char>)’:
      ../../src/bignum.cc:80:6: error: assuming signed overflow does not occur when
      assuming that (X + c) < X is always false [-Werror=strict-overflow]

    ../../src/compiler/ia32/code-generator-ia32.cc:1366:3:
      required from here ../../src/base/logging.h:123:26:
       error: comparison between signed and unsigned integer expressions
       [-Werror=sign-compare] DEFINE_CHECK_OP_IMPL(EQ, ==)

    BUG=

    Review URL: https://codereview.chromium.org/1371823002

    Cr-Commit-Position: refs/heads/master@{#31095}

PR-URL: #15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

MylesBorins pushed a commit that referenced this pull request

Oct 18, 2017
Original commit message:

    GYP: Don't pass -Wno-format-pedantic to GCC.

    This flag is not understood correctly by GCC and breaks the GCC ARM and MIPS optdebug builds.

    Patch from Brendan Kirby <brendan.kirby@imgtec.com>

    BUG=

    Review URL: https://codereview.chromium.org/1369273003

    Cr-Commit-Position: refs/heads/master@{#31013}

PR-URL: #15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

MylesBorins pushed a commit that referenced this pull request

Oct 18, 2017
PR-URL: #15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

MylesBorins added a commit that referenced this pull request

Oct 18, 2017
Original commit message:

    Allow ICU to normalize time zones

    There's at least one case of a time zone alias: Asia/Kathmandu aliases
    Asia/Katmandu. ICU seems to normalize to the (deprecated) latter choice.
    V8 internationalization choked on this change; this patch interprets
    ICU's output more precisely and allows it.

    BUG=chromium:487322
    R=jungshik,adamk
    LOG=Y

    Review URL: https://codereview.chromium.org/1509273007

    Cr-Commit-Position: refs/heads/master@{#32769}

PR-URL: #15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

MylesBorins pushed a commit that referenced this pull request

Oct 18, 2017
Original commit message:

    Timezone name check fix

    1. Location names with more than one underscores (e.g. Ho_Chi_Minh)
       didn't work because of the way capturing works with repeated patterns
       in RE. It's now supported by changing the RE to capture the whole string
       and splitting on '_' in the next step.

    2. Adds support for location names with a hyphen

    3. Adds support for timezone ids with three parts (e.g.
       American/Argentina/Buenos_Aires)

    4. Adds special handling of 'au', 'es' and 'of' in zone ids. They need to be kept in lowercase. (see the full list at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones )

    5. Adds regression tests for all the above and make the existing tests
       more robust against future ICU changes. ICU canonicalizes zone names to
       deprecated names, but it may change. (
       http://bugs.icu-project.org/trac/ticket/12044 )

    BUG=364374
    LOG=Y

    Review URL: https://codereview.chromium.org/1529363005

    Cr-Commit-Position: refs/heads/master@{#33097}

PR-URL: #15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

MylesBorins pushed a commit that referenced this pull request

Oct 25, 2017
The v8 and test-hash-seed targets cannot be run in parallel because they
need different copies of the deps/v8 directory.

Ref: #14004 (comment)
Backport-PR-URL: #15562
PR-URL: #14219
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>

MylesBorins pushed a commit that referenced this pull request

Oct 25, 2017
Original commit message:

    Fix compilation with GCC 5.2

    Fixes:

    ../../test/cctest/compiler/test-js-typed-lowering.cc:224:14:
     error: ‘kJSTypes’ defined but not used [-Werror=unused-variable]
      static Type* kJSTypes[] = {Type::Undefined(), Type::Null(),   Type::Boolean(),

    ../../src/bignum.cc: In member function
     ‘void v8::internal::Bignum::AssignDecimalString(Vector<const char>)’:
      ../../src/bignum.cc:80:6: error: assuming signed overflow does not occur when
      assuming that (X + c) < X is always false [-Werror=strict-overflow]

    ../../src/compiler/ia32/code-generator-ia32.cc:1366:3:
      required from here ../../src/base/logging.h:123:26:
       error: comparison between signed and unsigned integer expressions
       [-Werror=sign-compare] DEFINE_CHECK_OP_IMPL(EQ, ==)

    BUG=

    Review URL: https://codereview.chromium.org/1371823002

    Cr-Commit-Position: refs/heads/master@{#31095}

PR-URL: #15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

MylesBorins pushed a commit that referenced this pull request

Oct 25, 2017
Original commit message:

    GYP: Don't pass -Wno-format-pedantic to GCC.

    This flag is not understood correctly by GCC and breaks the GCC ARM and MIPS optdebug builds.

    Patch from Brendan Kirby <brendan.kirby@imgtec.com>

    BUG=

    Review URL: https://codereview.chromium.org/1369273003

    Cr-Commit-Position: refs/heads/master@{#31013}

PR-URL: #15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

MylesBorins pushed a commit that referenced this pull request

Oct 25, 2017
PR-URL: #15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

MylesBorins added a commit that referenced this pull request

Oct 25, 2017
Original commit message:

    Allow ICU to normalize time zones

    There's at least one case of a time zone alias: Asia/Kathmandu aliases
    Asia/Katmandu. ICU seems to normalize to the (deprecated) latter choice.
    V8 internationalization choked on this change; this patch interprets
    ICU's output more precisely and allows it.

    BUG=chromium:487322
    R=jungshik,adamk
    LOG=Y

    Review URL: https://codereview.chromium.org/1509273007

    Cr-Commit-Position: refs/heads/master@{#32769}

PR-URL: #15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

MylesBorins pushed a commit that referenced this pull request

Oct 25, 2017
Original commit message:

    Timezone name check fix

    1. Location names with more than one underscores (e.g. Ho_Chi_Minh)
       didn't work because of the way capturing works with repeated patterns
       in RE. It's now supported by changing the RE to capture the whole string
       and splitting on '_' in the next step.

    2. Adds support for location names with a hyphen

    3. Adds support for timezone ids with three parts (e.g.
       American/Argentina/Buenos_Aires)

    4. Adds special handling of 'au', 'es' and 'of' in zone ids. They need to be kept in lowercase. (see the full list at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones )

    5. Adds regression tests for all the above and make the existing tests
       more robust against future ICU changes. ICU canonicalizes zone names to
       deprecated names, but it may change. (
       http://bugs.icu-project.org/trac/ticket/12044 )

    BUG=364374
    LOG=Y

    Review URL: https://codereview.chromium.org/1529363005

    Cr-Commit-Position: refs/heads/master@{#33097}

PR-URL: #15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

gibfahn pushed a commit to ibmruntimes/node that referenced this pull request

Nov 24, 2017
Original commit message:

    Fix compilation with GCC 5.2

    Fixes:

    ../../test/cctest/compiler/test-js-typed-lowering.cc:224:14:
     error: ‘kJSTypes’ defined but not used [-Werror=unused-variable]
      static Type* kJSTypes[] = {Type::Undefined(), Type::Null(),   Type::Boolean(),

    ../../src/bignum.cc: In member function
     ‘void v8::internal::Bignum::AssignDecimalString(Vector<const char>)’:
      ../../src/bignum.cc:80:6: error: assuming signed overflow does not occur when
      assuming that (X + c) < X is always false [-Werror=strict-overflow]

    ../../src/compiler/ia32/code-generator-ia32.cc:1366:3:
      required from here ../../src/base/logging.h:123:26:
       error: comparison between signed and unsigned integer expressions
       [-Werror=sign-compare] DEFINE_CHECK_OP_IMPL(EQ, ==)

    BUG=

    Review URL: https://codereview.chromium.org/1371823002

    Cr-Commit-Position: refs/heads/master@{#31095}

PR-URL: nodejs/node#15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

gibfahn pushed a commit to ibmruntimes/node that referenced this pull request

Nov 24, 2017
Original commit message:

    GYP: Don't pass -Wno-format-pedantic to GCC.

    This flag is not understood correctly by GCC and breaks the GCC ARM and MIPS optdebug builds.

    Patch from Brendan Kirby <brendan.kirby@imgtec.com>

    BUG=

    Review URL: https://codereview.chromium.org/1369273003

    Cr-Commit-Position: refs/heads/master@{#31013}

PR-URL: nodejs/node#15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

gibfahn pushed a commit to ibmruntimes/node that referenced this pull request

Nov 24, 2017
Original commit message:

    Allow ICU to normalize time zones

    There's at least one case of a time zone alias: Asia/Kathmandu aliases
    Asia/Katmandu. ICU seems to normalize to the (deprecated) latter choice.
    V8 internationalization choked on this change; this patch interprets
    ICU's output more precisely and allows it.

    BUG=chromium:487322
    R=jungshik,adamk
    LOG=Y

    Review URL: https://codereview.chromium.org/1509273007

    Cr-Commit-Position: refs/heads/master@{#32769}

PR-URL: nodejs/node#15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>

gibfahn pushed a commit to ibmruntimes/node that referenced this pull request

Nov 24, 2017
Original commit message:

    Timezone name check fix

    1. Location names with more than one underscores (e.g. Ho_Chi_Minh)
       didn't work because of the way capturing works with repeated patterns
       in RE. It's now supported by changing the RE to capture the whole string
       and splitting on '_' in the next step.

    2. Adds support for location names with a hyphen

    3. Adds support for timezone ids with three parts (e.g.
       American/Argentina/Buenos_Aires)

    4. Adds special handling of 'au', 'es' and 'of' in zone ids. They need to be kept in lowercase. (see the full list at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones )

    5. Adds regression tests for all the above and make the existing tests
       more robust against future ICU changes. ICU canonicalizes zone names to
       deprecated names, but it may change. (
       http://bugs.icu-project.org/trac/ticket/12044 )

    BUG=364374
    LOG=Y

    Review URL: https://codereview.chromium.org/1529363005

    Cr-Commit-Position: refs/heads/master@{#33097}

PR-URL: nodejs/node#15562
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>