[cfe-commits] [libcxx] r142235 - in /libcxx/trunk: include/ www/

Howard Hinnant hhinnant at apple.com
Mon Oct 17 13:05:11 PDT 2011


Author: hhinnant
Date: Mon Oct 17 15:05:10 2011
New Revision: 142235

URL: http://llvm.org/viewvc/llvm-project?rev=142235&view=rev
Log:
Windows support by Ruben Van Boxem.

Modified:
    libcxx/trunk/include/__bit_reference
    libcxx/trunk/include/__config
    libcxx/trunk/include/__functional_03
    libcxx/trunk/include/__functional_base
    libcxx/trunk/include/__hash_table
    libcxx/trunk/include/__locale
    libcxx/trunk/include/__mutex_base
    libcxx/trunk/include/__split_buffer
    libcxx/trunk/include/__sso_allocator
    libcxx/trunk/include/__std_stream
    libcxx/trunk/include/__tree
    libcxx/trunk/include/__tuple
    libcxx/trunk/include/__tuple_03
    libcxx/trunk/include/algorithm
    libcxx/trunk/include/array
    libcxx/trunk/include/atomic
    libcxx/trunk/include/bitset
    libcxx/trunk/include/cassert
    libcxx/trunk/include/ccomplex
    libcxx/trunk/include/cctype
    libcxx/trunk/include/cerrno
    libcxx/trunk/include/cfenv
    libcxx/trunk/include/cfloat
    libcxx/trunk/include/chrono
    libcxx/trunk/include/cinttypes
    libcxx/trunk/include/ciso646
    libcxx/trunk/include/climits
    libcxx/trunk/include/clocale
    libcxx/trunk/include/cmath
    libcxx/trunk/include/codecvt
    libcxx/trunk/include/complex
    libcxx/trunk/include/complex.h
    libcxx/trunk/include/condition_variable
    libcxx/trunk/include/csetjmp
    libcxx/trunk/include/csignal
    libcxx/trunk/include/cstdarg
    libcxx/trunk/include/cstdbool
    libcxx/trunk/include/cstddef
    libcxx/trunk/include/cstdint
    libcxx/trunk/include/cstdio
    libcxx/trunk/include/cstdlib
    libcxx/trunk/include/cstring
    libcxx/trunk/include/ctgmath
    libcxx/trunk/include/ctime
    libcxx/trunk/include/cwchar
    libcxx/trunk/include/cwctype
    libcxx/trunk/include/deque
    libcxx/trunk/include/exception
    libcxx/trunk/include/forward_list
    libcxx/trunk/include/fstream
    libcxx/trunk/include/functional
    libcxx/trunk/include/future
    libcxx/trunk/include/initializer_list
    libcxx/trunk/include/iomanip
    libcxx/trunk/include/ios
    libcxx/trunk/include/iosfwd
    libcxx/trunk/include/iostream
    libcxx/trunk/include/istream
    libcxx/trunk/include/iterator
    libcxx/trunk/include/limits
    libcxx/trunk/include/list
    libcxx/trunk/include/locale
    libcxx/trunk/include/map
    libcxx/trunk/include/memory
    libcxx/trunk/include/mutex
    libcxx/trunk/include/new
    libcxx/trunk/include/numeric
    libcxx/trunk/include/ostream
    libcxx/trunk/include/queue
    libcxx/trunk/include/random
    libcxx/trunk/include/ratio
    libcxx/trunk/include/regex
    libcxx/trunk/include/scoped_allocator
    libcxx/trunk/include/set
    libcxx/trunk/include/sstream
    libcxx/trunk/include/stack
    libcxx/trunk/include/stdexcept
    libcxx/trunk/include/streambuf
    libcxx/trunk/include/string
    libcxx/trunk/include/strstream
    libcxx/trunk/include/system_error
    libcxx/trunk/include/tgmath.h
    libcxx/trunk/include/thread
    libcxx/trunk/include/tuple
    libcxx/trunk/include/type_traits
    libcxx/trunk/include/typeindex
    libcxx/trunk/include/typeinfo
    libcxx/trunk/include/unordered_map
    libcxx/trunk/include/unordered_set
    libcxx/trunk/include/utility
    libcxx/trunk/include/valarray
    libcxx/trunk/include/vector
    libcxx/trunk/www/results.Windows.html

Modified: libcxx/trunk/include/__bit_reference
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__bit_reference?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__bit_reference (original)
+++ libcxx/trunk/include/__bit_reference Mon Oct 17 15:05:10 2011
@@ -14,7 +14,9 @@
 #include <__config>
 #include <algorithm>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/__config
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__config?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__config (original)
+++ libcxx/trunk/include/__config Mon Oct 17 15:05:10 2011
@@ -11,7 +11,9 @@
 #ifndef _LIBCPP_CONFIG
 #define _LIBCPP_CONFIG
 
+#if !_MSC_VER // explicit macro necessary because it is only defined below in this file
 #pragma GCC system_header
+#endif
 
 #define _LIBCPP_VERSION 1001
 
@@ -69,17 +71,45 @@
 # endif
 #endif  // !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN)
 
-#ifndef _LIBCPP_VISIBILITY_TAG
-#define _LIBCPP_VISIBILITY_TAG 1
+#if _WIN32
+
+// only really useful for a DLL
+#ifdef _LIBCPP_DLL // this should be a compiler builtin define ideally...
+# ifdef cxx_EXPORTS
+#  define _LIBCPP_HIDDEN
+#  define _LIBCPP_VISIBLE __declspec(dllexport)
+# else
+#  define _LIBCPP_HIDDEN
+#  define _LIBCPP_VISIBLE __declspec(dllimport)
+# endif
+#else
+# define _LIBCPP_HIDDEN
+# define _LIBCPP_VISIBLE
+#endif
+
+#ifndef _LIBCPP_INLINE_VISIBILITY
+#define _LIBCPP_INLINE_VISIBILITY __forceinline
+#endif
+
+#ifndef _LIBCPP_EXCEPTION_ABI
+#define _LIBCPP_EXCEPTION_ABI _LIBCPP_VISIBLE
 #endif
 
-#if _LIBCPP_VISIBILITY_TAG
+#ifndef _LIBCPP_ALWAYS_INLINE
+# if _MSC_VER
+# define _LIBCPP_ALWAYS_INLINE __forceinline
+# endif
+#endif
+
+#endif // _WIN32
+
+#ifndef _LIBCPP_HIDDEN
 #define _LIBCPP_HIDDEN __attribute__ ((__visibility__("hidden")))
+#endif
+
+#ifndef _LIBCPP_VISIBLE
 #define _LIBCPP_VISIBLE __attribute__ ((__visibility__("default")))
-#else  // _LIBCPP_VISIBILITY_TAG
-#define _LIBCPP_HIDDEN
-#define _LIBCPP_VISIBLE
-#endif  // _LIBCPP_VISIBILITY_TAG
+#endif
 
 #ifndef _LIBCPP_INLINE_VISIBILITY
 #define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__visibility__("hidden"), __always_inline__))
@@ -89,12 +119,22 @@
 #define _LIBCPP_EXCEPTION_ABI __attribute__ ((__visibility__("default")))
 #endif
 
+#ifndef _LIBCPP_CANTTHROW
 #define _LIBCPP_CANTTHROW __attribute__ ((__nothrow__))
+#endif
 
+#ifndef _LIBCPP_ALWAYS_INLINE
 #define _LIBCPP_ALWAYS_INLINE  __attribute__ ((__visibility__("hidden"), __always_inline__))
+#endif
 
 #if defined(__clang__)
 
+#if __has_feature(cxx_alignas)
+#  define _ALIGNAS(x) alignas(x)
+#else
+#  define _ALIGNAS(x) __attribute__((__aligned__(x)))
+#endif
+
 #if !__has_feature(cxx_alias_templates)
 #define _LIBCPP_HAS_NO_TEMPLATE_ALIASES
 #endif
@@ -181,16 +221,6 @@
 #define _LIBCPP_HAS_OBJC_ARC_WEAK
 #endif
 
-// Inline namespaces are available in Clang regardless of C++ dialect.
-#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace _LIBCPP_NAMESPACE {
-#define _LIBCPP_END_NAMESPACE_STD  } }
-#define _VSTD std::_LIBCPP_NAMESPACE
-
-namespace std {
-  inline namespace _LIBCPP_NAMESPACE {
-  }
-}
-
 #if !(__has_feature(cxx_constexpr))
 #define _LIBCPP_HAS_NO_CONSTEXPR
 #endif
@@ -207,10 +237,20 @@
 #  define _LIBCXX_UNDERLYING_TYPE(T) __underlying_type(T)
 #endif
 
-// end defined(__clang__)
+// Inline namespaces are available in Clang regardless of C++ dialect.
+#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace _LIBCPP_NAMESPACE {
+#define _LIBCPP_END_NAMESPACE_STD  } }
+#define _VSTD std::_LIBCPP_NAMESPACE
+
+namespace std {
+  inline namespace _LIBCPP_NAMESPACE {
+  }
+}
 
 #elif defined(__GNUC__)
 
