7.39 __mcall_this_offset(D, f)

Returns the offset from the beginning of a D object to the start of the base in which f is defined.

This is the this adjustment necessary when making a call to f with a pointer to a D. It is either zero if f is found in D or the same as __offsetof_base(D,B), where B is a nonvirtual base class of D that contains f.

Where D is a class type and f is a nonstatic member function defined in D or a nonvirtual base class of D.

If __mcall_this_offset(D,f) is used when f is found in a virtual base class of D it returns an arbitrary value designed to cause an assembly error if used. This is so that such invalid uses of __mcall_this_offset can occur in sections of assembly code that are to be skipped.

Related concepts
7.35 Compiler-supported keywords for calling class member functions in embedded assembler
7.42 Calling a nonvirtual member function
7.43 Calling a virtual member function
Non-ConfidentialPDF file icon PDF versionARM DUI0472J
Copyright © 2010-2013 ARM. All rights reserved.