Adjust the special non-C++ enum block return type inference
so that it looks through certain syntactic forms and applies
even if normal inference would have succeeded.
There is potential for source incompatibility from this
change, but overall we feel that it produces a much
cleaner and more defensible result, and the block
compatibility rules should curb a lot of the potential
for annoyance.
rdar://
13200889
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176743
91177308-0d34-0410-b5e6-
96231b3b80d8