1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/test/Verifier/sret.ll
Matt Arsenault ec50a05ed6 Verifier: Fix assert when verifying non-pointer byval or preallocated
This would fail on a cast<PointerType> when verifying the attribute if
these attributes were incorrectly used with a non-pointer type.
2020-11-20 20:08:43 -05:00

12 lines
388 B
LLVM

; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s
declare void @a(i32* sret(i32) %a, i32* sret(i32) %b)
; CHECK: Cannot have multiple 'sret' parameters!
declare void @b(i32* %a, i32* %b, i32* sret(i32) %c)
; CHECK: Attribute 'sret' is not on first or second parameter!
; CHECK: Wrong types for attribute:
; CHECK-NEXT: void (i32)* @not_ptr
declare void @not_ptr(i32 sret(i32) %x)