<Primrose.Mbanefo@xxxxxxxxxxxx> writes: > I do not understand the gcc internal documentation on the integer_cst > expression trees. > An expression is given to calculate the value of the constant: > > ( (TREE_INT_CST_HIGH(e) << HOST_BITS_PER_WIDE_INT) > + TREE_INT_CST_LOW(e)) > > Using the expression, what is wrong in the following example: > > Example > ----------- > Given integer = 5 > HOST_BITS_PER_WIDE_INT = 4 //just an example > HOST_WIDE_INT is a type for which the integers are > HOST_BITS_PER_WIDE_INT bits long. > > Binary representation of given integer is 0|1|0|1 > TREE_INT_CST_HIGH = 0|0|0|1 > TREE_INT_CST_LOW = 0|0|0|1 > ----------- > > This definitely does not yield 5 if I apply that expression, so, I > imagine there is something wrong somewhere. > If it does, then maybe I did not understand the expression? > > Could anybody please tell me where my thinking went wrong? Why do you think TREE_INT_CST_HIGH would be 0|0|0|1 in your example? I would expect TREE_INT_CST_HIGH = 0|0|0|0 TREE_INT_CST_LOW = 0|1|0|1 Ian