On 5/15/2012 12:42 PM, Thiago Macieira wrote:
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' };
Yes, that does allow it to compile.

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.



_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to