* rtti.c (build_x_typeid): Check rtti is enabled.

From-SVN: r26675
This commit is contained in:
Nathan Sidwell 1999-04-27 09:41:33 +00:00 committed by Nathan Sidwell
parent 0118fd7deb
commit f915e937d9
3 changed files with 26 additions and 1 deletions

View File

@ -1,3 +1,7 @@
1999-04-27 Nathan Sidwell <nathan@acm.org>
* rtti.c (build_x_typeid): Check rtti is enabled.
1999-04-26 Mark Mitchell <mark@codesourcery.com>
* search.c (is_subobject_of_p): Make sure we're looking at the

View File

@ -261,9 +261,15 @@ build_x_typeid (exp)
tree exp;
{
tree cond = NULL_TREE;
tree type = TREE_TYPE (tinfo_fn_type);
tree type;
int nonnull;
if (! flag_rtti)
{
error ("cannot use typeid with -fno-rtti");
return error_mark_node;
}
if (TYPE_SIZE (type_info_type_node) == NULL_TREE)
{
error ("must #include <typeinfo> before using typeid");
@ -288,6 +294,7 @@ build_x_typeid (exp)
if (exp == error_mark_node)
return error_mark_node;
type = TREE_TYPE (tinfo_fn_type);
exp = build_call (exp, type, NULL_TREE);
if (cond)

View File

@ -0,0 +1,14 @@
// Build don't link:
// Special g++ Options: -fno-rtti
// Copyright (C) 1999 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 9 Apr 1999 <nathan@acm.org>
// derrived from bug report from Alexander Zvyagin <zvyagin@mx.ihep.su>
// check we don't die with disabled rtti
int main(void) {
int i;
typeid(i); // ERROR - rtti disabled
}