> [...] > KZ> + case TRUTH_NOT_EXPR: > KZ> + case VIEW_CONVERT_EXPR: > KZ> +#if STUPID_TYPE_SYSTEM > KZ> + output_type_ref (ob, TREE_TYPE (expr)); > KZ> +#endif > > I think VIEW_CONVERT_EXPR needs to be treated like NOP_EXPR and > CONVERT_EXPR in the STUPID_TYPE_SYSTEM case. VIEW_CONVERT_EXPR is a > type-casting expression.
No it is not, it is more complex than a just a simple type-casting expression, it is a cast which does nothing to the bits at all. It acts more like a reference than a cast as it is also can be used on the left hand side. I am working on a patch to have GCC use VCE more. > You could write a more compact form by emitting explicit "fake nop" > nodes where needed, and then strip those when reading. I think this > would avoid tweaking the optimizer bugs, as the reloaded trees would > be identical. Actually it would be better just to fix the problem in the first place as mentioned before. -- Pinski