From 2df88e9f5881eb6bbe3ae405fb86530143c50e22 Mon Sep 17 00:00:00 2001 From: Jeffrey Oldham Date: Sat, 30 Dec 2000 15:31:49 +0000 Subject: [PATCH] defaults.h (BUILD_VA_LIST_TYPE): New definition. 2000-12-30 Jeffrey Oldham * defaults.h (BUILD_VA_LIST_TYPE): New definition. * tree.c (build_common_tree_nodes_2): Ensure the va_list_type_node is a copy, not an alias. From-SVN: r38561 --- gcc/ChangeLog | 6 ++++++ gcc/defaults.h | 4 ++++ gcc/tree.c | 10 +++++----- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index afeb33c6969..38ed3eb36b2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2000-12-30 Jeffrey Oldham + + * defaults.h (BUILD_VA_LIST_TYPE): New definition. + * tree.c (build_common_tree_nodes_2): Ensure the va_list_type_node + is a copy, not an alias. + 2000-12-30 Richard Kenner * calls.c (calls_function_1, case CONSTRUCTOR): New case. diff --git a/gcc/defaults.h b/gcc/defaults.h index f9f7bf56a06..2f2aee9346f 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -252,5 +252,9 @@ do { ASM_OUTPUT_LABEL(FILE,LABEL_ALTERNATE_NAME (INSN)); } while (0) #define LONG_DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) #endif +#ifndef BUILD_VA_LIST_TYPE +#define BUILD_VA_LIST_TYPE(X) ((X) = ptr_type_node) +#endif + #endif /* GCC_DEFAULTS_H */ diff --git a/gcc/tree.c b/gcc/tree.c index 03cae0aaa21..a836b99ea2a 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -4837,11 +4837,11 @@ build_common_tree_nodes_2 (short_double) TREE_TYPE (complex_long_double_type_node) = long_double_type_node; layout_type (complex_long_double_type_node); -#ifdef BUILD_VA_LIST_TYPE - BUILD_VA_LIST_TYPE (va_list_type_node); -#else - va_list_type_node = build_type_copy (ptr_type_node); -#endif + { + tree t; + BUILD_VA_LIST_TYPE (t); + va_list_type_node = build_type_copy (t); + } V4SF_type_node = make_node (VECTOR_TYPE); TREE_TYPE (V4SF_type_node) = float_type_node;