+#define _ALIGNAS(x) __attribute__((__aligned__(x)))
+
 #define _ATTRIBUTE(x) __attribute__((x))
 
 #if !__EXCEPTIONS
@@ -275,7 +315,28 @@
 using namespace _LIBCPP_NAMESPACE __attribute__((__strong__));
 }
 
-#endif  // defined(__GNUC__)
+#elif defined(_MSC_VER)
+
+#define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+#define _LIBCPP_HAS_NO_CONSTEXPR
+#define _LIBCPP_HAS_NO_UNICODE_CHARS
+#define _LIBCPP_HAS_NO_DELETED_FUNCTIONS
+#define __alignof__ __alignof
+#define _ATTRIBUTE __declspec
+#define _ALIGNAS(x) __declspec(align(x))
+#define _LIBCPP_HAS_NO_VARIADICS
+
+#define _NOEXCEPT throw()
+#define _NOEXCEPT_(x)
+
+#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {
+#define _LIBCPP_END_NAMESPACE_STD  }
+#define _VSTD std
+
+namespace std {
+}
+
+#endif // __clang__ || __GNUC___ || _MSC_VER
 
 #ifdef _LIBCPP_HAS_NO_UNICODE_CHARS
 typedef unsigned short char16_t;

Modified: libcxx/trunk/include/__functional_03
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__functional_03?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__functional_03 (original)
+++ libcxx/trunk/include/__functional_03 Mon Oct 17 15:05:10 2011
@@ -13,7 +13,9 @@
 
 // manual variadic expansion for <functional>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 template <class _Tp>
 class __mem_fn

Modified: libcxx/trunk/include/__functional_base
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__functional_base?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__functional_base (original)
+++ libcxx/trunk/include/__functional_base Mon Oct 17 15:05:10 2011
@@ -16,7 +16,9 @@
 #include <typeinfo>
 #include <exception>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/__hash_table
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__hash_table?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__hash_table (original)
+++ libcxx/trunk/include/__hash_table Mon Oct 17 15:05:10 2011
@@ -18,7 +18,9 @@
 #include <algorithm>
 #include <cmath>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/__locale
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__locale?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__locale (original)
+++ libcxx/trunk/include/__locale Mon Oct 17 15:05:10 2011
@@ -25,7 +25,9 @@
 # include <xlocale.h>
 #endif  // _WIN32 || __GLIBC__ || __APPLE__ || __FreeBSD_
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/__mutex_base
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__mutex_base?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__mutex_base (original)
+++ libcxx/trunk/include/__mutex_base Mon Oct 17 15:05:10 2011
@@ -16,7 +16,9 @@
 #include <system_error>
 #include <pthread.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #ifdef _LIBCPP_SHARED_LOCK
 

Modified: libcxx/trunk/include/__split_buffer
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__split_buffer?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__split_buffer (original)
+++ libcxx/trunk/include/__split_buffer Mon Oct 17 15:05:10 2011
@@ -6,7 +6,9 @@
 #include <type_traits>
 #include <algorithm>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/__sso_allocator
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__sso_allocator?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__sso_allocator (original)
+++ libcxx/trunk/include/__sso_allocator Mon Oct 17 15:05:10 2011
@@ -15,7 +15,9 @@
 #include <type_traits>
 #include <new>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/__std_stream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__std_stream?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__std_stream (original)
+++ libcxx/trunk/include/__std_stream Mon Oct 17 15:05:10 2011
@@ -17,7 +17,9 @@
 #include <__locale>
 #include <cstdio>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/__tree
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__tree?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__tree (original)
+++ libcxx/trunk/include/__tree Mon Oct 17 15:05:10 2011
@@ -17,7 +17,9 @@
 #include <stdexcept>
 #include <algorithm>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/__tuple
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__tuple?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__tuple (original)
+++ libcxx/trunk/include/__tuple Mon Oct 17 15:05:10 2011
@@ -15,7 +15,9 @@
 #include <cstddef>
 #include <type_traits>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #ifdef _LIBCPP_HAS_NO_VARIADICS
 

Modified: libcxx/trunk/include/__tuple_03
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__tuple_03?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/__tuple_03 (original)
+++ libcxx/trunk/include/__tuple_03 Mon Oct 17 15:05:10 2011
@@ -13,7 +13,9 @@
 
 #include <__config>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/algorithm
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/algorithm?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/algorithm (original)
+++ libcxx/trunk/include/algorithm Mon Oct 17 15:05:10 2011
@@ -595,7 +595,9 @@
 #include <iterator>
 #include <cstdlib>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/array
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/array?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/array (original)
+++ libcxx/trunk/include/array Mon Oct 17 15:05:10 2011
@@ -111,7 +111,9 @@
     #include <cassert>
 #endif
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/atomic
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/atomic?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/atomic (original)
+++ libcxx/trunk/include/atomic Mon Oct 17 15:05:10 2011
@@ -526,7 +526,9 @@
 #include <cstdint>
 #include <type_traits>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/bitset
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/bitset?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/bitset (original)
+++ libcxx/trunk/include/bitset Mon Oct 17 15:05:10 2011
@@ -113,7 +113,9 @@
 
 */
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #include <__config>
 #include <__bit_reference>

