diff mbox

[libstdc++,testsuite] many locale tests only SUPPORTED on linux, start making these portable

Message ID 5620C18D.30301@marino.st
State New
Headers show

Commit Message

John Marino Oct. 16, 2015, 9:21 a.m. UTC
There are a few issues with the locales portion of the libstdc++
testsuite.  These issues stem from the fact that much about locales are
not standardized, such as the names of the encodings, how to handle
abbreviated versions of named locales, and modifiers (e.g. @euro,
@preeuro).  Compounding the problem is that many of test themselves are
Linux specific.

The attached large patch makes a dent with an effort to resolve this
issues.  This patch has been scoped to only standardise the names of the
locales.  There is no net effect on Linux, but it allows many more tests
to be considered on other systems, including *BSD.

Some types of changes are:
1) convert abreviations to full names (e.g. "de_DE" => "de_DE@ISO8859-15
2) Use ISO-8859-15 over ISO-8859-1 in European locales when possible
3) Use "UTF-8" over variations like "utf8"
4) Use "ISO8859" over "ISO-8859"

on these last two, Linux is case-insensitive and hyphen-insensitive with
respect to named locales where other systems like BSD have only one
version that must be explicitly used.  Since encoding names are not
standardised, we've picked a lowest common denominator that works.

5) case changes for eucJP
6) convert tests that specified "@euro" modifier to a new ISO_8859 macro
can produces a named locale as a function of system (currently
FreeBSD/DragonFly/NetBSD and everything else but the tailoring is not
limited).  This fixes systems that don't support @euro modifier

There is a lot more work that cant be done to open up libstdc++ locale
tests to non-Linux systems, but given the size of this patch, I wanted
to limit it's scope to only modifying to the name locale specification. 
There are many more modifications that could be made to the test
themselves to make them portable to non-linux systems but I think they
are better made with separate patches.

Andreas Tobler has done a lot of review and testing on both FreeBSD and
linux (to verify no regressions), and Jonathan Wakely has done an
initial review and said it was ready for a broader review now.

Thanks,
John

Comments

Jonathan Wakely Nov. 11, 2015, 9:51 p.m. UTC | #1
On 16/10/15 11:21 +0200, John Marino wrote:
>There are a few issues with the locales portion of the libstdc++
>testsuite.  These issues stem from the fact that much about locales are
>not standardized, such as the names of the encodings, how to handle
>abbreviated versions of named locales, and modifiers (e.g. @euro,
>@preeuro).  Compounding the problem is that many of test themselves are
>Linux specific.
>
>The attached large patch makes a dent with an effort to resolve this
>issues.  This patch has been scoped to only standardise the names of the
>locales.  There is no net effect on Linux, but it allows many more tests
>to be considered on other systems, including *BSD.
>
>Some types of changes are:
>1) convert abreviations to full names (e.g. "de_DE" => "de_DE@ISO8859-15
>2) Use ISO-8859-15 over ISO-8859-1 in European locales when possible
>3) Use "UTF-8" over variations like "utf8"
>4) Use "ISO8859" over "ISO-8859"
>
>on these last two, Linux is case-insensitive and hyphen-insensitive with
>respect to named locales where other systems like BSD have only one
>version that must be explicitly used.  Since encoding names are not
>standardised, we've picked a lowest common denominator that works.
>
>5) case changes for eucJP
>6) convert tests that specified "@euro" modifier to a new ISO_8859 macro
>can produces a named locale as a function of system (currently
>FreeBSD/DragonFly/NetBSD and everything else but the tailoring is not
>limited).  This fixes systems that don't support @euro modifier
>
>There is a lot more work that cant be done to open up libstdc++ locale
>tests to non-Linux systems, but given the size of this patch, I wanted
>to limit it's scope to only modifying to the name locale specification.
>There are many more modifications that could be made to the test
>themselves to make them portable to non-linux systems but I think they
>are better made with separate patches.
>
>Andreas Tobler has done a lot of review and testing on both FreeBSD and
>linux (to verify no regressions), and Jonathan Wakely has done an
>initial review and said it was ready for a broader review now.

I asked some colleagues to look at this too (a few weeks ago now,
before I went on vacation).

The only significant comment was:

e.g. `"de_DE" => "de_DE@ISO8859-15` should be `e.g. "de_DE" => "de_DE.ISO8859-15"` ? Since it's an encoding, @ is used for a modifier.
FYI, https://www.ietf.org/rfc/rfc4646.txt
John Marino Nov. 11, 2015, 9:53 p.m. UTC | #2
On 11/11/2015 10:51 PM, Jonathan Wakely wrote:
> On 16/10/15 11:21 +0200, John Marino wrote:
> 
> The only significant comment was:
> 
> e.g. `"de_DE" => "de_DE@ISO8859-15` should be `e.g. "de_DE" =>
> "de_DE.ISO8859-15"` ? Since it's an encoding, @ is used for a modifier.
> FYI, https://www.ietf.org/rfc/rfc4646.txt
> 

It's a good catch; that looks like a typo.  Did that appear in more than
one place?

What are the next steps then?

Thanks,
John
Jonathan Wakely Nov. 11, 2015, 10:12 p.m. UTC | #3
On 11/11/15 22:53 +0100, John Marino wrote:
>On 11/11/2015 10:51 PM, Jonathan Wakely wrote:
>> On 16/10/15 11:21 +0200, John Marino wrote:
>>
>> The only significant comment was:
>>
>> e.g. `"de_DE" => "de_DE@ISO8859-15` should be `e.g. "de_DE" =>
>> "de_DE.ISO8859-15"` ? Since it's an encoding, @ is used for a modifier.
>> FYI, https://www.ietf.org/rfc/rfc4646.txt
>>
>
>It's a good catch; that looks like a typo.  Did that appear in more than
>one place?

Dunno, I'd have to grep for it.

>What are the next steps then?

I think we can go ahead and make this change, I'll try to get it
committed tomorrow or Friday.
Jonathan Wakely Nov. 13, 2015, 3:26 p.m. UTC | #4
On 11/11/15 22:12 +0000, Jonathan Wakely wrote:
>On 11/11/15 22:53 +0100, John Marino wrote:
>>On 11/11/2015 10:51 PM, Jonathan Wakely wrote:
>>>On 16/10/15 11:21 +0200, John Marino wrote:
>>>
>>>The only significant comment was:
>>>
>>>e.g. `"de_DE" => "de_DE@ISO8859-15` should be `e.g. "de_DE" =>
>>>"de_DE.ISO8859-15"` ? Since it's an encoding, @ is used for a modifier.
>>>FYI, https://www.ietf.org/rfc/rfc4646.txt
>>>
>>
>>It's a good catch; that looks like a typo.  Did that appear in more than
>>one place?
>
>Dunno, I'd have to grep for it.
>
>>What are the next steps then?
>
>I think we can go ahead and make this change, I'll try to get it
>committed tomorrow or Friday.

I'm committing the patch from
https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01546.html
with a tiny whitespace change (just removing some spaces at the end of
a line, which Git complained about).

Tested powerpc64le-linux, committed to trunk.  Changelog attached.
2015-11-13  John Marino  <gnugcc@marino.st>

	* testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc:
	Use portable locale name
	* testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
	* testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/codecvt_byname/50714.cc: Likewise.
	* testsuite/22_locale/collate/compare/char/1.cc: Likewise.
	* testsuite/22_locale/collate/compare/char/2.cc: Likewise.
	* testsuite/22_locale/collate/compare/char/3.cc: Likewise.
	* testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/collate/hash/char/2.cc: Likewise.
	* testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/collate/transform/char/2.cc: Likewise.
	* testsuite/22_locale/collate/transform/char/3.cc: Likewise.
	* testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
	* testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/2.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/facet/2.cc: Likewise.
	* testsuite/22_locale/locale/cons/12352.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/22_locale/locale/cons/2.cc: Likewise.
	* testsuite/22_locale/locale/cons/38365.cc: Likewise.
	* testsuite/22_locale/locale/cons/38368.cc: Likewise.
	* testsuite/22_locale/locale/cons/4.cc: Likewise.
	* testsuite/22_locale/locale/cons/40184.cc: Likewise.
	* testsuite/22_locale/locale/cons/7.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
	* testsuite/22_locale/messages/13631.cc: Likewise.
	* testsuite/22_locale/messages/members/char/1.cc: Likewise.
	* testsuite/22_locale/messages/members/char/2.cc: Likewise.
	* testsuite/22_locale/messages/members/char/3.cc: Likewise.
	* testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/messages/members/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/1.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/10.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/11.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/12.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/13.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/15.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/16.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/17.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/18.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/2.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/3.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/4.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/moneypunct/40712.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/char/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/moneypunct_byname/named_equivalence.cc:
	Likewise.
	* testsuite/22_locale/num_get/get/char/1.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/3.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/5.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/6.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/9.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/5.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
	* testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
	* testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/numpunct/members/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
	* testsuite/22_locale/time_get/date_order/char/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/time_get/get/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
	Likewise.
	* testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
	Likewise.
	* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
	* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
	Likewise.
	* testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
	* testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
	* testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
	* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
	* testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
	* testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
	* testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
	* testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
	* testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
	* testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc:
	Likewise.
	* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
	* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Check
	for named locale as appropriate for target.
	* testsuite/util/testsuite_hooks.h (ISO_8859): Define macro to form
	target's preferred form of locale name.
diff mbox

Patch

Index: libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-1" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -27,7 +27,7 @@ 
 // Required instantiation
 // codecvt<wchar_t, char, mbstate_t>
 //
