removed various old cRIO stuff
diff --git a/aos/aos_stdint.h b/aos/aos_stdint.h
deleted file mode 100644
index accb5ce..0000000
--- a/aos/aos_stdint.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef AOS_AOS_STDINT_H_
-#define AOS_AOS_STDINT_H_
-
-#include <stdint.h>
-
-#ifdef __VXWORKS__
-typedef int64_t intmax_t;
-typedef uint64_t uintmax_t;
-#endif
-
-#endif
-
diff --git a/aos/build/jdk_tools_common b/aos/build/jdk_tools_common
deleted file mode 100644
index 3ebfc2f..0000000
--- a/aos/build/jdk_tools_common
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file gets sourced by all the shell scripts that use the JDK tools.
-# gyp likes quoting some of the input arguments, but nothing else tolerates it,
-# so " are removed from various inputs.
-
-set -e # stop on error
-#set -x # echo everything
-
-TMPDIR=$2
-# ${CLASSPATH} is used by the jdk tools
-EXTRA_CLASSPATH=`echo $3 | tr -d '"' | sed 's/ /:/g'`
-EXTRA_JARS=`echo $3 | tr -d '"'`
-
-mkdir -p ${TMPDIR}
diff --git a/aos/build/queues/compiler.rb b/aos/build/queues/compiler.rb
index 58b2bf1..90c88a7 100644
--- a/aos/build/queues/compiler.rb
+++ b/aos/build/queues/compiler.rb
@@ -85,7 +85,7 @@
cc_file_path = $cpp_base + "/" + rel_path + ".cc"
cpp_tree.add_cc_include((rel_path + ".h").inspect)
cpp_tree.add_cc_include("aos/common/byteorder.h".inspect)
- cpp_tree.add_cc_include("aos/common/inttypes.h".inspect)
+ cpp_tree.add_cc_include("<inttypes.h>")
cpp_tree.add_cc_include("aos/common/queue_types.h".inspect)
cpp_tree.add_cc_include("aos/common/once.h".inspect)
cpp_tree.add_cc_include("aos/common/logging/logging_printf_formats.h".inspect)
diff --git a/aos/common/die.cc b/aos/common/die.cc
index 0ea7007..4c579cd 100644
--- a/aos/common/die.cc
+++ b/aos/common/die.cc
@@ -7,11 +7,10 @@
#include <unistd.h>
#include <string.h>
#include <signal.h>
+#include <stdint.h>
#include <string>
-#include "aos/aos_stdint.h"
-
namespace aos {
void Die(const char *format, ...) {
diff --git a/aos/common/inttypes.h b/aos/common/inttypes.h
deleted file mode 100644
index a96130f..0000000
--- a/aos/common/inttypes.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef AOS_COMMON_INTTYPES_H_
-#define AOS_COMMON_INTTYPES_H_
-
-// This file is here because the vxworks headers do not have an inttypes.h file
-// and being able to print out fixed size types is very useful. Any fixed size
-// formats that we need on the cRIO should get added here.
-
-#ifndef __VXWORKS__
-#include <inttypes.h>
-#else
-#define PRId64 "lld"
-#define PRIu64 "llu"
-
-// It warns about just "d", but not this, which is kind of weird because
-// sizeof(int) == sizeof(long) == sizeof(int32_t) == 4, but oh well.
-#define PRId32 "ld"
-#define PRIx32 "lx"
-#define PRIu32 "lu"
-
-#define PRIu16 "hu"
-#endif
-
-#endif // AOS_COMMON_INTTYPES_H_
diff --git a/aos/common/libstdc++/README b/aos/common/libstdc++/README
deleted file mode 100644
index df8269e..0000000
--- a/aos/common/libstdc++/README
+++ /dev/null
@@ -1,3 +0,0 @@
-This directory contains replacement include files for ones that the libstdc++ we're using on the cRIO either don't implement completely or doesn't have at all.
-The ones in aos/crio/libstdc++ are copied from the libstdc++ that came with the compiler and tweaked so that they work.
-When used for compiles not for vxworks, they just #include the usual standard library header.
diff --git a/aos/common/libstdc++/memory b/aos/common/libstdc++/memory
deleted file mode 100644
index 31ab6e9..0000000
--- a/aos/common/libstdc++/memory
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <memory>
-#ifdef __VXWORKS__
-#include "aos/crio/libstdc++/unique_ptr.h"
-#endif
diff --git a/aos/common/libstdc++/type_traits b/aos/common/libstdc++/type_traits
deleted file mode 100644
index ada2002..0000000
--- a/aos/common/libstdc++/type_traits
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifdef __VXWORKS__
-#include "aos/crio/libstdc++/type_traits"
-#else
-#include <type_traits>
-#endif
diff --git a/aos/common/libstdc++/utility b/aos/common/libstdc++/utility
deleted file mode 100644
index 50b8aa3..0000000
--- a/aos/common/libstdc++/utility
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <utility>
-#ifdef __VXWORKS__
-#include "aos/crio/libstdc++/move.h"
-#endif
diff --git a/aos/common/logging/logging_impl.cc b/aos/common/logging/logging_impl.cc
index e7b0a5e..5c5dfc4 100644
--- a/aos/common/logging/logging_impl.cc
+++ b/aos/common/logging/logging_impl.cc
@@ -4,7 +4,7 @@
#include <stdarg.h>
#include "aos/common/time.h"
-#include "aos/common/inttypes.h"
+#include <inttypes.h>
#include "aos/common/once.h"
#include "aos/common/queue_types.h"
#include "aos/common/logging/logging_printf_formats.h"
diff --git a/aos/common/logging/logging_impl_test.cc b/aos/common/logging/logging_impl_test.cc
index 58b7b00..dea1815 100644
--- a/aos/common/logging/logging_impl_test.cc
+++ b/aos/common/logging/logging_impl_test.cc
@@ -5,7 +5,7 @@
#include "aos/common/logging/logging_impl.h"
#include "aos/common/time.h"
#include "aos/common/die.h"
-#include "aos/common/inttypes.h"
+#include <inttypes.h>
using ::testing::AssertionResult;
using ::testing::AssertionSuccess;
diff --git a/aos/common/network_port.h b/aos/common/network_port.h
index c19c2ce..b523674 100644
--- a/aos/common/network_port.h
+++ b/aos/common/network_port.h
@@ -1,7 +1,7 @@
#ifndef AOS_COMMON_NETWORK_PORT_H_
#define AOS_COMMON_NETWORK_PORT_H_
-#include "aos/aos_stdint.h"
+#include <stdint.h>
namespace aos {
diff --git a/aos/common/queue.cc b/aos/common/queue.cc
index b3a4799..893e62b 100644
--- a/aos/common/queue.cc
+++ b/aos/common/queue.cc
@@ -1,7 +1,7 @@
#include "aos/common/queue.h"
#include "aos/common/byteorder.h"
-#include "aos/common/inttypes.h"
+#include <inttypes.h>
namespace aos {
diff --git a/aos/common/time.cc b/aos/common/time.cc
index ced0c4d..8a44010 100644
--- a/aos/common/time.cc
+++ b/aos/common/time.cc
@@ -7,7 +7,7 @@
#include <string.h>
#include "aos/common/logging/logging.h"
-#include "aos/common/inttypes.h"
+#include <inttypes.h>
#include "aos/common/mutex.h"
namespace aos {
diff --git a/aos/common/time.h b/aos/common/time.h
index ca1d207..1dc1def 100644
--- a/aos/common/time.h
+++ b/aos/common/time.h
@@ -3,17 +3,12 @@
#include <stdint.h>
#include <time.h>
-
-#ifndef __VXWORKS__
-#include <type_traits>
#include <sys/time.h>
-#else
-#include <sysLib.h>
-#include <sys/times.h>
-#endif
+#include <stdint.h>
+
+#include <type_traits>
#include <ostream>
-#include "aos/aos_stdint.h"
#include "aos/common/type_traits.h"
namespace aos {
diff --git a/aos/common/type_traits.h b/aos/common/type_traits.h
index 4ce6af4..45222e7 100644
--- a/aos/common/type_traits.h
+++ b/aos/common/type_traits.h
@@ -1,7 +1,7 @@
#ifndef AOS_COMMON_TYPE_TRAITS_
#define AOS_COMMON_TYPE_TRAITS_
-#include "aos/common/libstdc++/type_traits"
+#include <type_traits>
namespace aos {
diff --git a/aos/crio/README.txt b/aos/crio/README.txt
index 8bdd209..82f1b09 100644
--- a/aos/crio/README.txt
+++ b/aos/crio/README.txt
@@ -1,9 +1,8 @@
see ../README.txt for stuff affecting crio and linux code
-There isn't much cRIO code left any more... The general policy is to not break
-things in aos/common/ that are #ifdeffed etc to with on the cRIO for no reason,
-but if there's a major rewrite on anything the vxworks-specific code should
-probably just be deleted. Also, any new stuff in aos/common/ may not work under
-vxworks at all.
+There isn't much cRIO code left any more... At this point, we're basically
+removing all of the #ifdeffed etc stuff in aos/common/ because the code is
+nowhere close to compiling for the cRIO by now and it makes it harder to see
+everything else.
[NOTES]
The assumption that sizeof(pointers) == sizeof(int) == sizeof(UINT32) == sizeof(uint32_t) == 4 is all over the crio code. The vxworks apis use UINT32 to pass user-defined arguments, and just passing pointers through those makes the code a lot simpler.
diff --git a/aos/crio/ip.h b/aos/crio/ip.h
index c1bc457..f9cf430 100644
--- a/aos/crio/ip.h
+++ b/aos/crio/ip.h
@@ -2,8 +2,7 @@
#define AOS_CRIO_IP_H_
#include <inetLib.h>
-
-#include "aos/aos_stdint.h"
+#include <stdint.h>
namespace aos {
namespace util {
diff --git a/aos/crio/libstdc++/move.h b/aos/crio/libstdc++/move.h
deleted file mode 100644
index 425fcb6..0000000
--- a/aos/crio/libstdc++/move.h
+++ /dev/null
@@ -1,117 +0,0 @@
-// Move, forward and identity for C++0x + swap -*- C++ -*-
-
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file move.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _MOVE_H
-#define _MOVE_H 1
-
-#include "aos/crio/type_traits/type_traits"
-
-namespace std {
-
- /// identity
- template<typename _Tp>
- struct identity
- {
- typedef _Tp type;
- };
-
- /// forward (as per N2835)
- /// Forward lvalues as rvalues.
- template<typename _Tp>
- inline typename enable_if<!is_lvalue_reference<_Tp>::value, _Tp&&>::type
- forward(typename std::identity<_Tp>::type& __t)
- { return static_cast<_Tp&&>(__t); }
-
- /// Forward rvalues as rvalues.
- template<typename _Tp>
- inline typename enable_if<!is_lvalue_reference<_Tp>::value, _Tp&&>::type
- forward(typename std::identity<_Tp>::type&& __t)
- { return static_cast<_Tp&&>(__t); }
-
- // Forward lvalues as lvalues.
- template<typename _Tp>
- inline typename enable_if<is_lvalue_reference<_Tp>::value, _Tp>::type
- forward(typename std::identity<_Tp>::type __t)
- { return __t; }
-
- // Prevent forwarding rvalues as const lvalues.
- template<typename _Tp>
- inline typename enable_if<is_lvalue_reference<_Tp>::value, _Tp>::type
- forward(typename std::remove_reference<_Tp>::type&& __t) = delete;
-
- /**
- * @brief Move a value.
- * @ingroup mutating_algorithms
- * @param __t A thing of arbitrary type.
- * @return Same, moved.
- */
- template<typename _Tp>
- inline typename std::remove_reference<_Tp>::type&&
- move(_Tp&& __t)
- { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
-
- /// declval, from type_traits.
-
-#define _GLIBCXX_MOVE(_Tp) std::move(_Tp)
-#define _GLIBCXX_FORWARD(_Tp, __val) std::forward<_Tp>(__val)
-
-#if 0
- /**
- * @brief Swaps two values.
- * @ingroup mutating_algorithms
- * @param __a A thing of arbitrary type.
- * @param __b Another thing of arbitrary type.
- * @return Nothing.
- */
- template<typename _Tp>
- inline void
- swap(_Tp& __a, _Tp& __b)
- {
- // concept requirements
- __glibcxx_function_requires(_SGIAssignableConcept<_Tp>)
-
- _Tp __tmp = _GLIBCXX_MOVE(__a);
- __a = _GLIBCXX_MOVE(__b);
- __b = _GLIBCXX_MOVE(__tmp);
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 809. std::swap should be overloaded for array types.
- template<typename _Tp, size_t _Nm>
- inline void
- swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
- {
- for (size_t __n = 0; __n < _Nm; ++__n)
- swap(__a[__n], __b[__n]);
- }
-#endif
-
-} // namespace std
-
-#endif /* _MOVE_H */
diff --git a/aos/crio/libstdc++/tr1_impl/type_traits b/aos/crio/libstdc++/tr1_impl/type_traits
deleted file mode 100644
index 47f5e8f..0000000
--- a/aos/crio/libstdc++/tr1_impl/type_traits
+++ /dev/null
@@ -1,502 +0,0 @@
-// TR1 type_traits -*- C++ -*-
-
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file tr1_impl/type_traits
-* This is an internal header file, included by other library headers.
-* You should not attempt to use it directly.
-*/
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE_TR1
-
- /**
- * @defgroup metaprogramming Type Traits
- * @ingroup utilities
- *
- * Compile time type transformation and information.
- * @{
- */
-
- // For use in __is_convertible_simple.
- struct __sfinae_types
- {
- typedef char __one;
- typedef struct { char __arr[2]; } __two;
- };
-
-#define _DEFINE_SPEC_0_HELPER \
- template<>
-
-#define _DEFINE_SPEC_1_HELPER \
- template<typename _Tp>
-
-#define _DEFINE_SPEC_2_HELPER \
- template<typename _Tp, typename _Cp>
-
-#define _DEFINE_SPEC(_Order, _Trait, _Type, _Value) \
- _DEFINE_SPEC_##_Order##_HELPER \
- struct _Trait<_Type> \
- : public integral_constant<bool, _Value> { };
-
- // helper classes [4.3].
-
- /// integral_constant
- template<typename _Tp, _Tp __v>
- struct integral_constant
- {
- static const _Tp value = __v;
- typedef _Tp value_type;
- typedef integral_constant<_Tp, __v> type;
- };
-
- /// typedef for true_type
- typedef integral_constant<bool, true> true_type;
-
- /// typedef for false_type
- typedef integral_constant<bool, false> false_type;
-
- template<typename _Tp, _Tp __v>
- const _Tp integral_constant<_Tp, __v>::value;
-
- /// remove_cv
- template<typename>
- struct remove_cv;
-
- template<typename>
- struct __is_void_helper
- : public false_type { };
- _DEFINE_SPEC(0, __is_void_helper, void, true)
-
- // primary type categories [4.5.1].
-
- /// is_void
- template<typename _Tp>
- struct is_void
- : public integral_constant<bool, (__is_void_helper<typename
- remove_cv<_Tp>::type>::value)>
- { };
-
- template<typename>
- struct __is_integral_helper
- : public false_type { };
- _DEFINE_SPEC(0, __is_integral_helper, bool, true)
- _DEFINE_SPEC(0, __is_integral_helper, char, true)
- _DEFINE_SPEC(0, __is_integral_helper, signed char, true)
- _DEFINE_SPEC(0, __is_integral_helper, unsigned char, true)
-#ifdef _GLIBCXX_USE_WCHAR_T
- _DEFINE_SPEC(0, __is_integral_helper, wchar_t, true)
-#endif
-#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
- _DEFINE_SPEC(0, __is_integral_helper, char16_t, true)
- _DEFINE_SPEC(0, __is_integral_helper, char32_t, true)
-#endif
- _DEFINE_SPEC(0, __is_integral_helper, short, true)
- _DEFINE_SPEC(0, __is_integral_helper, unsigned short, true)
- _DEFINE_SPEC(0, __is_integral_helper, int, true)
- _DEFINE_SPEC(0, __is_integral_helper, unsigned int, true)
- _DEFINE_SPEC(0, __is_integral_helper, long, true)
- _DEFINE_SPEC(0, __is_integral_helper, unsigned long, true)
- _DEFINE_SPEC(0, __is_integral_helper, long long, true)
- _DEFINE_SPEC(0, __is_integral_helper, unsigned long long, true)
-
- /// is_integral
- template<typename _Tp>
- struct is_integral
- : public integral_constant<bool, (__is_integral_helper<typename
- remove_cv<_Tp>::type>::value)>
- { };
-
- template<typename>
- struct __is_floating_point_helper
- : public false_type { };
- _DEFINE_SPEC(0, __is_floating_point_helper, float, true)
- _DEFINE_SPEC(0, __is_floating_point_helper, double, true)
- _DEFINE_SPEC(0, __is_floating_point_helper, long double, true)
-
- /// is_floating_point
- template<typename _Tp>
- struct is_floating_point
- : public integral_constant<bool, (__is_floating_point_helper<typename
- remove_cv<_Tp>::type>::value)>
- { };
-
- /// is_array
- template<typename>
- struct is_array
- : public false_type { };
-
- template<typename _Tp, std::size_t _Size>
- struct is_array<_Tp[_Size]>
- : public true_type { };
-
- template<typename _Tp>
- struct is_array<_Tp[]>
- : public true_type { };
-
- template<typename>
- struct __is_pointer_helper
- : public false_type { };
- _DEFINE_SPEC(1, __is_pointer_helper, _Tp*, true)
-
- /// is_pointer
- template<typename _Tp>
- struct is_pointer
- : public integral_constant<bool, (__is_pointer_helper<typename
- remove_cv<_Tp>::type>::value)>
- { };
-
- /// is_reference
- template<typename _Tp>
- struct is_reference;
-
- /// is_function
- template<typename _Tp>
- struct is_function;
-
- template<typename>
- struct __is_member_object_pointer_helper
- : public false_type { };
- _DEFINE_SPEC(2, __is_member_object_pointer_helper, _Tp _Cp::*,
- !is_function<_Tp>::value)
-
- /// is_member_object_pointer
- template<typename _Tp>
- struct is_member_object_pointer
- : public integral_constant<bool, (__is_member_object_pointer_helper<
- typename remove_cv<_Tp>::type>::value)>
- { };
-
- template<typename>
- struct __is_member_function_pointer_helper
- : public false_type { };
- _DEFINE_SPEC(2, __is_member_function_pointer_helper, _Tp _Cp::*,
- is_function<_Tp>::value)
-
- /// is_member_function_pointer
- template<typename _Tp>
- struct is_member_function_pointer
- : public integral_constant<bool, (__is_member_function_pointer_helper<
- typename remove_cv<_Tp>::type>::value)>
- { };
-
- /// is_enum
- template<typename _Tp>
- struct is_enum
- : public integral_constant<bool, __is_enum(_Tp)>
- { };
-
- /// is_union
- template<typename _Tp>
- struct is_union
- : public integral_constant<bool, __is_union(_Tp)>
- { };
-
- /// is_class
- template<typename _Tp>
- struct is_class
- : public integral_constant<bool, __is_class(_Tp)>
- { };
-
- /// is_function
- template<typename>
- struct is_function
- : public false_type { };
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes...)>
- : public true_type { };
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes......)>
- : public true_type { };
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes...) const>
- : public true_type { };
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes......) const>
- : public true_type { };
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes...) volatile>
- : public true_type { };
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes......) volatile>
- : public true_type { };
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes...) const volatile>
- : public true_type { };
- template<typename _Res, typename... _ArgTypes>
- struct is_function<_Res(_ArgTypes......) const volatile>
- : public true_type { };
-
- // composite type traits [4.5.2].
-
- /// is_arithmetic
- template<typename _Tp>
- struct is_arithmetic
- : public integral_constant<bool, (is_integral<_Tp>::value
- || is_floating_point<_Tp>::value)>
- { };
-
- /// is_fundamental
- template<typename _Tp>
- struct is_fundamental
- : public integral_constant<bool, (is_arithmetic<_Tp>::value
- || is_void<_Tp>::value)>
- { };
-
- /// is_object
- template<typename _Tp>
- struct is_object
- : public integral_constant<bool, !(is_function<_Tp>::value
- || is_reference<_Tp>::value
- || is_void<_Tp>::value)>
- { };
-
- /// is_member_pointer
- template<typename _Tp>
- struct is_member_pointer;
-
- /// is_scalar
- template<typename _Tp>
- struct is_scalar
- : public integral_constant<bool, (is_arithmetic<_Tp>::value
- || is_enum<_Tp>::value
- || is_pointer<_Tp>::value
- || is_member_pointer<_Tp>::value)>
- { };
-
- /// is_compound
- template<typename _Tp>
- struct is_compound
- : public integral_constant<bool, !is_fundamental<_Tp>::value> { };
-
- /// is_member_pointer
- template<typename _Tp>
- struct __is_member_pointer_helper
- : public false_type { };
- _DEFINE_SPEC(2, __is_member_pointer_helper, _Tp _Cp::*, true)
-
- template<typename _Tp>
- struct is_member_pointer
- : public integral_constant<bool, (__is_member_pointer_helper<
- typename remove_cv<_Tp>::type>::value)>
- { };
-
- // type properties [4.5.3].
- /// is_const
- template<typename>
- struct is_const
- : public false_type { };
-
- template<typename _Tp>
- struct is_const<_Tp const>
- : public true_type { };
-
- /// is_volatile
- template<typename>
- struct is_volatile
- : public false_type { };
-
- template<typename _Tp>
- struct is_volatile<_Tp volatile>
- : public true_type { };
-
- /// is_empty
- template<typename _Tp>
- struct is_empty
- : public integral_constant<bool, __is_empty(_Tp)>
- { };
-
- /// is_polymorphic
- template<typename _Tp>
- struct is_polymorphic
- : public integral_constant<bool, __is_polymorphic(_Tp)>
- { };
-
- /// is_abstract
- template<typename _Tp>
- struct is_abstract
- : public integral_constant<bool, __is_abstract(_Tp)>
- { };
-
- /// has_virtual_destructor
- template<typename _Tp>
- struct has_virtual_destructor
- : public integral_constant<bool, __has_virtual_destructor(_Tp)>
- { };
-
- /// alignment_of
- template<typename _Tp>
- struct alignment_of
- : public integral_constant<std::size_t, __alignof__(_Tp)> { };
-
- /// rank
- template<typename>
- struct rank
- : public integral_constant<std::size_t, 0> { };
-
- template<typename _Tp, std::size_t _Size>
- struct rank<_Tp[_Size]>
- : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
-
- template<typename _Tp>
- struct rank<_Tp[]>
- : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
-
- /// extent
- template<typename, unsigned _Uint = 0>
- struct extent
- : public integral_constant<std::size_t, 0> { };
-
- template<typename _Tp, unsigned _Uint, std::size_t _Size>
- struct extent<_Tp[_Size], _Uint>
- : public integral_constant<std::size_t,
- _Uint == 0 ? _Size : extent<_Tp,
- _Uint - 1>::value>
- { };
-
- template<typename _Tp, unsigned _Uint>
- struct extent<_Tp[], _Uint>
- : public integral_constant<std::size_t,
- _Uint == 0 ? 0 : extent<_Tp,
- _Uint - 1>::value>
- { };
-
- // relationships between types [4.6].
-
- /// is_same
- template<typename, typename>
- struct is_same
- : public false_type { };
-
- template<typename _Tp>
- struct is_same<_Tp, _Tp>
- : public true_type { };
-
- // const-volatile modifications [4.7.1].
-
- /// remove_const
- template<typename _Tp>
- struct remove_const
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_const<_Tp const>
- { typedef _Tp type; };
-
- /// remove_volatile
- template<typename _Tp>
- struct remove_volatile
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_volatile<_Tp volatile>
- { typedef _Tp type; };
-
- /// remove_cv
- template<typename _Tp>
- struct remove_cv
- {
- typedef typename
- remove_const<typename remove_volatile<_Tp>::type>::type type;
- };
-
- /// add_const
- template<typename _Tp>
- struct add_const
- { typedef _Tp const type; };
-
- /// add_volatile
- template<typename _Tp>
- struct add_volatile
- { typedef _Tp volatile type; };
-
- /// add_cv
- template<typename _Tp>
- struct add_cv
- {
- typedef typename
- add_const<typename add_volatile<_Tp>::type>::type type;
- };
-
- // array modifications [4.7.3].
-
- /// remove_extent
- template<typename _Tp>
- struct remove_extent
- { typedef _Tp type; };
-
- template<typename _Tp, std::size_t _Size>
- struct remove_extent<_Tp[_Size]>
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_extent<_Tp[]>
- { typedef _Tp type; };
-
- /// remove_all_extents
- template<typename _Tp>
- struct remove_all_extents
- { typedef _Tp type; };
-
- template<typename _Tp, std::size_t _Size>
- struct remove_all_extents<_Tp[_Size]>
- { typedef typename remove_all_extents<_Tp>::type type; };
-
- template<typename _Tp>
- struct remove_all_extents<_Tp[]>
- { typedef typename remove_all_extents<_Tp>::type type; };
-
- // pointer modifications [4.7.4].
-
- template<typename _Tp, typename>
- struct __remove_pointer_helper
- { typedef _Tp type; };
-
- template<typename _Tp, typename _Up>
- struct __remove_pointer_helper<_Tp, _Up*>
- { typedef _Up type; };
-
- /// remove_pointer
- template<typename _Tp>
- struct remove_pointer
- : public __remove_pointer_helper<_Tp, typename remove_cv<_Tp>::type>
- { };
-
- template<typename>
- struct remove_reference;
-
- /// add_pointer
- template<typename _Tp>
- struct add_pointer
- { typedef typename remove_reference<_Tp>::type* type; };
-
-#undef _DEFINE_SPEC_0_HELPER
-#undef _DEFINE_SPEC_1_HELPER
-#undef _DEFINE_SPEC_2_HELPER
-#undef _DEFINE_SPEC
-
- // @} group metaprogramming
-
-_GLIBCXX_END_NAMESPACE_TR1
-}
diff --git a/aos/crio/libstdc++/type_traits b/aos/crio/libstdc++/type_traits
deleted file mode 100644
index 186cab4..0000000
--- a/aos/crio/libstdc++/type_traits
+++ /dev/null
@@ -1,634 +0,0 @@
-// C++0x type_traits -*- C++ -*-
-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file include/type_traits
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_TYPE_TRAITS
-#define _GLIBCXX_TYPE_TRAITS 1
-
-#pragma GCC system_header
-
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
-# include <bits/c++0x_warning.h>
-#else
-
-#if defined(_GLIBCXX_INCLUDE_AS_TR1)
-# error C++0x header cannot be included from TR1 header
-#endif
-
-#include <cstddef>
-
-#if defined(_GLIBCXX_INCLUDE_AS_CXX0X)
-# include "aos/crio/libstdc++/tr1_impl/type_traits"
-#else
-# define _GLIBCXX_INCLUDE_AS_CXX0X
-# define _GLIBCXX_BEGIN_NAMESPACE_TR1
-# define _GLIBCXX_END_NAMESPACE_TR1
-# define _GLIBCXX_TR1
-# include "aos/crio/libstdc++/tr1_impl/type_traits"
-# undef _GLIBCXX_TR1
-# undef _GLIBCXX_END_NAMESPACE_TR1
-# undef _GLIBCXX_BEGIN_NAMESPACE_TR1
-# undef _GLIBCXX_INCLUDE_AS_CXX0X
-#endif
-
-namespace std
-{
- /**
- * @addtogroup metaprogramming
- * @{
- */
-
- // Primary classification traits.
-
- /// is_lvalue_reference
- template<typename>
- struct is_lvalue_reference
- : public false_type { };
-
- template<typename _Tp>
- struct is_lvalue_reference<_Tp&>
- : public true_type { };
-
- /// is_rvalue_reference
- template<typename>
- struct is_rvalue_reference
- : public false_type { };
-
- template<typename _Tp>
- struct is_rvalue_reference<_Tp&&>
- : public true_type { };
-
- // Secondary classification traits.
-
- /// is_reference
- template<typename _Tp>
- struct is_reference
- : public integral_constant<bool, (is_lvalue_reference<_Tp>::value
- || is_rvalue_reference<_Tp>::value)>
- { };
-
- // Reference transformations.
-
- /// remove_reference
- template<typename _Tp>
- struct remove_reference
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_reference<_Tp&>
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_reference<_Tp&&>
- { typedef _Tp type; };
-
- template<typename _Tp,
- bool = !is_reference<_Tp>::value && !is_void<_Tp>::value,
- bool = is_rvalue_reference<_Tp>::value>
- struct __add_lvalue_reference_helper
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct __add_lvalue_reference_helper<_Tp, true, false>
- { typedef _Tp& type; };
-
- template<typename _Tp>
- struct __add_lvalue_reference_helper<_Tp, false, true>
- { typedef typename remove_reference<_Tp>::type& type; };
-
- /// add_lvalue_reference
- template<typename _Tp>
- struct add_lvalue_reference
- : public __add_lvalue_reference_helper<_Tp>
- { };
-
- template<typename _Tp,
- bool = !is_reference<_Tp>::value && !is_void<_Tp>::value>
- struct __add_rvalue_reference_helper
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct __add_rvalue_reference_helper<_Tp, true>
- { typedef _Tp&& type; };
-
- /// add_rvalue_reference
- template<typename _Tp>
- struct add_rvalue_reference
- : public __add_rvalue_reference_helper<_Tp>
- { };
-
- // Scalar properties and transformations.
-
- template<typename _Tp,
- bool = is_integral<_Tp>::value,
- bool = is_floating_point<_Tp>::value>
- struct __is_signed_helper
- : public false_type { };
-
- template<typename _Tp>
- struct __is_signed_helper<_Tp, false, true>
- : public true_type { };
-
- template<typename _Tp>
- struct __is_signed_helper<_Tp, true, false>
- : public integral_constant<bool, static_cast<bool>(_Tp(-1) < _Tp(0))>
- { };
-
- /// is_signed
- template<typename _Tp>
- struct is_signed
- : public integral_constant<bool, __is_signed_helper<_Tp>::value>
- { };
-
- /// is_unsigned
- template<typename _Tp>
- struct is_unsigned
- : public integral_constant<bool, (is_arithmetic<_Tp>::value
- && !is_signed<_Tp>::value)>
- { };
-
- // Member introspection.
-
- /// is_trivial
- template<typename _Tp>
- struct is_trivial
- : public integral_constant<bool, __is_trivial(_Tp)>
- { };
-
- /// is_standard_layout
- template<typename _Tp>
- struct is_standard_layout
- : public integral_constant<bool, __is_standard_layout(_Tp)>
- { };
-
- /// is_pod
- // Could use is_standard_layout && is_trivial instead of the builtin.
- template<typename _Tp>
- struct is_pod
- : public integral_constant<bool, __is_pod(_Tp)>
- { };
-
- template<typename _Tp>
- typename add_rvalue_reference<_Tp>::type declval();
-
- template<typename _Tp, typename... _Args>
- class __is_constructible_helper
- : public __sfinae_types
- {
- template<typename _Tp1, typename... _Args1>
- static decltype(_Tp1(declval<_Args1>()...), __one()) __test(int);
-
- template<typename, typename...>
- static __two __test(...);
-
- public:
- static const bool __value = sizeof(__test<_Tp, _Args...>(0)) == 1;
- };
-
- template<typename _Tp, typename _Arg>
- class __is_constructible_helper<_Tp, _Arg>
- : public __sfinae_types
- {
- template<typename _Tp1, typename _Arg1>
- static decltype(static_cast<_Tp1>(declval<_Arg1>()), __one())
- __test(int);
-
- template<typename, typename>
- static __two __test(...);
-
- public:
- static const bool __value = sizeof(__test<_Tp, _Arg>(0)) == 1;
- };
-
- /// is_constructible
- // XXX FIXME
- // The C++0x specifications require front-end support, see N2255.
- template<typename _Tp, typename... _Args>
- struct is_constructible
- : public integral_constant<bool,
- __is_constructible_helper<_Tp,
- _Args...>::__value>
- { };
-
- /// has_trivial_default_constructor
- template<typename _Tp>
- struct has_trivial_default_constructor
- : public integral_constant<bool, __has_trivial_constructor(_Tp)>
- { };
-
- /// has_trivial_copy_constructor
- template<typename _Tp>
- struct has_trivial_copy_constructor
- : public integral_constant<bool, __has_trivial_copy(_Tp)>
- { };
-
- /// has_trivial_assign
- template<typename _Tp>
- struct has_trivial_assign
- : public integral_constant<bool, __has_trivial_assign(_Tp)>
- { };
-
- /// has_trivial_destructor
- template<typename _Tp>
- struct has_trivial_destructor
- : public integral_constant<bool, __has_trivial_destructor(_Tp)>
- { };
-
- /// has_nothrow_default_constructor
- template<typename _Tp>
- struct has_nothrow_default_constructor
- : public integral_constant<bool, __has_nothrow_constructor(_Tp)>
- { };
-
- /// has_nothrow_copy_constructor
- template<typename _Tp>
- struct has_nothrow_copy_constructor
- : public integral_constant<bool, __has_nothrow_copy(_Tp)>
- { };
-
- /// has_nothrow_assign
- template<typename _Tp>
- struct has_nothrow_assign
- : public integral_constant<bool, __has_nothrow_assign(_Tp)>
- { };
-
- // Relationships between types.
-
- /// is_base_of
- template<typename _Base, typename _Derived>
- struct is_base_of
- : public integral_constant<bool, __is_base_of(_Base, _Derived)>
- { };
-
- template<typename _From, typename _To,
- bool = (is_void<_From>::value || is_void<_To>::value
- || is_function<_To>::value || is_array<_To>::value)>
- struct __is_convertible_helper
- { static const bool __value = (is_void<_From>::value
- && is_void<_To>::value); };
-
- template<typename _From, typename _To>
- class __is_convertible_helper<_From, _To, false>
- : public __sfinae_types
- {
- static __one __test(_To);
- static __two __test(...);
-
- public:
- static const bool __value = sizeof(__test(declval<_From>())) == 1;
- };
-
- /// is_convertible
- // XXX FIXME
- // The C++0x specifications require front-end support, see N2255.
- template<typename _From, typename _To>
- struct is_convertible
- : public integral_constant<bool,
- __is_convertible_helper<_From, _To>::__value>
- { };
-
- /// is_explicitly_convertible
- template<typename _From, typename _To>
- struct is_explicitly_convertible
- : public is_constructible<_To, _From>
- { };
-
- template<std::size_t _Len>
- struct __aligned_storage_msa
- {
- union __type
- {
- unsigned char __data[_Len];
- struct __attribute__((__aligned__)) { } __align;
- };
- };
-
- /**
- * @brief Alignment type.
- *
- * The value of _Align is a default-alignment which shall be the
- * most stringent alignment requirement for any C++ object type
- * whose size is no greater than _Len (3.9). The member typedef
- * type shall be a POD type suitable for use as uninitialized
- * storage for any object whose size is at most _Len and whose
- * alignment is a divisor of _Align.
- */
- template<std::size_t _Len, std::size_t _Align =
- __alignof__(typename __aligned_storage_msa<_Len>::__type)>
- struct aligned_storage
- {
- union type
- {
- unsigned char __data[_Len];
- struct __attribute__((__aligned__((_Align)))) { } __align;
- };
- };
-
-
- // Define a nested type if some predicate holds.
- // Primary template.
- /// enable_if
- template<bool, typename _Tp = void>
- struct enable_if
- { };
-
- // Partial specialization for true.
- template<typename _Tp>
- struct enable_if<true, _Tp>
- { typedef _Tp type; };
-
-
- // A conditional expression, but for types. If true, first, if false, second.
- // Primary template.
- /// conditional
- template<bool _Cond, typename _Iftrue, typename _Iffalse>
- struct conditional
- { typedef _Iftrue type; };
-
- // Partial specialization for false.
- template<typename _Iftrue, typename _Iffalse>
- struct conditional<false, _Iftrue, _Iffalse>
- { typedef _Iffalse type; };
-
-
- // Decay trait for arrays and functions, used for perfect forwarding
- // in make_pair, make_tuple, etc.
- template<typename _Up,
- bool _IsArray = is_array<_Up>::value,
- bool _IsFunction = is_function<_Up>::value>
- struct __decay_selector;
-
- // NB: DR 705.
- template<typename _Up>
- struct __decay_selector<_Up, false, false>
- { typedef typename remove_cv<_Up>::type __type; };
-
- template<typename _Up>
- struct __decay_selector<_Up, true, false>
- { typedef typename remove_extent<_Up>::type* __type; };
-
- template<typename _Up>
- struct __decay_selector<_Up, false, true>
- { typedef typename add_pointer<_Up>::type __type; };
-
- /// decay
- template<typename _Tp>
- class decay
- {
- typedef typename remove_reference<_Tp>::type __remove_type;
-
- public:
- typedef typename __decay_selector<__remove_type>::__type type;
- };
-
-
- // Utility for constructing identically cv-qualified types.
- template<typename _Unqualified, bool _IsConst, bool _IsVol>
- struct __cv_selector;
-
- template<typename _Unqualified>
- struct __cv_selector<_Unqualified, false, false>
- { typedef _Unqualified __type; };
-
- template<typename _Unqualified>
- struct __cv_selector<_Unqualified, false, true>
- { typedef volatile _Unqualified __type; };
-
- template<typename _Unqualified>
- struct __cv_selector<_Unqualified, true, false>
- { typedef const _Unqualified __type; };
-
- template<typename _Unqualified>
- struct __cv_selector<_Unqualified, true, true>
- { typedef const volatile _Unqualified __type; };
-
- template<typename _Qualified, typename _Unqualified,
- bool _IsConst = is_const<_Qualified>::value,
- bool _IsVol = is_volatile<_Qualified>::value>
- class __match_cv_qualifiers
- {
- typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match;
-
- public:
- typedef typename __match::__type __type;
- };
-
-
- // Utility for finding the unsigned versions of signed integral types.
- template<typename _Tp>
- struct __make_unsigned
- { typedef _Tp __type; };
-
- template<>
- struct __make_unsigned<char>
- { typedef unsigned char __type; };
-
- template<>
- struct __make_unsigned<signed char>
- { typedef unsigned char __type; };
-
- template<>
- struct __make_unsigned<short>
- { typedef unsigned short __type; };
-
- template<>
- struct __make_unsigned<int>
- { typedef unsigned int __type; };
-
- template<>
- struct __make_unsigned<long>
- { typedef unsigned long __type; };
-
- template<>
- struct __make_unsigned<long long>
- { typedef unsigned long long __type; };
-
-
- // Select between integral and enum: not possible to be both.
- template<typename _Tp,
- bool _IsInt = is_integral<_Tp>::value,
- bool _IsEnum = is_enum<_Tp>::value>
- class __make_unsigned_selector;
-
- template<typename _Tp>
- class __make_unsigned_selector<_Tp, true, false>
- {
- typedef __make_unsigned<typename remove_cv<_Tp>::type> __unsignedt;
- typedef typename __unsignedt::__type __unsigned_type;
- typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned;
-
- public:
- typedef typename __cv_unsigned::__type __type;
- };
-
- template<typename _Tp>
- class __make_unsigned_selector<_Tp, false, true>
- {
- // With -fshort-enums, an enum may be as small as a char.
- typedef unsigned char __smallest;
- static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest);
- static const bool __b1 = sizeof(_Tp) <= sizeof(unsigned short);
- static const bool __b2 = sizeof(_Tp) <= sizeof(unsigned int);
- typedef conditional<__b2, unsigned int, unsigned long> __cond2;
- typedef typename __cond2::type __cond2_type;
- typedef conditional<__b1, unsigned short, __cond2_type> __cond1;
- typedef typename __cond1::type __cond1_type;
-
- public:
- typedef typename conditional<__b0, __smallest, __cond1_type>::type __type;
- };
-
- // Given an integral/enum type, return the corresponding unsigned
- // integer type.
- // Primary template.
- /// make_unsigned
- template<typename _Tp>
- struct make_unsigned
- { typedef typename __make_unsigned_selector<_Tp>::__type type; };
-
- // Integral, but don't define.
- template<>
- struct make_unsigned<bool>;
-
-
- // Utility for finding the signed versions of unsigned integral types.
- template<typename _Tp>
- struct __make_signed
- { typedef _Tp __type; };
-
- template<>
- struct __make_signed<char>
- { typedef signed char __type; };
-
- template<>
- struct __make_signed<unsigned char>
- { typedef signed char __type; };
-
- template<>
- struct __make_signed<unsigned short>
- { typedef signed short __type; };
-
- template<>
- struct __make_signed<unsigned int>
- { typedef signed int __type; };
-
- template<>
- struct __make_signed<unsigned long>
- { typedef signed long __type; };
-
- template<>
- struct __make_signed<unsigned long long>
- { typedef signed long long __type; };
-
-
- // Select between integral and enum: not possible to be both.
- template<typename _Tp,
- bool _IsInt = is_integral<_Tp>::value,
- bool _IsEnum = is_enum<_Tp>::value>
- class __make_signed_selector;
-
- template<typename _Tp>
- class __make_signed_selector<_Tp, true, false>
- {
- typedef __make_signed<typename remove_cv<_Tp>::type> __signedt;
- typedef typename __signedt::__type __signed_type;
- typedef __match_cv_qualifiers<_Tp, __signed_type> __cv_signed;
-
- public:
- typedef typename __cv_signed::__type __type;
- };
-
- template<typename _Tp>
- class __make_signed_selector<_Tp, false, true>
- {
- // With -fshort-enums, an enum may be as small as a char.
- typedef signed char __smallest;
- static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest);
- static const bool __b1 = sizeof(_Tp) <= sizeof(signed short);
- static const bool __b2 = sizeof(_Tp) <= sizeof(signed int);
- typedef conditional<__b2, signed int, signed long> __cond2;
- typedef typename __cond2::type __cond2_type;
- typedef conditional<__b1, signed short, __cond2_type> __cond1;
- typedef typename __cond1::type __cond1_type;
-
- public:
- typedef typename conditional<__b0, __smallest, __cond1_type>::type __type;
- };
-
- // Given an integral/enum type, return the corresponding signed
- // integer type.
- // Primary template.
- /// make_signed
- template<typename _Tp>
- struct make_signed
- { typedef typename __make_signed_selector<_Tp>::__type type; };
-
- // Integral, but don't define.
- template<>
- struct make_signed<bool>;
-
- /// common_type
- template<typename... _Tp>
- struct common_type;
-
- template<typename _Tp>
- struct common_type<_Tp>
- { typedef _Tp type; };
-
- template<typename _Tp, typename _Up>
- struct common_type<_Tp, _Up>
- { typedef decltype(true ? declval<_Tp>() : declval<_Up>()) type; };
-
- template<typename _Tp, typename _Up, typename... _Vp>
- struct common_type<_Tp, _Up, _Vp...>
- {
- typedef typename
- common_type<typename common_type<_Tp, _Up>::type, _Vp...>::type type;
- };
- // @} group metaprogramming
-
- /// declval
- template<typename _Tp>
- struct __declval_protector
- {
- static const bool __stop = false;
- static typename add_rvalue_reference<_Tp>::type __delegate();
- };
-
- template<typename _Tp>
- inline typename add_rvalue_reference<_Tp>::type
- declval()
- {
- static_assert(__declval_protector<_Tp>::__stop,
- "declval() must not be used!");
- return __declval_protector<_Tp>::__delegate();
- }
-}
-
-#endif // __GXX_EXPERIMENTAL_CXX0X__
-
-#endif // _GLIBCXX_TYPE_TRAITS
diff --git a/aos/crio/libstdc++/unique_ptr.h b/aos/crio/libstdc++/unique_ptr.h
deleted file mode 100644
index f6bda76d..0000000
--- a/aos/crio/libstdc++/unique_ptr.h
+++ /dev/null
@@ -1,419 +0,0 @@
-// unique_ptr implementation -*- C++ -*-
-
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file unique_ptr.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _UNIQUE_PTR_H
-#define _UNIQUE_PTR_H 1
-
-#include "aos/crio/type_traits/type_traits"
-#include "aos/common/libstdc++/utility"
-#include <assert.h>
-
-namespace std {
-
- /**
- * @addtogroup pointer_abstractions
- * @{
- */
-
- /// Primary template, default_delete.
- template<typename _Tp>
- struct default_delete
- {
- default_delete() { }
-
- template<typename _Up>
- default_delete(const default_delete<_Up>&) { }
-
- void
- operator()(_Tp* __ptr) const
- {
- static_assert(sizeof(_Tp)>0,
- "can't delete pointer to incomplete type");
- delete __ptr;
- }
- };
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 740 - omit specialization for array objects with a compile time length
- /// Specialization, default_delete.
- template<typename _Tp>
- struct default_delete<_Tp[]>
- {
- void
- operator()(_Tp* __ptr) const
- {
- static_assert(sizeof(_Tp)>0,
- "can't delete pointer to incomplete type");
- delete [] __ptr;
- }
- };
-
- /// 20.7.12.2 unique_ptr for single objects.
- template <typename _Tp, typename _Tp_Deleter = default_delete<_Tp> >
- class unique_ptr
- {
- typedef _Tp* unique_ptr::* __unspecified_pointer_type;
-
- public:
- typedef _Tp* pointer;
- typedef _Tp element_type;
- typedef _Tp_Deleter deleter_type;
-
- // Constructors.
- unique_ptr()
- : _t(pointer()), _deleter(deleter_type())
- { static_assert(!std::is_pointer<deleter_type>::value,
- "constructed with null function pointer deleter"); }
-
- explicit
- unique_ptr(pointer __p)
- : _t(__p), _deleter(deleter_type())
- { static_assert(!std::is_pointer<deleter_type>::value,
- "constructed with null function pointer deleter"); }
-
- unique_ptr(pointer __p,
- typename std::conditional<std::is_reference<deleter_type>::value,
- deleter_type, const deleter_type&>::type __d)
- : _t(__p), _deleter(__d) { }
-
- unique_ptr(pointer __p,
- typename std::remove_reference<deleter_type>::type&& __d)
- : _t(std::move(__p)), _deleter(std::move(__d))
- { static_assert(!std::is_reference<deleter_type>::value,
- "rvalue deleter bound to reference"); }
-
- // Move constructors.
- unique_ptr(unique_ptr&& __u)
- : _t(__u.release()), _deleter(std::forward<deleter_type>(__u.get_deleter())) { }
-
- template<typename _Up, typename _Up_Deleter>
- unique_ptr(unique_ptr<_Up, _Up_Deleter>&& __u)
- : _t(__u.release()), _deleter(std::forward<deleter_type>(__u.get_deleter()))
- { }
-
- // Destructor.
- ~unique_ptr() { reset(); }
-
- // Assignment.
- unique_ptr&
- operator=(unique_ptr&& __u)
- {
- reset(__u.release());
- get_deleter() = std::move(__u.get_deleter());
- return *this;
- }
-
- template<typename _Up, typename _Up_Deleter>
- unique_ptr&
- operator=(unique_ptr<_Up, _Up_Deleter>&& __u)
- {
- reset(__u.release());
- get_deleter() = std::move(__u.get_deleter());
- return *this;
- }
-
- unique_ptr&
- operator=(__unspecified_pointer_type)
- {
- reset();
- return *this;
- }
-
- // Observers.
- typename std::add_lvalue_reference<element_type>::type
- operator*() const
- {
- assert(get() != pointer());
- return *get();
- }
-
- pointer
- operator->() const
- {
- assert(get() != pointer());
- return get();
- }
-
- pointer
- get() const
- { return _t; }
-
- deleter_type&
- get_deleter()
- { return _deleter; }
-
- const deleter_type&
- get_deleter() const
- { return _deleter; }
-
- explicit operator bool() const
- { return get() == pointer() ? false : true; }
-
- // Modifiers.
- pointer
- release()
- {
- pointer __p = get();
- _t = pointer();
- return __p;
- }
-
- void
- reset(pointer __p = pointer())
- {
- using std::swap;
- swap(_t, __p);
- if (__p != pointer())
- get_deleter()(__p);
- }
-
- void
- swap(unique_ptr& __u)
- {
- using std::swap;
- swap(_t, __u._t);
- swap(_deleter, __u._deleter);
- }
-
- // Disable copy from lvalue.
- unique_ptr(const unique_ptr&) = delete;
- unique_ptr& operator=(const unique_ptr&) = delete;
-
- private:
- _Tp *_t;
- _Tp_Deleter _deleter;
- };
-
- /// 20.7.12.3 unique_ptr for array objects with a runtime length
- // [unique.ptr.runtime]
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 740 - omit specialization for array objects with a compile time length
- template<typename _Tp, typename _Tp_Deleter>
- class unique_ptr<_Tp[], _Tp_Deleter>
- {
- typedef _Tp* unique_ptr::* __unspecified_pointer_type;
-
- public:
- typedef _Tp* pointer;
- typedef _Tp element_type;
- typedef _Tp_Deleter deleter_type;
-
- // Constructors.
- unique_ptr()
- : _t(pointer()), _deleter(deleter_type())
- { static_assert(!std::is_pointer<deleter_type>::value,
- "constructed with null function pointer deleter"); }
-
- explicit
- unique_ptr(pointer __p)
- : _t(__p), _deleter(deleter_type())
- { static_assert(!std::is_pointer<deleter_type>::value,
- "constructed with null function pointer deleter"); }
-
- unique_ptr(pointer __p,
- typename std::conditional<std::is_reference<deleter_type>::value,
- deleter_type, const deleter_type&>::type __d)
- : _t(__p), _deleter(__d) { }
-
- unique_ptr(pointer __p,
- typename std::remove_reference<deleter_type>::type && __d)
- : _t(std::move(__p)), _deleter(std::move(__d))
- { static_assert(!std::is_reference<deleter_type>::value,
- "rvalue deleter bound to reference"); }
-
- // Move constructors.
- unique_ptr(unique_ptr&& __u)
- : _t(__u.release()), _deleter(std::forward<deleter_type>(__u.get_deleter())) { }
-
- template<typename _Up, typename _Up_Deleter>
- unique_ptr(unique_ptr<_Up, _Up_Deleter>&& __u)
- : _t(__u.release()), _deleter(std::forward<deleter_type>(__u.get_deleter()))
- { }
-
- // Destructor.
- ~unique_ptr() { reset(); }
-
- // Assignment.
- unique_ptr&
- operator=(unique_ptr&& __u)
- {
- reset(__u.release());
- get_deleter() = std::move(__u.get_deleter());
- return *this;
- }
-
- template<typename _Up, typename _Up_Deleter>
- unique_ptr&
- operator=(unique_ptr<_Up, _Up_Deleter>&& __u)
- {
- reset(__u.release());
- get_deleter() = std::move(__u.get_deleter());
- return *this;
- }
-
- unique_ptr&
- operator=(__unspecified_pointer_type)
- {
- reset();
- return *this;
- }
-
- // Observers.
- typename std::add_lvalue_reference<element_type>::type
- operator[](size_t __i) const
- {
- assert(get() != pointer());
- return get()[__i];
- }
-
- pointer
- get() const
- { return _t; }
-
- deleter_type&
- get_deleter()
- { return _deleter; }
-
- const deleter_type&
- get_deleter() const
- { return _deleter; }
-
- explicit operator bool() const
- { return get() == pointer() ? false : true; }
-
- // Modifiers.
- pointer
- release()
- {
- pointer __p = get();
- _t = pointer();
- return __p;
- }
-
- void
- reset(pointer __p = pointer())
- {
- using std::swap;
- swap(_t, __p);
- if (__p != pointer())
- get_deleter()(__p);
- }
-
- // DR 821.
- template<typename _Up>
- void reset(_Up) = delete;
-
- void
- swap(unique_ptr& __u)
- {
- swap(_t, __u._t);
- swap(_deleter, __u._deleter);
- }
-
- // Disable copy from lvalue.
- unique_ptr(const unique_ptr&) = delete;
- unique_ptr& operator=(const unique_ptr&) = delete;
-
- // Disable construction from convertible pointer types.
- // (N2315 - 20.6.5.3.1)
- template<typename _Up>
- unique_ptr(_Up*, typename
- std::conditional<std::is_reference<deleter_type>::value,
- deleter_type, const deleter_type&>::type,
- typename std::enable_if<std::is_convertible<_Up*,
- pointer>::value>::type* = 0) = delete;
-
- template<typename _Up>
- unique_ptr(_Up*, typename std::remove_reference<deleter_type>::type&&,
- typename std::enable_if<std::is_convertible<_Up*,
- pointer>::value>::type* = 0) = delete;
-
- template<typename _Up>
- explicit
- unique_ptr(_Up*, typename std::enable_if<std::is_convertible<_Up*,
- pointer>::value>::type* = 0) = delete;
-
- private:
- _Tp *_t;
- _Tp_Deleter _deleter;
- };
-
- template<typename _Tp, typename _Tp_Deleter>
- inline void
- swap(unique_ptr<_Tp, _Tp_Deleter>& __x,
- unique_ptr<_Tp, _Tp_Deleter>& __y)
- { __x.swap(__y); }
-
- template<typename _Tp, typename _Tp_Deleter,
- typename _Up, typename _Up_Deleter>
- inline bool
- operator==(const unique_ptr<_Tp, _Tp_Deleter>& __x,
- const unique_ptr<_Up, _Up_Deleter>& __y)
- { return __x.get() == __y.get(); }
-
- template<typename _Tp, typename _Tp_Deleter,
- typename _Up, typename _Up_Deleter>
- inline bool
- operator!=(const unique_ptr<_Tp, _Tp_Deleter>& __x,
- const unique_ptr<_Up, _Up_Deleter>& __y)
- { return !(__x.get() == __y.get()); }
-
- template<typename _Tp, typename _Tp_Deleter,
- typename _Up, typename _Up_Deleter>
- inline bool
- operator<(const unique_ptr<_Tp, _Tp_Deleter>& __x,
- const unique_ptr<_Up, _Up_Deleter>& __y)
- { return __x.get() < __y.get(); }
-
- template<typename _Tp, typename _Tp_Deleter,
- typename _Up, typename _Up_Deleter>
- inline bool
- operator<=(const unique_ptr<_Tp, _Tp_Deleter>& __x,
- const unique_ptr<_Up, _Up_Deleter>& __y)
- { return !(__y.get() < __x.get()); }
-
- template<typename _Tp, typename _Tp_Deleter,
- typename _Up, typename _Up_Deleter>
- inline bool
- operator>(const unique_ptr<_Tp, _Tp_Deleter>& __x,
- const unique_ptr<_Up, _Up_Deleter>& __y)
- { return __y.get() < __x.get(); }
-
- template<typename _Tp, typename _Tp_Deleter,
- typename _Up, typename _Up_Deleter>
- inline bool
- operator>=(const unique_ptr<_Tp, _Tp_Deleter>& __x,
- const unique_ptr<_Up, _Up_Deleter>& __y)
- { return !(__x.get() < __y.get()); }
-
- // @} group pointer_abstractions
-
-} // namespace std
-
-#endif /* _UNIQUE_PTR_H */
diff --git a/aos/externals/v4l-utils.patch b/aos/externals/v4l-utils.patch
deleted file mode 100644
index 3f296bf..0000000
--- a/aos/externals/v4l-utils.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- utils/v4l2-ctl/Makefile 2012-07-22 14:29:00.182803000 -0700
-+++ utils/v4l2-ctl/Makefile 2012-07-22 14:29:13.046885458 -0700
-@@ -13,7 +13,7 @@
- $(CC) $(LDFLAGS) -o $@ $^ -lm
-
- v4l2-ctl: v4l2-ctl.o
-- $(CXX) $(LDFLAGS) -o $@ $^ -lv4l2 -lv4lconvert -lrt
-+ $(CXX) $(LDFLAGS) -o $@ $^ -lv4l2 -lv4lconvert -lrt -ljpeg
-
- install: $(TARGETS)
- mkdir -p $(DESTDIR)$(PREFIX)/bin
---- utils/v4l2-compliance/Makefile 2012-07-22 14:28:01.850429221 -0700
-+++ utils/v4l2-compliance/Makefile 2012-07-22 14:28:16.434522654 -0700
-@@ -6,7 +6,7 @@
-
- v4l2-compliance: v4l2-compliance.o v4l2-test-debug.o v4l2-test-input-output.o \
- v4l2-test-controls.o v4l2-test-io-config.o v4l2-test-formats.o
-- $(CXX) $(LDFLAGS) -o $@ $^ -lv4l2 -lv4lconvert -lrt
-+ $(CXX) $(LDFLAGS) -o $@ $^ -lv4l2 -lv4lconvert -lrt -ljpeg
-
- install: $(TARGETS)
- mkdir -p $(DESTDIR)$(PREFIX)/bin