EmitArrayConstant was incorrectly returning a zeroinitializer of zero-element array type when the initializer expression wasn't empty.
This fixes an assertion added in https://reviews.llvm.org/D123649. See the discussion here: https://reviews.llvm.org/D123649#4362210
Not sure I like this fix. If we're going to pass in the DesiredType to indicate the correct result type, the caller should make sure it uses the correct type; we shouldn't need to correct it after the fact.