Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-08 Thread Konstantin Ritt
Whilst I'm with Oliver and André in that part that affects the Qt user (and
I can imagine users in panic filing latest dev build fails bugs right
now), I agree with Thiago in that part that we could try fixing existing
warnings on some configurations at very least.
Throwing warnings is not a way for compiler to simply bother you, most
often warnings are almost errors. I.e. if compiler says there is a
possible issue, go and check it.

Despite that fact we all don't like wasting our time, several potential
issues were fixed already (i.e. 5dd2713c8ba98e06ae5c4f3da44b2ed73121d247 );
so let's give it a try for a short time, at least.
However, I'd like to ask someone to blog about this experiment and show the
user how to switch -Werror of at configure time.

Kind regards,
Konstantin

2013/9/5 Thiago Macieira thiago.macie...@intel.com

 On quinta-feira, 5 de setembro de 2013 09:41:11, Giuseppe D'Angelo wrote:
  On 5 September 2013 08:44, Thiago Macieira thiago.macie...@intel.com
 wrote:
   Can we please give the feature a try, for a week or two, with
   -warnings-are- errors enabled in all CI builds?
 
  I don't think this is the point. We already do have several
  -developer-build configurations active in CI, and, as you say, that's
  enough for enabling -Werror there. Eventually, the configurations
  without -developer-build could get -warnings-are-errors, but that's
  another story...

 That's part of what I am asking.

  The problem (*) is that the CI is not testing common configurations
  that developers use daily, for instance GCC 4.7/4.8 under Linux. If a
  patch of mine triggers warnings (= errors) under one of those
  compilers, but not for the other compilers used by CI (see [1]) it
  will get merged. And as soon as the other hundred developers pull the
  branches with that patch, they'll have a broken build, and they'll
  have to act to solve / work around the warning (instead of doing their
  job [2]).
 
  That's why I was proposing to limit the -Werror to those compilers
  which are actually in the CI, so those patches don't get merged in the
  first place and the *submitter* is forced to act to solve the warning:

 I disagree. That's why I am asking for two weeks of testing.

 I don't think -Werror are any worse than any other changes going on. Let me
 give you several examples:

 1) developer A writes code on Ubuntu, for example the same version that we
 have on CI. It compiles, so it gets integrated. Developer B gets the code
 and
 is running brand-new Gentoo or Fedora Rawhide, with glibc 2.19-pre. Code
 fails
 to compile because glibc removed an indirect include.

 This has happened in the past, just with different version numbers.

 2) developer A submits code that uses non-standard header names and bad
 include guards, and it passes CI integration. Developer B downloads the
 code
 and does some extra checks, causing the problems to show.

 Developer A = Lars  Simon, the code was V4.

 3) code exists in the Qt repositories and compiles on all compilers we've
 so
 far tested. A new compiler version is released, so we test and find that it
 fails to compile due to a stricter checking of some C++ feature.

 This has also happened in the past, like with aliasing violations.

 My points are:
 * The CI can *never* check everything. We rely on crowdsourcing by our own
   devs to catch those mistakes.
 * New compilers need to be validated anyway.
 * Upgrades of third-party libraries can cause build failures anyway.

 So I am asserting here that -Werror is no different from the cases above.
 The
 issues we're seeing now is that we've only had a limited time to fix the
 *existing* warnings. That's why I am asking for one or two weeks, so we
 find
 out how often this continues to happen, after the initial warnings get
 fixed.

 --
 Thiago Macieira - thiago.macieira (AT) intel.com
   Software Architect - Intel Open Source Technology Center

 ___
 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


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-05 Thread Olivier Goffart
On Wednesday 04 September 2013 22:13:34 André Pönitz wrote:
 On Wed, Sep 04, 2013 at 04:37:54PM +0200, John Layt wrote:
  -developer-buildOn 4 September 2013 15:21, Poenitz Andre
  
  andre.poen...@digia.com wrote:
   That's wasting our time, as predicted.
   
   ../../corelib/tools/qdatetime.cpp: In function 'time_t
   qt_mktime(QDate*, QTime*, QDateTimePrivate::Spec*, QString*, bool*)':
   ../../corelib/tools/qdatetime.cpp:258:34: error: comparison between
   signed and unsigned integer expressions [-Werror=sign-compare] cc1plus:
   all warnings being treated as errors
   
   Together with the recent insistence that it's fine to submit
   non-compilable chances I start wondering about the direction.
   
   Andre'
  
  Apologies, that's a change I recently merged that has been on Gerrit
  since before Thiago's change, so snuck past.  There's a patch for it
  already at https://codereview.qt-project.org/#change,64642 .  I suspect
  there will be a few pain points like that until the Gerrit backlog
  drains.
  
  The real problem is not Thiago's change per se, but instead CI allowing
  changes with warnings like mine to be merged.  Perhaps we need to revert
  until CI has the required -developer-build instances?
 
 Not at all.
 
 The core of the problem _is_ enabling -Werror, _not_ the CI system.
 The CI system is absolutely innocent here, and there's no reasonable
 way to solve the problem on the CI side. There will always be
 configurations that are not covered by CI.
 
 In fact, I am appalled by this yet-another-attempt-to-blame-CI-for-bad-
 alignement-of-dev-with-reality. Yes, would be nice if we lived in a perfect
 world and sources were free of warnings. In practice you do look left and
 right before crossing the street. Why? Because the world is not perfect,
 and it prevents certain problems by simply acknowledging that it isn't.
 
 -Werror is a fine thing to switch on every now and then _temporarily_ and
 _locally_, especially when it can be done as part of scheduled general
 cleanup and housekeeping activities. No doubt. I use like that myself.
 
 It has absolutely no place in anything that shows up as normal sources
 that are used to get things done, read: _Anywhere in the Repo_.
 
 Any such use predictably fails, has done so in numerous projects in the
 past, and did surprisingly so for us today (twice). No matter how much
 diligence is put into whitelisting. And please don't get me started about
 the usefulness of version string checks when it comes to identifying
 supported features.