-// Baseline test in ISO-8859-1 locale
+// Baseline test in ISO8859-1 locale
 void test02()
 {
   using namespace std;
@@ -34,7 +34,7 @@ 
   bool test __attribute__((unused)) = true;
   typedef codecvt<wchar_t, char, mbstate_t> 	w_codecvt;
 
-  locale loc = locale("en_US.ISO-8859-1");
+  locale loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
Index: libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -27,7 +27,7 @@ 
 // Required instantiation
 // codecvt<wchar_t, char, mbstate_t>
 //
-// Baseline test in ISO-8859-15 locale
+// Baseline test in ISO8859-1 locale
 void test03()
 {
   using namespace std;
@@ -34,7 +34,7 @@ 
   bool test __attribute__((unused)) = true;
   typedef codecvt<wchar_t, char, mbstate_t> 	w_codecvt;
 
-  locale loc = locale("en_US.ISO-8859-15");
+  locale loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
Index: libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-1" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -27,7 +27,7 @@ 
 // Required instantiation
 // codecvt<wchar_t, char, mbstate_t>
 //
-// Test do_encoding with ISO-8859-1 locale.
+// Test do_encoding with ISO8859-1 locale.
 void test02()
 {
   using namespace std;
@@ -34,12 +34,12 @@ 
   typedef codecvt<wchar_t, char, mbstate_t> 	w_codecvt;
   bool test __attribute__((unused)) = true;
 
-  locale loc = locale("en_US.ISO-8859-1");
+  locale loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
   int i = cvt->encoding();
-  VERIFY( i == 1 ); // ISO-8859-1 is a single-byte encoding
+  VERIFY( i == 1 ); // ISO8859-1 is a single-byte encoding
 }
 
 int main ()
Index: libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -27,7 +27,7 @@ 
 // Required instantiation
 // codecvt<wchar_t, char, mbstate_t>
 //
-// Test do_encoding with ISO-8859-15 locale.
+// Test do_encoding with ISO8859-1 locale.
 void test03()
 {
   using namespace std;
@@ -34,12 +34,12 @@ 
   typedef codecvt<wchar_t, char, mbstate_t> 	w_codecvt;
   bool test __attribute__((unused)) = true;
 
-  locale loc = locale("en_US.ISO-8859-15");
+  locale loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
   int i = cvt->encoding();
-  VERIFY( i == 1 ); // ISO-8859-15 is a single-byte encoding
+  VERIFY( i == 1 ); // ISO8859-1 is a single-byte encoding
 }
 
 int main ()
Index: libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-1" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -41,7 +41,7 @@ 
 // Required instantiation
 // codecvt<wchar_t, char, mbstate_t>
 //
-// Baseline test for ISO-8859-1. Converts entire charset.
+// Baseline test for ISO8859-1. Converts entire charset.
 void test02()
 {
   using namespace std;
@@ -90,7 +90,7 @@ 
   wmemset(i_ref, 0xdeadbeef, size + 1);
   int_type*		ito_next;
 
-  locale loc = locale("en_US.ISO-8859-1");
+  locale loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
Index: libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-1" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -63,7 +63,7 @@ 
     "\xff";
   int 			size = strlen(e_lit);
 
-  locale  loc = locale("en_US.ISO-8859-1");
+  locale  loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
Index: libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -63,7 +63,7 @@ 
     "\xff";
   int 			size = strlen(e_lit);
 
-  locale loc = locale("en_US.ISO-8859-15");
+  locale loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
Index: libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-1" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -32,12 +32,12 @@ 
   bool test __attribute__((unused)) = true;
   typedef codecvt<wchar_t, char, mbstate_t> 	w_codecvt;
 
-  locale  loc = locale("en_US.ISO-8859-1");
+  locale  loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
   int k = cvt->max_length();
-  VERIFY( k == 1 ); // ISO-8859-1 is a single-byte encoding
+  VERIFY( k == 1 ); // ISO8859-1 is a single-byte encoding
 }
 
 int main ()
Index: libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -32,12 +32,12 @@ 
   bool test __attribute__((unused)) = true;
   typedef codecvt<wchar_t, char, mbstate_t> 	w_codecvt;
 
-  locale loc = locale("en_US.ISO-8859-15");
+  locale loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
   int k = cvt->max_length();
-  VERIFY( k == 1 ); // ISO-8859-15 is a single-byte encoding
+  VERIFY( k == 1 ); // ISO8859-1 is a single-byte encoding
 }
 
 int main ()
Index: libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-1" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -88,7 +88,7 @@ 
   memset(e_ref, 0xf0, size + 1);
   ext_type*		eto_next;
 
-  locale  loc = locale("en_US.ISO-8859-1");
+  locale  loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
Index: libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-1" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -60,7 +60,7 @@ 
   memset(e_ref, 0xf0, size + 1);
   ext_type*		eto_next;
 
-  locale loc = locale("en_US.ISO-8859-1");
+  locale loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
Index: libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-1" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -73,7 +73,7 @@ 
   memset(e_ref, 0xf0, size + 1);
   ext_type*		eto_next;
 
-  locale loc = locale("en_US.ISO-8859-1");
+  locale loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
Index: libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
 
@@ -87,7 +87,7 @@ 
   memset(e_ref, 0xf0, size + 1);
   ext_type*		eto_next;
 
-  locale loc = locale("en_US.ISO-8859-15");
+  locale loc = locale(ISO_8859(1,en_US));
   locale::global(loc);
   const w_codecvt* 	cvt = &use_facet<w_codecvt>(loc); 
 
Index: libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/codecvt_byname/50714.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/codecvt_byname/50714.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/codecvt_byname/50714.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // Copyright (C) 2011-2015 Free Software Foundation, Inc.
 //
@@ -19,6 +19,7 @@ 
 
 #include <locale>
 #include <ext/pod_char_traits.h>
+#include <testsuite_hooks.h>
 
 #define mychar __gnu_cxx::character<unsigned short, int>
 
@@ -84,7 +85,7 @@ 
   }
   {
     locale loc2(locale::classic(),
-		new codecvt_byname<mychar, char, mbstate_t>("de_DE"));
+		new codecvt_byname<mychar, char, mbstate_t>(ISO_8859(15,de_DE)));
   }
 }
 
Index: libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -36,9 +36,9 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_us = locale("en_US");
-  locale loc_fr = locale("fr_FR");
-  locale loc_de = locale("de_DE");
+  locale loc_us = locale(ISO_8859(1,en_US));
+  locale loc_fr = locale(ISO_8859(15,fr_FR));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
   VERIFY( loc_us != loc_fr );
   VERIFY( loc_us != loc_de );
Index: libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -26,7 +26,7 @@ 
 #include <locale>
 #include <testsuite_hooks.h>
 
