This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Status of GCC 6 on x86_64 (Debian)
- From: Martin Michlmayr <tbm at hpe dot com>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 21 Jan 2016 21:09:03 -0800
- Subject: Status of GCC 6 on x86_64 (Debian)
- Authentication-results: sourceware.org; auth=none
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