List of DMD dependency issue (which would be sloved by a task based system)

Stefan Koch uplink.coder at googlemail.com
Fri Dec 4 15:07:40 UTC 2020


On Friday, 4 December 2020 at 10:05:57 UTC, Timon Gehr wrote:
> On 04.12.20 09:38, Stefan Koch wrote:
>> On Friday, 4 December 2020 at 07:20:38 UTC, Mr T. wrote:
>>> [...]
>> 
>> SDC does detect the ambiguity.
>> 
>> uplink at uplink-black:~/ambig$ ../d/SDC/bin/sdc main.d
>> main.d:4:0: error: Already defined
>> int main() {
>>      return 0;
>> //    return
>> ...
>
>
> So does my frontend (https://github.com/tgehr/d-compiler):
>
> ---
> mb.d:5:10: error: declaration of 'Y' is invalid
>     enum Y = 64;
>          ^
> main.d:4:15: note: this lookup should have resolved to it 
> otherwise
> immutable X = Y;    // no error!
>               ^
> ---
>
> Of course, it does not compile with versions of DMD newer than 
> 2.060 due to, ironically, dependency issues. (Rainer once found 
> a fix for the problem, but it caused some regressions.)
>
> There are various test cases here (many are for things other 
> than dependency issues, but IIRC DMD chokes on quite a few of 
> those too):
> https://github.com/tgehr/d-compiler/tree/master/test

Unfortunately I was reading the output wrongly ...
SDC rejected the main function itself because the name was 
clashing with the module name `main` :-/

Your front-end is more strict on this than SDC or DMD are.

Thanks for sharing your testcases.
I'll have a look as soon as I can dedicate some appropriate time.


More information about the Digitalmars-d mailing list