On Friday 18 March 2011 18:24:11 Cactus wrote: > On Mar 18, 5:55 pm, Jason <[email protected]> wrote: > > On Wednesday 16 March 2011 09:11:38 Jason wrote: > > > On Wednesday 16 March 2011 09:03:41 Jason wrote: > > > > On Wednesday 16 March 2011 08:21:35 Cactus wrote: > > > > > On Mar 16, 1:42 am, Bill Hart <[email protected]> wrote: > > > > > > I don't think we should be using C++0x features without a > > > > > > conscious decision to do that. > > > > > > > > > > > > On 16 March 2011 01:35, Jason <[email protected]> wrote: > > > > > > > Hi > > > > > > > > > > > > > > Using the new autotools and running make check , the C++ tests > > > > > > > fail to compile with this error > > > > > > > > > > > > > > /mpir/trunk/tests/cxx# make t-misc > > > > > > > g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../tests -O2 > > > > > > > -m64 -march=core2 -mtune=core2 -c -o t-misc.o t-misc.cc > > > > > > > In file included from /usr/lib64/gcc/x86_64-slackware- > > > > > > > linux/4.4.4/../../../../include/c++/4.4.4/cstdint:35, > > > > > > > > > > > > > > from ../../mpir.h:58, > > > > > > > > > > > > > > from t-misc.cc:33: > > > > > > > /usr/lib64/gcc/x86_64-slackware- > > > > > > > linux/4.4.4/../../../../include/c++/4.4.4/c++0x_warning.h:31:2: > > > > > > > error: #error This file requires compiler and library support > > > > > > > for the upcoming ISO C++ standard, C++0x. This support is > > > > > > > currently experimental, and must be enabled with the > > > > > > > -std=c++0x or -std=gnu++0x compiler options. > > > > > > > make: *** [t-misc.o] Error 1 > > > > > > > > > > > > > > Using the suggested fix , fixes the problem , but as I know > > > > > > > next to nothing about C++ standards , what should we do? > > > > > > > > > > > > > > Thanks > > > > > > > Jason > > > > > > > > > > > > > > -- > > > > > > > You received this message because you are subscribed to the > > > > > > > Google Groups "mpir-devel" group. To post to this group, send > > > > > > > email to [email protected]. To unsubscribe from this > > > > > > > group, send email to [email protected]. > > > > > > > For more options, visit this group > > > > > > > athttp://groups.google.com/group/mpir-devel?hl=en. > > > > > > > > > > This should only happen if HAVE_STDINT_H has been defined in > > > > > config.h > > > > > > > > > > Brian > > > > > > > > Ah , thanks , I've fixed the error now , I just put a test in > > > > autoconf for cstdint > > > > > > > > Jason > > > > > > Whoops , forgot to type --enable-cxx , so nothing fixed :( > > > > > > Jason > > > > svn trunk rev 3435 is fine , so it's the code for the get/set_ux function > > that makes C++ require the std=0x , or rather the inclusion of uintmax > > in mpir.h , I suspect. > > > > Jason > > Hi Jason, > > It is only when a source code file includes the define HAVE_STDINT_H > that mpir.h then includes either stdint.h or cstdint. > > Since the functions involving *_ux and *_sx require the (u)intmax_t > types by definition, they do, as you suggest, invoke this include, one > that is not C89 compliant. > > They are not alone in this since the long long types are not C89 > compliant either. > > Brian
If I understand correctly then if we put #undef HAVE_STDINT_H before #include "mpir.h" in the test code for the C++ tests only , this will remove the make check failure of requiring C++0x , and it wont affect the library , and anyone including mpir.h can build their project with strict C89 compliance (ie ECM people) (assuming they dont use these functions) , and if someone wants the functions they will of course have to include stdint (which I assume defines HAVE_STDINT_H) then their mpir.h will have the required definitions. Jason -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/mpir-devel?hl=en.
