[Development] Build issue with configure -developer-build for qtbase?
Thiago Macieira
thiago.macieira at intel.com
Tue May 15 19:32:50 CEST 2012
On terça-feira, 15 de maio de 2012 12.03.30, Carl Schumann wrote:
> An update ...
>
> This build error was on our production 32 bit systems. We are just
> know in the process of transitioning to 64 bit systems. (We have a lot
> of legacy and limited downtime opportunities to make big changes. We
> are also a little short on staff.)
>
> I extracted this build issue into a simple test file, main.cpp, which is
> attached. I then tried to reproduce the build error on on both
> systems. These results are also attached. Bottom line the build issue
> is present only on 32 bit system.
That was implied. On a 64-bit system, long would be long enough to hold that
number. The error does not make sense outside of 32-bit systems -- or Windows
(on Windows, longs are 32-bit regardless of the environment).
> I am guessing you all have transitioned to 64 bits for your build
> system, etc. What is your policy statement on 32 bit systems? Try
> not break them? They deserve to get broken? ??? For me I will
> probably just transition my work to 64 bits even if our legacy stays 32
> bits for a while longer.
We have not all transitioned. In fact, I'm almost sure that all the CI builds
are done on 32-bit. Even if they aren't, there are a lot of people testing 32-
bit builds and they are known to work.
The simple fact is that I can't reproduce your error with my GCC 4.6, Intel CC
12.1 or Clang 3.0. When I compile the following program:
struct Foo { long long x; } val = { 0x0123456789abcdef };
I don't get any errors with -Wall -Wextra. Not even any warnings.
So your problem must be one of:
1) too old GCC, which we don't support anymore
2) too new GCC -- very unlikely, given the error message
3) some other compiler flags -- can't be, given your paste in the OP
4) patched Qt source code
I cannot find a combination of flags that produces just that error. The closest
I get to it is to add "-pedantic -pedantic-errors" and not add -std=c++0x. I
also get the same with "-Wlong-long -Werror". In both cases, GCC prints:
<stdin>:1:1: error: integer constant is too large for ‘long’ type [-Wlong-
long]
<stdin>:1:14: error: ISO C++ 1998 does not support ‘long long’ [-Wlong-long]
But I cannot get your error alone. It's always matched by that second error
saying that C++98 does not support long long, which you didn't get.
--
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120515/4d847343/attachment.sig>
More information about the Development
mailing list