[cfe-dev] Has something changed in variadic function call ABI...?

Fons Rademakers Fons.Rademakers at cern.ch
Tue Dec 14 13:37:40 PST 2010


I am now checking what is changed in the emitted code to understand what is 
going on. This code is generated by our dictionary generator that generates 
stubs for all global, static, member and virtual member functions you may 
find in a C++ class.

However, your small example gave me some ideas how I might get rid of 
assembler for all the cases. Thanks.

Cheers, Fons.


On 14/12/2010 16:26, Frits van Bommel wrote:
> On Tue, Dec 14, 2010 at 4:20 PM, Fons Rademakers
> <Fons.Rademakers at cern.ch>  wrote:
>>    this might work using C++, I'll look into it, but I remembered I had
>> problems with pointers to virtual functions, but again it was quite a while
>> ago I wrote this stuff and since then it has been working, with all x86_64
>> compilers including clang++ till a few days ago, so something definitely
>> changed in the clang abi.
>
> One of my other points was that the problem wasn't necessarily the
> ABI. Did you look at the asm clang emits for that code?
> That might give some insight into what's happening.
>
> You didn't mention virtual functions in your original message, by the
> way. Are you saying "Printf" could be a member function? (and a
> virtual one at that?)
> That could definitely complicate things...

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers at cern.ch              Phone: +41 22 7679248
WWW:    http://fons.rademakers.org           Fax:   +41 22 7669640



More information about the cfe-dev mailing list