On 16 January 2015 at 11:17, Jiong Wang <jiong.w...@arm.com> wrote: > exactly, thanks, we should use FAIL although DONE and FAIL work the same in > this scenario. > > I checked their definition, FAIL always return the initial value of _val > which is NULL, > while DONE stop and return generated insns which for this pattern happen to > be NULL also. that > explain why it's not exposed by testing. > > > #define FAIL return (end_sequence (), _val) > #define DONE return (_val = get_insns (), end_sequence (), _val)
It seems rather odd to me that DONE behaves in this way. Your patch is OK with DONE switched to FAIL. /Marcus