Debug Info Version was changed to use "Max" instead of "Warning" per the
original design intent - but this maxes old/new IR unlinkable, since
mismatched merge styles are a linking failure.
It seems possible/maybe reasonable to actually support the combination
of these two flags: Warn, but then use the maximum value rather than the
first value/earlier module's value.
A comment about why this isn't in the switch statement would be helpful, along with a note about how the new Flag is formed.
Also, it might be clearer to put this before the switch, after the new warning handling, with a continue to skip the then unnecessary switch (it consolidates the special case handling for Warning+Max).