-// Check German "de_DE" locale.
+// Check German "de_DE.ISO8859-15" locale.
 void test02()
 {
   using namespace std;
@@ -36,9 +36,9 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_us = locale("en_US");
-  locale loc_fr = locale("fr_FR");
-  locale loc_de = locale("de_DE");
+  locale loc_us = locale(ISO_8859(1,en_US));
+  locale loc_fr = locale(ISO_8859(15,fr_FR));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
   VERIFY( loc_us != loc_fr );
   VERIFY( loc_us != loc_de );
Index: libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2003-02-24 Petur Runolfsson <peturr02@ru.is>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // cache the collate facets
Index: libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -39,6 +39,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc	(working copy)
@@ -1,7 +1,7 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -40,6 +40,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -36,9 +36,9 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_us = locale("en_US");
-  locale loc_fr = locale("fr_FR");
-  locale loc_de = locale("de_DE");
+  locale loc_us = locale(ISO_8859(1,en_US));
+  locale loc_fr = locale(ISO_8859(15,fr_FR));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
   VERIFY( loc_us != loc_fr );
   VERIFY( loc_us != loc_de );
Index: libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc	(working copy)
@@ -2,9 +2,9 @@ 
 // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */
 // { dg-options "-finput-charset=ISO8859-1" }
 // { dg-require-iconv "ISO8859-1" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -30,7 +30,7 @@ 
 #include <locale>
 #include <testsuite_hooks.h>
 
-// Check German "de_DE" locale.
+// Check German "de_DE.ISO8859-15" locale.
 void test02()
 {
   using namespace std;
@@ -40,9 +40,9 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_us = locale("en_US");
-  locale loc_fr = locale("fr_FR");
-  locale loc_de = locale("de_DE");
+  locale loc_us = locale(ISO_8859(1,en_US));
+  locale loc_fr = locale(ISO_8859(15,fr_FR));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
   VERIFY( loc_us != loc_fr );
   VERIFY( loc_us != loc_de );
Index: libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2003-02-24 Petur Runolfsson <peturr02@ru.is>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // cache the collate facets
Index: libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc	(working copy)
@@ -2,9 +2,9 @@ 
 // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */
 // { dg-options "-finput-charset=ISO8859-1" }
 // { dg-require-iconv "ISO8859-1" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,6 +43,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc	(working copy)
@@ -2,10 +2,10 @@ 
 // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */
 // { dg-options "-finput-charset=ISO8859-1" }
 // { dg-require-iconv "ISO8859-1" }
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -44,6 +44,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -26,7 +26,7 @@ 
 #include <locale>
 #include <testsuite_hooks.h>
 
-// Check German "de_DE" locale.
+// Check German "de_DE.ISO8859-15" locale.
 void test02()
 {
   using namespace std;
@@ -36,9 +36,9 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_us = locale("en_US");
-  locale loc_fr = locale("fr_FR");
-  locale loc_de = locale("de_DE");
+  locale loc_us = locale(ISO_8859(1,en_US));
+  locale loc_fr = locale(ISO_8859(15,fr_FR));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
   VERIFY( loc_us != loc_fr );
   VERIFY( loc_us != loc_de );
Index: libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -39,6 +39,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc	(working copy)
@@ -1,7 +1,7 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -40,6 +40,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc	(working copy)
@@ -2,9 +2,9 @@ 
 // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */
 // { dg-options "-finput-charset=ISO8859-1" }
 // { dg-require-iconv "ISO8859-1" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -30,7 +30,7 @@ 
 #include <locale>
 #include <testsuite_hooks.h>
 
-// Check German "de_DE" locale.
+// Check German "de_DE.ISO8859-15" locale.
 void test02()
 {
   using namespace std;
@@ -39,9 +39,9 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_us = locale("en_US");
-  locale loc_fr = locale("fr_FR");
-  locale loc_de = locale("de_DE");
+  locale loc_us = locale(ISO_8859(1,en_US));
+  locale loc_fr = locale(ISO_8859(15,fr_FR));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
   VERIFY( loc_us != loc_fr );
   VERIFY( loc_us != loc_de );
Index: libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc	(working copy)
@@ -2,9 +2,9 @@ 
 // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */
 // { dg-options "-finput-charset=ISO8859-1" }
 // { dg-require-iconv "ISO8859-1" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,6 +43,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc	(working copy)
@@ -2,10 +2,10 @@ 
 // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */
 // { dg-options "-finput-charset=ISO8859-1" }
 // { dg-require-iconv "ISO8859-1" }
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -44,6 +44,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,9 +35,9 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_us = locale("en_US");
-  locale loc_fr = locale("fr_FR");
-  locale loc_de = locale("de_DE");
+  locale loc_us = locale(ISO_8859(1,en_US));
+  locale loc_fr = locale(ISO_8859(15,fr_FR));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
   VERIFY( loc_us != loc_fr );
   VERIFY( loc_us != loc_de );
Index: libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2003-02-24 Petur Runolfsson <peturr02@ru.is>
 
@@ -33,7 +33,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // cache the collate facets
Index: libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,6 +34,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc	(working copy)
@@ -1,7 +1,7 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,6 +35,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc	(working copy)
@@ -2,9 +2,9 @@ 
 // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */
 // { dg-options "-finput-charset=ISO8859-1" }
 // { dg-require-iconv "ISO8859-1" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -39,9 +39,9 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_us = locale("en_US");
-  locale loc_fr = locale("fr_FR");
-  locale loc_de = locale("de_DE");
+  locale loc_us = locale(ISO_8859(1,en_US));
+  locale loc_fr = locale(ISO_8859(15,fr_FR));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
   VERIFY( loc_us != loc_fr );
   VERIFY( loc_us != loc_de );
Index: libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2003-02-24 Petur Runolfsson <peturr02@ru.is>
 
@@ -33,7 +33,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // cache the collate facets
Index: libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc	(working copy)
@@ -2,9 +2,9 @@ 
 // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */
 // { dg-options "-finput-charset=ISO8859-1" }
 // { dg-require-iconv "ISO8859-1" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -38,6 +38,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc	(working copy)
@@ -2,10 +2,10 @@ 
 // { dg-xfail-if "" { "*-*-hpux11.23" } { "*" } { "" } } */
 // { dg-options "-finput-charset=ISO8859-1" }
 // { dg-require-iconv "ISO8859-1" }
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -39,6 +39,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,10 +34,10 @@ 
   string str;
   locale loc_c = locale::classic();
 
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   str = loc_de.name();
 
-  locale loc_byname(locale::classic(), new collate_byname<char>("de_DE"));
+  locale loc_byname(locale::classic(), new collate_byname<char>(ISO_8859(15,de_DE)));
   str = loc_byname.name();
 
   VERIFY( loc_de != loc_byname );
@@ -45,7 +45,7 @@ 
   // cache the collate facets
   const collate<char>& coll_de = use_facet<collate<char> >(loc_de); 
 
-  // Check German "de_DE" locale.
+  // Check German "de_DE.ISO8859-15" locale.
   int i1;
   int i2;
   long l1;
Index: libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc	(working copy)
@@ -1,5 +1,5 @@ 
 // { dg-do run { xfail { ! { *-*-linux* *-*-gnu* } } } }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // Copyright (C) 2000-2015 Free Software Foundation, Inc.
 //
@@ -59,8 +59,8 @@ 
       v_c[i] = mask_is;
     }   
 
-  // "de_DE"
-  locale loc_de = locale("de_DE");
+  // "de_DE.ISO8859-15"
+  locale loc_de = locale(ISO_8859(15,de_DE));
   const ctype<char>& ctype_de = use_facet<ctype<char> >(loc_de); 
   for (int i = 0; i < max; ++i)
     {
Index: libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -42,6 +42,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,6 +43,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc	(working copy)
@@ -1,5 +1,5 @@ 
 // { dg-do run { xfail { ! { *-*-linux* *-*-gnu* } } } }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // Copyright (C) 2000-2015 Free Software Foundation, Inc.
 //
@@ -59,8 +59,8 @@ 
       v_c[i] = mask_is;
     }   
 
-  // "de_DE"
-  locale loc_de = locale("de_DE");
+  // "de_DE.ISO8859-15"
+  locale loc_de = locale(ISO_8859(15,de_DE));
   const ctype<wchar_t>& ctype_de = use_facet<ctype<wchar_t> >(loc_de); 
   for (int i = 0; i < max; ++i)
     {
Index: libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,6 +37,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -38,6 +38,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,6 +37,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,6 +37,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,6 +37,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,6 +37,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US.ISO-8859-1" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-03-12  Petur Runolfsson  <peturr02@ru.is>
 
@@ -31,7 +31,7 @@ 
   using namespace std;
   bool test __attribute__((unused)) = true;
 
-  locale loc = locale("en_US.ISO-8859-1");
+  locale loc = locale(ISO_8859(1,en_US));
   const ctype<wchar_t>& wct = use_facet<ctype<wchar_t> >(loc);
 
   char c = 0xff;
Index: libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/facet/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/facet/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/facet/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "es_MX" }
+// { dg-require-namedlocale "es_MX.ISO8859-1" }
 
 // 2000-08-31 Benjamin Kosnik <bkoz@redhat.com>
 
@@ -84,7 +84,7 @@ 
   // 4: Named locale should destroy facets when it goes out of scope.
   // Not quite sure how to test for this w/o valgrind at the moment.
   {
-    locale loc03 = locale("es_MX");
+    locale loc03 = locale(ISO_8859(1,es_MX));
   }
 }
 
Index: libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc	(working copy)
@@ -1,5 +1,5 @@ 
 // { dg-require-namedlocale "" }
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // Copyright (C) 2003-2015 Free Software Foundation, Inc.
 //
@@ -106,7 +106,7 @@ 
 	      std::locale loc1 = std::locale("");
 	      std::locale loc2(loc1, std::locale::classic(),
 			       std::locale::numeric);
-	      std::locale loc3 = std::locale("en_US");
+	      std::locale loc3 = std::locale(ISO_8859(1,en_US));
 	      std::locale loc4(loc3, std::locale::classic(),
 			       std::locale::numeric);
 	    }
Index: libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc	(working copy)
@@ -1,8 +1,8 @@ 
 // { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-gnu* *-*-solaris* *-*-cygwin *-*-rtems* *-*-darwin* } }
 // { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-gnu* } }
 // { dg-options "-pthreads" { target *-*-solaris* } }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // Copyright (C) 2004-2015 Free Software Foundation, Inc.
 //
@@ -39,7 +39,7 @@ 
       std::locale loc_c = std::locale::classic();
       std::locale loc[max_locales];
       for (int j = 0; j < max_locales; ++j)
-	loc[j] = std::locale(j % 2 ? "en_US" : "fr_FR");
+	loc[j] = std::locale(j % 2 ? ISO_8859(1,en_US) : ISO_8859(15,fr_FR));
       
       for (int i = 0; i < max_loop_count; ++i)
 	{
Index: libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc	(working copy)
@@ -1,8 +1,8 @@ 
 // { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-gnu* *-*-solaris* *-*-cygwin *-*-rtems* *-*-darwin* } }
 // { dg-options "-pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-gnu* } }
 // { dg-options "-pthreads" { target *-*-solaris* } }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // Copyright (C) 2004-2015 Free Software Foundation, Inc.
 //
@@ -53,7 +53,7 @@ 
   pthread_t tid[max_thread_count];
   
   for (int j = 0; j < max_locales; ++j)
-    loc[j] = std::locale(j % 2 ? "en_US" : "fr_FR");  
+    loc[j] = std::locale(j % 2 ? ISO_8859(1,en_US) : ISO_8859(15,fr_FR));  
 
   for (int i = 0; i < max_thread_count; i++)
     pthread_create(&tid[i], 0, thread_main, 0);
Index: libstdc++-v3/testsuite/22_locale/locale/cons/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/locale/cons/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/locale/cons/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
 
@@ -87,10 +87,10 @@ 
 
   // 3
   // explicit locale(const char* std_name)
-  locale loc06 = locale("fr_FR");
+  locale loc06 = locale(ISO_8859(15,fr_FR));
   VERIFY( loc06 != loc01 );  
   VERIFY( loc06 != loc02 );  
-  VERIFY( loc06.name() == "fr_FR");
+  VERIFY( loc06.name() == ISO_8859(15,fr_FR));
   locale loc07("");
   VERIFY( loc07 != loc02 );  
   VERIFY( loc07.name() != "" );
@@ -113,7 +113,7 @@ 
   {
     // This is the same as 5 only use "C" for loc("C")
     locale loc09(loc06, "C", locale::ctype);
-    VERIFY( loc09.name() != "fr_FR" );
+    VERIFY( loc09.name() != ISO_8859(15,fr_FR) );
     VERIFY( loc09.name() != "C" );
     VERIFY( loc09.name() != "*" );
     VERIFY( loc09 != loc01 );  
@@ -143,11 +143,11 @@ 
       { VERIFY( false ); }
 
     locale loc14(loc06, "C", locale::none);
-    VERIFY( loc14.name() == "fr_FR" );
+    VERIFY( loc14.name() == ISO_8859(15,fr_FR) );
     VERIFY( loc14 == loc06 );
 
     locale loc15(loc06, "C", locale::collate );
-    VERIFY( loc15.name() != "fr_FR" );
+    VERIFY( loc15.name() != ISO_8859(15,fr_FR) );
     VERIFY( loc15.name() != "C" );
     VERIFY( loc15.name() != "*" );
     VERIFY( loc15.name() != loc09.name() );
@@ -161,7 +161,7 @@ 
   {
     // This is the exact same as 4, with locale("C") for "C"
     locale loc09(loc06, loc01, locale::ctype);
-    VERIFY( loc09.name() != "fr_FR" );
+    VERIFY( loc09.name() != ISO_8859(15,fr_FR) );
     VERIFY( loc09.name() != "C" );
     VERIFY( loc09.name() != "*" );
     VERIFY( loc09 != loc01 );
@@ -191,11 +191,11 @@ 
       { VERIFY( false ); }
 
     locale loc14(loc06, loc01, locale::none);
-    VERIFY( loc14.name() == "fr_FR" );
+    VERIFY( loc14.name() == ISO_8859(15,fr_FR) );
     VERIFY( loc14 == loc06 );
 
     locale loc15(loc06, loc01, locale::collate);
-    VERIFY( loc15.name() != "fr_FR" );
+    VERIFY( loc15.name() != ISO_8859(15,fr_FR) );
     VERIFY( loc15.name() != "C" );
     VERIFY( loc15.name() != "*" );
     VERIFY( loc15.name() != loc09.name() );
Index: libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/locale/cons/38365.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // Copyright (C) 2008-2015 Free Software Foundation, Inc.
 //
@@ -29,7 +29,7 @@ 
   bool test __attribute__((unused)) = true;
 
   locale other(locale("C"));
-  locale one(locale("en_US"), new ctype<char>());
+  locale one(locale(ISO_8859(1,en_US)), new ctype<char>());
   locale loc(other, one, locale::collate);
 
   VERIFY( one.name() == "*" );
Index: libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/locale/cons/38368.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // Copyright (C) 2008-2015 Free Software Foundation, Inc.
 //
@@ -28,7 +28,7 @@ 
   using namespace std;
   bool test __attribute__((unused)) = true;
 
-  locale loc(locale("C"), "en_US", locale::collate);
+  locale loc(locale("C"), ISO_8859(1,en_US), locale::collate);
   locale loc_copy(loc.name().c_str());
 
   const moneypunct<char, true>& mpunt =
Index: libstdc++-v3/testsuite/22_locale/locale/cons/4.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/locale/cons/4.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/locale/cons/4.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "it_IT" }
+// { dg-require-namedlocale "it_IT.ISO8859-15" }
 
 // 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
 
@@ -33,10 +33,10 @@ 
   bool test __attribute__((unused)) = true;
 #ifdef _GLIBCXX_HAVE_SETENV 
   const char* LC_ALL_orig = getenv("LC_ALL");
-  if (!setenv("LC_ALL", "it_IT", 1))
+  if (!setenv("LC_ALL", ISO_8859(15,it_IT), 1))
     {
       std::locale loc = std::locale(""); 
-      VERIFY( loc.name() == "it_IT" );
+      VERIFY( loc.name() == ISO_8859(15,it_IT) );
       setenv("LC_ALL", LC_ALL_orig ? LC_ALL_orig : "", 1);
     }
 #endif
Index: libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/locale/cons/40184.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // Copyright (C) 2009-2015 Free Software Foundation, Inc.
 //
@@ -29,7 +29,7 @@ 
   using namespace std;
   bool test __attribute__((unused)) = true;
 
-  locale locf(locale("C"), "ja_JP.eucjp", locale::monetary);
+  locale locf(locale("C"), "ja_JP.eucJP", locale::monetary);
 
   const moneypunct<wchar_t, false>& mpf = 
     use_facet<moneypunct<wchar_t, false> >(locf);
@@ -40,7 +40,7 @@ 
 
   VERIFY( mpf.curr_symbol() == mpf_copy.curr_symbol() );
 
-  locale loct(locale("C"), "ja_JP.eucjp", locale::monetary);
+  locale loct(locale("C"), "ja_JP.eucJP", locale::monetary);
 
   const moneypunct<wchar_t, true>& mpt = 
     use_facet<moneypunct<wchar_t, true> >(loct);
Index: libstdc++-v3/testsuite/22_locale/locale/cons/7.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/locale/cons/7.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/locale/cons/7.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "is_IS" }
+// { dg-require-namedlocale "is_IS.ISO8859-1" }
 
 // 2001-01-19 Benjamin Kosnik <bkoz@redhat.com>
 
@@ -36,9 +36,9 @@ 
 
   // construct a locale object with the specialized facet.
   locale		loc_c = locale::classic();
-  locale		loc_is = locale("is_IS");
+  locale		loc_is = locale(ISO_8859(1,is_IS));
   locale 		loc_1(locale::classic(), 
-			      new numpunct_byname<char>("is_IS"));
+			      new numpunct_byname<char>(ISO_8859(1,is_IS)));
 
   // check names
   VERIFY( loc_c.name() == name_c );
Index: libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "is_IS" }
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "is_IS.ISO8859-1" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2004-02-09  Petur Runolfsson  <peturr02@ru.is>
 
