> What for is used location_of function ?

Let me reply to my own question - loc_as_string converts that one to
file / source code line.

Sounds like forum is pretty much dead, or may be I'm wrong ?

Apparently 'cp_walk_tree_without_duplicates' work correctly, however
with function call 'expand_location'
I'm getting incorrect stack on return:
------------------------------------------------------------------------------------------------------------------------------------
Run-Time Check Failure #0 - The value of ESP was not properly saved
across a function call.  This is usually a result of calling a
function declared with one calling convention with a function pointer
declared with a different calling convention.
------------------------------------------------------------------------------------------------------------------------------------

I have tried to use some __stdcall, __fastcall, __cdecl prefixes for
function calling, however without any result.
Also as far as I remember $m compiler uses in debug mode different
stack allocation than in release mode -
(some additional stack allocation for debug variables).

I found some intresting articles on issue:

http://www.agner.org/optimize/calling_conventions.pdf
http://en.wikipedia.org/wiki/X86_calling_conventions
http://www.codeproject.com/KB/cpp/calling_conventions_demystified.aspx

and I will dig up deeper into them. Meanwhile - may be someone on this
forum knows how to call function compiled on gcc (cplusplus1.exe)
from $m compiler (.dll).

I'm still puzzled why first function call works, may be relates to how
stack is allocated by structure. (not pointer like in first function
call case).

loc_as_string however gets correct values as far as I have checked ,
however crashes after call.

_______________________________________________
dev-static-analysis mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-static-analysis

Reply via email to