Modified: libcxx/trunk/include/cassert
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cassert?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cassert (original)
+++ libcxx/trunk/include/cassert Mon Oct 17 15:05:10 2011
@@ -20,4 +20,6 @@
 #include <__config>
 #include <assert.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif

Modified: libcxx/trunk/include/ccomplex
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/ccomplex?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/ccomplex (original)
+++ libcxx/trunk/include/ccomplex Mon Oct 17 15:05:10 2011
@@ -20,7 +20,9 @@
 
 #include <complex>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 // hh 080623 Created
 

Modified: libcxx/trunk/include/cctype
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cctype?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cctype (original)
+++ libcxx/trunk/include/cctype Mon Oct 17 15:05:10 2011
@@ -38,7 +38,9 @@
 #include <__config>
 #include <ctype.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/cerrno
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cerrno?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cerrno (original)
+++ libcxx/trunk/include/cerrno Mon Oct 17 15:05:10 2011
@@ -26,7 +26,9 @@
 #include <__config>
 #include <errno.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
 

Modified: libcxx/trunk/include/cfenv
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cfenv?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cfenv (original)
+++ libcxx/trunk/include/cfenv Mon Oct 17 15:05:10 2011
@@ -56,7 +56,9 @@
 #include <__config>
 #include <fenv.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/cfloat
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cfloat?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cfloat (original)
+++ libcxx/trunk/include/cfloat Mon Oct 17 15:05:10 2011
@@ -63,7 +63,9 @@
 #include <__config>
 #include <float.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #ifndef FLT_EVAL_METHOD
 #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__

Modified: libcxx/trunk/include/chrono
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/chrono?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/chrono (original)
+++ libcxx/trunk/include/chrono Mon Oct 17 15:05:10 2011
@@ -255,7 +255,9 @@
 #include <ratio>
 #include <limits>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/cinttypes
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cinttypes?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cinttypes (original)
+++ libcxx/trunk/include/cinttypes Mon Oct 17 15:05:10 2011
@@ -239,7 +239,9 @@
 #include <cstdint>
 #include <inttypes.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/ciso646
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/ciso646?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/ciso646 (original)
+++ libcxx/trunk/include/ciso646 Mon Oct 17 15:05:10 2011
@@ -18,6 +18,8 @@
 
 #include <__config>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #endif  // _LIBCPP_CISO646

Modified: libcxx/trunk/include/climits
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/climits?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/climits (original)
+++ libcxx/trunk/include/climits Mon Oct 17 15:05:10 2011
@@ -41,6 +41,8 @@
 #include <__config>
 #include <limits.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #endif  // _LIBCPP_CLIMITS

Modified: libcxx/trunk/include/clocale
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/clocale?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/clocale (original)
+++ libcxx/trunk/include/clocale Mon Oct 17 15:05:10 2011
@@ -38,7 +38,9 @@
 #include <__config>
 #include <locale.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/cmath
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cmath?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cmath (original)
+++ libcxx/trunk/include/cmath Mon Oct 17 15:05:10 2011
@@ -301,7 +301,9 @@
 #include <math.h>
 #include <type_traits>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 // signbit
 

Modified: libcxx/trunk/include/codecvt
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/codecvt?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/codecvt (original)
+++ libcxx/trunk/include/codecvt Mon Oct 17 15:05:10 2011
@@ -55,7 +55,9 @@
 #include <__config>
 #include <__locale>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/complex
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/complex?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/complex (original)
+++ libcxx/trunk/include/complex Mon Oct 17 15:05:10 2011
@@ -249,7 +249,9 @@
     #include <cassert>
 #endif
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/complex.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/complex.h?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/complex.h (original)
+++ libcxx/trunk/include/complex.h Mon Oct 17 15:05:10 2011
@@ -28,6 +28,8 @@
 
 #endif  // __cplusplus
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #endif  // _LIBCPP_COMPLEX_H

Modified: libcxx/trunk/include/condition_variable
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/condition_variable?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/condition_variable (original)
+++ libcxx/trunk/include/condition_variable Mon Oct 17 15:05:10 2011
@@ -111,7 +111,9 @@
 #include <__mutex_base>
 #include <memory>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/csetjmp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/csetjmp?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/csetjmp (original)
