Deleted Added
full compact
rtti.c (259947) rtti.c (260230)
1/* RunTime Type Identification
2 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
3 2005, 2006
4 Free Software Foundation, Inc.
5 Mostly written by Jason Merrill (jason@cygnus.com).
6
7This file is part of GCC.
8

--- 224 unchanged lines hidden (view full) ---

233 return error_mark_node;
234
235 /* peel back references, so they match. */
236 type = non_reference (TREE_TYPE (exp));
237
238 /* Peel off cv qualifiers. */
239 type = TYPE_MAIN_VARIANT (type);
240
1/* RunTime Type Identification
2 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
3 2005, 2006
4 Free Software Foundation, Inc.
5 Mostly written by Jason Merrill (jason@cygnus.com).
6
7This file is part of GCC.
8

--- 224 unchanged lines hidden (view full) ---

233 return error_mark_node;
234
235 /* peel back references, so they match. */
236 type = non_reference (TREE_TYPE (exp));
237
238 /* Peel off cv qualifiers. */
239 type = TYPE_MAIN_VARIANT (type);
240
241 if (!VOID_TYPE_P (type))
241 if (CLASS_TYPE_P (type))
242 type = complete_type_or_else (type, exp);
243
244 if (!type)
245 return error_mark_node;
246
247 /* If exp is a reference to polymorphic type, get the real type_info. */
248 if (TYPE_POLYMORPHIC_P (type) && ! resolves_to_fixed_type_p (exp, 0))
249 {

--- 175 unchanged lines hidden (view full) ---

425 typeid expression refers to a type_info object representing the
426 referenced type. */
427 type = non_reference (type);
428
429 /* The top-level cv-qualifiers of the lvalue expression or the type-id
430 that is the operand of typeid are always ignored. */
431 type = TYPE_MAIN_VARIANT (type);
432
242 type = complete_type_or_else (type, exp);
243
244 if (!type)
245 return error_mark_node;
246
247 /* If exp is a reference to polymorphic type, get the real type_info. */
248 if (TYPE_POLYMORPHIC_P (type) && ! resolves_to_fixed_type_p (exp, 0))
249 {

--- 175 unchanged lines hidden (view full) ---

425 typeid expression refers to a type_info object representing the
426 referenced type. */
427 type = non_reference (type);
428
429 /* The top-level cv-qualifiers of the lvalue expression or the type-id
430 that is the operand of typeid are always ignored. */
431 type = TYPE_MAIN_VARIANT (type);
432
433 if (!VOID_TYPE_P (type))
433 if (CLASS_TYPE_P (type))
434 type = complete_type_or_else (type, NULL_TREE);
435
436 if (!type)
437 return error_mark_node;
438
439 return build_indirect_ref (get_tinfo_ptr (type), NULL);
440}
441

--- 1057 unchanged lines hidden ---
434 type = complete_type_or_else (type, NULL_TREE);
435
436 if (!type)
437 return error_mark_node;
438
439 return build_indirect_ref (get_tinfo_ptr (type), NULL);
440}
441

--- 1057 unchanged lines hidden ---