2013/7/22 Paolo Carlini <paolo.carl...@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. > > ///////////////////
Hi, Paolo, In this patch I can see that you thought cstdio is unnecessary: 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> However, for some cases the file libstdc++-v3/include/std/random may include libstdc++-v3/include/bits/random.h, in which there is a declaration using FILE type: [libstdc++-v3/include/std/random] 46 #ifdef _GLIBCXX_USE_C99_STDINT_TR1 47 48 #include <cstdint> // For uint_fast32_t, uint_fast64_t, uint_least32_t 49 #include <bits/random.h> 50 #include <bits/opt_random.h> 51 #include <bits/random.tcc> 52 53 #endif // _GLIBCXX_USE_C99_STDINT_TR1 [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? :-) Best regards, jasonwucj