From c1c67b4f5041c4367842002c81ffe912ff97f2d8 Mon Sep 17 00:00:00 2001 From: jason Date: Thu, 16 Jul 2009 20:36:10 +0000 Subject: PR libstdc++/37907 Support std::is_standard_layout and std::is_trivial traits, change POD to C++0x version (except for layout). * gcc/c-common.c (c_common_reswords): Add __is_standard_layout and __is_trivial. * gcc/c-common.h (enum rid): Add RID_IS_STD_LAYOUT and RID_IS_TRIVIAL. * gcc/cp/cp-tree.h (enum cp_trait_kind): Add CPTK_IS_STD_LAYOUT, CPTK_IS_TRIVIAL. (struct lang_type_class): Add non_std_layout. (CLASSTYPE_NON_STD_LAYOUT): New. * gcc/cp/class.c (check_bases): Set it. (check_field_decls): Likewise. (check_bases_and_members): Likewise. * gcc/cp/parser.c (cp_parser_primary_expression): Handle RID_IS_STD_LAYOUT, RID_IS_TRIVIAL. (cp_parser_trait_expr): Likewise. * gcc/cp/semantics.c (trait_expr_value): Handle CPTK_IS_STD_LAYOUT, CPTK_IS_TRIVIAL. (finish_trait_expr): Likewise. * gcc/cp/tree.c (scalarish_type_p, trivial_type_p, std_layout_type_p): New. (pod_type_p): Use them. * gcc/cp/typeck.c (build_class_member_access_expr): Check CLASSTYPE_NON_STD_LAYOUT rather than CLASSTYPE_NON_POD_P. * libstdc++-v3/include/std/type_traits: Add is_standard_layout, is_trivial. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149721 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/doc/gcc.texi | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/doc/gcc.texi') diff --git a/gcc/doc/gcc.texi b/gcc/doc/gcc.texi index 41031752bf2..34b89634033 100644 --- a/gcc/doc/gcc.texi +++ b/gcc/doc/gcc.texi @@ -134,6 +134,7 @@ Introduction, gccint, GNU Compiler Collection (GCC) Internals}. * Invoking GCC:: Command options supported by @samp{gcc}. * C Implementation:: How GCC implements the ISO C specification. * C Extensions:: GNU extensions to the C language family. +* C++ Implementation:: How GCC implements the ISO C++ specification. * C++ Extensions:: GNU extensions to the C++ language. * Objective-C:: GNU Objective-C runtime features. * Compatibility:: Binary Compatibility @@ -159,6 +160,7 @@ Introduction, gccint, GNU Compiler Collection (GCC) Internals}. @include standards.texi @include invoke.texi @include implement-c.texi +@include implement-cxx.texi @include extend.texi @include objc.texi @include compat.texi -- cgit v1.2.1