[libcxx] r242581 - Cleanup tests that fail in C++1z and with Clang 3.8

Eric Fiselier eric at efcs.ca
Fri Jul 17 15:27:44 PDT 2015


Author: ericwf
Date: Fri Jul 17 17:27:43 2015
New Revision: 242581

URL: http://llvm.org/viewvc/llvm-project?rev=242581&view=rev
Log:
Cleanup tests that fail in C++1z and with Clang 3.8

Removed:
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/no-variadics.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_int_0.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_no_variadics.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_void_0.pass.cpp
Modified:
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.fail.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp

Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp?rev=242581&r1=242580&r2=242581&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp Fri Jul 17 17:27:43 2015
@@ -11,11 +11,10 @@
 
 // UNSUPPORTED: sanitizer-new-delete, c++98, c++03, c++11
 
-// TODO: Clang does not enable sized-deallocation in c++14 and beyond by
+// NOTE: Clang does not enable sized-deallocation in c++14 and beyond by
 // default. It is only enabled when -fsized-deallocation is given.
-// (except clang-3.6 which temporarly enabled sized-deallocation)
-// XFAIL: clang-3.4, clang-3.5, clang-3.7, clang-3.8
-// XFAIL: apple-clang
+// (except clang-3.6 which temporarily enabled sized-deallocation)
+// UNSUPPORTED: clang, apple-clang
 
 // NOTE: GCC 4.9.1 does not support sized-deallocation in c++14. However
 // GCC 5.1 does.

Modified: libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp?rev=242581&r1=242580&r2=242581&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp Fri Jul 17 17:27:43 2015
@@ -11,11 +11,10 @@
 
 // UNSUPPORTED: sanitizer-new-delete, c++98, c++03, c++11
 
-// TODO: Clang does not enable sized-deallocation in c++14 and beyond by
+// NOTE: Clang does not enable sized-deallocation in c++14 and beyond by
 // default. It is only enabled when -fsized-deallocation is given.
-// (except clang-3.6 which temporarly enabled sized-deallocation)
-// XFAIL: clang-3.4, clang-3.5, clang-3.7, clang-3.8
-// XFAIL: apple-clang
+// (except clang-3.6 which temporarily enabled sized-deallocation)
+// UNSUPPORTED: clang, apple-clang
 
 // NOTE: GCC 4.9.1 does not support sized-deallocation in c++14. However
 // GCC 5.1 does.

Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp?rev=242581&r1=242580&r2=242581&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp Fri Jul 17 17:27:43 2015
@@ -11,7 +11,7 @@
 
 // class function<R(ArgTypes...)>
 
-// function(nullptr_t);
+// function(F);
 
 #include <functional>
 #include <cassert>
@@ -87,4 +87,8 @@ int main()
       assert(f.target<int(*)(int)>() != 0);
       f(1);
     }
+    {
+        std::function <void()> f(static_cast<void (*)()>(0));
+        assert(!f);
+    }
 }

Removed: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/no-variadics.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/no-variadics.pass.cpp?rev=242580&view=auto
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/no-variadics.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/no-variadics.pass.cpp (removed)
@@ -1,24 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <functional>
-
-// class function<R()>
-
-// template<class F> function(F);
-
-#define _LIBCPP_HAS_NO_VARIADICS
-#include <functional>
-#include <cassert>
-
-int main()
-{
-    std::function<void()> f(static_cast<void(*)()>(0));
-    assert(!f);
-}

Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.fail.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.fail.cpp?rev=242581&r1=242580&r2=242581&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.fail.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.fail.cpp Fri Jul 17 17:27:43 2015
@@ -30,13 +30,13 @@ test_int_1()
 {
     // member data pointer
     {
-    int A_int_1::*fp = &A_int_1::data_;
-    A_int_1 a;
-    std::function<int& (const A_int_1*)> r2(fp);
-    const A_int_1* ap = &a;
-    assert(r2(ap) == 6);
-    r2(ap) = 7;
-    assert(r2(ap) == 7);
+        int A_int_1::*fp = &A_int_1::data_;
+        A_int_1 a;
+        std::function<int& (const A_int_1*)> r2(fp);
+        const A_int_1* ap = &a;
+        assert(r2(ap) == 6);
+        r2(ap) = 7;
+        assert(r2(ap) == 7);
     }
 }
 

Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp?rev=242581&r1=242580&r2=242581&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp Fri Jul 17 17:27:43 2015
@@ -16,8 +16,85 @@
 #include <functional>
 #include <cassert>
 
