Ah, sorry. Try this: - tree var = TREE_OPERAND (stmt, 0); + tree var = get_base_address (TREE_OPERAND (stmt, 0)); Yeah, that does it. And also fixes a half dozen similar cases in other Ada RTS files. I can now compile the first 18 files without ICE, error, or warning. Thanks!