ReactOS 0.4.15-dev-7958-gcd0bb1a
cxx.h File Reference
#include "wine/asm.h"
Include dependency graph for cxx.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _rtti_base_descriptor
 
struct  _rtti_base_array
 
struct  _rtti_object_hierarchy
 
struct  _rtti_object_locator
 

Macros

#define VTABLE_ADD_FUNC(name)   "\t.long " THISCALL_NAME(name) "\n"
 
#define __ASM_VTABLE(name, funcs)
 
#define DEFINE_RTTI_DATA(name, off, base_classes_no, cl1, cl2, cl3, cl4, cl5, cl6, cl7, cl8, cl9, mangled_name)
 
#define DEFINE_RTTI_DATA0(name, off, mangled_name)    DEFINE_RTTI_DATA(name, off, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, mangled_name)
 
#define DEFINE_RTTI_DATA1(name, off, cl1, mangled_name)    DEFINE_RTTI_DATA(name, off, 1, cl1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, mangled_name)
 
#define DEFINE_RTTI_DATA2(name, off, cl1, cl2, mangled_name)    DEFINE_RTTI_DATA(name, off, 2, cl1, cl2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, mangled_name)
 
#define DEFINE_RTTI_DATA3(name, off, cl1, cl2, cl3, mangled_name)    DEFINE_RTTI_DATA(name, off, 3, cl1, cl2, cl3, NULL, NULL, NULL, NULL, NULL, NULL, mangled_name)
 
#define DEFINE_RTTI_DATA4(name, off, cl1, cl2, cl3, cl4, mangled_name)    DEFINE_RTTI_DATA(name, off, 4, cl1, cl2, cl3, cl4, NULL, NULL, NULL, NULL, NULL, mangled_name)
 
#define DEFINE_RTTI_DATA8(name, off, cl1, cl2, cl3, cl4, cl5, cl6, cl7, cl8, mangled_name)    DEFINE_RTTI_DATA(name, off, 8, cl1, cl2, cl3, cl4, cl5, cl6, cl7, cl8, NULL, mangled_name)
 
#define DEFINE_RTTI_DATA9(name, off, cl1, cl2, cl3, cl4, cl5, cl6, cl7, cl8, cl9, mangled_name)    DEFINE_RTTI_DATA(name, off, 9, cl1, cl2, cl3, cl4, cl5, cl6, cl7, cl8, cl9, mangled_name)
 
#define CALL_VTBL_FUNC(this, off, ret, type, args)   ((ret (__thiscall***)type)this)[0][off/4]args
 

Typedefs

typedef struct _rtti_base_descriptor rtti_base_descriptor
 
typedef struct _rtti_base_array rtti_base_array
 
typedef struct _rtti_object_hierarchy rtti_object_hierarchy
 
typedef struct _rtti_object_locator rtti_object_locator
 

Functions

exception *__thiscall MSVCRT_exception_ctor (exception *, const char **)
 

Macro Definition Documentation

◆ __ASM_VTABLE

#define __ASM_VTABLE (   name,
  funcs 
)
Value:
__asm__(".data\n" \
"\t.balign 4\n" \
"\t.long " __ASM_NAME(#name "_rtti") "\n" \
"\t.globl " __ASM_NAME("MSVCRT_" #name "_vtable") "\n" \
__ASM_NAME("MSVCRT_" #name "_vtable") ":\n" \
funcs "\n\t.text")
#define __ASM_NAME(name)
Definition: config.h:934
__asm__(".p2align 4, 0x90\n" ".seh_proc __seh2_global_filter_func\n" "__seh2_global_filter_func:\n" "\tpush %rbp\n" "\t.seh_pushreg %rbp\n" "\tsub $32, %rsp\n" "\t.seh_stackalloc 32\n" "\t.seh_endprologue\n" "\tmov %rdx, %rbp\n" "\tjmp *%rax\n" "__seh2_global_filter_func_exit:\n" "\t.p2align 4\n" "\tadd $32, %rsp\n" "\tpop %rbp\n" "\tret\n" "\t.seh_endproc")
static struct __wine_debug_functions funcs
Definition: debug.c:59
Definition: name.c:39

Definition at line 40 of file cxx.h.

◆ CALL_VTBL_FUNC

#define CALL_VTBL_FUNC (   this,
  off,
  ret,
  type,
  args 
)    ((ret (__thiscall***)type)this)[0][off/4]args

Definition at line 267 of file cxx.h.

◆ DEFINE_RTTI_DATA

#define DEFINE_RTTI_DATA (   name,
  off,
  base_classes_no,
  cl1,
  cl2,
  cl3,
  cl4,
  cl5,
  cl6,
  cl7,
  cl8,
  cl9,
  mangled_name 
)

Definition at line 53 of file cxx.h.

◆ DEFINE_RTTI_DATA0

#define DEFINE_RTTI_DATA0 (   name,
  off,
  mangled_name 
)     DEFINE_RTTI_DATA(name, off, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, mangled_name)