+
 int count = 0;
 
+
+// 0 args, return int
+
+int f_int_0()
+{
+    return 3;
+}
+
+struct A_int_0
+{
+    int operator()() {return 4;}
+};
+
+void test_int_0()
+{
+    // function
+    {
+        std::function<int ()> r1(f_int_0);
+        assert(r1() == 3);
+    }
+    // function pointer
+    {
+        int (*fp)() = f_int_0;
+        std::function<int ()> r1(fp);
+        assert(r1() == 3);
+    }
+    // functor
+    {
+        A_int_0 a0;
+        std::function<int ()> r1(a0);
+        assert(r1() == 4);
+    }
+}
+
+
+// 0 args, return void
+
+void f_void_0()
+{
+    ++count;
+}
+
+struct A_void_0
+{
+    void operator()() {++count;}
+};
+
+void
+test_void_0()
+{
+    int save_count = count;
+    // function
+    {
+        std::function<void ()> r1(f_void_0);
+        r1();
+        assert(count == save_count+1);
+        save_count = count;
+    }
+    // function pointer
+    {
+        void (*fp)() = f_void_0;
+        std::function<void ()> r1(fp);
+        r1();
+        assert(count == save_count+1);
+        save_count = count;
+    }
+    // functor
+    {
+        A_void_0 a0;
+        std::function<void ()> r1(a0);
+        r1();
+        assert(count == save_count+1);
+        save_count = count;
+    }
+}
+
 // 1 arg, return void
 
 void f_void_1(int i)
@@ -42,57 +119,57 @@ test_void_1()
     int save_count = count;
     // function
     {
-    std::function<void (int)> r1(f_void_1);
-    int i = 2;
-    r1(i);
-    assert(count == save_count+2);
-    save_count = count;
+        std::function<void (int)> r1(f_void_1);
+        int i = 2;
+        r1(i);
+        assert(count == save_count+2);
+        save_count = count;
     }
     // function pointer
     {
-    void (*fp)(int) = f_void_1;
-    std::function<void (int)> r1(fp);
-    int i = 3;
-    r1(i);
-    assert(count == save_count+3);
-    save_count = count;
+        void (*fp)(int) = f_void_1;
+        std::function<void (int)> r1(fp);
+        int i = 3;
+        r1(i);
+        assert(count == save_count+3);
+        save_count = count;
     }
     // functor
     {
-    A_void_1 a0;
-    std::function<void (int)> r1(a0);
-    int i = 4;
-    r1(i);
-    assert(count == save_count+4);
-    save_count = count;
+        A_void_1 a0;
+        std::function<void (int)> r1(a0);
+        int i = 4;
+        r1(i);
+        assert(count == save_count+4);
+        save_count = count;
     }
     // member function pointer
     {
-    void (A_void_1::*fp)() = &A_void_1::mem1;
-    std::function<void (A_void_1)> r1(fp);
-    A_void_1 a;
-    r1(a);
-    assert(count == save_count+1);
-    save_count = count;
-    A_void_1* ap = &a;
-    std::function<void (A_void_1*)> r2 = fp;
-    r2(ap);
-    assert(count == save_count+1);
-    save_count = count;
+        void (A_void_1::*fp)() = &A_void_1::mem1;
+        std::function<void (A_void_1)> r1(fp);
+        A_void_1 a;
+        r1(a);
+        assert(count == save_count+1);
+        save_count = count;
+        A_void_1* ap = &a;
+        std::function<void (A_void_1*)> r2 = fp;
+        r2(ap);
+        assert(count == save_count+1);
+        save_count = count;
     }
     // const member function pointer
     {
-    void (A_void_1::*fp)() const = &A_void_1::mem2;
-    std::function<void (A_void_1)> r1(fp);
-    A_void_1 a;
-    r1(a);
-    assert(count == save_count+1);
-    save_count = count;
-    std::function<void (A_void_1*)> r2(fp);
-    A_void_1* ap = &a;
-    r2(ap);
-    assert(count == save_count+1);
-    save_count = count;
+        void (A_void_1::*fp)() const = &A_void_1::mem2;
+        std::function<void (A_void_1)> r1(fp);
+        A_void_1 a;
+        r1(a);
+        assert(count == save_count+1);
+        save_count = count;
+        std::function<void (A_void_1*)> r2(fp);
+        A_void_1* ap = &a;
+        r2(ap);
+        assert(count == save_count+1);
+        save_count = count;
     }
 }
 
