Two minor fixes:  1.  Put integral_constant conversion to integral in even without constexpr support.  2.  Add ios_base to <iosfwd>.  The latter is being tracked by LWG 2026.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@123080 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/iosfwd b/include/iosfwd
index 1f9fe3b..0e5c683 100644
--- a/include/iosfwd
+++ b/include/iosfwd
@@ -92,6 +92,8 @@
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
+class ios_base;
+
 template<class _CharT>  struct _LIBCPP_VISIBLE char_traits;
 template<class _Tp>     class _LIBCPP_VISIBLE allocator;
 
diff --git a/include/type_traits b/include/type_traits
index 50e357c..4e6c200 100644
--- a/include/type_traits
+++ b/include/type_traits
@@ -165,10 +165,11 @@
     static constexpr _Tp      value = __v;
     typedef _Tp               value_type;
     typedef integral_constant type;
-#ifndef _LIBCPP_HAS_NO_CONSTEXPR
     _LIBCPP_INLINE_VISIBILITY
-    constexpr operator value_type() {return value;}
+#ifndef _LIBCPP_HAS_NO_CONSTEXPR
+    constexpr
 #endif
+         operator value_type() const {return value;}
 };
 
 template <class _Tp, _Tp __v>