II agree with André here.
You will also have to whitelist the version of all the libraries, else a new 
version of libpng/openssl/xcb/whatever add new unavoidable warning or 
deprecate function used in Qt.  And a developer working on other part of the 
library do not want to spend time fixing warning in a unrelated location.

All that results is development time lost.
Not to mention the race everyone that someone introduce a warning not catch by 
the CI, there will be five times the same patch on gerrit to fix it because all 
the dev run into it in the same time, and duplicate the effort to fix it.

Enabling it only on the CI on the other hand has the advantage to limit the 
warnings in the real code base by preventing patch that introduce some to get 
any, without bothering everyone with compilation errors unrelated to their 
code on their machine.

-- 
Olivier

Woboq - Qt services and support - http://woboq.com - http://code.woboq.org

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


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-05 Thread Thiago Macieira
On quinta-feira, 5 de setembro de 2013 08:16:39, Olivier Goffart wrote:
 II agree with André here.
 You will also have to whitelist the version of all the libraries, else a new
 version of libpng/openssl/xcb/whatever add new unavoidable warning or
 deprecate function used in Qt.  And a developer working on other part of
 the library do not want to spend time fixing warning in a unrelated
 location.

Deprecation warnings are not errors. They are left as warnings.

Besides, how is this different from a change in a library causing a compiler 
error? There have been several of those due to reliance on indirect includes, 
for example.

Also, new compiler updates can break existing code if our code was bad. We're 
using C++11 before all compilers implement everything, so it's quite possible 
that better implementations cause existing code to break.

 All that results is development time lost.
 Not to mention the race everyone that someone introduce a warning not catch
 by the CI, there will be five times the same patch on gerrit to fix it
 because all the dev run into it in the same time, and duplicate the effort
 to fix it.
 
 Enabling it only on the CI on the other hand has the advantage to limit the
 warnings in the real code base by preventing patch that introduce some to
 get any, without bothering everyone with compilation errors unrelated to
 their code on their machine.

