Another union codegen abort

Possibly just another face of the previous one, but it hits a different assert:

struct S { int a; };
union U { struct S s; union U *next; };

union U *get_next(union U *node) { return node->next; }

CookieJar:Desktop keith$ clang -emit-llvm union2.c
Assertion failed: (ExprType->isFunctionType() && "Unknown scalar
value"), function EmitLoadOfLValue, file CGExpr.cpp, line 120.

-Keith