]>
Commit | Line | Data |
---|---|---|
d4a10d0a SB |
1 | 2012-06-29 Steven Bosscher <steven@gcc.gnu.org> |
2 | ||
3 | * Make-lang.in: Remove tree-mudflap.o from CXX_AND_OBJCXX_OBJS. | |
4 | ||
b298aa9b JM |
5 | 2012-06-27 Jason Merrill <jason@redhat.com> |
6 | ||
ae52af05 JM |
7 | * parser.c (cp_parser_check_for_invalid_template_id): tag_type parm. |
8 | (cp_parser_simple_type_specifier, cp_parser_class_head): Adjust. | |
9 | (cp_parser_elaborated_type_specifier): Adjust. | |
10 | * decl.c (duplicate_decls): Return error_mark_node on template | |
11 | mismatch. | |
12 | ||
b298aa9b JM |
13 | PR c++/53563 |
14 | * parser.c (cp_parser_template_id): Add tag_type parm. | |
15 | (cp_parser_template_name): Likewise. | |
16 | (cp_parser_id_expression, cp_parser_unqualified_id): Adjust. | |
17 | (cp_parser_pseudo_destructor_name, cp_parser_type_name): Adjust. | |
18 | (cp_parser_simple_type_specifier, cp_parser_class_name): Adjust. | |
19 | (cp_parser_elaborated_type_specifier, cp_parser_class_head): Adjust. | |
20 | ||
c523fc89 RR |
21 | 2012-06-27 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> |
22 | ||
23 | PR C++/51033 | |
24 | * semantics.c (constexpr_call): Fix typo in comment. | |
25 | (cxx_eval_vec_perm_expr): New. | |
26 | (cxx_eval_constant_expression): Fold VEC_PERM_EXPRs. | |
27 | ||
72e732f8 RG |
28 | 2012-06-26 Richard Guenther <rguenther@suse.de> |
29 | ||
30 | PR c++/53752 | |
31 | * mangle.c (write_array_type): Truncate the number-of-elements | |
32 | result. | |
33 | ||
ec62cbe1 JM |
34 | 2012-06-25 Jason Merrill <jason@redhat.com> |
35 | ||
eaccea2a JM |
36 | PR c++/53498 |
37 | PR c++/53305 | |
38 | * pt.c (tsubst_decl) [PARM_DECL]: Don't recurse into DECL_CHAIN | |
39 | if cp_unevaluated_operand is set. | |
40 | (tsubst_copy) [PARM_DECL]: Don't copy before tsubsting. | |
41 | ||
ec62cbe1 JM |
42 | PR c++/52988 |
43 | * typeck.c (decay_conversion): Don't discard side-effects from | |
44 | expressions of nullptr_t. | |
45 | ||
4ebc46e9 FW |
46 | 2012-06-25 Florian Weimer <fweimer@redhat.com> |
47 | ||
48 | * init.c (build_new_1): Warn about (T[N]) for variable N, and | |
49 | reject T[M][N]. | |
50 | ||
51 | * parser.c (cp_parser_direct_new_declarator): Accept non-constant | |
52 | expressions. Handled now in build_new_1. | |
53 | ||
443679ae JM |
54 | 2012-06-25 Jason Merrill <jason@redhat.com> |
55 | ||
72de8622 JM |
56 | PR c++/53202 |
57 | * semantics.c (build_data_member_initialization): Always keep | |
58 | initializer for empty base. | |
59 | (cxx_eval_bare_aggregate): Discard it here. | |
60 | ||
443679ae JM |
61 | PR c++/53565 |
62 | * pt.c (tsubst_omp_for_iterator): Simplify DECL_EXPR handling. | |
63 | (tsubst_expr) [OMP_FOR]: Here, too. | |
64 | ||
f315d618 JJ |
65 | 2012-06-25 Jakub Jelinek <jakub@redhat.com> |
66 | ||
67 | PR c++/53594 | |
68 | * class.c (check_bases_and_members): Avoid -Wuninitialized | |
69 | diagnostics for non-static const members or references if they | |
70 | use NSDMI. | |
71 | ||
72 | 2012-06-16 Ville Voutilainen <ville.voutilainen@gmail.com> | |
6830e502 VV |
73 | |
74 | * parser.c (cp_parser_direct_declarator): Move virt-specifier | |
75 | parsing after late-specified return type parsing. | |
76 | ||
420bf978 JM |
77 | 2012-06-14 Jason Merrill <jason@redhat.com> |
78 | ||
79 | PR c++/53651 | |
80 | * name-lookup.c (constructor_name_p): Don't try to look at the | |
81 | name of a DECLTYPE_TYPE. | |
82 | ||
a910399d LC |
83 | 2012-06-18 Lawrence Crowl <crowl@google.com> |
84 | ||
85 | * decl2.c (cp_write_global_declarations): Rename use of TV_PHASE_CGRAPH | |
86 | to TV_PHASE_OPT_GEN. | |
87 | ||
d421b10c SB |
88 | 2012-06-18 Steven Bosscher <steven@gcc.gnu.org> |
89 | ||
90 | * decl.c (finish_function): Remove code conditional on VMS_TARGET. | |
91 | ||
9e1a8dd1 RR |
92 | 2012-06-15 Marc Glisse <marc.glisse@inria.fr> |
93 | ||
94 | PR c++/51033 | |
95 | * semantics.c (literal_type_p): Handle VECTOR_TYPE. | |
96 | (potential_constant_expression_1): Handle VEC_PERM_EXPR. | |
97 | * parser.c (cp_parser_postfix_expression): Handle RID_BUILTIN_SHUFFLE. | |
98 | ||
fdaf2f48 JM |
99 | 2012-06-09 Jason Merrill <jason@redhat.com> |
100 | ||
637f68e8 JM |
101 | * pt.c (tsubst_expr) [TAG_DEFN]: Instantiate local class. |
102 | * class.c (finish_struct): Don't add a TAG_DEFN for a lambda. | |
103 | * decl2.c (finish_static_data_member_decl): Avoid redundant error. | |
104 | ||
fdaf2f48 JM |
105 | PR c++/53599 |
106 | * name-lookup.c (pushtag_1): Add a DECL_EXPR for a local class. | |
107 | * semantics.c (finish_cond): Build a COMPOUND_EXPR. | |
108 | * pt.c (tsubst_expr) [COMPOUND_EXPR]: Handle. | |
109 | [DECL_EXPR]: Don't call cp_finish_decl for an implicit typedef. | |
110 | Don't return the decl. | |
111 | ||
5a20ffcb RG |
112 | 2012-06-11 Richard Guenther <rguenther@suse.de> |
113 | ||
35981f1f | 114 | PR c++/53605 |
5a20ffcb RG |
115 | * mangle.c (write_array_type): Use double-ints for array domain |
116 | arithmetic. | |
117 | ||
0089c3bb | 118 | 2012-06-07 Fabien Chêne <fabien@gcc.gnu.org> |
cba0366c FC |
119 | |
120 | PR c++/51214 | |
121 | * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields): | |
122 | Declare. | |
123 | * class.c (insert_into_classtype_sorted_fields): New. | |
124 | (add_enum_fields_to_record_type): New. | |
125 | (count_fields): Adjust the comment. | |
126 | (add_fields_to_record_type): Likewise. | |
127 | (finish_struct_1): Move the code that inserts the fields for the | |
128 | sorted case, into insert_into_classtype_sorted_fields, and call | |
129 | it. | |
130 | (insert_late_enum_def_into_classtype_sorted_fields): Define. | |
131 | * decl.c (finish_enum_value_list): Call | |
132 | insert_late_enum_def_into_classtype_sorted_fields if a late enum | |
133 | definition is encountered. | |
134 | ||
4b978f96 PC |
135 | 2012-06-06 Paolo Carlini <paolo.carlini@oracle.com> |
136 | ||
137 | PR c++/53567 | |
138 | * typeck.c (cp_perform_integral_promotions): New, like | |
139 | perform_integral_promotions but also takes a tsubst_flags_t parameter. | |
140 | (pointer_diff): Add tsubst_flags_t parameter. | |
141 | (decay_conversion, cp_default_conversion, cp_build_array_ref, | |
142 | cp_build_binary_op, cp_build_unary_op, build_static_cast_1, | |
143 | build_reinterpret_cast_1, cp_build_modify_expr, | |
144 | convert_for_assignment): Adjust. | |
145 | * optimize.c (build_delete_destructor_body): Adjust. | |
146 | * init.c (expand_virtual_init, expand_default_init, build_new_1, | |
147 | build_new, build_vec_delete_1, build_vec_init, build_delete): Adjust. | |
148 | (construct_virtual_base): Adjust LOOKUP_COMPLAIN -> 0. | |
149 | * class.c (build_base_path): Adjust. | |
150 | * decl.c (compute_array_index_type, finish_destructor_body): Likewise. | |
151 | * method.c (synthesized_method_walk): Adjust flag and complain. | |
152 | * rtti.c (ifnonnull): Add tsubst_flags_t parameter. | |
153 | (build_typeid, build_dynamic_cast_1): Adjust. | |
154 | * except.c (initialize_handler_parm): Likewise. | |
155 | * typeck2.c (process_init_constructor_record): Likewise. | |
156 | * pt.c (tsubst_friend_class): Don't change flags. | |
157 | * semantics.c (finish_goto_stmt, handle_omp_for_class_iterator, | |
158 | finish_static_assert): Likewise. | |
159 | * parser.c (cp_parser_lookup_name): Just pass 0 as flags to | |
160 | lookup_name_real. | |
161 | * call.c (build_op_delete_call): Add tsubst_flags_t parameter. | |
162 | (convert_like_real, convert_arg_to_ellipsis, convert_for_arg_passing): | |
163 | Adjust. | |
164 | (standard_conversion): Adjust LOOKUP_COMPLAIN -> 0. | |
165 | (implicit_conversion): Mask out tf_error with a FIXME. | |
166 | (build_user_type_conversion_1, build_new_op_1, build_over_call): Use | |
167 | complain & tf_error instead of flags & LOOKUP_COMPLAIN. | |
168 | * cvt.c (cp_convert_to_pointer, convert_to_pointer_force, | |
169 | build_up_reference, convert_to_reference, cp_convert, | |
170 | cp_convert_and_check, ocp_convert, convert_force): Add tsubst_flags_t | |
171 | parameter. | |
172 | (convert_to_reference, ocp_convert): Use complain & tf_error instead | |
173 | of flags & LOOKUP_COMPLAIN. | |
174 | (convert_force): Adjust LOOKUP_COMPLAIN -> 0. | |
175 | * name-lookup.c (identifier_type_value_1, lookup_qualified_name, | |
176 | lookup_name_real, lookup_function_nonclass, lookup_name, | |
177 | lookup_name_prefer_type): Adjust LOOKUP_COMPLAIN -> 0. | |
178 | * cp-tree.h: Adjust prototypes; remove LOOKUP_COMPLAIN. | |
179 | ||
6f07a821 SB |
180 | 2012-06-06 Steven Bosscher <steven@gcc.gnu.org> |
181 | ||
182 | * decl.c: Do not include output.h. | |
183 | (start_decl): Remove code for flag_conserve_space. | |
184 | ||
0089c3bb | 185 | 2012-06-06 Fabien Chêne <fabien@gcc.gnu.org> |
ce6d2586 RB |
186 | |
187 | PR c++/52841 | |
188 | * parser.c (cp_parser_alias_declaration): Return earlier | |
189 | if an error occured. | |
190 | ||
0e1dd874 PC |
191 | 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com> |
192 | ||
193 | PR c++/53524 | |
194 | * call.c (build_conditional_expr_1): Use OPT_Wenum_compare | |
195 | to control enumeral mismatch in conditional expression too. | |
196 | ||
c265f413 SA |
197 | 2012-06-04 Sterling Augustine <saugustine@google.com> |
198 | ||
199 | * cp-tree.h: Declare decl_as_dwarf_string, lang_decl_dwarf_name. | |
200 | * cp-lang.c (cxx_dwarf_name): Call them. | |
201 | ||
a4b7d13c SB |
202 | 2012-06-04 Steven Bosscher <steven@gcc.gnu.org> |
203 | ||
204 | * semantics.c: Do not include output.h. | |
205 | * decl2.c: Likewise. | |
206 | * friend.c: Likewise. | |
207 | * typeck.c: Likewise. | |
208 | * typeck2.c: Likewise. | |
209 | * Make-lang.in: Fix dependencies. | |
210 | ||
d37c775a JM |
211 | 2012-06-01 Jason Merrill <jason@redhat.com> |
212 | ||
e3c888eb JM |
213 | PR c++/52973 |
214 | * parser.c (cp_parser_class_head): Apply attributes here. | |
215 | * semantics.c (begin_class_definition): Not here. | |
216 | * cp-tree.h: Adjust. | |
217 | ||
ef4b1d6d JM |
218 | PR c++/52725 |
219 | * parser.c (cp_parser_binary_expression): Bail early if we're parsing | |
220 | tentatively and the LHS has a parse error. | |
221 | ||
3dfaf1d7 JM |
222 | PR c++/53137 |
223 | * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE. | |
224 | (instantiate_decl): Don't push_to_top_level for local class methods. | |
225 | (instantiate_class_template_1): Or for local classes. | |
226 | ||
d37c775a JM |
227 | PR c++/53484 |
228 | * pt.c (do_auto_deduction): Don't try to deduce from a | |
229 | type-dependent initializer. | |
230 | ||
5714705f PC |
231 | 2012-06-01 Paolo Carlini <paolo.carlini@oracle.com> |
232 | ||
233 | PR c++/26155 | |
234 | * name-lookup.c (push_namespace): When error recovery is | |
235 | impossible just error out in duplicate_decls. | |
236 | ||
be7a421e SB |
237 | 2012-05-31 Steven Bosscher <steven@gcc.gnu.org> |
238 | ||
239 | * call.c: Do not include output.h. | |
240 | * class.c: Likewise. | |
241 | * except.c: Likewise. | |
242 | * friend.c: Likewise. | |
243 | * init.c: Likewise. | |
244 | * lex.c: Likewise. | |
245 | * method.c: Likewise. | |
246 | * parser.c: Likewise. | |
247 | * pt.c: Likewise. | |
248 | * rtti.c: Likewise. | |
249 | * search.c: Likewise. | |
250 | ||
4bbbcbf6 JM |
251 | 2012-05-30 Jason Merrill <jason@redhat.com> |
252 | ||
66edf32a JM |
253 | PR c++/53356 |
254 | * tree.c (stabilize_init): Handle stabilizing a TARGET_EXPR | |
255 | representing a bitwise copy of a glvalue. | |
256 | ||
989e6706 JM |
257 | * tree.c (stabilize_expr): Tweak logic. |
258 | ||
4bbbcbf6 JM |
259 | PR c++/53356 |
260 | * tree.c (stabilize_init): Side effects make the init unstable. | |
261 | ||
5d497b05 PC |
262 | 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> |
263 | ||
264 | PR c++/53503 | |
265 | * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR. | |
266 | ||
982058cb PC |
267 | 2012-05-26 Paolo Carlini <paolo.carlini@oracle.com> |
268 | ||
269 | PR c++/53491 | |
270 | * tree.c (stabilize_expr): Handle exp of void type. | |
271 | ||
1f37c583 JM |
272 | 2012-05-26 Jason Merrill <jason@redhat.com> |
273 | ||
274 | PR c++/53220 | |
275 | * call.c (convert_like_real) [ck_list]: Take array address directly. | |
276 | * typeck.c (decay_conversion): Reject decay of an array compound | |
277 | literal. | |
278 | ||
6d199d3c PC |
279 | 2012-05-25 Paolo Carlini <paolo.carlini@oracle.com> |
280 | ||
281 | PR c++/32054 | |
282 | * parser.c (cp_parser_member_declaration): A storage class is not | |
283 | allowed in a declaration of an anonymous aggregate in a class scope. | |
284 | ||
b7d56bdf UB |
285 | 2012-05-24 Uros Bizjak <ubizjak@gmail.com> |
286 | ||
287 | PR obj-c++/53441 | |
288 | * decl.c (grokdeclarator): Check that current_class_type is non-NULL | |
289 | before calling constructor_name_p. | |
290 | ||
c7837f7e PC |
291 | 2012-05-24 Paolo Carlini <paolo.carlini@oracle.com> |
292 | ||
293 | PR c++/32080 | |
294 | * parser.c (cp_parser_ctor_initializer_opt_and_function_body, | |
295 | cp_parser_function_body): Add a bool parameter, true when parsing | |
296 | a function-try-block. | |
297 | (cp_parser_function_try_block): Pass true to the above. | |
298 | (cp_parser_function_definition_after_declarator, | |
299 | cp_parser_function_transaction): Adjust. | |
300 | ||
0a9696f0 PC |
301 | 2012-05-23 Paolo Carlini <paolo.carlini@oracle.com> |
302 | ||
303 | PR c++/29185 | |
304 | * decl2.c (delete_sanity): Extend 'deleting array' warning to | |
305 | any array type. | |
306 | ||
94ccc95d PC |
307 | 2012-05-21 Paolo Carlini <paolo.carlini@oracle.com> |
308 | ||
309 | PR c++/51184 | |
310 | * decl.c (grokdeclarator): Diagnose functions returning abstract | |
311 | class types as TYPENAME. | |
312 | * cp-tree.h (ABSTRACT_CLASS_TYPE_P): Add. | |
313 | * except.c (is_admissible_throw_operand_or_catch_parameter): Use it. | |
314 | * pt.c (tsubst): Likewise. | |
315 | * semantics.c (trait_expr_value): Likewise. | |
316 | ||
317 | 2012-05-21 Paolo Carlini <paolo.carlini@oracle.com> | |
318 | ||
319 | PR c++/40821 | |
320 | * parser.c (cp_parser_attributes_opt): Enforce error checking of | |
321 | unbalanced parentheses in the presence of tentative parsing. | |
322 | ||
70ba90b2 PC |
323 | 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com> |
324 | ||
325 | PR c++/39681 | |
326 | * parser.c (cp_parser_new_type_id): Early return error_mark_node | |
327 | if the cp_parser_type_specifier_seq call has type_specifier_seq.type | |
328 | error_mark_node; tidy. | |
329 | (cp_parser_new_expression): Always initialize nelts to NULL_TREE to | |
330 | avoid uninitialized warnings. | |
331 | (cp_parser_init_declarator, cp_parser_late_parse_one_default_arg): | |
332 | Call cp_parser_skip_to_end_of_statement if cp_parser_initializer | |
333 | returns error_mark_node. | |
334 | ||
f9eead1f PC |
335 | 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com> |
336 | ||
337 | PR c++/53371 | |
338 | * except.c (is_admissible_throw_operand): Rename to | |
339 | is_admissible_throw_operand_or_catch_parameter and handle | |
340 | catch parameter too. | |
341 | (expand_start_catch_block): Use it. | |
342 | (build_throw): Adjust. | |
343 | ||
f330f599 PC |
344 | 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com> |
345 | ||
346 | PR c++/44516 | |
347 | * typeck.c (build_x_array_ref, build_x_conditional_expr, | |
348 | build_x_compound_expr, build_x_modify_expr): Add location_t parameter. | |
349 | (finish_class_member_access_expr, build_x_indirect_ref, | |
350 | build_x_binary_op, build_x_compound_expr_from_list, | |
351 | build_x_compound_expr_from_vec): Adjust callers. | |
352 | * tree.c (build_min_nt_loc): New. | |
353 | (build_min_nt): Remove. | |
354 | * typeck2.c (build_x_arrow): Adjust callers. | |
355 | * pt.c (tsubst_qualified_id, tsubst_omp_for_iterator, | |
356 | tsubst_copy_and_build): Likewise. | |
357 | * semantics.c (finish_mem_initializers, handle_omp_for_class_iterator, | |
358 | finish_omp_atomic): Likewise. | |
359 | * decl2.c (grok_array_decl, build_anon_union_vars): Adjust. | |
360 | * parser.c (cp_parser_question_colon_clause, | |
361 | cp_parser_assignment_expression, cp_parser_expression, | |
362 | cp_parser_template_id, cp_parser_omp_for_loop): Likewise. | |
363 | * cp-tree.h: Update. | |
364 | ||
0b2c4be5 DS |
365 | 2012-05-16 Dodji Seketeli <dodji@redhat.com> |
366 | ||
367 | PR preprocessor/7263 | |
368 | * cp-tree.h (enum cp_decl_spec): Add new enumerators to cover all | |
369 | the possible declarator specifiers so far. | |
370 | (struct cp_decl_specifier_seq::locations): Declare new member. | |
371 | (cp_decl_specifier_seq::{specs, type_location}): Remove. | |
372 | (decl_spec_seq_has_spec_p): Declare new function. | |
373 | * parser.c (cp_parser_check_decl_spec): Remove. | |
374 | (set_and_check_decl_spec_loc): Define new static function. | |
375 | (decl_spec_seq_has_spec_p): Define new public function. | |
376 | (cp_parser_decl_specifier_seq, cp_parser_function_specifier_opt) | |
377 | (cp_parser_type_specifier, cp_parser_simple_type_specifier) | |
378 | (cp_parser_set_storage_class, cp_parser_set_decl_spec_type) | |
379 | (cp_parser_alias_declaration): Set the locations for each | |
380 | declspec, using set_and_check_decl_spec_loc. | |
381 | (cp_parser_explicit_instantiation, cp_parser_init_declarator) | |
382 | (cp_parser_member_declaration, cp_parser_init_declarator): Use the | |
383 | new declspec location for specifiers. Use the new | |
384 | decl_spec_seq_has_spec_p. | |
385 | (cp_parser_type_specifier_seq): Use the new | |
386 | set_and_check_decl_spec_loc. Stop using | |
387 | cp_parser_check_decl_spec. Use the new decl_spec_seq_has_spec_p. | |
388 | (, cp_parser_init_declarator): Use the new | |
389 | set_and_check_decl_spec_loc. | |
390 | (cp_parser_single_declaration, cp_parser_friend_p) | |
391 | (cp_parser_objc_class_ivars, cp_parser_objc_struct_declaration): | |
392 | Use the new decl_spec_seq_has_spec_p. | |
393 | * decl.c (check_tag_decl): Use new decl_spec_seq_has_spec_p. Use | |
394 | the more precise ds_redefined_builtin_type_spec location for | |
395 | diagnostics about re-declaring C++ built-in types. | |
396 | (start_decl, grokvardecl, grokdeclarator): Use the new | |
397 | decl_spec_seq_has_spec_p. | |
398 | ||
a1bde5af PC |
399 | 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com> |
400 | ||
d02924ef | 401 | PR c++/11856 |
a1bde5af PC |
402 | * pt.c (tsubst_copy_and_build): Increase / decrease |
403 | c_inhibit_evaluation_warnings around build_x_binary_op call. | |
404 | ||
66b1156a PC |
405 | 2012-05-12 Paolo Carlini <paolo.carlini@oracle.com> |
406 | ||
407 | * cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P. | |
408 | (TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P. | |
409 | (TYPE_PTR_OR_PTRMEM_P): Add. | |
410 | * typeck.c (composite_pointer_type_r, composite_pointer_type, | |
411 | common_pointer_type, cp_build_indirect_ref, cp_build_binary_op, | |
412 | cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1, | |
413 | build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real, | |
414 | casts_away_constness_r, casts_away_constness): Adjust. | |
415 | * init.c (build_zero_init_1): Adjust. | |
416 | * class.c (check_field_decls): Likewise. | |
417 | * decl.c (check_default_argument): Likewise. | |
418 | * rtti.c (target_incomplete_p): Likewise. | |
419 | * tree.c (zero_init_p): Likewise. | |
420 | * cxx-pretty-print.c (pp_cxx_ptr_operator, | |
421 | pp_cxx_abstract_declarator): Likewise. | |
422 | * typeck2.c (build_m_component_ref): Likewise. | |
423 | * pt.c (convert_nontype_argument, invalid_nontype_parm_type_p, | |
424 | dependent_type_p_r): Likewise. | |
425 | * call.c (null_member_pointer_value_p, standard_conversion, | |
426 | add_builtin_candidate, build_conditional_expr_1, compare_ics): | |
427 | Likewise. | |
428 | * cp-objcp-common.c (cp_var_mod_type_p): Likewise. | |
429 | * cvt.c (cp_convert_to_pointer, ocp_convert, | |
430 | perform_qualification_conversions): Likewise. | |
431 | * mangle.c (write_type): Likewise. | |
432 | * name-lookup.c (arg_assoc_type): Likewise. | |
433 | ||
498ad15e PC |
434 | 2012-05-12 Paolo Carlini <paolo.carlini@oracle.com> |
435 | ||
436 | * parser.c (struct cp_parser_expression_stack_entry): Add location_t | |
437 | field. | |
438 | (cp_parser_binary_expression): Rework to always update at the same | |
439 | time tree_type and loc. | |
440 | * call.c (print_z_candidate): Add location_t parameter. | |
441 | (print_z_candidates, convert_like_real, joust): Adjust. | |
442 | ||
3feb96d2 AO |
443 | 2012-05-11 Alexandre Oliva <aoliva@redhat.com> |
444 | ||
445 | PR c++/53209 | |
446 | * pt.c (tsubst_decl): Bail out if argvec is error_mark_node. | |
447 | ||
d1093817 PC |
448 | 2012-05-11 Paolo Carlini <paolo.carlini@oracle.com> |
449 | ||
450 | PR c++/53305 | |
451 | * pt.c (tsubst_copy: case PARM_DECL): Return error_mark_node if | |
452 | tsubst_decl returns NULL_TREE. | |
453 | * cxx-pretty-print.c (pp_cxx_simple_type_specifier): Handle | |
454 | BOUND_TEMPLATE_TEMPLATE_PARM. | |
455 | ||
5a3c9cf2 PC |
456 | 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com> |
457 | ||
458 | PR c++/53158 | |
459 | * cvt.c (ocp_convert): Error out early for void -> bool conversions. | |
460 | * typeck.c (decay_conversion): Use error_at. | |
461 | * call.c (build_integral_nontype_arg_conv, convert_like_real, | |
462 | convert_arg_to_ellipsis, perform_implicit_conversion_flags, | |
463 | initialize_reference): Likewise. | |
464 | * cvt.c (warn_ref_binding): Add location_t parameter. | |
465 | (cp_convert_to_pointer, convert_to_reference, ocp_convert, | |
466 | convert_to_void, ): Use error_at and warning_at. | |
467 | ||
e5f13bf4 PC |
468 | 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com> |
469 | ||
470 | PR c++/53301 | |
471 | * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P | |
472 | instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning. | |
473 | ||
4fe977f2 PC |
474 | 2012-05-06 Paolo Carlini <paolo.carlini@oracle.com> |
475 | ||
476 | PR c++/53152 | |
477 | * call.c (op_error, build_new_op_1, build_new_op): Add location_t | |
478 | parameter. | |
479 | (build_conditional_expr_1): Adjust. | |
480 | * typeck.c (build_x_indirect_ref, build_x_binary_op, | |
481 | build_x_unary_op): Add location_t parameter. | |
482 | (rationalize_conditional_expr, build_x_array_ref, | |
483 | build_x_compound_expr, cp_build_modify_expr, build_x_modify_expr): | |
484 | Adjust. | |
485 | * typeck2.c (build_x_arrow): Add location_t parameter. | |
486 | * semantics.c (finish_unary_op_expr): Likewise. | |
487 | (finish_increment_expr, handle_omp_for_class_iterator): Adjust. | |
488 | * decl2.c (grok_array_decl): Add location_t parameter. | |
489 | * parser.c (cp_parser_postfix_open_square_expression, | |
490 | cp_parser_postfix_dot_deref_expression, cp_parser_unary_expression, | |
491 | cp_parser_binary_expression, cp_parser_builtin_offsetof, | |
492 | do_range_for_auto_deduction, cp_convert_range_for, | |
493 | cp_parser_template_argument, cp_parser_omp_for_cond): Pass the | |
494 | location, adjust. | |
495 | * pt.c (tsubst_copy_and_build): Adjust. | |
496 | * tree.c (maybe_dummy_object): Likewise. | |
497 | * cp-tree.h: Update declarations. | |
498 | ||
db327b64 PC |
499 | 2012-05-04 Paolo Carlini <paolo.carlini@oracle.com> |
500 | ||
501 | * semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy. | |
502 | ||
fb4bcc8d PC |
503 | 2012-05-04 Paolo Carlini <paolo.carlini@oracle.com> |
504 | ||
505 | PR c++/53166 | |
506 | * pt.c (instantiate_class_template_1): Increase / decrease | |
507 | c_inhibit_evaluation_warnings around the tsubst_expr call | |
508 | for STATIC_ASSERT_CONDITION. | |
509 | (tsubst_expr, case STATIC_ASSERT): Likewise. | |
510 | * typeck.c (cp_build_binary_op, case EQ_EXPR/NE_EXPR): Check | |
511 | c_inhibit_evaluation_warnings in the OPT_Waddress warnings. | |
512 | ||
1fa2969f PC |
513 | 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com> |
514 | ||
515 | PR c++/53186 | |
516 | * call.c (build_over_call): Handle final member functions | |
517 | and class types. | |
518 | (build_new_method_call_1): Do not handle here. | |
519 | ||
56099f00 RG |
520 | 2012-05-02 Richard Guenther <rguenther@suse.de> |
521 | ||
522 | * decl.c (grokdeclarator): Properly check for sizes that | |
523 | cover more than half of the address-space. | |
524 | ||
1941b0ca MG |
525 | 2012-04-30 Marc Glisse <marc.glisse@inria.fr> |
526 | ||
7edaa4d2 MG |
527 | PR c++/51033 |
528 | * typeck.c (cp_build_array_ref): Handle VECTOR_TYPE. | |
529 | * decl2.c (grok_array_decl): Likewise. | |
530 | ||
1941b0ca MG |
531 | PR c++/51314 |
532 | * parser.c (cp_parser_sizeof_operand): Require parentheses for | |
533 | sizeof... | |
534 | ||
70dc395a DS |
535 | 2012-04-30 Dodji Seketeli <dodji@redhat.com> |
536 | ||
bfd93a72 DS |
537 | Fix location for static class members |
538 | * decl.c (grokdeclarator): Use the location carried by the | |
539 | declarator for the DECL of the static class member. | |
540 | ||
e42d0630 DS |
541 | Fix va_arg type location |
542 | * cp-tree.h (build_x_va_arg): Take an additional location | |
543 | parameter. | |
544 | * call.c (build_x_va_arg): Take a loc parameter for the location | |
545 | of the type of the va_arg expression. | |
546 | * parser.c (cp_parser_primary_expression): Pass the type of the | |
547 | type in the va_arg expression to build_x_va_arg. | |
548 | * pt.c (tsubst_copy): Adjust calls to build_x_va_arg. | |
549 | ||
70dc395a DS |
550 | Make conversion warnings work on NULL with -ftrack-macro-expansion |
551 | * call.c (conversion_null_warnings): Use the new | |
552 | expansion_point_location_if_in_system_header. | |
553 | * cvt.c (build_expr_type_conversion): Likewise. | |
554 | * typeck.c (cp_build_binary_op): Likewise. | |
555 | ||
90137d8f MLI |
556 | 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org> |
557 | ||
558 | * typeck.c (convert_for_assignment): Replace | |
559 | Wmissing-format-attribute with Wsuggest-attribute=format. | |
560 | * call.c (convert_for_arg_passing): Likewise. | |
561 | ||
df16e146 PC |
562 | 2012-04-26 Paolo Carlini <paolo.carlini@oracle.com> |
563 | ||
564 | PR c++/53096 | |
565 | * class.c (check_bases_and_members): Implement core/1333, do not | |
566 | disallow defaulted in the class body non-const ref special members. | |
567 | ||
b40e334f PC |
568 | 2012-04-24 Paolo Carlini <paolo.carlini@oracle.com> |
569 | ||
570 | PR c++/52363 | |
571 | * call.c (tourney, perform_overload_resolution, | |
572 | build_operator_new_call, build_user_type_conversion_1, | |
573 | build_user_type_conversion, perform_overload_resolution, | |
574 | add_template_candidate, add_template_candidate_real, | |
575 | add_template_conv_candidate, add_builtin_candidates, | |
576 | add_builtin_candidate, build_builtin_candidate, | |
577 | add_conv_candidate, add_function_candidate, implicit_conversion, | |
578 | reference_binding, build_list_conv, conditional_conversion, | |
579 | add_candidates, can_convert_array, build_aggr_conv, | |
580 | build_array_conv, build_complex_conv, conditional_conversion): | |
581 | Add tsubst_flags_t parameter. | |
582 | (joust): Likewise, use it to handle SFINAE as if pedantic. | |
583 | (add_list_candidates, build_integral_nontype_arg_conv, | |
584 | perform_overload_resolution, build_new_function_call, | |
585 | build_operator_new_call, build_op_call_1, | |
586 | build_conditional_expr_1, build_new_op_1, convert_like_real, | |
587 | convert_arg_to_ellipsis, convert_default_arg, | |
588 | convert_for_arg_passing, build_over_call, | |
589 | build_new_method_call_1, can_convert_arg, can_convert_arg_bad, | |
590 | perform_implicit_conversion_flags, | |
591 | perform_direct_initialization_if_possible, | |
592 | initialize_reference): Adjust. | |
593 | * typeck.c (casts_away_constness, casts_away_constness_r): | |
594 | Add tsubst_flags_t parameter. | |
595 | (convert_arguments, check_for_casting_away_constness, | |
596 | build_static_cast_1, build_ptrmemfunc, convert_for_assignment): | |
597 | Adjust. | |
598 | * decl.c (reshape_init_r, check_default_argument): Likewise. | |
599 | * cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise. | |
600 | * pt.c (convert_nontype_argument, check_non_deducible_conversion): | |
601 | Likewise. | |
602 | * init.c (build_new_1): Likewise. | |
603 | * cvt.c (convert_to_reference, ocp_convert, build_type_conversion, | |
604 | build_expr_type_conversion, ): Likewise. | |
605 | * search.c (check_final_overrider): Likewise. | |
606 | * cp-tree.h (build_user_type_conversion, | |
607 | build_operator_new_call, can_convert, can_convert_arg, | |
608 | can_convert_arg_bad, convert_default_arg, | |
609 | convert_arg_to_ellipsis, convert_for_arg_passing): | |
610 | Adjust declaration. | |
611 | ||
66058468 JH |
612 | 2012-04-22 Jan Hubicka <jh@suse.cz> |
613 | ||
614 | * decl2.c (maybe_make_one_only): Mark keyed COMDATs as USED so they | |
615 | gets finalized. | |
616 | ||
c1771a20 MLI |
617 | 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org> |
618 | ||
619 | PR c/44774 | |
620 | * typeck.c (composite_pointer_type): Likewise. | |
621 | (cxx_sizeof_or_alignof_type): Likewise. | |
622 | (cp_build_array_ref): Likewise. | |
623 | (cp_build_function_call_vec): Likewise. | |
624 | (cp_build_addr_expr_1): Likewise. | |
625 | (convert_member_func_to_ptr): Likewise. | |
626 | * decl.c (check_tag_decl): Likewise. | |
627 | (check_static_variable_definition): Likewise. | |
628 | (compute_array_index_type): Likewise. | |
629 | (create_array_type_for_decl): Likewise. | |
630 | (grokdeclarator): Likewise. | |
631 | (grok_op_properties): Likewise. | |
632 | * error.c (maybe_warn_cpp0x): Likewise. | |
633 | * pt.c (maybe_process_partial_specialization): Likewise. | |
634 | (convert_template_argument): Likewise. | |
635 | (do_decl_instantiation): Likewise. | |
636 | (do_type_instantiation): Likewise. | |
637 | * parser.c (cp_parser_primary_expression): Likewise. | |
638 | (cp_parser_postfix_expression): Likewise. | |
639 | (cp_parser_unary_expression): Likewise. | |
640 | (cp_parser_question_colon_clause): Likewise. | |
641 | (cp_parser_lambda_introducer): Likewise. | |
642 | (cp_parser_lambda_declarator_opt): Likewise. | |
643 | (cp_parser_compound_statement): Likewise. | |
644 | (cp_parser_jump_statement): Likewise. | |
645 | (cp_parser_declaration_seq_opt): Likewise. | |
646 | (cp_parser_enum_specifier): Likewise. | |
647 | (cp_parser_enumerator_list): Likewise. | |
648 | (cp_parser_initializer_list): Likewise. | |
649 | (cp_parser_member_declaration): Likewise. | |
650 | * call.c (build_conditional_expr_1): Likewise. | |
651 | * friend.c (make_friend_class): Likewise. | |
652 | * name-lookup.c (pushdecl_maybe_friend_1): Likewise. | |
653 | ||
7ca8f486 JH |
654 | 2012-04-21 Jan Hubicka <jh@suse.cz> |
655 | ||
656 | * method.c (make_alias_for): Do not set TREE_SYMBOL_REFERENCED. | |
657 | * decl2.c (mark_needed): Likewise. | |
658 | (decl_needed_p): Do not test TREE_SYMBOL_REFERENCED. | |
659 | ||
660 | * decl2.c (cxx_callgraph_analyze_expr): Remove. | |
661 | * cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove. | |
662 | * cp-tree.h (cxx_callgraph_analyze_expr): Remove. | |
663 | ||
ae52741c MLI |
664 | 2012-04-21 Manuel López-Ibáñez <manu@gcc.gnu.org> |
665 | ||
666 | PR 35441 | |
667 | * typeck.c (cp_build_function_call_vec): Do not pretty-print | |
668 | expressions when caret is enabled. | |
669 | ||
b7262828 JH |
670 | 2012-04-20 Jan Hubicka <jh@suse.cz> |
671 | ||
672 | PR target/53042 | |
673 | * decl2.c (maybe_emit_vtables): Do not initialize same_comdat_group | |
674 | list when target has no support for it. | |
675 | ||
c522573e MM |
676 | 2012-04-20 Michael Matz <matz@suse.de> |
677 | ||
678 | * error.c (pedwarn_cxx98): Move va_end call after user | |
679 | of the va_list. | |
680 | ||
89fcabaf PC |
681 | 2012-04-18 Paolo Carlini <paolo.carlini@oracle.com> |
682 | ||
683 | PR c++/52422 | |
684 | * cp-tree.h (build_addr_func, decay_conversion, | |
685 | get_member_function_from_ptrfunc, | |
686 | build_m_component_ref, convert_member_func_to_ptr): | |
687 | Add tsubst_flags_t parameter. | |
688 | * typeck.c (cp_default_conversion): Add. | |
689 | (decay_conversion, default_conversion, | |
690 | get_member_function_from_ptrfunc, convert_member_func_to_ptr): | |
691 | Add tsubst_flags_t parameter and use it throughout. | |
692 | (cp_build_indirect_ref, cp_build_array_ref, | |
693 | cp_build_function_call_vec, convert_arguments, build_x_binary_op, | |
694 | cp_build_binary_op, cp_build_unary_op, build_reinterpret_cast_1, | |
695 | build_const_cast_1, expand_ptrmemfunc_cst, | |
696 | convert_for_initialization): Adjust. | |
697 | * init.c (build_vec_init): Adjust. | |
698 | * decl.c (grok_reference_init, get_atexit_node): Likewise. | |
699 | * rtti.c (build_dynamic_cast_1, tinfo_base_init): Likewise. | |
700 | * except.c (build_throw): Likewise. | |
701 | * typeck2.c (build_x_arrow): Likewise. | |
702 | (build_m_component_ref): Add tsubst_flags_t parameter and | |
703 | use it throughout. | |
704 | * pt.c (convert_nontype_argument): Adjust. | |
705 | * semantics.c (finish_asm_stmt, maybe_add_lambda_conv_op): Likewise. | |
706 | * decl2.c (build_offset_ref_call_from_tree): Likewise. | |
707 | * call.c (build_addr_func): Add tsubst_flags_t parameter and | |
708 | use it throughout. | |
709 | (build_call_a, build_conditional_expr_1, build_new_op_1, | |
710 | convert_like_real, convert_arg_to_ellipsis, build_over_call, | |
711 | build_special_member_call): Adjust. | |
712 | * cvt.c (cp_convert_to_pointer, force_rvalue, | |
713 | build_expr_type_conversion): Likewise. | |
714 | ||
b2cb7511 TV |
715 | 2012-04-17 Tom de Vries <tom@codesourcery.com> |
716 | ||
717 | * cp-gimplify.c (begin_bc_block): Add location parameter and use as | |
718 | location argument to create_artificial_label. | |
719 | (finish_bc_block): Change return type to void. Remove body_seq | |
720 | parameter, and add block parameter. Append label to STMT_LIST and | |
721 | return in block. | |
722 | (gimplify_cp_loop, gimplify_for_stmt, gimplify_while_stmt) | |
723 | (gimplify_do_stmt, gimplify_switch_stmt): Remove function. | |
724 | (genericize_cp_loop, genericize_for_stmt, genericize_while_stmt) | |
725 | (genericize_do_stmt, genericize_switch_stmt, genericize_continue_stmt) | |
726 | (genericize_break_stmt, genericize_omp_for_stmt): New function. | |
727 | (cp_gimplify_omp_for): Remove bc_continue processing. | |
728 | (cp_gimplify_expr): Genericize VEC_INIT_EXPR. | |
729 | (cp_gimplify_expr): Mark FOR_STMT, WHILE_STMT, DO_STMT, SWITCH_STMT, | |
730 | CONTINUE_STMT, and BREAK_STMT as unreachable. | |
731 | (cp_genericize_r): Genericize FOR_STMT, WHILE_STMT, DO_STMT, | |
732 | SWITCH_STMT, CONTINUE_STMT, BREAK_STMT and OMP_FOR. | |
733 | (cp_genericize_tree): New function, factored out of ... | |
734 | (cp_genericize): ... this function. | |
735 | ||
0fced815 PC |
736 | 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com> |
737 | ||
738 | PR c++/52599 | |
739 | * semantics.c (build_constexpr_constructor_member_initializers): | |
740 | Check for function-try-block as function-body. | |
741 | ||
742 | 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com> | |
743 | ||
744 | PR c++/53003 | |
745 | * parser.c (cp_parser_member_declaration): Check that | |
746 | initializer_token_start is non null before dereferencing it. | |
747 | ||
99d4f8f7 JM |
748 | 2012-04-16 Jason Merrill <jason@redhat.com> |
749 | ||
1561ad74 JM |
750 | PR c++/38543 |
751 | * pt.c (determine_specialization): Instead of comparing the number | |
752 | of parms, check that tsubst gives the right answer. | |
753 | ||
54aa834f JM |
754 | PR c++/52008 |
755 | * pt.c (process_partial_specialization): Complain about a partial | |
756 | specialization with fewer args than primary template parms. | |
757 | ||
3ab97d92 JM |
758 | PR c++/50830 |
759 | * pt.c (convert_template_argument): Handle template template | |
760 | argument packs. | |
761 | ||
99d4f8f7 JM |
762 | PR c++/50303 |
763 | * pt.c (tsubst_pack_expansion): Use tsubst_expr for template | |
764 | template parameters. | |
765 | ||
051b40ff PC |
766 | 2012-04-16 Paolo Carlini <paolo.carlini@oracle.com> |
767 | ||
768 | PR c++/49152 | |
769 | * call.c (op_error): Print types; when flag_diagnostics_show_caret | |
770 | is false print expressions too. | |
771 | (op_error_string): Add. | |
772 | ||
1c4010c6 JM |
773 | 2012-04-16 Jason Merrill <jason@redhat.com> |
774 | ||
775 | PR c++/51148 | |
776 | * friend.c (make_friend_class): Call check_for_bare_parameter_packs. | |
777 | ||
65c70e6b JH |
778 | 2012-04-16 Jan Hubicka <jh@suse.cz> |
779 | ||
780 | * decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH | |
781 | walkers to walk cgraph and varpool. | |
782 | ||
a3ddb738 JM |
783 | 2012-04-15 Jason Merrill <jason@redhat.com> |
784 | ||
56992a78 JM |
785 | PR c++/47220 |
786 | * pt.c (coerce_template_parameter_pack): Check for error_mark_node. | |
787 | ||
f9057514 JM |
788 | PR c++/52292 |
789 | PR c++/52380 | |
790 | * pt.c (coerce_template_parms): Even if we aren't converting we | |
791 | want to expand argument packs. | |
792 | ||
a3ddb738 JM |
793 | PR c++/52706 |
794 | * mangle.c (write_type): nullptr_t is a builtin type. | |
795 | ||
960bfb69 JH |
796 | 2012-04-14 Jan Hubicka <jh@suse.cz> |
797 | ||
798 | * tree.c: Update field referenced for new cgraph/varpool layout. | |
799 | * decl2.c: Likewise. | |
800 | ||
7996b727 JM |
801 | 2012-04-13 Jason Merrill <jason@redhat.com> |
802 | ||
c26b89b7 JM |
803 | PR c++/52824 |
804 | * pt.c (any_pack_expanson_args_p): New. | |
805 | (coerce_template_parms): Use it. | |
806 | ||
7aca561c JM |
807 | PR c++/52905 |
808 | * call.c (joust): Handle comparing list and non-list ctors. | |
809 | ||
7996b727 JM |
810 | PR c++/52915 |
811 | * decl2.c (finish_anon_union): Use cp_finish_decl. | |
812 | * error.c (dump_function_name): Avoid showing anonymous "name". | |
813 | ||
af79925b FC |
814 | 2012-04-11 Fabien Chêne <fabien@gcc.gnu.org> |
815 | ||
816 | PR c++/52465 | |
817 | * parser.c (cp_parser_class_name): Call strip_using_decl and | |
818 | return the target decl. | |
819 | * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl | |
820 | to be stripped is NULL_TREE. | |
821 | (qualify_lookup): Call strip_using_decl and perform some checks on | |
822 | the target decl. | |
823 | ||
701bd2a2 JM |
824 | 2012-04-11 Jason Merrill <jason@redhat.com> |
825 | ||
6a091e8b JM |
826 | PR debug/45088 |
827 | * decl.c (grokdeclarator): Strip the injected-class-name typedef | |
828 | if we are building a declaration or compound type. | |
829 | ||
701bd2a2 JM |
830 | PR c++/52906 |
831 | * decl.c (check_tag_decl): Don't complain about attributes if we | |
832 | don't even have a type. | |
833 | ||
fd4116f4 MLI |
834 | 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org> |
835 | ||
836 | * cvt.c (convert_to_void): Update comment. | |
837 | ||
c5c8755a JM |
838 | 2012-04-05 Jason Merrill <jason@redhat.com> |
839 | ||
840 | PR c++/52596 | |
841 | * semantics.c (finish_non_static_data_member): In templates, pass | |
842 | the decl to build_qualified_name. | |
843 | * tree.c (lvalue_kind) [SCOPE_REF]: Handle FIELD_DECL. | |
844 | ||
6f6e1e9e JM |
845 | 2012-04-04 Jason Merrill <jason@redhat.com> |
846 | ||
847 | PR c++/52845 | |
848 | * decl.c (finish_function): Update fntype after deducing return type. | |
849 | ||
a92873f1 JM |
850 | 2012-04-03 Jason Merrill <jason@redhat.com> |
851 | ||
852 | PR c++/52796 | |
853 | * pt.c (tsubst_initializer_list): A pack expansion with no elements | |
854 | means value-initialization. | |
855 | ||
593a0835 PC |
856 | 2012-04-01 Paolo Carlini <paolo.carlini@oracle.com> |
857 | ||
858 | PR c++/50043 | |
859 | * class.c (deduce_noexcept_on_destructor, | |
860 | deduce_noexcept_on_destructors): New. | |
861 | (check_bases_and_members): Call the latter. | |
862 | * decl.c (grokfndecl): Call the former. | |
863 | * method.c (implicitly_declare_fn): Not static. | |
864 | * cp-tree.h (deduce_noexcept_on_destructor, implicitly_declare_fn): | |
865 | Declare | |
866 | ||
9f693d56 PC |
867 | 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com> |
868 | ||
869 | PR c++/52718 | |
870 | * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant | |
871 | warn for a zero as null pointer constant default argument. | |
872 | ||
05262294 JM |
873 | 2012-03-29 Jason Merrill <jason@redhat.com> |
874 | ||
875 | PR c++/52685 | |
876 | * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P. | |
877 | ||
3cb04a53 JJ |
878 | 2012-03-29 Jakub Jelinek <jakub@redhat.com> |
879 | ||
880 | PR c++/52759 | |
881 | * decl.c (start_decl): Don't call maybe_apply_pragma_weak | |
882 | if processing_template_decl. | |
883 | ||
37b9a3bd JM |
884 | 2012-03-29 Jason Merrill <jason@redhat.com> |
885 | ||
886 | PR c++/52743 | |
887 | * call.c (compare_ics): Handle ck_aggr like ck_list. | |
888 | ||
917c1602 JM |
889 | 2012-03-28 Jason Merrill <jason@redhat.com> |
890 | ||
891 | PR c++/52746 | |
892 | * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if | |
893 | we didn't get an explicit scope. | |
894 | * pt.c (tsubst_baselink): Likewise. | |
895 | ||
32e8bfc3 RG |
896 | 2012-03-28 Richard Guenther <rguenther@suse.de> |
897 | ||
898 | * typeck2.c (process_init_constructor_array): Use the proper | |
899 | type for computing the array length. | |
900 | ||
9a1cb58a MI |
901 | 2012-03-27 Meador Inge <meadori@codesourcery.com> |
902 | ||
903 | PR c++/52672 | |
904 | * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold | |
905 | stripped child trees that are not pointer types. | |
906 | ||
852497a3 JM |
907 | 2012-03-21 Jason Merrill <jason@redhat.com> |
908 | ||
909 | Implement return type deduction for normal functions with -std=c++1y. | |
910 | * cp-tree.h (FNDECL_USED_AUTO): New macro. | |
911 | (LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P): Remove. | |
912 | (dependent_lambda_return_type_node): Remove. | |
913 | (CPTI_DEPENDENT_LAMBDA_RETURN_TYPE): Remove. | |
914 | (struct language_function): Add x_auto_return_pattern field. | |
915 | (current_function_auto_return_pattern): New. | |
916 | (enum tsubst_flags): Add tf_partial. | |
917 | * decl.c (decls_match): Handle auto return comparison. | |
918 | (duplicate_decls): Adjust error message for auto return. | |
919 | (cxx_init_decl_processing): Remove dependent_lambda_return_type_node. | |
920 | (cp_finish_decl): Don't do auto deduction for functions. | |
921 | (grokdeclarator): Allow auto return without trailing return type in | |
922 | C++1y mode. | |
923 | (check_function_type): Defer checking of deduced return type. | |
924 | (start_preparsed_function): Set current_function_auto_return_pattern. | |
925 | (finish_function): Set deduced return type to void if not previously | |
926 | deduced. | |
927 | * decl2.c (change_return_type): Handle error_mark_node. | |
928 | (mark_used): Always instantiate functions with deduced return type. | |
929 | Complain about use if deduction isn't done. | |
930 | * parser.c (cp_parser_lambda_declarator_opt): Use 'auto' for | |
931 | initial return type. | |
932 | (cp_parser_lambda_body): Don't deduce return type in a template. | |
933 | (cp_parser_conversion_type_id): Allow auto in C++1y. | |
934 | * pt.c (instantiate_class_template_1): Don't mess with | |
935 | LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P. | |
936 | (tsubst_copy_and_build): Likewise. | |
937 | (fn_type_unification, tsubst): Don't reduce the template parm level | |
938 | of 'auto' during deduction. | |
939 | (unify): Compare 'auto' specially. | |
940 | (get_bindings): Change test. | |
941 | (always_instantiate_p): Always instantiate functions with deduced | |
942 | return type. | |
943 | (do_auto_deduction): Handle error_mark_node and lambda context. | |
944 | Don't check for use in initializer. | |
945 | (contains_auto_r): Remove. | |
946 | * search.c (lookup_conversions_r): Handle auto conversion function. | |
947 | * semantics.c (lambda_return_type): Handle null return. Don't mess | |
948 | with dependent_lambda_return_type_node. | |
949 | (apply_deduced_return_type): Rename from apply_lambda_return_type. | |
950 | * typeck.c (merge_types): Handle auto. | |
951 | (check_return_expr): Do auto deduction. | |
952 | * typeck2.c (add_exception_specifier): Fix complain check. | |
953 | ||
48d261d2 PC |
954 | 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com> |
955 | ||
956 | PR c++/52487 | |
957 | * class.c (check_field_decls): Call literal_type_p only | |
958 | on complete types. | |
959 | ||
d4655dc7 JJ |
960 | 2012-03-22 Jakub Jelinek <jakub@redhat.com> |
961 | ||
962 | PR c++/52671 | |
963 | * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION | |
964 | on CLASS_TYPE_P types. | |
965 | ||
9e291a01 JM |
966 | 2012-03-20 Jason Merrill <jason@redhat.com> |
967 | ||
552b8185 JM |
968 | * lex.c (init_reswords): Use >= for cxx_dialect test. |
969 | * parser.c (cp_parser_exception_specification_opt): Likewise. | |
970 | ||
c19267cb JM |
971 | * mangle.c (write_type): Handle 'auto'. |
972 | * init.c (build_new): Don't do auto deduction where it might | |
973 | affect template mangling. | |
974 | ||
9e291a01 JM |
975 | PR c++/52510 |
976 | * decl.c (reshape_init_class): Handle repeated reshaping. | |
977 | * search.c (lookup_field_1): Add sanity check. | |
978 | ||
04398fa8 PC |
979 | 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com> |
980 | ||
981 | PR c++/14710 | |
982 | * cp-tree.h (xvalue_p, maybe_warn_about_useless_cast): Declare. | |
983 | * tree.c (xvalue_p): Define. | |
984 | * typeck.c (maybe_warn_about_useless_cast): Define. | |
985 | (build_reinterpret_cast, build_const_cast, | |
986 | build_static_cast, cp_build_c_cast): Use maybe_warn_about_useless_cast. | |
987 | * rtti.c (build_dynamic_cast): Likewise. | |
988 | * pt.c (tsubst_copy_and_build, case CAST_EXPR): Increment/decrement | |
989 | c_inhibit_evaluation_warnings before/after the build_* calls. | |
990 | ||
92caa91a JM |
991 | 2012-03-15 Jason Merrill <jason@redhat.com> |
992 | ||
993 | PR c++/52582 | |
994 | * method.c (implicitly_declare_fn): Set DECL_EXTERNAL. | |
995 | ||
a12bf402 MLI |
996 | 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org> |
997 | ||
998 | PR c++/44783 | |
999 | * error.c (print_instantiation_partial_context): Use | |
1000 | template_backtrace_limit. | |
1001 | ||
b24513a1 RO |
1002 | 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
1003 | ||
1004 | * Make-lang.in (doc/g++.1): Remove IRIX 6.5 reference. | |
1005 | ||
717a5c62 JJ |
1006 | 2012-03-14 Jakub Jelinek <jakub@redhat.com> |
1007 | ||
1008 | PR c++/52521 | |
1009 | * parser.c (lookup_literal_operator): Return fn only if | |
1010 | processed all arguments from args vector and argtypes is | |
1011 | void_list_node. | |
1012 | ||
74788b80 DS |
1013 | 2012-01-30 Dodji Seketeli <dodji@redhat.com> |
1014 | ||
1015 | PR c++/51641 | |
1016 | * cp-tree.h (template_type_parameter_p): Declare new function. | |
74788b80 | 1017 | (parameter_of_template_p): Remove. |
a12bf402 MLI |
1018 | * pt.c (template_type_parameter_p): Define new function. |
1019 | (parameter_of_template_p): Remove. | |
1020 | * name-lookup.c (binding_to_template_parms_of_scope_p): Don't rely | |
74788b80 DS |
1021 | on parameter_of_template_p anymore. Compare the level of the |
1022 | template parameter to the depth of the template. | |
1023 | ||
40703fdf DS |
1024 | 2011-12-15 Dodji Seketeli <dodji@redhat.com> |
1025 | ||
1026 | * call.c (standard_conversion, build_integral_nontype_arg_conv) | |
1027 | (build_new_op_1, convert_like_real, is_subseq) | |
1028 | (maybe_handle_implicit_object, maybe_handle_ref_bind, compare_ics) | |
1029 | (joust): Use next_conversion instead of accessing fields of struct | |
1030 | conversion directly. | |
1031 | ||
7792bd8a PC |
1032 | 2012-03-12 Paolo Carlini <paolo.carlini@oracle.com> |
1033 | ||
1034 | PR c++/52299 | |
1035 | * pt.c (tsubst_copy_and_build, case COND_EXPR): Avoid bogus | |
1036 | division by zero warnings. | |
1037 | ||
a3299120 PC |
1038 | 2012-03-08 Paolo Carlini <paolo.carlini@oracle.com> |
1039 | ||
1040 | * typeck.c (build_array_ref, cp_build_addr_expr_1, convert_ptrmem, | |
1041 | build_ptrmemfunc): Consistently forward the tsubst_flags_t | |
1042 | parameter. | |
1043 | * call.c (resolve_args): Likewise. | |
1044 | ||
5ceb809d JM |
1045 | 2012-03-07 Jason Merrill <jason@redhat.com> |
1046 | ||
1047 | PR c++/52521 | |
1048 | * mangle.c (write_literal_operator_name): The length comes after the | |
1049 | operator prefix. | |
1050 | ||
704b8582 JJ |
1051 | 2012-03-05 Jakub Jelinek <jakub@redhat.com> |
1052 | ||
1053 | * pt.c (local_specializations): Change from htab_t into | |
1054 | struct pointer_map_t *. | |
1055 | (retrieve_local_specializations, register_local_specialization, | |
1056 | tsubst_pack_expansion, instantiate_decl): Adjust users. | |
1057 | (eq_local_specializations, hash_local_specialization): Remove. | |
1058 | ||
bb828cc7 JM |
1059 | 2012-03-05 Jason Merrill <jason@redhat.com> |
1060 | ||
b5053024 JM |
1061 | PR c++/51930 |
1062 | * decl2.c (determine_visibility): Correct calculation of class | |
1063 | args depth. | |
1064 | * decl.c (check_tag_decl): Adjust warning. | |
1065 | ||
bb828cc7 JM |
1066 | * method.c (synthesized_method_walk): Cleanups don't affect the EH |
1067 | spec either. | |
1068 | ||
57910f3a JM |
1069 | 2012-03-03 Jason Merrill <jason@redhat.com> |
1070 | ||
a491b7be JM |
1071 | * init.c (perform_member_init): Cope with uninstantiated NSDMI. |
1072 | ||
743af85b JM |
1073 | Core 1270 |
1074 | * call.c (build_aggr_conv): Call reshape_init. | |
1075 | (convert_like_real): Likewise. | |
1076 | * typeck2.c (process_init_constructor): Clear TREE_CONSTANT if | |
1077 | not all constant. | |
1078 | ||
dd94dde7 JM |
1079 | * mangle.c (write_nested_name): Use decl_mangling_context. |
1080 | (write_prefix, write_template_prefix): Likewise. | |
1081 | ||
77d4d7c5 JM |
1082 | PR c++/36797 |
1083 | * mangle.c (write_expression): Improve diagnostic for TRAIT_EXPR. | |
1084 | ||
57910f3a JM |
1085 | * class.c (add_method): Always build an OVERLOAD for using-decls. |
1086 | * search.c (lookup_member): Handle getting an OVERLOAD for a | |
1087 | single function. | |
1088 | ||
ff2f581b PC |
1089 | 2012-03-02 Paolo Carlini <paolo.carlini@oracle.com> |
1090 | ||
1091 | PR c++/51989 | |
1092 | * typeck2.c (build_x_arrow): Take a tsubst_flags_t argument and | |
1093 | propagate it. | |
1094 | * cp-tree.h (build_x_arrow): Adjust prototype. | |
1095 | * pt.c (tsubst_copy_and_build): Adjust call. | |
1096 | * parser.c (cp_parser_postfix_dot_deref_expression): Likewise. | |
1097 | ||
54e9d944 PC |
1098 | 2012-03-02 Paolo Carlini <paolo.carlini@oracle.com> |
1099 | ||
1100 | * name-lookup.c (binding_to_template_parms_of_scope_p): Clean up. | |
1101 | ||
ae45549b JM |
1102 | 2012-02-29 Jason Merrill <jason@redhat.com> |
1103 | ||
1104 | PR c++/51930 | |
1105 | * decl.c (check_tag_decl): Move warning for misplaced attributes here. | |
1106 | (shadow_tag): From here. | |
1107 | * parser.c (cp_parser_explicit_instantiation): Don't warn here. | |
1108 | ||
6e887223 JJ |
1109 | 2012-02-21 Jakub Jelinek <jakub@redhat.com> |
1110 | ||
1111 | PR c++/52312 | |
1112 | * typeck.c (check_literal_operator_args): Initialize *long_double_p | |
1113 | and *long_long_unsigned_p even if processing_template_decl. | |
1114 | ||
e9339a68 JM |
1115 | 2012-02-16 Jason Merrill <jason@redhat.com> |
1116 | ||
1117 | PR c++/52248 | |
1118 | * decl.c (define_label): Use timevar_cond_start/stop. | |
1119 | ||
6acc8d53 FC |
1120 | 2012-02-16 Fabien Chêne <fabien@gcc.gnu.org> |
1121 | ||
1122 | PR c++/52126 | |
1123 | * decl.c (xref_basetypes): call dependent_scope_p instead of | |
1124 | dependent_type_p. | |
1125 | ||
539b471b JM |
1126 | 2012-02-16 Jason Merrill <jason@redhat.com> |
1127 | ||
1128 | PR c++/51415 | |
1129 | * error.c (dump_expr): Handle lambda closures specifically. | |
1130 | ||
7f3dee0e JM |
1131 | 2012-02-14 Jason Merrill <jason@redhat.com> |
1132 | ||
1133 | * parser.c (cp_parser_explicit_instantiation): Give a warning | |
1134 | for ignored attributes on explicit class instantiation. | |
1135 | ||
61c85130 JJ |
1136 | 2012-02-14 Jakub Jelinek <jakub@redhat.com> |
1137 | ||
1138 | PR c++/52247 | |
1139 | * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call | |
1140 | lookup_label on label's name and set TREE_USED. | |
1141 | ||
f0ebe02d JM |
1142 | 2012-02-14 Jason Merrill <jason@redhat.com> |
1143 | ||
1144 | PR c++/39055 | |
1145 | * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL. | |
1146 | ||
45f41865 JJ |
1147 | 2012-02-14 Jakub Jelinek <jakub@redhat.com> |
1148 | ||
1149 | PR c/52181 | |
1150 | * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than | |
1151 | newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits. | |
1152 | ||
84d594c6 JM |
1153 | 2012-02-07 Jason Merrill <jason@redhat.com> |
1154 | ||
88f7a9f6 JM |
1155 | PR c++/51675 |
1156 | * semantics.c (cx_check_missing_mem_inits): Handle unions. | |
1157 | Fix constexpr default constructor logic. | |
1158 | ||
84d594c6 JM |
1159 | PR c++/52035 |
1160 | * pt.c (tsubst): Strip uninstantiated typedef. | |
1161 | ||
cb406914 JM |
1162 | 2012-02-06 Jason Merrill <jason@redhat.com> |
1163 | ||
1164 | PR c++/52088 | |
1165 | * cvt.c (build_expr_type_conversion): Check for template conversion. | |
1166 | ||
2297ab7d JM |
1167 | 2012-01-31 Jason Merrill <jason@redhat.com> |
1168 | ||
1169 | PR c++/52043 | |
1170 | * cp-tree.h (PACK_EXPANSION_LOCAL_P): New. | |
1171 | * pt.c (make_pack_expansion, tsubst_initializer_list): Set it. | |
1172 | (tsubst_pack_expansion): Check it. | |
1173 | ||
07a71223 PC |
1174 | 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com> |
1175 | ||
1176 | PR c++/51327 | |
1177 | * class.c (explain_non_literal_class): Correctly handle implicitly | |
1178 | deleted constructors. | |
1179 | ||
8c713829 JJ |
1180 | 2012-01-27 Jakub Jelinek <jakub@redhat.com> |
1181 | ||
1182 | PR c++/51852 | |
1183 | * pt.c (tsubst_pack_expansion): Delete and restore | |
1184 | local_specialization whenever need_local_specialization, not just | |
1185 | when saved_local_specializations is non-NULL. | |
1186 | ||
6c1e7aa9 PC |
1187 | 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com> |
1188 | ||
1189 | PR c++/51370 | |
1190 | * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node | |
1191 | as TREE_OPERAND (t, 1). | |
1192 | ||
c873934c JM |
1193 | 2012-01-24 Jason Merrill <jason@redhat.com> |
1194 | ||
d2bb8192 JM |
1195 | PR c++/51917 |
1196 | * decl.c (xref_basetypes): Check VEC_length instead of VEC_space. | |
1197 | ||
c873934c JM |
1198 | PR c++/51973 |
1199 | * tree.c (called_fns_equal): Check template args. | |
1200 | (cp_tree_equal): Call it. | |
1201 | ||
00a42fb3 AH |
1202 | 2012-01-24 Aldy Hernandez <aldyh@redhat.com> |
1203 | Patrick Marlier <patrick.marlier@gmail.com> | |
1204 | ||
1205 | PR c++/51928 | |
1206 | * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of | |
1207 | thunk for set_one_vmethod_tm_attributes. | |
1208 | ||
7cc35b68 PC |
1209 | 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com> |
1210 | ||
1211 | PR c++/51223 | |
1212 | * call.c (build_over_call): Check for error_mark_node as | |
1213 | TREE_VALUE when default arguments are processed. | |
1214 | ||
22197246 JM |
1215 | 2012-01-23 Jason Merrill <jason@redhat.com> |
1216 | ||
1217 | PR c++/51930 | |
1218 | * decl2.c (determine_visibility): Check for visibility attribute | |
1219 | on template specialization. | |
1220 | ||
1beb5272 PC |
1221 | 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com> |
1222 | ||
1223 | PR c++/51398 | |
1224 | * pt.c (parameter_of_template_p): Skip error_mark_node parameters. | |
1225 | ||
aef3a6b2 JM |
1226 | 2012-01-23 Jason Merrill <jason@redhat.com> |
1227 | ||
1228 | PR c++/51925 | |
1229 | * class.c (add_method): Set OVL_USED for using-decls. | |
1230 | * tree.c (ovl_scope): New. | |
1231 | * cp-tree.h: Declare it. | |
1232 | * parser.c (cp_parser_template_name): Use it. | |
1233 | * semantics.c (baselink_for_fns): Likewise. | |
1234 | * name-lookup.c (set_inherited_value_binding_p): Likewise. | |
1235 | ||
b968b192 PC |
1236 | 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com> |
1237 | ||
1238 | PR c++/51402 | |
1239 | * pt.c (lookup_template_class_1): Check context returned by | |
1240 | tsubst for error_mark_node. | |
1241 | ||
54a9f5ea KT |
1242 | 2012-01-19 Kai Tietz <ktietz@redhat.com> |
1243 | ||
1244 | PR c++/51344 | |
1245 | * decl2.c (save_template_attributes): Use merge_attributes | |
1246 | instead of chaining up via TREE_CHAIN. | |
1247 | ||
e58d4228 JM |
1248 | 2012-01-19 Jason Merrill <jason@redhat.com> |
1249 | ||
1250 | PR c++/51889 | |
1251 | * class.c (finish_struct): Call add_method here for function usings. | |
1252 | * semantics.c (finish_member_declaration): Not here. | |
1253 | ||
55e83c66 PC |
1254 | 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com> |
1255 | ||
1256 | PR c++/51225 | |
1257 | * typeck2.c (store_init_value): Within a template guard | |
1258 | cxx_constant_value with require_potential_constant_expression. | |
1259 | * pt.c (convert_nontype_argument): Likewise. | |
1260 | ||
95875a9b JJ |
1261 | 2012-01-16 Jakub Jelinek <jakub@redhat.com> |
1262 | ||
1263 | PR c++/51854 | |
1264 | * mangle.c (write_template_arg_literal): Handle complex. | |
1265 | ||
645c7a55 JM |
1266 | 2012-01-16 Jason Merrill <jason@redhat.com> |
1267 | ||
a7cd72be JM |
1268 | PR c++/51827 |
1269 | * mangle.c (mangle_decl): Don't mangle uninstantiated templates. | |
1270 | ||
645c7a55 JM |
1271 | PR c++/51868 |
1272 | * typeck.c (build_static_cast_1): Handle bit-fields properly. | |
1273 | ||
12448f77 ILT |
1274 | 2012-01-13 Ian Lance Taylor <iant@google.com> |
1275 | ||
1276 | PR c++/50012 | |
1277 | * typeck.c (enum_cast_to_int): New static function. | |
1278 | (cp_build_binary_op): When handling warn_sign_compare, don't test | |
1279 | for TREE_NO_WARNING. Do call enum_cast_to_int. | |
1280 | * call.c (avoid_sign_compare_warnings): Remove static function. | |
1281 | (build_new_op_1): Don't call avoid_sign_compare_warnings. | |
1282 | ||
8554df86 SB |
1283 | 2012-01-13 Steven Bosscher <steven@gcc.gnu.org> |
1284 | ||
1285 | * decl2.c: Do not include tree-mudflap.h | |
1286 | * semantics.c: Likewise. | |
1287 | ||
4ce7d589 JM |
1288 | 2012-01-13 Jason Merrill <jason@redhat.com> |
1289 | ||
04771457 JM |
1290 | PR c++/20681 |
1291 | * semantics.c (finish_break_stmt): Avoid adding an unreachable | |
1292 | BREAK_STMT. | |
1293 | ||
fc970532 JM |
1294 | PR c++/51813 |
1295 | * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED | |
1296 | when reducing the visibility. | |
1297 | ||
4ce7d589 JM |
1298 | PR c++/51620 |
1299 | * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual. | |
1300 | ||
f83fa0bf JM |
1301 | 2012-01-12 Jason Merrill <jason@redhat.com> |
1302 | ||
1303 | PR c++/51714 | |
1304 | * pt.c (value_dependent_expression_p): Treat STMT_EXPR as | |
1305 | value-dependent. | |
1306 | ||
1cef7102 DS |
1307 | 2012-01-13 Dodji Seketeli <dodji@redhat.com> |
1308 | ||
1309 | PR c++/51633 | |
1310 | * semantics.c (cp_parser_ctor_initializer_opt_and_function_body): | |
1311 | Set the pointer to the last block of the constructor to the | |
1312 | current statement. | |
1313 | (build_constexpr_constructor_member_initializers): Get | |
1314 | build_data_member_initialization a chance to deal with more | |
1315 | statements before we choke. | |
1316 | ||
ca5333f2 JM |
1317 | 2012-01-12 Jason Merrill <jason@redhat.com> |
1318 | ||
4643a68e JM |
1319 | PR c++/48051 |
1320 | * mangle.c (write_expression): Mangle BASELINK scope if | |
1321 | BASELINK_QUALIFIED_P. | |
1322 | * search.c (adjust_result_of_qualified_name_lookup): Set | |
1323 | BASELINK_QUALIFIED_P. | |
1324 | * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P. | |
1325 | * parser.c (cp_parser_postfix_dot_deref_expression): Don't call | |
1326 | adjust_result_of_qualified_name_lookup for non-qualified names. | |
1327 | ||
ca5333f2 JM |
1328 | PR c++/51403 |
1329 | * pt.c (unify): Handle error_mark_node. | |
1330 | ||
7bb37352 JM |
1331 | 2012-01-11 Jason Merrill <jason@redhat.com> |
1332 | ||
efcc9293 JM |
1333 | PR c++/51565 |
1334 | * call.c (standard_conversion): For ptrmemfuncs, compare the | |
1335 | static_fn_types. | |
1336 | ||
b34e0e6f JM |
1337 | PR c++/51818 |
1338 | * mangle.c (find_substitution): A type is only a substitution | |
1339 | match if we're looking for a type. | |
1340 | (write_nested_name): Use decl_mangling_context. | |
1341 | ||
276fd9ac JM |
1342 | * decl.c (decls_match): Assert that the arguments are decls. |
1343 | ||
7bb37352 JM |
1344 | PR c++/51613 |
1345 | * pt.c (resolve_overloaded_unification): Compare types with | |
1346 | same_type_p, not decls_match. | |
1347 | ||
a1e0490f JM |
1348 | 2012-01-10 Jason Merrill <jason@redhat.com> |
1349 | ||
5313d330 JM |
1350 | PR c++/51614 |
1351 | * class.c (build_base_path): Diagnose ambiguous base. | |
1352 | ||
a1e0490f JM |
1353 | PR c++/51433 |
1354 | * semantics.c (cxx_eval_call_expression): Always retry previously | |
1355 | non-constant expressions. | |
1356 | ||
11a36a27 JM |
1357 | 2012-01-06 Jason Merrill <jason@redhat.com> |
1358 | ||
b2218da7 JM |
1359 | DR 686 |
1360 | PR c++/47450 | |
1361 | * parser.c (cp_parser_new_expression): Set | |
1362 | type_definition_forbidden_message. | |
1363 | ||
4b6aaa99 JM |
1364 | PR c++/6057 |
1365 | PR c++/48051 | |
1366 | PR c++/50855 | |
1367 | PR c++/51322 | |
1368 | * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR, | |
1369 | THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and | |
1370 | PREDECREMENT_EXPR. | |
1371 | (write_template_arg): Fix mangling of class-scope functions and | |
1372 | argument packs. | |
1373 | (mangle_decl): Update suggested -fabi-version argument. | |
1374 | * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR, | |
1375 | DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR. | |
1376 | * tree.c (dependent_name): No longer static. | |
1377 | * cp-tree.h: Declare it. | |
1378 | * pt.c (unify): Defer handling of unconverted functions. | |
1379 | ||
1be3db36 JM |
1380 | * mangle.c (mangle_decl): Don't generate mangling aliases |
1381 | for maybe-in-charge [cd]tors. | |
1382 | ||
11a36a27 JM |
1383 | * error.c (dump_expr): Print type of CONSTRUCTOR. |
1384 | ||
45a29025 DS |
1385 | 2012-01-05 Dodji Seketeli <dodji@redhat.com> |
1386 | ||
1387 | PR c++/51541 | |
1388 | * parser.c (cp_parser_alias_declaration): Get out early upon | |
1389 | errors in the identifier or the attributes. | |
1390 | ||
a10bf1f9 PC |
1391 | 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com> |
1392 | ||
1393 | PR c++/51064 | |
1394 | * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on | |
1395 | the tree returned by build_x_binary_op. | |
1396 | ||
2b59b528 PC |
1397 | 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com> |
1398 | ||
1399 | PR c++/51738 | |
1400 | * parser.c (cp_parser_postfix_open_square_expression): Handle | |
1401 | postfix-expression [ braced-init-list ]. | |
1402 | ||
63891ba2 PC |
1403 | 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com> |
1404 | ||
1405 | PR c++/29273 | |
1406 | * rtti.c (build_dynamic_cast_1): In case of T a pointer type, | |
1407 | call decay_conversion on v. | |
1408 | ||
da89f7f3 PC |
1409 | 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com> |
1410 | ||
1411 | PR c++/15867 | |
1412 | * decl.c (duplicate_decls): With -Wredundant-decls don't warn for | |
1413 | declaration followed by specialization. | |
1414 | ||
b848354b JJ |
1415 | 2012-01-03 Jakub Jelinek <jakub@redhat.com> |
1416 | ||
1417 | PR c++/51669 | |
1418 | * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr | |
1419 | on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR. | |
1420 | ||
d28c2dcd JM |
1421 | 2012-01-02 Jason Merrill <jason@redhat.com> |
1422 | ||
ab807569 JM |
1423 | DR 1359 |
1424 | PR c++/51675 | |
1425 | * method.c (walk_field_subobs): Don't check for uninitialized | |
1426 | fields in a union. | |
1427 | (synthesized_method_walk): Check here. | |
1428 | ||
d28c2dcd JM |
1429 | DR 325 |
1430 | PR c++/51666 | |
1431 | * parser.c (cp_parser_cache_defarg): Split out... | |
1432 | (cp_parser_parameter_declaration): ...from here. | |
1433 | (cp_parser_save_nsdmi): Use it. | |
1434 | (cp_parser_cache_group): Remove CPP_COMMA support. | |
1435 | ||
358b9253 DS |
1436 | 2012-01-02 Dodji Seketeli <dodji@redhat.com> |
1437 | ||
1438 | PR c++/51462 | |
1439 | * semantics.c (cx_check_missing_mem_inits): Don't assert in case | |
1440 | of error. | |
1441 | ||
7d510a82 PC |
1442 | 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com> |
1443 | ||
1444 | PR c++/20140 | |
1445 | * typeck2.c (digest_init_r): Use copy_init when initializing | |
1446 | an array of chars. | |
1447 | ||
11cc5f49 PC |
1448 | 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com> |
1449 | ||
1450 | PR c++/16603 | |
1451 | * decl.c (build_enumerator): Don't call perform_integral_promotions | |
1452 | on the value. | |
1453 | ||
9f88ff5a PC |
1454 | 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com> |
1455 | ||
1456 | PR c++/51379 | |
1457 | * typeck.c (build_reinterpret_cast_1): Implement resolution of | |
1458 | DR 799. | |
1459 | ||
1460 | 2012-01-01 Fabien Chêne <fabien@gcc.gnu.org> | |
5135baed FC |
1461 | |
1462 | * parser.c (cp_parser_using_declaration): Add a warning about | |
1463 | deprecated access declarations when no errors were encountered | |
1464 | while parsing the access declaration. Save the first token in | |
1465 | order to emit the warning at the right place. | |
ad41bd84 | 1466 | \f |
a7f45047 | 1467 | Copyright (C) 2012 Free Software Foundation, Inc. |
ad41bd84 JM |
1468 | |
1469 | Copying and distribution of this file, with or without modification, | |
1470 | are permitted in any medium without royalty provided the copyright | |
1471 | notice and this notice are preserved. |