google / szl

A compiler and runtime for the Sawzall language
Other
69 stars 16 forks source link

Build failure for using recent ICU library versions #29

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
If you build a recent ICU4C library (4.8 or newer) with the recommended build 
settings, szl will:-

1. Fail to build because:-
  (a) the UnicodeString(const char *) constructor is now marked "explicit" in line with C++ good practice, so it now needs to be explicitly invoked in cases where implicit calls were made; and
  (b) references to TimeZone and UnicodeString need to be qualified (i.e. icu::UnicodeString). This is an optional-but-recommended build setting in ICU.
2. Fail to run correctly because calls to icu::TimeZone::createTimeZone now 
return the Etc/Unknown zone for unknown timezone IDs. Szl expects it to return 
the GMT zone (which ICU hasn't done since 4.7).

The fixes are simple. A patch is attached to this bug report. The existing 
engine/language_tests/intrinsics/time_01.szl test acts as a unit test. (It 
fails with szl r53 and icu 4.8.)

Original issue reported on code.google.com by aecolley on 13 Oct 2013 at 7:56

Attachments: