Hello, I just noticed when moving port from 4.7.2 to HEAD that genattrtab gets into an infinite loop with: (define_insn "br_pred" [(set (pc) (if_then_else (match_operator 2 "easy_comparison" [(match_operand:BI 0 "register_operand" "c") (const_int 0)]) (label_ref (match_operand 1 "" "")) (pc)))] "" "brtest" [(set (attr "length") (const_int 4)) (set (attr "size") (if_then_else (eq_attr "length" "4") (const_string "short") (const_string "long")))])
This is a simplified version of what I have but it manages to trigger the problem. I am not sure why this is happening yet but I looked through the gcc internals manual and I don't think I am doing anything wrong. If you confirm that this is a bug and no infinite loop should occur I will write a bug report. I will, in the meantime, look at the genattrtab.c code and try to find an explanation for this. Thanks, Paulo Matos