incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig Chariton" <chari...@roguewave.com>
Subject RE: Compiler Warning 552 with bitset
Date Fri, 02 Jun 2006 22:02:16 GMT
Thank you for that explanation.  That helps a lot!

Craig Chariton

-----Original Message-----
From: Martin Sebor [mailto:sebor@roguewave.com] 
Sent: Friday, June 02, 2006 2:34 PM
To: stdcxx-dev@incubator.apache.org
Subject: Re: Compiler Warning 552 with bitset

Craig Chariton wrote:
> I am getting a compiler Warning 552 on HP-UX 11.11 with an A.03.63
> compiler.  Here is the code that recreates the warning:
> 
[...]
> I am not seeing this with gcc on Linux.  The code appears to run the
> fine on in both cases.  I was just wondering if this is a compiler
issue
> and, if so, is there any reason for concern?


The answers are yes and no.

The HP bug number is JAGaf00255. The details of the bug report
are here: http://bugzilla.cvo.roguewave.com/show_bug.cgi?id=1536

There is no reason for concern, the compiler does the right thing
despite the warning. The warning can be suppressed either via the
compiler option +W552 or by #defining the configuration macro
_RWSTD_NO_EXT_BITSET_TO_STRING and disabling the library feature
that is giving the compiler trouble.

Note that since stdcxx implements the resolution of issue 434
and also provides, as a conforming extension, an overloaded
bitset ctor that takes a const char* argument, the program can
be simplified like this:

#include <bitset>
#include <iostream>

int main ()
{
     const char *a = "11";

     const std::bitset<8> header(a);   // stdcxx extension

     for (std::string::size_type i = 0; i < header.size (); ++i) {
         std::cout << header [i] << "\n";
     }

     std::cout << header.to_string () << '\n';   // issue 434
}

Here's issue 434:
http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#434

Mime
View raw message