[cfe-commits] Fix PR13434 - mangling of templates with function pointers as arguments

John McCall rjmccall at apple.com
Mon Jul 23 10:37:17 PDT 2012


On Jul 23, 2012, at 4:52 AM, Timur Iskhodzhanov wrote:
> Hi Charles, John,
> 
> Can you please see
> http://llvm.org/bugs/show_bug.cgi?id=13434
> ?
> It seems like this case has never been tested before.
> 
> I've written some tests and made a simple fix to the code.
> 
> It's not thoroughly tested on all cases but IMO adding at least some
> new coverage and making all new tests pass by a simple is a good
> progress to start with.

Sure.

> Two questions:
> 1) See the FIXME comment in MicrosoftMangle - I do think the whole
> comment should be made less cryptic.
>  Probably I'll need some help from Charles to decipher this :)

It looks like Charles is using "structor" to mean ctor/dtor;  compare how
mangleFunctionEncoding sets it.  The comment is saying that the
general mangling for function types should not follow the ctor/dtor
mangling rules.

Please remove the "I'll probably make..." part of the existing comment;
if you want to preserve this idea, you should move it to the mangling
method for MemberPointerTypes.

> 2) See the zeta mangling in mangle-ms.cpp - not sure if changing the
> mangling there is a problem at all, as "blocks" are never
> compiled/mangled by MSVS (they are clang-specific extensions).

It would be good to at least come up with a reasonable-seeming
mangling for them.  Basically, please make sure they're mangled
just like pointers to functions, but different in some obvious way.

Otherwise this is fine, thanks!

John.



More information about the cfe-commits mailing list