g++ does not resolve decltype(nullptr) to base type nullptr_t, instead it generate following: < 1><0x000005d3> DW_TAG_unspecified_type DW_AT_name "decltype(nullptr)" g++ should generate something like this: < 1><0x000005d3> DW_TAG_base_type DW_AT_name "nullptr_t" DW_AT_encoding DW_ATE_boolean DW_AT_byte_size 0x00000004 main() { int i; decltype(nullptr) np; np = 0; i = sizeof(np); }
No, what g++ does is correct. Please see http://wiki.dwarfstd.org/index.php?title=C%2B%2B0x:_Null_pointer