On Sat, 3 Feb 2007, Gerald Pfeifer wrote:
>> I'd be curious to know the effect of removing the "complexity" field of
>> struct tree_exp.
> Doesn't work:
>
> trunk/gcc/cp/pt.c: In function 'tsubst_expr':
> trunk/gcc/cp/pt.c:8924: error: 'struct tree_exp' has no member named
> 'complexity'
The updated patch below works, but still runs into the out of memory
situation building gnu/javax/swing/text/html/parser/HTML_401F.lo.
Gerald
Index: gcc/tree.c
===================================================================
--- gcc/tree.c (revision 121572)
+++ gcc/tree.c (working copy)
@@ -2931,7 +2931,6 @@
#else
SET_EXPR_LOCUS (t, NULL);
#endif
- TREE_COMPLEXITY (t) = 0;
TREE_OPERAND (t, 0) = node;
TREE_BLOCK (t) = NULL_TREE;
if (node && !TYPE_P (node))
Index: gcc/tree.h
===================================================================
--- gcc/tree.h (revision 121572)
+++ gcc/tree.h (working copy)
@@ -1498,7 +1498,6 @@
/* In ordinary expression nodes. */
#define TREE_OPERAND(NODE, I) TREE_OPERAND_CHECK (NODE, I)
-#define TREE_COMPLEXITY(NODE) (EXPR_CHECK (NODE)->exp.complexity)
/* In gimple statements. */
#define GIMPLE_STMT_OPERAND(NODE, I) GIMPLE_STMT_OPERAND_CHECK (NODE, I)
@@ -1724,7 +1723,6 @@
{
struct tree_common common;
source_locus locus;
- int complexity;
tree block;
tree GTY ((special ("tree_exp"),
desc ("TREE_CODE ((tree) &%0)")))
Index: gcc/cp/pt.c
===================================================================
--- gcc/cp/pt.c (revision 121572)
+++ gcc/cp/pt.c (working copy)
@@ -8921,7 +8921,9 @@
tree op0, op1;
op0 = RECUR (TREE_OPERAND (t, 0));
op1 = RECUR (TREE_OPERAND (t, 1));
+/*
finish_omp_atomic (OMP_ATOMIC_CODE (t), op0, op1);
+*/
}
break;
Index: gcc/cp/semantics.c
===================================================================
--- gcc/cp/semantics.c (revision 121572)
+++ gcc/cp/semantics.c (working copy)
@@ -3899,7 +3899,9 @@
{
stmt = build2 (OMP_ATOMIC, void_type_node, orig_lhs, orig_rhs);
OMP_ATOMIC_DEPENDENT_P (stmt) = 1;
+/*
OMP_ATOMIC_CODE (stmt) = code;
+*/
}
add_stmt (stmt);
}