]> code.ossystems Code Review - openembedded-core.git/blob
49076dfa83ce16e07be8222399eeadc4e14712ca
[openembedded-core.git] /
1 From 63c4ffd33d8f3e61e53d30f50146e1bc4cb6e38a Mon Sep 17 00:00:00 2001
2 From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
3 Date: Sun, 24 Apr 2011 09:43:29 +0000
4 Subject: [PATCH 176/200] 2011-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
5
6         PR other/48748
7         * doc/extend.texi (Type Traits): Document __is_standard_layout,
8         __is_literal_type, and __is_trivial; update throughout about
9         possibly cv-qualified void types.
10
11
12 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172912 138bc75d-0d04-0410-961f-82ee72b054a4
13
14 index 998d703..c771436 100644
15 --- a/gcc/doc/extend.texi
16 +++ b/gcc/doc/extend.texi
17 @@ -14266,63 +14266,63 @@ If @code{type} is const qualified or is a reference type then the trait is
18  false.  Otherwise if @code{__has_trivial_assign (type)} is true then the trait
19  is true, else if @code{type} is a cv class or union type with copy assignment
20  operators that are known not to throw an exception then the trait is true,
21 -else it is false.  Requires: @code{type} shall be a complete type, an array
22 -type of unknown bound, or is a @code{void} type.
23 +else it is false.  Requires: @code{type} shall be a complete type, 
24 +(possibly cv-qualified) @code{void}, or an array of unknown bound.
25  
26  @item __has_nothrow_copy (type)
27  If @code{__has_trivial_copy (type)} is true then the trait is true, else if
28  @code{type} is a cv class or union type with copy constructors that
29  are known not to throw an exception then the trait is true, else it is false.
30 -Requires: @code{type} shall be a complete type, an array type of
31 -unknown bound, or is a @code{void} type.
32 +Requires: @code{type} shall be a complete type, (possibly cv-qualified)
33 +@code{void}, or an array of unknown bound.
34  
35  @item __has_nothrow_constructor (type)
36  If @code{__has_trivial_constructor (type)} is true then the trait is
37  true, else if @code{type} is a cv class or union type (or array
38  thereof) with a default constructor that is known not to throw an
39 -exception then the trait is true, else it is false.  Requires:
40 -@code{type} shall be a complete type, an array type of unknown bound,
41 -or is a @code{void} type.
42 +exception then the trait is true, else it is false.  Requires: 
43 +@code{type} shall be a complete type, (possibly cv-qualified) 
44 +@code{void}, or an array of unknown bound.
45  
46  @item __has_trivial_assign (type)
47  If @code{type} is const qualified or is a reference type then the trait is
48  false.  Otherwise if @code{__is_pod (type)} is true then the trait is
49  true, else if @code{type} is a cv class or union type with a trivial
50  copy assignment ([class.copy]) then the trait is true, else it is
51 -false.  Requires: @code{type} shall be a complete type, an array type
52 -of unknown bound, or is a @code{void} type.
53 +false.  Requires: @code{type} shall be a complete type, (possibly 
54 +cv-qualified) @code{void}, or an array of unknown bound.
55  
56  @item __has_trivial_copy (type)
57  If @code{__is_pod (type)} is true or @code{type} is a reference type 
58  then the trait is true, else if @code{type} is a cv class or union type
59  with a trivial copy constructor ([class.copy]) then the trait
60  is true, else it is false.  Requires: @code{type} shall be a complete
61 -type, an array type of unknown bound, or is a @code{void} type.
62 +type, (possibly cv-qualified) @code{void}, or an array of unknown bound.
63  
64  @item __has_trivial_constructor (type)
65  If @code{__is_pod (type)} is true then the trait is true, else if
66  @code{type} is a cv class or union type (or array thereof) with a
67  trivial default constructor ([class.ctor]) then the trait is true,
68 -else it is false.  Requires: @code{type} shall be a complete type, an
69 -array type of unknown bound, or is a @code{void} type.
70 +else it is false.  Requires: @code{type} shall be a complete
71 +type, (possibly cv-qualified) @code{void}, or an array of unknown bound.
72  
73  @item __has_trivial_destructor (type)
74  If @code{__is_pod (type)} is true or @code{type} is a reference type then
75  the trait is true, else if @code{type} is a cv class or union type (or
76  array thereof) with a trivial destructor ([class.dtor]) then the trait
77  is true, else it is false.  Requires: @code{type} shall be a complete
78 -type, an array type of unknown bound, or is a @code{void} type.
79 +type, (possibly cv-qualified) @code{void}, or an array of unknown bound.
80  
81  @item __has_virtual_destructor (type)
82  If @code{type} is a class type with a virtual destructor
83  ([class.dtor]) then the trait is true, else it is false.  Requires:
84 -@code{type}  shall be a complete type, an array type of unknown bound,
85 -or is a @code{void} type.
86 +@code{type} shall be a complete type, (possibly cv-qualified)
87 +@code{void}, or an array of unknown bound.
88  
89  @item __is_abstract (type)
90  If @code{type} is an abstract class ([class.abstract]) then the trait
91  is true, else it is false.  Requires: @code{type} shall be a complete
92 -type, an array type of unknown bound, or is a @code{void} type.
93 +type, (possibly cv-qualified) @code{void}, or an array of unknown bound.
94  
95  @item __is_base_of (base_type, derived_type)
96  If @code{base_type} is a base class of @code{derived_type}
97 @@ -14347,22 +14347,37 @@ any, are bit-fields of length 0, and @code{type} has no virtual
98  members, and @code{type} has no virtual base classes, and @code{type}
99  has no base classes @code{base_type} for which 
100  @code{__is_empty (base_type)} is false.  Requires: @code{type} shall
101 -be a complete type, an array type of unknown bound, or is a
102 -@code{void} type.
103 +be a complete type, (possibly cv-qualified) @code{void}, or an array
104 +of unknown bound.
105  
106  @item __is_enum (type)
107  If @code{type} is a cv enumeration type ([basic.compound]) the trait is
108  true, else it is false.
109  
110 +@item __is_literal_type (type)
111 +If @code{type} is a literal type ([basic.types]) the trait is
112 +true, else it is false.  Requires: @code{type} shall be a complete type,
113 +(possibly cv-qualified) @code{void}, or an array of unknown bound.
114 +
115  @item __is_pod (type)
116  If @code{type} is a cv POD type ([basic.types]) then the trait is true,
117 -else it is false.  Requires: @code{type} shall be a complete type, 
118 -an array type of unknown bound, or is a @code{void} type.
119 +else it is false.  Requires: @code{type} shall be a complete type,
120 +(possibly cv-qualified) @code{void}, or an array of unknown bound.
121  
122  @item __is_polymorphic (type)
123  If @code{type} is a polymorphic class ([class.virtual]) then the trait
124  is true, else it is false.  Requires: @code{type} shall be a complete
125 -type, an array type of unknown bound, or is a @code{void} type.
126 +type, (possibly cv-qualified) @code{void}, or an array of unknown bound.
127 +
128 +@item __is_standard_layout (type)
129 +If @code{type} is a standard-layout type ([basic.types]) the trait is
130 +true, else it is false.  Requires: @code{type} shall be a complete
131 +type, (possibly cv-qualified) @code{void}, or an array of unknown bound.
132 +
133 +@item __is_trivial (type)
134 +If @code{type} is a trivial type ([basic.types]) the trait is
135 +true, else it is false.  Requires: @code{type} shall be a complete
136 +type, (possibly cv-qualified) @code{void}, or an array of unknown bound.
137  
138  @item __is_union (type)
139  If @code{type} is a cv union type ([basic.compound]) the trait is
140 -- 
141 1.7.0.4
142