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
6bb9f200
Commit
6bb9f200
authored
Apr 04, 2012
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Use macros to define RTTI data.
parent
efd693c5
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
203 deletions
+41
-203
cpp.c
dlls/msvcrt/cpp.c
+41
-203
No files found.
dlls/msvcrt/cpp.c
View file @
6bb9f200
...
...
@@ -709,46 +709,48 @@ __ASM_EXCEPTION_VTABLE(__non_rtti_object)
/* Static RTTI for exported objects */
static
const
type_info
exception_type_info
=
{
&
MSVCRT_type_info_vtable
,
NULL
,
".?AVexception@@"
};
static
const
rtti_base_descriptor
exception_rtti_base_descriptor
=
{
&
exception_type_info
,
0
,
{
0
,
-
1
,
0
},
0
};
static
const
rtti_base_array
exception_rtti_base_array
=
{
{
&
exception_rtti_base_descriptor
,
NULL
,
NULL
}
};
static
const
rtti_object_hierarchy
exception_type_hierarchy
=
{
0
,
0
,
1
,
&
exception_rtti_base_array
};
#define DEFINE_RTTI_DATA(name, base_classes, cl1, cl2, mangled_name) \
static const type_info name ## _type_info = { \
&MSVCRT_type_info_vtable, \
NULL, \
mangled_name \
}; \
\
static const rtti_base_descriptor name ## _rtti_base_descriptor = { \
&name ##_type_info, \
base_classes, \
{ 0, -1, 0}, \
0 \
}; \
\
static const rtti_base_array name ## _rtti_base_array = { \
{ \
&name ## _rtti_base_descriptor, \
cl1, \
cl2 \
} \
}; \
\
static const rtti_object_hierarchy name ## _hierarchy = { \
0, \
0, \
base_classes+1, \
&name ## _rtti_base_array \
}; \
\
const rtti_object_locator name ## _rtti = { \
0, \
0, \
0, \
&name ## _type_info, \
&name ## _hierarchy \
}
const
rtti_object_locator
exception_rtti
=
{
0
,
0
,
0
,
&
exception_type_info
,
&
exception_type_hierarchy
};
DEFINE_RTTI_DATA
(
type_info
,
0
,
NULL
,
NULL
,
".?AVtype_info@@"
);
DEFINE_RTTI_DATA
(
exception
,
0
,
NULL
,
NULL
,
".?AVexception@@"
);
DEFINE_RTTI_DATA
(
bad_typeid
,
1
,
&
exception_rtti_base_descriptor
,
NULL
,
".?AVbad_typeid@@"
);
DEFINE_RTTI_DATA
(
bad_cast
,
1
,
&
exception_rtti_base_descriptor
,
NULL
,
".?AVbad_cast@@"
);
DEFINE_RTTI_DATA
(
__non_rtti_object
,
2
,
&
bad_typeid_rtti_base_descriptor
,
&
exception_rtti_base_descriptor
,
".?AV__non_rtti_object@@"
);
static
const
cxx_type_info
exception_cxx_type_info
=
{
...
...
@@ -759,47 +761,6 @@ static const cxx_type_info exception_cxx_type_info =
(
cxx_copy_ctor
)
THISCALL
(
MSVCRT_exception_copy_ctor
)
};
static
const
type_info
bad_typeid_type_info
=
{
&
MSVCRT_type_info_vtable
,
NULL
,
".?AVbad_typeid@@"
};
static
const
rtti_base_descriptor
bad_typeid_rtti_base_descriptor
=
{
&
bad_typeid_type_info
,
1
,
{
0
,
-
1
,
0
},
0
};
static
const
rtti_base_array
bad_typeid_rtti_base_array
=
{
{
&
bad_typeid_rtti_base_descriptor
,
&
exception_rtti_base_descriptor
,
NULL
}
};
static
const
rtti_object_hierarchy
bad_typeid_type_hierarchy
=
{
0
,
0
,
2
,
&
bad_typeid_rtti_base_array
};
const
rtti_object_locator
bad_typeid_rtti
=
{
0
,
0
,
0
,
&
bad_typeid_type_info
,
&
bad_typeid_type_hierarchy
};
static
const
cxx_type_info
bad_typeid_cxx_type_info
=
{
0
,
...
...
@@ -809,47 +770,6 @@ static const cxx_type_info bad_typeid_cxx_type_info =
(
cxx_copy_ctor
)
THISCALL
(
MSVCRT_bad_typeid_copy_ctor
)
};
static
const
type_info
bad_cast_type_info
=
{
&
MSVCRT_type_info_vtable
,
NULL
,
".?AVbad_cast@@"
};
static
const
rtti_base_descriptor
bad_cast_rtti_base_descriptor
=
{
&
bad_cast_type_info
,
1
,
{
0
,
-
1
,
0
},
0
};
static
const
rtti_base_array
bad_cast_rtti_base_array
=
{
{
&
bad_cast_rtti_base_descriptor
,
&
exception_rtti_base_descriptor
,
NULL
}
};
static
const
rtti_object_hierarchy
bad_cast_type_hierarchy
=
{
0
,
0
,
2
,
&
bad_cast_rtti_base_array
};
const
rtti_object_locator
bad_cast_rtti
=
{
0
,
0
,
0
,
&
bad_cast_type_info
,
&
bad_cast_type_hierarchy
};
static
const
cxx_type_info
bad_cast_cxx_type_info
=
{
0
,
...
...
@@ -859,47 +779,6 @@ static const cxx_type_info bad_cast_cxx_type_info =
(
cxx_copy_ctor
)
THISCALL
(
MSVCRT_bad_cast_copy_ctor
)
};
static
const
type_info
__non_rtti_object_type_info
=
{
&
MSVCRT_type_info_vtable
,
NULL
,
".?AV__non_rtti_object@@"
};
static
const
rtti_base_descriptor
__non_rtti_object_rtti_base_descriptor
=
{
&
__non_rtti_object_type_info
,
2
,
{
0
,
-
1
,
0
},
0
};
static
const
rtti_base_array
__non_rtti_object_rtti_base_array
=
{
{
&
__non_rtti_object_rtti_base_descriptor
,
&
bad_typeid_rtti_base_descriptor
,
&
exception_rtti_base_descriptor
}
};
static
const
rtti_object_hierarchy
__non_rtti_object_type_hierarchy
=
{
0
,
0
,
3
,
&
__non_rtti_object_rtti_base_array
};
const
rtti_object_locator
__non_rtti_object_rtti
=
{
0
,
0
,
0
,
&
__non_rtti_object_type_info
,
&
__non_rtti_object_type_hierarchy
};
static
const
cxx_type_info
__non_rtti_object_cxx_type_info
=
{
0
,
...
...
@@ -909,47 +788,6 @@ static const cxx_type_info __non_rtti_object_cxx_type_info =
(
cxx_copy_ctor
)
THISCALL
(
MSVCRT___non_rtti_object_copy_ctor
)
};
static
const
type_info
type_info_type_info
=
{
&
MSVCRT_type_info_vtable
,
NULL
,
".?AVtype_info@@"
};
static
const
rtti_base_descriptor
type_info_rtti_base_descriptor
=
{
&
type_info_type_info
,
0
,
{
0
,
-
1
,
0
},
0
};
static
const
rtti_base_array
type_info_rtti_base_array
=
{
{
&
type_info_rtti_base_descriptor
,
NULL
,
NULL
}
};
static
const
rtti_object_hierarchy
type_info_type_hierarchy
=
{
0
,
0
,
1
,
&
type_info_rtti_base_array
};
const
rtti_object_locator
type_info_rtti
=
{
0
,
0
,
0
,
&
type_info_type_info
,
&
type_info_type_hierarchy
};
/*
* Exception RTTI for cpp objects
*/
...
...
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