@@ -121,57 +198,57 @@ test_int_1()
 {
     // function
     {
-    std::function<int (int)> r1(f_int_1);
-    int i = 2;
-    assert(r1(i) == 3);
+        std::function<int (int)> r1(f_int_1);
+        int i = 2;
+        assert(r1(i) == 3);
     }
     // function pointer
     {
-    int (*fp)(int) = f_int_1;
-    std::function<int (int)> r1(fp);
-    int i = 3;
-    assert(r1(i) == 4);
+        int (*fp)(int) = f_int_1;
+        std::function<int (int)> r1(fp);
+        int i = 3;
+        assert(r1(i) == 4);
     }
     // functor
     {
-    A_int_1 a0;
-    std::function<int (int)> r1(a0);
-    int i = 4;
-    assert(r1(i) == 3);
+        A_int_1 a0;
+        std::function<int (int)> r1(a0);
+        int i = 4;
+        assert(r1(i) == 3);
     }
     // member function pointer
     {
-    int (A_int_1::*fp)() = &A_int_1::mem1;
-    std::function<int (A_int_1)> r1(fp);
-    A_int_1 a;
-    assert(r1(a) == 3);
-    std::function<int (A_int_1*)> r2(fp);
-    A_int_1* ap = &a;
-    assert(r2(ap) == 3);
+        int (A_int_1::*fp)() = &A_int_1::mem1;
+        std::function<int (A_int_1)> r1(fp);
+        A_int_1 a;
+        assert(r1(a) == 3);
+        std::function<int (A_int_1*)> r2(fp);
+        A_int_1* ap = &a;
+        assert(r2(ap) == 3);
     }
     // const member function pointer
     {
-    int (A_int_1::*fp)() const = &A_int_1::mem2;
-    std::function<int (A_int_1)> r1(fp);
-    A_int_1 a;
-    assert(r1(a) == 4);
-    std::function<int (A_int_1*)> r2(fp);
-    A_int_1* ap = &a;
-    assert(r2(ap) == 4);
+        int (A_int_1::*fp)() const = &A_int_1::mem2;
+        std::function<int (A_int_1)> r1(fp);
+        A_int_1 a;
+        assert(r1(a) == 4);
+        std::function<int (A_int_1*)> r2(fp);
+        A_int_1* ap = &a;
+        assert(r2(ap) == 4);
     }
     // member data pointer
     {
-    int A_int_1::*fp = &A_int_1::data_;
-    std::function<int& (A_int_1&)> r1(fp);
-    A_int_1 a;
-    assert(r1(a) == 5);
-    r1(a) = 6;
-    assert(r1(a) == 6);
-    std::function<int& (A_int_1*)> r2(fp);
-    A_int_1* ap = &a;
-    assert(r2(ap) == 6);
-    r2(ap) = 7;
-    assert(r2(ap) == 7);
+        int A_int_1::*fp = &A_int_1::data_;
+        std::function<int& (A_int_1&)> r1(fp);
+        A_int_1 a;
+        assert(r1(a) == 5);
+        r1(a) = 6;
+        assert(r1(a) == 6);
+        std::function<int& (A_int_1*)> r2(fp);
+        A_int_1* ap = &a;
+        assert(r2(ap) == 6);
+        r2(ap) = 7;
+        assert(r2(ap) == 7);
     }
 }
 
