Fredrik Roubert (2b658216) at 22 Dec 04:47
Using a NULL
dealloc will result in calling the wrong destructor, the base class destructor (which isn't virtual) instead of the actual one.
In the ICU4C default configuration (U_OVERRIDE_CXX_ALLOCATION=1
) this isn't immediately noticeable as the operator delete implementation there simply calls uprv_free()
without caring about what is being deleted, but other implementations (U_OVERRIDE_CXX_ALLOCATION=0
) aren't always as cavalier about this.
To resolve this, a new macro that declares a type appropriate dealloc is introduced and used to replace DECLARE_TYPE()
with NULL
dealloc for all ICU4C types with public destructors.
Tested using U_OVERRIDE_CXX_ALLOCATION=0
and TCMalloc.
Fredrik Roubert (2b658216) at 21 Dec 19:27
Bugfix: Don't use DECLARE_TYPE() with NULL dealloc.
Fredrik Roubert (f7aef637) at 21 Dec 04:21
added wrappers for LocaleDisplayNames
Fredrik Roubert (abd5a630) at 13 Dec 05:36
Fredrik Roubert (0d3ed8e0) at 12 Dec 07:13
added wrappers for MeasureUnit(locale, width) and getUnitDisplayName()
... and 1 more commit
Fredrik Roubert (aa63f31f) at 09 Oct 09:01
... and 2 more commits
Fredrik Roubert (fac56eac) at 23 May 09:12
Merge branch 'timezone' into 'main'
... and 1 more commit
Fredrik Roubert (501f64b4) at 23 May 08:02
I noticed that these were missing.
Fredrik Roubert (501f64b4) at 23 May 01:51
Add ICU 4.4 TimeZone display name types.
Fredrik Roubert (202e62f4) at 23 May 01:51
Fredrik Roubert (501f64b4) at 23 May 01:45
Add ICU 4.4 TimeZone display name types.
Fredrik Roubert (e37c1d9d) at 14 Apr 11:39
While the C++ implementation only overloads operators == and != I think that a lot of Python programmers would expect all comparison operators to be implemented (at least it surprised me when I couldn't simply sort a list of Locale objects).
Fredrik Roubert (e37c1d9d) at 14 Apr 11:15
Add support for all comparison operators to Locale.