llvm-project/clang/test/CodeGenCXX/2009-05-04-PureConstNounwind.cpp
Ulrich Weigand 35668cc401 A number of test cases assume that an "int" parameter or return value
will be represented in the IR as a plain "i32" type.  This causes the
tests to spuriously fail on platforms where int is not a 32-bit type,
or where the ABI requires attributes like "signext" or "zeroext" to
be used.

This patch adds -triple or -target parameters to force those tests
to use the i386-unknown-unknown target.

llvm-svn: 166551
2012-10-24 12:22:56 +00:00

16 lines
493 B
C++

// RUN: %clang_cc1 -triple i386-unknown-unknown -fexceptions -emit-llvm %s -o - | FileCheck %s
int c(void) __attribute__((const));
int p(void) __attribute__((pure));
int t(void);
// CHECK: define i32 @_Z1fv() {
int f(void) {
// CHECK: call i32 @_Z1cv() nounwind readnone
// CHECK: call i32 @_Z1pv() nounwind readonly
return c() + p() + t();
}
// CHECK: declare i32 @_Z1cv() nounwind readnone
// CHECK: declare i32 @_Z1pv() nounwind readonly
// CHECK-NOT: declare i32 @_Z1tv() nounwind