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