blob: 6b61d92580e1fc65ac13bc876ea7a4068b897b84 [file] [log] [blame]
Ulrich Weigand35668cc2012-10-24 12:22:56 +00001// RUN: %clang_cc1 -triple i386-unknown-unknown -fexceptions -emit-llvm %s -o - | FileCheck %s
Eric Christopherbf005ec2011-08-15 22:38:22 +00002int c(void) __attribute__((const));
3int p(void) __attribute__((pure));
4int t(void);
5
Bill Wendling2386bb12013-02-27 00:06:04 +00006// CHECK: define i32 @_Z1fv() {
Eric Christopherbf005ec2011-08-15 22:38:22 +00007int f(void) {
Anna Zaks0f424b02013-02-25 19:51:03 +00008 // CHECK: call i32 @_Z1cv() [[NUW_RN:#[0-9]+]]
9 // CHECK: call i32 @_Z1pv() [[NUW_RO:#[0-9]+]]
Eric Christopherbf005ec2011-08-15 22:38:22 +000010 return c() + p() + t();
11}
Eric Christopherd9afc5c2011-08-15 22:48:14 +000012
Bill Wendling2386bb12013-02-27 00:06:04 +000013// CHECK: declare i32 @_Z1cv() #0
14// CHECK: declare i32 @_Z1pv() #1
15// CHECK: declare i32 @_Z1tv()
Bill Wendlingc33fc4c2013-02-20 07:22:19 +000016
Anna Zaks0f424b02013-02-25 19:51:03 +000017// CHECK: attributes [[NUW_RN]] = { nounwind readnone }
18// CHECK: attributes [[NUW_RO]] = { nounwind readonly }