Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
16f6a567
Commit
16f6a567
authored
Apr 07, 2021
by
Piotr Caban
Committed by
Alexandre Julliard
Apr 07, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Add helpers for creating base class RTTI.
Signed-off-by:
Piotr Caban
<
piotr@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
84406584
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
4 deletions
+18
-4
cxx.h
dlls/msvcrt/cxx.h
+18
-4
No files found.
dlls/msvcrt/cxx.h
View file @
16f6a567
...
...
@@ -46,7 +46,7 @@
#ifndef __x86_64__
#define DEFINE_RTTI_
DATA(name, off, base_classes_no, cl1, cl2, cl3, cl4, cl5, cl6, cl7, cl8, cl9
, mangled_name) \
#define DEFINE_RTTI_
BASE(name, base_classes_no
, mangled_name) \
static type_info name ## _type_info = { \
&type_info_vtable, \
NULL, \
...
...
@@ -58,7 +58,10 @@ static const rtti_base_descriptor name ## _rtti_base_descriptor = { \
base_classes_no, \
{ 0, -1, 0}, \
64 \
}; \
};
#define DEFINE_RTTI_DATA(name, off, base_classes_no, cl1, cl2, cl3, cl4, cl5, cl6, cl7, cl8, cl9, mangled_name) \
DEFINE_RTTI_BASE(name, base_classes_no, mangled_name) \
\
static const rtti_base_array name ## _rtti_base_array = { \
{ \
...
...
@@ -92,7 +95,7 @@ const rtti_object_locator name ## _rtti = { \
#else
#define
DEFINE_RTTI_DATA(name, off, base_classes_no, cl1, cl2, cl3, cl4, cl5, cl6, cl7, cl8, cl9
, mangled_name) \
#define
__DEFINE_RTTI_BASE(name, base_classes_no
, mangled_name) \
static type_info name ## _type_info = { \
&type_info_vtable, \
NULL, \
...
...
@@ -104,7 +107,18 @@ static rtti_base_descriptor name ## _rtti_base_descriptor = { \
base_classes_no, \
{ 0, -1, 0}, \
64 \
}; \
};
#define DEFINE_RTTI_BASE(name, base_classes_no, mangled_name) \
__DEFINE_RTTI_BASE(name, base_classes_no, mangled_name) \
\
static void init_ ## name ## _rtti(char *base) \
{ \
name ## _rtti_base_descriptor.type_descriptor = (char*)&name ## _type_info - base; \
}
#define DEFINE_RTTI_DATA(name, off, base_classes_no, cl1, cl2, cl3, cl4, cl5, cl6, cl7, cl8, cl9, mangled_name) \
__DEFINE_RTTI_BASE(name, base_classes_no, mangled_name) \
\
static rtti_base_array name ## _rtti_base_array = { \
{ \
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment