llvm/llvm/test/Linker/Inputs/opaque.ll

%A = type { }
%B = type { %D, %E, ptr }

%D = type { %E }
%E = type opaque

@g2 = external global %A
@g3 = external global %B

define void @f1()  {
  getelementptr %A, ptr null, i32 0
  ret void
}

define ptr @use_g2() {
 ret ptr @g2
}

define ptr @use_g3() {
  ret ptr @g3
}