Bounty for -minimal compiler flag

Paulo Pinto pjmlp at progtools.org
Mon Feb 17 13:20:15 PST 2014


Am 17.02.2014 21:40, schrieb inout:
> On Monday, 17 February 2014 at 06:40:54 UTC, Paulo Pinto wrote:
>> On Sunday, 16 February 2014 at 23:40:58 UTC, 1100110 wrote:
>>> On 2/16/14, 10:18, Elie Morisse wrote:
>>>
>>>> IMHO an approach that would not involve making a binary choice between
>>>> "full D" and "minimal D" is to add an option to make the linker strip
>>>> druntime and Phobos' shared libraries (or any shared library, and it's
>>>> not specific to D btw) to the "lowest common denominator" required by a
>>>> bunch of libraries and applications. Wouldn't that fulfill one of the
>>>> two goals -nodruntime is trying to achieve as far as I understand
>>>> (saving memory)?
>>>>
>>>> And regarding the other goal, to help porting D to other platforms a
>>>> stub druntime would be cleaner than a hackish compiler flag that
>>>> requires many changes to DMD.
>>>
>>> No.  Any library compiled with -nogc will be 100% usable from a
>>> program compiled without it.  Same goes for -noexceptions, etc.
>>>
>>> This *is* a lowest common denominator.  And as such, the lowest
>>> common denominator is fully usable from code outside the subset.
>>>
>>> All these do is error on whatever feature they are disabling.
>>
>> However I doubt the other way around will work.
>>
>> Linking all those nice D libraries developed with standard D into
>> minimal D.
>>
>> But what do I know, I always enable everything in C++.
>>
>> --
>> Paulo
>
> Note that you can disable rtti/exceptions etc in C++ (and in fact
> we do that in all the companies that I have ever worked for since
> around 2005). The feature is there because it's very useful.
>
> This discussion is all about adding similar capabilities to D.

I know, did you read my last sentence? I usually enable everything
unless I cannot do it.

I find it a pain to mix and match third C++ libraries distributed in
binary form, exactly because of that.

That is one of the reasons behind C++'s complexity as the compilers need 
to tackle several flavours of the language.


--
Paulo


More information about the Digitalmars-d-announce mailing list