libio bugs

Mark Mitchell mmitchell@usa.net
Tue Feb 10 14:45:00 GMT 1998


>>>>> "Andreas" == Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> writes:

    Andreas> Mark Mitchell <mmitchell@usa.net> writes:

    Andreas> |> Ah, I see.  But initializer labels are a g++
    Andreas> extension.  Perhaps it |> would be simpler simply to
    Andreas> issue an error message on any use of |> initializer
    Andreas> labels?

    Andreas> That would probably the best until G++ is fixed, or the
    Andreas> new C9x way of doing it is implemented (which is already
    Andreas> partly implemented in the C frontend).

    Andreas> |> Is the point of this to allow out-of-order |>
    Andreas> initialization of the members?

I'm about to submit a patch that disables initializer labels in C++
(since they are a non-working non-standard extension), and remove the
uses of them in libio.  Is that OK?  Are there problems with
link-compatibility, i.e., does naming the fields in struct printf_info
make sure that they are initialized in some order different than the
order that would be specified by the usual initialization syntax?  (I
note that the current initialization order is exactly the same as that
in GLIBC 2.)

    Andreas> Yes.

    Andreas> |> Why is there code in libio that uses |> this
    Andreas> extension?

    Andreas> Probably because it works well in C, and nobody has yet
    Andreas> noticed that it is broken in C++.

    Andreas> |> Is there other C++ code that uses this extension?

    Andreas> I'm not aware of any.

    Andreas> -- Andreas Schwab "And now for something
    Andreas> schwab@issan.informatik.uni-dortmund.de completely
    Andreas> different" schwab@gnu.org

-- 
Mark Mitchell		mmitchell@usa.net
Stanford University	http://www.stanford.edu




More information about the Gcc mailing list