diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/defaults.h | 4 | ||||
-rw-r--r-- | gcc/tree.c | 10 |
3 files changed, 15 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index afeb33c..38ed3eb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2000-12-30 Jeffrey Oldham <oldham@codesourcery.com> + + * 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 <kenner@vlsi1.ultra.nyu.edu> * calls.c (calls_function_1, case CONSTRUCTOR): New case. diff --git a/gcc/defaults.h b/gcc/defaults.h index f9f7bf5..2f2aee9 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 */ @@ -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; |