Thread overview
Runtime Support
Jul 26, 2008
Oleksii Skidan
Jul 26, 2008
Sean Kelly
July 26, 2008
Hello everybody, I wonder if there's a way to disable run time support? For example, C++ is loosely tied to RTTI, exceptions and other run time stuff, and G++ gives us a way to disable them: --fno-rtti, --fno-exceptions etc... I guess other compilers do. But it seems no way to do the same thing in DMD or GDC.

Thanks in advance,
Oleksii.
July 26, 2008
Oleksii Skidan wrote:
> Hello everybody, I wonder if there's a way to disable run time support? For example, C++ is loosely tied to RTTI, exceptions and other run time stuff, and G++ gives us a way to disable them: --fno-rtti, --fno-exceptions etc... I guess other compilers do. But it seems no way to do the same thing in DMD or GDC.
> 
> Thanks in advance,
> Oleksii.

The D runtime library is heavily tied to TypeInfo/ClassInfo/ModuleInfo (D's RTTI "equivalent"). Thus removing these will break pretty much everything...

Exceptions should be possible to eliminate though...

I LLVMDC I've added a -noruntime switch, which will error out if it reaches an expression that implicitly invokes the runtime.

Tomas
July 26, 2008
== Quote from Oleksii Skidan (2210122@mail.ru)'s article
> Hello everybody, I wonder if there's a way to disable run time support? For
example, C++ is loosely tied to RTTI, exceptions and other run time stuff, and G++ gives us a way to disable them: --fno-rtti, --fno-exceptions etc... I guess other compilers do. But it seems no way to do the same thing in DMD or GDC.

There is no way to do this.  For better or worse, certain language features rely on the existence of compiler-generated TypeInfo.  People /have/ asked in the past for some way get rid of TypeInfo if they don't want it, but the request never got anywhere... probably because it would break these language features.


Sean