http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13631
--- Comment #32 from Sam Varshavchik <mr...@courier-mta.com> 2011-05-05 22:25:50 UTC --- Created attachment 24196 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24196 Sample test program Here's a simple test program that I threw together. It uses the message catalog from libc and gnupg, both of which should be widely available, and both have extensive localization where anyone can find a good test case in their native tongue, that they can verify. I've used the ru_RU locale for testing purposes, but you can use any locale where the two sample strings have been localized. >From the trunk, the third string printed by the test program comes out unlocalized. There's your breakage. The existing breakage is that open() sets the domain globally, the second open() stomps all over the first one, and the third call to get() ends up looking in the wrong domain. After applying Paolo's rebased patch to the trunk, the third string from the test program is now the same string as the first string, which is the expected result. That's all the testing I've done so far, but it looks good.