cp-tree.h (CPTI_BAD_CAST, [...]): New cp_tree_index values.
authorNathan Sidwell <sidwell@codesourcery.com>
Mon, 24 Jan 2000 12:16:59 +0000 (12:16 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Mon, 24 Jan 2000 12:16:59 +0000 (12:16 +0000)
commit059fa5e776a738f956ad62692a1a143ba34d86b0
treedf697d14090e35118e009ab8a988bd3c7fb22ff9
parentf1c9d505f9a22db6ecc95516d3581c8b019b14f0
cp-tree.h (CPTI_BAD_CAST, [...]): New cp_tree_index values.

* 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 &'.

From-SVN: r31585
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/exception.cc
gcc/cp/rtti.c