@@ -199,62 +276,62 @@ test_void_2()
     int save_count = count;
     // function
     {
-    std::function<void (int, int)> r1(f_void_2);
-    int i = 2;
-    int j = 3;
-    r1(i, j);
-    assert(count == save_count+5);
-    save_count = count;
+        std::function<void (int, int)> r1(f_void_2);
+        int i = 2;
+        int j = 3;
+        r1(i, j);
+        assert(count == save_count+5);
+        save_count = count;
     }
     // function pointer
     {
-    void (*fp)(int, int) = f_void_2;
-    std::function<void (int, int)> r1(fp);
-    int i = 3;
-    int j = 4;
-    r1(i, j);
-    assert(count == save_count+7);
-    save_count = count;
+        void (*fp)(int, int) = f_void_2;
+        std::function<void (int, int)> r1(fp);
+        int i = 3;
+        int j = 4;
+        r1(i, j);
+        assert(count == save_count+7);
+        save_count = count;
     }
     // functor
     {
-    A_void_2 a0;
-    std::function<void (int, int)> r1(a0);
-    int i = 4;
-    int j = 5;
-    r1(i, j);
-    assert(count == save_count+9);
-    save_count = count;
+        A_void_2 a0;
+        std::function<void (int, int)> r1(a0);
+        int i = 4;
+        int j = 5;
+        r1(i, j);
+        assert(count == save_count+9);
+        save_count = count;
     }
     // member function pointer
     {
-    void (A_void_2::*fp)(int) = &A_void_2::mem1;
-    std::function<void (A_void_2, int)> r1(fp);
-    A_void_2 a;
-    int i = 3;
-    r1(a, i);
-    assert(count == save_count+3);
-    save_count = count;
-    std::function<void (A_void_2*, int)> r2(fp);
-    A_void_2* ap = &a;
-    r2(ap, i);
-    assert(count == save_count+3);
-    save_count = count;
+        void (A_void_2::*fp)(int) = &A_void_2::mem1;
+        std::function<void (A_void_2, int)> r1(fp);
+        A_void_2 a;
+        int i = 3;
+        r1(a, i);
+        assert(count == save_count+3);
+        save_count = count;
+        std::function<void (A_void_2*, int)> r2(fp);
+        A_void_2* ap = &a;
+        r2(ap, i);
+        assert(count == save_count+3);
+        save_count = count;
     }
     // const member function pointer
     {
-    void (A_void_2::*fp)(int) const = &A_void_2::mem2;
-    std::function<void (A_void_2, int)> r1(fp);
-    A_void_2 a;
-    int i = 4;
-    r1(a, i);
-    assert(count == save_count+4);
-    save_count = count;
-    std::function<void (A_void_2*, int)> r2(fp);
-    A_void_2* ap = &a;
-    r2(ap, i);
-    assert(count == save_count+4);
-    save_count = count;
+        void (A_void_2::*fp)(int) const = &A_void_2::mem2;
+        std::function<void (A_void_2, int)> r1(fp);
+        A_void_2 a;
+        int i = 4;
+        r1(a, i);
+        assert(count == save_count+4);
+        save_count = count;
+        std::function<void (A_void_2*, int)> r2(fp);
+        A_void_2* ap = &a;
+        r2(ap, i);
+        assert(count == save_count+4);
+        save_count = count;
     }
 }
 
@@ -276,60 +353,61 @@ struct A_int_2
     int mem2(int i) const {return i+2;}
 };
 
-void
-testint_2()
+void test_int_2()
 {
     // function
     {
-    std::function<int (int, int)> r1(f_int_2);
-    int i = 2;
-    int j = 3;
-    assert(r1(i, j) == i+j);
+        std::function<int (int, int)> r1(f_int_2);
+        int i = 2;
+        int j = 3;
+        assert(r1(i, j) == i+j);
     }
     // function pointer
     {
-    int (*fp)(int, int) = f_int_2;
-    std::function<int (int, int)> r1(fp);
-    int i = 3;
-    int j = 4;
-    assert(r1(i, j) == i+j);
+        int (*fp)(int, int) = f_int_2;
+        std::function<int (int, int)> r1(fp);
+        int i = 3;
+        int j = 4;
+        assert(r1(i, j) == i+j);
     }
     // functor
     {
-    A_int_2 a0;
-    std::function<int (int, int)> r1(a0);
-    int i = 4;
-    int j = 5;
-    assert(r1(i, j) == i+j);
+        A_int_2 a0;
+        std::function<int (int, int)> r1(a0);
+        int i = 4;
+        int j = 5;
+        assert(r1(i, j) == i+j);
     }
     // member function pointer
     {
-    int(A_int_2::*fp)(int) = &A_int_2::mem1;
-    std::function<int (A_int_2, int)> r1(fp);
-    A_int_2 a;
-    int i = 3;
-    assert(r1(a, i) == i+1);
-    std::function<int (A_int_2*, int)> r2(fp);
-    A_int_2* ap = &a;
-    assert(r2(ap, i) == i+1);
+        int(A_int_2::*fp)(int) = &A_int_2::mem1;
+        std::function<int (A_int_2, int)> r1(fp);
+        A_int_2 a;
+        int i = 3;
+        assert(r1(a, i) == i+1);
+        std::function<int (A_int_2*, int)> r2(fp);
+        A_int_2* ap = &a;
+        assert(r2(ap, i) == i+1);
     }
     // const member function pointer
     {
-    int (A_int_2::*fp)(int) const = &A_int_2::mem2;
-    std::function<int (A_int_2, int)> r1(fp);
-    A_int_2 a;
-    int i = 4;
-    assert(r1(a, i) == i+2);
-    std::function<int (A_int_2*, int)> r2(fp);
-    A_int_2* ap = &a;
-    assert(r2(ap, i) == i+2);
+        int (A_int_2::*fp)(int) const = &A_int_2::mem2;
+        std::function<int (A_int_2, int)> r1(fp);
+        A_int_2 a;
+        int i = 4;
+        assert(r1(a, i) == i+2);
+        std::function<int (A_int_2*, int)> r2(fp);
+        A_int_2* ap = &a;
+        assert(r2(ap, i) == i+2);
     }
 }
 
 int main()
 {
+    test_void_0();
+    test_int_0();
     test_void_1();
     test_int_1();
     test_void_2();
-    testint_2();
+    test_int_2();
 }