@@ -32,8 +32,8 @@ 
   using namespace std;
   bool test __attribute__((unused)) = true;
 
-  const locale loc_is = locale("is_IS");
-  const locale loc_en = locale("en_US");
+  const locale loc_is = locale(ISO_8859(1,is_IS));
+  const locale loc_en = locale(ISO_8859(1,en_US));
 
   const locale loc(loc_is, loc_en, locale::monetary);
 
Index: libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_PH" }
-// { dg-require-namedlocale "es_MX" }
+// { dg-require-namedlocale "en_PH.ISO8859-1" }
+// { dg-require-namedlocale "es_MX.ISO8859-1" }
 
 // 2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
 
@@ -32,8 +32,8 @@ 
   using namespace std;
   bool test __attribute__((unused)) = true;
   
-  const string ph("en_PH");
-  const string mx("es_MX");
+  const string ph(ISO_8859(1,en_PH));
+  const string mx(ISO_8859(1,es_MX));
   const char* orig = setlocale(LC_ALL, 0);
   const char* testph = setlocale(LC_ALL, ph.c_str());
   const char* testmx = setlocale(LC_ALL, mx.c_str());
Index: libstdc++-v3/testsuite/22_locale/messages/13631.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/messages/13631.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/messages/13631.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // Copyright (C) 2014-2015 Free Software Foundation, Inc.
 //
@@ -27,7 +27,7 @@ 
   // This is defined through CXXFLAGS in scripts/testsuite_flags[.in].
   const char* dir = LOCALEDIR;
 
-  std::locale l("fr_FR");
+  std::locale l(ISO_8859(15,fr_FR));
 
   typedef std::messages<char> messages;
 
@@ -62,7 +62,7 @@ 
   // This is defined through CXXFLAGS in scripts/testsuite_flags[.in].
   const char* dir = LOCALEDIR;
 
-  std::locale l("fr_FR");
+  std::locale l(ISO_8859(15,fr_FR));
 
   typedef std::messages<wchar_t> messages;
 
Index: libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-07-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -36,7 +36,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // cache the messages facets
@@ -46,7 +46,7 @@ 
   // string_type get(catalog, int, int, const string_type& ) const; 
   // void close(catalog) const;
 
-  // Check German (de_DE) locale.
+  // Check German (de_DE.ISO8859-15) locale.
   catalog cat_de = mssg_de.open("libstdc++", loc_c, dir);
   string s01 = mssg_de.get(cat_de, 0, 0, "please");
   string s02 = mssg_de.get(cat_de, 0, 0, "thank you");
Index: libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // 2001-07-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
   const char* dir = LOCALEDIR;
 
   // basic construction
-  locale loc_fr = locale("fr_FR");
+  locale loc_fr = locale(ISO_8859(15,fr_FR));
   VERIFY( locale::classic() != loc_fr );
 
   // cache the messages facets
Index: libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // 2001-07-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,8 +37,8 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_us = locale("en_US");
-  locale loc_fr = locale("fr_FR");
+  locale loc_us = locale(ISO_8859(1,en_US));
+  locale loc_fr = locale(ISO_8859(15,fr_FR));
   VERIFY( loc_c != loc_us );
   VERIFY( loc_us != loc_fr );
 
Index: libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -44,6 +44,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc	(working copy)
@@ -1,7 +1,7 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -45,6 +45,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-07-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -36,10 +36,10 @@ 
   const char* dir = LOCALEDIR;
   locale loc_c = locale::classic();
 
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   str = loc_de.name();
 
-  locale loc_byname(locale::classic(), new messages_byname<char>("de_DE"));
+  locale loc_byname(locale::classic(), new messages_byname<char>(ISO_8859(15,de_DE)));
   str = loc_byname.name();
 
   VERIFY( loc_de != loc_byname );
@@ -52,7 +52,7 @@ 
   // string_type get(catalog, int, int, const string_type& ) const; 
   // void close(catalog) const;
 
-  // Check German (de_DE) locale.
+  // Check German (de_DE.ISO8859-15) locale.
   catalog cat_de = mssg_de.open("libstdc++", loc_c, dir);
   string s01 = mssg_de.get(cat_de, 0, 0, "please");
   string s02 = mssg_de.get(cat_de, 0, 0, "thank you");
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-12 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-10-23  Paolo Carlini  <pcarlini@suse.de>
 
@@ -32,7 +32,7 @@ 
 
   bool test __attribute__((unused)) = true;
 
-  locale loc_us = locale("en_US");
+  locale loc_us = locale(ISO_8859(1,en_US));
 
   iterator_type end;
   istringstream iss;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
 
@@ -34,7 +34,7 @@ 
   bool test __attribute__((unused)) = true;
   
   // basic construction
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
 
   iterator_type end;
   istringstream iss;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // Copyright (C) 2003-2015 Free Software Foundation, Inc.
 //
@@ -30,7 +30,7 @@ 
 
   bool test __attribute__((unused)) = true;
 
-  locale loc_us = locale("en_US");
+  locale loc_us = locale(ISO_8859(1,en_US));
 
   iterator_type end;
   istringstream iss;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // total EPA budget FY 2002
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   iterator_type end01, end02;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
 
@@ -36,7 +36,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   iterator_type end01, end02;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
 
@@ -36,8 +36,8 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
-  locale loc_hk = locale("en_HK");
+  locale loc_de = locale(ISO_8859(15,de_DE));
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_hk != loc_de );
   VERIFY( loc_c != loc_hk );
 
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
 
@@ -36,7 +36,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   iterator_type end, end02;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
 
@@ -36,7 +36,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_c != loc_hk );
   
   iterator_type end, end01, end02;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-09-12 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_c != loc_hk );
 
   // total EPA budget FY 2002
@@ -80,7 +80,7 @@ 
   VERIFY( result11 == digits4 );
   VERIFY( err11 == ios_base::eofbit );
 
-  // for the "en_HK" locale the parsing of the very same input streams must
+  // for the "en_HK.ISO8859-1" locale the parsing of the very same input streams must
   // be successful without showbase too, since the symbol field appears in
   // the first positions in the format and the symbol, when present, must be
   // consumed.
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-12 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // total EPA budget FY 2002
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-09-12 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_c != loc_hk );
 
   // input less than frac_digits
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "de_DE@euro" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -69,6 +69,6 @@ 
   two.push_back(&test06);
   two.push_back(&test07);
   two.push_back(&test08);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE@euro" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -69,6 +69,6 @@ 
   two.push_back(&test06);
   two.push_back(&test07);
   two.push_back(&test08);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-12 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2003-10-23  Paolo Carlini  <pcarlini@suse.de>
 
@@ -32,7 +32,7 @@ 
 
   bool test __attribute__((unused)) = true;
 
-  locale loc_us = locale("en_US");
+  locale loc_us = locale(ISO_8859(1,en_US));
 
   iterator_type end;
   wistringstream iss;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
 
@@ -34,7 +34,7 @@ 
   bool test __attribute__((unused)) = true;
   
   // basic construction
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
 
   iterator_type end;
   wistringstream iss;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // Copyright (C) 2003-2015 Free Software Foundation, Inc.
 //
@@ -30,7 +30,7 @@ 
 
   bool test __attribute__((unused)) = true;
 
-  locale loc_us = locale("en_US");
+  locale loc_us = locale(ISO_8859(1,en_US));
 
   iterator_type end;
   wistringstream iss;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // total EPA budget FY 2002
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   iterator_type end01, end02;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
 
@@ -36,7 +36,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   iterator_type end01, end02;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
 
@@ -36,8 +36,8 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
-  locale loc_hk = locale("en_HK");
+  locale loc_de = locale(ISO_8859(15,de_DE));
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_hk != loc_de );
   VERIFY( loc_c != loc_hk );
 
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
 
@@ -36,7 +36,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   iterator_type end, end02;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
 
@@ -36,7 +36,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_c != loc_hk );
   
   iterator_type end, end01, end02;
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-09-12 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_c != loc_hk );
 
   // total EPA budget FY 2002
@@ -80,7 +80,7 @@ 
   VERIFY( result11 == digits4 );
   VERIFY( err11 == ios_base::eofbit );
 
-  // for the "en_HK" locale the parsing of the very same input streams must
+  // for the "en_HK.ISO8859-1" locale the parsing of the very same input streams must
   // be successful without showbase too, since the symbol field appears in
   // the first positions in the format and the symbol, when present, must be
   // consumed.
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-12 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // total EPA budget FY 2002
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-09-12 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_c != loc_hk );
 
   // input less than frac_digits
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "de_DE@euro" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -69,6 +69,6 @@ 
   two.push_back(&test06);
   two.push_back(&test07);
   two.push_back(&test08);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE@euro" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -69,6 +69,6 @@ 
   two.push_back(&test06);
   two.push_back(&test07);
   two.push_back(&test08);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-27 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-27 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_c != loc_hk );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-27 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "es_ES" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "es_ES.ISO8859-15" }
 
 // Copyright (C) 2004-2015 Free Software Foundation, Inc.
 //
@@ -27,8 +27,8 @@ 
   using namespace std;
 
   bool test __attribute__((unused)) = true;
-  locale l1 = locale("de_DE");
-  locale l2 = locale("es_ES");
+  locale l1 = locale(ISO_8859(15,de_DE));
+  locale l2 = locale(ISO_8859(15,es_ES));
   
   const money_put<char>& mp = use_facet<money_put<char> >(l1);  
   ostringstream oss;
Index: libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "de_DE@euro" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -59,6 +59,6 @@ 
   two.push_back(&test04);
   two.push_back(&test05);
   two.push_back(&test06);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE@euro" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -59,6 +59,6 @@ 
   two.push_back(&test04);
   two.push_back(&test05);
   two.push_back(&test06);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-27 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-27 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_c != loc_hk );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-27 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE@euro");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "de_DE@euro" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -59,6 +59,6 @@ 
   two.push_back(&test04);
   two.push_back(&test05);
   two.push_back(&test06);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE@euro" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -59,6 +59,6 @@ 
   two.push_back(&test04);
   two.push_back(&test05);
   two.push_back(&test06);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/moneypunct/40712.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2009-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
 
@@ -22,6 +22,7 @@ 
 // 22.2.6.3  Template class moneypunct
 
 #include <locale>
