D-Programming-Language/dmd — pull request #3095 by ibuclaw (2014-01-14 22:57:07+00:00)
Title: Move rmem.h out of frontend headers

Until ``ArrayBase<>`` got dropped, ``rmem.h`` was quite safe to use in GDC because it was avoided to be used in the glue code - there's ``#pragma GCC poison malloc realloc free`` in GCC which prevents these from being used by code that interacts directly with it.

The internal use of ``Array<>`` has been removed from GDC https://github.com/D-Programming-GDC/GDC/commit/a41a2677a823aac742626e342b2c0584d3ce190f but unfortunately I still have to deal with the frontend using it. :-(

This patch makes the following changes in the frontend:
1. ``rmem.h`` is only included in source files.
2. ``array.h`` calls GCC-poison safe wrappers around ``mem.malloc``, ``mem.realloc``, and ``mem.free``.

This fixes compilation of GDC so that ``array.h`` can be included into the glue code that interacts with GCC.