The whole point was to crowdsource the fixing of warnings. If we enable it on 
the CI only, it defeats the purpose.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center


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


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-05 Thread Thiago Macieira
On quarta-feira, 4 de setembro de 2013 23:37:50, Thiago Macieira wrote:
 Deprecation warnings are not errors. They are left as warnings.
 
 Besides, how is this different from a change in a library causing a
 compiler  error? There have been several of those due to reliance on
 indirect includes, for example.
 
 Also, new compiler updates can break existing code if our code was bad.
 We're  using C++11 before all compilers implement everything, so it's quite
 possible that better implementations cause existing code to break.

Can we please give the feature a try, for a week or two, with -warnings-are-
errors enabled in all CI builds?

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center


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


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-05 Thread Giuseppe D'Angelo
On 5 September 2013 08:44, Thiago Macieira thiago.macie...@intel.com wrote:

 Can we please give the feature a try, for a week or two, with -warnings-are-
 errors enabled in all CI builds?

I don't think this is the point. We already do have several
-developer-build configurations active in CI, and, as you say, that's
enough for enabling -Werror there. Eventually, the configurations
without -developer-build could get -warnings-are-errors, but that's
another story...

The problem (*) is that the CI is not testing common configurations
that developers use daily, for instance GCC 4.7/4.8 under Linux. If a
patch of mine triggers warnings (= errors) under one of those
compilers, but not for the other compilers used by CI (see [1]) it
will get merged. And as soon as the other hundred developers pull the
branches with that patch, they'll have a broken build, and they'll
have to act to solve / work around the warning (instead of doing their
job [2]).

That's why I was proposing to limit the -Werror to those compilers
which are actually in the CI, so those patches don't get merged in the
first place and the *submitter* is forced to act to solve the warning:

https://codereview.qt-project.org/#change,64668

[1] http://qt-project.org/wiki/CI_Configurations
[2] 
https://lh4.googleusercontent.com/-7ldKwe1FXVg/UfgmOdZCgGI/A_8/ntiDAkScDEU/w480-h360-no/what-programming-is-like.gif

(*) I'm not saying it's a CI problem. It's a developers' problem --
people should fix their warnings. The only thing CI could help is
having more and more configurations, but we all know that there isn't
an infinite number of people working there.

-- 
Giuseppe D'Angelo
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-05 Thread Thiago Macieira
On quinta-feira, 5 de setembro de 2013 09:41:11, Giuseppe D'Angelo wrote:
 On 5 September 2013 08:44, Thiago Macieira thiago.macie...@intel.com 
wrote:
  Can we please give the feature a try, for a week or two, with
  -warnings-are- errors enabled in all CI builds?
 
 I don't think this is the point. We already do have several
 -developer-build configurations active in CI, and, as you say, that's
 enough for enabling -Werror there. Eventually, the configurations
 without -developer-build could get -warnings-are-errors, but that's
 another story...

That's part of what I am asking.

 The problem (*) is that the CI is not testing common configurations
 that developers use daily, for instance GCC 4.7/4.8 under Linux. If a
 patch of mine triggers warnings (= errors) under one of those
 compilers, but not for the other compilers used by CI (see [1]) it
 will get merged. And as soon as the other hundred developers pull the
 branches with that patch, they'll have a broken build, and they'll
 have to act to solve / work around the warning (instead of doing their
 job [2]).
 
 That's why I was proposing to limit the -Werror to those compilers
 which are actually in the CI, so those patches don't get merged in the
 first place and the *submitter* is forced to act to solve the warning:

I disagree. That's why I am asking for two weeks of testing.

I don't think -Werror are any worse than any other changes going on. Let me 
give you several examples:

1) developer A writes code on Ubuntu, for example the same version that we 
have on CI. It compiles, so it gets integrated. Developer B gets the code and 
is running brand-new Gentoo or Fedora Rawhide, with glibc 2.19-pre. Code fails 
to compile because glibc removed an indirect include.

This has happened in the past, just with different version numbers.

2) developer A submits code that uses non-standard header names and bad 
include guards, and it passes CI integration. Developer B downloads the code 
and does some extra checks, causing the problems to show.

Developer A = Lars  Simon, the code was V4.

3) code exists in the Qt repositories and compiles on all compilers we've so 
far tested. A new compiler version is released, so we test and find that it 
fails to compile due to a stricter checking of some C++ feature.

This has also happened in the past, like with aliasing violations.

My points are:
* The CI can *never* check everything. We rely on crowdsourcing by our own 
  devs to catch those mistakes.
* New compilers need to be validated anyway.
* Upgrades of third-party libraries can cause build failures anyway.

So I am asserting here that -Werror is no different from the cases above. The 
issues we're seeing now is that we've only had a limited time to fix the 
*existing* warnings. That's why I am asking for one or two weeks, so we find 
out how often this continues to happen, after the initial warnings get fixed.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center


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


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Poenitz Andre

That's wasting our time, as predicted.

../../corelib/tools/qdatetime.cpp: In function 'time_t qt_mktime(QDate*, 
QTime*, QDateTimePrivate::Spec*, QString*, bool*)':
../../corelib/tools/qdatetime.cpp:258:34: error: comparison between signed and 
unsigned integer expressions [-Werror=sign-compare]
cc1plus: all warnings being treated as errors

Together with the recent insistence that it's fine to submit non-compilable 
chances I start wondering about the direction.

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


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Giuseppe D'Angelo
On 4 September 2013 15:21, Poenitz Andre andre.poen...@digia.com wrote:

 That's wasting our time, as predicted.

 ../../corelib/tools/qdatetime.cpp: In function 'time_t qt_mktime(QDate*, 
 QTime*, QDateTimePrivate::Spec*, QString*, bool*)':
 ../../corelib/tools/qdatetime.cpp:258:34: error: comparison between signed 
 and unsigned integer expressions [-Werror=sign-compare]
 cc1plus: all warnings being treated as errors

How did the -Werror patch got integrated if qtbase doesn't build? Did
it cover more compilers than the ones available in CI?

-- 
Giuseppe D'Angelo
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Sergio Ahumada
On 09/04/2013 04:03 PM, Tor Arne Vestbø wrote:
 On 9/4/13 15:58 , Giuseppe D'Angelo wrote:
 On 4 September 2013 15:21, Poenitz Andre andre.poen...@digia.com wrote:

 That's wasting our time, as predicted.

 ../../corelib/tools/qdatetime.cpp: In function 'time_t qt_mktime(QDate*, 
 QTime*, QDateTimePrivate::Spec*, QString*, bool*)':
 ../../corelib/tools/qdatetime.cpp:258:34: error: comparison between signed 
 and unsigned integer expressions [-Werror=sign-compare]
 cc1plus: all warnings being treated as errors

 How did the -Werror patch got integrated if qtbase doesn't build? Did
 it cover more compilers than the ones available in CI?
 
 CI not using -developer-build I presume?
 
 tor arne

the CI uses -developer-build on Ubuntu 10.04, 11.10; OS X 10.6, 10.7,
10.8; Windows 7 (mingw 4.7, 4.8; msvc 2010) and Windows 8 (msvc2012).

My guess is that on Ubuntu the compiler is too old (4.6.3 is on Ubuntu
12.04 but that doesn't use -developer-build); on OS X 10.8 seems to
work; on Windows 7 mingw 4.x seems to work as well.

You can check all the logs and configure options here

http://testresults.qt-project.org/ci/QtBase_dev_Integration/latest-success/

-- 
Sergio Ahumada
Release Engineer - Digia, Qt
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Tor Arne Vestbø
On 9/4/13 15:58 , Giuseppe D'Angelo wrote:
 On 4 September 2013 15:21, Poenitz Andre andre.poen...@digia.com wrote:

 That's wasting our time, as predicted.

 ../../corelib/tools/qdatetime.cpp: In function 'time_t qt_mktime(QDate*, 
 QTime*, QDateTimePrivate::Spec*, QString*, bool*)':
 ../../corelib/tools/qdatetime.cpp:258:34: error: comparison between signed 
 and unsigned integer expressions [-Werror=sign-compare]
 cc1plus: all warnings being treated as errors

 How did the -Werror patch got integrated if qtbase doesn't build? Did
 it cover more compilers than the ones available in CI?

CI not using -developer-build I presume?

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


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Ahumada Sergio
 The real problem is not Thiago's change per se, but instead CI
 allowing changes with warnings like mine to be merged.  Perhaps we
 need to revert until CI has the required -developer-build instances?

please do NOT blame the CI for everything. this is NOT a CI problem.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Giuseppe D'Angelo
On 4 September 2013 16:20, Sergio Ahumada sergio.ahum...@digia.com wrote:

 My guess is that on Ubuntu the compiler is too old (4.6.3 is on Ubuntu
 12.04 but that doesn't use -developer-build);

So probably more configurations should be added to CI (maybe Fedora
19, which isn't a Debian-derivate, and ships with gcc 4.8).

Workaround (?) for now: https://codereview.qt-project.org/#change,64668

-- 
Giuseppe D'Angelo

who doesn't want Qt development to become like
https://lh4.googleusercontent.com/-7ldKwe1FXVg/UfgmOdZCgGI/A_8/ntiDAkScDEU/w480-h360-no/what-programming-is-like.gif
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Giuseppe D'Angelo
On 4 September 2013 16:47, Olivier Goffart oliv...@woboq.com wrote:
 Why don't we put -Werror ONLY in the CI?

IMHO, because if I have the same compiler version, I'd like to get the
error locally (before pushing and staging).

-- 
Giuseppe D'Angelo
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Giuseppe D'Angelo
On 4 September 2013 16:03, Tor Arne Vestbø tor.arne.ves...@digia.com wrote:
 CI not using -developer-build I presume?

Not quite (that'll exclude most autotests...), cf.
http://qt-project.org/wiki/CI_Configurations

-- 
Giuseppe D'Angelo
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Olivier Goffart
On Wednesday 04 September 2013 16:42:38 Giuseppe D'Angelo wrote:
 On 4 September 2013 16:20, Sergio Ahumada sergio.ahum...@digia.com wrote:
  My guess is that on Ubuntu the compiler is too old (4.6.3 is on Ubuntu
  12.04 but that doesn't use -developer-build);
 
 So probably more configurations should be added to CI (maybe Fedora
 19, which isn't a Debian-derivate, and ships with gcc 4.8).
 
 Workaround (?) for now: https://codereview.qt-project.org/#change,64668

Why don't we put -Werror ONLY in the CI?

-- 
Olivier

Woboq - Qt services and support - http://woboq.com - http://code.woboq.org
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread John Layt
-developer-buildOn 4 September 2013 15:21, Poenitz Andre
andre.poen...@digia.com wrote:

 That's wasting our time, as predicted.

 ../../corelib/tools/qdatetime.cpp: In function 'time_t qt_mktime(QDate*, 
 QTime*, QDateTimePrivate::Spec*, QString*, bool*)':
 ../../corelib/tools/qdatetime.cpp:258:34: error: comparison between signed 
 and unsigned integer expressions [-Werror=sign-compare]
 cc1plus: all warnings being treated as errors

 Together with the recent insistence that it's fine to submit non-compilable
 chances I start wondering about the direction.

 Andre'

Apologies, that's a change I recently merged that has been on Gerrit
since before Thiago's change, so snuck past.  There's a patch for it
already at https://codereview.qt-project.org/#change,64642 .  I
suspect there will be a few pain points like that until the Gerrit
backlog drains.

The real problem is not Thiago's change per se, but instead CI
allowing changes with warnings like mine to be merged.  Perhaps we
need to revert until CI has the required -developer-build instances?

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


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Thiago Macieira
On quarta-feira, 4 de setembro de 2013 16:37:54, John Layt wrote:
 The real problem is not Thiago's change per se, but instead CI
 allowing changes with warnings like mine to be merged.  Perhaps we
 need to revert until CI has the required -developer-build instances?

I think the CI should pass -warnings-are-errors option to configure, yes.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center


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


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Laszlo Papp
On Wed, Sep 4, 2013 at 3:03 PM, Tor Arne Vestbø
tor.arne.ves...@digia.comwrote:

 CI not using -developer-build I presume?


It does:
http://testresults.qt-project.org/ci/QtBase_dev_Integration/latest-success/
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Thiago Macieira
On quarta-feira, 4 de setembro de 2013 16:03:31, Tor Arne Vestbø wrote:
 On 9/4/13 15:58 , Giuseppe D'Angelo wrote:
  On 4 September 2013 15:21, Poenitz Andre andre.poen...@digia.com wrote:
  That's wasting our time, as predicted.
  
  ../../corelib/tools/qdatetime.cpp: In function 'time_t qt_mktime(QDate*,
  QTime*, QDateTimePrivate::Spec*, QString*, bool*)':
  ../../corelib/tools/qdatetime.cpp:258:34: error: comparison between
  signed and unsigned integer expressions [-Werror=sign-compare] cc1plus:
  all warnings being treated as errors
  
  How did the -Werror patch got integrated if qtbase doesn't build? Did
  it cover more compilers than the ones available in CI?
 
 CI not using -developer-build I presume?

Yes, that's what I said in my email. It was highly unlikely that it would have 
got integrated the first time if the builds used -Werror.

That's why there's an opt-in option: configure -warnings-are-errors (or 
configure -Werror).

For those who do not want to participate in the fixing of warnings but still 
want to do developer builds:
configure -developer-build -no-warnings-are-errors

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center


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


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Giuseppe D'Angelo
On 4 September 2013 20:22, Thiago Macieira thiago.macie...@intel.com wrote:

 Yes, that's what I said in my email. It was highly unlikely that it would have
 got integrated the first time if the builds used -Werror.

 That's why there's an opt-in option: configure -warnings-are-errors (or
 configure -Werror).

Sorry, but you never mentioned this option in the first email...

To put it another way: will configure -developer-build enable -Werror or not?

-- 
Giuseppe D'Angelo
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread André Pönitz
On Wed, Sep 04, 2013 at 04:37:54PM +0200, John Layt wrote:
 -developer-buildOn 4 September 2013 15:21, Poenitz Andre
 andre.poen...@digia.com wrote:
 
  That's wasting our time, as predicted.
 
  ../../corelib/tools/qdatetime.cpp: In function 'time_t
  qt_mktime(QDate*, QTime*, QDateTimePrivate::Spec*, QString*, bool*)':
  ../../corelib/tools/qdatetime.cpp:258:34: error: comparison between
  signed and unsigned integer expressions [-Werror=sign-compare] cc1plus:
  all warnings being treated as errors
 
  Together with the recent insistence that it's fine to submit
  non-compilable chances I start wondering about the direction.
 
  Andre'
 
 Apologies, that's a change I recently merged that has been on Gerrit
 since before Thiago's change, so snuck past.  There's a patch for it
 already at https://codereview.qt-project.org/#change,64642 .  I suspect
 there will be a few pain points like that until the Gerrit backlog
 drains.
 
 The real problem is not Thiago's change per se, but instead CI allowing
 changes with warnings like mine to be merged.  Perhaps we need to revert
 until CI has the required -developer-build instances?

Not at all.

The core of the problem _is_ enabling -Werror, _not_ the CI system.
The CI system is absolutely innocent here, and there's no reasonable
way to solve the problem on the CI side. There will always be
configurations that are not covered by CI.

In fact, I am appalled by this yet-another-attempt-to-blame-CI-for-bad-
alignement-of-dev-with-reality. Yes, would be nice if we lived in a perfect
world and sources were free of warnings. In practice you do look left and
right before crossing the street. Why? Because the world is not perfect,
and it prevents certain problems by simply acknowledging that it isn't.

-Werror is a fine thing to switch on every now and then _temporarily_ and
_locally_, especially when it can be done as part of scheduled general
cleanup and housekeeping activities. No doubt. I use like that myself.

It has absolutely no place in anything that shows up as normal sources
that are used to get things done, read: _Anywhere in the Repo_.

Any such use predictably fails, has done so in numerous projects in the
past, and did surprisingly so for us today (twice). No matter how much
diligence is put into whitelisting. And please don't get me started about
the usefulness of version string checks when it comes to identifying
supported features.

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


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Thiago Macieira
On quarta-feira, 4 de setembro de 2013 16:47:15, Olivier Goffart wrote:
 On Wednesday 04 September 2013 16:42:38 Giuseppe D'Angelo wrote:
  On 4 September 2013 16:20, Sergio Ahumada sergio.ahum...@digia.com 
wrote:
   My guess is that on Ubuntu the compiler is too old (4.6.3 is on Ubuntu
   12.04 but that doesn't use -developer-build);
  
  So probably more configurations should be added to CI (maybe Fedora
  19, which isn't a Debian-derivate, and ships with gcc 4.8).
  
  Workaround (?) for now: https://codereview.qt-project.org/#change,64668
 
 Why don't we put -Werror ONLY in the CI?

Because then people wouldn't see their own mistakes, causing the CI to fail.

Also, the point was to crowdsource the fixing of warnings. If devs don't get -
Werror, they won't fix the warnings.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center


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


Re: [Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-04 Thread Thiago Macieira
On quarta-feira, 4 de setembro de 2013 20:24:04, Giuseppe D'Angelo wrote:
 Sorry, but you never mentioned this option in the first email...

I did, several times in the discussions.

 To put it another way: will configure -developer-build enable -Werror or
 not?

-developer-build enables -Werror. If you want -developer-build but no 
warnings, pass -no-warnings-are-errors.

If you want a non-developer-build but still check for warnings, pass 
-warnings-are-errors.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center


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


[Development] Fwd: Change in qt/qtbase[dev]: Enable -Werror for all of qtbase

2013-09-03 Thread Thiago Macieira
FYI

You're affected if you are:
 * using -developer-build
 * building dev
 * on one of the following compilers / OS:
* Apple Clang 4.0 to 4.2 (technically on any OS)
* ICC 13.0, 13.1, 14.0 on Linux
* GCC 4.6 to 4.8 (any OS)

What I didn't check: does the CI run -developer-build? Probably not, since 
this integrated on the first try.

--  Forwarded message  --

Qt Continuous Integration System has approved a build with this change and it 
was merged.

Change subject: Enable -Werror for all of qtbase
..


Enable -Werror for all of qtbase

This change applies to all qtbase modules, tools and applications. It
does not apply to examples or unit tests.

This change complements the changes done to mkspecs/qt_common.prf
(especially 043b80919747676c2df4b4423ed5950583233d30 and
ebfd85a499a4382ace09d443b1f35cd6b1848af6). It enables -Werror checking
in qtbase for GCC 4.6-4.8, Apple clang 4.0-4.2 and ICC 13.0-14.0.

Change-Id: I6d29a7a1b3716960a149409f551363385991714c
---
M .qmake.conf
1 file changed, 1 insertion(+), 0 deletions(-)

Approvals:
  Qt Sanity Bot: Sanity review passed
  Thiago Macieira: 
  Lars Knoll: Looks good to me, but someone else must approve
  Oswald Buddenhagen: Looks good to me, approved

Message:
  QtBase_dev_Integration #1672: SUCCESS
  
Tested changes (refs/builds/dev_1378252330):
  http://codereview.qt-project.org/63819 [PS2] - Enable -Werror for all of 
qtbase

-
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center


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