This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[v3] missed explicit bool conversion cleanups


As pointed out by Gaby as part of the constexpr work. I did a bunch of
these fixes after Jason's initial implementation. However, these were
found by compiling the "src" directory of libstdc++ with
CXXFLAGS="-std=gnu++0x -Wfatal-errors"

tested x86_64/linux

-benjamin
2009-08-06  Benjamin Kosnik  <bkoz@redhat.com>

	* src/compatibility.cc: Make C++0x safe, add in explicit casts to
        bool for stream sentry objects.
        * include/bits/istream.tcc: Same.
        * include/bits/ostream.tcc: Same.
        * include/bits/basic_string.tcc: Same.
	* include/bits/ostream_insert.h: Same.
        * src/istream.cc: Same.


Index: src/istream.cc
===================================================================
--- src/istream.cc	(revision 150537)
+++ src/istream.cc	(working copy)
@@ -39,7 +39,7 @@
       _M_gcount = 0;
       ios_base::iostate __err = ios_base::goodbit;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
           __try
 	    {
@@ -116,12 +116,12 @@
 
       _M_gcount = 0;
       sentry __cerb(*this, true);
-      if (__cerb && __n > 0)
+      if (__n > 0 && static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
 	    {
-	      const char_type __cdelim = traits_type::to_char_type(__delim);	      
+	      const char_type __cdelim = traits_type::to_char_type(__delim);
 	      const int_type __eof = traits_type::eof();
 	      __streambuf_type* __sb = this->rdbuf();
 	      int_type __c = __sb->sgetc();
@@ -205,7 +205,7 @@
       streamsize __extracted = 0;
       ios_base::iostate __err = ios_base::goodbit;
       __istream_type::sentry __cerb(__in, false);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
@@ -288,7 +288,7 @@
       __size_type __extracted = 0;
       ios_base::iostate __err = ios_base::goodbit;
       __istream_type::sentry __cerb(__in, false);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
@@ -370,7 +370,7 @@
       const __size_type __n = __str.max_size();
       ios_base::iostate __err = ios_base::goodbit;
       __istream_type::sentry __cerb(__in, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
@@ -446,7 +446,7 @@
       _M_gcount = 0;
       ios_base::iostate __err = ios_base::goodbit;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
           __try
 	    {
@@ -523,7 +523,7 @@
 
       _M_gcount = 0;
       sentry __cerb(*this, true);
-      if (__cerb && __n > 0)
+      if (__n > 0 && static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -616,7 +616,7 @@
       const __size_type __n = __str.max_size();
       ios_base::iostate __err = ios_base::goodbit;
       __istream_type::sentry __cerb(__in, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
Index: src/compatibility.cc
===================================================================
--- src/compatibility.cc	(revision 150537)
+++ src/compatibility.cc	(working copy)
@@ -62,7 +62,7 @@
       
       _M_gcount = 0;
       sentry __cerb(*this, true);
-      if (__cerb && __n > 0)
+      if (__n > 0 && static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -134,7 +134,7 @@
       
       _M_gcount = 0;
       sentry __cerb(*this, true);
-      if (__cerb && __n > 0)
+      if (__n > 0 && static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
Index: include/bits/istream.tcc
===================================================================
--- include/bits/istream.tcc	(revision 150537)
+++ include/bits/istream.tcc	(working copy)
@@ -87,7 +87,7 @@
       _M_extract(_ValueT& __v)
       {
 	sentry __cerb(*this, false);
-	if (__cerb)
+	if (static_cast<bool>(__cerb))
 	  {
 	    ios_base::iostate __err = ios_base::goodbit;
 	    __try
@@ -116,7 +116,7 @@
       // _GLIBCXX_RESOLVE_LIB_DEFECTS
       // 118. basic_istream uses nonexistent num_get member functions.
       sentry __cerb(*this, false);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -161,7 +161,7 @@
       // _GLIBCXX_RESOLVE_LIB_DEFECTS
       // 118. basic_istream uses nonexistent num_get member functions.
       sentry __cerb(*this, false);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -205,7 +205,7 @@
     {
       ios_base::iostate __err = ios_base::goodbit;
       sentry __cerb(*this, false);
-      if (__cerb && __sbout)
+      if (__sbout && static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
@@ -240,7 +240,7 @@
       _M_gcount = 0;
       ios_base::iostate __err = ios_base::goodbit;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
@@ -274,7 +274,7 @@
       _M_gcount = 0;
       ios_base::iostate __err = ios_base::goodbit;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
@@ -311,7 +311,7 @@
       _M_gcount = 0;
       ios_base::iostate __err = ios_base::goodbit;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
@@ -358,7 +358,7 @@
       _M_gcount = 0;
       ios_base::iostate __err = ios_base::goodbit;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
@@ -402,7 +402,7 @@
       _M_gcount = 0;
       ios_base::iostate __err = ios_base::goodbit;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
         {
           __try
             {
@@ -461,7 +461,7 @@
     {
       _M_gcount = 0;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -494,7 +494,7 @@
     {
       _M_gcount = 0;
       sentry __cerb(*this, true);
-      if (__cerb && __n > 0)
+      if (__n > 0 && static_cast<bool>(__cerb))
         {
           ios_base::iostate __err = ios_base::goodbit;
           __try
@@ -556,7 +556,7 @@
     {
       _M_gcount = 0;
       sentry __cerb(*this, true);
-      if (__cerb && __n > 0)
+      if (__n > 0 && static_cast<bool>(__cerb))
         {
           ios_base::iostate __err = ios_base::goodbit;
           __try
@@ -622,7 +622,7 @@
       int_type __c = traits_type::eof();
       _M_gcount = 0;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -651,7 +651,7 @@
     {
       _M_gcount = 0;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -680,7 +680,7 @@
     {
       _M_gcount = 0;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -714,7 +714,7 @@
       // 60. What is a formatted input function?
       _M_gcount = 0;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -747,7 +747,7 @@
       // 60. What is a formatted input function?
       _M_gcount = 0;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -780,7 +780,7 @@
       // DR60.  Do not change _M_gcount.
       int __ret = -1;
       sentry __cerb(*this, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -906,7 +906,7 @@
       typedef typename __istream_type::int_type         __int_type;
 
       typename __istream_type::sentry __cerb(__in, false);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -943,7 +943,7 @@
       streamsize __extracted = 0;
       ios_base::iostate __err = ios_base::goodbit;
       typename __istream_type::sentry __cerb(__in, false);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
Index: include/bits/ostream.tcc
===================================================================
--- include/bits/ostream.tcc	(revision 150537)
+++ include/bits/ostream.tcc	(working copy)
@@ -64,7 +64,7 @@
       _M_insert(_ValueT __v)
       {
 	sentry __cerb(*this);
-	if (__cerb)
+	if (static_cast<bool>(__cerb))
 	  {
 	    ios_base::iostate __err = ios_base::goodbit;
 	    __try
@@ -121,7 +121,7 @@
     {
       ios_base::iostate __err = ios_base::goodbit;
       sentry __cerb(*this);
-      if (__cerb && __sbin)
+      if (__sbin && static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
@@ -155,7 +155,7 @@
       // Unformatted output functions should catch exceptions thrown
       // from streambuf members.
       sentry __cerb(*this);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  ios_base::iostate __err = ios_base::goodbit;
 	  __try
@@ -190,7 +190,7 @@
       // Unformatted output functions should catch exceptions thrown
       // from streambuf members.
       sentry __cerb(*this);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    { _M_write(__s, __n); }
Index: include/bits/basic_string.tcc
===================================================================
--- include/bits/basic_string.tcc	(revision 150537)
+++ include/bits/basic_string.tcc	(working copy)
@@ -1007,7 +1007,7 @@
       __size_type __extracted = 0;
       typename __ios_base::iostate __err = __ios_base::goodbit;
       typename __istream_type::sentry __cerb(__in, false);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
@@ -1078,7 +1078,7 @@
       const __size_type __n = __str.max_size();
       typename __ios_base::iostate __err = __ios_base::goodbit;
       typename __istream_type::sentry __cerb(__in, true);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    {
Index: include/bits/ostream_insert.h
===================================================================
--- include/bits/ostream_insert.h	(revision 150537)
+++ include/bits/ostream_insert.h	(working copy)
@@ -78,7 +78,7 @@
       typedef typename __ostream_type::ios_base    __ios_base;
 
       typename __ostream_type::sentry __cerb(__out);
-      if (__cerb)
+      if (static_cast<bool>(__cerb))
 	{
 	  __try
 	    {

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]