]> git.ipfire.org Git - thirdparty/gcc.git/commit
Embed real_value into REAL_CST
authorRichard Biener <rguenther@suse.de>
Wed, 27 Apr 2022 11:48:49 +0000 (13:48 +0200)
committerRichard Biener <rguenther@suse.de>
Thu, 5 May 2022 11:19:40 +0000 (13:19 +0200)
commitf1d8a2d9bc3a817309c299147ff85e5091b6693e
tree8b2d00e5ce2dddc228aad8c500d501a3fa2ddf73
parentc2a0d2e6f636c6ad7da44256b6bea7470d895100
Embed real_value into REAL_CST

The following removes the indirection to real_value from REAL_CST
which doesn't seem to serve any useful purpose.  Any sharing can
be achieved by sharing the actual REAL_CST (which is what usually
happens when copying trees) and sharing of real_value amongst
different REAL_CST doesn't happen as far as I can see and would
only lead to further issues like mismatching type and real_value.

2022-04-27  Richard Biener  <rguenther@suse.de>

* tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
to real_value field.
(tree_real_cst::value): Add real_value field.
* tree.h (TREE_REAL_CST_PTR): Adjust.
* tree.cc (build_real): Remove separate allocation.
* tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
Likewise.

gcc/cp/
* module.cc (trees_in::core_vals): Remove separate allocation
for REAL_CST.
gcc/cp/module.cc
gcc/tree-core.h
gcc/tree-streamer-in.cc
gcc/tree.cc
gcc/tree.h