So what happens is that gcc-libs-16 has a @pkgpath to gcc-libs-15, so
it's an update candidate for gcc-libs.
By default the update mechanism only keeps the most recent version, so
it will converge on gcc-libs-16.
The problem is that most ports depending on gcc-libs have a strict PKGSPEC
to gcc-libs->=15,<16 (say, cfitsio)
Thus the update mechanism will figure an updateset with
cfitsio,gcc-libs-15 -> cfitsio,gcc-libs-16
which is of course impossible, and will currently result in an impossible
loop (shouldn't happen, I will try to figure out a detection mechanism).
There is a work-around: you can use pkg_add -u -Dallversions
which will disable the choice of "the most recent" update, and will allow you
to choose (manually) gcc-libs-15 for your update.
...
and wait for new gcc-16 packages to appear.
A smarter solution is out of the realms of possibilities: the design of
pkg_add dependencies tries very hard to avoid becoming a SAT-solver.
--
Marc