blob: fa06cc718a93d23bdfdb8b640a90e6338c97b911 [file] [log] [blame]
Meador Inge6b6a1612013-03-21 00:55:59 +00001; RUN: opt < %s -functionattrs -S | FileCheck %s
Nick Lewycky959af7b2009-01-04 20:27:34 +00002
Nick Lewyckyc2ec0722013-07-06 00:29:58 +00003; CHECK: declare noalias i8* @fopen(i8* nocapture readonly, i8* nocapture readonly) #0
Nick Lewycky959af7b2009-01-04 20:27:34 +00004declare i8* @fopen(i8*, i8*)
Bill Wendling84ba9762013-02-11 08:34:57 +00005
Bill Wendling90bc19c2013-02-20 07:21:42 +00006; CHECK: declare i8 @strlen(i8* nocapture) #1
Nick Lewycky959af7b2009-01-04 20:27:34 +00007declare i8 @strlen(i8*)
Bill Wendling84ba9762013-02-11 08:34:57 +00008
Bill Wendling90bc19c2013-02-20 07:21:42 +00009; CHECK: declare noalias i32* @realloc(i32* nocapture, i32) #0
Nick Lewyckye5be1cd2009-01-18 04:46:10 +000010declare i32* @realloc(i32*, i32)
Nick Lewycky959af7b2009-01-04 20:27:34 +000011
12; Test deliberately wrong declaration
13declare i32 @strcpy(...)
Bill Wendling84ba9762013-02-11 08:34:57 +000014
15; CHECK-NOT: strcpy{{.*}}noalias
16; CHECK-NOT: strcpy{{.*}}nocapture
17; CHECK-NOT: strcpy{{.*}}nounwind
18; CHECK-NOT: strcpy{{.*}}readonly
Bill Wendling90bc19c2013-02-20 07:21:42 +000019
20; CHECK: attributes #0 = { nounwind }
21; CHECK: attributes #1 = { nounwind readonly }