Before the switchover from C++, it was possible to build DMD with the flags:
-fno-exceptions -fno-rtti -fasynchronous-unwind-tables
Since the change to D, it now only works to build with:
-fno-exceptions -fasynchronous-unwind-tables
Likely this is the compiler making use of certain feature that result in lowering that invoke `typeid()`. Ideally the compiler should not be doing this.
Comment #1 by dkorpel — 2022-08-11T09:57:36Z
> -fno-exceptions -fno-rtti -fasynchronous-unwind-tables
These are GDC flags I presume?
> Likely this is the compiler making use of certain feature that result in lowering that invoke `typeid()`.
Dynamic arrays and associative arrays are now being used in DMD's source code.
> Ideally the compiler should not be doing this.
Why not?
Comment #2 by robert.schadek — 2024-12-13T19:23:41Z