gcc/libstdc++-v3/testsuite/20_util/is_pod/value.cc

53 lines
2.2 KiB
C++
Raw Normal View History

// { dg-do compile { target c++11 } }
testsuite_tr1.h (test_category, [...]): constexpr in c++11 mode. 2013-12-06 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/util/testsuite_tr1.h (test_category, test_property, test_relationship): constexpr in c++11 mode. * testsuite/20_util/add_lvalue_reference/value.cc: Use static_assert and change to dg-do compile testcase. * testsuite/20_util/add_rvalue_reference/value.cc: Likewise. * testsuite/20_util/aligned_storage/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. * testsuite/20_util/is_compound/value.cc: Likewise. * testsuite/20_util/is_constructible/value.cc: Likewise. * testsuite/20_util/is_convertible/value.cc: Likewise. * testsuite/20_util/is_copy_assignable/value.cc: Likewise. * testsuite/20_util/is_copy_constructible/value.cc: Likewise. * testsuite/20_util/is_floating_point/value.cc: Likewise. * testsuite/20_util/is_function/value.cc: Likewise. * testsuite/20_util/is_fundamental/value.cc: Likewise. * testsuite/20_util/is_integral/value.cc: Likewise. * testsuite/20_util/is_literal_type/value.cc: Likewise. * testsuite/20_util/is_lvalue_reference/value.cc: Likewise. * testsuite/20_util/is_member_function_pointer/value.cc: Likewise. * testsuite/20_util/is_member_object_pointer/value.cc: Likewise. * testsuite/20_util/is_member_pointer/value.cc: Likewise. * testsuite/20_util/is_move_assignable/value.cc: Likewise. * testsuite/20_util/is_move_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_assignable/value.cc: Likewise. * testsuite/20_util/is_nothrow_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise. * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_default_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise. * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise. * testsuite/20_util/is_null_pointer/value.cc: Likewise. * testsuite/20_util/is_object/value.cc: Likewise. * testsuite/20_util/is_pod/value.cc: Likewise. * testsuite/20_util/is_reference/value.cc: Likewise. * testsuite/20_util/is_rvalue_reference/value.cc: Likewise. * testsuite/20_util/is_scalar/value.cc: Likewise. * testsuite/20_util/is_signed/value.cc: Likewise. * testsuite/20_util/is_standard_layout/value.cc: Likewise. * testsuite/20_util/is_trivial/value.cc: Likewise. * testsuite/20_util/is_trivially_destructible/value.cc: Likewise. * testsuite/20_util/is_unsigned/value.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/remove_reference/value.cc: Likewise. From-SVN: r205766
2013-12-07 00:08:41 +01:00
// 2010-02-21 Paolo Carlini <pcarlini@suse.de>
//
// Copyright (C) 2010-2019 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 <type_traits>
#include <testsuite_tr1.h>
void test01()
{
using std::is_pod;
using namespace __gnu_test;
testsuite_tr1.h (test_category, [...]): constexpr in c++11 mode. 2013-12-06 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/util/testsuite_tr1.h (test_category, test_property, test_relationship): constexpr in c++11 mode. * testsuite/20_util/add_lvalue_reference/value.cc: Use static_assert and change to dg-do compile testcase. * testsuite/20_util/add_rvalue_reference/value.cc: Likewise. * testsuite/20_util/aligned_storage/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. * testsuite/20_util/is_compound/value.cc: Likewise. * testsuite/20_util/is_constructible/value.cc: Likewise. * testsuite/20_util/is_convertible/value.cc: Likewise. * testsuite/20_util/is_copy_assignable/value.cc: Likewise. * testsuite/20_util/is_copy_constructible/value.cc: Likewise. * testsuite/20_util/is_floating_point/value.cc: Likewise. * testsuite/20_util/is_function/value.cc: Likewise. * testsuite/20_util/is_fundamental/value.cc: Likewise. * testsuite/20_util/is_integral/value.cc: Likewise. * testsuite/20_util/is_literal_type/value.cc: Likewise. * testsuite/20_util/is_lvalue_reference/value.cc: Likewise. * testsuite/20_util/is_member_function_pointer/value.cc: Likewise. * testsuite/20_util/is_member_object_pointer/value.cc: Likewise. * testsuite/20_util/is_member_pointer/value.cc: Likewise. * testsuite/20_util/is_move_assignable/value.cc: Likewise. * testsuite/20_util/is_move_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_assignable/value.cc: Likewise. * testsuite/20_util/is_nothrow_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise. * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_default_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise. * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise. * testsuite/20_util/is_null_pointer/value.cc: Likewise. * testsuite/20_util/is_object/value.cc: Likewise. * testsuite/20_util/is_pod/value.cc: Likewise. * testsuite/20_util/is_reference/value.cc: Likewise. * testsuite/20_util/is_rvalue_reference/value.cc: Likewise. * testsuite/20_util/is_scalar/value.cc: Likewise. * testsuite/20_util/is_signed/value.cc: Likewise. * testsuite/20_util/is_standard_layout/value.cc: Likewise. * testsuite/20_util/is_trivial/value.cc: Likewise. * testsuite/20_util/is_trivially_destructible/value.cc: Likewise. * testsuite/20_util/is_unsigned/value.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/remove_reference/value.cc: Likewise. From-SVN: r205766
2013-12-07 00:08:41 +01:00
static_assert(test_category<is_pod, int>(true), "");
static_assert(test_category<is_pod, float>(true), "");
static_assert(test_category<is_pod, EnumType>(true), "");
static_assert(test_category<is_pod, int*>(true), "");
static_assert(test_category<is_pod, int(*)(int)>(true), "");
static_assert(test_category<is_pod, int (ClassType::*)>(true), "");
static_assert(test_category<is_pod, int (ClassType::*) (int)>(true), "");
static_assert(test_category<is_pod, int[2]>(true), "");
static_assert(test_category<is_pod, float[][3]>(true), "");
static_assert(test_category<is_pod, EnumType[2][3][4]>(true), "");
static_assert(test_category<is_pod, int*[3]>(true), "");
static_assert(test_category<is_pod, int(*[][2])(int)>(true), "");
static_assert(test_category<is_pod, int (ClassType::*[2][3])>(true), "");
static_assert(test_category<is_pod,
int (ClassType::*[][2][3]) (int)>(true), "");
static_assert(test_category<is_pod, ClassType>(true), "");
static_assert(test_category<is_pod, PODType>(true), "");
testsuite_tr1.h (test_category, [...]): constexpr in c++11 mode. 2013-12-06 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/util/testsuite_tr1.h (test_category, test_property, test_relationship): constexpr in c++11 mode. * testsuite/20_util/add_lvalue_reference/value.cc: Use static_assert and change to dg-do compile testcase. * testsuite/20_util/add_rvalue_reference/value.cc: Likewise. * testsuite/20_util/aligned_storage/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. * testsuite/20_util/is_compound/value.cc: Likewise. * testsuite/20_util/is_constructible/value.cc: Likewise. * testsuite/20_util/is_convertible/value.cc: Likewise. * testsuite/20_util/is_copy_assignable/value.cc: Likewise. * testsuite/20_util/is_copy_constructible/value.cc: Likewise. * testsuite/20_util/is_floating_point/value.cc: Likewise. * testsuite/20_util/is_function/value.cc: Likewise. * testsuite/20_util/is_fundamental/value.cc: Likewise. * testsuite/20_util/is_integral/value.cc: Likewise. * testsuite/20_util/is_literal_type/value.cc: Likewise. * testsuite/20_util/is_lvalue_reference/value.cc: Likewise. * testsuite/20_util/is_member_function_pointer/value.cc: Likewise. * testsuite/20_util/is_member_object_pointer/value.cc: Likewise. * testsuite/20_util/is_member_pointer/value.cc: Likewise. * testsuite/20_util/is_move_assignable/value.cc: Likewise. * testsuite/20_util/is_move_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_assignable/value.cc: Likewise. * testsuite/20_util/is_nothrow_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise. * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_default_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise. * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise. * testsuite/20_util/is_null_pointer/value.cc: Likewise. * testsuite/20_util/is_object/value.cc: Likewise. * testsuite/20_util/is_pod/value.cc: Likewise. * testsuite/20_util/is_reference/value.cc: Likewise. * testsuite/20_util/is_rvalue_reference/value.cc: Likewise. * testsuite/20_util/is_scalar/value.cc: Likewise. * testsuite/20_util/is_signed/value.cc: Likewise. * testsuite/20_util/is_standard_layout/value.cc: Likewise. * testsuite/20_util/is_trivial/value.cc: Likewise. * testsuite/20_util/is_trivially_destructible/value.cc: Likewise. * testsuite/20_util/is_unsigned/value.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/remove_reference/value.cc: Likewise. From-SVN: r205766
2013-12-07 00:08:41 +01:00
static_assert(test_category<is_pod, void>(false), "");
static_assert(test_category<is_pod, NType>(false), "");
static_assert(test_category<is_pod, TType>(false), "");
static_assert(test_category<is_pod, SLType>(false), "");
}