Jump to page: 1 2
Thread overview
[Issue 17310] [SPEC] Ambiguous mangling for 'Y', Objective-C function or variadic arguments?
Apr 09, 2017
Iain Buclaw
Apr 14, 2017
Rainer Schuetze
Apr 15, 2017
Rainer Schuetze
Apr 15, 2017
Iain Buclaw
Apr 15, 2017
Iain Buclaw
Apr 15, 2017
Iain Buclaw
Apr 15, 2017
Rainer Schuetze
Oct 26, 2017
Walter Bright
Dec 24, 2019
berni44
Jan 17, 2020
Walter Bright
Dec 17, 2022
Iain Buclaw
May 18, 2023
RazvanN
May 18, 2023
Rainer Schuetze
April 09, 2017
https://issues.dlang.org/show_bug.cgi?id=17310

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ibuclaw@gdcproject.org

--
April 14, 2017
https://issues.dlang.org/show_bug.cgi?id=17310

--- Comment #1 from Rainer Schuetze <r.sagitario@gmx.de> ---
> Granted, the function type might never appear without a pointer prefix in the argument list

It appears inside QualifiedName for nested symbols inside an extern(Objective-C
) function.

--
April 15, 2017
https://issues.dlang.org/show_bug.cgi?id=17310

Rainer Schuetze <r.sagitario@gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #2 from Rainer Schuetze <r.sagitario@gmx.de> ---
https://github.com/dlang/dmd/pull/6702

--
April 15, 2017
https://issues.dlang.org/show_bug.cgi?id=17310

--- Comment #3 from Iain Buclaw <ibuclaw@gdcproject.org> ---
$ ./cxxfilt -s dlang
_D8demangle3fooFPYZvZv
demangle.foo(extern(Objective-C) void() function)
_D8demangle3gooFYv
demangle.goo(...)


I have no problem handling this. ;-)

--
April 15, 2017
https://issues.dlang.org/show_bug.cgi?id=17310

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Hardware|x86_64                      |All
                 OS|Windows                     |All

--
April 15, 2017
https://issues.dlang.org/show_bug.cgi?id=17310

--- Comment #4 from Iain Buclaw <ibuclaw@gdcproject.org> ---
(In reply to Rainer Schuetze from comment #0)
> 
> Granted, the function type might never appear without a pointer prefix in the argument list, but this special case makes it harder for a demangler.
> 

I think it should be assumed that the demangler rejects this anyway.

$ ./cxxfilt -s dlang
_D8demangle3fooFYZvZv
_D8demangle3fooFYZvZv   <- Not demangled.


As a litmus test, I also tried.

_D8demangle3gooYZv  <- extern(Objective-C) goo()
demangle.goo()
_D8demangle3gooYYv  <- extern(Objective-C) goo(...)
demangle.goo(...)

But the compiler will never emit functions like the above two anyway...

--
April 15, 2017
https://issues.dlang.org/show_bug.cgi?id=17310

--- Comment #5 from Rainer Schuetze <r.sagitario@gmx.de> ---
Try these:

module test;
struct S {}

extern(Objective-C) void ofun()
{
    void foo(S s, ...);
    void goo(typeof(&foo) fn);
    pragma(msg, foo.mangleof); // _D4test4ofunYZ3fooMFS4test1SYv
    pragma(msg, goo.mangleof); // _D4test4ofunYZ3gooMFDFS4test1SYvZv
}

The 'Y' after 4test1S looks ambiguous to me.

--
October 26, 2017
https://issues.dlang.org/show_bug.cgi?id=17310

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |mangling
                 CC|                            |bugzilla@digitalmars.com

--
December 24, 2019
https://issues.dlang.org/show_bug.cgi?id=17310

berni44 <bugzilla@d-ecke.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@d-ecke.de
          Component|dlang.org                   |dmd

--
January 17, 2020
https://issues.dlang.org/show_bug.cgi?id=17310

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |objc

--
« First   ‹ Prev
1 2