Definition at line 165 of file cxx.h.

◆ DEFINE_RTTI_DATA1

#define DEFINE_RTTI_DATA1 (   name,
  off,
  cl1,
  mangled_name 
)     DEFINE_RTTI_DATA(name, off, 1, cl1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, mangled_name)

Definition at line 167 of file cxx.h.

◆ DEFINE_RTTI_DATA2

#define DEFINE_RTTI_DATA2 (   name,
  off,
  cl1,
  cl2,
  mangled_name 
)     DEFINE_RTTI_DATA(name, off, 2, cl1, cl2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, mangled_name)

Definition at line 169 of file cxx.h.

◆ DEFINE_RTTI_DATA3

#define DEFINE_RTTI_DATA3 (   name,
  off,
  cl1,
  cl2,
  cl3,
  mangled_name 
)     DEFINE_RTTI_DATA(name, off, 3, cl1, cl2, cl3, NULL, NULL, NULL, NULL, NULL, NULL, mangled_name)

Definition at line 171 of file cxx.h.

◆ DEFINE_RTTI_DATA4

#define DEFINE_RTTI_DATA4 (   name,
  off,
  cl1,
  cl2,
  cl3,
  cl4,
  mangled_name 
)     DEFINE_RTTI_DATA(name, off, 4, cl1, cl2, cl3, cl4, NULL, NULL, NULL, NULL, NULL, mangled_name)

Definition at line 173 of file cxx.h.

◆ DEFINE_RTTI_DATA8

#define DEFINE_RTTI_DATA8 (   name,
  off,
  cl1,
  cl2,
  cl3,
  cl4,
  cl5,
  cl6,
  cl7,
  cl8,
  mangled_name 
)     DEFINE_RTTI_DATA(name, off, 8, cl1, cl2, cl3, cl4, cl5, cl6, cl7, cl8, NULL, mangled_name)

Definition at line 175 of file cxx.h.

◆ DEFINE_RTTI_DATA9

#define DEFINE_RTTI_DATA9 (   name,
  off,
  cl1,
  cl2,
  cl3,
  cl4,
  cl5,
  cl6,
  cl7,
  cl8,
  cl9,
  mangled_name 
)     DEFINE_RTTI_DATA(name, off, 9, cl1, cl2, cl3, cl4, cl5, cl6, cl7, cl8, cl9, mangled_name)

Definition at line 177 of file cxx.h.

◆ VTABLE_ADD_FUNC

#define VTABLE_ADD_FUNC (   name)    "\t.long " THISCALL_NAME(name) "\n"

Definition at line 38 of file cxx.h.

Typedef Documentation

◆ rtti_base_array

◆ rtti_base_descriptor

◆ rtti_object_hierarchy

◆ rtti_object_locator

Function Documentation

◆ MSVCRT_exception_ctor()

exception *__thiscall MSVCRT_exception_ctor ( exception _this,
const char **  name 
)

Definition at line 149 of file cpp.c.

150{
151 TRACE("(%p,%s)\n", _this, *name);
152 EXCEPTION_ctor(_this, name);
153 return _this;
154}
static void EXCEPTION_ctor(exception *_this, const char **name)
Definition: cpp.c:124
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by __ExceptionPtrRethrow().