summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGenCXX/new.cpp2
-rw-r--r--clang/test/CodeGenCXX/operator-new.cpp21
-rw-r--r--clang/test/CodeGenCXX/static-init.cpp2
3 files changed, 23 insertions, 2 deletions
diff --git a/clang/test/CodeGenCXX/new.cpp b/clang/test/CodeGenCXX/new.cpp
index f3c14a78d36..6ea12eb5f6b 100644
--- a/clang/test/CodeGenCXX/new.cpp
+++ b/clang/test/CodeGenCXX/new.cpp
@@ -92,7 +92,7 @@ A* t10() {
struct B { };
void t11() {
- // CHECK: call i8* @_Znwm
+ // CHECK: call noalias i8* @_Znwm
// CHECK: call void @llvm.memset.i64(
B* b = new B();
}
diff --git a/clang/test/CodeGenCXX/operator-new.cpp b/clang/test/CodeGenCXX/operator-new.cpp
new file mode 100644
index 00000000000..6becaae72cb
--- /dev/null
+++ b/clang/test/CodeGenCXX/operator-new.cpp
@@ -0,0 +1,21 @@
+// RUN: %clang_cc1 -triple i686-pc-linux-gnu -emit-llvm -o %t-1.ll %s
+// RUN: FileCheck -check-prefix SANE --input-file=%t-1.ll %s
+// RUN: %clang_cc1 -triple i686-pc-linux-gnu -emit-llvm -fno-assume-sane-operator-new -o %t-2.ll %s
+// RUN: FileCheck -check-prefix SANENOT --input-file=%t-2.ll %s
+
+
+class teste {
+ int A;
+ teste() : A(2) {}
+ void* operator new(unsigned) {return ::new teste();}
+};
+
+void f1() {
+ new teste();
+}
+
+// CHECK-SANE: define linkonce_odr noalias i8* @_ZN5testenwEj(
+// CHECK-SANE: declare noalias i8* @_Znwj(
+
+// CHECK-SANENOT: define linkonce_odr i8* @_ZN5testenwEj(
+// CHECK-SANENOT: declare i8* @_Znwj(
diff --git a/clang/test/CodeGenCXX/static-init.cpp b/clang/test/CodeGenCXX/static-init.cpp
index 2ad6e9411f4..cbd90e78940 100644
--- a/clang/test/CodeGenCXX/static-init.cpp
+++ b/clang/test/CodeGenCXX/static-init.cpp
@@ -11,7 +11,7 @@ void f() {
}
void g() {
- // CHECK: call i8* @_Znwm(i64 1)
+ // CHECK: call noalias i8* @_Znwm(i64 1)
// CHECK: call void @_ZN1AC1Ev(
static A& a = *new A;
}
OpenPOWER on IntegriCloud