diff options
author | Jason Merrill <jason@gcc.gnu.org> | 2010-05-06 16:51:52 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2010-05-06 16:51:52 -0400 |
commit | 14c2101daa9fd45e83de153275c7650950f1b7de (patch) | |
tree | 6b6815281c65b569db623d6f41bf2f7830a753db /gcc/dwarf2out.c | |
parent | 0d1141a39ee38d8a2e1af47a0a64ccd47f41b908 (diff) | |
download | gcc-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.c | 13 |
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: |