Travis Vitek wrote:

[...]

Just FYI, this is covered in STDCXX-608.

Yes, I agree. This appears to be a problem with the single-threaded tests
only. All of The threaded tests that I looked at use only the first 16 or 32
locales returned by rw_locales(). The threaded tests fail due to timeout
also, but this is likely because the loop count is so very large [200000
iterations per thread for some].

The rw_locales() method already seems to support filtering the locale list
with `grep', so it appears that only the tests need to be modified.

Yeah, the grep filter is there but it doesn't work on Windows and
it's not quite portable.

I'd like to get rid of the "grep feature" and replace it with
something reliable. E.g., an interface that I could pass a set of
standard locale names (in the format of <language>_<COUNTRY>) and
or a set of encodings and have it pull up those that match not
using a lexicographical comparison but by intelligently mapping
the standard names to the native ones used on each platform).

That way I could call rw_locales() for example like so:

    rw_locales (0, 0, "UTF-8");

to give me the names of all locales encoded in UTF-8. Or maybe
like so:

    rw_locales (0, "de_CH en", 0);

to find all German locales for Switzerland in all encodings, and
also all English locales for all countries in any encoding. Etc.

Or something along those lines...

But I don't want us to have to hardcode different sets of locale
and codeset names for each platform in every set, and I don't
think that just taking the first N lines of locale -a output is
a good solution either.

Martin

Reply via email to