> I think that's less clear as the transform basically duplicates the call > on both branches and removes the one that is not necessary.
Yes, IMO that one is allowed under the as-if rule. > I think GCC does both though (if it throws only externally, for > internally throwing ones the transforms would be too complicated). We never ran into a problem with that in practice AFAIK. -- Eric Botcazou