Fedora Clang Build Report - March 2020


I'm one of the maintainers of the clang package in the Fedora Linux distribution,
and we've been working on setting up some testing infrastructure to build
all of the packages in the Fedora Linux distribution with clang.

In Fedora, the system compiler is gcc, so all (with a few exceptions) of the
of the binary packages shipped in Fedora are built with gcc. These packages are
a valuable test bed for gcc, and we think they can be useful as test
cases for clang too.

Our testing infrastructure is now ready to do regular builds, so I wanted
to share with the community our latest results. Below you can find a summary
of the latest builds along with links to a more detailed summary as well
as the raw log files generated by the builds.

A few notes about the summaries:

* We only build packages with C/C++ code.
* We skip packages that fail to build with gcc, these packages are counted as
SKIP in the summaries.
* Packages that fail with the error 'was not built with clang' are packages
that despite our best efforts were still built with gcc. There are a number
of reasons this can happen, but it's usually caused by packages that either
hard-code gcc in their build system or by Fedora packaging scripts that don't
allow us to override the C and C++ compilers. In order to verify that binaries
are built by clang, we use this script[1].

* Summary:

TOTAL: 6297 PASS: 4440 FAIL: 1482 SKIP: 375

* Compiler Version:

clang version 10.0.0 (Fedora 10.0.0-0.11.rc6.fc33)

* Top 20 Failure Causes:

954 : was not built with clang
219 : Unknown
39 : error:.*[-Wc++11-narrowing]
36 : error:.*[-Wreserved-user-defined-literal]
34 : error: Bad exit status from.*(%check)
23 : error:.*[-Wreturn-type]
15 : error: ordered comparison between pointer and zero
11 : .*.o: file not recognized: file format not recognized
10 : fatal error: '.*.h' file not found
10 : error: conflicting types for
9 : configure: error: C compiler cannot create executables
8 : error:.*[-Werror,-Wunknown-warning-option]
8 : error: function definition is not allowed here
7 : error: .* [-Werror,-Wunused-command-line-argument]
6 : error: use of undeclared identifier
5 : error:.*[-Werror,-Wformat-nonliteral]
5 : error: unknown argument: '-fstack-clash-protection'
5 : error adding symbols: archive has no index;
4 : unsupported argument '--generate-missing-build-notes=yes' to option 'Wa
4 : libtool: compile: unable to infer tagged configuration
4 : File not found: /builddir/build/BUILDROOT
4 : error: no viable conversion from '.*' to '.*'

Full Summary: https://fedorapeople.org/~tstellar/clang-builds-200401/stats.fedora.txt
Build Logs: https://fedorapeople.org/~tstellar/clang-builds-200401/archive.zip
[1] https://fedorapeople.org/~tstellar/verify-clang-cc