Turn -Wreturn-type into an error.
Follow up to D98224, but making this an error only for clang.
Making -Wreturn-type an error is currently done by libcxx, libcxxabi, and libunwind, and for the same reasons makes be a good default for all of llvm. I'm not aware of any cases where this shouldn't be an error. This ensures different build configs, merges, and downstream branches catch issues sooner.
As mentioned in the comments, gcc basically doesn't support the notion of exhasutive switches over enums. After initially commiting D98224, downstream compilation errors resulted.