diff options
Diffstat (limited to 'gcc/tree-streamer-out.c')
-rw-r--r-- | gcc/tree-streamer-out.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c index 921cb874dcc..30dc78c6b68 100644 --- a/gcc/tree-streamer-out.c +++ b/gcc/tree-streamer-out.c @@ -541,6 +541,18 @@ write_ts_vector_tree_pointers (struct output_block *ob, tree expr, bool ref_p) } +/* Write all pointer fields in the TS_POLY_INT_CST structure of EXPR to + output block OB. If REF_P is true, write a reference to EXPR's pointer + fields. */ + +static void +write_ts_poly_tree_pointers (struct output_block *ob, tree expr, bool ref_p) +{ + for (unsigned int i = 0; i < NUM_POLY_INT_COEFFS; ++i) + stream_write_tree (ob, POLY_INT_CST_COEFF (expr, i), ref_p); +} + + /* Write all pointer fields in the TS_COMPLEX structure of EXPR to output block OB. If REF_P is true, write a reference to EXPR's pointer fields. */ @@ -882,6 +894,9 @@ streamer_write_tree_body (struct output_block *ob, tree expr, bool ref_p) if (CODE_CONTAINS_STRUCT (code, TS_VECTOR)) write_ts_vector_tree_pointers (ob, expr, ref_p); + if (CODE_CONTAINS_STRUCT (code, TS_POLY_INT_CST)) + write_ts_poly_tree_pointers (ob, expr, ref_p); + if (CODE_CONTAINS_STRUCT (code, TS_COMPLEX)) write_ts_complex_tree_pointers (ob, expr, ref_p); |