On Tue, 4 Sep 2007, Yar Tikhiy wrote:
> I must withdraw my argument against alias versions. My problem
> with them appeared to stem from a typo in "__weak_reference" I'd
> inherited from your example. :-)
> It's funny that the compiler emitted just a vague warning:
> foo.c:12: warning: data definition has no type or storage class
> foo.c:12: warning: parameter names (without types) in function declaration
> and the typo remained unnoticed until I saw it by accident.
> Now I'll investigate if macros can help us to have right versions
> in branches and HEAD... Do you think there is a non-hackish way
> to see if we're on a STABLE branch? __FreeBSD_version doesn't seem
> to provide the information until after the first release from the
> branch has been cut.
I can't think of anything. The other problem is that we may need
to MFC an ABI change before -current is branched. When that happens,
the RELENG_X version (FBSD_1.?) also needs to exist in -current.
Other ABI changes in -current should remain in the hidden or temporary
(or whatever we call it) version.
I'm still unconvinced that this method is worth the effort or
confusion level ;-)
> OTOH, we should't dump ObsoleteVersions completely because we may
> need it, too, e.g., when we didn't plan to break an ABI twice in a
> row but have to.
OK, but I suppose you could just create the file when it is needed
for the first time.