1*f8a1b7d9SAlexander Kabaev // Compatibility symbols for -mlong-double-64 compatibility -*- C++ -*- 2*f8a1b7d9SAlexander Kabaev 3*f8a1b7d9SAlexander Kabaev // Copyright (C) 2006 4*f8a1b7d9SAlexander Kabaev // Free Software Foundation, Inc. 5*f8a1b7d9SAlexander Kabaev // 6*f8a1b7d9SAlexander Kabaev // This file is part of the GNU ISO C++ Library. This library is free 7*f8a1b7d9SAlexander Kabaev // software; you can redistribute it and/or modify it under the 8*f8a1b7d9SAlexander Kabaev // terms of the GNU General Public License as published by the 9*f8a1b7d9SAlexander Kabaev // Free Software Foundation; either version 2, or (at your option) 10*f8a1b7d9SAlexander Kabaev // any later version. 11*f8a1b7d9SAlexander Kabaev 12*f8a1b7d9SAlexander Kabaev // This library is distributed in the hope that it will be useful, 13*f8a1b7d9SAlexander Kabaev // but WITHOUT ANY WARRANTY; without even the implied warranty of 14*f8a1b7d9SAlexander Kabaev // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*f8a1b7d9SAlexander Kabaev // GNU General Public License for more details. 16*f8a1b7d9SAlexander Kabaev 17*f8a1b7d9SAlexander Kabaev // You should have received a copy of the GNU General Public License along 18*f8a1b7d9SAlexander Kabaev // with this library; see the file COPYING. If not, write to the Free 19*f8a1b7d9SAlexander Kabaev // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 20*f8a1b7d9SAlexander Kabaev // USA. 21*f8a1b7d9SAlexander Kabaev 22*f8a1b7d9SAlexander Kabaev // As a special exception, you may use this file as part of a free software 23*f8a1b7d9SAlexander Kabaev // library without restriction. Specifically, if other files instantiate 24*f8a1b7d9SAlexander Kabaev // templates or use macros or inline functions from this file, or you compile 25*f8a1b7d9SAlexander Kabaev // this file and link it with other files to produce an executable, this 26*f8a1b7d9SAlexander Kabaev // file does not by itself cause the resulting executable to be covered by 27*f8a1b7d9SAlexander Kabaev // the GNU General Public License. This exception does not however 28*f8a1b7d9SAlexander Kabaev // invalidate any other reasons why the executable file might be covered by 29*f8a1b7d9SAlexander Kabaev // the GNU General Public License. 30*f8a1b7d9SAlexander Kabaev 31*f8a1b7d9SAlexander Kabaev #include <locale> 32*f8a1b7d9SAlexander Kabaev 33*f8a1b7d9SAlexander Kabaev #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT 34*f8a1b7d9SAlexander Kabaev 35*f8a1b7d9SAlexander Kabaev #ifdef __LONG_DOUBLE_128__ 36*f8a1b7d9SAlexander Kabaev #error "compatibility-ldbl.cc must be compiled with -mlong-double-64" 37*f8a1b7d9SAlexander Kabaev #endif 38*f8a1b7d9SAlexander Kabaev 39*f8a1b7d9SAlexander Kabaev namespace std 40*f8a1b7d9SAlexander Kabaev { 41*f8a1b7d9SAlexander Kabaev #define C char 42*f8a1b7d9SAlexander Kabaev template class num_get<C, istreambuf_iterator<C> >; 43*f8a1b7d9SAlexander Kabaev template class num_put<C, ostreambuf_iterator<C> >; 44*f8a1b7d9SAlexander Kabaev template class money_get<C, istreambuf_iterator<C> >; 45*f8a1b7d9SAlexander Kabaev template class money_put<C, ostreambuf_iterator<C> >; 46*f8a1b7d9SAlexander Kabaev template const num_put<C>& use_facet<num_put<C> >(const locale&); 47*f8a1b7d9SAlexander Kabaev template const num_get<C>& use_facet<num_get<C> >(const locale&); 48*f8a1b7d9SAlexander Kabaev template const money_put<C>& use_facet<money_put<C> >(const locale&); 49*f8a1b7d9SAlexander Kabaev template const money_get<C>& use_facet<money_get<C> >(const locale&); 50*f8a1b7d9SAlexander Kabaev template bool has_facet<num_put<C> >(const locale&); 51*f8a1b7d9SAlexander Kabaev template bool has_facet<num_get<C> >(const locale&); 52*f8a1b7d9SAlexander Kabaev template bool has_facet<money_put<C> >(const locale&); 53*f8a1b7d9SAlexander Kabaev template bool has_facet<money_get<C> >(const locale&); 54*f8a1b7d9SAlexander Kabaev #undef C 55*f8a1b7d9SAlexander Kabaev #ifdef _GLIBCXX_USE_WCHAR_T 56*f8a1b7d9SAlexander Kabaev #define C wchar_t 57*f8a1b7d9SAlexander Kabaev template class num_get<C, istreambuf_iterator<C> >; 58*f8a1b7d9SAlexander Kabaev template class num_put<C, ostreambuf_iterator<C> >; 59*f8a1b7d9SAlexander Kabaev template class money_get<C, istreambuf_iterator<C> >; 60*f8a1b7d9SAlexander Kabaev template class money_put<C, ostreambuf_iterator<C> >; 61*f8a1b7d9SAlexander Kabaev template const num_put<C>& use_facet<num_put<C> >(const locale&); 62*f8a1b7d9SAlexander Kabaev template const num_get<C>& use_facet<num_get<C> >(const locale&); 63*f8a1b7d9SAlexander Kabaev template const money_put<C>& use_facet<money_put<C> >(const locale&); 64*f8a1b7d9SAlexander Kabaev template const money_get<C>& use_facet<money_get<C> >(const locale&); 65*f8a1b7d9SAlexander Kabaev template bool has_facet<num_put<C> >(const locale&); 66*f8a1b7d9SAlexander Kabaev template bool has_facet<num_get<C> >(const locale&); 67*f8a1b7d9SAlexander Kabaev template bool has_facet<money_put<C> >(const locale&); 68*f8a1b7d9SAlexander Kabaev template bool has_facet<money_get<C> >(const locale&); 69*f8a1b7d9SAlexander Kabaev #undef C 70*f8a1b7d9SAlexander Kabaev #endif 71*f8a1b7d9SAlexander Kabaev } 72*f8a1b7d9SAlexander Kabaev 73*f8a1b7d9SAlexander Kabaev #endif 74