On terça-feira, 15 de maio de 2012 12.03.30, Carl Schumann wrote: > clx39:type_check $ g++ --version > g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-50) > Copyright (C) 2006 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > clx39:type_check $ uname -a > Linux clx39.fnal.gov 2.6.18-308.4.1.el5PAE #1 SMP Tue Apr 17 15:07:30 EDT > 2012 i686 i686 i386 GNU/Linux clx39:type_check > $ g++ main.cpp && ./a.out > main.cpp:22: error: integer constant is too large for 'long' type > clx39:type_check $
Oh, sorry, I missed the attachments in the previous email. Here we have the likely problem: you're running GCC 4.1. That's not supported, it's too old. At least 4.2 is necessary, and that's for Mac OS X's sake. I highly recommend you upgrade, to at least 4.4. I do notice that you're running RHEL 5 and, given the kernel's compilation date, you're still getting updates. In turn, I must conclude that RH is not giving updates on the compiler. That's unfortunate. Still, can you try changing the line in question to be: static const TestData inNativeEndian = { Q_UINT64_C(0x0123456789abcdef), 0x00c0ffee, 0xcafe, 0xcf, '\0' }; If that works, we should apply the fix. It's the right thing to do anyway. If it doesn't, I'm not sure we should do anything, actually. This is a unit test and I don't expect anyone to be concerned about running the tests with GCC 4.1. Aside from miscompilation issues, the result of the tests is the same no matter what compiler you use. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center Intel Sweden AB - Registration Number: 556189-6027 Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development