gcc-16 bugs
Almost exactly a year passed since my previous
pile report. gcc-16 was
branched off
from master and will receive only regression fixes. master is called
gcc-17 now.
Instead of posting incremental updates at arbitrary tine I’ll try yearly ones. That should cover all the bugs I saw in a release cycle in a single post.
Summary
During gcc-16 cycle I found 31 bug:
libstdc++/119970:mingw32libstdc++build failure (buffer handling)target/119929:mipsbuild failuretarget/120036:gccICE onhighway-1.2.0(float16related)c/120060:gccICE onbash-5.2(deprecated declarations)libstdc++/120147:mingw32libstdc++build failure (configure variable leak bug)c++/120185:gcccrash onnss-3.11, c++ template instantiation bugsc++/120504:gccnow fails to build some forms of template code with partially defined typestarget/120697:ICEinix86_expand_prologuetarget/120830:ICEinsubreg3pass onhighway-1.2.0andsvt-av1.tree-optimization/120929: fortify failure onfiledue to object size mis-estimationdiagnostics/121260:--enable-checking=release#ifdefery failurestarget/121572:mpfrandpythonTLS descriptor clobberstarget/121635:nodejsICEin TLS lifterlibgcc/121718: unexpected requirement of-lmon-Decimal128arithmeticlibgcc/122198:gccICEinGCfortran/122257:fortranbootstrap failure,-Werror=tree-optimization/122301:dav1d-1.5.1ICEingccvectorizer.tree-optimization/122376:graphvizICEon vectorizertree-optimization/no-bug: ICE fix inmesa(fixed before the report), vectorizertree-optimization/122406:ICEonnumpy, vectorizertree-optimization/122502:ICEonsystemd-258.1andffmpeg-8.0,sccpafterclzadditionlibstdc++/122903:gjsbuild failure, ended up beinggjsbugtarget/123032:libsodiumwrong code on vectorizertree-optimization/123043:zlibwrong code andICEin vectorizerrtl-optimization/123267:gccownICE(tzdb)ipa/123543:ipabug causes wrong code on-O3forpython,libgit2,graphite2, etc.target/123725:highway-1.3.0-O3build failure onaarch64-linux.tree-optimization/123803:gcc-6.3.0ICE with-fno-strict-overflowinslsrc/123882:wlrootsbuild failure aroundrestrictkeywordfortran/no-bug:openblasICE ingfortrantree-optimization/124875:llvm-22.1.2wrong code on test suite
Fun Bugs
All wrong code seen at runtime of compiled programs were fun to extract. Minimized examples are not very pretty to look sat. I’ll just leave the links here:
target/123032:libsodiumwrong code on vectorizertree-optimization/123043:zlibwrong code andICEin vectorizeripa/123543:ipabug causes wrong code on-O3forpython,libgit2,graphite2, etc.tree-optimization/124875:llvm-22.1.2wrong code on test suite
Histogram
This time I got most bugs from tree-optimization subsystem:
tree-optimization: 9target: 8libstdc++: 2c: 2c++: 2libgcc: 2fortran: 2diagnostics: 1ipa: 1rtl-optimization: 1
Almost as many bugs came up in target-specific areas.
Parting Words
gcc-master is still able to produce new interesting bugs.
31 bug per year is slightly more than one bug per week. It feels like a lot given how little time I spend to extract the samples.
Of 31 bugs I saw I reported 22. The rest were caught (and sometimes
already fixed!) by others by the time I got to them.
Have fun!