I moved up to 5.9.221.20: intl.status and test262.status are already 
patched.

The patches for the C++ source files fix the issue with the test of UTC 
Etc/UTC. As a side note: I had to apply the patch to the *i18n.cc* source 
file, instead of *intl.cc* and *src/objects/int-objects.cc.*

Patch is below:

diff --git a/src/i18n.cc b/src/i18n.cc
index 79a70daf62..7a8d847034 100644
--- a/src/i18n.cc
+++ b/src/i18n.cc
@@ -28,7 +28,7 @@
 #include "unicode/rbbi.h"
 #include "unicode/smpdtfmt.h"
 #include "unicode/timezone.h"
-#include "unicode/uchar.h"
+#include "unicode/ustring.h"
 #include "unicode/ucol.h"
 #include "unicode/ucurr.h"
 #include "unicode/unum.h"
@@ -180,7 +180,13 @@ void SetResolvedDateSettings(Isolate* isolate,
   icu::UnicodeString canonical_time_zone;
   icu::TimeZone::getCanonicalID(time_zone, canonical_time_zone, status);
   if (U_SUCCESS(status)) {
-    if (canonical_time_zone == UNICODE_STRING_SIMPLE("Etc/GMT")) {
+    // In CLDR (http://unicode.org/cldr/trac/ticket/9943), Etc/UTC is made
+    // a separate timezone ID from Etc/GMT even though they're still the 
same
+    // timezone. We'd not have "Etc/GMT" here because we canonicalize it 
and
+    // other GMT-variants to "UTC" in intl.js and "UTC" is turned to 
"Etc/UTC"
+    // by ICU before getting here.
+    DCHECK(canonical_time_zone != UNICODE_STRING_SIMPLE("Etc/GMT"));
+    if (canonical_time_zone == UNICODE_STRING_SIMPLE("Etc/UTC")) {
       JSObject::SetProperty(
           resolved, factory->NewStringFromStaticChars("timeZone"),
           factory->NewStringFromStaticChars("UTC"), SLOPPY).Assert();

Il giorno giovedì 11 maggio 2017 11:14:21 UTC+2, Daniel Ehrenberg ha 
scritto:
>
> Upgrading to ICU 59 is something that's in progress upstream. Those 
> particular issues are addressed by recent or out-for-review patches: 
>
> - https://chromium-review.googlesource.com/c/499609/2/src/intl.cc 
> - https://chromium-review.googlesource.com/c/496406/ 
>
> Do things work for you if you patch those in locally? 
>
> Dan 
>
> On Wed, May 10, 2017 at 8:36 PM,  <pompi...@gmail.com <javascript:>> 
> wrote: 
> > I'm packaging V8 5.9.116.17 on Arch Linux using system installation of 
> ICU 
> > 59.1. 
> > 
> > Everything seems compatible apart the fact that two functions 
> u_strToUpper 
> > and u_strToLower now are in ustring.h, so I added the header to i18n.cc 
> > 
> > --- i18n.cc 2017-05-10 11:53:57.215319733 +0200 
> > +++ i18n_patched.cc 2017-05-10 11:53:50.241855309 +0200 
> > @@ -29,6 +29,7 @@ 
> >  #include "unicode/smpdtfmt.h" 
> >  #include "unicode/timezone.h" 
> >  #include "unicode/uchar.h" 
> > +#include "unicode/ustring.h" 
> >  #include "unicode/ucol.h" 
> >  #include "unicode/ucurr.h" 
> >  #include "unicode/unum.h" 
> > 
> > Build is fine if warnings are not considered errors. 
> > 
> > Then i run the checks like so: 
> > tools/run-tests.py --no-presubmit --outdir=out.gn --buildbot --arch=x64 
> > --mode=Release 
> > 
> > One assert in timezone.js 
> > (
> https://chromium.googlesource.com/v8/v8.git/+/5.9-lkgr/test/intl/date-format/timezone.js)
>  
>
> > fails saying that Etc/UTC is found instead of UTC. Shouldn't be UTC a 
> > shortcut to Etc/UTC ? Is the assert wrong or I have to configure ICU 
> 59.1 to 
> > a specific behavior ? 
> > 
> > Thank you, the assertion error is below. 
> > 
> > === intl/date-format/timezone === 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/assert.js:105: Error: 
> Failure: 
> > expected <UTC>, found <Etc/UTC>. 
> >   throw new Error(message); 
> >   ^ 
> > Error: Failure: expected <UTC>, found <Etc/UTC>. 
> >     at fail (/home/marcs/DevLab/aur/v8/src/v8/test/intl/assert.js:105:9) 
> >     at assertEquals 
> > (/home/marcs/DevLab/aur/v8/src/v8/test/intl/assert.js:114:5) 
> >     at 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/date-format/timezone.js:38:1 
> > Command: /home/marcs/DevLab/aur/v8/src/v8/out.gn/Release/d8 --test 
> > --random-seed=937151913 --no-turbo --allow-natives-syntax --nohard-abort 
> > --nodead-code-elimination --nofold-constants 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/assert.js 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/utils.js 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/regexp-prepare.js 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/date-format/timezone.js 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/regexp-assert.js 
> > === intl/date-format/timezone === 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/assert.js:105: Error: 
> Failure: 
> > expected <UTC>, found <Etc/UTC>. 
> >   throw new Error(message); 
> >   ^ 
> > Error: Failure: expected <UTC>, found <Etc/UTC>. 
> >     at fail (/home/marcs/DevLab/aur/v8/src/v8/test/intl/assert.js:105:9) 
> >     at assertEquals 
> > (/home/marcs/DevLab/aur/v8/src/v8/test/intl/assert.js:114:5) 
> >     at 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/date-format/timezone.js:38:1 
> > Command: /home/marcs/DevLab/aur/v8/src/v8/out.gn/Release/d8 --test 
> > --random-seed=937151913 --allow-natives-syntax --nohard-abort 
> > --nodead-code-elimination --nofold-constants 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/assert.js 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/utils.js 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/regexp-prepare.js 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/date-format/timezone.js 
> > /home/marcs/DevLab/aur/v8/src/v8/test/intl/regexp-assert.js 
> > 
> > -- 
> > -- 
> > v8-users mailing list 
> > v8-u...@googlegroups.com <javascript:> 
> > http://groups.google.com/group/v8-users 
> > --- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "v8-users" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to v8-users+u...@googlegroups.com <javascript:>. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to