Problem with integer caching and inlining
Richard Kenner
kenner@vlsi1.ultra.nyu.edu
Wed Sep 22 20:46:00 GMT 2004
When given an INTEGER_CST, tree-inline.c:copy_body_r calls copy_tree_r to
make a copy of the INTEGER_CST and then updates the type in the "new" node
using remap_type.
However, copy_body_r actually doesn't copy INTEGER_CST, assuming they are
shared. So the type remapping is destroying the type of an existing tree
node. In this case, the node is in the value cache of the type.
This occurs compiling ada/uintp.adb with -gnatpgn -O2.
Should copy_body_r actually copy an INTEGER_CST or REAL_CST if the type
has variable bounds?
More information about the Gcc
mailing list