From fe8e69bb7b86f34a1f2996977fafb357772a0640 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Thu, 16 Dec 2004 14:17:24 +0000 Subject: [PATCH] * doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs. From-SVN: r92263 --- gcc/ChangeLog | 6 ++++++ gcc/doc/c-tree.texi | 13 ++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b857cce14b2..deba4c745dd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-12-16 Nathan Sidwell + + * doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs. + 2004-12-16 Mark Dettinger * config/s390/s390.c (struct processor_costs): Two new fields: @@ -705,6 +709,8 @@ 2004-12-09 Nathan Sidwell + * doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs. + * tree.def (SET_TYPE): Remove. (CONSTRUCTOR): Update description. * builtins.c (type_to_class) Remove SET_TYPE case. diff --git a/gcc/doc/c-tree.texi b/gcc/doc/c-tree.texi index 3dc7f71a109..9f4e64977c1 100644 --- a/gcc/doc/c-tree.texi +++ b/gcc/doc/c-tree.texi @@ -2273,11 +2273,14 @@ expression used to initialize that field. If the @code{TREE_TYPE} of the @code{CONSTRUCTOR} is an @code{ARRAY_TYPE}, then the @code{TREE_PURPOSE} of each element in the -@code{TREE_LIST} will be an @code{INTEGER_CST}. This constant indicates -which element of the array (indexed from zero) is being assigned to; -again, the @code{TREE_VALUE} is the corresponding initializer. If the -@code{TREE_PURPOSE} is @code{NULL_TREE}, then the initializer is for the -next available array element. +@code{TREE_LIST} will be an @code{INTEGER_CST} or a @code{RANGE_EXPR} of +two @code{INTEGER_CST}s. A single @code{INTEGER_CST} indicates which +element of the array (indexed from zero) is being assigned to. A +@code{RANGE_EXPR} indicates an inclusive range of elements to +initialize. In both cases the @code{TREE_VALUE} is the corresponding +initializer. It is re-evaluated for each element of a +@code{RANGE_EXPR}. If the @code{TREE_PURPOSE} is @code{NULL_TREE}, then +the initializer is for the next available array element. In the front end, you should not depend on the fields appearing in any particular order. However, in the middle end, fields must appear in