[cfe-commits] r113630 - in /cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept: cg.cpp ser.h

Sebastian Redl sebastian.redl at getdesigned.at
Fri Sep 10 14:04:03 PDT 2010


Author: cornedbee
Date: Fri Sep 10 16:04:03 2010
New Revision: 113630

URL: http://llvm.org/viewvc/llvm-project?rev=113630&view=rev
Log:
Test CXXNoexceptExpr codegen and serialization.

Added:
    cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp
    cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/ser.h

Added: cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp?rev=113630&view=auto
==============================================================================
--- cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp (added)
+++ cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp Fri Sep 10 16:04:03 2010
@@ -0,0 +1,15 @@
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -S -emit-llvm -std=c++0x -include %S/ser.h %s -o - | FileCheck %s
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-pch -o %t-ser.pch -std=c++0x -x c++ %S/ser.h
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -S -emit-llvm -std=c++0x -include-pch %t-ser.pch %s -o - | FileCheck %s
+
+void test() {
+  bool b;
+  // CHECK: store i8 1, i8* %b, align 1
+  b = noexcept(0);
+  // CHECK: store i8 0, i8* %b, align 1
+  b = noexcept(throw 0);
+  // CHECK: ret i1 true
+  b = f1();
+  // CHECK: ret i1 false
+  b = f2();
+}

Added: cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/ser.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/ser.h?rev=113630&view=auto
==============================================================================
--- cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/ser.h (added)
+++ cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/ser.h Fri Sep 10 16:04:03 2010
@@ -0,0 +1,8 @@
+// Serialization testing helper for noexcept, included by cg.cpp.
+
+inline bool f1() {
+  return noexcept(0);
+}
+inline bool f2() {
+  return noexcept(throw 0);
+}





More information about the cfe-commits mailing list