+++ libcxx/trunk/include/csetjmp Mon Oct 17 15:05:10 2011
@@ -34,7 +34,9 @@
 #include <__config>
 #include <setjmp.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #ifndef setjmp
 #define setjmp(env) setjmp(env)

Modified: libcxx/trunk/include/csignal
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/csignal?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/csignal (original)
+++ libcxx/trunk/include/csignal Mon Oct 17 15:05:10 2011
@@ -43,7 +43,9 @@
 #include <__config>
 #include <signal.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/cstdarg
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cstdarg?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cstdarg (original)
+++ libcxx/trunk/include/cstdarg Mon Oct 17 15:05:10 2011
@@ -35,7 +35,9 @@
 #include <__config>
 #include <stdarg.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/cstdbool
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cstdbool?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cstdbool (original)
+++ libcxx/trunk/include/cstdbool Mon Oct 17 15:05:10 2011
@@ -22,7 +22,9 @@
 
 #include <__config>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #undef __bool_true_false_are_defined
 #define __bool_true_false_are_defined 1

Modified: libcxx/trunk/include/cstddef
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cstddef?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cstddef (original)
+++ libcxx/trunk/include/cstddef Mon Oct 17 15:05:10 2011
@@ -43,7 +43,9 @@
 
 #include <stddef.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/cstdint
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cstdint?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cstdint (original)
+++ libcxx/trunk/include/cstdint Mon Oct 17 15:05:10 2011
@@ -144,7 +144,9 @@
 #include <__config>
 #include <stdint.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/cstdio
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cstdio?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cstdio (original)
+++ libcxx/trunk/include/cstdio Mon Oct 17 15:05:10 2011
@@ -99,7 +99,9 @@
 #include <__config>
 #include <stdio.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/cstdlib
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cstdlib?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cstdlib (original)
+++ libcxx/trunk/include/cstdlib Mon Oct 17 15:05:10 2011
@@ -82,7 +82,9 @@
 #include <__config>
 #include <stdlib.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/cstring
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cstring?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cstring (original)
+++ libcxx/trunk/include/cstring Mon Oct 17 15:05:10 2011
@@ -60,7 +60,9 @@
 #include <__config>
 #include <string.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/ctgmath
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/ctgmath?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/ctgmath (original)
+++ libcxx/trunk/include/ctgmath Mon Oct 17 15:05:10 2011
@@ -22,6 +22,8 @@
 #include <ccomplex>
 #include <cmath>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #endif  // _LIBCPP_CTGMATH

Modified: libcxx/trunk/include/ctime
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/ctime?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/ctime (original)
+++ libcxx/trunk/include/ctime Mon Oct 17 15:05:10 2011
@@ -47,7 +47,9 @@
 #include <__config>
 #include <time.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/cwchar
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cwchar?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cwchar (original)
+++ libcxx/trunk/include/cwchar Mon Oct 17 15:05:10 2011
@@ -110,7 +110,9 @@
 #include <support/win32/support.h> // pull in *swprintf defines
 #endif // _WIN32
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/cwctype
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/cwctype?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/cwctype (original)
+++ libcxx/trunk/include/cwctype Mon Oct 17 15:05:10 2011
@@ -54,7 +54,9 @@
 #include <cctype>
 #include <wctype.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/deque
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/deque?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/deque (original)
+++ libcxx/trunk/include/deque Mon Oct 17 15:05:10 2011
@@ -150,7 +150,9 @@
 
 */
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #include <__config>
 #include <__split_buffer>