Removed: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_int_0.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_int_0.pass.cpp?rev=242580&view=auto
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_int_0.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_int_0.pass.cpp (removed)
@@ -1,58 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <functional>
-
-// class function<R(ArgTypes...)>
-
-// R operator()(ArgTypes... args) const
-
-#include <functional>
-#include <cassert>
-
-// 0 args, return int
-
-int count = 0;
-
-int f_int_0()
-{
-    return 3;
-}
-
-struct A_int_0
-{
-    int operator()() {return 4;}
-};
-
-void
-test_int_0()
-{
-    // function
-    {
-    std::function<int ()> r1(f_int_0);
-    assert(r1() == 3);
-    }
-    // function pointer
-    {
-    int (*fp)() = f_int_0;
-    std::function<int ()> r1(fp);
-    assert(r1() == 3);
-    }
-    // functor
-    {
-    A_int_0 a0;
-    std::function<int ()> r1(a0);
-    assert(r1() == 4);
-    }
-}
-
-int main()
-{
-    test_int_0();
-}

Removed: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_no_variadics.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_no_variadics.pass.cpp?rev=242580&view=auto
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_no_variadics.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_no_variadics.pass.cpp (removed)
@@ -1,60 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <functional>
-
-// class function<R()>
-
-// Test that we properly return both values and void for all non-variadic
-// overloads of function::operator()(...)
-
-#define _LIBCPP_HAS_NO_VARIADICS
-#include <functional>
-#include <cassert>
-
-int foo0() { return 42; }
-int foo1(int) { return 42; }
-int foo2(int, int) { return 42; }
-int foo3(int, int, int) { return 42; }
-
-int main()
-{
-    {
-        std::function<int()> f(&foo0);
-        assert(f() == 42);
-    }
-    {
-        std::function<int(int)> f(&foo1);
-        assert(f(1) == 42);
-    }
-    {
-        std::function<int(int, int)> f(&foo2);
-        assert(f(1, 1) == 42);
-    }
-    {
-        std::function<int(int, int, int)> f(&foo3);
-        assert(f(1, 1, 1) == 42);
-    }
-    {
-        std::function<void()> f(&foo0);
-        f();
-    }
-    {
-        std::function<void(int)> f(&foo1);
-        f(1);
-    }
-    {
-        std::function<void(int, int)> f(&foo2);
-        f(1, 1);
-    }
-    {
-        std::function<void(int, int, int)> f(&foo3);
-        f(1, 1, 1);
-    }
-}

Removed: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_void_0.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_void_0.pass.cpp?rev=242580&view=auto
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_void_0.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_void_0.pass.cpp (removed)
@@ -1,67 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <functional>
-
-// class function<R(ArgTypes...)>
-
-// R operator()(ArgTypes... args) const
-
-#include <functional>
-#include <new>
-#include <cstdlib>
-#include <cassert>
-
-// 0 args, return void
-
-int count = 0;
-
-void f_void_0()
-{
-    ++count;
-}
-
-struct A_void_0
-{
-    void operator()() {++count;}
-};
-
-void
-test_void_0()
-{
-    int save_count = count;
-    // function
-    {
-    std::function<void ()> r1(f_void_0);
-    r1();
-    assert(count == save_count+1);
-    save_count = count;
-    }
-    // function pointer
-    {
-    void (*fp)() = f_void_0;
-    std::function<void ()> r1(fp);
-    r1();
-    assert(count == save_count+1);
-    save_count = count;
-    }
-    // functor
-    {
-    A_void_0 a0;
-    std::function<void ()> r1(a0);
-    r1();
-    assert(count == save_count+1);
-    save_count = count;
-    }
-}
-
-int main()
-{
-    test_void_0();
-}





More information about the cfe-commits mailing list