Hi Nathan, > As Rainer pointed out, there were some regressions in the library tests. > That's because we didn't build the correct ehspec for __cxa_atexit. > This adds that, but also, I realize we can use the 'hidden' flag on > pushdecl to make this lazy-builtin not visible to user name lookup > without them already declaring it. And I realized we should be setting the > location as BUILTIN_LOCATION because that's what we're doing. Finally the > duplicate_decl processing needed augmenting to allow such a lazy builtin's > eh spec to differ from one already known. (The converse is already dealt > with, as that's the only case we had before.) > > As I mentioned in the first patch, a cleanup of the 'lazily declare a > builtin' API would be a nice stage-1 thing. > > I'll hold off applying this until next week. Rainer, I don't yet know if > this resolves all of the issues you encountered in the PR.
unfortunately, the results are not very encouraging: while the new libstdc++ failures caused by the v1 patch are gone, the g++.dg/modules ICEs remain unchanged, and on Solaris 11.3 (or with -fno-use-cxa-atexit), the new tests ICE, too. Full details in the PR. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University