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