Modified: libcxx/trunk/include/exception
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/exception?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/exception (original)
+++ libcxx/trunk/include/exception Mon Oct 17 15:05:10 2011
@@ -80,7 +80,9 @@
 #include <cstddef>
 #include <type_traits>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 namespace std  // purposefully not using versioning namespace
 {

Modified: libcxx/trunk/include/forward_list
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/forward_list?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/forward_list (original)
+++ libcxx/trunk/include/forward_list Mon Oct 17 15:05:10 2011
@@ -174,7 +174,9 @@
 #include <iterator>
 #include <algorithm>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/fstream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/fstream?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/fstream (original)
+++ libcxx/trunk/include/fstream Mon Oct 17 15:05:10 2011
@@ -171,7 +171,9 @@
 #include <__locale>
 #include <cstdio>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/functional
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/functional?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/functional (original)
+++ libcxx/trunk/include/functional Mon Oct 17 15:05:10 2011
@@ -467,7 +467,9 @@
 
 #include <__functional_base>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/future
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/future?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/future (original)
+++ libcxx/trunk/include/future Mon Oct 17 15:05:10 2011
@@ -370,7 +370,9 @@
 #include <mutex>
 #include <thread>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/initializer_list
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/initializer_list?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/initializer_list (original)
+++ libcxx/trunk/include/initializer_list Mon Oct 17 15:05:10 2011
@@ -46,7 +46,9 @@
 #include <__config>
 #include <cstddef>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 namespace std  // purposefully not versioned
 {

Modified: libcxx/trunk/include/iomanip
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/iomanip?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/iomanip (original)
+++ libcxx/trunk/include/iomanip Mon Oct 17 15:05:10 2011
@@ -33,7 +33,9 @@
 #include <__config>
 #include <istream>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/ios
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/ios?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/ios (original)
+++ libcxx/trunk/include/ios Mon Oct 17 15:05:10 2011
@@ -216,7 +216,9 @@
 #include <__locale>
 #include <system_error>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/iosfwd
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/iosfwd?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/iosfwd (original)
+++ libcxx/trunk/include/iosfwd Mon Oct 17 15:05:10 2011
@@ -89,7 +89,9 @@
 #include <__config>
 #include <wchar.h>  // for mbstate_t
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/iostream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/iostream?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/iostream (original)
+++ libcxx/trunk/include/iostream Mon Oct 17 15:05:10 2011
@@ -40,7 +40,9 @@
 #include <istream>
 #include <ostream>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/istream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/istream?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/istream (original)
+++ libcxx/trunk/include/istream Mon Oct 17 15:05:10 2011
@@ -155,7 +155,9 @@
 #include <__config>
 #include <ostream>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/iterator
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/iterator?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/iterator (original)
+++ libcxx/trunk/include/iterator Mon Oct 17 15:05:10 2011
@@ -321,7 +321,9 @@
 #include <cassert>
 #endif
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/limits
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/limits?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/limits (original)
+++ libcxx/trunk/include/limits Mon Oct 17 15:05:10 2011
@@ -102,7 +102,9 @@
 
 */
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #include <__config>
 #include <type_traits>

Modified: libcxx/trunk/include/list
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/list?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/list (original)
+++ libcxx/trunk/include/list Mon Oct 17 15:05:10 2011
@@ -176,7 +176,9 @@
 #include <iterator>
 #include <algorithm>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/locale
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/locale?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/locale (original)
+++ libcxx/trunk/include/locale Mon Oct 17 15:05:10 2011
@@ -192,7 +192,9 @@
 #include <nl_types.h>
 #endif  // !_WIN32
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/map
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/map?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/map (original)
+++ libcxx/trunk/include/map Mon Oct 17 15:05:10 2011
@@ -375,7 +375,9 @@
 #include <functional>
 #include <initializer_list>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/memory
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/memory?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/memory (original)
+++ libcxx/trunk/include/memory Mon Oct 17 15:05:10 2011
@@ -600,7 +600,9 @@
     #include <cassert>
 #endif
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/mutex
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/mutex?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/mutex (original)
+++ libcxx/trunk/include/mutex Mon Oct 17 15:05:10 2011
@@ -179,7 +179,9 @@
 #include <tuple>
 #endif
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/new
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/new?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/new (original)
+++ libcxx/trunk/include/new Mon Oct 17 15:05:10 2011
@@ -56,7 +56,9 @@
 #include <exception>
 #include <cstddef>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 namespace std  // purposefully not using versioning namespace
 {

Modified: libcxx/trunk/include/numeric
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/numeric?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/numeric (original)
+++ libcxx/trunk/include/numeric Mon Oct 17 15:05:10 2011
@@ -60,7 +60,9 @@
 #include <__config>
 #include <iterator>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/ostream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/ostream?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/ostream (original)
+++ libcxx/trunk/include/ostream Mon Oct 17 15:05:10 2011
@@ -133,7 +133,9 @@
 #include <iterator>
 #include <bitset>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/queue
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/queue?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/queue (original)
+++ libcxx/trunk/include/queue Mon Oct 17 15:05:10 2011
@@ -171,7 +171,9 @@
 #include <functional>
 #include <algorithm>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/random
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/random?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/random (original)
+++ libcxx/trunk/include/random Mon Oct 17 15:05:10 2011
@@ -1646,7 +1646,9 @@
 #include <ostream>
 #include <cmath>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/ratio
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/ratio?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/ratio (original)
+++ libcxx/trunk/include/ratio Mon Oct 17 15:05:10 2011
@@ -70,7 +70,9 @@
 #include <climits>
 #include <type_traits>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/regex
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/regex?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/regex (original)
+++ libcxx/trunk/include/regex Mon Oct 17 15:05:10 2011
@@ -732,7 +732,9 @@
 #include <vector>
 #include <deque>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/scoped_allocator
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/scoped_allocator?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/scoped_allocator (original)
+++ libcxx/trunk/include/scoped_allocator Mon Oct 17 15:05:10 2011
@@ -106,7 +106,9 @@
 #include <__config>
 #include <memory>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/set
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/set?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/set (original)
+++ libcxx/trunk/include/set Mon Oct 17 15:05:10 2011
@@ -338,7 +338,9 @@
 #include <__tree>
 #include <functional>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/sstream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/sstream?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/sstream (original)
+++ libcxx/trunk/include/sstream Mon Oct 17 15:05:10 2011
@@ -175,7 +175,9 @@
 #include <istream>
 #include <string>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/stack
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/stack?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/stack (original)
+++ libcxx/trunk/include/stack Mon Oct 17 15:05:10 2011
@@ -85,7 +85,9 @@
 #include <__config>
 #include <deque>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/stdexcept
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/stdexcept?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/stdexcept (original)
+++ libcxx/trunk/include/stdexcept Mon Oct 17 15:05:10 2011
@@ -46,7 +46,9 @@
 #include <exception>
 #include <iosfwd>  // for string forward decl
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 namespace std  // purposefully not using versioning namespace
 {

Modified: libcxx/trunk/include/streambuf
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/streambuf?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/streambuf (original)
+++ libcxx/trunk/include/streambuf Mon Oct 17 15:05:10 2011
@@ -112,7 +112,9 @@
 #include <iosfwd>
 #include <ios>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/string
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/string?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/string (original)
+++ libcxx/trunk/include/string Mon Oct 17 15:05:10 2011
@@ -446,7 +446,9 @@
 #include <cassert>
 #endif
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/strstream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/strstream?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/strstream (original)
+++ libcxx/trunk/include/strstream Mon Oct 17 15:05:10 2011
@@ -131,7 +131,9 @@
 #include <ostream>
 #include <istream>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/system_error
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/system_error?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/system_error (original)
+++ libcxx/trunk/include/system_error Mon Oct 17 15:05:10 2011
@@ -223,7 +223,9 @@
 #include <stdexcept>
 #include <__functional_base>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/tgmath.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/tgmath.h?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/tgmath.h (original)
+++ libcxx/trunk/include/tgmath.h Mon Oct 17 15:05:10 2011
@@ -22,6 +22,8 @@
 #include <complex.h>
 #include <math.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #endif  // _LIBCPP_TGMATH_H

Modified: libcxx/trunk/include/thread
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/thread?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/thread (original)
+++ libcxx/trunk/include/thread Mon Oct 17 15:05:10 2011
@@ -100,7 +100,9 @@
 #endif
 #include <pthread.h>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 #define __STDCPP_THREADS__ __cplusplus
 

Modified: libcxx/trunk/include/tuple
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/tuple?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/tuple (original)
+++ libcxx/trunk/include/tuple Mon Oct 17 15:05:10 2011
@@ -119,7 +119,9 @@
 #include <memory>
 #include <type_traits>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/type_traits
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/type_traits?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/type_traits (original)
+++ libcxx/trunk/include/type_traits Mon Oct 17 15:05:10 2011
@@ -142,7 +142,9 @@
 #include <__config>
 #include <cstddef>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
@@ -891,12 +893,12 @@
 
 #define _CREATE_ALIGNED_STORAGE_SPECIALIZATION(n) \
 template <size_t _Len>\
-struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, n>\
+struct _LIBCPP_VISIBLE aligned_storage<_Len, n>\
 {\
-    struct type\
+    struct _ALIGNAS(n) type\
     {\
         unsigned char _[_Len];\
-    } __attribute__((__aligned__(n)));\
+    };\
 }
 
 _CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x1);
@@ -913,7 +915,10 @@
 _CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x800);
 _CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x1000);
 _CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x2000);
