This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Status of GCC 6 on x86_64 (Debian)


Matthias Klose did an archive rebuild of Ubuntu with GCC 6 recently [1].
He wanted to file bugs in Debian and so I offered to do a build of
Debian unstable.  This was done with GCC 6 20160117 as packaged for
Debian by Matthias.  I built 11,500 Debian packages.

I ran into the following compiler errors:

* ICE in fold_convert_loc, at fold-const.c:2366 (PR69379): new, fix
  available

* ICE in dwarf2out_finish, at dwarf2out.c:27175 (PR69393): new, outstanding

* ICE in get_initial_def_for_reduction, at tree-vect-loop.c:4196
  (PR69166): reported by Matthias, outstanding

* ICE in assign_temp, at function.c:961 (PR69241): known, outstanding

* Wrong code generation at -O2 and higher (PR69320): known, fixed

Afterwards, I took all packages that compiled successfully with GCC 6
and compiled them with dpkg-buildflags set to -O3 (note that not every
package uses flags from dpkg-buildflags but many do).  I ran into the
following compiler errors:

* ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1379 (PR69328):
  known, fixed

* ICE in rewrite_use_nonlinear_expr, at tree-ssa-loop-ivopts.c:7086
  (PR68021): known, outstanding

* ICE in maybe_legitimize_operand, at optabs.c:6888 (PR69421): new,
  outstanding

This was done on x86_64.  I'd also like to do an archive build on arm64.

I'm impressed by the speed the GCC developers have been looking at these
bugs!

In terms of build failures, I reported 520 bugs to Debian.  Most of them
were new GCC errors or warnings (some packages use -Werror and many
-Werror=format-security).

Here are some of the most frequent errors see:

* 77: error: narrowing conversion of '128' from 'int' to 'char' inside { } [-Wnarrowing]
* 73: error: no match for or error: no matching function for call to
* 65:
  error: cannot convert 'bool' to '...' in return
  error: cannot convert 'std::basic_istream<char>' to 'bool' in initialization
  error: could not convert 'false' from 'bool' to '...'
* 36: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
* 16: error: 'xxx' defined but not used [-Werror=unused-const-variable]
* 16: error: reference to '...' is ambiguous
* 13: test suite failures (segfaults and similar); not clear if the
  package or if GCC is at fault.
* 12: error: enumerator value for '...' is not an integer constant expression [-Wpedantic]
* 12: error: call of overloaded ... is ambiguous
* 9: 'xxx' needed for in-class initialization of static data member
* 9: error: '...' was not declared in this scope
* 8: error: unknown type name
* 8: error: unable to find string literal operator
* 8: cmake failure (cmake configure scripts fail)
* 6: error: macro "..." passed 2 arguments, but takes just 1
* 3: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix]
* 3: error: template argument X is invalid

[1] https://gcc.gnu.org/ml/gcc/2016-01/msg00101.html

-- 
Martin Michlmayr
Linux for HPE Helion, Hewlett Packard Enterprise


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]