[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#367657: marked as done ([PR28322] GCC new warnings and compatibility)



Your message dated Tue, 26 Feb 2008 15:32:12 +0000
with message-id <E1JU1mu-0003V6-9r@ries.debian.org>
and subject line Bug#367657: fixed in gcc-4.2 4.2.3-2
has caused the Debian Bug report #367657,
regarding [PR28322] GCC new warnings and compatibility
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
367657: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=367657
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: gcc
Version: 4:4.0.2-2

Summary:

GCC should be more tolerant of
  gcc -Wno-this-is-not-a-recognised-warning
as specified in detail below.


Discussion:

Occasionally, GCC introduces new warnings.  For example, GCC 4 has
introduced warnings about discrepancies in signedness of integers
pointed to by otherwise-compatible pointers.

Furthermore, because GCC has traditionally had such good warnings, and
such good configurability of warnings, and because no-one looks at
warnings that don't cause build failures, many people (myself
included) use -Werror in nearly all of their projects.

However, when new warnings are introduced, there is a problem with the
configurability:  Like any warning, whether or not you want it enabled
depends on your coding style and practices and on other rather
subjective details.  This means that there can be no universally
correct default for a new warning; turning it on by default is
sometimes a reasonable value judgement on the part of the compiler
authors.

When a new warning is introduced and enabled by default, then the
author of a project whose coding style warrants disabling that warning
is faced with a difficult choice:
 * they can set the build system to say -Wno-new-warning (for whatever
   value of `new-warning' is relevant) so that it builds on new
   compilers but so that users of older GCC's need to override the
   build system to remove -Wno-new-warning (which the older GCC
   doesn't understand);
 * they can turn off -Werror, leaving themselves open to the massive
   bugs which are often hidden by warnings which are ignored (perhaps
   bugs which don't show up and aren't warned about on the developer's
   system, because of the various type differences between systems);
 * they can leave things as they are and require users of the new
   compiler to override the build system.
 * they can add complexity to the build system to try to autodetect
   the available compiler options; this usually works but it makes the
   build system more complex - note that in some projects this might
   be the only reason why something like autoconf might be required.
None of these are the right answer.

I would like to propose a straightforward answer which can easily be
implemented in GCC and leaves everything correct.  With this change,
it is much easier to make portable packages which still make good and
strict use of GCC's excellent warnings system.


Specification of the proposed new behaviour:

1. GCC should ignore unknown -Wno-* options if no other warnings are to
   be issued.  This is always correct since the only effect of such an
   option would be to suppress warnings which might otherwise be
   issued.  If no warnings are to be issued at all then treating even
   an unknown suppression as a no-op is clearly correct.

2. If some other warnings are to be issued, then it is necessary to
   report on stderr if any unknown (and therefore unheeded)
   suppressions were in force, in case the user intended for one of
   the relevant suppressions to apply to the warning(s) in question.
   This will alert the user to the lack of support for that
   suppression in this gcc (ie, either to the user's typo or the wrong
   gcc version).  The combination of (1) and (2) will minimise stderr
   noise about unknown suppressions as far as I think is reasonably
   possible.

3. Obviously unknown suppressions ignored according to (1) should not
   count as errors for -Werror.  Whether unknown suppressions reported
   according to (2) should count as as errors for -Werror is not
   important because the actual warning will count as an error for
   -Werror.  So the diagnostic from (2) above can be a real `warning',
   or simply an appropriate message issued to stderr the first time a
   warning is to be issued despite the presence of unknown -Wno-*
   options.

4. Whenever a new GCC warning is introduced, or the scope of an
   existing warning significantly extended, a corresponding -Wno-*
   option should be introduced at the same time.  (AFAIAA current GCC
   development practice seems to abide by this principle.)

5. The changes to implement (1) and (2) should be backported to
   earlier GCCs and earlier Debian branches insofar as practical.


Ian.


--- End Message ---
--- Begin Message ---
Source: gcc-4.2
Source-Version: 4.2.3-2

We believe that the bug you reported is fixed in the latest version of
gcc-4.2, which is due to be installed in the Debian FTP archive:

cpp-4.2_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/cpp-4.2_4.2.3-2_i386.deb
cpp-4.2_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/cpp-4.2_4.2.3-2_powerpc.deb
g++-4.2-multilib_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/g++-4.2-multilib_4.2.3-2_i386.deb
g++-4.2-multilib_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/g++-4.2-multilib_4.2.3-2_powerpc.deb
g++-4.2_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/g++-4.2_4.2.3-2_i386.deb
g++-4.2_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/g++-4.2_4.2.3-2_powerpc.deb
gcc-4.2-base_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/gcc-4.2-base_4.2.3-2_i386.deb
gcc-4.2-base_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/gcc-4.2-base_4.2.3-2_powerpc.deb
gcc-4.2-locales_4.2.3-2_all.deb
  to pool/main/g/gcc-4.2/gcc-4.2-locales_4.2.3-2_all.deb
gcc-4.2-multilib_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/gcc-4.2-multilib_4.2.3-2_i386.deb
gcc-4.2-multilib_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/gcc-4.2-multilib_4.2.3-2_powerpc.deb
gcc-4.2-source_4.2.3-2_all.deb
  to pool/main/g/gcc-4.2/gcc-4.2-source_4.2.3-2_all.deb
gcc-4.2_4.2.3-2.diff.gz
  to pool/main/g/gcc-4.2/gcc-4.2_4.2.3-2.diff.gz
gcc-4.2_4.2.3-2.dsc
  to pool/main/g/gcc-4.2/gcc-4.2_4.2.3-2.dsc
gcc-4.2_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/gcc-4.2_4.2.3-2_i386.deb
gcc-4.2_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/gcc-4.2_4.2.3-2_powerpc.deb
gfortran-4.2-multilib_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/gfortran-4.2-multilib_4.2.3-2_i386.deb
gfortran-4.2-multilib_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/gfortran-4.2-multilib_4.2.3-2_powerpc.deb
gfortran-4.2_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/gfortran-4.2_4.2.3-2_i386.deb
gfortran-4.2_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/gfortran-4.2_4.2.3-2_powerpc.deb
gobjc++-4.2-multilib_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/gobjc++-4.2-multilib_4.2.3-2_i386.deb
gobjc++-4.2-multilib_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/gobjc++-4.2-multilib_4.2.3-2_powerpc.deb
gobjc++-4.2_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/gobjc++-4.2_4.2.3-2_i386.deb
gobjc++-4.2_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/gobjc++-4.2_4.2.3-2_powerpc.deb
gobjc-4.2-multilib_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/gobjc-4.2-multilib_4.2.3-2_i386.deb
gobjc-4.2-multilib_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/gobjc-4.2-multilib_4.2.3-2_powerpc.deb
gobjc-4.2_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/gobjc-4.2_4.2.3-2_i386.deb
gobjc-4.2_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/gobjc-4.2_4.2.3-2_powerpc.deb
lib64gfortran2-dbg_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/lib64gfortran2-dbg_4.2.3-2_i386.deb
lib64gfortran2-dbg_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/lib64gfortran2-dbg_4.2.3-2_powerpc.deb
lib64gfortran2_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/lib64gfortran2_4.2.3-2_i386.deb
lib64gfortran2_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/lib64gfortran2_4.2.3-2_powerpc.deb
lib64stdc++6-4.2-dbg_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/lib64stdc++6-4.2-dbg_4.2.3-2_i386.deb
lib64stdc++6-4.2-dbg_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/lib64stdc++6-4.2-dbg_4.2.3-2_powerpc.deb
libgfortran2-dbg_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/libgfortran2-dbg_4.2.3-2_i386.deb
libgfortran2-dbg_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/libgfortran2-dbg_4.2.3-2_powerpc.deb
libgfortran2_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/libgfortran2_4.2.3-2_i386.deb
libgfortran2_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/libgfortran2_4.2.3-2_powerpc.deb
libstdc++6-4.2-dbg_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/libstdc++6-4.2-dbg_4.2.3-2_i386.deb
libstdc++6-4.2-dbg_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/libstdc++6-4.2-dbg_4.2.3-2_powerpc.deb
libstdc++6-4.2-dev_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/libstdc++6-4.2-dev_4.2.3-2_i386.deb
libstdc++6-4.2-dev_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/libstdc++6-4.2-dev_4.2.3-2_powerpc.deb
libstdc++6-4.2-doc_4.2.3-2_all.deb
  to pool/main/g/gcc-4.2/libstdc++6-4.2-doc_4.2.3-2_all.deb
libstdc++6-4.2-pic_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/libstdc++6-4.2-pic_4.2.3-2_i386.deb
libstdc++6-4.2-pic_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/libstdc++6-4.2-pic_4.2.3-2_powerpc.deb
treelang-4.2_4.2.3-2_i386.deb
  to pool/main/g/gcc-4.2/treelang-4.2_4.2.3-2_i386.deb
treelang-4.2_4.2.3-2_powerpc.deb
  to pool/main/g/gcc-4.2/treelang-4.2_4.2.3-2_powerpc.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 367657@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <doko@debian.org> (supplier of updated gcc-4.2 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Tue, 26 Feb 2008 01:59:27 +0100
Source: gcc-4.2
Binary: gcc-4.2-base gcc-4.2 gcc-4.2-multilib gcc-4.2-hppa64 cpp-4.2 gcc-4.2-locales g++-4.2 g++-4.2-multilib gobjc++-4.2 gobjc++-4.2-multilib gobjc-4.2 gobjc-4.2-multilib gfortran-4.2 gfortran-4.2-multilib libgfortran2 libgfortran2-dbg lib64gfortran2 lib64gfortran2-dbg lib32gfortran2 lib32gfortran2-dbg libstdc++6-4.2-dev libstdc++6-4.2-pic libstdc++6-4.2-dbg lib32stdc++6-4.2-dbg lib64stdc++6-4.2-dbg libstdc++6-4.2-doc treelang-4.2 gcc-4.2-soft-float gcc-4.2-source
Architecture: all i386 powerpc source 
Version: 4.2.3-2
Distribution: unstable
Urgency: low
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Changed-By: Matthias Klose <doko@debian.org>
Description: 
 cpp-4.2    - The GNU C preprocessor
 g++-4.2    - The GNU C++ compiler
 g++-4.2-multilib - The GNU C++ compiler (multilib files)
 gcc-4.2    - The GNU C compiler
 gcc-4.2-base - The GNU Compiler Collection (base package)
 gcc-4.2-locales - The GNU C compiler (native language support files)
 gcc-4.2-multilib - The GNU C compiler (multilib files)
 gcc-4.2-source - Source of the GNU Compiler Collection
 gfortran-4.2 - The GNU Fortran 95 compiler
 gfortran-4.2-multilib - The GNU Fortran 95 compiler (multilib files)
 gobjc++-4.2 - The GNU Objective-C++ compiler
 gobjc++-4.2-multilib - The GNU Objective-C++ compiler (multilib files)
 gobjc-4.2  - The GNU Objective-C compiler
 gobjc-4.2-multilib - The GNU Objective-C compiler (multilib files)
 lib64gfortran2 - Runtime library for GNU Fortran applications (64bit)
 lib64gfortran2-dbg - Runtime library for GNU Fortran applications (64bit debug symbols
 lib64stdc++6-4.2-dbg - The GNU Standard C++ Library v3 (debugging files)
 libgfortran2 - Runtime library for GNU Fortran applications
 libgfortran2-dbg - Runtime library for GNU Fortran applications (debug symbols)
 libstdc++6-4.2-dbg - The GNU Standard C++ Library v3 (debugging files)
 libstdc++6-4.2-dev - The GNU Standard C++ Library v3 (development files)
 libstdc++6-4.2-doc - The GNU Standard C++ Library v3 (documentation files)
 libstdc++6-4.2-pic - The GNU Standard C++ Library v3 (shared library subset kit)
 treelang-4.2 - The GNU Treelang compiler
Closes: 367657 427677 442036 464365
Changes: 
 gcc-4.2 (4.2.3-2) unstable; urgency=low
 .
   [Matthias Klose]
   * Update to SVN 20080225 from the ubuntu/gcc-4_2-branch.
     - gcj: Install rmic template files. Closes: #427677.
     - Fix PR rtl-optimization/33410, ICE in iv_analyze_expr.
       Closes: #442036.
     - debian/patches/pr31868.dpatch: Remove, applied upstream.
   * Require 4.2.3-1 as a minimum dependency for the binary packages.
   * libgcj8-dev: Don't claim that the package contains the static
     libraries. LP: #163231.
   * libjava-xulrunner1.9.dpatch: Add configure check for xulrunner-1.9,
     configure with xulrunner-1.9-dev if available (Alexander Sack).
   * libgcj-doc: Don't include the examples; these cannot be built
     with the existing Makefile anyway. Addresses: #449608.
   * Manpages for gc-analyze and grmic are GFDL. Don't include these when
     building DFSG compliant packages.
   * Fix build failure building amd64 cross-target libstdc++ packages
     (Tim Bagot). Closes: #464365.
   * Fix typos in rename-info-files patch.
   * Fix PR libgcj/24170.
   * Apply proposed patch to fix root cause for PR middle-end/32889.
   * Fix PR other/28322, GCC new warnings and compatibility.
     Closes: #367657.
 .
   [Arthur Loiret]
   * gdc updates:
     - Use a new lzma-compressed tarball.
     - debian/rules.patch: Disable svn-gdc-updates.dpatch.
     - gdc-4.2-build.dpatch: Update, support gcc-4.3 as well.
     - gdc-4.2.dpatch: Update, re-enable builtin assert support.
     - gdc-driver-defaultlib.dpatch: Update.
     - gdc-fix-build.dpatch: Fix FTBFS on powerpc.
 .
   [Aurelien Jarno]
   * kbsd-gnu-ada.dpatch: update from upstream to enable ZCX on
     GNU/kFreeBSD.
Files: 
 02ad2f81a14baa5e10143f711d9ce2b2 856 devel optional gobjc++-4.2-multilib_4.2.3-2_i386.deb
 0750fc49cc6ca49d138ef16f0ed279f7 37671748 devel optional gcc-4.2-source_4.2.3-2_all.deb
 0baa70fd47db257632f341b9ab50687e 468458 libdevel extra libstdc++6-4.2-pic_4.2.3-2_i386.deb
 10bf082959e695e46f2b652e2bb4d5f2 196826 libs optional libgfortran2_4.2.3-2_i386.deb
 1595fd974eddbaadd455b419235e9454 996482 devel optional g++-4.2-multilib_4.2.3-2_i386.deb
 1cc05fd7f9853bcce7cef899365a5ef6 938 devel optional gobjc-4.2-multilib_4.2.3-2_powerpc.deb
 22b081c7893c96015a9291f4cd3adc96 2297526 devel optional treelang-4.2_4.2.3-2_i386.deb
 2c6688d16178ffdc78205fff2101798a 6616368 doc optional libstdc++6-4.2-doc_4.2.3-2_all.deb
 2c72134e4c689298356c436c7e2b8880 2016848 devel optional gcc-4.2-locales_4.2.3-2_all.deb
 3844115f475b143087a21312f12d6f57 3149038 devel optional gfortran-4.2_4.2.3-2_powerpc.deb
 3972702a3b2925ab902552c5ff18f1e4 444026 devel optional gcc-4.2_4.2.3-2_powerpc.deb
 3b09a77e6538d6f92c35ba3de75f89ad 404576 libdevel extra lib64gfortran2-dbg_4.2.3-2_powerpc.deb
 4bb2201f7ac24cedaf831eca068ced69 320210 libdevel extra libgfortran2-dbg_4.2.3-2_i386.deb
 5ee282370df97695f10f2349663ff108 197426 libs optional libgfortran2_4.2.3-2_powerpc.deb
 62f80314977d825137904340c1b8fa5c 104890 libs required gcc-4.2-base_4.2.3-2_powerpc.deb
 7044e5d50e5dd61dfc4790c401605ac5 2664684 devel optional gobjc++-4.2_4.2.3-2_i386.deb
 740db54384cf49cb239d29a460539921 5441506 libdevel extra lib64stdc++6-4.2-dbg_4.2.3-2_powerpc.deb
 75003fa825b799d8bee680935b1c4b1a 934 devel optional gobjc-4.2-multilib_4.2.3-2_i386.deb
 75274f85786c32304bd11387037c779a 406226 devel optional gcc-4.2_4.2.3-2_i386.deb
 757372c441a986b973aa0861d52daceb 4955758 libdevel extra lib64stdc++6-4.2-dbg_4.2.3-2_i386.deb
 75e9a1f056b1e4da51d82fd64d2ee5d3 243444 libs optional lib64gfortran2_4.2.3-2_powerpc.deb
 76cf774dfaec70826e69a082b4bc4ca4 1178860 devel optional g++-4.2-multilib_4.2.3-2_powerpc.deb
 7b26f674a8adf45ecd853904401d9849 2470738 interpreters optional cpp-4.2_4.2.3-2_i386.deb
 812cae37c686f5e5bfb30fcda73d8699 104906 libs required gcc-4.2-base_4.2.3-2_i386.deb
 82e8f74c13293b7255c415efd3196f6f 268124 devel optional gfortran-4.2-multilib_4.2.3-2_powerpc.deb
 880041f982eea7a27276b58c3e5e24bd 75722 devel optional gcc-4.2-multilib_4.2.3-2_powerpc.deb
 8c2eb5b7a1cc3c54082df071808b2eff 2745854 interpreters optional cpp-4.2_4.2.3-2_powerpc.deb
 90785b153678cc9edbc349d44be66085 4802128 libdevel extra libstdc++6-4.2-dbg_4.2.3-2_i386.deb
 90b270ce0f1038c72ba4210f429cb0f4 2540830 devel optional gobjc-4.2_4.2.3-2_i386.deb
 94bb19b579caa399fec22b8eb80eaad6 2840454 devel optional gobjc-4.2_4.2.3-2_powerpc.deb
 ad780fbc23c33cb626b98207ecced41e 2314 devel optional gcc-4.2_4.2.3-2.dsc
 b31fa4e2bb434e20d7bf1e9bbf5c72b3 3078364 devel optional g++-4.2_4.2.3-2_powerpc.deb
 b6f3d66561de8e40730b7cb5434348eb 2780624 devel optional g++-4.2_4.2.3-2_i386.deb
 baccec8c957ce848620d548f8d21040a 1183056 libdevel optional libstdc++6-4.2-dev_4.2.3-2_i386.deb
 bd81a166694e2b709e0a8d32c2840f57 1259748 libdevel optional libstdc++6-4.2-dev_4.2.3-2_powerpc.deb
 c02cdc8d17cd71e8d0a442c30f1f54a9 559168 devel optional gcc-4.2_4.2.3-2.diff.gz
 c53d27c18b5a272f98f9c562697a7745 341302 libdevel extra libgfortran2-dbg_4.2.3-2_powerpc.deb
 caba67d90d20c1a5103139a16dee928a 2958066 devel optional gobjc++-4.2_4.2.3-2_powerpc.deb
 d0d192fcbd1f3e19bd06e0b1ace92353 223248 libs optional lib64gfortran2_4.2.3-2_i386.deb
 d810675a29bfe0d1ef9d733bb373732d 2550634 devel optional treelang-4.2_4.2.3-2_powerpc.deb
 d93272a91b5a0b2fbe92e7fcca41b852 408480 libdevel extra lib64gfortran2-dbg_4.2.3-2_i386.deb
 e7d826a5c45c5a60afa2c085d6cf4a94 531310 libdevel extra libstdc++6-4.2-pic_4.2.3-2_powerpc.deb
 eeb654243caae7471df7f686e2c1a2c1 856 devel optional gobjc++-4.2-multilib_4.2.3-2_powerpc.deb
 ef0fa3d8ac05a4ad5dac914eb85128f3 260468 devel optional gfortran-4.2-multilib_4.2.3-2_i386.deb
 f10e2f35a348d8ae0ef4e0bcc92a0333 2834056 devel optional gfortran-4.2_4.2.3-2_i386.deb
 f72542f1e6a2681c0822d1f5aa18a3f4 5270760 libdevel extra libstdc++6-4.2-dbg_4.2.3-2_powerpc.deb
 fff683315f247246c27973092e778c2a 57178 devel optional gcc-4.2-multilib_4.2.3-2_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHxC1eStlRaw+TLJwRAhFEAJ48er6/WBJ/KcRJvZZ/6Zv+rWz06gCgsJjw
pbn89TUK/PCvU2dEzxSEX5E=
=/drH
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: