* cvt.c (convert_to_void): Handle null op1.
[gcc.git] / gcc / cp / ChangeLog
1 2011-02-09 Jason Merrill <jason@redhat.com>
2
3 * cvt.c (convert_to_void): Handle null op1.
4
5 * class.c (type_has_constexpr_default_constructor): Make sure the
6 caller stripped an enclosing array.
7 * init.c (perform_member_init): Strip arrays before calling it.
8
9 PR c++/47511
10 * semantics.c (potential_constant_expression_1): Handle TEMPLATE_DECL.
11
12 2011-02-03 Dodji Seketeli <dodji@redhat.com>
13
14 PR c++/47398
15 * tree.c (cp_tree_equal)<TEMPLATE_PARM_INDEX>: Take the number of
16 template parameters in account.
17
18 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
19
20 PR c++/46890
21 * parser.c (cp_parser_class_specifier): Fix setting of
22 want_semicolon.
23
24 2011-01-31 Jakub Jelinek <jakub@redhat.com>
25
26 PR c++/47416
27 * semantics.c (build_data_member_initialization): Handle
28 STATEMENT_LIST always instead of just for CLEANUP_BODY.
29
30 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31
32 * g++spec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
33 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
34
35 2011-01-29 Dodji Seketeli <dodji@redhat.com>
36
37 PR c++/47311
38 * cp-tree.h (fixup_template_parms): Declare.
39 * pt.c (end_template_parm_list): Do not fixup template parms here.
40 (fixup_template_parms): Remove static. Fix typo in the
41 comments. Remove useless code statement.
42 (fixup_template_parm): For a template template parameter, fixup
43 its attributes before fixing up its type.
44 * parser.c
45 (cp_parser_template_declaration_after_export): After parsing
46 template parameters fixup their types.
47
48 2011-01-26 Jakub Jelinek <jakub@redhat.com>
49
50 PR c++/47476
51 * semantics.c (potential_constant_expression_1): Handle
52 TRUTH_XOR_EXPR.
53
54 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
55
56 PR c++/43601
57 * semantics.c (expand_or_defer_fn_1): Handle it.
58 * decl2.c (decl_needed_p): Likewise.
59
60 2011-01-21 Jason Merrill <jason@redhat.com>
61
62 PR c++/47041
63 * semantics.c (build_constexpr_constructor_member_initializers):
64 Handle trivial copy.
65
66 2011-01-21 Jakub Jelinek <jakub@redhat.com>
67
68 PR c++/47388
69 * semantics.c (begin_for_stmt): If -fno-for-scope, don't
70 assume init must be NULL if scope is NULL.
71 (begin_range_for_stmt): Likewise.
72
73 2011-01-21 Jason Merrill <jason@redhat.com>
74
75 PR c++/46552
76 * semantics.c (cxx_eval_constant_expression): Handle OFFSET_REF.
77
78 PR c++/46977
79 * semantics.c (potential_constant_expression_1): Split out from
80 potential_constant_expression. Add want_rval parm. Handle
81 template expression forms. Don't enforce restriction on address
82 of automatic variable here. Add a couple of diagnostics that
83 had been missing.
84 (require_potential_constant_expression): New entry point.
85 (build_data_member_initialization, register_constexpr_fundef): Adjust.
86 (maybe_constant_value): Check potential_constant_expression.
87 * pt.c (fold_non_dependent_expr_sfinae): Likewise.
88 * tree.c (build_vec_init_expr): Adjust.
89
90 2011-01-19 Jakub Jelinek <jakub@redhat.com>
91
92 PR c++/47303
93 * decl2.c (finish_anon_union): Only call mangle_decl if TREE_STATIC
94 or DECL_EXTERNAL.
95
96 2011-01-17 Jason Merrill <jason@redhat.com>
97
98 PR c++/47067
99 * semantics.c (base_field_constructor_elt): New fn.
100 (cxx_eval_bare_aggregate): Use it.
101 (build_data_member_initialization): Leave COMPONENT_REF for
102 vfield inits.
103
104 2011-01-14 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
105
106 * parser.c (cp_parser_range_for): Remove the "unused variable" warning
107 workaround.
108
109 2011-01-15 Giovanni Funchal <gafunchal@gmail.com>
110 Jonathan Wakely <jwakely.gcc@gmail.com>
111
112 PR c++/33558
113 * decl.c (grokdeclarator): Reject mutable reference members.
114
115 2011-01-14 Jason Merrill <jason@redhat.com>
116
117 PR c++/47289
118 * pt.c (coerce_template_parms): Fix error recovery.
119
120 PR c++/46903
121 * typeck2.c (check_narrowing): Only check arithmetic types.
122
123 PR c++/46688
124 * tree.c (build_vec_init_expr): Handle flexible array
125 properly.
126
127 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
128
129 PR c++/47213
130 * cp-tree.h (CLASSTYPE_VISIBILITY): Use
131 TYPE_MAIN_DECL instead of TYPE_NAME.
132 (CLASSTYPE_VISIBILITY_SPECIFIED): Likewise.
133 * decl2.c (determine_visibility): Add check
134 of CLASS_TYPE_P for underlying_type.
135
136 2011-01-12 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
137
138 * cp-tree.h (begin_for_scope): New prototype.
139 (begin_for_stmt): Update prototype.
140 (begin_range_for_stmt): Update prototype.
141 * init.c (build_vec_init): Update call to begin_for_stmt.
142 * parser.c (cp_parser_for): New.
143 (cp_parser_c_for): Add three new parameters.
144 (cp_parser_range_for): Likewise. Most parsing code removed.
145 (cp_parser_iteration_statement): Call cp_parser_for instead of
146 cp_parser_c_for and cp_parser_range_for.
147 (cp_parser_for_init_statement): Add new parameter and return type.
148 (cp_parser_block_declaration): Update call to
149 cp_parser_simple_declaration.
150 (cp_parser_simple_declaration): Add new parameter.
151 Update call to cp_parser_init_declarator.
152 (cp_parser_init_declarator): Add new parameter.
153 * pt.c (tsubst_expr): Update call to begin_for_stmt.
154 * semantics.c (begin_for_scope): New.
155 (begin_for_stmt): Add two new parameters.
156 (begin_range_for_stmt): Likewise.
157
158 2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
159
160 * parser.c (cp_parser_objc_at_property_declaration): Improved
161 error message.
162
163 2011-01-11 Dodji Seketeli <dodji@redhat.com>
164
165 PR debug/46955
166 * cp-lang.c (get_template_innermost_arguments_folded)
167 (get_template_argument_pack_elems_folded)
168 (template_arg_needs_folding, fold_cplus_constants): New static
169 functions.
170 (LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS): Set this hook to
171 get_template_innermost_arguments_folded.
172 (LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS): Set this hook to
173 get_template_argument_pack_elems_folded.
174
175 2011-01-11 Jason Merrill <jason@redhat.com>
176
177 PR c++/46658
178 * init.c (build_new_1): Handle value-init in templates differently.
179
180 PR c++/45520
181 * tree.c (maybe_dummy_object): Check current_class_ref against
182 context, not current_class_type.
183
184 2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
185
186 PR objc/47078
187 * parser.c (cp_parser_objc_typename): If the type is unknown, for
188 error recovery purposes behave as if it was not specified so that
189 the default type is used.
190
191 2011-01-07 Jakub Jelinek <jakub@redhat.com>
192
193 PR c++/47022
194 * pt.c (tsubst_copy_and_build): Use tsubst instead of tsubst_copy
195 for the second build_x_va_arg argument.
196
197 2011-01-05 Tom Tromey <tromey@redhat.com>
198
199 * typeck.c (cp_build_addr_expr_1): Update call to lvalue_error.
200 (lvalue_or_else): Likewise.
201
202 2011-01-01 Kai Tietz <kai.tietz@onevision.com>
203
204 PR target/38662
205 * tree.c (cxx_type_hash_eq):
206 Allow METHOD_TYPE, too.
207
208 \f
209 Copyright (C) 2011 Free Software Foundation, Inc.
210
211 Copying and distribution of this file, with or without modification,
212 are permitted in any medium without royalty provided the copyright
213 notice and this notice are preserved.