Bug 23893 – DMD linking errors with -betterC

Status
NEW
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2023-05-05T18:58:15Z
Last change time
2024-12-13T19:28:34Z
Assigned to
No Owner
Creator
João Lourenço
Moved to GitHub: dmd#18165 →

Comments

Comment #0 by jlourenco5691 — 2023-05-05T18:58:15Z
This code fails to compile with DMD but compiles with LDC: ```d interface Foo {} // same with class extern(C) void main {} ```
Comment #1 by maxhaton — 2023-05-05T21:43:40Z
Reason number N + 1 why betterC shouldn't exist.
Comment #2 by razvan.nitu1305 — 2023-05-09T11:44:05Z
I would be tempted to make this a compiler error until classes are properly supported in betterC. I just don't see classes could ever compile when they inherit object and a bunch of typeinfo's are generated for them. How come this code compiles in ldc?
Comment #3 by alphaglosined — 2023-05-09T13:05:11Z
There are two ways this could work, I haven't really figured out which strategy is in play as RTInfo has the same set of problems. Either it's just not emitting it since it was disabled (ok, nothing wrong with that). Or its triggering emittance at the usage site rather than declaration.
Comment #4 by robert.schadek — 2024-12-13T19:28:34Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18165 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB