Stefan Teleman wrote: > > > Garrett D'Amore wrote: >> John Plocher wrote: >>> Nicolas Williams wrote: >>>> It would be >>>> nice if we could avoid revisiting this every time a project comes >>>> along >>>> to integrate some C++ library. >>> >>> We already have a stake in this sandbox: >>> >>> Don't use g++ to build/deliver C++ libraries on *Solaris, >>> period. Use Studio's C++ instead. >> >> Oh, cool! Do you happen to know offhand what the case number for >> that opinion would be? >> > > PSARC/2002/348 (International Components for Unicode). >
Thank you. I don't see Gnu C++ mentioned explicitly, but it seems like some specific comments were made about compiler flags, etc. that necessarily preclude Gnu C++. Please review the last paragraph in section 4.1.8. I don't know if the policy has been superseded, but the case clearly recognizes the binary compatibility problems, and tried to set a policy against Evolving or Stable. (Which today would mean Committed.) I take that precedent to mean that it would be inappropriate for any binary compatibility level to be granted beyond Uncommitted. And Consolidation or Project Private seems even better (the case recommends this), with individual contracts for specific use outside of the consolidation or project. If this case wishes to propose a new C++ Standard library, with a higher level of binary stability, then I think it would be appropriate to escalate this to a full case. The full case would describe how the binary compatibility guarantees would be used, and might then create itself a precedent for how middleware C++ could solve the binary compatibility problem. It would necessarily need to involve input from both compiler teams and the project team (and possibly potential consumers such as KDE as well.) I guess at this point, I have the feeling that we need a way to standardize upon a single C++ ABI, combining the results of the C++ compiler implementation *and* the "standard" libraries. This feels like something that needs to be resolved with a scope that falls well outside the fair bounds of a fast track. Right now, it doesn't seem like any of our binary compatibility guarantees apply to any dynamically linked C++ code, and this case (as proposed) proposes to set new precedent here. Alternatively, if this library were delivered within a project or consolidation, not for use outside of the project/consolidation (and no additional "public" C++ library dependencies were exposed otuside of the project/consolidation), then I'd be OK with this as a fast track. That would rescope this effort rather drastically, but then it would also suggest that this particular project should deliver as part of a larger whole such as KDE, rather than as a separate case unto itself. -- Garrett