* cp-tree.h (CPTI_BAD_CAST, CPTI_BAD_TYPEID, CPTI_DCAST): New
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Jan 2000 12:16:59 +0000 (12:16 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Jan 2000 12:16:59 +0000 (12:16 +0000)
commit717923556cf51a9621c97122f5c4c60e9238979e
treedf697d14090e35118e009ab8a988bd3c7fb22ff9
parentd34cc9acac3d29d6c3fa0ac6e876fdeb23dfcfd2
* cp-tree.h (CPTI_BAD_CAST, CPTI_BAD_TYPEID, CPTI_DCAST): New
cp_tree_index values.
(throw_bad_cast_node, throw_bad_typeid_node, dynamic_cast_node):
New global node #defines for them.
* rtti.c (call_void_fn): Replace with ...
(build_runtime_decl): ... new static function.
(throw_bad_cast): Use throw_bad_cast_node and build_runtime_decl.
(throw_bad_typeid): Use throw_bad_typeid_node and build_runtime_decl.
(build_dynamic_cast_1): Always produce correctly typed result.
Explicitly produce type_info addresses. Use dynamic_cast_node.
* exception.cc (__throw_bad_cast): Return `void *'.
(__throw_bad_typeid): Return `const type_info &'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31585 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/exception.cc
gcc/cp/rtti.c