* rtti.c (build_x_typeid): Check rtti is enabled.
From-SVN: r26675
This commit is contained in:
parent
0118fd7deb
commit
f915e937d9
@ -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
|
||||
|
@ -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)
|
||||
|
14
gcc/testsuite/g++.old-deja/g++.other/rtti5.C
Normal file
14
gcc/testsuite/g++.old-deja/g++.other/rtti5.C
Normal 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
|
||||
}
|
Loading…
Reference in New Issue
Block a user