Index: gcc/libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc |
diff --git a/gcc/libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc b/gcc/libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc |
deleted file mode 100644 |
index ea40ae998e9b78aec75569555fcff1157f6869fe..0000000000000000000000000000000000000000 |
--- a/gcc/libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc |
+++ /dev/null |
@@ -1,132 +0,0 @@ |
-// { dg-require-namedlocale "" } |
- |
-// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. |
-// |
-// This file is part of the GNU ISO C++ Library. This library is free |
-// software; you can redistribute it and/or modify it under the |
-// terms of the GNU General Public License as published by the |
-// Free Software Foundation; either version 3, or (at your option) |
-// any later version. |
- |
-// This library is distributed in the hope that it will be useful, |
-// but WITHOUT ANY WARRANTY; without even the implied warranty of |
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
-// GNU General Public License for more details. |
- |
-// You should have received a copy of the GNU General Public License along |
-// with this library; see the file COPYING3. If not see |
-// <http://www.gnu.org/licenses/>. |
- |
-#include <sstream> |
-#include <locale> |
-#include <testsuite_hooks.h> |
- |
-int main() |
-{ |
- using namespace std; |
- |
- bool test __attribute__((unused)) = true; |
- locale l1 = locale("de_DE"); |
- locale l2 = locale("es_ES"); |
- |
- const time_put<char> &tp = use_facet<time_put<char> >(l1); |
- ostringstream oss; |
- oss.imbue(l2); |
- |
- tm t = tm(); |
- tp.put(oss.rdbuf(), oss, ' ', &t, 'A'); |
- string res = oss.str(); |
- |
- VERIFY( res == "domingo" ); |
- |
- return 0; |
-} |
- |
-// Two interpretations of the standard. |
- |
-// 1 : time_get, time_put each have their own data internally |
-// use internal data for time and date specifics |
-// use getloc for ctype info |
- |
-// 2 : time_get, time_put use the ios_base& argument and getloc to |
-// retrieve the necessary data. |
-// use getloc for ctype, time and date specifics |
- |
-// It is my opinion that the language in the standard is sufficiently |
-// vague to permit both interpretations. In particular, the interface |
-// for time_get and time_put is based on strftime, which as |
-// POSIX notes is dependent on LC_TIME. The C++ standard, however, |
-// does not specify the equivalent mappings of LC_TIME to time_get and |
-// time_put. |
- |
-/* |
-The problems with the first approach, as above, are numerous. |
- |
-1) The locale usage and design for formatters and parsers becomes |
- fragmented. On one side, num_put and money_put, and on the other, |
- time_put. This inconsistency is not useful. |
- |
-2) The data structures for time and date formatting are the largest in |
- the locale library. Making time_put and time_get keep separate |
- copies is inefficient. (Note that time_put and time_get are in the |
- same locale::category). |
-*/ |
- |
- |
-/* |
-22.2.5 - The time category [lib.category.time] |
- |
--1- Templates time_get<charT,InputIterator> and |
- time_put<charT,OutputIterator> provide date and time formatting and |
- parsing. All specifications of member functions for time_put and |
- time_get in the subclauses of lib.category.time only apply to the |
- instantiations required in Tables 51 and 52 |
- (lib.locale.category). Their members use their ios_base&, |
- ios_base::iostate&, and fill arguments as described in |
- (lib.locale.categories), and the ctype<> facet, to determine |
- formatting details. |
-*/ |
- |
-/* |
-22.2 - Standard locale categories [lib.locale.categories] |
- |
--1- Each of the standard categories includes a family of facets. Some |
- of these implement formatting or parsing of a datum, for use by |
- standard or users' iostream operators << and >>, as members put() and |
- get(), respectively. Each such member function takes an ios_base& |
- argument whose members flags(), precision(), and width(), specify the |
- format of the corresponding datum. (lib.ios.base). Those functions |
- which need to use other facets call its member getloc() to retrieve |
- the locale imbued there. Formatting facets use the character argument |
- fill to fill out the specified width where necessary. |
-*/ |
- |
-/* |
-With GCC/libstdc++, the output of the program with the arguments |
-of de_DE es_ES is: |
- domingo |
- lunes |
- martes |
- miércoles |
- jueves |
- viernes |
- sábado |
- |
-With Intel C++, it is: (this is clearly wrong) |
- Sunday |
- Monday |
- Tuesday |
- Wednesday |
- Thursday |
- Friday |
- Saturday |
- |
-And with RogueWave C++ |
- Sonntag |
- Montag |
- Dienstag |
- Mittwoch |
- Donnerstag |
- Freitag |
- Samstag |
-*/ |