libcxx initial import

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103490 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Howard Hinnant
2010-05-11 19:42:16 +00:00
commit bc8d3f97eb
3893 changed files with 1209942 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
int main()
{
}

View File

@@ -0,0 +1,44 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// template <ErrorCodeEnum E> error_code(E e);
#include <system_error>
#include <cassert>
enum testing
{
zero, one, two
};
namespace std
{
template <> struct is_error_code_enum<testing> : public std::true_type {};
}
std::error_code
make_error_code(testing x)
{
return std::error_code(static_cast<int>(x), std::generic_category());
}
int main()
{
{
std::error_code ec(two);
assert(ec.value() == 2);
assert(ec.category() == std::generic_category());
}
}

View File

@@ -0,0 +1,24 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// error_code();
#include <system_error>
#include <cassert>
int main()
{
std::error_code ec;
assert(ec.value() == 0);
assert(ec.category() == std::system_category());
}

View File

@@ -0,0 +1,31 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// error_code(int val, const error_category& cat);
#include <system_error>
#include <cassert>
int main()
{
{
std::error_code ec(6, std::system_category());
assert(ec.value() == 6);
assert(ec.category() == std::system_category());
}
{
std::error_code ec(8, std::generic_category());
assert(ec.value() == 8);
assert(ec.category() == std::generic_category());
}
}

View File

@@ -0,0 +1,45 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// template <ErrorCodeEnum E> error_code& operator=(E e);
#include <system_error>
#include <cassert>
enum testing
{
zero, one, two
};
namespace std
{
template <> struct is_error_code_enum<testing> : public std::true_type {};
}
std::error_code
make_error_code(testing x)
{
return std::error_code(static_cast<int>(x), std::generic_category());
}
int main()
{
{
std::error_code ec;
ec = two;
assert(ec.value() == 2);
assert(ec.category() == std::generic_category());
}
}

View File

@@ -0,0 +1,33 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// void assign(int val, const error_category& cat);
#include <system_error>
#include <cassert>
int main()
{
{
std::error_code ec;
ec.assign(6, std::system_category());
assert(ec.value() == 6);
assert(ec.category() == std::system_category());
}
{
std::error_code ec;
ec.assign(8, std::generic_category());
assert(ec.value() == 8);
assert(ec.category() == std::generic_category());
}
}

View File

@@ -0,0 +1,30 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// void clear();
#include <system_error>
#include <cassert>
int main()
{
{
std::error_code ec;
ec.assign(6, std::generic_category());
assert(ec.value() == 6);
assert(ec.category() == std::generic_category());
ec.clear();
assert(ec.value() == 0);
assert(ec.category() == std::system_category());
}
}

View File

@@ -0,0 +1,27 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// bool operator<(const error_code& lhs, const error_code& rhs);
#include <system_error>
#include <string>
#include <cassert>
int main()
{
{
const std::error_code ec1(6, std::generic_category());
const std::error_code ec2(7, std::generic_category());
assert(ec1 < ec2);
}
}

View File

@@ -0,0 +1,26 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// error_code make_error_code(errc e);
#include <system_error>
#include <cassert>
int main()
{
{
std::error_code ec = make_error_code(std::errc::operation_canceled);
assert(ec.value() == static_cast<int>(std::errc::operation_canceled));
assert(ec.category() == std::generic_category());
}
}

View File

@@ -0,0 +1,27 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// template <class charT, class traits>
// basic_ostream<charT,traits>&
// operator<<(basic_ostream<charT,traits>& os, const error_code& ec);
#include <system_error>
#include <sstream>
#include <cassert>
int main()
{
std::ostringstream out;
out << std::error_code(std::io_errc::stream);
assert(out.str() == "iostream:1");
}

View File

@@ -0,0 +1,30 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// explicit operator bool() const;
#include <system_error>
#include <string>
#include <cassert>
int main()
{
{
const std::error_code ec(6, std::generic_category());
assert(static_cast<bool>(ec));
}
{
const std::error_code ec(0, std::generic_category());
assert(!static_cast<bool>(ec));
}
}

View File

@@ -0,0 +1,23 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// const error_category& category() const;
#include <system_error>
#include <cassert>
int main()
{
const std::error_code ec(6, std::generic_category());
assert(ec.category() == std::generic_category());
}

View File

@@ -0,0 +1,31 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// error_condition default_error_condition() const;
#include <system_error>
#include <cassert>
int main()
{
{
const std::error_code ec(6, std::generic_category());
std::error_condition e_cond = ec.default_error_condition();
assert(e_cond == ec);
}
{
const std::error_code ec(6, std::system_category());
std::error_condition e_cond = ec.default_error_condition();
assert(e_cond == ec);
}
}

View File

@@ -0,0 +1,24 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// string message() const;
#include <system_error>
#include <string>
#include <cassert>
int main()
{
const std::error_code ec(6, std::generic_category());
assert(ec.message() == std::generic_category().message(6));
}

View File

@@ -0,0 +1,23 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <system_error>
// class error_code
// int value() const;
#include <system_error>
#include <cassert>
int main()
{
const std::error_code ec(6, std::system_category());
assert(ec.value() == 6);
}

View File

@@ -0,0 +1,12 @@
//===----------------------------------------------------------------------===//
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
int main()
{
}