Commit f915e937 by Nathan Sidwell Committed by Nathan Sidwell

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

From-SVN: r26675
parent 0118fd7d
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> 1999-04-26 Mark Mitchell <mark@codesourcery.com>
* search.c (is_subobject_of_p): Make sure we're looking at the * search.c (is_subobject_of_p): Make sure we're looking at the
......
...@@ -261,9 +261,15 @@ build_x_typeid (exp) ...@@ -261,9 +261,15 @@ build_x_typeid (exp)
tree exp; tree exp;
{ {
tree cond = NULL_TREE; tree cond = NULL_TREE;
tree type = TREE_TYPE (tinfo_fn_type); tree type;
int nonnull; 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) if (TYPE_SIZE (type_info_type_node) == NULL_TREE)
{ {
error ("must #include <typeinfo> before using typeid"); error ("must #include <typeinfo> before using typeid");
...@@ -288,6 +294,7 @@ build_x_typeid (exp) ...@@ -288,6 +294,7 @@ build_x_typeid (exp)
if (exp == error_mark_node) if (exp == error_mark_node)
return error_mark_node; return error_mark_node;
type = TREE_TYPE (tinfo_fn_type);
exp = build_call (exp, type, NULL_TREE); exp = build_call (exp, type, NULL_TREE);
if (cond) if (cond)
......
// 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
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment