gcc/libstdc++-v3/include
Jason Merrill c32097d8b4 re PR libstdc++/37907 ([c++0x] support for std::is_standard_layout)
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.

From-SVN: r149721
2009-07-16 16:36:10 -04:00
..
backward condition_variable.cc (condition_variable, [...]): Mark throw() 2009-04-18 21:19:18 +00:00
bits istream.tcc (basic_istream<>::operator>>(short&), [...]): Implement resolution of DR 696, [Ready] in Frankfurt. 2009-07-16 12:41:03 +00:00
c Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
c_compatibility stdatomic.h (__atomic_flag_for_address): Use _GLIBCXX_NOTHROW. 2009-04-19 13:16:34 +00:00
c_global cstdlib (abort, [...]): Mark noreturn throw (). 2009-04-22 17:41:33 +00:00
c_std cstdlib (abort, [...]): Mark noreturn throw (). 2009-04-22 17:41:33 +00:00
debug macros.h: Replace @tbd with valid doxygen tag @todo. 2009-06-23 18:51:48 +01:00
ext throw_allocator.h: Rework. 2009-06-05 08:45:26 +00:00
parallel re PR libstdc++/39546 (parallel mode doesn't support implicit string conversion) 2009-05-06 11:20:35 +00:00
precompiled Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
std re PR libstdc++/37907 ([c++0x] support for std::is_standard_layout) 2009-07-16 16:36:10 -04:00
tr1 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
tr1_impl istream.tcc (basic_istream<>::operator>>(short&), [...]): Implement resolution of DR 696, [Ready] in Frankfurt. 2009-07-16 12:41:03 +00:00
Makefile.am future: New. 2009-06-21 15:02:09 +01:00
Makefile.in future: New. 2009-06-21 15:02:09 +01:00