[Issue 11881] -betterC switch suffers from bit rot

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Jan 8 07:48:05 PST 2014


https://d.puremagic.com/issues/show_bug.cgi?id=11881


Johannes Pfau <johannespfau at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |johannespfau at gmail.com


--- Comment #13 from Johannes Pfau <johannespfau at gmail.com> 2014-01-08 07:47:49 PST ---
@bearophile we discussed -fstandalone for gdc some time ago, maybe that's a
better name?

I think we should try to avoid TypeInfo whenever possbile, so +1 for removing
_d_assertm.

Long-term 
* _d_newclass should probably be replaced with a templated version.
* Array and associative arrays should probably be replaced with templates 
  (keeping the compiler magic, but using template internally instead of RTTI)

@Adam

I'd say we introduce a core/config.di file with this content:
------------------
enum RUNTIME_SUPPORTS_RTTI = false;
enum RUNTIME_SUPPORTS_UTF_FOREACH = false; /*forach(dchar x; "utf8")*/ 
enum RUNTIME_SUPPORTS_GC = false
------------------

If core/config.di isn't found the compiler automatically assumes false for all
flags, i.e. a minimal runtime.

The benefits of creating config.di instead of adding it to dmd.conf:
* Works for GDC (no config file)
* Works fine if you have multiple runtimes with different feature sets.
  Just change the include and link path and the compiler information about
  RUNTIME_SUPPORTS_RTTI etc always matches the exact runtime.
* Point 2 above might be interesting for GCC multilib configurations (you could 
  have one compiler which uses -mdminimal -mdnormal to select between different
  runtimes and automatically adjust the link paths. Exactly like -m32 and -m64 
  is implemented in GCC right now)

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list