+// MSDN says that MSVC does not support alignment beyond 8192 (=0x2000)
+#if !defined(_MSC_VER)
 _CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x4000);
+#endif // !_MSC_VER
 
 #undef _CREATE_ALIGNED_STORAGE_SPECIALIZATION
 
@@ -933,7 +938,7 @@
     typedef typename __promote<_A2>::type __type2;
     typedef typename __promote<_A3>::type __type3;
 public:
-    typedef __typeof__(__type1() + __type2() + __type3()) type;
+    typedef decltype(__type1() + __type2() + __type3()) type;
 };
 
 template <class _A1, class _A2>
@@ -943,7 +948,7 @@
     typedef typename __promote<_A1>::type __type1;
     typedef typename __promote<_A2>::type __type2;
 public:
-    typedef __typeof__(__type1() + __type2()) type;
+    typedef decltype(__type1() + __type2()) type;
 };
 
 template <class _A1>

Modified: libcxx/trunk/include/typeindex
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/typeindex?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/typeindex (original)
+++ libcxx/trunk/include/typeindex Mon Oct 17 15:05:10 2011
@@ -49,7 +49,9 @@
 #include <typeinfo>
 #include <__functional_base>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/typeinfo
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/typeinfo?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/typeinfo (original)
+++ libcxx/trunk/include/typeinfo Mon Oct 17 15:05:10 2011
@@ -61,7 +61,9 @@
 #include <exception>
 #include <cstddef>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 namespace std  // purposefully not using versioning namespace
 {

Modified: libcxx/trunk/include/unordered_map
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/unordered_map?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/unordered_map (original)
+++ libcxx/trunk/include/unordered_map Mon Oct 17 15:05:10 2011
@@ -319,7 +319,9 @@
 #include <functional>
 #include <stdexcept>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/unordered_set
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/unordered_set?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/unordered_set (original)
+++ libcxx/trunk/include/unordered_set Mon Oct 17 15:05:10 2011
@@ -305,7 +305,9 @@
 #include <__hash_table>
 #include <functional>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/utility
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/utility?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/utility (original)
+++ libcxx/trunk/include/utility Mon Oct 17 15:05:10 2011
@@ -125,7 +125,9 @@
 #include <__tuple>
 #include <type_traits>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/valarray
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/valarray?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/valarray (original)
+++ libcxx/trunk/include/valarray Mon Oct 17 15:05:10 2011
@@ -346,7 +346,9 @@
 #include <algorithm>
 #include <functional>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/include/vector
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/vector?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/include/vector (original)
+++ libcxx/trunk/include/vector Mon Oct 17 15:05:10 2011
@@ -270,7 +270,9 @@
 #include <__split_buffer>
 #include <__functional_base>
 
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
+#endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 

Modified: libcxx/trunk/www/results.Windows.html
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/www/results.Windows.html?rev=142235&r1=142234&r2=142235&view=diff
==============================================================================
--- libcxx/trunk/www/results.Windows.html (original)
+++ libcxx/trunk/www/results.Windows.html Mon Oct 17 15:05:10 2011
@@ -157,7 +157,8 @@
     copy.pass.cpp: Windows locale names don't follow UNIX convention.
     default.pass.cpp: idem.
    streambuf.members/
-    locales.pass.cpp: Windows locale names don't follow UNIX convention.
+    streambuf.locales/
+     locales.pass.cpp: Windows locale names don't follow UNIX convention.
    streambuf.protected/
     streambuf.assign/
 	 assign.pass.cpp: Windows locale names don't follow UNIX convention.
@@ -223,21 +224,20 @@
      wchar_t_unshift.pass.cpp: idem.
    locale.codecvt.byname/
     ctor_wchar_t.pass.cpp: Windows locale names don't follow UNIX convention.
-   locale.ctype/
-    locale.ctype.byname/
-     is_1.pass.cpp: Windows locale names don't follow UNIX convention.
-     is_many.pass.cpp: idem.
-     narrow_1.pass.cpp: idem.
-     narrow_many.pass.cpp: idem.
-     scan_is.pass.cpp: idem.
-     scan_not.pass.cpp: idem.
-     tolower_1.pass.cpp: idem.
-     tolower_many.pass.cpp: idem.
-     toupper_1.pass.cpp: idem.
-     toupper_many.pass.cpp: idem.
-     types.pass.cpp: idem.
-     widen_1.pass.cpp: idem.
-     widen_many.pass.cpp: idem.
+   locale.ctype.byname/
+    is_1.pass.cpp: Windows locale names don't follow UNIX convention.
+    is_many.pass.cpp: idem.
+    narrow_1.pass.cpp: idem.
+    narrow_many.pass.cpp: idem.
+    scan_is.pass.cpp: idem.
+    scan_not.pass.cpp: idem.
+    tolower_1.pass.cpp: idem.
+    tolower_many.pass.cpp: idem.
+    toupper_1.pass.cpp: idem.
+    toupper_many.pass.cpp: idem.
+    types.pass.cpp: idem.
+    widen_1.pass.cpp: idem.
+    widen_many.pass.cpp: idem.
   category.monetary/
    locale.money.get/
     locale.money.get.members/





More information about the cfe-commits mailing list