#5 __thiscall not supported

Accepted
closed
nobody
2003-02-09
2002-11-30
No

__thiscall calling convention (used, for example, in
Buzz machine interface) is not implemented.

This calling convention is used automatically by VC++
for method calls when __fastcall is used as standard
calling convention. The difference between __thiscall
and __fastcall is that __fastcall passes two arguments
in registers (ECX and EDX, IIRC) while __thiscall
passes only 'this' pointer in ECX, and the rest is
pushed on the stack. The lack of __thiscall can be
worked around by using __thiscall and adding a dummy
'int' argument in front of other arguments (which would
reserve EDX so that the next arguments are pushed on
stack) - but it would be nicer to have this built in.

Discussion

  • Earnie Boyd
    Earnie Boyd
    2003-01-04

    Logged In: YES
    user_id=15438

    Danny, do you have a comment for this?

    Earnie.

     
  • Earnie Boyd
    Earnie Boyd
    2003-01-04

    • milestone: 102881 --> 258437
     
  • Danny Smith
    Danny Smith
    2003-01-04

    • labels: 103944 -->
    • milestone: 258437 -->
    • assigned_to: dannysmith --> nobody
     
  • Danny Smith
    Danny Smith
    2003-01-04

    Logged In: YES
    user_id=11494

    I agree that it would be a nice feature to add to GCC
    Danny

     
  • Earnie Boyd
    Earnie Boyd
    2003-02-09

    • priority: 5 --> 1
    • labels: --> Suggested Package Offering
    • milestone: --> Accepted
    • status: open --> closed