> [...]
> 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

Reply via email to