+#include <testsuite_hooks.h>
 
 // libstdc++/40712
 void test01()
@@ -29,7 +30,7 @@ 
   bool test __attribute__((unused)) = true;
   using namespace std;
 
-  locale loc(locale("C"), "en_US", locale::monetary);
+  locale loc(locale("C"), ISO_8859(1,en_US), locale::monetary);
   
   use_facet<moneypunct<char> >(loc).grouping();
 }
Index: libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-23 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
 
   // cache the moneypunct facets
   typedef moneypunct<char, true> __money_true;
Index: libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,6 +37,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -38,6 +38,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-23 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,7 +35,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
 
   // cache the moneypunct facets
   typedef moneypunct<wchar_t, true> __money_true;
Index: libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,6 +37,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -38,6 +38,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-24 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -33,10 +33,10 @@ 
   bool test __attribute__((unused)) = true;
   string str;
 
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   str = loc_de.name();
 
-  locale loc_byname(locale::classic(), new moneypunct_byname<char>("de_DE"));
+  locale loc_byname(locale::classic(), new moneypunct_byname<char>(ISO_8859(15,de_DE)));
   str = loc_byname.name();
 
   locale loc_c = locale::classic();
Index: libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-11-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-11-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_c != loc_hk );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-11-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,7 +37,7 @@ 
   istringstream iss;
 
   // A locale that expects grouping  
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   iss.imbue(loc_de);
 
   const num_get<char>& ng = use_facet<num_get<char> >(iss.getloc()); 
Index: libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-11-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
   double d = 0.0;
 
   istringstream iss;
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   iss.imbue(loc_de);
 
   const num_get<char>& ng = use_facet<num_get<char> >(iss.getloc()); 
Index: libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2003-12-19  Paolo Carlini  <pcarlini@suse.de>
 
@@ -33,7 +33,7 @@ 
   bool test __attribute__((unused)) = true;
 
   // A locale that expects grouping  
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   istringstream iss;
   iss.imbue(loc_de);
 
Index: libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -58,6 +58,6 @@ 
   two.push_back(&test04);
   two.push_back(&test05);
   two.push_back(&test06);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -59,6 +59,6 @@ 
   two.push_back(&test04);
   two.push_back(&test05);
   two.push_back(&test06);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-11-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-11-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_c != loc_hk );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-11-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,7 +37,7 @@ 
   wistringstream iss;
 
   // A locale that expects grouping  
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   iss.imbue(loc_de);
 
   const num_get<wchar_t>& ng = use_facet<num_get<wchar_t> >(iss.getloc()); 
Index: libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-11-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
   double d = 0.0;
 
   wistringstream iss;
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   iss.imbue(loc_de);
 
   const num_get<wchar_t>& ng = use_facet<num_get<wchar_t> >(iss.getloc()); 
Index: libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2003-12-19  Paolo Carlini  <pcarlini@suse.de>
 
@@ -33,7 +33,7 @@ 
   bool test __attribute__((unused)) = true;
 
   // A locale that expects grouping  
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   wistringstream iss;
   iss.imbue(loc_de);
 
Index: libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -58,6 +58,6 @@ 
   two.push_back(&test04);
   two.push_back(&test05);
   two.push_back(&test06);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -59,6 +59,6 @@ 
   two.push_back(&test04);
   two.push_back(&test05);
   two.push_back(&test06);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-11-19 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de  = locale("de_DE");
+  locale loc_de  = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // cache the numpunct facets
Index: libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2005-04-08  Paolo Carlini  <pcarlini@suse.de>
 
@@ -32,7 +32,7 @@ 
   bool test __attribute__((unused)) = true;
 
   // A locale that expects grouping.
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
 
   const string empty;
   string result;
Index: libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2005-04-17  Paolo Carlini  <pcarlini@suse.de>
 
@@ -32,7 +32,7 @@ 
   bool test __attribute__((unused)) = true;
 
   // A locale that expects grouping.
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
 
   const string empty;
   string result;
Index: libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-11-19 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_c != loc_hk );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-11-19 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
   bool test __attribute__((unused)) = true;
 
   // A locale that expects grouping.
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
 
   const string empty;
   string result;
Index: libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "es_ES" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "es_ES.ISO8859-15" }
 
 // Copyright (C) 2004-2015 Free Software Foundation, Inc.
 //
@@ -24,7 +24,7 @@ 
 
 // Make sure that formatted output uses the locale in the output stream.
 using namespace std;
-locale l1 = locale("de_DE");
+locale l1 = locale(ISO_8859(15,de_DE));
 const num_put<char>& np = use_facet<num_put<char> >(l1);
 const numpunct<char>& npunct = use_facet<numpunct<char> >(l1);
 
@@ -51,7 +51,7 @@ 
 {
   bool test __attribute__((unused)) = true;
 
-  locale l2 = locale("es_ES");
+  locale l2 = locale(ISO_8859(15,es_ES));
   const numpunct<char>& npunct3 = use_facet<numpunct<char> >(l2);
   char c __attribute__((unused)) = npunct3.thousands_sep();
   string s = npunct3.grouping();
Index: libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "es_ES" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "es_ES.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -54,6 +54,6 @@ 
   two.push_back(&test03);
   two.push_back(&test04);
   two.push_back(&test05);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc	(working copy)
@@ -1,7 +1,7 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "es_ES" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "es_ES.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -55,6 +55,6 @@ 
   two.push_back(&test03);
   two.push_back(&test04);
   two.push_back(&test05);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-11-19 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
 
   // cache the numpunct facets
Index: libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2005-04-08  Paolo Carlini  <pcarlini@suse.de>
 
@@ -32,7 +32,7 @@ 
   bool test __attribute__((unused)) = true;
 
   // A locale that expects grouping.
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
 
   const wstring empty;
   wstring result;
Index: libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2005-04-17  Paolo Carlini  <pcarlini@suse.de>
 
@@ -32,7 +32,7 @@ 
   bool test __attribute__((unused)) = true;
 
   // A locale that expects grouping.
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
 
   const wstring empty;
   wstring result;
Index: libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-11-19 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_c != loc_hk );
 
   // sanity check the data is correct.
Index: libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-11-19 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
   bool test __attribute__((unused)) = true;
 
   // A locale that expects grouping.
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
 
   const wstring empty;
   wstring result;
Index: libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -53,6 +53,6 @@ 
   two.push_back(&test03);
   two.push_back(&test04);
   two.push_back(&test05);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -54,6 +54,6 @@ 
   two.push_back(&test03);
   two.push_back(&test04);
   two.push_back(&test05);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "is_IS" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "is_IS.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-01-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,9 +34,9 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_us = locale("en_US");
-  locale loc_is = locale("is_IS");
-  locale loc_de = locale("de_DE");
+  locale loc_us = locale(ISO_8859(1,en_US));
+  locale loc_is = locale(ISO_8859(1,is_IS));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
   VERIFY( loc_us != loc_is );
   VERIFY( loc_us != loc_de );
Index: libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "it_IT" }
+// { dg-require-namedlocale "it_IT.ISO8859-15" }
 
 // 2001-01-24 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -30,7 +30,7 @@ 
   
   bool test __attribute__((unused)) = true;
 
-  locale loc_it = locale("it_IT");
+  locale loc_it = locale(ISO_8859(15,it_IT));
 
   const numpunct<char>& nump_it = use_facet<numpunct<char> >(loc_it); 
 
Index: libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "is_IS" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "is_IS.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -39,6 +39,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc	(working copy)
@@ -1,7 +1,7 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "is_IS" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "is_IS.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -40,6 +40,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "is_IS" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "is_IS.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-01-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,9 +34,9 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_us = locale("en_US");
-  locale loc_is = locale("is_IS");
-  locale loc_de = locale("de_DE");
+  locale loc_us = locale(ISO_8859(1,en_US));
+  locale loc_is = locale(ISO_8859(1,is_IS));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_c != loc_de );
   VERIFY( loc_us != loc_is );
   VERIFY( loc_us != loc_de );
Index: libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "is_IS" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "is_IS.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -39,6 +39,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,7 +1,7 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "is_IS" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "is_IS.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -40,6 +40,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test02);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-01-24 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -31,10 +31,10 @@ 
   bool test __attribute__((unused)) = true;
   string str;
 
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   str = loc_de.name();
 
-  locale loc_byname(locale::classic(), new numpunct_byname<char>("de_DE"));
+  locale loc_byname(locale::classic(), new numpunct_byname<char>(ISO_8859(15,de_DE)));
   str = loc_byname.name();
 
   locale loc_c = locale::classic();
Index: libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -32,6 +32,6 @@ 
   using namespace __gnu_test;
   func_callback two;
   two.push_back(&test01);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE.utf8" }
+// { dg-require-namedlocale "de_DE.UTF-8" }
 // { dg-options " -std=gnu++11 " }
 
 // 2014-04-14 Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
@@ -41,7 +41,7 @@ 
   bool test __attribute__((unused)) = true;
 
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE.utf8");
+  locale loc_de = locale("de_DE.UTF-8");
   VERIFY( loc_de != loc_c );
 
   istringstream iss;
Index: libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE.utf8" }
+// { dg-require-namedlocale "de_DE.UTF-8" }
 // { dg-options " -std=gnu++11 " }
 
 // 2014-04-14 Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
@@ -41,7 +41,7 @@ 
   bool test __attribute__((unused)) = true;
 
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE.utf8");
+  locale loc_de = locale("de_DE.UTF-8");
   VERIFY( loc_de != loc_c );
 
   wistringstream iss;
Index: libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "is_IS" }
+// { dg-require-namedlocale "is_IS.ISO8859-1" }
 
 // 2003-10-27 Paolo Carlini  <pcarlini@suse.de>
 
@@ -34,7 +34,7 @@ 
   bool test __attribute__((unused)) = true;
 
   // basic construction
-  locale loc_is = locale("is_IS");
+  locale loc_is = locale(ISO_8859(1,is_IS));
 
   // create an ostream-derived object, cache the time_get facet
   iterator_type end;
Index: libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,8 +35,8 @@ 
 
   // basic construction and sanity checks.
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
-  locale loc_de = locale("de_DE");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_hk != loc_c );
   VERIFY( loc_hk != loc_de );
 
@@ -63,7 +63,7 @@ 
   iterator_type is_it01(iss);
   errorstate = good;
 
-  // inspection of named locales, de_DE
+  // inspection of named locales, de_DE.ISO8859-15
   iss.imbue(loc_de);
   iss.str("04.04.1971");
   iterator_type is_it10(iss);
Index: libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_GB" }
+// { dg-require-namedlocale "en_GB.ISO8859-1" }
 
 // 2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
 
@@ -33,7 +33,7 @@ 
 
   typedef istreambuf_iterator<char> iterator_type;
 
-  locale loc_en = locale("en_GB");
+  locale loc_en = locale(ISO_8859(1,en_GB));
   
   tm tm0 = __gnu_test::test_tm(0, 0, 0, 0, 0, 0, 0, 0, 0);
 
Index: libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,6 +43,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -44,6 +44,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "is_IS" }
+// { dg-require-namedlocale "is_IS.ISO8859-1" }
 
 // 2003-10-27 Paolo Carlini  <pcarlini@suse.de>
 
@@ -34,7 +34,7 @@ 
   bool test __attribute__((unused)) = true;
 
   // basic construction
-  locale loc_is = locale("is_IS");
+  locale loc_is = locale(ISO_8859(1,is_IS));
 
   // create an ostream-derived object, cache the time_get facet
   iterator_type end;
Index: libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,8 +35,8 @@ 
 
   // basic construction and sanity checks.
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
-  locale loc_de = locale("de_DE");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_hk != loc_c );
   VERIFY( loc_hk != loc_de );
 
@@ -63,7 +63,7 @@ 
   iterator_type is_it01(iss);
   errorstate = good;
 
-  // inspection of named locales, de_DE
+  // inspection of named locales, de_DE.ISO8859-15
   iss.imbue(loc_de);
   iss.str(L"04.04.1971");
   iterator_type is_it10(iss);
Index: libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/26701.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_GB" }
+// { dg-require-namedlocale "en_GB.ISO8859-1" }
 
 // 2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
 
@@ -33,7 +33,7 @@ 
 
   typedef istreambuf_iterator<wchar_t> iterator_type;
 
-  locale loc_en = locale("en_GB");
+  locale loc_en = locale(ISO_8859(1,en_GB));
   
   tm tm0 = __gnu_test::test_tm(0, 0, 0, 0, 0, 0, 0, 0, 0);
 
Index: libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "zh_TW" }
+// { dg-require-namedlocale "zh_TW.UTF-8" }
 
 // 2003-12-17  Paolo Carlini  <pcarlini@suse.de>
 
@@ -32,7 +32,7 @@ 
 
   typedef istreambuf_iterator<wchar_t> iterator_type;
 
-  locale loc_tw = locale("zh_TW");
+  locale loc_tw = locale("zh_TW.UTF-8");
 
   iterator_type end;
 
Index: libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,6 +43,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -44,6 +44,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,8 +35,8 @@ 
 
   // basic construction and sanity checks.
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
-  locale loc_de = locale("de_DE");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_hk != loc_c );
   VERIFY( loc_hk != loc_de );
 
@@ -54,7 +54,7 @@ 
   iss.imbue(loc_de);
   const time_get<char>& tim_get = use_facet<time_get<char> >(iss.getloc()); 
 
-  // inspection of named locales, de_DE
+  // inspection of named locales, de_DE.ISO8859-15
   iss.str("April");
   iterator_type is_it10(iss);
   tm time10;
Index: libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,6 +43,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -44,6 +44,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,8 +35,8 @@ 
 
   // basic construction and sanity checks.
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
-  locale loc_de = locale("de_DE");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_hk != loc_c );
   VERIFY( loc_hk != loc_de );
 
@@ -54,7 +54,7 @@ 
   iss.imbue(loc_de);
   const time_get<wchar_t>& tim_get = use_facet<time_get<wchar_t> >(iss.getloc()); 
 
-  // inspection of named locales, de_DE
+  // inspection of named locales, de_DE.ISO8859-15
   iss.str(L"April");
   iterator_type is_it10(iss);
   tm time10;
Index: libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,6 +43,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -44,6 +44,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction and sanity checks.
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_de != loc_c );
 
   const string empty;
@@ -94,7 +94,7 @@ 
   VERIFY( *ret04 == 'a' );
   VERIFY( errorstate == ios_base::failbit );
 
-  // inspection of named locales, de_DE
+  // inspection of named locales, de_DE.ISO8859-15
   iss.imbue(loc_de);
   iss.str("12:00:00");
   iterator_type is_it10(iss);
Index: libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_hk != loc_c );
 
   const string empty;
Index: libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,6 +43,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -44,6 +44,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction and sanity checks.
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_de != loc_c );
 
   const wstring empty;
@@ -94,7 +94,7 @@ 
   VERIFY( *ret04 == L'a' );
   VERIFY( errorstate == ios_base::failbit );
 
-  // inspection of named locales, de_DE
+  // inspection of named locales, de_DE.ISO8859-15
   iss.imbue(loc_de);
   iss.str(L"12:00:00");
   iterator_type is_it10(iss);
Index: libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -34,7 +34,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_hk != loc_c );
 
   const wstring empty;
Index: libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,6 +43,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -44,6 +44,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,8 +35,8 @@ 
 
   // basic construction and sanity checks.
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
-  locale loc_de = locale("de_DE");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_hk != loc_c );
   VERIFY( loc_hk != loc_de );
 
@@ -54,7 +54,7 @@ 
   // create "C" time objects
   const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
-  // inspection of named locales, de_DE
+  // inspection of named locales, de_DE.ISO8859-15
   iss.imbue(loc_de);
   iss.str("Sonntag");
   iterator_type is_it10(iss);
Index: libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ru_RU.ISO-8859-5" }
+// { dg-require-namedlocale "ru_RU.ISO8859-5" }
 
 // Copyright (C) 2010-2015 Free Software Foundation, Inc.
 //
@@ -33,7 +33,7 @@ 
   typedef istreambuf_iterator<char> iterator_type;
 
   // basic construction
-  locale loc("ru_RU.ISO-8859-5");
+  locale loc(ISO_8859(5,ru_RU));
 
   // create an ostream-derived object, cache the time_get facet
   iterator_type end;
Index: libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ru_RU.UTF8" }
+// { dg-require-namedlocale "ru_RU.UTF-8" }
 
 // 2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>
 
@@ -34,7 +34,7 @@ 
   typedef istreambuf_iterator<char> iterator_type;
 
   // basic construction
-  locale loc("ru_RU.UTF8");
+  locale loc("ru_RU.UTF-8");
 
   // create an ostream-derived object, cache the time_get facet
   iterator_type end;
Index: libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,6 +43,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -44,6 +44,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,8 +35,8 @@ 
 
   // basic construction and sanity checks.
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
-  locale loc_de = locale("de_DE");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_hk != loc_c );
   VERIFY( loc_hk != loc_de );
 
@@ -54,7 +54,7 @@ 
   // create "C" time objects
   const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
 
-  // inspection of named locales, de_DE
+  // inspection of named locales, de_DE.ISO8859-15
   iss.imbue(loc_de);
   iss.str(L"Sonntag");
   iterator_type is_it10(iss);
Index: libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,6 +43,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -44,6 +44,6 @@ 
   two.push_back(&test01);
   two.push_back(&test02);
   two.push_back(&test03);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,6 +37,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test03);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,6 +37,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test03);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,6 +37,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test03);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,6 +37,6 @@ 
   func_callback two;
   two.push_back(&test01);
   two.push_back(&test03);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ta_IN" }
+// { dg-require-namedlocale "ta_IN.UTF-8" }
 
 // 2004-08-25  Paolo Carlini  <pcarlini@suse.de>
 
