Message ID | CADj25HPZQNgAMm4abc3_c6-vM22U4hCMWW6Q_-Dk0iKFvQ0EPg@mail.gmail.com |
---|---|
State | New |
Headers | show |
Hi, On 07/23/2013 11:17 AM, Chung-Ju Wu wrote: > 2013/7/22 Paolo Carlini <paolo.carlini@oracle.com>: >> Hi, >> >> see audit trail for details. I tested on x86_64-linux (with/without >> _GLIBCXX_X86_RDRAND artificially undefined) the below straightforward patch >> and checked by hand the strace. I'm going to apply it soon. >> >> Thanks, >> Paolo. >> >> /////////////////// > [libstdc++-v3/include/bits/random.h] > > 1639 union > 1640 { > 1641 FILE* _M_file; > 1642 mt19937 _M_mt; > 1643 }; > > causing the following error: > libstdc++-v3/include/bits/random.h:1641:5: error: 'FILE' does not name a type > FILE* _M_file; > > Perhaps cstdio is necessary in this case. What do you think? :-) The issue is theoretical at the moment because <string> ends up including <cstdio> anyway, thus the above can't really happen. It's true that the above union - which by way I didn't invent - it's rather annoying if we manage to *really* avoid including <cstdio>, which is very big. Currently you can't really get the error above. Paolo.
On 07/23/2013 11:26 AM, Paolo Carlini wrote:
> Currently you can't really get the error above.
Ah Ok, now I see when it can happen, not on Linux, it can happen when
string_conversions.h aren't available. Ok, I'll add back the include
momentarily.
Paolo.
2013/7/23 Paolo Carlini <paolo.carlini@oracle.com>: > On 07/23/2013 11:26 AM, Paolo Carlini wrote: >> >> Currently you can't really get the error above. > > Ah Ok, now I see when it can happen, not on Linux, it can happen when > string_conversions.h aren't available. Ok, I'll add back the include > momentarily. > > Paolo. Yes, the problem happened when I was building an elf toolchain. Thank you so much to take a look at this issue. :-) Best regards, jasonwucj
Index: include/std/random ================================================ --- include/std/random (revision 201122) +++ include/std/random (working copy) @@ -36,7 +36,6 @@ #else #include <cmath> -#include <cstdio> #include <cstdlib> #include <string> #include <iosfwd>