aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2010-05-06 16:51:52 -0400
committerJason Merrill <jason@gcc.gnu.org>2010-05-06 16:51:52 -0400
commit14c2101daa9fd45e83de153275c7650950f1b7de (patch)
tree6b6815281c65b569db623d6f41bf2f7830a753db /gcc/dwarf2out.c
parent0d1141a39ee38d8a2e1af47a0a64ccd47f41b908 (diff)
downloadgcc-14c2101daa9fd45e83de153275c7650950f1b7de.zip
gcc-14c2101daa9fd45e83de153275c7650950f1b7de.tar.gz
gcc-14c2101daa9fd45e83de153275c7650950f1b7de.tar.bz2
Add support for C++0x nullptr.
gcc: * c-common.c (c_common_reswords): Add nullptr. * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids. * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE. (gen_type_die_with_usage): Likewise. * dbxout.c (dbxout_type): Likewise. * sdbout.c (plain_type_1): Likewise. gcc/cp: * cp-tree.def: Add NULLPTR_TYPE. * cp-tree.h: Add nullptr_node. (cp_tree_index): Add CPTI_NULLPTR. (SCALAR_TYPE_P): Add NULLPTR_TYPE. * call.c (null_ptr_cst_p): Handle nullptr. (standard_conversion): Likewise. (convert_arg_to_ellipsis): Likewise. * mangle.c (write_type): Likewise. * name-lookup.c (arg_assoc_type): Likewise. * parser.c (cp_parser_primary_expression): Likewise. * typeck.c (cp_build_binary_op): Likewise. (build_reinterpret_cast_1): Likewise. * error.c (dump_type): Likewise. (dump_type_prefix, dump_type_suffix): Likewise. * decl.c (cxx_init_decl_processing): Likewise. * cxx-pretty-print.c (pp_cxx_constant): Likewise. * cvt.c (ocp_convert): Likewise. * rtti.c (typeinfo_in_lib_p, emit_support_tinfos): Put nullptr_t tinfo in libsupc++. libstdc++-v3: * config/abi/pre/gnu.ver: Add typeinfo for decltype(nullptr). libiberty: * cp-demangle.c (cplus_demangle_builtin_types): Add nullptr. (cplus_demangle_type): Handle nullptr. From-SVN: r159131
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 416f75a..66ac5eb 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -12108,6 +12108,7 @@ is_base_type (tree type)
case ENUMERAL_TYPE:
case FUNCTION_TYPE:
case METHOD_TYPE:
+ case NULLPTR_TYPE:
case POINTER_TYPE:
case REFERENCE_TYPE:
case OFFSET_TYPE:
@@ -19171,6 +19172,18 @@ gen_type_die_with_usage (tree type, dw_die_ref context_die,
when appropriate. */
return;
+ case NULLPTR_TYPE:
+ {
+ dw_die_ref type_die = lookup_type_die (type);
+ if (type_die == NULL)
+ {
+ type_die = new_die (DW_TAG_unspecified_type, comp_unit_die, type);
+ add_name_attribute (type_die, "decltype(nullptr)");
+ equate_type_number_to_die (type, type_die);
+ }
+ }
+ return;
+
case VOID_TYPE:
case INTEGER_TYPE:
case REAL_TYPE: