Thread overview | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
July 04, 2015 What is TypeIdent in the ABI spec ? | ||||
---|---|---|---|---|
| ||||
http://dlang.org/abi.html#TypeIdent TypeIdent: I QualifiedName What is that ? |
July 05, 2015 Re: What is TypeIdent in the ABI spec ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to deadalnix | 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.
|
July 06, 2015 Re: What is TypeIdent in the ABI spec ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Sunday, 5 July 2015 at 05:23:41 UTC, Walter Bright wrote:
> 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.
Unresolved types in the ABI ? Is that even possible ?
|
July 07, 2015 Re: What is TypeIdent in the ABI spec ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to deadalnix | On 7/6/2015 3:52 PM, deadalnix wrote:
> On Sunday, 5 July 2015 at 05:23:41 UTC, Walter Bright wrote:
>> 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.
>
> Unresolved types in the ABI ? Is that even possible ?
I don't remember the cases, but yes.
|
July 07, 2015 Re: What is TypeIdent in the ABI spec ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Tuesday, 7 July 2015 at 07:24:45 UTC, Walter Bright wrote:
> On 7/6/2015 3:52 PM, deadalnix wrote:
>> On Sunday, 5 July 2015 at 05:23:41 UTC, Walter Bright wrote:
>>> 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.
>>
>> Unresolved types in the ABI ? Is that even possible ?
>
> I don't remember the cases, but yes.
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.
|
July 07, 2015 Re: What is TypeIdent in the ABI spec ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to deadalnix | 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: >> On 7/6/2015 3:52 PM, deadalnix wrote: >>> On Sunday, 5 July 2015 at 05:23:41 UTC, Walter Bright wrote: >>>> 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. >>> >>> Unresolved types in the ABI ? Is that even possible ? >> >> I don't remember the cases, but yes. > > 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. This might help: http://forum.dlang.org/post/mailman.192.1248786829.14071.digitalmars-d@puremagic.com |
July 07, 2015 Re: What is TypeIdent in the ABI spec ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to sid | On Tuesday, 7 July 2015 at 14:04:56 UTC, sid wrote:
> 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:
>>> On 7/6/2015 3:52 PM, deadalnix wrote:
>>>> On Sunday, 5 July 2015 at 05:23:41 UTC, Walter Bright wrote:
>>>>> 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.
>>>>
>>>> Unresolved types in the ABI ? Is that even possible ?
>>>
>>> I don't remember the cases, but yes.
>>
>> 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.
>
> This might help: http://forum.dlang.org/post/mailman.192.1248786829.14071.digitalmars-d@puremagic.com
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.
|
July 07, 2015 Re: What is TypeIdent in the ABI spec ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to deadalnix | 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
|
July 07, 2015 Re: What is TypeIdent in the ABI spec ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright Attachments:
| 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: > >> Unresolved types in the ABI ? Is that even possible ? >> > > I don't remember the cases, but yes. > 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 Hara |
Copyright © 1999-2021 by the D Language Foundation