; For PR1187
; RUN: llvm-upgrade < %s > /dev/null

%mystruct = type { int, double }
%glob = global %mystruct { int 3, double 42.0 }
%fptr = external global void (i32)*

implementation

csretcc void %nada(%mystruct * %ptr, int %val) {
  ret void
}

int %main(int %argc, ubyte** %argv) {
  %astr = alloca %mystruct
  call void %nada(%mystruct* %astr, i32 7)
  %fptr = alloca void (%mystruct*, i32)*
  %f = load void (%mystruct*, i32)**%fptr
  call csretcc void %f(%mystruct* %astr, i32 7)
  ret int 0
}

; For PR1187
; RUN: llvm-upgrade < %s > /dev/null

%mystruct = type { int, double }
%glob = global %mystruct { int 3, double 42.0 }
%fptr = external global void (i32)*

implementation

csretcc void %nada(%mystruct * %ptr, int %val) {
  ret void
}

int %main(int %argc, ubyte** %argv) {
  %astr = alloca %mystruct
  call void %nada(%mystruct* %astr, i32 7)
  %fptr = alloca void (%mystruct*, i32)*
  %f = load void (%mystruct*, i32)**%fptr
  call csretcc void %f(%mystruct* %astr, i32 7)
  store void (%mystruct* , i32)* %nada, void (%mystruct*, i32)** %fptr

  ret int 0
}

Add some more interesting cases to this test.
Add some more interesting cases to this test.


git-svn-id: 0ff597fd157e6f4fc38580e8d64ab130330d2411@34042 91177308-0d34-0410-b5e6-96231b3b80d8
