1// Copyright (C) 2015 Free Software Foundation, Inc. 2// 3// This file is part of the GNU ISO C++ Library. This library is free 4// software; you can redistribute it and/or modify it under the 5// terms of the GNU General Public License as published by the 6// Free Software Foundation; either version 3, or (at your option) 7// any later version. 8 9// This library is distributed in the hope that it will be useful, 10// but WITHOUT ANY WARRANTY; without even the implied warranty of 11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12// GNU General Public License for more details. 13 14// You should have received a copy of the GNU General Public License along 15// with this library; see the file COPYING3. If not see 16// <http://www.gnu.org/licenses/>. 17 18// { dg-require-cstdint "" } 19// { dg-options "-std=gnu++11" } 20// { dg-do compile } 21 22#include <codecvt> 23#include <type_traits> 24 25template<typename C> 26 using codecvt = std::codecvt<C, char, std::mbstate_t>; 27 28using std::is_base_of; 29 30static_assert( 31 is_base_of<codecvt<char16_t>, std::codecvt_utf8<char16_t>>::value, 32 "codecvt_utf8<char16_t> has wrong base class"); 33 34static_assert( 35 is_base_of<codecvt<char32_t>, std::codecvt_utf8<char32_t>>::value, 36 "codecvt_utf8<char32_t> has wrong base class"); 37