; RUN: opt -function-attrs -S < %s | FileCheck %s
; RUN: opt -passes=function-attrs -S < %s | FileCheck %s

; This checks for an iterator wraparound bug in FunctionAttrs.  The previous
; "incorrect" behavior was inferring readonly for the %x argument in @caller.
; Inferring readonly for %x *is* actually correct, since @va_func is marked
; readonly, but FunctionAttrs was inferring readonly for the wrong reasons (and
; we _need_ the readonly on @va_func to trigger the problematic code path).  It
; is possible that in the future FunctionAttrs becomes smart enough to infer
; readonly for %x for the right reasons, and at that point this test will have
; to be marked invalid.

declare void @llvm.va_start(i8*)
declare void @llvm.va_end(i8*)

define void @va_func(i32* readonly %b, ...) readonly nounwind {
; CHECK-LABEL: define void @va_func(i32* nocapture readonly %b, ...)
 entry:
  %valist = alloca i8
  call void @llvm.va_start(i8* %valist)
  call void @llvm.va_end(i8* %valist)
  %x = call i32 @caller(i32* %b)
  ret void
}

define i32 @caller(i32* %x) {
; CHECK-LABEL: define i32 @caller(i32* nocapture %x)
 entry:
  call void(i32*,...) @va_func(i32* null, i32 0, i32 0, i32 0, i32* %x)
  ret i32 42
}
