summaryrefslogtreecommitdiff
path: root/gcc/cp/lex.c
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-19 10:36:07 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-19 10:36:07 +0000
commit00b76131e87f7da2a6ebf1e13498f5bc9f33f69f (patch)
treeba738aa254abf741ddc0722884b43575c2331ca6 /gcc/cp/lex.c
parentd1299313772c832661ffe3c3d4f44a4fd09ac42d (diff)
downloadgcc-00b76131e87f7da2a6ebf1e13498f5bc9f33f69f.tar.gz
* tree.h (TYPE_CACHED_VALUES_P): New.
(TYPE_CACHED_VALUES): New. (TYPE_ORIG_SIZE_TYPE): Adjust. * tree.def (INTEGER_CST): Update documentation. * tree.c: Inlcude params.h. (build_int_cst): Cache small values. (build_type_copy): Do not copy the value cache. * c-common.c (c_common_nodes_and_builtins): Add comment, remove unneeded zeroing. * c-typeck.c (build_c_cast): Add comment about OVERFLOW setting. * expmed.c (const_mult_add_overflow_p): Clear type copy's value cache. * fold-const.c (force_fit_type): Copy value when setting overflows. (int_const_binop): Likewise. * stor-layout.c: Include params.h (set_sizetype): Create values cache. (fixup_unsigned_type): Set UNSIGNED_P before caching any values. * params.def (PARAM_INTEGER_SHARE_LIMIT): New. * params.h (INTEGER_SHARE_LIMIT): New. * Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H. * cp/decl.c (finish_enum): Do not copy value node early, copy later. * cp/lex.c (cxx_init): Force null_node to be unique. * java/parse.h (JAVA_RADIX10_FLAG): Rename to ... (JAVA_NOT_RADIX10_FLAG): ... here. Invert meaning. * java/lex.c (do_java_lex): Adjust. (error_if_numeric_overflow): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86247 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/lex.c')
-rw-r--r--gcc/cp/lex.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index c44e7c0863b..fe220f2ae24 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -354,8 +354,10 @@ cxx_init (void)
cxx_init_decl_processing ();
- /* Create the built-in __null node. */
- null_node = build_int_cst (c_common_type_for_size (POINTER_SIZE, 0), 0, 0);
+ /* Create the built-in __null node. It is important that this is
+ not shared. */
+ null_node = make_node (INTEGER_CST);
+ TREE_TYPE (null_node) = c_common_type_for_size (POINTER_SIZE, 0);
ridpointers[RID_NULL] = null_node;
interface_unknown = 1;