digitalmars.D - What is TypeIdent in the ABI spec ?
- deadalnix (4/4) Jul 04 2015 http://dlang.org/abi.html#TypeIdent
- Walter Bright (2/6) Jul 04 2015 It's used when there's an unresolved type.
- deadalnix (2/10) Jul 06 2015 Unresolved types in the ABI ? Is that even possible ?
- Walter Bright (2/13) Jul 07 2015 I don't remember the cases, but yes.
- deadalnix (3/17) Jul 07 2015 I don't think we mean the same thing by "Unresolved types" . If
- sid (3/21) Jul 07 2015 This might help:
- deadalnix (3/26) Jul 07 2015 I don't think so. The topic you link discuss parsing. This is
- Kenji Hara via Digitalmars-d (17/21) Jul 07 2015 In old days, Type::merge() had generated mangled name even for
- David Nadlinger (12/13) Jul 07 2015 I suppose it could happen if DMD tries to generate the mangle
http://dlang.org/abi.html#TypeIdent TypeIdent: I QualifiedName What is that ?
Jul 04 2015
On 7/4/2015 3:14 PM, deadalnix wrote:http://dlang.org/abi.html#TypeIdent TypeIdent: I QualifiedName What is that ?It's used when there's an unresolved type.
Jul 04 2015
On Sunday, 5 July 2015 at 05:23:41 UTC, Walter Bright wrote:On 7/4/2015 3:14 PM, deadalnix wrote:Unresolved types in the ABI ? Is that even possible ?http://dlang.org/abi.html#TypeIdent TypeIdent: I QualifiedName What is that ?It's used when there's an unresolved type.
Jul 06 2015
On 7/6/2015 3:52 PM, deadalnix wrote:On Sunday, 5 July 2015 at 05:23:41 UTC, Walter Bright wrote:I don't remember the cases, but yes.On 7/4/2015 3:14 PM, deadalnix wrote:Unresolved types in the ABI ? Is that even possible ?http://dlang.org/abi.html#TypeIdent TypeIdent: I QualifiedName What is that ?It's used when there's an unresolved type.
Jul 07 2015
On Tuesday, 7 July 2015 at 07:24:45 UTC, Walter Bright wrote:On 7/6/2015 3:52 PM, deadalnix wrote:I don't think we mean the same thing by "Unresolved types" . If the type is unknown, it is not possible to do codegen at all.On Sunday, 5 July 2015 at 05:23:41 UTC, Walter Bright wrote:I don't remember the cases, but yes.On 7/4/2015 3:14 PM, deadalnix wrote:Unresolved types in the ABI ? Is that even possible ?http://dlang.org/abi.html#TypeIdent TypeIdent: I QualifiedName What is that ?It's used when there's an unresolved type.
Jul 07 2015
On Tuesday, 7 July 2015 at 09:47:20 UTC, deadalnix wrote:On Tuesday, 7 July 2015 at 07:24:45 UTC, Walter Bright wrote:This might help: http://forum.dlang.org/post/mailman.192.1248786829.14071.digitalmars-d puremagic.comOn 7/6/2015 3:52 PM, deadalnix wrote:I don't think we mean the same thing by "Unresolved types" . If the type is unknown, it is not possible to do codegen at all.On Sunday, 5 July 2015 at 05:23:41 UTC, Walter Bright wrote:I don't remember the cases, but yes.On 7/4/2015 3:14 PM, deadalnix wrote:Unresolved types in the ABI ? Is that even possible ?http://dlang.org/abi.html#TypeIdent TypeIdent: I QualifiedName What is that ?It's used when there's an unresolved type.
Jul 07 2015
On Tuesday, 7 July 2015 at 14:04:56 UTC, sid wrote:On Tuesday, 7 July 2015 at 09:47:20 UTC, deadalnix wrote:I don't think so. The topic you link discuss parsing. This is about ABI. By the time ABI come into play, parsing is long done.On Tuesday, 7 July 2015 at 07:24:45 UTC, Walter Bright wrote:This might help: http://forum.dlang.org/post/mailman.192.1248786829.14071.digitalmars-d puremagic.comOn 7/6/2015 3:52 PM, deadalnix wrote:I don't think we mean the same thing by "Unresolved types" . If the type is unknown, it is not possible to do codegen at all.On Sunday, 5 July 2015 at 05:23:41 UTC, Walter Bright wrote:I don't remember the cases, but yes.On 7/4/2015 3:14 PM, deadalnix wrote:Unresolved types in the ABI ? Is that even possible ?http://dlang.org/abi.html#TypeIdent TypeIdent: I QualifiedName What is that ?It's used when there's an unresolved type.
Jul 07 2015
2015-07-07 16:24 GMT+09:00 Walter Bright via Digitalmars-d < digitalmars-d puremagic.com>:On 7/6/2015 3:52 PM, deadalnix wrote:In old days, Type::merge() had generated mangled name even for TypeIdentifier. It might be related to the topic. --- Recently, a similar mangling definition issue around template instance had reported, but finally it's marked as invalid. https://issues.dlang.org/show_bug.cgi?id=14592 Current dmd uses __U for the front-end only instances, but it won't appear in the generated symbols. It's just for the dmd-internal, so it's not documented in the spec. I think we can take same approach. As deadalnix pointed out, TypeIdentifier will never appear in any valid symbol names in object files. Therefore the definition would be dmd-internal specific, and can be removed from the spec. Kenji HaraUnresolved types in the ABI ? Is that even possible ?I don't remember the cases, but yes.
Jul 07 2015
On Monday, 6 July 2015 at 22:52:47 UTC, deadalnix wrote:Unresolved types in the ABI ? Is that even possible ?I suppose it could happen if DMD tries to generate the mangle string for a type that in some way or another forward-references itself. Unfortunately, I can't point you to a concrete example, but I've had all kinds of fun bugs in LDC due to DMD sending partially analyzed types to the glue layer. These issue often involved forward references and Voldemort types (or nested types of some other sort). Maybe just grep the symbol list of some large project for the pattern? — David
Jul 07 2015