If we have an xvalue here, we will always hit the err_typecheck_invalid_lvalue_addrof error
in 'Sema::CheckAddressOfOperand' when trying to take the address of the result. This patch
uses the fallback code path where we store the result in a local variable instead when we hit
this case.
Fixes rdar://problem/40613277
Could you use a different value than 0? Getting a random zero from memory seems to easy. It would be better to test a real string.