2012-11-06 Paolo Carlini <paolo.carlini@oracle.com>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 6 Nov 2012 11:03:45 +0000 (11:03 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 6 Nov 2012 11:03:45 +0000 (11:03 +0000)
* include/bits/atomic_base.h: Don't include <cstddef>, use nullptr.
* include/std/atomic: Likewise.
* include/tr2/dynamic_bitset: Likewise.

* libsupc++/vec.cc (compute_size(std::size_t, std::size_t,
std::size_t)): Fix for -fno-exceptions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193232 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/atomic_base.h
libstdc++-v3/include/std/atomic
libstdc++-v3/include/tr2/dynamic_bitset
libstdc++-v3/libsupc++/vec.cc

index e85de72..5a252ed 100644 (file)
@@ -1,3 +1,12 @@
+2012-11-06  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * include/bits/atomic_base.h: Don't include <cstddef>, use nullptr.
+       * include/std/atomic: Likewise.
+       * include/tr2/dynamic_bitset: Likewise.
+
+       * libsupc++/vec.cc (compute_size(std::size_t, std::size_t,
+       std::size_t)): Fix for -fno-exceptions.
+
 2012-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
 
        * include/profile/map.h (map::emplace_hint): Add missing return.
index af8a924..8ce5553 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- header.
 
-// Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+// Copyright (C) 2008-2012 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
@@ -35,7 +35,6 @@
 #include <bits/c++config.h>
 #include <stdbool.h>
 #include <stdint.h>
-#include <cstddef>
 #include <bits/atomic_lockfree_defines.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
@@ -423,11 +422,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
       bool
       is_lock_free() const noexcept
-      { return __atomic_is_lock_free(sizeof(_M_i), NULL); }
+      { return __atomic_is_lock_free(sizeof(_M_i), nullptr); }
 
       bool
       is_lock_free() const volatile noexcept
-      { return __atomic_is_lock_free(sizeof(_M_i), NULL); }
+      { return __atomic_is_lock_free(sizeof(_M_i), nullptr); }
 
       void
       store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept
@@ -717,11 +716,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
       bool
       is_lock_free() const noexcept
-      { return __atomic_is_lock_free(_M_type_size(1), NULL); }
+      { return __atomic_is_lock_free(_M_type_size(1), nullptr); }
 
       bool
       is_lock_free() const volatile noexcept
-      { return __atomic_is_lock_free(_M_type_size(1), NULL); }
+      { return __atomic_is_lock_free(_M_type_size(1), nullptr); }
 
       void
       store(__pointer_type __p,
index 535a90f..4f9cd50 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- header.
 
-// Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+// Copyright (C) 2008-2012 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
@@ -184,11 +184,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
       bool
       is_lock_free() const noexcept
-      { return __atomic_is_lock_free(sizeof(_M_i), NULL); }
+      { return __atomic_is_lock_free(sizeof(_M_i), nullptr); }
 
       bool
       is_lock_free() const volatile noexcept
-      { return __atomic_is_lock_free(sizeof(_M_i), NULL); }
+      { return __atomic_is_lock_free(sizeof(_M_i), nullptr); }
 
       void
       store(_Tp __i, memory_order _m = memory_order_seq_cst) noexcept
index 53b696f..5ea0ea5 100644 (file)
@@ -33,7 +33,6 @@
 
 #include <limits>
 #include <vector>
-#include <cstddef> // For size_t
 #include <string>
 #include <memory> // For std::allocator
 #include <bits/functexcept.h>   // For invalid_argument, out_of_range,
index f9afd39..507514e 100644 (file)
@@ -28,6 +28,7 @@
 #include <cxxabi.h>
 #include <new>
 #include <exception>
+#include <cstdlib>
 #include <bits/exception_defines.h>
 #include "unwind-cxx.h"
 
@@ -65,10 +66,18 @@ namespace __cxxabiv1
                             std::size_t padding_size)
     {
       if (element_size && element_count > std::size_t(-1) / element_size)
+#ifdef __EXCEPTIONS
        throw std::bad_alloc();
+#else
+        std::abort();
+#endif
       std::size_t size = element_count * element_size;
       if (size + padding_size < size)
+#ifdef __EXCEPTIONS
        throw std::bad_alloc();
+#else
+        std::abort();
+#endif
       return size + padding_size;
     }
   }