mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-13 14:46:53 +00:00
ad60d3c304
This makes things a lot easier, because we can now talk about the "argument allocation", which allocates all the memory for the call in one shot. The only functional change is to the verifier for a feature that hasn't shipped yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199434 91177308-0d34-0410-b5e6-96231b3b80d8
23 lines
649 B
LLVM
23 lines
649 B
LLVM
; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s
|
|
|
|
declare void @a(i64* byval inalloca %p)
|
|
; CHECK: Attributes {{.*}} are incompatible
|
|
|
|
declare void @b(i64* inreg inalloca %p)
|
|
; CHECK: Attributes {{.*}} are incompatible
|
|
|
|
declare void @c(i64* sret inalloca %p)
|
|
; CHECK: Attributes {{.*}} are incompatible
|
|
|
|
declare void @d(i64* nest inalloca %p)
|
|
; CHECK: Attributes {{.*}} are incompatible
|
|
|
|
declare void @e(i64* readonly inalloca %p)
|
|
; CHECK: Attributes {{.*}} are incompatible
|
|
|
|
declare void @f(void ()* inalloca %p)
|
|
; CHECK: do not support unsized types
|
|
|
|
declare void @g(i32* inalloca %p, i32 %p2)
|
|
; CHECK: inalloca isn't on the last parameter!
|