Make shared static this() encoding table compilable
Basile B.
b2.temp at gmx.com
Mon Mar 14 10:07:52 UTC 2022
On Monday, 14 March 2022 at 09:40:00 UTC, zhad3 wrote:
> Hey everyone, I am in need of some help. I have written this
> Windows CP949 encoding table
> https://github.com/zhad3/zencoding/blob/main/windows949/source/zencoding/windows949/table.d which is used to convert CP949 to UTF-16.
>
> After some research about how to initialize immutable
> associative arrays people suggested using `shared static
> this()`. So far this worked for me, but I recently discovered
> that DMD cannot compile this in release mode with optimizations.
>
> `dub build --build=release` or `dmd` with `-release -O` fails:
>
> ```
> code windows949
> function
> zencoding.windows949.fromWindows949!(immutable(ubyte)[]).fromWindows949
> code table
> function zencoding.windows949.table._sharedStaticCtor_L29_C1
> dmd failed with exit code -11.
> ```
That's a compiler bug of type "ICE", the compiler crashes.
Try reducing to a simple module that does not use phobos and
report to bugzilla.
More information about the Digitalmars-d-learn
mailing list