__STDC_ISO_10646__ missing in glibc-2.1.91

Markus Kuhn Markus.Kuhn@cl.cam.ac.uk
Wed Aug 9 01:45:00 GMT 2000


ISO/IEC 9989:1999 says in section 6.10.8 (Predefined macro names)

       __STDC_ISO_10646__ An integer constant of the  form  yyyymmL
                (for  example,  199712L), intended to indicate that
                values   of   type   wchar_t    are    the    coded
                representations   of   the  characters  defined  by
                ISO/IEC 10646,  along  with  all   amendments   and
                technical  corrigenda  as of the specified year and
                month.

This constant obviously has to be defined with glibc 2.2, where wchar_t
is intended to hold only ISO 10646 values.

I couldn't find that string anywhere in glibc-2.1.91.tar. Since it is a
locale issue, I guess this should be defined by the C library rather
than the compiler (but then that might conflict with the requirement
that it is defined before any #include ...). How will this be handled?

If the locale tables are based on Unicode 3.0, then

  __STDC_ISO_10646__ > 200000L

should hold. The editor of the standard Michael Everson <everson@egt.ie>
should be asked, what the actual publication month of ISO/IEC
10646-1:2000 printed on the cover of the standard will be to find the
correct value of __STDC_ISO_10646__ for glibc 2.2, but something like
200005L should do for the alpha test.

Markus

-- 
Markus G. Kuhn, Computer Laboratory, University of Cambridge, UK
Email: mkuhn at acm.org,  WWW: < http://www.cl.cam.ac.uk/~mgk25/ >



More information about the Libc-alpha mailing list