> But this doesn't fix
> 
>     case TRUTH_NOT_EXPR:
>     case BIT_NOT_EXPR:
>       op = DW_OP_not;
>       goto do_unop;

Nope (I couldn't trigger it after my change).

> I also wonder where we get the TRUTH_NOT_EXPR to expand from?  I suspect
> some non-gimplified global tree?

Yes, it's in the TYPE_SIZE of a global type:

package P is

  type Rec (Defined : Boolean) is record
    case Defined is
       when false => null;
       when others => I : Integer;
    end case;
  end record;

  A : access Rec;

end P;

-- 
Eric Botcazou



Reply via email to