diff options
author | Richard Guenther <rguenther@suse.de> | 2010-10-14 11:59:47 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-10-14 11:59:47 +0000 |
commit | 1e85e7204d437c3e0fd2aea6996ad7820c5913ee (patch) | |
tree | 4a7d9fe94ac20b96bfc133ea6e4ddea9e9aeaede /gcc/tree.c | |
parent | a16ced220ff332c70645ad5f9ad2e247f5a50581 (diff) | |
download | gcc-1e85e7204d437c3e0fd2aea6996ad7820c5913ee.zip gcc-1e85e7204d437c3e0fd2aea6996ad7820c5913ee.tar.gz gcc-1e85e7204d437c3e0fd2aea6996ad7820c5913ee.tar.bz2 |
re PR c++/44561 (using nullptr_t with -flto/-fwhopr causes ICE: tree code 'lang_type' is not supported in gimple streams)
2010-10-14 Richard Guenther <rguenther@suse.de>
PR lto/44561
* tree.def (NULLPTR_TYPE): New tree code.
* dbxout.c (dbxout_type): Handle NULLPTR_TYPE.
* dwarf2out.c (is_base_type): Likewise.
(gen_type_die_with_usage): Likewise.
* sdbout.c (plain_type_1): Likewise.
* tree.c (build_int_cst_wide): Likewise.
* gimple.c (gimple_types_compatible_p_1): NULLPTR_TYPE types
are equal.
cp/
* cp-tree.h (NULLPTR_TYPE_P): Adjust.
* decl.c (cxx_init_decl_processing): Build a NULLPTR_TYPE node,
use build_int_cst.
* error.c (dump_type): Handle NULLPTR_TYPE.
(dump_type_prefix): Likewise.
(dump_type_suffix): Likewise.
* mangle.c (write_type): Likewise.
* name-lookup.c (arg_assoc_type): Likewise.
* rtti.c (typeinfo_in_lib_p): Likewise.
* pt.c (tsubst): Likewise.
* g++.dg/lto/20101010-3_0.C: New testcase.
* g++.dg/lto/20101010-4_0.C: Likewise.
From-SVN: r165462
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -1178,6 +1178,10 @@ build_int_cst_wide (tree type, unsigned HOST_WIDE_INT low, HOST_WIDE_INT hi) switch (TREE_CODE (type)) { + case NULLPTR_TYPE: + gcc_assert (hi == 0 && low == 0); + /* Fallthru. */ + case POINTER_TYPE: case REFERENCE_TYPE: /* Cache NULL pointer. */ |