@@ -38,7 +38,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_in = locale("ta_IN");
+  locale loc_in = locale("ta_IN.UTF-8");
   VERIFY( loc_in != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
@@ -51,7 +51,7 @@ 
   string result1 = oss.str();
 
   char time_buffer[128];
-  setlocale(LC_ALL, "ta_IN");
+  setlocale(LC_ALL, "ta_IN.UTF-8");
   VERIFY( strftime(time_buffer, 128, "%c", &time1) );
   
   VERIFY( result1 == time_buffer );
Index: libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,7 +37,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_de != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
Index: libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,7 +37,7 @@ 
 
   // basic construction and sanity check.
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_hk != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
Index: libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "es_ES" }
+// { dg-require-namedlocale "es_ES.ISO8859-15" }
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,7 +37,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_es = locale("es_ES");
+  locale loc_es = locale(ISO_8859(15,es_ES));
   VERIFY( loc_es != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
Index: libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -40,7 +40,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_de != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
Index: libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -40,7 +40,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_hk != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
Index: libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "fr_FR@euro" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -40,7 +40,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_fr = locale("fr_FR@euro");
+  locale loc_fr = locale(ISO_8859(15,fr_FR));
   VERIFY( loc_fr != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
Index: libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "es_ES" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "es_ES.ISO8859-15" }
 
 // Copyright (C) 2004-2015 Free Software Foundation, Inc.
 //
@@ -27,8 +27,8 @@ 
   using namespace std;
 
   bool test __attribute__((unused)) = true;
-  locale l1 = locale("de_DE");
-  locale l2 = locale("es_ES");
+  locale l1 = locale(ISO_8859(15,de_DE));
+  locale l2 = locale(ISO_8859(15,es_ES));
   
   const time_put<char> &tp = use_facet<time_put<char> >(l1);  
   ostringstream oss;
@@ -104,7 +104,7 @@ 
 
 /*
 With GCC/libstdc++, the output of the program with the arguments
-of de_DE es_ES is:
+of de_DE.ISO8859-15 es_ES is:
      domingo
      lunes
      martes
Index: libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc	(working copy)
@@ -1,7 +1,7 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "es_ES" }
-// { dg-require-namedlocale "fr_FR@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "es_ES.ISO8859-15" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -80,6 +80,6 @@ 
   two.push_back(&test08);
   two.push_back(&test09);
   two.push_back(&test10);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc	(working copy)
@@ -1,7 +1,7 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "es_ES" }
-// { dg-require-namedlocale "fr_FR@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "es_ES.ISO8859-15" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -80,6 +80,6 @@ 
   two.push_back(&test08);
   two.push_back(&test09);
   two.push_back(&test10);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "ta_IN" }
+// { dg-require-namedlocale "ta_IN.UTF-8" }
 
 // 2004-08-25  Paolo Carlini  <pcarlini@suse.de>
 
@@ -38,7 +38,7 @@ 
 
   // basic construction
   locale loc_c = locale::classic();
-  locale loc_in = locale("ta_IN");
+  locale loc_in = locale("ta_IN.UTF-8");
   VERIFY( loc_in != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
@@ -51,7 +51,7 @@ 
   wstring result1 = oss.str();
 
   wchar_t time_buffer[128];
-  setlocale(LC_ALL, "ta_IN");
+  setlocale(LC_ALL, "ta_IN.UTF-8");
   VERIFY( wcsftime(time_buffer, 128, L"%c", &time1) );
   
   VERIFY( result1 == time_buffer );
Index: libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,7 +37,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_de != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
Index: libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,7 +37,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_hk != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
Index: libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "es_ES" }
+// { dg-require-namedlocale "es_ES.ISO8859-15" }
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -37,7 +37,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_es = locale("es_ES");
+  locale loc_es = locale(ISO_8859(15,es_ES));
   VERIFY( loc_es != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
Index: libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -40,7 +40,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   VERIFY( loc_de != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
Index: libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_HK" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -40,7 +40,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_hk = locale("en_HK");
+  locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_hk != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
Index: libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "fr_FR@euro" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // 2001-09-17 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -40,7 +40,7 @@ 
 
   // basic construction and sanity check
   locale loc_c = locale::classic();
-  locale loc_fr = locale("fr_FR@euro");
+  locale loc_fr = locale(ISO_8859(15,fr_FR));
   VERIFY( loc_fr != loc_c );
 
   // create an ostream-derived object, cache the time_put facet
Index: libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc	(working copy)
@@ -1,7 +1,7 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "es_ES" }
-// { dg-require-namedlocale "fr_FR@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "es_ES.ISO8859-15" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -80,6 +80,6 @@ 
   two.push_back(&test08);
   two.push_back(&test09);
   two.push_back(&test10);
-  run_tests_wrapped_env("de_DE", "LANG", two);
+  run_tests_wrapped_env(ISO_8859(15,de_DE), "LANG", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc
===================================================================
--- libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc	(revision 227835)
+++ libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc	(working copy)
@@ -1,8 +1,8 @@ 
-// { dg-require-namedlocale "de_DE" }
-// { dg-require-namedlocale "en_HK" }
-// { dg-require-namedlocale "es_ES" }
-// { dg-require-namedlocale "fr_FR@euro" }
-// { dg-require-namedlocale "ja_JP.eucjp" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-require-namedlocale "en_HK.ISO8859-1" }
+// { dg-require-namedlocale "es_ES.ISO8859-15" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "ja_JP.eucJP" }
 
 // 2001-08-15 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -81,6 +81,6 @@ 
   two.push_back(&test08);
   two.push_back(&test09);
   two.push_back(&test10);
-  run_tests_wrapped_locale("ja_JP.eucjp", two);
+  run_tests_wrapped_locale("ja_JP.eucJP", two);
   return 0;
 }
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // Copyright (C) 2003-2015 Free Software Foundation, Inc.
 //
@@ -46,7 +46,7 @@ 
   bool test __attribute__((unused)) = true;
 
   Buf buf;
-  std::locale loc(std::locale("fr_FR"));
+  std::locale loc(std::locale(ISO_8859(15,fr_FR)));
 
   buf.pubimbue(loc);
 
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // Copyright (C) 2003-2015 Free Software Foundation, Inc.
 //
@@ -31,8 +31,8 @@ 
 
   filebuf fb;
   
-  fb.pubimbue(locale("en_US"));
-  fb.pubimbue(locale("en_US"));
+  fb.pubimbue(locale(ISO_8859(1,en_US)));
+  fb.pubimbue(locale(ISO_8859(1,en_US)));
   
   fb.open("tmp_13171-1", ios_base::out);
   fb.sputc('F');
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 // { dg-require-fork "" }
 // { dg-require-mkfifo "" }
 
@@ -41,8 +41,8 @@ 
   using namespace std;
   using namespace __gnu_test;
 
-  locale loc_fr(locale("fr_FR"));
-  locale loc_en(locale("en_US"));
+  locale loc_fr(locale(ISO_8859(15,fr_FR)));
+  locale loc_en(locale(ISO_8859(1,en_US)));
 
   const char* name = "tmp_fifo_13171-2";
   unlink(name);
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // Copyright (C) 2003-2015 Free Software Foundation, Inc.
 //
@@ -41,9 +41,9 @@ 
   using namespace std;
 
   filebuf fb;
-  fb.pubimbue(locale(locale("en_US"), new Cvt));
+  fb.pubimbue(locale(locale(ISO_8859(1,en_US)), new Cvt));
   fb.open("tmp_13171-4", ios_base::out);
-  fb.pubimbue(locale("fr_FR"));
+  fb.pubimbue(locale(ISO_8859(15,fr_FR)));
   fb.sputc('N');
   fb.pubsync();
   fb.close();
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 // { dg-require-fork "" }
 // { dg-require-mkfifo "" }
 
@@ -41,8 +41,8 @@ 
   using namespace std; 
   using namespace __gnu_test;
 
-  locale loc_en(locale("en_US"));
-  locale loc_fr(locale("fr_FR"));
+  locale loc_en(locale(ISO_8859(1,en_US)));
+  locale loc_fr(locale(ISO_8859(15,fr_FR)));
 
   const char* name = "tmp_fifo_13582-2";
   unlink(name);
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // 2004-04-16  Petur Runolfsson  <peturr02@ru.is>
 
@@ -43,7 +43,7 @@ 
   bool test __attribute__((unused)) = true;
 
   Buf fb;
-  locale loc_us = locale("en_US");
+  locale loc_us = locale(ISO_8859(1,en_US));
   fb.pubimbue(loc_us);
   fb.open("tmp_14975-1", ios_base::out);
   
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2003-05-13 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,7 +43,7 @@ 
   VERIFY( p != bad);
 
   // According to 27.5.2.2.1, loc == getloc() after pubimbue(loc).
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   locale ret = ob.pubimbue(loc_de);
   VERIFY( ob.getloc() == loc_de );
 }
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-05-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -36,10 +36,10 @@ 
   std::filebuf ob;
   VERIFY( ob.getloc() == loc );
 
-  locale::global(locale("en_US"));
+  locale::global(locale(ISO_8859(1,en_US)));
   VERIFY( ob.getloc() == loc );
 
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   locale ret = ob.pubimbue(loc_de);
   VERIFY( ob.getloc() == loc_de );
   VERIFY( ret == loc );
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // Copyright (C) 2003-2015 Free Software Foundation, Inc.
 //
@@ -46,7 +46,7 @@ 
   bool test __attribute__((unused)) = true;
 
   Buf buf;
-  std::locale loc(std::locale("fr_FR"));
+  std::locale loc(std::locale(ISO_8859(15,fr_FR)));
 
   buf.pubimbue(loc);
 
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc	(working copy)
@@ -1,6 +1,6 @@ 
-// { dg-require-namedlocale "fr_FR" }
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // Copyright (C) 2003-2015 Free Software Foundation, Inc.
 //
@@ -31,19 +31,19 @@ 
   bool test __attribute__((unused)) = true;
   using namespace std;
 
-  locale::global(locale("fr_FR"));
+  locale::global(locale(ISO_8859(15,fr_FR)));
 
   ios_base::sync_with_stdio(false);
 
-  locale::global(locale("en_US"));
-  cin.imbue(locale("en_US"));
-  cout.imbue(locale("en_US"));
-  cerr.imbue(locale("en_US"));
-  clog.imbue(locale("de_DE"));
-  wcin.imbue(locale("en_US"));
-  wcout.imbue(locale("en_US"));
-  wcerr.imbue(locale("en_US"));
-  wclog.imbue(locale("de_DE"));
+  locale::global(locale(ISO_8859(1,en_US)));
+  cin.imbue(locale(ISO_8859(1,en_US)));
+  cout.imbue(locale(ISO_8859(1,en_US)));
+  cerr.imbue(locale(ISO_8859(1,en_US)));
+  clog.imbue(locale(ISO_8859(15,de_DE)));
+  wcin.imbue(locale(ISO_8859(1,en_US)));
+  wcout.imbue(locale(ISO_8859(1,en_US)));
+  wcerr.imbue(locale(ISO_8859(1,en_US)));
+  wclog.imbue(locale(ISO_8859(15,de_DE)));
  
   cout << 'f' << endl;
   cerr << 'r' << endl;
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 // { dg-require-fork "" }
 // { dg-require-mkfifo "" }
 
@@ -41,8 +41,8 @@ 
   using namespace std;
   using namespace __gnu_test;
 
-  locale loc_en(locale("en_US"));
-  locale loc_fr(locale("fr_FR"));
+  locale loc_en(locale(ISO_8859(1,en_US)));
+  locale loc_fr(locale(ISO_8859(15,fr_FR)));
 
   const char* name = "tmp_fifo_13582-2";
   unlink(name);
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "fr_FR" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "fr_FR.ISO8859-15" }
 
 // 2004-01-11  Petur Runolfsson  <peturr02@ru.is>
 
@@ -32,8 +32,8 @@ 
   bool test __attribute__((unused)) = true;
   using namespace std;
 
-  locale loc_en(locale("en_US"));
-  locale loc_fr(locale("fr_FR"));
+  locale loc_en(locale(ISO_8859(1,en_US)));
+  locale loc_fr(locale(ISO_8859(15,fr_FR)));
 
   const char* name = "tmp_13582-3.tst";
 
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 // { dg-require-fork "" }
 // { dg-require-mkfifo "" }
 
@@ -42,7 +42,7 @@ 
   using namespace __gnu_test;
   bool test __attribute__((unused)) = true;
 
-  locale loc_us = locale("en_US");
+  locale loc_us = locale(ISO_8859(1,en_US));
 
   const char* name = "tmp_14975-2";
 
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2003-05-13 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -43,7 +43,7 @@ 
   VERIFY( p != bad);
 
   // According to 27.5.2.2.1, p1, loc == getloc() after pubimbue(loc).
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   locale ret = ob.pubimbue(loc_de);
   VERIFY( ob.getloc() == loc_de );
 }
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-05-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -36,10 +36,10 @@ 
   std::wfilebuf ob;
   VERIFY( ob.getloc() == loc );
 
-  locale::global(locale("en_US"));
+  locale::global(locale(ISO_8859(1,en_US)));
   VERIFY( ob.getloc() == loc );
 
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   locale ret = ob.pubimbue(loc_de);
   VERIFY( ob.getloc() == loc_de );
   VERIFY( ret == loc );
Index: libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE.ISO-8859-15@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2003-05-03  Petur Runolfsson <peturr02@ru.is>
 
@@ -36,7 +36,7 @@ 
     putc(static_cast<unsigned char>(i), file);
   fclose(file);
 
-  locale loc (locale("de_DE.ISO-8859-15@euro"));
+  locale loc (locale(ISO_8859(15,de_DE)));
   wchar_t buf[1];
   wfilebuf fb;
   fb.pubimbue(loc);
Index: libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 1999-09-20 bkoz
 
@@ -36,7 +36,7 @@ 
   typedef std::ios_base::fmtflags fmtflags;
   typedef std::ios_base::iostate iostate;
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   std::ios ios_01(0);
   std::ios ios_02(0);
   ios_01.imbue(loc_c);
Index: libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 1999-11-15 Kevin Ediger  <kediger@licor.com>
 // test the floating point inserters (facet num_put)
@@ -42,7 +42,7 @@ 
   os2.setf(ios::fixed);
 
   // Check it can be done in a locale with grouping on.
-  locale loc2 = locale("de_DE");
+  locale loc2 = locale(ISO_8859(15,de_DE));
   os2.imbue(loc2);
   os2 << fixed << setprecision(3) << val2 << endl;
   os2 << endl;
Index: libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // Copyright (C) 2005-2015 Free Software Foundation, Inc.
 //
@@ -39,7 +39,7 @@ 
   os2.setf(wios::fixed);
 
   // Check it can be done in a locale with grouping on.
-  locale loc2 = locale("de_DE");
+  locale loc2 = locale(ISO_8859(15,de_DE));
   os2.imbue(loc2);
   os2 << fixed << setprecision(3) << val2 << endl;
   os2 << endl;
Index: libstdc++-v3/testsuite/27_io/basic_streambuf/cons/57394.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_streambuf/cons/57394.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_streambuf/cons/57394.cc	(working copy)
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++11" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 27.6.3 template class basic_streambuf
 
@@ -105,7 +105,7 @@ 
 
 int main()
 {
-  std::locale loc("de_DE");
+  std::locale loc(ISO_8859(15,de_DE));
   streambuf s(loc);
   s.test_copy();
   s.test_assign();
Index: libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // Copyright (C) 2003-2015 Free Software Foundation, Inc.
 //
@@ -46,7 +46,7 @@ 
   bool test __attribute__((unused)) = true;
 
   Buf2 buf;
-  std::locale loc(std::locale("en_US"));
+  std::locale loc(std::locale(ISO_8859(1,en_US)));
 
   buf.pubimbue(loc);
 
Index: libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 1999-10-11 bkoz
 
@@ -45,10 +45,10 @@ 
   testbuf ob;
   VERIFY( ob.getloc() == loc );
 
-  locale::global(locale("en_US"));
+  locale::global(locale(ISO_8859(1,en_US)));
   VERIFY( ob.getloc() == loc );
 
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   locale ret = ob.pubimbue(loc_de);
   VERIFY( ob.getloc() == loc_de );
   VERIFY( ret == loc );
Index: libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "en_US" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
 
 // Copyright (C) 2003-2015 Free Software Foundation, Inc.
 //
@@ -46,7 +46,7 @@ 
   bool test __attribute__((unused)) = true;
 
   Buf2 buf;
-  std::locale loc(std::locale("en_US"));
+  std::locale loc(std::locale(ISO_8859(1,en_US)));
 
   buf.pubimbue(loc);
 
Index: libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 1999-10-11 bkoz
 
@@ -45,10 +45,10 @@ 
   testbuf ob;
   VERIFY( ob.getloc() == loc );
 
-  locale::global(locale("en_US"));
+  locale::global(locale(ISO_8859(1,en_US)));
   VERIFY( ob.getloc() == loc );
 
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   locale ret = ob.pubimbue(loc_de);
   VERIFY( ob.getloc() == loc_de );
   VERIFY( ret == loc );
Index: libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-05-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,10 +35,10 @@ 
   std::stringbuf ob;
   VERIFY( ob.getloc() == loc );
 
-  locale::global(locale("en_US"));
+  locale::global(locale(ISO_8859(1,en_US)));
   VERIFY( ob.getloc() == loc );
 
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   locale ret = ob.pubimbue(loc_de);
   VERIFY( ob.getloc() == loc_de );
   VERIFY( ret == loc );
Index: libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc	(working copy)
@@ -1,5 +1,5 @@ 
-// { dg-require-namedlocale "en_US" }
-// { dg-require-namedlocale "de_DE" }
+// { dg-require-namedlocale "en_US.ISO8859-1" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2001-05-21 Benjamin Kosnik  <bkoz@redhat.com>
 
@@ -35,10 +35,10 @@ 
   std::wstringbuf ob;
   VERIFY( ob.getloc() == loc );
 
-  locale::global(locale("en_US"));
+  locale::global(locale(ISO_8859(1,en_US)));
   VERIFY( ob.getloc() == loc );
 
-  locale loc_de = locale("de_DE");
+  locale loc_de = locale(ISO_8859(15,de_DE));
   locale ret = ob.pubimbue(loc_de);
   VERIFY( ob.getloc() == loc_de );
   VERIFY( ret == loc );
Index: libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/char/1.cc	(working copy)
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++11" }
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-1" }
 
 // 2010-03-01  Paolo Carlini  <paolo.carlini@oracle.com>
 
@@ -28,7 +28,7 @@ 
 {
   bool test __attribute__((unused)) = true;
 
-  std::locale loc_de = std::locale("de_DE@euro");
+  std::locale loc_de = std::locale(ISO_8859(15,de_DE));
 
   std::istringstream iss;
   iss.imbue(loc_de);
Index: libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc	(working copy)
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++11" }
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2010-03-01  Paolo Carlini  <paolo.carlini@oracle.com>
 
@@ -28,7 +28,7 @@ 
 {
   bool test __attribute__((unused)) = true;
 
-  std::locale loc_de = std::locale("de_DE@euro");
+  std::locale loc_de = std::locale(ISO_8859(15,de_DE));
 
   std::wistringstream iss;
   iss.imbue(loc_de);
Index: libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE.utf8" }
+// { dg-require-namedlocale "de_DE.UTF-8" }
 // { dg-options " -std=gnu++11 " }
 
 // 2014-04-14 Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
@@ -32,7 +32,7 @@ 
   using namespace std;
   bool test __attribute__((unused)) = true;
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE.utf8");
+  locale loc_de = locale("de_DE.UTF-8");
   VERIFY( loc_de != loc_c );
   istringstream iss;
   iss.imbue(loc_de);
Index: libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE.utf8" }
+// { dg-require-namedlocale "de_DE.UTF-8" }
 // { dg-options " -std=gnu++11 " }
 
 // 2014-04-14 Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
@@ -33,7 +33,7 @@ 
   using namespace std;
   bool test __attribute__((unused)) = true;
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE.utf8");
+  locale loc_de = locale("de_DE.UTF-8");
   VERIFY( loc_de != loc_c );
   wistringstream iss;
   iss.imbue(loc_de);
Index: libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/char/1.cc	(working copy)
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++11" }
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2010-03-01  Paolo Carlini  <paolo.carlini@oracle.com>
 
@@ -28,7 +28,7 @@ 
 {
   bool test __attribute__((unused)) = true;
 
-  std::locale loc_de = std::locale("de_DE@euro");
+  std::locale loc_de = std::locale(ISO_8859(15,de_DE));
 
   std::ostringstream oss;
   oss.imbue(loc_de);
Index: libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc	(working copy)
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++11" }
-// { dg-require-namedlocale "de_DE@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2010-03-01  Paolo Carlini  <paolo.carlini@oracle.com>
 
@@ -28,7 +28,7 @@ 
 {
   bool test __attribute__((unused)) = true;
 
-  std::locale loc_de = std::locale("de_DE@euro");
+  std::locale loc_de = std::locale(ISO_8859(15,de_DE));
 
   std::wostringstream oss;
   oss.imbue(loc_de);
Index: libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/char/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE.utf8" }
+// { dg-require-namedlocale "de_DE.UTF-8" }
 // { dg-options " -std=gnu++11 " }
 
 // 2014-04-14 Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
@@ -32,7 +32,7 @@ 
   using namespace std;
   bool test __attribute__((unused)) = true;
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE.utf8");
+  locale loc_de = locale("de_DE.UTF-8");
   VERIFY( loc_de != loc_c );
   ostringstream oss;
   oss.imbue(loc_de);
Index: libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE.utf8" }
+// { dg-require-namedlocale "de_DE.UTF-8" }
 // { dg-options " -std=gnu++11 " }
 
 // 2014-04-14 Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
@@ -32,7 +32,7 @@ 
   using namespace std;
   bool test __attribute__((unused)) = true;
   locale loc_c = locale::classic();
-  locale loc_de = locale("de_DE.utf8");
+  locale loc_de = locale("de_DE.UTF-8");
   VERIFY( loc_de != loc_c );
   wostringstream oss;
   oss.imbue(loc_de);
Index: libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.cc	(working copy)
@@ -36,13 +36,13 @@ 
   if (wcin.get(c) && !isspace(c, wcin.getloc()))
     {
       str.push_back(c);
-      wcin.imbue(locale("en_US"));
+      wcin.imbue(locale(ISO_8859(1,en_US)));
     }
 
   if (wcin.get(c) && !isspace(c, wcin.getloc()))
     {
       str.push_back(c);
-      wcin.imbue(locale("fr_FR"));
+      wcin.imbue(locale(ISO_8859(15,fr_FR)));
     }
 
   while (wcin.get(c) && !isspace(c, wcin.getloc()))
Index: libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc
===================================================================
--- libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc	(revision 227835)
+++ libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc	(working copy)
@@ -1,4 +1,4 @@ 
-// { dg-require-namedlocale "de_DE.ISO-8859-15@euro" }
+// { dg-require-namedlocale "de_DE.ISO8859-15" }
 
 // 2003-04-30  Petur Runolfsson <peturr02@ru.is>
 
@@ -35,7 +35,7 @@ 
     putc(static_cast<unsigned char>(i), file);
   fclose(file);
 
-  locale loc (locale("de_DE.ISO-8859-15@euro"));
+  locale loc (locale(ISO_8859(15,de_DE)));
   locale::global(loc); // Set locale for stdin
 
   VERIFY( freopen(name, "r", stdin) );
Index: libstdc++-v3/testsuite/lib/libstdc++.exp
===================================================================
--- libstdc++-v3/testsuite/lib/libstdc++.exp	(revision 227835)
+++ libstdc++-v3/testsuite/lib/libstdc++.exp	(working copy)
@@ -888,7 +888,7 @@ 
 
 proc check_v3_target_namedlocale { args } {
     global et_namedlocale
-    global tool	
+    global tool
 
     set et_namedlocale 0
 
@@ -902,7 +902,21 @@ 
       set f [open $src "w"]
       puts $f "#include <locale>"
       puts $f "#include <cstdio>"
-      puts $f "using namespace std;"	
+      puts $f "#include <cstring>"
+      puts $f "using namespace std;"
+      puts $f "char *transform_locale(const char *name)"
+      puts $f "{"
+      puts $f "    char *result = new char\[50\];"
+      puts $f "    strcpy(result, name);"
+      puts $f "#if defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__"
+      puts $f "    /* fall-through */"
+      puts $f "#else"
+      puts $f "    if (strstr(result, \"ISO8859-15\")) {"
+      puts $f "        strcat(result, \"@euro\");"
+      puts $f "    }"
+      puts $f "#endif"
+      puts $f "    return result;"
+      puts $f "}"
       puts $f "int main (int argc, char** argv)"
       puts $f "{"
       puts $f "  if (argc < 2)"
@@ -909,17 +923,20 @@ 
       puts $f "  {"
       puts $f "    printf(\"locale support test not supported\\n\");"
       puts $f "    return 1;"
-      puts $f "  }"	
-      puts $f "  try"	
+      puts $f "  }"
+      puts $f "  const char *namedloc = transform_locale(*(argv + 1));"
+      puts $f "  try"
       puts $f "  {"
-      puts $f "    locale(*(argv + 1));"
+      puts $f "    locale((const char*)namedloc);"
+      puts $f "    delete namedloc;"
       puts $f "    return 0;"
       puts $f "  }"
       puts $f "  catch(...)"
       puts $f "  {"
-      puts $f "    printf(\"locale '%s' not supported\\n\", *(argv + 1));"
+      puts $f "    printf(\"locale '%s' not supported\\n\", namedloc);"
+      puts $f "    delete namedloc;"
       puts $f "    return 1;"
-      puts $f "  }"	
+      puts $f "  }"
       puts $f "}"
       close $f
 
Index: libstdc++-v3/testsuite/util/testsuite_hooks.h
===================================================================
--- libstdc++-v3/testsuite/util/testsuite_hooks.h	(revision 227835)
+++ libstdc++-v3/testsuite/util/testsuite_hooks.h	(working copy)
@@ -67,6 +67,13 @@ 
 # define unlink(x)
 #endif
 
+#if defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__
+# define ISO_8859(part,langTERR) #langTERR ".ISO8859-" #part
+#else
+# define ISO_8859(part,langTERR) ((part) == 15 ?\
+         #langTERR ".ISO8859-" #part "@euro" : #langTERR ".ISO8859-" #part)
+#endif
+
 namespace __gnu_test
 {
   // All macros are defined in GLIBCXX_CONFIGURE_TESTSUITE and imported