summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/gfortran.h
diff options
context:
space:
mode:
authorbdavis <bdavis@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-15 05:10:22 +0000
committerbdavis <bdavis@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-15 05:10:22 +0000
commitcdd8ed531879ce76abc45fb060db6ac7eda13246 (patch)
tree60df5eb822d32866683ff7c963603250f4e57df4 /gcc/fortran/gfortran.h
parent032fdbee06d9e3b0f6ffd4af0b9654bce64f3b3b (diff)
downloadppe42-gcc-cdd8ed531879ce76abc45fb060db6ac7eda13246.tar.gz
ppe42-gcc-cdd8ed531879ce76abc45fb060db6ac7eda13246.zip
2006-11-15 Bud Davis <bdavis9659@sbcglobal.net>
PR fortran/28974 * gfortran.h (gfc_expr): Add element which holds a splay-tree for the exclusive purpose of quick access to a constructor by offset. * data.c (find_con_by_offset): Use the splay tree for the search. (gfc_assign_data_value): Use the splay tree. (gfc_assign_data_value_range): ditto. * expr.c (gfc_get_expr): Initialize new element to null. (gfc_free_expr): Delete splay tree when deleting gfc_expr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118844 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/gfortran.h')
-rw-r--r--gcc/fortran/gfortran.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index cf0dabfc81d..dbba22e2407 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -33,7 +33,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "intl.h"
#include "coretypes.h"
#include "input.h"
-
+#include "splay-tree.h"
/* The following ifdefs are recommended by the autoconf documentation
for any code using alloca. */
@@ -1245,6 +1245,8 @@ typedef struct gfc_expr
/* True if the expression is a call to a function that returns an array,
and if we have decided not to allocate temporary data for that array. */
unsigned int inline_noncopying_intrinsic : 1;
+ /* Used to quickly find a given constructor by it's offset. */
+ splay_tree con_by_offset;
union
{
OpenPOWER on IntegriCloud