diff options
author | Mark Mitchell <mark@codesourcery.com> | 2002-12-01 17:51:51 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2002-12-01 17:51:51 +0000 |
commit | c9f8536c5dc8c115f26aaeb87585dbce0eeb4a10 (patch) | |
tree | 58fa62032c3e44c9d8f282780afee759f3d7edba /gcc/tree.h | |
parent | 335c9de73baef4d5c67c1b00dd52caff22d92f21 (diff) | |
download | gcc-c9f8536c5dc8c115f26aaeb87585dbce0eeb4a10.zip gcc-c9f8536c5dc8c115f26aaeb87585dbce0eeb4a10.tar.gz gcc-c9f8536c5dc8c115f26aaeb87585dbce0eeb4a10.tar.bz2 |
re PR c++/8332 (strlen/template interaction causes ICE)
PR c++/8332
PR c++/8493
* decl.c (cxx_init_decl_processing): Use size_type_node, not
c_size_type_node.
* decl2.c (coerce_new_type): Likewise.
* except.c (do_allocate_exception): Likewise.
* builtin-types.def (BT_SIZE): Use size_type_node.
* builtins.c (fold_builtin): Make the builtin strlen returns a
size_t, not a sizetype.
* c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
c_size_type_node.
(c_alignof_expr): Likewise.
(c_common_nodes_and_builtins): Likewise.
* c-common.h (CTI_C_SIZE_TYPE): Remove.
(c_size_type_node): Likewise.
* c-format.c (T_ST): Use size_type_node, not c_size_type_node.
* tree.h (TI_SIZE_TYPE): New enumeral.
(size_type_node): Likewise.
PR c++/8332
PR c++/8493
* g++.dg/template/strlen1.C: New test.
From-SVN: r59689
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1971,6 +1971,7 @@ enum tree_index TI_VOID_TYPE, TI_PTR_TYPE, TI_CONST_PTR_TYPE, + TI_SIZE_TYPE, TI_PTRDIFF_TYPE, TI_VA_LIST_TYPE, @@ -2048,6 +2049,8 @@ extern GTY(()) tree global_trees[TI_MAX]; #define ptr_type_node global_trees[TI_PTR_TYPE] /* The C type `const void *'. */ #define const_ptr_type_node global_trees[TI_CONST_PTR_TYPE] +/* The C type `size_t'. */ +#define size_type_node global_trees[TI_SIZE_TYPE] #define ptrdiff_type_node global_trees[TI_PTRDIFF_TYPE] #define va_list_type_node global_trees[TI_VA_LIST_TYPE] |