In CGTypes, directly create opaque pointers, without computing the LLVM element type. This is not as straightforward as I though it would be, because apparently computing the LLVM type also causes a number of side effects, such as -Wpacked diagnostics or -fdump-record-layouts.
I've adjusted tests accordingly, but there is still one failure in test/Modules/compare-record.c. It fails to emit the error for CompareIndirectStructPointer and I'm not really sure what to do about it.