On 11/12/13 13:35, Jakub Jelinek wrote:
On Tue, Nov 12, 2013 at 12:59:47PM -0700, Jeff Law wrote:
So I lost something like 3 hrs last night due to writing a hunk of
code like this
if (INTEGRAL_TYPE_P (gimple_assign_lhs (stmt)))
INTEGRAL_TYPE_P is a macro, which accepts everything, just adding
a TYPE_CHECK to that macro would be sufficient to catch that
Yes, I know full well that I could hack up INTEGRAL_TYPE_P to detect
this case and my brain damage would have been caught via the check
sometime during building the runtime libraries or the stage2 build.
My point is the mere need to hack up INTEGRAL_TYPE_P in that way is a
result of a fundamental misdesign of the tree structures. If the
structures were properly designed what I did would have been flagged as
a compile error.
It's that fundamental mis-design that we're trying to correct now with
the work from Andrew, David & others.
Jeff