Mercurial > hg > CbC > CbC_gcc
comparison gcc/cp/ChangeLog-2012 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 2012-12-28 Kai Tietz <ktietz@redhat.com> | |
2 | |
3 * rtti.c (LONGPTR_T): New helper-macro. | |
4 (get_pseudo_ti_init): Initialize offset_type by LONGPTR_T | |
5 type instead of 'long' type. | |
6 (create_tinfo_types): Use for offset/flags field LONGPTR_T | |
7 type instead of 'long' type. | |
8 | |
9 2012-12-19 Jason Merrill <jason@redhat.com> | |
10 | |
11 PR c++/55724 | |
12 * pt.c (type_unification_real): Re-combine post-deduction loops. | |
13 | |
14 2012-12-14 Jason Merrill <jason@redhat.com> | |
15 | |
16 PR c++/55685 | |
17 * pt.c (tsubst_copy_and_build): Don't use SIZEOF_EXPR_TYPE_P in | |
18 templates. | |
19 | |
20 PR c++/42315 | |
21 * decl.c (maybe_deduce_size_from_array_init): Don't change the | |
22 variable type. | |
23 | |
24 2012-12-13 Jakub Jelinek <jakub@redhat.com> | |
25 | |
26 PR c++/55652 | |
27 * typeck2.c (merge_exception_specifiers): Don't call operand_equal_p | |
28 if noex is NULL. | |
29 | |
30 2012-12-11 Jason Merrill <jason@redhat.com> | |
31 | |
32 PR c++/54883 | |
33 * decl2.c (min_vis_r): Handle anon visibility for enums. | |
34 | |
35 2012-12-11 Marc Glisse <marc.glisse@inria.fr> | |
36 | |
37 PR c++/53094 | |
38 * tree.c (cp_tree_equal): Handle VECTOR_CST. | |
39 * semantics.c (cxx_eval_bare_aggregate): Protect a dereference. | |
40 Handle VECTOR_CST. | |
41 | |
42 2012-12-11 Jakub Jelinek <jakub@redhat.com> | |
43 | |
44 PR c++/55643 | |
45 * expr.c (mark_exp_read): Handle FLOAT_EXPR similarly to NOP_EXPR. | |
46 | |
47 2012-12-11 Jason Merrill <jason@redhat.com> | |
48 | |
49 PR c++/54416 | |
50 * pt.c (maybe_process_partial_specialization): Don't accept | |
51 definition of a specialization without the appropriate header. | |
52 | |
53 * pt.c (maybe_process_partial_specialization): Handle aliases first. | |
54 | |
55 2012-12-11 Jakub Jelinek <jakub@redhat.com> | |
56 | |
57 PR c++/55619 | |
58 * semantics.c (finish_asm_stmt): Don't call decay_conversion | |
59 on input operands that can be only in memory. | |
60 | |
61 2012-12-10 Eric Botcazou <ebotcazou@adacore.com> | |
62 | |
63 * Make-lang.in (cp/typeck.o): Add dependency on $(PARAMS_H). | |
64 (cp/name-lookup.o): Likewise. | |
65 | |
66 2012-12-10 Steven Bosscher <steven@gcc.gnu.org> | |
67 | |
68 * decl2.c (cp_write_global_declarations): Return after writing a PCH. | |
69 | |
70 2012-12-07 Jason Merrill <jason@redhat.com> | |
71 | |
72 PR c++/55127 | |
73 * search.c (accessible_in_template_p): New. | |
74 * cp-tree.h: Declare it. | |
75 * pt.c (instantiation_dependent_scope_ref_p): New. | |
76 (value_dependent_expression_p): Use it. | |
77 (instantiation_dependent_r): Likewise. | |
78 * semantics.c (finish_decltype_type): Handle SCOPE_REF. | |
79 | |
80 PR c++/55419 | |
81 * tree.c (build_target_expr): Don't set TREE_CONSTANT. | |
82 | |
83 2012-12-07 Aldy Hernandez <aldyh@redhat.com> | |
84 | |
85 PR c++/55513 | |
86 * semantics.c (cxx_eval_builtin_function_call): Set non_constant_p | |
87 after folding. | |
88 | |
89 2012-12-07 Paolo Carlini <paolo.carlini@oracle.com> | |
90 | |
91 * tree.c (build_aggr_init_expr): Remove tsubst_flags_t parameter. | |
92 (build_cplus_new): Adjust. | |
93 * cp-tree.h: Adjust declaration. | |
94 * init.c (build_value_init): Adjust. | |
95 | |
96 2012-12-07 Dodji Seketeli <dodji@redhat.com> | |
97 | |
98 PR c++/54401 | |
99 * parser.c (cp_parser_alias_declaration): Commit to tentative | |
100 parse when see the '=' token. Get out if the type-id is invalid. | |
101 Update function comment. | |
102 (cp_parser_member_declaration): Don't try to parse a using | |
103 declaration if we know that we expected an alias declaration; that | |
104 is, if we see the '=' token after the identifier. | |
105 | |
106 2012-12-06 Jason Merrill <jason@redhat.com> | |
107 | |
108 PR c++/54325 | |
109 * tree.c (build_aggr_init_expr): Don't check for abstract class. | |
110 (build_cplus_new): Check here instead. | |
111 | |
112 PR c++/55058 | |
113 * pt.c (tsubst): Keep the quals when looking through a typedef. | |
114 | |
115 PR c++/55249 | |
116 * tree.c (build_vec_init_elt): Use the type of the initializer. | |
117 | |
118 PR c++/54744 | |
119 * pt.c (resolve_typename_type): Check TYPENAME_IS_RESOLVING_P on scope. | |
120 * init.c (expand_member_init): Check for being in a template first. | |
121 * parser.c (cp_parser_mem_initializer_list): Only check class types | |
122 for equivalence to the current class. | |
123 | |
124 PR c++/54913 | |
125 * semantics.c (finish_qualified_id_expr): convert_from_reference | |
126 after building a SCOPE_REF. | |
127 | |
128 2012-12-06 Jakub Jelinek <jakub@redhat.com> | |
129 | |
130 PR c++/54207 | |
131 * except.c (build_noexcept_spec): Avoid direct comparison | |
132 with boolean_true_node or boolean_false_node, instead use | |
133 operand_equal_p and/or INTEGER_CST check. | |
134 * pt.c (tsubst_exception_specification): Likewise. | |
135 * typeck2.c (merge_exception_specifiers): Likewise. | |
136 | |
137 2012-12-06 Marc Glisse <marc.glisse@inria.fr> | |
138 | |
139 PR c++/55573 | |
140 * semantics.c (adjust_temp_type): Handle VECTOR_CST. | |
141 | |
142 2012-12-06 Jason Merrill <jason@redhat.com> | |
143 | |
144 PR c++/54947 | |
145 * parser.c (cp_parser_initializer_list): Don't require an | |
146 expression in [] to be constant until we know it's a C99 | |
147 designator. | |
148 | |
149 PR c++/55015 | |
150 PR c++/53821 | |
151 * semantics.c (maybe_add_lambda_conv_op): Revert earlier change. | |
152 * decl.c (start_preparsed_function): Make local class methods comdat | |
153 in templates, too. | |
154 | |
155 PR c++/54653 | |
156 * parser.c (cp_parser_class_head): A partial specialization scope | |
157 counts as a template. | |
158 * pt.c (tsubst_template_parms): Handle template template parm parms. | |
159 (tsubst_decl) [TEMPLATE_DECL]: Handle getting a template template | |
160 argument back. | |
161 | |
162 PR c++/55564 | |
163 * pt.c (unify) [ARRAY_TYPE]: Unify the element type before the bounds. | |
164 | |
165 2012-12-03 Paolo Carlini <paolo.carlini@oracle.com> | |
166 | |
167 PR c++/54170 | |
168 * cvt.c (cp_convert_to_pointer): Don't discard side-effects from | |
169 expressions of nullptr_t. | |
170 * typeck.c (build_ptrmemfunc): Likewise. | |
171 | |
172 2012-12-01 Jakub Jelinek <jakub@redhat.com> | |
173 | |
174 PR c++/55542 | |
175 * pt.c (make_ith_pack_parameter_name): Return NULL if | |
176 name is NULL. | |
177 (tsubst_decl): Call make_ith_pack_parameter_name even if | |
178 DECL_NAME is NULL. | |
179 | |
180 2012-11-29 Jason Merrill <jason@redhat.com> | |
181 | |
182 PR c++/53137 | |
183 * pt.c (tsubst_expr) [DECL_EXPR]: Set LAMBDA_EXPR_THIS_CAPTURE here. | |
184 (tsubst_copy_and_build) [LAMBDA_EXPR]: And clear it here. | |
185 (instantiate_class_template_1): Not here. | |
186 | |
187 2012-11-29 Marc Glisse <marc.glisse@inria.fr> | |
188 | |
189 PR c++/53094 | |
190 * cvt.c (ocp_convert): Call convert_to_vector. | |
191 | |
192 2012-11-29 Kai Tietz <ktietz@redhat.com> | |
193 | |
194 PR target/53912 | |
195 * class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t. | |
196 (dump_vtable): Likewise. | |
197 | |
198 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net> | |
199 | |
200 PR c++/52654 | |
201 * parser.c (cp_parser_string_literal): Add overflow_type arg. | |
202 (cp_parser_userdef_numeric_literal): Warn on numeric overflow. | |
203 | |
204 2012-11-28 Andrew Pinski <apinski@cavium.com> | |
205 | |
206 PR bootstrap/54279 | |
207 * Make-lang.in (g++$(exeext)): Rename to | |
208 (xg++$(exeext)): This. | |
209 (g++-cross$(exeext)): Use xg++$(exeext) instead of g++$(exeext). | |
210 (c++.start.encap): Likewise. | |
211 (c++.install-common): Likewise. | |
212 | |
213 2012-11-24 Paolo Carlini <paolo.carlini@oracle.com> | |
214 | |
215 PR c++/55446 | |
216 * init.c (build_vec_init): Do not early return error_mark_mode | |
217 when integer_all_onesp (maxindex). | |
218 | |
219 2012-11-23 Jakub Jelinek <jakub@redhat.com> | |
220 | |
221 PR c++/54046 | |
222 * cp-objcp-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Redefine. | |
223 * cp-objcp-common.c (cxx_block_may_fallthru): New function. | |
224 * cp-tree.h (cxx_block_may_fallthru): New prototype. | |
225 | |
226 2012-11-23 Markus Trippelsdorf <markus@trippelsdorf.de> | |
227 | |
228 PR c++/55418 | |
229 * method.c (implicitly_declare_fn): Properly initialize trivial_p. | |
230 | |
231 2012-11-22 Jason Merrill <jason@redhat.com> | |
232 | |
233 PR c++/55137 | |
234 * semantics.c (verify_constant): Track overflow separately. | |
235 (reduced_constant_expression_p): Don't check it here. | |
236 (cxx_eval_constant_expression): Check it on CSTs. | |
237 (cxx_eval_outermost_constant_expr): Treat overflows as non-constant | |
238 at this point, but still return the folded version. | |
239 (potential_constant_expression_1): Don't check overflow. | |
240 | |
241 * call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for | |
242 the ADDR_EXPR. | |
243 | |
244 2012-11-20 Diego Novillo <dnovillo@google.com> | |
245 Jakub Jelinek <jakub@redhat.com> | |
246 | |
247 * name-lookup.c: Replace all vec<T, A>() initializers | |
248 with vNULL. | |
249 * semantics.c: Likewise. | |
250 | |
251 2012-11-19 Paolo Carlini <paolo.carlini@oracle.com> | |
252 | |
253 PR c++/55368 | |
254 * parser.c (cp_parser_member_declaration): Emit an error in case | |
255 of stray comma at end of member declaration. | |
256 | |
257 2012-11-19 Jason Merrill <jason@redhat.com> | |
258 | |
259 * class.c (one_inheriting_sig): Don't inherit base copy ctors. | |
260 | |
261 PR c++/55262 | |
262 * method.c (implicitly_declare_fn): Set DECL_PARM_INDEX on | |
263 the parms of an inheriting ctor. | |
264 | |
265 PR c++/55261 | |
266 * class.c (add_implicitly_declared_members): Use | |
267 lookup_fnfields_slot to get the base constructors. | |
268 | |
269 2012-11-19 Jakub Jelinek <jakub@redhat.com> | |
270 | |
271 PR middle-end/54630 | |
272 * class.c (fixed_type_or_null_ref_ht): New variable. | |
273 (fixed_type_or_null): Use it instead of local static ht. | |
274 | |
275 2012-11-17 Diego Novillo <dnovillo@google.com> | |
276 | |
277 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec) | |
278 | |
279 * Make-lang.in: Remove dependencies on vecir.h and vecprim.h everywhere. | |
280 * call.c: Use new vec API in vec.h. | |
281 * class.c: Likewise. | |
282 * cp-gimplify.c: Likewise. | |
283 * cp-tree.h: Likewise. | |
284 * cvt.c: Likewise. | |
285 * decl.c: Likewise. | |
286 * decl2.c: Likewise. | |
287 * error.c: Likewise. | |
288 * except.c: Likewise. | |
289 * init.c: Likewise. | |
290 * mangle.c: Likewise. | |
291 * method.c: Likewise. | |
292 * name-lookup.c: Likewise. | |
293 * name-lookup.h: Likewise. | |
294 * parser.c: Likewise. | |
295 * parser.h: Likewise. | |
296 * pt.c: Likewise. | |
297 * repo.c: Likewise. | |
298 * rtti.c: Likewise. | |
299 * search.c: Likewise. | |
300 * semantics.c: Likewise. | |
301 * tree.c: Likewise. | |
302 * typeck.c: Likewise. | |
303 * typeck2.c: Likewise. | |
304 | |
305 2012-11-17 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
306 | |
307 * semantics.c (finish_id_expression): Tidy diagnostic message. | |
308 | |
309 2012-11-16 Dodji Seketeli <dodji@redhat.com> | |
310 | |
311 PR c++/54875 | |
312 * pt.c (lookup_template_class_1): Look at the type of the | |
313 potential member enum of class template to determine if we are | |
314 actually substituting into a member enum of class template. | |
315 | |
316 2012-11-16 Jakub Jelinek <jakub@redhat.com> | |
317 | |
318 PR c++/55337 | |
319 * tree.c (cp_tree_equal) <case ALIGNOF_EXPR>: Use SIZEOF_EXPR_TYPE_P | |
320 only on SIZEOF_EXPR. | |
321 | |
322 2012-11-14 Jason Merrill <jason@redhat.com> | |
323 | |
324 PR c++/54903 | |
325 * decl2.c (mark_used): Don't complain about auto in templates. | |
326 | |
327 PR c++/37276 | |
328 * decl.c (decls_match): Remove #ifdef around earlier fix. | |
329 | |
330 2012-11-13 Jason Merrill <jason@redhat.com> | |
331 | |
332 * class.c (finish_struct_1): Check virtual functions | |
333 for missing ABI tags. | |
334 | |
335 PR c++/55275 | |
336 * pt.c (maybe_process_partial_specialization): Update | |
337 DECL_SOURCE_LOCATION for new specializations. | |
338 | |
339 2012-11-14 Paolo Carlini <paolo.carlini@oracle.com> | |
340 | |
341 PR c++/55323 | |
342 * init.c (emit_mem_initializers): Skip arguments == error_mark_node. | |
343 | |
344 2012-11-14 Fabien Chêne <fabien@gcc.gnu.org> | |
345 | |
346 PR c++/11750 | |
347 * call.c (build_new_method_call_1): Check that the instance type | |
348 and the function context are the same before setting the flag | |
349 LOOKUP_NONVIRTUAL. | |
350 | |
351 2012-11-13 Sriraman Tallam <tmsriram@google.com> | |
352 | |
353 * class.c (mark_versions_used): Remove. | |
354 (resolve_address_of_overloaded_function): Call target hook | |
355 for versioned functions. Refactor to call | |
356 get_function_versions_dispatcher. | |
357 * decl.c (duplicate_decls): Add comments. | |
358 * cp/call.c (get_function_version_dispatcher): Expose function. | |
359 (mark_versions_used): Expose function. | |
360 * cp/cp-tree.h (mark_versions_used): New declaration. | |
361 (get_function_version_dispatcher): Ditto. | |
362 | |
363 2012-11-13 Dodji Seketeli <dodji@redhat.com> | |
364 | |
365 PR c++/54466 | |
366 * pt.c (lookup_template_class_1): TYPE_STUB_DECL should be | |
367 accessed on the main variant of the type. | |
368 | |
369 2012-11-12 Ed Smith-Rowland <3dw4rd@verizon.net> | |
370 | |
371 * parser.c (cp_parser_objc_class_ivars): | |
372 Index declspecs.locations by ds_typedef rather than ds_thread. | |
373 | |
374 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net> | |
375 | |
376 PR c++/54413 | |
377 * decl.c (grokfndecl): Adjust calls to interpret_x_suffix. | |
378 | |
379 2012-11-09 Jason Merrill <jason@redhat.com> | |
380 | |
381 PR c++/54859 | |
382 * pt.c (check_instantiated_arg): Don't complain about dependent args. | |
383 | |
384 * tree.c (cxx_attribute_table): Add abi_tag attribute. | |
385 (check_abi_tag_redeclaration, handle_abi_tag_attribute): New. | |
386 * class.c (find_abi_tags_r, check_abi_tags): New. | |
387 (check_bases, check_field_decl): Call check_abi_tags. | |
388 * decl.c (redeclaration_error_message): Call | |
389 check_abi_tag_redeclaration. | |
390 * mangle.c (tree_string_cmp, write_abi_tags): New. | |
391 (write_unqualified_name): Call write_abi_tags. | |
392 | |
393 2012-11-07 Paolo Carlini <paolo.carlini@oracle.com> | |
394 | |
395 PR c++/55226 | |
396 Revert: | |
397 2012-10-23 Paolo Carlini <paolo.carlini@oracle.com> | |
398 | |
399 PR c++/54922 | |
400 * semantics.c (cx_check_missing_mem_inits): Handle anonymous union | |
401 members. | |
402 | |
403 2012-11-07 Florian Weimer <fweimer@redhat.com> | |
404 | |
405 * init.c (build_new_1): Do not check for arithmetic overflow if | |
406 inner array size is 1. | |
407 | |
408 2012-11-05 Sriraman Tallam <tmsriram@google.com> | |
409 | |
410 * class.c (add_method): Change assembler names of function versions. | |
411 (mark_versions_used): New static function. | |
412 (resolve_address_of_overloaded_function): Create dispatcher decl and | |
413 return address of dispatcher instead. | |
414 * decl.c (decls_match): Make decls unmatched for versioned | |
415 functions. | |
416 (duplicate_decls): Remove ambiguity for versioned functions. | |
417 Delete versioned function data for merged decls. | |
418 * decl2.c (check_classfn): Check attributes of versioned functions | |
419 for match. | |
420 * call.c (get_function_version_dispatcher): New function. | |
421 (mark_versions_used): New static function. | |
422 (build_over_call): Make calls to multiversioned functions | |
423 to call the dispatcher. | |
424 (joust): For calls to multi-versioned functions, make the most | |
425 specialized function version win. | |
426 | |
427 2012-10-31 Lawrence Crowl <crowl@google.com> | |
428 | |
429 * decl2.c (var_finalized_p): Rename varpool_node to | |
430 varpool_node_for_decl. | |
431 (maybe_emit_vtables): Likewise. | |
432 | |
433 2012-10-31 Paolo Carlini <paolo.carlini@oracle.com> | |
434 | |
435 PR c++/54583 | |
436 * tree.c (build_cplus_array_type): Set TREE_NO_WARNING on the | |
437 TYPE_SIZE of VLAs. | |
438 | |
439 2012-10-31 Dodji Seketeli <dodji@redhat.com> | |
440 | |
441 PR c++/54955 | |
442 * parser.c (cp_nth_tokens_can_be_std_attribute_p): Recognize the | |
443 'Alignas' keyword as the beginning of a c++11 attribute specifier. | |
444 Update the comment of the function. | |
445 (cp_next_tokens_can_be_gnu_attribute_p): Update the comment of the | |
446 function. | |
447 | |
448 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com> | |
449 | |
450 PR c++/54930 | |
451 * typeck.c (maybe_warn_about_returning_address_of_local): Use | |
452 OPT_Wreturn_local_addr. | |
453 | |
454 2012-10-26 Jakub Jelinek <jakub@redhat.com> | |
455 | |
456 PR c++/55081 | |
457 * typeck2.c (store_init_value): Call fold_non_dependent_expr | |
458 and maybe_constant_init even for C++98. | |
459 | |
460 2012-10-26 Paolo Carlini <paolo.carlini@oracle.com> | |
461 | |
462 PR c++/54984 | |
463 * init.c (build_new): Don't turn a null *init into a pointer to | |
464 empty vector orig_init. | |
465 | |
466 2012-10-25 Paolo Carlini <paolo.carlini@oracle.com> | |
467 | |
468 PR c++/53761 | |
469 * class.c (finish_struct_1): Reject aggregates decorated with | |
470 __transparent_union__ which cannot be made transparent because | |
471 the type of the first field has a different ABI from the class | |
472 overall. | |
473 | |
474 2012-10-25 Jason Merrill <jason@redhat.com> | |
475 | |
476 Core 1402 | |
477 * call.c (joust): An implicitly deleted move function is | |
478 worse than any non-deleted function. | |
479 * method.c (process_subob_fn): No special rules for move. | |
480 (synthesized_method_walk, implicitly_declare_fn): Likewise. | |
481 Warn about virtual base with non-trivial move assignment. | |
482 * cp-tree.h (struct lang_decl_fn): Remove suppress_implicit_decl. | |
483 (FNDECL_SUPPRESS_IMPLICIT_DECL): Remove. | |
484 | |
485 * semantics.c (finish_omp_threadprivate): Call complete_type. | |
486 | |
487 * class.c (one_inherited_ctor): Warn about variadic inherited ctor. | |
488 | |
489 2012-10-25 Marc Glisse <marc.glisse@inria.fr> | |
490 | |
491 PR c++/54427 | |
492 * typeck.c (build_x_conditional_expr): Handle VEC_COND_EXPR. | |
493 * call.c (build_conditional_expr_1): Likewise. | |
494 | |
495 2012-10-25 Paolo Carlini <paolo.carlini@oracle.com> | |
496 | |
497 PR c++/34892 | |
498 * parser.c (cp_parser_template_parameter): When | |
499 cp_parser_parameter_declaration parsed a default argument don't | |
500 see if *is_parameter_pack needs setting. | |
501 | |
502 2012-10-23 Paolo Carlini <paolo.carlini@oracle.com> | |
503 | |
504 PR c++/54922 | |
505 * semantics.c (cx_check_missing_mem_inits): Handle anonymous union | |
506 members. | |
507 | |
508 2012-10-23 Jakub Jelinek <jakub@redhat.com> | |
509 | |
510 PR c++/54844 | |
511 * pt.c (tsubst_copy, tsubst_copy_and_build) <case SIZEOF_EXPR>: Use | |
512 tsubst instead of tsubst_copy* on types. | |
513 | |
514 PR c++/54988 | |
515 * decl2.c (cplus_decl_attributes): Don't return early | |
516 if attributes is NULL. | |
517 | |
518 2012-10-18 Paolo Carlini <paolo.carlini@oracle.com> | |
519 | |
520 PR c++/54501 | |
521 * decl.c (reshape_init_array_1): Avoid infinite loops. | |
522 | |
523 2012-10-15 Alexandre Oliva <aoliva@redhat.com> | |
524 Paolo Carlini <paolo.carlini@oracle.com> | |
525 | |
526 PR c++/17805 | |
527 * call.c (build_new_op_1): Filter out operator functions that don't | |
528 satisfy enum-conversion match requirements. | |
529 | |
530 2012-10-15 Paolo Carlini <paolo.carlini@oracle.com> | |
531 | |
532 PR c++/50080 (again) | |
533 * parser.c (cp_parser_optional_template_keyword): When -pedantic | |
534 and C++98 mode restore pre-Core/468 behavior. | |
535 | |
536 2012-10-15 Paolo Carlini <paolo.carlini@oracle.com> | |
537 | |
538 PR c++/50080 | |
539 * parser.c (cp_parser_optional_template_keyword): Implement | |
540 Core/468, allow outside template. | |
541 | |
542 2012-10-14 Jason Merrill <jason@redhat.com> | |
543 Ville Voutilainen <ville.voutilainen@gmail.com> | |
544 | |
545 Implement C++11 inheriting constructors. | |
546 * cp-tree.h (cpp0x_warn_str): Add CPP0X_INHERITING_CTORS. | |
547 (DECL_INHERITED_CTOR_BASE, SET_DECL_INHERITED_CTOR_BASE): New. | |
548 (special_function_kind): Add sfk_inheriting_constructor. | |
549 * class.c (add_method): An inheriting ctor is hidden by a | |
550 user-declared one. | |
551 (one_inheriting_sig, one_inherited_ctor): New. | |
552 (add_implicitly_declared_members): Handle inheriting ctors. | |
553 * error.c (maybe_warn_cpp0x): Handle CPP0X_INHERITING_CTORS. | |
554 * init.c (emit_mem_initializers): Don't set LOOKUP_DEFAULTED | |
555 for an inheriting constructor. | |
556 * method.c (type_has_trivial_fn): Handle sfk_inheriting_constructor. | |
557 (type_set_nontrivial_flag): Likewise. | |
558 (add_one_base_init): Split out from... | |
559 (do_build_copy_constructor): ...here. Handle inheriting constructors. | |
560 (locate_fn_flags): Handle a list of arg types. | |
561 (synthesized_method_walk): Handle inheriting constructors. | |
562 (maybe_explain_implicit_delete): Likewise. | |
563 (deduce_inheriting_ctor): New. | |
564 (implicitly_declare_fn): Handle inheriting constructors. | |
565 * name-lookup.c (push_class_level_binding_1): An inheriting constructor | |
566 does not declare the base's name. | |
567 (do_class_using_decl): Allow inheriting constructors. | |
568 * pt.c (template_parms_to_args): Split from current_template_args. | |
569 (add_inherited_template_parms): New. | |
570 (tsubst_decl): Handle inheriting constructors. | |
571 * tree.c (special_function_p): Handle inheriting constructors. | |
572 | |
573 2012-10-12 Jakub Jelinek <jakub@redhat.com> | |
574 | |
575 PR c/54381 | |
576 * semantics.c (finish_call_expr): Pass array of 3 sizeof_arg | |
577 trees and locs (corresponding to first 3 arguments) to | |
578 sizeof_pointer_memaccess_warning. | |
579 | |
580 2012-10-12 Paolo Carlini <paolo.carlini@oracle.com> | |
581 | |
582 PR c++/24449 | |
583 * decl.c (grokfndecl): When checking for ::main declarations | |
584 use PROCESSING_REAL_TEMPLATE_DECL_P(). | |
585 | |
586 2012-10-12 Marc Glisse <marc.glisse@inria.fr> | |
587 | |
588 PR c++/53055 | |
589 * call.c (build_new_op_1): Pass RO_ARROW_STAR to cp_build_indirect_ref. | |
590 * typeck.c (cp_build_indirect_ref): Handle RO_ARROW_STAR. | |
591 | |
592 2012-10-11 Jason Merrill <jason@redhat.com> | |
593 | |
594 * cp-tree.h (DECL_THUNKS): NULL_TREE for non-virtual functions. | |
595 (SET_DECL_THUNKS): New. | |
596 * decl.c (duplicate_decls): Adjust. | |
597 * method.c (make_thunk): Adjust. | |
598 | |
599 * decl.c (grokdeclarator): Set DECL_GNU_TLS_P for static data | |
600 members, too. | |
601 | |
602 2012-10-09 Dodji Seketeli <dodji@redhat.com> | |
603 | |
604 PR c++/53540 - using fails to be equivalent to typedef | |
605 * cp-tree.h (TYPE_TEMPLATE_INFO): For an alias that is not an | |
606 instance of alias template, don't look for its TEMPLATE_INFO in | |
607 its declaration. | |
608 (alias_template_specialization_p): Take const_tree. | |
609 * pt.c (alias_template_specialization_p): Take a const_tree. | |
610 Don't call primary_template_instantiation_p. | |
611 (primary_template_instantiation_p): Call | |
612 alias_template_specialization_p. | |
613 | |
614 2012-10-10 Dodji Seketeli <dodji@redhat.com> | |
615 | |
616 * parser (cp_parser_statement): Parse c++11 attributes | |
617 tentatively. | |
618 (cp_parser_std_attribute_spec_seq): Do not warn too early about | |
619 using c++11 attributes in non c++11 mode. | |
620 | |
621 2012-10-10 Dehao Chen <dehao@google.com> | |
622 | |
623 * cp-gimplify.c (cp_genericize_r): Set location for TRY expr. | |
624 | |
625 2012-10-09 Lawrence Crowl <crowl@google.com> | |
626 | |
627 * Make-lang.in (class.o): Add dependence on hash-table.h. | |
628 (tree.o): Likewise. | |
629 (semantics.o): Likewise. | |
630 * class.c (fixed_type_or_null): Change to new type-safe hash table. | |
631 * tree.c (verify_stmt_tree): Likewise. | |
632 (verify_stmt_tree_r): Likewise. | |
633 * semantics.c (struct nrv_data): Likewise. | |
634 | |
635 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com> | |
636 | |
637 PR c++/54194 | |
638 * typeck.c (build_x_binary_op): Update warn_about_parentheses call. | |
639 * parser.c (cp_parser_binary_expression): Use SET_EXPR_LOCATION | |
640 on current.lhs. | |
641 | |
642 2012-10-09 Marc Glisse <marc.glisse@inria.fr> | |
643 | |
644 PR c++/54427 | |
645 * typeck.c (cp_build_binary_op): Handle mixed scalar-vector | |
646 operations. | |
647 [LSHIFT_EXPR, RSHIFT_EXPR]: Likewise. | |
648 | |
649 2012-10-08 Jakub Jelinek <jakub@redhat.com> | |
650 | |
651 PR c++/54858 | |
652 * tree.c (cp_tree_equal): Handle FIELD_DECL. | |
653 | |
654 2012-10-08 Jason Merrill <jason@redhat.com> | |
655 | |
656 Allow dynamic initialization of thread_locals. | |
657 * decl.c: Define tls_aggregates. | |
658 (expand_static_init): Remove sorry. Add to tls_aggregates. | |
659 * cp-tree.h: Declare tls_aggregates. | |
660 * call.c (set_up_extended_ref_temp): Add to tls_aggregates. | |
661 * decl2.c (var_needs_tls_wrapper): New. | |
662 (var_defined_without_dynamic_init): New. | |
663 (get_tls_init_fn, get_tls_wrapper_fn): New. | |
664 (generate_tls_wrapper, handle_tls_init): New. | |
665 (cp_write_global_declarations): Call handle_tls_init and | |
666 enerate_tls_wrapper. | |
667 * mangle.c (write_guarded_var_name): Split out from.. | |
668 (mangle_guard_variable): ...here. | |
669 (mangle_tls_init_fn, mangle_tls_wrapper_fn): Use it. | |
670 (decl_tls_wrapper_p): New. | |
671 * semantics.c (finish_id_expression): Replace use of thread_local | |
672 variable with a call to its wrapper. | |
673 | |
674 * decl.c (get_thread_atexit_node): New. | |
675 (register_dtor_fn): Use it for TLS. | |
676 | |
677 Partial implementation of C++11 thread_local. | |
678 * decl.c (cp_finish_decl): Remove errors about non-trivial | |
679 initialization and destruction of TLS variables. | |
680 (register_dtor_fn): Add sorry about TLS variables. | |
681 (expand_static_init): Add sorry about non-local TLS variables, | |
682 or error with __thread. | |
683 Don't emit thread-safety guards for local TLS variables. | |
684 (grokdeclarator): thread_local in a function implies static. | |
685 * decl.h: Adjust prototype. | |
686 * decl2.c (get_guard): Copy DECL_TLS_MODEL. | |
687 * parser.c (cp_parser_set_storage_class, cp_parser_set_decl_spec_type) | |
688 (set_and_check_decl_spec_loc): Take the token rather than the location. | |
689 Distinguish between __thread and thread_local. | |
690 (cp_parser_set_storage_class): Don't complain about thread_local before | |
691 extern/static. | |
692 (token_is__thread): New. | |
693 * call.c (make_temporary_var_for_ref_to_temp): Handle TLS. | |
694 * cp-tree.h (DECL_GNU_TLS_P): New. | |
695 (cp_decl_specifier_seq): Add gnu_thread_keyword_p. | |
696 | |
697 2012-10-08 Dodji Seketeli <dodji@redhat.com> | |
698 | |
699 PR c++/53528 C++11 attribute support | |
700 * cp-tree.h (enum cpp0x_warn_str::CPP0X_ATTRIBUTES): New member. | |
701 (enum cp_decl_spec::ds_std_attribute): New enumerator. | |
702 (struct cp_decl_specifier_seq::std_attributes): New field. | |
703 (cxx_alignas_expr, warn_misplaced_attr_for_class_type): Declare | |
704 new functions. | |
705 (check_tag_decl): Take an extra parameter for explicit | |
706 instantiations. | |
707 * decl.c (warn_misplaced_attr_for_class_type): Extract from ... | |
708 (check_tag_decl): ... here. Add check for c++11 attributes being | |
709 applied to an explicit instantiation. Take an extra parameter for | |
710 explicit instantiations. | |
711 (grokdeclarator): Make sure a c++11 attribute after an array | |
712 declarator appertains to the array, an attribute after a function | |
713 declarator appertains to the function type, an attribute after a | |
714 declarator-id appertains to the entity being declared, and an | |
715 attribute after a pointer declarator appertain to the pointer. | |
716 * decl2.c (is_late_template_attribute): Use get_attribute_name. | |
717 * error.c (maybe_warn_cpp0x): Support | |
718 CPP0X_GENERALIZED_ATTRIBUTES. | |
719 * parser.c (cp_next_tokens_can_be_attribute_p) | |
720 (cp_next_tokens_can_be_gnu_attribute_p) | |
721 (cp_next_tokens_can_be_std_attribute_p) | |
722 (cp_nth_tokens_can_be_attribute_p) | |
723 (cp_nth_tokens_can_be_gnu_attribute_p) | |
724 (cp_nth_tokens_can_be_std_attribute_p) | |
725 (cp_parser_gnu_attribute_list, cp_parser_std_attribute) | |
726 (cp_parser_std_attribute_spec, cp_parser_std_attribute_spec_seq) | |
727 (cp_parser_attributes_opt, cp_parser_std_attribute_list): New | |
728 static functions. | |
729 (cp_parser_gnu_attributes_opt): Replace cp_parser_attributes_opt. | |
730 (cp_parser_gnu_attribute_list): Replace cp_parser_attribute_list. | |
731 (cp_parser_postfix_expression): Disallow "[[" tokens here. | |
732 (cp_parser_label_for_labeled_statement): Use take an extra | |
733 parameter for attributes. | |
734 (cp_parser_block_declaration): Use | |
735 cp_nth_tokens_can_be_std_attribute_p here. | |
736 (cp_parser_decl_specifier_seq): Likewise. Store C++11 attributes | |
737 that appears in in decl specifiers in cp_decl_specifier_seq::std_attributes. | |
738 declaration. Emit proper warning about misplaced c++11 attributes | |
739 for class type. | |
740 (cp_parser_explicit_instantiation): Adjust call to check_tag_decl. | |
741 (cp_parser_init_declarator): Parsing attributes here is no more a | |
742 GNU extension in c++-11. | |
743 (cp_parser_type_specifier_seq): Use | |
744 cp_next_tokens_can_be_attribute_p. | |
745 (cp_parser_direct_declarator): Likewise. Hang c++11 attributes | |
746 following the declarator to its syntactic construct. It'll later | |
747 be applied to the proper appertaining entity by grokdeclarator. | |
748 (cp_parser_ptr_operator): Likewise. | |
749 (make_declarator): Initialize cp_declarator::std_attribute. | |
750 (make_pointer_declarator, make_reference_declarator) | |
751 (make_ptrmem_declarator, cp_parser_make_indirect_declarator): Take | |
752 attributes that appertain to the pointer/reference in argument. | |
753 (cp_parser_ptr_operator): Take an out parameter for c++11 | |
754 attributes. Update comments. | |
755 (cp_parser_new_declarator_opt) | |
756 (cp_parser_conversion_declarator_opt): Adjust. | |
757 (cp_parser_declarator): Likewise. Handle C++11 attributes. | |
758 Rename attributes to gnu_attribute for better legibility. | |
759 (cp_parser_simple_declaration): Update comment. | |
760 (cp_parser_class_specifier_1): Parse GNU attributes specifically | |
761 (cp_parser_enum_specifier): Accept only gnu attributes after the | |
762 specifier. | |
763 (cp_parser_member_declaration): Don't clear attributes -- intended | |
764 for the entity being declared -- too early because check_tag_decl | |
765 needs them. | |
766 (cp_parser_statement): Update comment. Parse optional c++11 | |
767 attributes at the beginning of the relevant kind of statements and | |
768 ignore them, for now, unless when calling | |
769 cp_parser_label_for_labeled_statement. | |
770 (cp_parser_label_for_labeled_statement): Take c++11 attributes | |
771 in parameter. | |
772 * semantics.c (potential_constant_expression_1): Likewise. | |
773 * typeck.c (fundamental_alignment_p, cxx_alignas_expr): New public | |
774 functions. | |
775 | |
776 2012-10-07 Paolo Carlini <paolo.carlini@oracle.com> | |
777 | |
778 * pt.c (fold_non_dependent_expr_sfinae): Remove static specifier. | |
779 (tsubst_copy_and_build): Use get_target_expr_sfinae. | |
780 * call.c (build_conditional_expr_1, convert_like_real): Likewise. | |
781 * cvt.c (build_up_reference): Likewise. | |
782 (ocp_convert): Use abstract_virtuals_error_sfinae. | |
783 (build_up_reference): Propagate complain to cp_build_addr_expr. | |
784 * decl.c (compute_array_index_type): Use fold_non_dependent_expr_sfinae. | |
785 * cp-tree.h: Update declarations. | |
786 | |
787 * cvt.c (build_expr_type_conversion): Tidy. | |
788 | |
789 * tree.c (stabilize_aggr_init): Change to static. | |
790 | |
791 2012-10-07 Paolo Carlini <paolo.carlini@oracle.com> | |
792 | |
793 PR c++/51422 | |
794 * semantics.c (is_normal_capture_proxy): Return true for | |
795 error_mark_node as DECL_VALUE_EXPR. | |
796 | |
797 2012-10-05 Jakub Jelinek <jakub@redhat.com> | |
798 | |
799 * cp-tree.h (SIZEOF_EXPR_TYPE_P): Define. | |
800 * tree.c (cp_tree_equal): Handle SIZEOF_EXPR with | |
801 SIZEOF_EXPR_TYPE_P. | |
802 * mangle.c (write_expression): Likewise. | |
803 * cxx-pretty-print.c (pp_cxx_unary_expression): Likewise. | |
804 * error.c (dump_expr): Likewise. | |
805 * parser.c (cp_parser_unary_expression): For sizeof call | |
806 cxx_sizeof_or_alignof_{type,expr} just for diagnostics and | |
807 return SIZEOF_EXPR with the operand. | |
808 * pt.c (tsubst_copy, tsubst_copy_and_build): For SIZEOF_EXPR, | |
809 call cxx_sizeof_or_alignof_{type,expr} for diagnostics, but | |
810 return SIZEOF_EXPR with tsubsted operand. | |
811 (value_dependent_expression_p): Handle SIZEOF_EXPR with | |
812 SIZEOF_EXPR_TYPE_P. | |
813 (instantiation_dependent_r): Likewise. | |
814 * call.c (null_ptr_cst_p): Call maybe_constant_value for C++98. | |
815 * semantics.c (finish_call_expr): Call | |
816 sizeof_pointer_memaccess_warning if needed. | |
817 (cxx_eval_constant_expression): Handle SIZEOF_EXPR. | |
818 (potential_constant_expression_1): Remove early exit for | |
819 C++98. Handle PROPERTY_REF. | |
820 * decl.c (duplicate_decls): When redeclaring a builtin function, | |
821 keep the merged decl builtin also if newdecl is a gnu_inline | |
822 inline definition. | |
823 (fold_sizeof_expr_r): New function. | |
824 (compute_array_index_type): Fold SIZEOF_EXPRs in itype. | |
825 * cp-gimplify.c (cp_genericize_r): Fold SIZEOF_EXPR. | |
826 * typeck.c (cp_build_binary_op): For warn_for_sign_compare | |
827 try harder using maybe_constant_value to get INTEGER_CSTs. | |
828 | |
829 * decl.c (stabilize_vla_size): Call pointer_set_destroy | |
830 at the end. | |
831 | |
832 2012-10-04 Arnaud Charlet <charlet@adacore.com> | |
833 | |
834 * decl2.c (cp_write_global_declarations): Fix handling of | |
835 -fdump-ada-spec*. | |
836 | |
837 2012-10-03 Jakub Jelinek <jakub@redhat.com> | |
838 | |
839 PR c++/54777 | |
840 * semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If | |
841 not ignoring the second operand, pass the original second operand | |
842 and not one with stripped nops to cxx_eval_constant_expression. | |
843 | |
844 2012-10-01 Jason Merrill <jason@redhat.com> | |
845 | |
846 * decl.c (check_initializer): Set DECL_NONTRIVIALLY_INITIALIZED_P | |
847 for a constructor call. | |
848 (decl_jump_unsafe): So don't bother checking | |
849 type_has_nontrivial_default_init. | |
850 * call.c (set_up_extended_ref_temp): Set | |
851 DECL_NONTRIVIALLY_INITIALIZED_P. | |
852 | |
853 * cp-tree.h (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK): New. | |
854 (DECL_FRIEND_P, DECL_ANTICIPATED): Use it. | |
855 (TYPE_FUNCTION_OR_TEMPLATE_DECL_P): New. | |
856 * name-lookup.c (hidden_name_p): Use it. | |
857 | |
858 * cp-tree.h (DECL_PRETTY_FUNCTION_P): Just look at the name. | |
859 * decl.c (cp_make_fname_decl): Adjust. | |
860 | |
861 2012-09-30 Sharad Singhai <singhai@google.com> | |
862 | |
863 * decl2.c (cp_write_global_declarations): Use a different method | |
864 to determine if the dump has ben initialized. | |
865 | |
866 2012-09-29 Paolo Carlini <paolo.carlini@oracle.com> | |
867 | |
868 PR c++/54738 | |
869 * decl2.c (build_offset_ref_call_from_tree): Add tsubst_flags_t | |
870 parameter. | |
871 * pt.c (tsubst_copy_and_build): Adjust. | |
872 * parser.c (cp_parser_postfix_expression): Likewise. | |
873 * cp-tree.h: Adjust declaration. | |
874 | |
875 2012-09-28 Dodji Seketeli <dodji@redhat.com> | |
876 | |
877 PR c++/54372 - unused attribute inactive on dependant entities | |
878 * decl2.c (is_late_template_attribute): "unused" attribute is to | |
879 be applied at compile time. | |
880 | |
881 2012-09-25 Dodji Seketeli <dodji@redhat.com> | |
882 | |
883 PR c++/29028 - Missed unused warning on using declaration | |
884 * decl.c (poplevel<warn_unused*>): Do not forget that some local | |
885 bindings are represented by a TREE_LIST. | |
886 | |
887 2012-09-25 Dodji Seketeli <dodji@redhat.com> | |
888 | |
889 PR c++/53551 - -Wunused-local-typedefs misses uses | |
890 * decl.c (make_typename_type): Record the use of typedefs. | |
891 | |
892 2012-09-27 Jakub Jelinek <jakub@redhat.com> | |
893 | |
894 * init.c (build_new_1): Don't test TREE_CONSTANT | |
895 of INTEGER_CST. | |
896 | |
897 2012-09-25 Paolo Carlini <paolo.carlini@oracle.com> | |
898 | |
899 PR c++/54526 | |
900 * parser.c (cp_parser_template_id): In C++11 mode simply accept | |
901 X<::A>. | |
902 | |
903 2012-09-25 Zhenqiang Chen <zhenqiang.chen@linaro.org> | |
904 | |
905 PR c++/50970 | |
906 * typeck.c (cp_build_binary_op): Check side effects before generating | |
907 pfn and delta related expressions. | |
908 | |
909 2012-09-24 Lawrence Crowl <crowl@google.com> | |
910 | |
911 * init.c (build_new_1): Change to new double_int API. | |
912 * decl.c (build_enumerator): Likewise. | |
913 * typeck2.c (process_init_constructor_array): Likewise. | |
914 * mangle.c (write_array_type): Likewise. | |
915 | |
916 2012-09-24 Paolo Carlini <paolo.carlini@oracle.com> | |
917 | |
918 PR c++/50828 | |
919 * error.c (dump_function_decl): Strip TFF_TEMPLATE_NAME from flags | |
920 at the outset. | |
921 | |
922 2012-09-24 Jason Merrill <jason@redhat.com> | |
923 | |
924 * decl.c (get_atexit_node): Remove dead code. | |
925 | |
926 * Make-lang.in (cp/parser.o): Depend on decl.h. | |
927 | |
928 2012-09-20 Paolo Carlini <paolo.carlini@oracle.com> | |
929 | |
930 PR c++/52432 | |
931 * pt.c (tsubst_copy_and_build): If tf_error is not set in the complain | |
932 argument don't call unqualified_name_lookup_error. | |
933 | |
934 2012-09-19 Marc Glisse <marc.glisse@inria.fr> | |
935 | |
936 PR c++/54581 | |
937 * semantics.c (finish_decltype_type): Make vectors not opaque. | |
938 | |
939 2012-09-17 Jason Merrill <jason@redhat.com> | |
940 | |
941 PR c++/54575 | |
942 * pt.c (instantiate_alias_template): New. | |
943 (tsubst): Use it. | |
944 (push_access_scope): Allow TYPE_DECL. | |
945 | |
946 2012-09-14 Jason Merrill <jason@redhat.com> | |
947 | |
948 PR c++/53661 | |
949 * typeck2.c (check_narrowing): Avoid false positives on conversion | |
950 from enumeral type. | |
951 | |
952 2012-09-14 Marc Glisse <marc.glisse@inria.fr> | |
953 | |
954 PR c++/54427 | |
955 * typeck.c (cp_build_binary_op) [LSHIFT_EXPR, RSHIFT_EXPR, EQ_EXPR, | |
956 NE_EXPR, LE_EXPR, GE_EXPR, LT_EXPR, GT_EXPR]: Handle VECTOR_TYPE. | |
957 | |
958 2012-09-14 Paolo Carlini <paolo.carlini@oracle.com> | |
959 | |
960 * decl.c (make_typename_type): Only error out if tf_error is set | |
961 in complain. | |
962 | |
963 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com> | |
964 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
965 | |
966 PR c++/53210 | |
967 * init.c (perform_member_init): Use OPT_Winit_self instead of | |
968 OPT_Wuninitialized. | |
969 | |
970 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com> | |
971 | |
972 * typeck.c (build_indirect_ref, build_function_call, | |
973 build_function_call_vec, build_binary_op, build_unary_op, | |
974 build_compound_expr, build_c_cast, build_modify_expr): Remove | |
975 uses of ATTRIBUTE_UNUSED on the parameters. | |
976 * class.c (set_linkage_according_to_type, resort_type_method_vec, | |
977 dfs_find_final_overrider_post, empty_base_at_nonzero_offset_p): | |
978 Likewise. | |
979 * decl.c (local_variable_p_walkfn): Likewise. | |
980 * except.c (wrap_cleanups_r, check_noexcept_r): Likewise. | |
981 * error.c (find_typenames_r): Likewise. | |
982 * tree.c (verify_stmt_tree_r, bot_replace, | |
983 handle_java_interface_attribute, handle_com_interface_attribute, | |
984 handle_init_priority_attribute, c_register_addr_space): Likewise. | |
985 * cp-gimplify.c (cxx_omp_clause_default_ctor): Likewise. | |
986 * cp-lang.c (objcp_tsubst_copy_and_build): Likewise. | |
987 * pt.c (unify_success, unify_invalid, instantiation_dependent_r): | |
988 Likewise. | |
989 * semantics.c (dfs_calculate_bases_pre): Likewise. | |
990 * decl2.c (fix_temporary_vars_context_r, clear_decl_external): | |
991 Likewise. | |
992 * parser.c (cp_lexer_token_at, cp_parser_omp_clause_mergeable, | |
993 cp_parser_omp_clause_nowait, cp_parser_omp_clause_ordered, | |
994 cp_parser_omp_clause_untied): Likewise. | |
995 * mangle.c (write_unnamed_type_name, | |
996 discriminator_for_string_literal): Likewise. | |
997 * search.c (dfs_accessible_post, dfs_debug_mark): Likewise. | |
998 * lex.c (handle_pragma_vtable, handle_pragma_unit, | |
999 handle_pragma_interface, handle_pragma_implementation, | |
1000 handle_pragma_java_exceptions): Likewise. | |
1001 | |
1002 2012-09-13 Jason Merrill <jason@redhat.com> | |
1003 | |
1004 PR c++/53839 | |
1005 * semantics.c (cxx_eval_indirect_ref): If we aren't looking for an | |
1006 address, make sure the value is constant. | |
1007 | |
1008 PR c++/54511 | |
1009 * pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P. | |
1010 | |
1011 PR c++/53836 | |
1012 * pt.c (value_dependent_expression_p): A TREE_LIST initializer must | |
1013 be dependent. | |
1014 | |
1015 2012-09-10 Paolo Carlini <paolo.carlini@oracle.com> | |
1016 | |
1017 PR c++/54541 | |
1018 PR c++/54542 | |
1019 * call.c (build_cxx_call): Add tsubst_flags_t parameter, use | |
1020 require_complete_type_sfinae. | |
1021 (build_op_delete_call, build_over_call): Adjust. | |
1022 * typeck.c (build_x_compound_expr_from_vec): Add tsubst_flags_t | |
1023 parameter. | |
1024 (cp_build_function_call_vec): Adjust. | |
1025 * init.c (build_new_1): Likewise. | |
1026 * rtti.c (throw_bad_cast, throw_bad_typeid, build_dynamic_cast_1): | |
1027 Likewise. | |
1028 * optimize.c (build_delete_destructor_body): Likewise. | |
1029 * cp-tree.h: Adjust declarations. | |
1030 | |
1031 * call.c (convert_arg_to_ellipsis): Use require_complete_type_sfinae. | |
1032 | |
1033 2012-09-10 Jason Merrill <jason@redhat.com> | |
1034 | |
1035 PR c++/54538 | |
1036 PR c++/53783 | |
1037 * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Go back to using RECUR | |
1038 for LAMBDA_EXPR_EXTRA_SCOPE except for function scope. | |
1039 | |
1040 PR c++/54506 | |
1041 * decl.c (move_signature_fn_p): Split out from move_fn_p. | |
1042 * method.c (process_subob_fn): Use it. | |
1043 * cp-tree.h: Declare it. | |
1044 | |
1045 2012-09-07 Jason Merrill <jason@redhat.com> | |
1046 | |
1047 * semantics.c (sort_constexpr_mem_initializers): Tweak. | |
1048 | |
1049 2012-09-09 Mark Kettenis <kettenis@openbsd.org> | |
1050 | |
1051 * decl.c (reshape_init_class): Avoid dereferencing a | |
1052 past-the-end pointer. | |
1053 | |
1054 2012-09-07 Paolo Carlini <paolo.carlini@oracle.com> | |
1055 | |
1056 * pt.c (num_template_headers_for_class): Rework per the code | |
1057 inline in cp_parser_check_declarator_template_parameters. | |
1058 * parser.c (cp_parser_check_declarator_template_parameters): | |
1059 Use num_template_headers_for_class. | |
1060 | |
1061 2012-09-06 Jason Merrill <jason@redhat.com> | |
1062 | |
1063 PR c++/54341 | |
1064 PR c++/54253 | |
1065 * semantics.c (sort_constexpr_mem_initializers): New. | |
1066 (build_constexpr_constructor_member_initializers): Use it. | |
1067 (cx_check_missing_mem_inits): Skip artificial fields. | |
1068 * init.c (expand_aggr_init_1): Don't zero out a class | |
1069 with no data. | |
1070 | |
1071 2012-09-05 Paolo Carlini <paolo.carlini@oracle.com> | |
1072 | |
1073 PR c++/54191 | |
1074 * search.c (lookup_base): Add tsubst_flags_t parameter. | |
1075 (adjust_result_of_qualified_name_lookup, check_final_overrider): | |
1076 Adjust. | |
1077 * name-lookup.c (do_class_using_decl): Adjust. | |
1078 * typeck2.c (binfo_or_else, build_scoped_ref, build_m_component_ref): | |
1079 Likewise. | |
1080 * cvt.c (cp_convert_to_pointer, convert_to_pointer_force, | |
1081 build_up_reference): Likewise. | |
1082 * rtti.c (build_dynamic_cast_1): Likewise. | |
1083 * tree.c (maybe_dummy_object): Likewise. | |
1084 * call.c (build_conditional_expr_1, build_over_call): Likewise. | |
1085 * cp-tree.h (UNIQUELY_DERIVED_FROM_P, PUBLICLY_UNIQUELY_DERIVED_P): | |
1086 Remove. | |
1087 (enum base_access_flags, ba_quiet): Remove. | |
1088 (uniquely_derived_from_p, publicly_uniquely_derived_p): Declare. | |
1089 * except.c (can_convert_eh): Adjust. | |
1090 * decl.c (grokdeclarator): Likewise. | |
1091 * typeck.c (comp_except_types, build_class_member_access_expr, | |
1092 finish_class_member_access_expr, get_member_function_from_ptrfunc, | |
1093 build_static_cast_1, get_delta_difference_1): Likewise. | |
1094 * class.c (build_base_path, convert_to_base, build_vtbl_ref_1, | |
1095 warn_about_ambiguous_bases): Likewise. | |
1096 (uniquely_derived_from_p, publicly_uniquely_derived_p): Define. | |
1097 | |
1098 2012-09-04 Jason Merrill <jason@redhat.com> | |
1099 | |
1100 PR c++/54441 | |
1101 * decl.c (reshape_init_class): Handle invalid initializer for | |
1102 0-length array member. | |
1103 | |
1104 * error.c (dump_type_suffix): Correct handling of 0-length arrays. | |
1105 | |
1106 PR c++/54420 | |
1107 * cp-tree.h (LAMBDANAME_P): Remove. | |
1108 (LAMBDA_TYPE_P): Check CLASSTYPE_LAMBDA_EXPR instead. | |
1109 * cp-lang.c (cxx_dwarf_name): Likewise. | |
1110 * error.c (dump_aggr_type): Likewise. | |
1111 * semantics.c (begin_lambda_type): Set CLASSTYPE_LAMBDA_EXPR sooner. | |
1112 | |
1113 PR c++/54198 | |
1114 * decl.c (check_default_argument): Set cp_unevaluated_operand | |
1115 around call to perform_implicit_conversion_flags. | |
1116 | |
1117 PR c++/54437 | |
1118 PR c++/51213 | |
1119 * pt.c (fn_type_unification): Call coerce_template_parms before | |
1120 entering substitution context. | |
1121 | |
1122 2012-08-31 Paolo Carlini <paolo.carlini@oracle.com> | |
1123 Jason Merrill <jason@redhat.com> | |
1124 | |
1125 PR c++/18747 | |
1126 * pt.c (check_template_variable): New. | |
1127 (num_template_headers_for_class): Split out... | |
1128 * decl.c (grokdeclarator): ...from here. | |
1129 (start_decl): Remove redundant diagnostic. | |
1130 * cp-tree.h: Declare them | |
1131 * parser.c (cp_parser_single_declaration): Call check_template_variable. | |
1132 | |
1133 2012-08-31 Ollie Wild <aaw@google.com> | |
1134 | |
1135 PR c++/54197 | |
1136 * call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees. | |
1137 | |
1138 2012-08-30 Jason Merrill <jason@redhat.com> | |
1139 | |
1140 PR c++/50545 | |
1141 PR c++/51222 | |
1142 * pt.c (instantiation_dependent_r): New. | |
1143 (instantiation_dependent_expression_p): New. | |
1144 (value_dependent_expression_p): Use it. SCOPE_REF is always dependent. | |
1145 * semantics.c (finish_decltype_type): Use it. | |
1146 * cp-tree.h: Declare it. | |
1147 | |
1148 * semantics.c (finish_qualified_id_expr): Handle building up a | |
1149 non-dependent SCOPE_REF here. | |
1150 (finish_id_expression): Not here. | |
1151 * error.c (dump_decl) [SCOPE_REF]: Only pass TFF_UNQUALIFIED_NAME. | |
1152 | |
1153 * friend.c (make_friend_class): Handle template template parameters. | |
1154 * parser.c (cp_parser_template_declaration_after_export): Likewise. | |
1155 * pt.c (tsubst_friend_class): Likewise. | |
1156 (instantiate_class_template_1): Likewise | |
1157 * decl.c (check_elaborated_type_specifier): Likewise. | |
1158 (lookup_and_check_tag): Likewise. | |
1159 | |
1160 * pt.c (get_class_bindings): Call coerce_template_parms. Add | |
1161 main_tmpl parameter. | |
1162 (more_specialized_class): Add main_tmpl parameter. | |
1163 (most_specialized_class): Adjust calls. | |
1164 | |
1165 * decl.c (cp_finish_decl): Check for invalid multiple initializers | |
1166 even if the initializer is dependent. | |
1167 | |
1168 * pt.c (instantiate_template_1): Keep processing_template_decl set | |
1169 if there are dependent args. | |
1170 | |
1171 2012-08-25 Paolo Carlini <paolo.carlini@oracle.com> | |
1172 | |
1173 PR c++/51421 | |
1174 * decl2.c (mark_used): Consistently return false after errors | |
1175 about uses before deduction of auto. | |
1176 * semantics.c (finish_id_expression): Check mark_used return | |
1177 value and return error_mark_node in case of failure. | |
1178 | |
1179 2012-08-24 Jason Merrill <jason@redhat.com> | |
1180 | |
1181 PR c++/51213 (again) | |
1182 * pt.c (deduction_tsubst_fntype): Remove. | |
1183 (fn_type_unification): Check deduction depth and call | |
1184 instantiate_template here. Handle default argument access checks. | |
1185 (determine_specialization): Suppress access control. | |
1186 (tsubst_decl): Check for excessive deduction depth. | |
1187 (recheck_decl_substitution): Make sure access control is on. | |
1188 (type_unification_real): Don't mess with access deferring here. | |
1189 (get_bindings): Adjust for fn_type_unification return type. | |
1190 * call.c (enum rejection_reason_code): Drop rr_template_instantiation. | |
1191 (template_instantiation_rejection): Remove. | |
1192 (struct rejection_reason): Change targs to num_targs. | |
1193 (template_unification_rejection, print_z_candidate): Adjust. | |
1194 (add_template_candidate_real): Adjust for fn_type_unification change. | |
1195 * class.c (resolve_address_of_overloaded_function): Likewise. | |
1196 * cp-tree.h: Adjust declaration. | |
1197 | |
1198 * pt.c (tsubst_default_argument): Indicate where the default | |
1199 argument is being instantiated for. | |
1200 (tsubst_expr): Restore previous location. | |
1201 (tsubst_copy_and_build): Set and restore location. | |
1202 * call.c (build_new_method_call_1): Remember location of call. | |
1203 * semantics.c (finish_call_expr): Here too. | |
1204 * parser.c (cp_parser_omp_for_loop): Remember the location of the | |
1205 increment expression. | |
1206 | |
1207 * pt.c (resolve_overloaded_unification): Use coerce_template_parms | |
1208 instead of get_bindings. | |
1209 (resolve_nondeduced_context): Likewise. | |
1210 | |
1211 * pt.c (register_specialization): Correct argument to | |
1212 check_specialization_namespace. | |
1213 (determine_specialization): Don't consider members of | |
1214 unspecialized types. | |
1215 | |
1216 2012-08-23 Jason Merrill <jason@redhat.com> | |
1217 | |
1218 * decl.c (compute_array_index_type): Use type_dependent_expression_p. | |
1219 | |
1220 2012-08-23 Paolo Carlini <paolo.carlini@oracle.com> | |
1221 | |
1222 PR c++/20420 | |
1223 * name-lookup.c (supplement_binding_1): Handle specially enums | |
1224 only in class templates. | |
1225 (validate_nonmember_using_decl): Enforce 7.3.3/10 about duplicate | |
1226 using declarations at function scope. | |
1227 | |
1228 2012-08-21 Richard Guenther <rguenther@suse.de> | |
1229 | |
1230 * cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor. | |
1231 (ATTR_IS_DEPENDENT): Likewise. | |
1232 (ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of | |
1233 TREE_LANG_FLAG_0 on TREE_VECs. | |
1234 | |
1235 2012-08-20 Florian Weimer <fweimer@redhat.com> | |
1236 | |
1237 PR c++/19351 | |
1238 * call.c (build_operator_new_call): Add size_check argument and | |
1239 evaluate it. | |
1240 * cp-tree.h (build_operator_new_call): Adjust declaration. | |
1241 * init.c (build_new_1): Compute array size check and apply it. | |
1242 | |
1243 2012-08-20 Paolo Carlini <paolo.carlini@oracle.com> | |
1244 | |
1245 PR c++/10416 | |
1246 * decl.c (poplevel): Check TYPE_HAS_NONTRIVIAL_DESTRUCTOR for | |
1247 Wunused_variable too. | |
1248 | |
1249 2012-08-20 Diego Novillo <dnovillo@google.com> | |
1250 | |
1251 * decl.c (poplevel): Start TV_NAME_LOOKUP conditionally. | |
1252 | |
1253 2012-08-20 Richard Guenther <rguenther@suse.de> | |
1254 | |
1255 * name-lookup.c (store_binding_p): New predicate, split out from ... | |
1256 (store_binding): ... here. Always store binding and require | |
1257 target vector with enough space. | |
1258 (store_bindings): Collect to store bindings and reserve space | |
1259 for them, then store them. | |
1260 (store_class_bindings): Likewise. | |
1261 | |
1262 2012-08-19 Mikael Morin <mikael@gcc.gnu.org> | |
1263 | |
1264 * Make-lang.in: Fix typo. | |
1265 | |
1266 2012-08-17 Jakub Jelinek <jakub@redhat.com> | |
1267 | |
1268 * cp-tree.def (SIZEOF_EXPR): Move to c-common.def. | |
1269 | |
1270 2012-08-14 Diego Novillo <dnovillo@google.com> | |
1271 | |
1272 Merge from cxx-conversion branch. Re-write VEC in C++. | |
1273 | |
1274 * call.c (add_function_candidate): Remove const qualifier | |
1275 from call to VEC_index. | |
1276 | |
1277 2012-08-10 Richard Guenther <rguenther@suse.de> | |
1278 | |
1279 * error.c (dump_expr): Handle anonymous SSA names. | |
1280 | |
1281 2012-08-07 Steven Bosscher <steven@gcc.gnu.org> | |
1282 | |
1283 * error.c (print_instantiation_context): Pretty-print a newline before | |
1284 diagnostic_flush_buffer. | |
1285 * cxx-pretty-print.c (pp_cxx_function_definition): Use | |
1286 pp_newline_and_flush instead of separate pp_newline and pp_flush. | |
1287 | |
1288 2012-08-06 Dodji Seketeli <dodji@redhat.com> | |
1289 | |
1290 Avoid crashing on erroneous static_assert usage | |
1291 * semantics.c (finish_static_assert): Don't crash on erroneous | |
1292 message or condition. | |
1293 | |
1294 2012-08-06 Marc Glisse <marc.glisse@inria.fr> | |
1295 Paolo Carlini <paolo.carlini@oracle.com> | |
1296 | |
1297 PR c++/54165 | |
1298 * typeck.c (build_static_cast_1): Move the conversion to void case | |
1299 before the perform_direct_initialization_if_possible call. | |
1300 | |
1301 2012-08-03 Marc Glisse <marc.glisse@inria.fr> | |
1302 | |
1303 * pt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars. | |
1304 * cp-tree.h (scalarish_type_p): Declare. | |
1305 * tree.c (scalarish_type_p): Make non-static. | |
1306 | |
1307 2012-08-02 Jason Merrill <jason@redhat.com> | |
1308 Paolo Carlini <paolo.carlini@oracle.com> | |
1309 | |
1310 PR c++/51213 (again) | |
1311 * pt.c (type_unification_real): Call push_deferring_access_checks / | |
1312 pop_deferring_access_checks around the substitution of default | |
1313 template args. | |
1314 (instantiate_template_1): When the specialization returned by | |
1315 retrieve_specialization has FNDECL_HAS_ACCESS_ERRORS set and we | |
1316 are in a SFINAE context, simply return error_mark_node. | |
1317 * cp-tree.h (FNDECL_RECHECK_ACCESS_P): Rename FNDECL_HAS_ACCESS_ERRORS. | |
1318 | |
1319 2012-07-31 Paolo Carlini <paolo.carlini@oracle.com> | |
1320 | |
1321 * pt.c (check_default_tmpl_args): Change is_primary and is_partial | |
1322 parameters to bool type, adjust. | |
1323 (push_template_decl_real): Tidy. | |
1324 * parser.c (cp_parser_init_declarator): Adjust. | |
1325 * decl.c (redeclaration_error_message): Likewise. | |
1326 * cp-tree.h (check_default_tmpl_args): Update prototype. | |
1327 | |
1328 2012-07-31 Paolo Carlini <paolo.carlini@oracle.com> | |
1329 | |
1330 PR c++/53624 | |
1331 * pt.c (check_default_tmpl_args): Don't check local types. | |
1332 | |
1333 2012-07-25 Sandra Loosemore <sandra@codesourcery.com> | |
1334 Paul Brook <paul@codesourcery.com> | |
1335 | |
1336 PR target/53633 | |
1337 * decl.c (finish_function): Check targetm.warn_func_return. | |
1338 | |
1339 2012-07-25 Jason Merrill <jason@redhat.com> | |
1340 | |
1341 PR c++/54086 | |
1342 * decl.c (grokdeclarator): Allow const and constexpr together. | |
1343 | |
1344 PR c++/54020 | |
1345 * semantics.c (potential_constant_expression_1) [COND_EXPR]: Call | |
1346 maybe_constant_value. | |
1347 | |
1348 * cp-tree.h (tsubst_flags): Remove tf_no_access_control. | |
1349 * call.c (standard_conversion): Don't set it. | |
1350 * class.c (resolve_address_of_overloaded_function): Don't check it. | |
1351 * decl.c (check_default_argument): Call | |
1352 perform_implicit_conversion_flags. | |
1353 | |
1354 * pt.c (print_candidates_1): Use inform instead of error. | |
1355 | |
1356 2012-07-24 Paolo Carlini <paolo.carlini@oracle.com> | |
1357 | |
1358 * pt.c (convert_template_argument, tsubst): Simplify fourth argument | |
1359 to make_typename_type (complain & tf_error -> complain). | |
1360 | |
1361 2012-07-24 Steven Bosscher <steven@gcc.gnu.org> | |
1362 | |
1363 * class.c (n_vtables, n_vtable_entries, n_vtable_searches, | |
1364 n_vtable_elems, n_convert_harshness, n_compute_conversion_costs, | |
1365 n_inner_fields_searched): Always define. | |
1366 (build_primary_vtable): Convert #ifdef GATHER_STATISTICS to if-code. | |
1367 (print_class_statistics): Convert #ifdef GATHER_STATISTICS to if-code. | |
1368 * tree.c (depth_reached): Always define global. | |
1369 (cxx_print_statistics): Convert #ifdef GATHER_STATISTICS to if-code. | |
1370 * pt.c (depth_reached): Always define. | |
1371 (push_tinst_level): Convert #ifdef GATHER_STATISTICS to if-code. | |
1372 * search.c (n_fields_searched, n_calls_lookup_field, | |
1373 n_calls_lookup_field_1, n_calls_lookup_fnfields, | |
1374 n_calls_lookup_fnfields_1, n_calls_get_base_type, | |
1375 n_outer_fields_searched, n_contexts_saved): Always define. | |
1376 (lookup_field_1): Convert #ifdef GATHER_STATISTICS to if-code. | |
1377 (lookup_member): Likewise. | |
1378 (lookup_fnfields_idx_nolazy): Likewise. | |
1379 (print_search_statistics): Likewise. | |
1380 (reinit_search_statistics): Unconditionally re-set counters. | |
1381 * lex.c (retrofit_lang_decl): Convert #ifdef GATHER_STATISTICS | |
1382 to if-code. | |
1383 (cxx_dup_lang_specific_decl): Likewise. | |
1384 (copy_lang_type): Likewise. | |
1385 (cxx_make_type): Likewise. | |
1386 | |
1387 2012-07-20 Jason Merrill <jason@redhat.com> | |
1388 | |
1389 PR c++/54038 | |
1390 * tree.c (build_cplus_array_type): Use build_cplus_array_type to build | |
1391 canonical array type rather than mess with its TYPE_*_VARIANT. | |
1392 | |
1393 2012-07-19 Jason Merrill <jason@redhat.com> | |
1394 | |
1395 PR c++/54026 | |
1396 * typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P. | |
1397 | |
1398 PR c++/54021 | |
1399 * call.c (build_cxx_call): Set optimize when folding | |
1400 __builtin_constant_p in a constexpr function. | |
1401 | |
1402 2012-07-18 Jason Merrill <jason@redhat.com> | |
1403 | |
1404 * pt.c (instantiate_decl): Don't recheck substitutions. | |
1405 | |
1406 2012-07-18 Paolo Carlini <paolo.carlini@oracle.com> | |
1407 Jason Merrill <jason@redhat.com> | |
1408 | |
1409 DR 1170 | |
1410 PR c++/51213 | |
1411 * semantics.c (perform_access_checks): Add complain parm, return bool. | |
1412 (perform_deferred_access_checks): Likewise. | |
1413 (perform_or_defer_access_check): Likewise. | |
1414 (speculative_access_check): Remove. | |
1415 * call.c (enforce_access): Add complain parm, return bool. | |
1416 * decl.c, friend.c, class.c, init.c, parser.c: Adjust callers. | |
1417 * search.c: Adjust callers. | |
1418 * cp-tree.h (TINFO_RECHECK_ACCESS_P): New macro. | |
1419 (FNDECL_RECHECK_ACCESS_P): New macro. | |
1420 * method.c (synthesized_method_walk): Stop deferring access checks. | |
1421 * pt.c (recheck_decl_substitution): New. | |
1422 (instantiate_template_1): Set and check FNDECL_RECHECK_ACCESS_P. | |
1423 | |
1424 2012-07-18 Jason Merrill <jason@redhat.com> | |
1425 | |
1426 * method.c (process_subob_fn): Make sure no_implicit_p is non-null | |
1427 before trying to store through it. | |
1428 | |
1429 2012-07-17 Jason Merrill <jason@redhat.com> | |
1430 | |
1431 PR c++/53995 | |
1432 * decl.c (finish_enum_value_list): Only call | |
1433 insert_late_enum_def_into_classtype_sorted_fields in class scope. | |
1434 | |
1435 PR c++/53989 | |
1436 * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL | |
1437 to the list of variants. | |
1438 | |
1439 * decl.c (xref_basetypes): Complain about incomplete template base. | |
1440 * class.c (finish_struct): Adjust variants in templates, too. | |
1441 | |
1442 PR c++/53549 | |
1443 * parser.c (cp_parser_class_head): Call xref_basetypes here. | |
1444 (cp_parser_class_specifier_1): Not here. | |
1445 * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms | |
1446 as well as DECL_DEPENDENT_P. | |
1447 | |
1448 2012-07-16 Jason Merrill <jason@redhat.com> | |
1449 | |
1450 * cp-tree.h (struct deferred_access_check): Add location. | |
1451 * semantics.c (perform_access_checks): Use it. | |
1452 (perform_or_defer_access_check): Store it. | |
1453 | |
1454 2012-07-16 Steven Bosscher <steven@gcc.gnu.org> | |
1455 | |
1456 * dump.c (dump_stmt): Moved here from c-dump.c. | |
1457 * optimize.c: Include dumpfile.h instead of tree-dump.h. | |
1458 * class.c: Likewise. | |
1459 * decl2.c: Likewise. | |
1460 * Make-lang.in: Fix dependencies. | |
1461 | |
1462 2012-07-13 Jason Merrill <jason@redhat.com> | |
1463 | |
1464 PR c++/53953 | |
1465 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner. | |
1466 | |
1467 2012-07-12 Jason Merrill <jason@redhat.com> | |
1468 | |
1469 * pt.c (instantiate_decl): Check typedefs access here. | |
1470 (instantiate_template_1): Not here. | |
1471 | |
1472 * pt.c (deduction_tsubst_fntype): Just suppress access checking. | |
1473 (instantiate_template_1): Set DECL_TI_TEMPLATE before access checking. | |
1474 (push_deduction_access_scope, pop_deduction_access_scope): Remove. | |
1475 | |
1476 2012-07-11 Jason Merrill <jason@redhat.com> | |
1477 | |
1478 DR 1402 | |
1479 * method.c (synthesized_method_walk): Replace uses of msg with diag. | |
1480 Correct handling of virtual bases with move operations. | |
1481 (process_subob_fn, walk_field_subobs): Replace uses of msg with diag. | |
1482 | |
1483 2012-07-11 Steven Bosscher <steven@gcc.gnu.org> | |
1484 | |
1485 * method.c: Do not include tree-pass.h. | |
1486 | |
1487 2012-07-10 Jason Merrill <jason@redhat.com> | |
1488 | |
1489 DR 1402 | |
1490 PR c++/53733 | |
1491 * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New. | |
1492 (struct lang_decl_fn): Add suppress_implicit_decl field. | |
1493 * method.c (implicitly_declare_fn): Check it. | |
1494 (process_subob_fn): Add no_implicit_p parm. | |
1495 (walk_field_subobs, synthesized_method_walk): Likewise. | |
1496 (maybe_explain_implicit_delete): Adjust. | |
1497 (explain_implicit_non_constexpr): Adjust. | |
1498 | |
1499 * method.c (synthesized_method_walk): Avoid changing | |
1500 EH spec based on cleanups in other places, too. | |
1501 | |
1502 2012-07-09 Sterling Augustine <saugustine@google.com> | |
1503 | |
1504 * error.c (lang_decl_name): Use TFF_UNQUALIFIED_NAME flag. | |
1505 | |
1506 2012-07-08 Steven Bosscher <steven@gcc.gnu.org> | |
1507 | |
1508 * decl.c (cp_finish_decl): Add FIXME at add_local_decl call site. | |
1509 | |
1510 2012-07-06 Jason Merrill <jason@redhat.com> | |
1511 | |
1512 PR c++/53862 | |
1513 * pt.c (tsubst_arg_types): Add "end" parameter. | |
1514 (check_undeduced_parms): Use it. | |
1515 | |
1516 * cp-tree.h (DECL_DECLARES_TYPE_P): Check DECL_TYPE_TEMPLATE_P. | |
1517 | |
1518 PR c++/53858 | |
1519 * name-lookup.c (ambiguous_decl): Use DECL_TYPE_TEMPLATE_P. | |
1520 | |
1521 2012-07-05 Jason Merrill <jason@redhat.com> | |
1522 | |
1523 PR c++/53039 | |
1524 * pt.c (arg_from_parm_pack_p): Go back to using same_type_p or | |
1525 cp_tree_equal. | |
1526 | |
1527 * cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove. | |
1528 (struct template_parm_index_s): Remove num_siblings. | |
1529 * pt.c (fixup_template_parms, fixup_template_parm_index): Remove. | |
1530 (fixup_template_type_parm_type): Remove. | |
1531 (build_template_parm_index): Remove num_siblings parm. | |
1532 (process_template_parm): Likewise. | |
1533 * parser.c (cp_parser_template_parameter_list): Adjust. | |
1534 * tree.c (cp_tree_equal): Don't compare num_siblings. | |
1535 * typeck.c (comp_template_parms_position): Likewise. | |
1536 | |
1537 PR c++/50852 | |
1538 PR c++/53039 | |
1539 * tree.c (strip_typedefs_expr): New. | |
1540 * cp-tree.h: Declare it. | |
1541 * pt.c (convert_template_argument, unify): Use it. | |
1542 * parser.c (cp_parser_template_declaration_after_export): Don't call | |
1543 fixup_template_parms. | |
1544 | |
1545 2012-07-04 Jason Merrill <jason@redhat.com> | |
1546 | |
1547 PR c++/53848 | |
1548 PR c++/53524 | |
1549 * decl.c (build_enumerator): Don't use build_lang_decl_loc. | |
1550 | |
1551 2012-07-03 Jakub Jelinek <jakub@redhat.com> | |
1552 | |
1553 PR c++/53812 | |
1554 * semantics.c (finish_goto_stmt): Surround computed goto argument | |
1555 with CLEANUP_POINT_EXPR if needed. | |
1556 | |
1557 2012-07-02 Jason Merrill <jason@redhat.com> | |
1558 | |
1559 PR c++/53619 | |
1560 * pt.c (in_template_function): New. | |
1561 * cp-tree.h: Declare it. | |
1562 * class.c (build_base_path, resolves_to_fixed_type_p): Use it. | |
1563 | |
1564 PR c++/53783 | |
1565 * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Use tsubst | |
1566 for LAMBDA_EXPR_EXTRA_SCOPE. | |
1567 | |
1568 PR c++/53788 | |
1569 * pt.c (build_non_dependent_expr): Don't wrap a dummy object. | |
1570 | |
1571 PR c++/53816 | |
1572 * class.c (resolves_to_fixed_type_p): Check uses_template_parms | |
1573 (current_function_decl) instead of processing_template_decl. | |
1574 | |
1575 PR c++/53821 | |
1576 * semantics.c (maybe_add_lambda_conv_op): Don't set | |
1577 DECL_INTERFACE_KNOWN. | |
1578 | |
1579 PR c++/53524 | |
1580 * call.c (build_conditional_expr_1): Don't warn about comparison of | |
1581 two enumerators before their enumeration is complete. | |
1582 (build_new_op_1): Call decay_conversion before warn_logical_operator. | |
1583 * decl.c (build_enumerator): Set DECL_CONTEXT of an enumerator to | |
1584 its enumeration. | |
1585 * decl2.c (mark_used): Call used_types_insert for enums. | |
1586 * semantics.c (finish_id_expression): Don't decay CONST_DECL. | |
1587 (finish_member_declaration): Don't change DECL_CONTEXT of enumerators. | |
1588 * class.c (check_field_decls): Don't change DECL_CONTEXT of enums. | |
1589 * typeck.c (convert_for_assignment): Don't decay CONST_DECL. | |
1590 (build_class_member_access_expr): Look through unscoped enums. | |
1591 * search.c (context_for_name_lookup): Look through unscoped enums. | |
1592 * pt.c (tsubst_copy_and_build): Don't decay CONST_DECL. | |
1593 (tsubst_copy): Use DECL_CONTEXT to find the enumeration. | |
1594 * tree.c (decl_linkage): Likewise. | |
1595 * cvt.c (ocp_convert): Check decayed expr for enum range warning. | |
1596 | |
1597 2012-06-29 Steven Bosscher <steven@gcc.gnu.org> | |
1598 | |
1599 * Make-lang.in: Remove tree-mudflap.o from CXX_AND_OBJCXX_OBJS. | |
1600 | |
1601 2012-06-27 Jason Merrill <jason@redhat.com> | |
1602 | |
1603 * parser.c (cp_parser_check_for_invalid_template_id): tag_type parm. | |
1604 (cp_parser_simple_type_specifier, cp_parser_class_head): Adjust. | |
1605 (cp_parser_elaborated_type_specifier): Adjust. | |
1606 * decl.c (duplicate_decls): Return error_mark_node on template | |
1607 mismatch. | |
1608 | |
1609 PR c++/53563 | |
1610 * parser.c (cp_parser_template_id): Add tag_type parm. | |
1611 (cp_parser_template_name): Likewise. | |
1612 (cp_parser_id_expression, cp_parser_unqualified_id): Adjust. | |
1613 (cp_parser_pseudo_destructor_name, cp_parser_type_name): Adjust. | |
1614 (cp_parser_simple_type_specifier, cp_parser_class_name): Adjust. | |
1615 (cp_parser_elaborated_type_specifier, cp_parser_class_head): Adjust. | |
1616 | |
1617 2012-06-27 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> | |
1618 | |
1619 PR C++/51033 | |
1620 * semantics.c (constexpr_call): Fix typo in comment. | |
1621 (cxx_eval_vec_perm_expr): New. | |
1622 (cxx_eval_constant_expression): Fold VEC_PERM_EXPRs. | |
1623 | |
1624 2012-06-26 Richard Guenther <rguenther@suse.de> | |
1625 | |
1626 PR c++/53752 | |
1627 * mangle.c (write_array_type): Truncate the number-of-elements | |
1628 result. | |
1629 | |
1630 2012-06-25 Jason Merrill <jason@redhat.com> | |
1631 | |
1632 PR c++/53498 | |
1633 PR c++/53305 | |
1634 * pt.c (tsubst_decl) [PARM_DECL]: Don't recurse into DECL_CHAIN | |
1635 if cp_unevaluated_operand is set. | |
1636 (tsubst_copy) [PARM_DECL]: Don't copy before tsubsting. | |
1637 | |
1638 PR c++/52988 | |
1639 * typeck.c (decay_conversion): Don't discard side-effects from | |
1640 expressions of nullptr_t. | |
1641 | |
1642 2012-06-25 Florian Weimer <fweimer@redhat.com> | |
1643 | |
1644 * init.c (build_new_1): Warn about (T[N]) for variable N, and | |
1645 reject T[M][N]. | |
1646 | |
1647 * parser.c (cp_parser_direct_new_declarator): Accept non-constant | |
1648 expressions. Handled now in build_new_1. | |
1649 | |
1650 2012-06-25 Jason Merrill <jason@redhat.com> | |
1651 | |
1652 PR c++/53202 | |
1653 * semantics.c (build_data_member_initialization): Always keep | |
1654 initializer for empty base. | |
1655 (cxx_eval_bare_aggregate): Discard it here. | |
1656 | |
1657 PR c++/53565 | |
1658 * pt.c (tsubst_omp_for_iterator): Simplify DECL_EXPR handling. | |
1659 (tsubst_expr) [OMP_FOR]: Here, too. | |
1660 | |
1661 2012-06-25 Jakub Jelinek <jakub@redhat.com> | |
1662 | |
1663 PR c++/53594 | |
1664 * class.c (check_bases_and_members): Avoid -Wuninitialized | |
1665 diagnostics for non-static const members or references if they | |
1666 use NSDMI. | |
1667 | |
1668 2012-06-16 Ville Voutilainen <ville.voutilainen@gmail.com> | |
1669 | |
1670 * parser.c (cp_parser_direct_declarator): Move virt-specifier | |
1671 parsing after late-specified return type parsing. | |
1672 | |
1673 2012-06-14 Jason Merrill <jason@redhat.com> | |
1674 | |
1675 PR c++/53651 | |
1676 * name-lookup.c (constructor_name_p): Don't try to look at the | |
1677 name of a DECLTYPE_TYPE. | |
1678 | |
1679 2012-06-18 Lawrence Crowl <crowl@google.com> | |
1680 | |
1681 * decl2.c (cp_write_global_declarations): Rename use of TV_PHASE_CGRAPH | |
1682 to TV_PHASE_OPT_GEN. | |
1683 | |
1684 2012-06-18 Steven Bosscher <steven@gcc.gnu.org> | |
1685 | |
1686 * decl.c (finish_function): Remove code conditional on VMS_TARGET. | |
1687 | |
1688 2012-06-15 Marc Glisse <marc.glisse@inria.fr> | |
1689 | |
1690 PR c++/51033 | |
1691 * semantics.c (literal_type_p): Handle VECTOR_TYPE. | |
1692 (potential_constant_expression_1): Handle VEC_PERM_EXPR. | |
1693 * parser.c (cp_parser_postfix_expression): Handle RID_BUILTIN_SHUFFLE. | |
1694 | |
1695 2012-06-09 Jason Merrill <jason@redhat.com> | |
1696 | |
1697 * pt.c (tsubst_expr) [TAG_DEFN]: Instantiate local class. | |
1698 * class.c (finish_struct): Don't add a TAG_DEFN for a lambda. | |
1699 * decl2.c (finish_static_data_member_decl): Avoid redundant error. | |
1700 | |
1701 PR c++/53599 | |
1702 * name-lookup.c (pushtag_1): Add a DECL_EXPR for a local class. | |
1703 * semantics.c (finish_cond): Build a COMPOUND_EXPR. | |
1704 * pt.c (tsubst_expr) [COMPOUND_EXPR]: Handle. | |
1705 [DECL_EXPR]: Don't call cp_finish_decl for an implicit typedef. | |
1706 Don't return the decl. | |
1707 | |
1708 2012-06-11 Richard Guenther <rguenther@suse.de> | |
1709 | |
1710 PR c++/53605 | |
1711 * mangle.c (write_array_type): Use double-ints for array domain | |
1712 arithmetic. | |
1713 | |
1714 2012-06-07 Fabien Chêne <fabien@gcc.gnu.org> | |
1715 | |
1716 PR c++/51214 | |
1717 * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields): | |
1718 Declare. | |
1719 * class.c (insert_into_classtype_sorted_fields): New. | |
1720 (add_enum_fields_to_record_type): New. | |
1721 (count_fields): Adjust the comment. | |
1722 (add_fields_to_record_type): Likewise. | |
1723 (finish_struct_1): Move the code that inserts the fields for the | |
1724 sorted case, into insert_into_classtype_sorted_fields, and call | |
1725 it. | |
1726 (insert_late_enum_def_into_classtype_sorted_fields): Define. | |
1727 * decl.c (finish_enum_value_list): Call | |
1728 insert_late_enum_def_into_classtype_sorted_fields if a late enum | |
1729 definition is encountered. | |
1730 | |
1731 2012-06-06 Paolo Carlini <paolo.carlini@oracle.com> | |
1732 | |
1733 PR c++/53567 | |
1734 * typeck.c (cp_perform_integral_promotions): New, like | |
1735 perform_integral_promotions but also takes a tsubst_flags_t parameter. | |
1736 (pointer_diff): Add tsubst_flags_t parameter. | |
1737 (decay_conversion, cp_default_conversion, cp_build_array_ref, | |
1738 cp_build_binary_op, cp_build_unary_op, build_static_cast_1, | |
1739 build_reinterpret_cast_1, cp_build_modify_expr, | |
1740 convert_for_assignment): Adjust. | |
1741 * optimize.c (build_delete_destructor_body): Adjust. | |
1742 * init.c (expand_virtual_init, expand_default_init, build_new_1, | |
1743 build_new, build_vec_delete_1, build_vec_init, build_delete): Adjust. | |
1744 (construct_virtual_base): Adjust LOOKUP_COMPLAIN -> 0. | |
1745 * class.c (build_base_path): Adjust. | |
1746 * decl.c (compute_array_index_type, finish_destructor_body): Likewise. | |
1747 * method.c (synthesized_method_walk): Adjust flag and complain. | |
1748 * rtti.c (ifnonnull): Add tsubst_flags_t parameter. | |
1749 (build_typeid, build_dynamic_cast_1): Adjust. | |
1750 * except.c (initialize_handler_parm): Likewise. | |
1751 * typeck2.c (process_init_constructor_record): Likewise. | |
1752 * pt.c (tsubst_friend_class): Don't change flags. | |
1753 * semantics.c (finish_goto_stmt, handle_omp_for_class_iterator, | |
1754 finish_static_assert): Likewise. | |
1755 * parser.c (cp_parser_lookup_name): Just pass 0 as flags to | |
1756 lookup_name_real. | |
1757 * call.c (build_op_delete_call): Add tsubst_flags_t parameter. | |
1758 (convert_like_real, convert_arg_to_ellipsis, convert_for_arg_passing): | |
1759 Adjust. | |
1760 (standard_conversion): Adjust LOOKUP_COMPLAIN -> 0. | |
1761 (implicit_conversion): Mask out tf_error with a FIXME. | |
1762 (build_user_type_conversion_1, build_new_op_1, build_over_call): Use | |
1763 complain & tf_error instead of flags & LOOKUP_COMPLAIN. | |
1764 * cvt.c (cp_convert_to_pointer, convert_to_pointer_force, | |
1765 build_up_reference, convert_to_reference, cp_convert, | |
1766 cp_convert_and_check, ocp_convert, convert_force): Add tsubst_flags_t | |
1767 parameter. | |
1768 (convert_to_reference, ocp_convert): Use complain & tf_error instead | |
1769 of flags & LOOKUP_COMPLAIN. | |
1770 (convert_force): Adjust LOOKUP_COMPLAIN -> 0. | |
1771 * name-lookup.c (identifier_type_value_1, lookup_qualified_name, | |
1772 lookup_name_real, lookup_function_nonclass, lookup_name, | |
1773 lookup_name_prefer_type): Adjust LOOKUP_COMPLAIN -> 0. | |
1774 * cp-tree.h: Adjust prototypes; remove LOOKUP_COMPLAIN. | |
1775 | |
1776 2012-06-06 Steven Bosscher <steven@gcc.gnu.org> | |
1777 | |
1778 * decl.c: Do not include output.h. | |
1779 (start_decl): Remove code for flag_conserve_space. | |
1780 | |
1781 2012-06-06 Fabien Chêne <fabien@gcc.gnu.org> | |
1782 | |
1783 PR c++/52841 | |
1784 * parser.c (cp_parser_alias_declaration): Return earlier | |
1785 if an error occured. | |
1786 | |
1787 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com> | |
1788 | |
1789 PR c++/53524 | |
1790 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare | |
1791 to control enumeral mismatch in conditional expression too. | |
1792 | |
1793 2012-06-04 Sterling Augustine <saugustine@google.com> | |
1794 | |
1795 * cp-tree.h: Declare decl_as_dwarf_string, lang_decl_dwarf_name. | |
1796 * cp-lang.c (cxx_dwarf_name): Call them. | |
1797 | |
1798 2012-06-04 Steven Bosscher <steven@gcc.gnu.org> | |
1799 | |
1800 * semantics.c: Do not include output.h. | |
1801 * decl2.c: Likewise. | |
1802 * friend.c: Likewise. | |
1803 * typeck.c: Likewise. | |
1804 * typeck2.c: Likewise. | |
1805 * Make-lang.in: Fix dependencies. | |
1806 | |
1807 2012-06-01 Jason Merrill <jason@redhat.com> | |
1808 | |
1809 PR c++/52973 | |
1810 * parser.c (cp_parser_class_head): Apply attributes here. | |
1811 * semantics.c (begin_class_definition): Not here. | |
1812 * cp-tree.h: Adjust. | |
1813 | |
1814 PR c++/52725 | |
1815 * parser.c (cp_parser_binary_expression): Bail early if we're parsing | |
1816 tentatively and the LHS has a parse error. | |
1817 | |
1818 PR c++/53137 | |
1819 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE. | |
1820 (instantiate_decl): Don't push_to_top_level for local class methods. | |
1821 (instantiate_class_template_1): Or for local classes. | |
1822 | |
1823 PR c++/53484 | |
1824 * pt.c (do_auto_deduction): Don't try to deduce from a | |
1825 type-dependent initializer. | |
1826 | |
1827 2012-06-01 Paolo Carlini <paolo.carlini@oracle.com> | |
1828 | |
1829 PR c++/26155 | |
1830 * name-lookup.c (push_namespace): When error recovery is | |
1831 impossible just error out in duplicate_decls. | |
1832 | |
1833 2012-05-31 Steven Bosscher <steven@gcc.gnu.org> | |
1834 | |
1835 * call.c: Do not include output.h. | |
1836 * class.c: Likewise. | |
1837 * except.c: Likewise. | |
1838 * friend.c: Likewise. | |
1839 * init.c: Likewise. | |
1840 * lex.c: Likewise. | |
1841 * method.c: Likewise. | |
1842 * parser.c: Likewise. | |
1843 * pt.c: Likewise. | |
1844 * rtti.c: Likewise. | |
1845 * search.c: Likewise. | |
1846 | |
1847 2012-05-30 Jason Merrill <jason@redhat.com> | |
1848 | |
1849 PR c++/53356 | |
1850 * tree.c (stabilize_init): Handle stabilizing a TARGET_EXPR | |
1851 representing a bitwise copy of a glvalue. | |
1852 | |
1853 * tree.c (stabilize_expr): Tweak logic. | |
1854 | |
1855 PR c++/53356 | |
1856 * tree.c (stabilize_init): Side effects make the init unstable. | |
1857 | |
1858 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com> | |
1859 | |
1860 PR c++/53503 | |
1861 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR. | |
1862 | |
1863 2012-05-26 Paolo Carlini <paolo.carlini@oracle.com> | |
1864 | |
1865 PR c++/53491 | |
1866 * tree.c (stabilize_expr): Handle exp of void type. | |
1867 | |
1868 2012-05-26 Jason Merrill <jason@redhat.com> | |
1869 | |
1870 PR c++/53220 | |
1871 * call.c (convert_like_real) [ck_list]: Take array address directly. | |
1872 * typeck.c (decay_conversion): Reject decay of an array compound | |
1873 literal. | |
1874 | |
1875 2012-05-25 Paolo Carlini <paolo.carlini@oracle.com> | |
1876 | |
1877 PR c++/32054 | |
1878 * parser.c (cp_parser_member_declaration): A storage class is not | |
1879 allowed in a declaration of an anonymous aggregate in a class scope. | |
1880 | |
1881 2012-05-24 Uros Bizjak <ubizjak@gmail.com> | |
1882 | |
1883 PR obj-c++/53441 | |
1884 * decl.c (grokdeclarator): Check that current_class_type is non-NULL | |
1885 before calling constructor_name_p. | |
1886 | |
1887 2012-05-24 Paolo Carlini <paolo.carlini@oracle.com> | |
1888 | |
1889 PR c++/32080 | |
1890 * parser.c (cp_parser_ctor_initializer_opt_and_function_body, | |
1891 cp_parser_function_body): Add a bool parameter, true when parsing | |
1892 a function-try-block. | |
1893 (cp_parser_function_try_block): Pass true to the above. | |
1894 (cp_parser_function_definition_after_declarator, | |
1895 cp_parser_function_transaction): Adjust. | |
1896 | |
1897 2012-05-23 Paolo Carlini <paolo.carlini@oracle.com> | |
1898 | |
1899 PR c++/29185 | |
1900 * decl2.c (delete_sanity): Extend 'deleting array' warning to | |
1901 any array type. | |
1902 | |
1903 2012-05-21 Paolo Carlini <paolo.carlini@oracle.com> | |
1904 | |
1905 PR c++/51184 | |
1906 * decl.c (grokdeclarator): Diagnose functions returning abstract | |
1907 class types as TYPENAME. | |
1908 * cp-tree.h (ABSTRACT_CLASS_TYPE_P): Add. | |
1909 * except.c (is_admissible_throw_operand_or_catch_parameter): Use it. | |
1910 * pt.c (tsubst): Likewise. | |
1911 * semantics.c (trait_expr_value): Likewise. | |
1912 | |
1913 2012-05-21 Paolo Carlini <paolo.carlini@oracle.com> | |
1914 | |
1915 PR c++/40821 | |
1916 * parser.c (cp_parser_attributes_opt): Enforce error checking of | |
1917 unbalanced parentheses in the presence of tentative parsing. | |
1918 | |
1919 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com> | |
1920 | |
1921 PR c++/39681 | |
1922 * parser.c (cp_parser_new_type_id): Early return error_mark_node | |
1923 if the cp_parser_type_specifier_seq call has type_specifier_seq.type | |
1924 error_mark_node; tidy. | |
1925 (cp_parser_new_expression): Always initialize nelts to NULL_TREE to | |
1926 avoid uninitialized warnings. | |
1927 (cp_parser_init_declarator, cp_parser_late_parse_one_default_arg): | |
1928 Call cp_parser_skip_to_end_of_statement if cp_parser_initializer | |
1929 returns error_mark_node. | |
1930 | |
1931 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com> | |
1932 | |
1933 PR c++/53371 | |
1934 * except.c (is_admissible_throw_operand): Rename to | |
1935 is_admissible_throw_operand_or_catch_parameter and handle | |
1936 catch parameter too. | |
1937 (expand_start_catch_block): Use it. | |
1938 (build_throw): Adjust. | |
1939 | |
1940 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com> | |
1941 | |
1942 PR c++/44516 | |
1943 * typeck.c (build_x_array_ref, build_x_conditional_expr, | |
1944 build_x_compound_expr, build_x_modify_expr): Add location_t parameter. | |
1945 (finish_class_member_access_expr, build_x_indirect_ref, | |
1946 build_x_binary_op, build_x_compound_expr_from_list, | |
1947 build_x_compound_expr_from_vec): Adjust callers. | |
1948 * tree.c (build_min_nt_loc): New. | |
1949 (build_min_nt): Remove. | |
1950 * typeck2.c (build_x_arrow): Adjust callers. | |
1951 * pt.c (tsubst_qualified_id, tsubst_omp_for_iterator, | |
1952 tsubst_copy_and_build): Likewise. | |
1953 * semantics.c (finish_mem_initializers, handle_omp_for_class_iterator, | |
1954 finish_omp_atomic): Likewise. | |
1955 * decl2.c (grok_array_decl, build_anon_union_vars): Adjust. | |
1956 * parser.c (cp_parser_question_colon_clause, | |
1957 cp_parser_assignment_expression, cp_parser_expression, | |
1958 cp_parser_template_id, cp_parser_omp_for_loop): Likewise. | |
1959 * cp-tree.h: Update. | |
1960 | |
1961 2012-05-16 Dodji Seketeli <dodji@redhat.com> | |
1962 | |
1963 PR preprocessor/7263 | |
1964 * cp-tree.h (enum cp_decl_spec): Add new enumerators to cover all | |
1965 the possible declarator specifiers so far. | |
1966 (struct cp_decl_specifier_seq::locations): Declare new member. | |
1967 (cp_decl_specifier_seq::{specs, type_location}): Remove. | |
1968 (decl_spec_seq_has_spec_p): Declare new function. | |
1969 * parser.c (cp_parser_check_decl_spec): Remove. | |
1970 (set_and_check_decl_spec_loc): Define new static function. | |
1971 (decl_spec_seq_has_spec_p): Define new public function. | |
1972 (cp_parser_decl_specifier_seq, cp_parser_function_specifier_opt) | |
1973 (cp_parser_type_specifier, cp_parser_simple_type_specifier) | |
1974 (cp_parser_set_storage_class, cp_parser_set_decl_spec_type) | |
1975 (cp_parser_alias_declaration): Set the locations for each | |
1976 declspec, using set_and_check_decl_spec_loc. | |
1977 (cp_parser_explicit_instantiation, cp_parser_init_declarator) | |
1978 (cp_parser_member_declaration, cp_parser_init_declarator): Use the | |
1979 new declspec location for specifiers. Use the new | |
1980 decl_spec_seq_has_spec_p. | |
1981 (cp_parser_type_specifier_seq): Use the new | |
1982 set_and_check_decl_spec_loc. Stop using | |
1983 cp_parser_check_decl_spec. Use the new decl_spec_seq_has_spec_p. | |
1984 (, cp_parser_init_declarator): Use the new | |
1985 set_and_check_decl_spec_loc. | |
1986 (cp_parser_single_declaration, cp_parser_friend_p) | |
1987 (cp_parser_objc_class_ivars, cp_parser_objc_struct_declaration): | |
1988 Use the new decl_spec_seq_has_spec_p. | |
1989 * decl.c (check_tag_decl): Use new decl_spec_seq_has_spec_p. Use | |
1990 the more precise ds_redefined_builtin_type_spec location for | |
1991 diagnostics about re-declaring C++ built-in types. | |
1992 (start_decl, grokvardecl, grokdeclarator): Use the new | |
1993 decl_spec_seq_has_spec_p. | |
1994 | |
1995 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com> | |
1996 | |
1997 PR c++/11856 | |
1998 * pt.c (tsubst_copy_and_build): Increase / decrease | |
1999 c_inhibit_evaluation_warnings around build_x_binary_op call. | |
2000 | |
2001 2012-05-12 Paolo Carlini <paolo.carlini@oracle.com> | |
2002 | |
2003 * cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P. | |
2004 (TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P. | |
2005 (TYPE_PTR_OR_PTRMEM_P): Add. | |
2006 * typeck.c (composite_pointer_type_r, composite_pointer_type, | |
2007 common_pointer_type, cp_build_indirect_ref, cp_build_binary_op, | |
2008 cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1, | |
2009 build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real, | |
2010 casts_away_constness_r, casts_away_constness): Adjust. | |
2011 * init.c (build_zero_init_1): Adjust. | |
2012 * class.c (check_field_decls): Likewise. | |
2013 * decl.c (check_default_argument): Likewise. | |
2014 * rtti.c (target_incomplete_p): Likewise. | |
2015 * tree.c (zero_init_p): Likewise. | |
2016 * cxx-pretty-print.c (pp_cxx_ptr_operator, | |
2017 pp_cxx_abstract_declarator): Likewise. | |
2018 * typeck2.c (build_m_component_ref): Likewise. | |
2019 * pt.c (convert_nontype_argument, invalid_nontype_parm_type_p, | |
2020 dependent_type_p_r): Likewise. | |
2021 * call.c (null_member_pointer_value_p, standard_conversion, | |
2022 add_builtin_candidate, build_conditional_expr_1, compare_ics): | |
2023 Likewise. | |
2024 * cp-objcp-common.c (cp_var_mod_type_p): Likewise. | |
2025 * cvt.c (cp_convert_to_pointer, ocp_convert, | |
2026 perform_qualification_conversions): Likewise. | |
2027 * mangle.c (write_type): Likewise. | |
2028 * name-lookup.c (arg_assoc_type): Likewise. | |
2029 | |
2030 2012-05-12 Paolo Carlini <paolo.carlini@oracle.com> | |
2031 | |
2032 * parser.c (struct cp_parser_expression_stack_entry): Add location_t | |
2033 field. | |
2034 (cp_parser_binary_expression): Rework to always update at the same | |
2035 time tree_type and loc. | |
2036 * call.c (print_z_candidate): Add location_t parameter. | |
2037 (print_z_candidates, convert_like_real, joust): Adjust. | |
2038 | |
2039 2012-05-11 Alexandre Oliva <aoliva@redhat.com> | |
2040 | |
2041 PR c++/53209 | |
2042 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node. | |
2043 | |
2044 2012-05-11 Paolo Carlini <paolo.carlini@oracle.com> | |
2045 | |
2046 PR c++/53305 | |
2047 * pt.c (tsubst_copy: case PARM_DECL): Return error_mark_node if | |
2048 tsubst_decl returns NULL_TREE. | |
2049 * cxx-pretty-print.c (pp_cxx_simple_type_specifier): Handle | |
2050 BOUND_TEMPLATE_TEMPLATE_PARM. | |
2051 | |
2052 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com> | |
2053 | |
2054 PR c++/53158 | |
2055 * cvt.c (ocp_convert): Error out early for void -> bool conversions. | |
2056 * typeck.c (decay_conversion): Use error_at. | |
2057 * call.c (build_integral_nontype_arg_conv, convert_like_real, | |
2058 convert_arg_to_ellipsis, perform_implicit_conversion_flags, | |
2059 initialize_reference): Likewise. | |
2060 * cvt.c (warn_ref_binding): Add location_t parameter. | |
2061 (cp_convert_to_pointer, convert_to_reference, ocp_convert, | |
2062 convert_to_void, ): Use error_at and warning_at. | |
2063 | |
2064 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com> | |
2065 | |
2066 PR c++/53301 | |
2067 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P | |
2068 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning. | |
2069 | |
2070 2012-05-06 Paolo Carlini <paolo.carlini@oracle.com> | |
2071 | |
2072 PR c++/53152 | |
2073 * call.c (op_error, build_new_op_1, build_new_op): Add location_t | |
2074 parameter. | |
2075 (build_conditional_expr_1): Adjust. | |
2076 * typeck.c (build_x_indirect_ref, build_x_binary_op, | |
2077 build_x_unary_op): Add location_t parameter. | |
2078 (rationalize_conditional_expr, build_x_array_ref, | |
2079 build_x_compound_expr, cp_build_modify_expr, build_x_modify_expr): | |
2080 Adjust. | |
2081 * typeck2.c (build_x_arrow): Add location_t parameter. | |
2082 * semantics.c (finish_unary_op_expr): Likewise. | |
2083 (finish_increment_expr, handle_omp_for_class_iterator): Adjust. | |
2084 * decl2.c (grok_array_decl): Add location_t parameter. | |
2085 * parser.c (cp_parser_postfix_open_square_expression, | |
2086 cp_parser_postfix_dot_deref_expression, cp_parser_unary_expression, | |
2087 cp_parser_binary_expression, cp_parser_builtin_offsetof, | |
2088 do_range_for_auto_deduction, cp_convert_range_for, | |
2089 cp_parser_template_argument, cp_parser_omp_for_cond): Pass the | |
2090 location, adjust. | |
2091 * pt.c (tsubst_copy_and_build): Adjust. | |
2092 * tree.c (maybe_dummy_object): Likewise. | |
2093 * cp-tree.h: Update declarations. | |
2094 | |
2095 2012-05-04 Paolo Carlini <paolo.carlini@oracle.com> | |
2096 | |
2097 * semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy. | |
2098 | |
2099 2012-05-04 Paolo Carlini <paolo.carlini@oracle.com> | |
2100 | |
2101 PR c++/53166 | |
2102 * pt.c (instantiate_class_template_1): Increase / decrease | |
2103 c_inhibit_evaluation_warnings around the tsubst_expr call | |
2104 for STATIC_ASSERT_CONDITION. | |
2105 (tsubst_expr, case STATIC_ASSERT): Likewise. | |
2106 * typeck.c (cp_build_binary_op, case EQ_EXPR/NE_EXPR): Check | |
2107 c_inhibit_evaluation_warnings in the OPT_Waddress warnings. | |
2108 | |
2109 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com> | |
2110 | |
2111 PR c++/53186 | |
2112 * call.c (build_over_call): Handle final member functions | |
2113 and class types. | |
2114 (build_new_method_call_1): Do not handle here. | |
2115 | |
2116 2012-05-02 Richard Guenther <rguenther@suse.de> | |
2117 | |
2118 * decl.c (grokdeclarator): Properly check for sizes that | |
2119 cover more than half of the address-space. | |
2120 | |
2121 2012-04-30 Marc Glisse <marc.glisse@inria.fr> | |
2122 | |
2123 PR c++/51033 | |
2124 * typeck.c (cp_build_array_ref): Handle VECTOR_TYPE. | |
2125 * decl2.c (grok_array_decl): Likewise. | |
2126 | |
2127 PR c++/51314 | |
2128 * parser.c (cp_parser_sizeof_operand): Require parentheses for | |
2129 sizeof... | |
2130 | |
2131 2012-04-30 Dodji Seketeli <dodji@redhat.com> | |
2132 | |
2133 Fix location for static class members | |
2134 * decl.c (grokdeclarator): Use the location carried by the | |
2135 declarator for the DECL of the static class member. | |
2136 | |
2137 Fix va_arg type location | |
2138 * cp-tree.h (build_x_va_arg): Take an additional location | |
2139 parameter. | |
2140 * call.c (build_x_va_arg): Take a loc parameter for the location | |
2141 of the type of the va_arg expression. | |
2142 * parser.c (cp_parser_primary_expression): Pass the type of the | |
2143 type in the va_arg expression to build_x_va_arg. | |
2144 * pt.c (tsubst_copy): Adjust calls to build_x_va_arg. | |
2145 | |
2146 Make conversion warnings work on NULL with -ftrack-macro-expansion | |
2147 * call.c (conversion_null_warnings): Use the new | |
2148 expansion_point_location_if_in_system_header. | |
2149 * cvt.c (build_expr_type_conversion): Likewise. | |
2150 * typeck.c (cp_build_binary_op): Likewise. | |
2151 | |
2152 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
2153 | |
2154 * typeck.c (convert_for_assignment): Replace | |
2155 Wmissing-format-attribute with Wsuggest-attribute=format. | |
2156 * call.c (convert_for_arg_passing): Likewise. | |
2157 | |
2158 2012-04-26 Paolo Carlini <paolo.carlini@oracle.com> | |
2159 | |
2160 PR c++/53096 | |
2161 * class.c (check_bases_and_members): Implement core/1333, do not | |
2162 disallow defaulted in the class body non-const ref special members. | |
2163 | |
2164 2012-04-24 Paolo Carlini <paolo.carlini@oracle.com> | |
2165 | |
2166 PR c++/52363 | |
2167 * call.c (tourney, perform_overload_resolution, | |
2168 build_operator_new_call, build_user_type_conversion_1, | |
2169 build_user_type_conversion, perform_overload_resolution, | |
2170 add_template_candidate, add_template_candidate_real, | |
2171 add_template_conv_candidate, add_builtin_candidates, | |
2172 add_builtin_candidate, build_builtin_candidate, | |
2173 add_conv_candidate, add_function_candidate, implicit_conversion, | |
2174 reference_binding, build_list_conv, conditional_conversion, | |
2175 add_candidates, can_convert_array, build_aggr_conv, | |
2176 build_array_conv, build_complex_conv, conditional_conversion): | |
2177 Add tsubst_flags_t parameter. | |
2178 (joust): Likewise, use it to handle SFINAE as if pedantic. | |
2179 (add_list_candidates, build_integral_nontype_arg_conv, | |
2180 perform_overload_resolution, build_new_function_call, | |
2181 build_operator_new_call, build_op_call_1, | |
2182 build_conditional_expr_1, build_new_op_1, convert_like_real, | |
2183 convert_arg_to_ellipsis, convert_default_arg, | |
2184 convert_for_arg_passing, build_over_call, | |
2185 build_new_method_call_1, can_convert_arg, can_convert_arg_bad, | |
2186 perform_implicit_conversion_flags, | |
2187 perform_direct_initialization_if_possible, | |
2188 initialize_reference): Adjust. | |
2189 * typeck.c (casts_away_constness, casts_away_constness_r): | |
2190 Add tsubst_flags_t parameter. | |
2191 (convert_arguments, check_for_casting_away_constness, | |
2192 build_static_cast_1, build_ptrmemfunc, convert_for_assignment): | |
2193 Adjust. | |
2194 * decl.c (reshape_init_r, check_default_argument): Likewise. | |
2195 * cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise. | |
2196 * pt.c (convert_nontype_argument, check_non_deducible_conversion): | |
2197 Likewise. | |
2198 * init.c (build_new_1): Likewise. | |
2199 * cvt.c (convert_to_reference, ocp_convert, build_type_conversion, | |
2200 build_expr_type_conversion, ): Likewise. | |
2201 * search.c (check_final_overrider): Likewise. | |
2202 * cp-tree.h (build_user_type_conversion, | |
2203 build_operator_new_call, can_convert, can_convert_arg, | |
2204 can_convert_arg_bad, convert_default_arg, | |
2205 convert_arg_to_ellipsis, convert_for_arg_passing): | |
2206 Adjust declaration. | |
2207 | |
2208 2012-04-22 Jan Hubicka <jh@suse.cz> | |
2209 | |
2210 * decl2.c (maybe_make_one_only): Mark keyed COMDATs as USED so they | |
2211 gets finalized. | |
2212 | |
2213 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
2214 | |
2215 PR c/44774 | |
2216 * typeck.c (composite_pointer_type): Likewise. | |
2217 (cxx_sizeof_or_alignof_type): Likewise. | |
2218 (cp_build_array_ref): Likewise. | |
2219 (cp_build_function_call_vec): Likewise. | |
2220 (cp_build_addr_expr_1): Likewise. | |
2221 (convert_member_func_to_ptr): Likewise. | |
2222 * decl.c (check_tag_decl): Likewise. | |
2223 (check_static_variable_definition): Likewise. | |
2224 (compute_array_index_type): Likewise. | |
2225 (create_array_type_for_decl): Likewise. | |
2226 (grokdeclarator): Likewise. | |
2227 (grok_op_properties): Likewise. | |
2228 * error.c (maybe_warn_cpp0x): Likewise. | |
2229 * pt.c (maybe_process_partial_specialization): Likewise. | |
2230 (convert_template_argument): Likewise. | |
2231 (do_decl_instantiation): Likewise. | |
2232 (do_type_instantiation): Likewise. | |
2233 * parser.c (cp_parser_primary_expression): Likewise. | |
2234 (cp_parser_postfix_expression): Likewise. | |
2235 (cp_parser_unary_expression): Likewise. | |
2236 (cp_parser_question_colon_clause): Likewise. | |
2237 (cp_parser_lambda_introducer): Likewise. | |
2238 (cp_parser_lambda_declarator_opt): Likewise. | |
2239 (cp_parser_compound_statement): Likewise. | |
2240 (cp_parser_jump_statement): Likewise. | |
2241 (cp_parser_declaration_seq_opt): Likewise. | |
2242 (cp_parser_enum_specifier): Likewise. | |
2243 (cp_parser_enumerator_list): Likewise. | |
2244 (cp_parser_initializer_list): Likewise. | |
2245 (cp_parser_member_declaration): Likewise. | |
2246 * call.c (build_conditional_expr_1): Likewise. | |
2247 * friend.c (make_friend_class): Likewise. | |
2248 * name-lookup.c (pushdecl_maybe_friend_1): Likewise. | |
2249 | |
2250 2012-04-21 Jan Hubicka <jh@suse.cz> | |
2251 | |
2252 * method.c (make_alias_for): Do not set TREE_SYMBOL_REFERENCED. | |
2253 * decl2.c (mark_needed): Likewise. | |
2254 (decl_needed_p): Do not test TREE_SYMBOL_REFERENCED. | |
2255 | |
2256 * decl2.c (cxx_callgraph_analyze_expr): Remove. | |
2257 * cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove. | |
2258 * cp-tree.h (cxx_callgraph_analyze_expr): Remove. | |
2259 | |
2260 2012-04-21 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
2261 | |
2262 PR 35441 | |
2263 * typeck.c (cp_build_function_call_vec): Do not pretty-print | |
2264 expressions when caret is enabled. | |
2265 | |
2266 2012-04-20 Jan Hubicka <jh@suse.cz> | |
2267 | |
2268 PR target/53042 | |
2269 * decl2.c (maybe_emit_vtables): Do not initialize same_comdat_group | |
2270 list when target has no support for it. | |
2271 | |
2272 2012-04-20 Michael Matz <matz@suse.de> | |
2273 | |
2274 * error.c (pedwarn_cxx98): Move va_end call after user | |
2275 of the va_list. | |
2276 | |
2277 2012-04-18 Paolo Carlini <paolo.carlini@oracle.com> | |
2278 | |
2279 PR c++/52422 | |
2280 * cp-tree.h (build_addr_func, decay_conversion, | |
2281 get_member_function_from_ptrfunc, | |
2282 build_m_component_ref, convert_member_func_to_ptr): | |
2283 Add tsubst_flags_t parameter. | |
2284 * typeck.c (cp_default_conversion): Add. | |
2285 (decay_conversion, default_conversion, | |
2286 get_member_function_from_ptrfunc, convert_member_func_to_ptr): | |
2287 Add tsubst_flags_t parameter and use it throughout. | |
2288 (cp_build_indirect_ref, cp_build_array_ref, | |
2289 cp_build_function_call_vec, convert_arguments, build_x_binary_op, | |
2290 cp_build_binary_op, cp_build_unary_op, build_reinterpret_cast_1, | |
2291 build_const_cast_1, expand_ptrmemfunc_cst, | |
2292 convert_for_initialization): Adjust. | |
2293 * init.c (build_vec_init): Adjust. | |
2294 * decl.c (grok_reference_init, get_atexit_node): Likewise. | |
2295 * rtti.c (build_dynamic_cast_1, tinfo_base_init): Likewise. | |
2296 * except.c (build_throw): Likewise. | |
2297 * typeck2.c (build_x_arrow): Likewise. | |
2298 (build_m_component_ref): Add tsubst_flags_t parameter and | |
2299 use it throughout. | |
2300 * pt.c (convert_nontype_argument): Adjust. | |
2301 * semantics.c (finish_asm_stmt, maybe_add_lambda_conv_op): Likewise. | |
2302 * decl2.c (build_offset_ref_call_from_tree): Likewise. | |
2303 * call.c (build_addr_func): Add tsubst_flags_t parameter and | |
2304 use it throughout. | |
2305 (build_call_a, build_conditional_expr_1, build_new_op_1, | |
2306 convert_like_real, convert_arg_to_ellipsis, build_over_call, | |
2307 build_special_member_call): Adjust. | |
2308 * cvt.c (cp_convert_to_pointer, force_rvalue, | |
2309 build_expr_type_conversion): Likewise. | |
2310 | |
2311 2012-04-17 Tom de Vries <tom@codesourcery.com> | |
2312 | |
2313 * cp-gimplify.c (begin_bc_block): Add location parameter and use as | |
2314 location argument to create_artificial_label. | |
2315 (finish_bc_block): Change return type to void. Remove body_seq | |
2316 parameter, and add block parameter. Append label to STMT_LIST and | |
2317 return in block. | |
2318 (gimplify_cp_loop, gimplify_for_stmt, gimplify_while_stmt) | |
2319 (gimplify_do_stmt, gimplify_switch_stmt): Remove function. | |
2320 (genericize_cp_loop, genericize_for_stmt, genericize_while_stmt) | |
2321 (genericize_do_stmt, genericize_switch_stmt, genericize_continue_stmt) | |
2322 (genericize_break_stmt, genericize_omp_for_stmt): New function. | |
2323 (cp_gimplify_omp_for): Remove bc_continue processing. | |
2324 (cp_gimplify_expr): Genericize VEC_INIT_EXPR. | |
2325 (cp_gimplify_expr): Mark FOR_STMT, WHILE_STMT, DO_STMT, SWITCH_STMT, | |
2326 CONTINUE_STMT, and BREAK_STMT as unreachable. | |
2327 (cp_genericize_r): Genericize FOR_STMT, WHILE_STMT, DO_STMT, | |
2328 SWITCH_STMT, CONTINUE_STMT, BREAK_STMT and OMP_FOR. | |
2329 (cp_genericize_tree): New function, factored out of ... | |
2330 (cp_genericize): ... this function. | |
2331 | |
2332 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com> | |
2333 | |
2334 PR c++/52599 | |
2335 * semantics.c (build_constexpr_constructor_member_initializers): | |
2336 Check for function-try-block as function-body. | |
2337 | |
2338 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com> | |
2339 | |
2340 PR c++/53003 | |
2341 * parser.c (cp_parser_member_declaration): Check that | |
2342 initializer_token_start is non null before dereferencing it. | |
2343 | |
2344 2012-04-16 Jason Merrill <jason@redhat.com> | |
2345 | |
2346 PR c++/38543 | |
2347 * pt.c (determine_specialization): Instead of comparing the number | |
2348 of parms, check that tsubst gives the right answer. | |
2349 | |
2350 PR c++/52008 | |
2351 * pt.c (process_partial_specialization): Complain about a partial | |
2352 specialization with fewer args than primary template parms. | |
2353 | |
2354 PR c++/50830 | |
2355 * pt.c (convert_template_argument): Handle template template | |
2356 argument packs. | |
2357 | |
2358 PR c++/50303 | |
2359 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template | |
2360 template parameters. | |
2361 | |
2362 2012-04-16 Paolo Carlini <paolo.carlini@oracle.com> | |
2363 | |
2364 PR c++/49152 | |
2365 * call.c (op_error): Print types; when flag_diagnostics_show_caret | |
2366 is false print expressions too. | |
2367 (op_error_string): Add. | |
2368 | |
2369 2012-04-16 Jason Merrill <jason@redhat.com> | |
2370 | |
2371 PR c++/51148 | |
2372 * friend.c (make_friend_class): Call check_for_bare_parameter_packs. | |
2373 | |
2374 2012-04-16 Jan Hubicka <jh@suse.cz> | |
2375 | |
2376 * decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH | |
2377 walkers to walk cgraph and varpool. | |
2378 | |
2379 2012-04-15 Jason Merrill <jason@redhat.com> | |
2380 | |
2381 PR c++/47220 | |
2382 * pt.c (coerce_template_parameter_pack): Check for error_mark_node. | |
2383 | |
2384 PR c++/52292 | |
2385 PR c++/52380 | |
2386 * pt.c (coerce_template_parms): Even if we aren't converting we | |
2387 want to expand argument packs. | |
2388 | |
2389 PR c++/52706 | |
2390 * mangle.c (write_type): nullptr_t is a builtin type. | |
2391 | |
2392 2012-04-14 Jan Hubicka <jh@suse.cz> | |
2393 | |
2394 * tree.c: Update field referenced for new cgraph/varpool layout. | |
2395 * decl2.c: Likewise. | |
2396 | |
2397 2012-04-13 Jason Merrill <jason@redhat.com> | |
2398 | |
2399 PR c++/52824 | |
2400 * pt.c (any_pack_expanson_args_p): New. | |
2401 (coerce_template_parms): Use it. | |
2402 | |
2403 PR c++/52905 | |
2404 * call.c (joust): Handle comparing list and non-list ctors. | |
2405 | |
2406 PR c++/52915 | |
2407 * decl2.c (finish_anon_union): Use cp_finish_decl. | |
2408 * error.c (dump_function_name): Avoid showing anonymous "name". | |
2409 | |
2410 2012-04-11 Fabien Chêne <fabien@gcc.gnu.org> | |
2411 | |
2412 PR c++/52465 | |
2413 * parser.c (cp_parser_class_name): Call strip_using_decl and | |
2414 return the target decl. | |
2415 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl | |
2416 to be stripped is NULL_TREE. | |
2417 (qualify_lookup): Call strip_using_decl and perform some checks on | |
2418 the target decl. | |
2419 | |
2420 2012-04-11 Jason Merrill <jason@redhat.com> | |
2421 | |
2422 PR debug/45088 | |
2423 * decl.c (grokdeclarator): Strip the injected-class-name typedef | |
2424 if we are building a declaration or compound type. | |
2425 | |
2426 PR c++/52906 | |
2427 * decl.c (check_tag_decl): Don't complain about attributes if we | |
2428 don't even have a type. | |
2429 | |
2430 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
2431 | |
2432 * cvt.c (convert_to_void): Update comment. | |
2433 | |
2434 2012-04-05 Jason Merrill <jason@redhat.com> | |
2435 | |
2436 PR c++/52596 | |
2437 * semantics.c (finish_non_static_data_member): In templates, pass | |
2438 the decl to build_qualified_name. | |
2439 * tree.c (lvalue_kind) [SCOPE_REF]: Handle FIELD_DECL. | |
2440 | |
2441 2012-04-04 Jason Merrill <jason@redhat.com> | |
2442 | |
2443 PR c++/52845 | |
2444 * decl.c (finish_function): Update fntype after deducing return type. | |
2445 | |
2446 2012-04-03 Jason Merrill <jason@redhat.com> | |
2447 | |
2448 PR c++/52796 | |
2449 * pt.c (tsubst_initializer_list): A pack expansion with no elements | |
2450 means value-initialization. | |
2451 | |
2452 2012-04-01 Paolo Carlini <paolo.carlini@oracle.com> | |
2453 | |
2454 PR c++/50043 | |
2455 * class.c (deduce_noexcept_on_destructor, | |
2456 deduce_noexcept_on_destructors): New. | |
2457 (check_bases_and_members): Call the latter. | |
2458 * decl.c (grokfndecl): Call the former. | |
2459 * method.c (implicitly_declare_fn): Not static. | |
2460 * cp-tree.h (deduce_noexcept_on_destructor, implicitly_declare_fn): | |
2461 Declare | |
2462 | |
2463 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com> | |
2464 | |
2465 PR c++/52718 | |
2466 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant | |
2467 warn for a zero as null pointer constant default argument. | |
2468 | |
2469 2012-03-29 Jason Merrill <jason@redhat.com> | |
2470 | |
2471 PR c++/52685 | |
2472 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P. | |
2473 | |
2474 2012-03-29 Jakub Jelinek <jakub@redhat.com> | |
2475 | |
2476 PR c++/52759 | |
2477 * decl.c (start_decl): Don't call maybe_apply_pragma_weak | |
2478 if processing_template_decl. | |
2479 | |
2480 2012-03-29 Jason Merrill <jason@redhat.com> | |
2481 | |
2482 PR c++/52743 | |
2483 * call.c (compare_ics): Handle ck_aggr like ck_list. | |
2484 | |
2485 2012-03-28 Jason Merrill <jason@redhat.com> | |
2486 | |
2487 PR c++/52746 | |
2488 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if | |
2489 we didn't get an explicit scope. | |
2490 * pt.c (tsubst_baselink): Likewise. | |
2491 | |
2492 2012-03-28 Richard Guenther <rguenther@suse.de> | |
2493 | |
2494 * typeck2.c (process_init_constructor_array): Use the proper | |
2495 type for computing the array length. | |
2496 | |
2497 2012-03-27 Meador Inge <meadori@codesourcery.com> | |
2498 | |
2499 PR c++/52672 | |
2500 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold | |
2501 stripped child trees that are not pointer types. | |
2502 | |
2503 2012-03-21 Jason Merrill <jason@redhat.com> | |
2504 | |
2505 Implement return type deduction for normal functions with -std=c++1y. | |
2506 * cp-tree.h (FNDECL_USED_AUTO): New macro. | |
2507 (LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P): Remove. | |
2508 (dependent_lambda_return_type_node): Remove. | |
2509 (CPTI_DEPENDENT_LAMBDA_RETURN_TYPE): Remove. | |
2510 (struct language_function): Add x_auto_return_pattern field. | |
2511 (current_function_auto_return_pattern): New. | |
2512 (enum tsubst_flags): Add tf_partial. | |
2513 * decl.c (decls_match): Handle auto return comparison. | |
2514 (duplicate_decls): Adjust error message for auto return. | |
2515 (cxx_init_decl_processing): Remove dependent_lambda_return_type_node. | |
2516 (cp_finish_decl): Don't do auto deduction for functions. | |
2517 (grokdeclarator): Allow auto return without trailing return type in | |
2518 C++1y mode. | |
2519 (check_function_type): Defer checking of deduced return type. | |
2520 (start_preparsed_function): Set current_function_auto_return_pattern. | |
2521 (finish_function): Set deduced return type to void if not previously | |
2522 deduced. | |
2523 * decl2.c (change_return_type): Handle error_mark_node. | |
2524 (mark_used): Always instantiate functions with deduced return type. | |
2525 Complain about use if deduction isn't done. | |
2526 * parser.c (cp_parser_lambda_declarator_opt): Use 'auto' for | |
2527 initial return type. | |
2528 (cp_parser_lambda_body): Don't deduce return type in a template. | |
2529 (cp_parser_conversion_type_id): Allow auto in C++1y. | |
2530 * pt.c (instantiate_class_template_1): Don't mess with | |
2531 LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P. | |
2532 (tsubst_copy_and_build): Likewise. | |
2533 (fn_type_unification, tsubst): Don't reduce the template parm level | |
2534 of 'auto' during deduction. | |
2535 (unify): Compare 'auto' specially. | |
2536 (get_bindings): Change test. | |
2537 (always_instantiate_p): Always instantiate functions with deduced | |
2538 return type. | |
2539 (do_auto_deduction): Handle error_mark_node and lambda context. | |
2540 Don't check for use in initializer. | |
2541 (contains_auto_r): Remove. | |
2542 * search.c (lookup_conversions_r): Handle auto conversion function. | |
2543 * semantics.c (lambda_return_type): Handle null return. Don't mess | |
2544 with dependent_lambda_return_type_node. | |
2545 (apply_deduced_return_type): Rename from apply_lambda_return_type. | |
2546 * typeck.c (merge_types): Handle auto. | |
2547 (check_return_expr): Do auto deduction. | |
2548 * typeck2.c (add_exception_specifier): Fix complain check. | |
2549 | |
2550 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com> | |
2551 | |
2552 PR c++/52487 | |
2553 * class.c (check_field_decls): Call literal_type_p only | |
2554 on complete types. | |
2555 | |
2556 2012-03-22 Jakub Jelinek <jakub@redhat.com> | |
2557 | |
2558 PR c++/52671 | |
2559 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION | |
2560 on CLASS_TYPE_P types. | |
2561 | |
2562 2012-03-20 Jason Merrill <jason@redhat.com> | |
2563 | |
2564 * lex.c (init_reswords): Use >= for cxx_dialect test. | |
2565 * parser.c (cp_parser_exception_specification_opt): Likewise. | |
2566 | |
2567 * mangle.c (write_type): Handle 'auto'. | |
2568 * init.c (build_new): Don't do auto deduction where it might | |
2569 affect template mangling. | |
2570 | |
2571 PR c++/52510 | |
2572 * decl.c (reshape_init_class): Handle repeated reshaping. | |
2573 * search.c (lookup_field_1): Add sanity check. | |
2574 | |
2575 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com> | |
2576 | |
2577 PR c++/14710 | |
2578 * cp-tree.h (xvalue_p, maybe_warn_about_useless_cast): Declare. | |
2579 * tree.c (xvalue_p): Define. | |
2580 * typeck.c (maybe_warn_about_useless_cast): Define. | |
2581 (build_reinterpret_cast, build_const_cast, | |
2582 build_static_cast, cp_build_c_cast): Use maybe_warn_about_useless_cast. | |
2583 * rtti.c (build_dynamic_cast): Likewise. | |
2584 * pt.c (tsubst_copy_and_build, case CAST_EXPR): Increment/decrement | |
2585 c_inhibit_evaluation_warnings before/after the build_* calls. | |
2586 | |
2587 2012-03-15 Jason Merrill <jason@redhat.com> | |
2588 | |
2589 PR c++/52582 | |
2590 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL. | |
2591 | |
2592 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org> | |
2593 | |
2594 PR c++/44783 | |
2595 * error.c (print_instantiation_partial_context): Use | |
2596 template_backtrace_limit. | |
2597 | |
2598 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
2599 | |
2600 * Make-lang.in (doc/g++.1): Remove IRIX 6.5 reference. | |
2601 | |
2602 2012-03-14 Jakub Jelinek <jakub@redhat.com> | |
2603 | |
2604 PR c++/52521 | |
2605 * parser.c (lookup_literal_operator): Return fn only if | |
2606 processed all arguments from args vector and argtypes is | |
2607 void_list_node. | |
2608 | |
2609 2012-01-30 Dodji Seketeli <dodji@redhat.com> | |
2610 | |
2611 PR c++/51641 | |
2612 * cp-tree.h (template_type_parameter_p): Declare new function. | |
2613 (parameter_of_template_p): Remove. | |
2614 * pt.c (template_type_parameter_p): Define new function. | |
2615 (parameter_of_template_p): Remove. | |
2616 * name-lookup.c (binding_to_template_parms_of_scope_p): Don't rely | |
2617 on parameter_of_template_p anymore. Compare the level of the | |
2618 template parameter to the depth of the template. | |
2619 | |
2620 2011-12-15 Dodji Seketeli <dodji@redhat.com> | |
2621 | |
2622 * call.c (standard_conversion, build_integral_nontype_arg_conv) | |
2623 (build_new_op_1, convert_like_real, is_subseq) | |
2624 (maybe_handle_implicit_object, maybe_handle_ref_bind, compare_ics) | |
2625 (joust): Use next_conversion instead of accessing fields of struct | |
2626 conversion directly. | |
2627 | |
2628 2012-03-12 Paolo Carlini <paolo.carlini@oracle.com> | |
2629 | |
2630 PR c++/52299 | |
2631 * pt.c (tsubst_copy_and_build, case COND_EXPR): Avoid bogus | |
2632 division by zero warnings. | |
2633 | |
2634 2012-03-08 Paolo Carlini <paolo.carlini@oracle.com> | |
2635 | |
2636 * typeck.c (build_array_ref, cp_build_addr_expr_1, convert_ptrmem, | |
2637 build_ptrmemfunc): Consistently forward the tsubst_flags_t | |
2638 parameter. | |
2639 * call.c (resolve_args): Likewise. | |
2640 | |
2641 2012-03-07 Jason Merrill <jason@redhat.com> | |
2642 | |
2643 PR c++/52521 | |
2644 * mangle.c (write_literal_operator_name): The length comes after the | |
2645 operator prefix. | |
2646 | |
2647 2012-03-05 Jakub Jelinek <jakub@redhat.com> | |
2648 | |
2649 * pt.c (local_specializations): Change from htab_t into | |
2650 struct pointer_map_t *. | |
2651 (retrieve_local_specializations, register_local_specialization, | |
2652 tsubst_pack_expansion, instantiate_decl): Adjust users. | |
2653 (eq_local_specializations, hash_local_specialization): Remove. | |
2654 | |
2655 2012-03-05 Jason Merrill <jason@redhat.com> | |
2656 | |
2657 PR c++/51930 | |
2658 * decl2.c (determine_visibility): Correct calculation of class | |
2659 args depth. | |
2660 * decl.c (check_tag_decl): Adjust warning. | |
2661 | |
2662 * method.c (synthesized_method_walk): Cleanups don't affect the EH | |
2663 spec either. | |
2664 | |
2665 2012-03-03 Jason Merrill <jason@redhat.com> | |
2666 | |
2667 * init.c (perform_member_init): Cope with uninstantiated NSDMI. | |
2668 | |
2669 Core 1270 | |
2670 * call.c (build_aggr_conv): Call reshape_init. | |
2671 (convert_like_real): Likewise. | |
2672 * typeck2.c (process_init_constructor): Clear TREE_CONSTANT if | |
2673 not all constant. | |
2674 | |
2675 * mangle.c (write_nested_name): Use decl_mangling_context. | |
2676 (write_prefix, write_template_prefix): Likewise. | |
2677 | |
2678 PR c++/36797 | |
2679 * mangle.c (write_expression): Improve diagnostic for TRAIT_EXPR. | |
2680 | |
2681 * class.c (add_method): Always build an OVERLOAD for using-decls. | |
2682 * search.c (lookup_member): Handle getting an OVERLOAD for a | |
2683 single function. | |
2684 | |
2685 2012-03-02 Paolo Carlini <paolo.carlini@oracle.com> | |
2686 | |
2687 PR c++/51989 | |
2688 * typeck2.c (build_x_arrow): Take a tsubst_flags_t argument and | |
2689 propagate it. | |
2690 * cp-tree.h (build_x_arrow): Adjust prototype. | |
2691 * pt.c (tsubst_copy_and_build): Adjust call. | |
2692 * parser.c (cp_parser_postfix_dot_deref_expression): Likewise. | |
2693 | |
2694 2012-03-02 Paolo Carlini <paolo.carlini@oracle.com> | |
2695 | |
2696 * name-lookup.c (binding_to_template_parms_of_scope_p): Clean up. | |
2697 | |
2698 2012-02-29 Jason Merrill <jason@redhat.com> | |
2699 | |
2700 PR c++/51930 | |
2701 * decl.c (check_tag_decl): Move warning for misplaced attributes here. | |
2702 (shadow_tag): From here. | |
2703 * parser.c (cp_parser_explicit_instantiation): Don't warn here. | |
2704 | |
2705 2012-02-21 Jakub Jelinek <jakub@redhat.com> | |
2706 | |
2707 PR c++/52312 | |
2708 * typeck.c (check_literal_operator_args): Initialize *long_double_p | |
2709 and *long_long_unsigned_p even if processing_template_decl. | |
2710 | |
2711 2012-02-16 Jason Merrill <jason@redhat.com> | |
2712 | |
2713 PR c++/52248 | |
2714 * decl.c (define_label): Use timevar_cond_start/stop. | |
2715 | |
2716 2012-02-16 Fabien Chêne <fabien@gcc.gnu.org> | |
2717 | |
2718 PR c++/52126 | |
2719 * decl.c (xref_basetypes): Call dependent_scope_p instead of | |
2720 dependent_type_p. | |
2721 | |
2722 2012-02-16 Jason Merrill <jason@redhat.com> | |
2723 | |
2724 PR c++/51415 | |
2725 * error.c (dump_expr): Handle lambda closures specifically. | |
2726 | |
2727 2012-02-14 Jason Merrill <jason@redhat.com> | |
2728 | |
2729 * parser.c (cp_parser_explicit_instantiation): Give a warning | |
2730 for ignored attributes on explicit class instantiation. | |
2731 | |
2732 2012-02-14 Jakub Jelinek <jakub@redhat.com> | |
2733 | |
2734 PR c++/52247 | |
2735 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call | |
2736 lookup_label on label's name and set TREE_USED. | |
2737 | |
2738 2012-02-14 Jason Merrill <jason@redhat.com> | |
2739 | |
2740 PR c++/39055 | |
2741 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL. | |
2742 | |
2743 2012-02-14 Jakub Jelinek <jakub@redhat.com> | |
2744 | |
2745 PR c/52181 | |
2746 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than | |
2747 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits. | |
2748 | |
2749 2012-02-07 Jason Merrill <jason@redhat.com> | |
2750 | |
2751 PR c++/51675 | |
2752 * semantics.c (cx_check_missing_mem_inits): Handle unions. | |
2753 Fix constexpr default constructor logic. | |
2754 | |
2755 PR c++/52035 | |
2756 * pt.c (tsubst): Strip uninstantiated typedef. | |
2757 | |
2758 2012-02-06 Jason Merrill <jason@redhat.com> | |
2759 | |
2760 PR c++/52088 | |
2761 * cvt.c (build_expr_type_conversion): Check for template conversion. | |
2762 | |
2763 2012-01-31 Jason Merrill <jason@redhat.com> | |
2764 | |
2765 PR c++/52043 | |
2766 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New. | |
2767 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it. | |
2768 (tsubst_pack_expansion): Check it. | |
2769 | |
2770 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com> | |
2771 | |
2772 PR c++/51327 | |
2773 * class.c (explain_non_literal_class): Correctly handle implicitly | |
2774 deleted constructors. | |
2775 | |
2776 2012-01-27 Jakub Jelinek <jakub@redhat.com> | |
2777 | |
2778 PR c++/51852 | |
2779 * pt.c (tsubst_pack_expansion): Delete and restore | |
2780 local_specialization whenever need_local_specialization, not just | |
2781 when saved_local_specializations is non-NULL. | |
2782 | |
2783 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com> | |
2784 | |
2785 PR c++/51370 | |
2786 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node | |
2787 as TREE_OPERAND (t, 1). | |
2788 | |
2789 2012-01-24 Jason Merrill <jason@redhat.com> | |
2790 | |
2791 PR c++/51917 | |
2792 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space. | |
2793 | |
2794 PR c++/51973 | |
2795 * tree.c (called_fns_equal): Check template args. | |
2796 (cp_tree_equal): Call it. | |
2797 | |
2798 2012-01-24 Aldy Hernandez <aldyh@redhat.com> | |
2799 Patrick Marlier <patrick.marlier@gmail.com> | |
2800 | |
2801 PR c++/51928 | |
2802 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of | |
2803 thunk for set_one_vmethod_tm_attributes. | |
2804 | |
2805 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com> | |
2806 | |
2807 PR c++/51223 | |
2808 * call.c (build_over_call): Check for error_mark_node as | |
2809 TREE_VALUE when default arguments are processed. | |
2810 | |
2811 2012-01-23 Jason Merrill <jason@redhat.com> | |
2812 | |
2813 PR c++/51930 | |
2814 * decl2.c (determine_visibility): Check for visibility attribute | |
2815 on template specialization. | |
2816 | |
2817 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com> | |
2818 | |
2819 PR c++/51398 | |
2820 * pt.c (parameter_of_template_p): Skip error_mark_node parameters. | |
2821 | |
2822 2012-01-23 Jason Merrill <jason@redhat.com> | |
2823 | |
2824 PR c++/51925 | |
2825 * class.c (add_method): Set OVL_USED for using-decls. | |
2826 * tree.c (ovl_scope): New. | |
2827 * cp-tree.h: Declare it. | |
2828 * parser.c (cp_parser_template_name): Use it. | |
2829 * semantics.c (baselink_for_fns): Likewise. | |
2830 * name-lookup.c (set_inherited_value_binding_p): Likewise. | |
2831 | |
2832 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com> | |
2833 | |
2834 PR c++/51402 | |
2835 * pt.c (lookup_template_class_1): Check context returned by | |
2836 tsubst for error_mark_node. | |
2837 | |
2838 2012-01-19 Kai Tietz <ktietz@redhat.com> | |
2839 | |
2840 PR c++/51344 | |
2841 * decl2.c (save_template_attributes): Use merge_attributes | |
2842 instead of chaining up via TREE_CHAIN. | |
2843 | |
2844 2012-01-19 Jason Merrill <jason@redhat.com> | |
2845 | |
2846 PR c++/51889 | |
2847 * class.c (finish_struct): Call add_method here for function usings. | |
2848 * semantics.c (finish_member_declaration): Not here. | |
2849 | |
2850 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com> | |
2851 | |
2852 PR c++/51225 | |
2853 * typeck2.c (store_init_value): Within a template guard | |
2854 cxx_constant_value with require_potential_constant_expression. | |
2855 * pt.c (convert_nontype_argument): Likewise. | |
2856 | |
2857 2012-01-16 Jakub Jelinek <jakub@redhat.com> | |
2858 | |
2859 PR c++/51854 | |
2860 * mangle.c (write_template_arg_literal): Handle complex. | |
2861 | |
2862 2012-01-16 Jason Merrill <jason@redhat.com> | |
2863 | |
2864 PR c++/51827 | |
2865 * mangle.c (mangle_decl): Don't mangle uninstantiated templates. | |
2866 | |
2867 PR c++/51868 | |
2868 * typeck.c (build_static_cast_1): Handle bit-fields properly. | |
2869 | |
2870 2012-01-13 Ian Lance Taylor <iant@google.com> | |
2871 | |
2872 PR c++/50012 | |
2873 * typeck.c (enum_cast_to_int): New static function. | |
2874 (cp_build_binary_op): When handling warn_sign_compare, don't test | |
2875 for TREE_NO_WARNING. Do call enum_cast_to_int. | |
2876 * call.c (avoid_sign_compare_warnings): Remove static function. | |
2877 (build_new_op_1): Don't call avoid_sign_compare_warnings. | |
2878 | |
2879 2012-01-13 Steven Bosscher <steven@gcc.gnu.org> | |
2880 | |
2881 * decl2.c: Do not include tree-mudflap.h | |
2882 * semantics.c: Likewise. | |
2883 | |
2884 2012-01-13 Jason Merrill <jason@redhat.com> | |
2885 | |
2886 PR c++/20681 | |
2887 * semantics.c (finish_break_stmt): Avoid adding an unreachable | |
2888 BREAK_STMT. | |
2889 | |
2890 PR c++/51813 | |
2891 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED | |
2892 when reducing the visibility. | |
2893 | |
2894 PR c++/51620 | |
2895 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual. | |
2896 | |
2897 2012-01-12 Jason Merrill <jason@redhat.com> | |
2898 | |
2899 PR c++/51714 | |
2900 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as | |
2901 value-dependent. | |
2902 | |
2903 2012-01-13 Dodji Seketeli <dodji@redhat.com> | |
2904 | |
2905 PR c++/51633 | |
2906 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body): | |
2907 Set the pointer to the last block of the constructor to the | |
2908 current statement. | |
2909 (build_constexpr_constructor_member_initializers): Get | |
2910 build_data_member_initialization a chance to deal with more | |
2911 statements before we choke. | |
2912 | |
2913 2012-01-12 Jason Merrill <jason@redhat.com> | |
2914 | |
2915 PR c++/48051 | |
2916 * mangle.c (write_expression): Mangle BASELINK scope if | |
2917 BASELINK_QUALIFIED_P. | |
2918 * search.c (adjust_result_of_qualified_name_lookup): Set | |
2919 BASELINK_QUALIFIED_P. | |
2920 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P. | |
2921 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call | |
2922 adjust_result_of_qualified_name_lookup for non-qualified names. | |
2923 | |
2924 PR c++/51403 | |
2925 * pt.c (unify): Handle error_mark_node. | |
2926 | |
2927 2012-01-11 Jason Merrill <jason@redhat.com> | |
2928 | |
2929 PR c++/51565 | |
2930 * call.c (standard_conversion): For ptrmemfuncs, compare the | |
2931 static_fn_types. | |
2932 | |
2933 PR c++/51818 | |
2934 * mangle.c (find_substitution): A type is only a substitution | |
2935 match if we're looking for a type. | |
2936 (write_nested_name): Use decl_mangling_context. | |
2937 | |
2938 * decl.c (decls_match): Assert that the arguments are decls. | |
2939 | |
2940 PR c++/51613 | |
2941 * pt.c (resolve_overloaded_unification): Compare types with | |
2942 same_type_p, not decls_match. | |
2943 | |
2944 2012-01-10 Jason Merrill <jason@redhat.com> | |
2945 | |
2946 PR c++/51614 | |
2947 * class.c (build_base_path): Diagnose ambiguous base. | |
2948 | |
2949 PR c++/51433 | |
2950 * semantics.c (cxx_eval_call_expression): Always retry previously | |
2951 non-constant expressions. | |
2952 | |
2953 2012-01-06 Jason Merrill <jason@redhat.com> | |
2954 | |
2955 DR 686 | |
2956 PR c++/47450 | |
2957 * parser.c (cp_parser_new_expression): Set | |
2958 type_definition_forbidden_message. | |
2959 | |
2960 PR c++/6057 | |
2961 PR c++/48051 | |
2962 PR c++/50855 | |
2963 PR c++/51322 | |
2964 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR, | |
2965 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and | |
2966 PREDECREMENT_EXPR. | |
2967 (write_template_arg): Fix mangling of class-scope functions and | |
2968 argument packs. | |
2969 (mangle_decl): Update suggested -fabi-version argument. | |
2970 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR, | |
2971 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR. | |
2972 * tree.c (dependent_name): No longer static. | |
2973 * cp-tree.h: Declare it. | |
2974 * pt.c (unify): Defer handling of unconverted functions. | |
2975 | |
2976 * mangle.c (mangle_decl): Don't generate mangling aliases | |
2977 for maybe-in-charge [cd]tors. | |
2978 | |
2979 * error.c (dump_expr): Print type of CONSTRUCTOR. | |
2980 | |
2981 2012-01-05 Dodji Seketeli <dodji@redhat.com> | |
2982 | |
2983 PR c++/51541 | |
2984 * parser.c (cp_parser_alias_declaration): Get out early upon | |
2985 errors in the identifier or the attributes. | |
2986 | |
2987 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com> | |
2988 | |
2989 PR c++/51064 | |
2990 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on | |
2991 the tree returned by build_x_binary_op. | |
2992 | |
2993 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com> | |
2994 | |
2995 PR c++/51738 | |
2996 * parser.c (cp_parser_postfix_open_square_expression): Handle | |
2997 postfix-expression [ braced-init-list ]. | |
2998 | |
2999 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com> | |
3000 | |
3001 PR c++/29273 | |
3002 * rtti.c (build_dynamic_cast_1): In case of T a pointer type, | |
3003 call decay_conversion on v. | |
3004 | |
3005 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com> | |
3006 | |
3007 PR c++/15867 | |
3008 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for | |
3009 declaration followed by specialization. | |
3010 | |
3011 2012-01-03 Jakub Jelinek <jakub@redhat.com> | |
3012 | |
3013 PR c++/51669 | |
3014 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr | |
3015 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR. | |
3016 | |
3017 2012-01-02 Jason Merrill <jason@redhat.com> | |
3018 | |
3019 DR 1359 | |
3020 PR c++/51675 | |
3021 * method.c (walk_field_subobs): Don't check for uninitialized | |
3022 fields in a union. | |
3023 (synthesized_method_walk): Check here. | |
3024 | |
3025 DR 325 | |
3026 PR c++/51666 | |
3027 * parser.c (cp_parser_cache_defarg): Split out... | |
3028 (cp_parser_parameter_declaration): ...from here. | |
3029 (cp_parser_save_nsdmi): Use it. | |
3030 (cp_parser_cache_group): Remove CPP_COMMA support. | |
3031 | |
3032 2012-01-02 Dodji Seketeli <dodji@redhat.com> | |
3033 | |
3034 PR c++/51462 | |
3035 * semantics.c (cx_check_missing_mem_inits): Don't assert in case | |
3036 of error. | |
3037 | |
3038 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com> | |
3039 | |
3040 PR c++/20140 | |
3041 * typeck2.c (digest_init_r): Use copy_init when initializing | |
3042 an array of chars. | |
3043 | |
3044 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com> | |
3045 | |
3046 PR c++/16603 | |
3047 * decl.c (build_enumerator): Don't call perform_integral_promotions | |
3048 on the value. | |
3049 | |
3050 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com> | |
3051 | |
3052 PR c++/51379 | |
3053 * typeck.c (build_reinterpret_cast_1): Implement resolution of | |
3054 DR 799. | |
3055 | |
3056 2012-01-01 Fabien Chêne <fabien@gcc.gnu.org> | |
3057 | |
3058 * parser.c (cp_parser_using_declaration): Add a warning about | |
3059 deprecated access declarations when no errors were encountered | |
3060 while parsing the access declaration. Save the first token in | |
3061 order to emit the warning at the right place. | |
3062 | |
3063 Copyright (C) 2012 Free Software Foundation, Inc. | |
3064 | |
3065 Copying and distribution of this file, with or without modification, | |
3066 are permitted in any medium without royalty provided the copyright | |
3067 notice and this notice are preserved. |