I've just opened a pull request for -fno-rtti at [1]. The frontend part
needs to go into DMD but I'd like some testing feedback first. This is
especially important as I had literally no time to test this
updated code ;-) Please provide feedback here or at [1].


-fno-rtti should provide nice, readable error messages:
test.d:22:14: error: Can't use typeid: TypeInfo disabled using
-fno-rtti switch.
     auto a = typeid(A);
              ^
It's however likely that I missed some cases. If you get linker errors
or a backend ICE instead of a nice error message please report that.



This also prevents the frontend from searching for TypeInfo in object.d
which means you can remove those useless fake declarations. A minimal
object.d now looks like this:
------------
module object;

class Object
{
}
------------
It can also be empty if you don't need support for classes. If GDC still
complains about missing TypeInfo please report that.


Note: right now the -fno-rtti switch is not hooked up with
-fno-emit-moduleinfo. So you'll probably want all 'fno-invariants
-fno-rtti -fno-emit-moduleinfo' options.

[1] https://github.com/D-Programming-GDC/GDC/pull/100

Reply via email to