]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/ChangeLog
Fix obj-c++.dg/encode-10.mm with cxx_dialect == cxx11.
[gcc.git] / gcc / cp / ChangeLog
CommitLineData
b8dd6913
JM
12015-05-05 Jason Merrill <jason@redhat.com>
2
81b6a6c5
JM
3 * constexpr.c (potential_constant_expression_1) [AT_ENCODE_EXPR]:
4 Return false.
5
32ad49af
JM
6 * semantics.c (finish_call_expr): Check complain.
7
15ed2619
JM
8 * decl2.c (reset_type_linkage_2): Update the DECL_NAME of a
9 maybe-in-charge constructor.
10
f8aa3dd3
JM
11 * decl.c (start_decl): Don't push the plain VAR_DECL for a
12 variable template.
13
b8dd6913
JM
14 DR 1518
15 DR 1630
16 PR c++/54835
17 PR c++/60417
18 * call.c (convert_like_real): Check value-initialization before
19 explicit.
20 * typeck2.c (process_init_constructor_record): Don't set
21 CONSTRUCTOR_IS_DIRECT_INIT.
22 (process_init_constructor_array): Likewise.
23 * init.c (build_vec_init): Likewise.
24
21c0a521
DM
252015-05-05 David Malcolm <dmalcolm@redhat.com>
26
27 * parser.c (cp_parser_asm_definition): Only test for
28 error_mark_node if "outputs" was just set. Likewise for "inputs".
29
f5322614
PC
302015-05-04 Paolo Carlini <paolo.carlini@oracle.com>
31 Jakub Jelinek <jakub@redhat.com>
32
33 PR c++/66007
34 * typeck2.c (check_narrowing): Check by-hand that the pedwarn didn't
35 result in an actual error.
36
38920aec
PC
372015-05-01 Paolo Carlini <paolo.carlini@oracle.com>
38 Prathamesh Kulharni <prathamesh.kulkarni@linaro.org>
39
40 PR c++/65858
41 * typeck2.c (check_narrowing): Set ok = true when pedwarn returns
42 false.
43
6f3d1a5e
DM
442015-04-30 David Malcolm <dmalcolm@redhat.com>
45
46 * cp-tree.h (ARGUMENT_PACK_SELECT_ARG): Remove spurious
47 trailing semicolon.
48
9f7fb685
JM
492015-04-29 Jason Merrill <jason@redhat.com>
50
51 PR c++/50800
52 * tree.c (apply_identity_attributes): Fix handling of classes.
53
b811915d
TS
542015-04-29 Thomas Schwinge <thomas@codesourcery.com>
55
56 * parser.c (cp_parser_oacc_enter_exit_data): Use
57 OMP_STANDALONE_CLAUSES.
58
0aa359c1
PC
592015-04-29 Paolo Carlini <paolo.carlini@oracle.com>
60
61 PR c++/64667
62 * init.c (perform_member_init): Handle references for -Winit-self.
63
2c8f0683
TS
642015-04-29 Thomas Schwinge <thomas@codesourcery.com>
65
66 * pt.c (tsubst_expr) <OMP_TARGET_UPDATE>: Use
67 OMP_TARGET_UPDATE_CLAUSES instead of OMP_CLAUSES.
68
7bfc5ada
JM
692015-04-28 Jason Merrill <jason@redhat.com>
70
3f8e2835
JM
71 PR c++/65896
72 * constexpr.c (cxx_eval_store_expression): Don't try to actually
73 store an empty class.
74
5756d0f9
JM
75 PR c++/65656
76 * constexpr.c (cxx_eval_builtin_function_call): Fix
77 __builtin_constant_p.
78
b71983a5
JM
79 PR c++/50800
80 * tree.c (strip_typedefs): Add remove_attributes parm.
81 (strip_typedefs_expr): Likewise.
82 (apply_identity_attributes): New subroutine of strip_typedefs.
83 * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
84 (convert_nontype_argument, unify): Likewise.
85 * cp-tree.h: Adjust.
86
7bfc5ada
JM
87 PR c++/65734
88 * class.c (fixup_attribute_variants): Respect TYPE_USER_ALIGN.
89
1d0275e2
TS
902015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
91
92 * class.c (layout_class_type): Remove check if
93 PCC_BITFIELD_TYPE_MATTERS is defined.
94
46bf0b0a
JW
952015-04-27 Jim Wilson <jim.wilson@linaro.org>
96
97 * Make-lang.in (c++.mostlyclean): Remove xg++, g++-cross, and cc1plus.
98
f8815f7a
JM
992015-04-24 Jason Merrill <jason@redhat.com>
100
c6f044f7
JM
101 PR c++/50800
102 * typeck.c (structural_comptypes): Don't check TYPE_REF_CAN_ALIAS_ALL.
103
f8815f7a
JM
104 * constexpr.c (potential_constant_expression_1) [MINUS_EXPR]:
105 Remove obsolete code.
106 [NE_EXPR]: Likewise.
107
6c283621
JM
1082015-04-23 Jason Merrill <jason@redhat.com>
109
110 PR c++/65646
111 * pt.c (check_explicit_specialization): Don't
112 SET_DECL_TEMPLATE_SPECIALIZATION for a variable with no template
113 headers.
114 * decl.c (grokvardecl): Revert earlier fix.
115
2821fc6b
PC
1162015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
117
118 PR c++/65801
119 * typeck2.c (check_narrowing): In C++11 mode too, -Wno-narrowing
120 suppresses the diagnostic.
121
0cfabb37
VV
1222015-04-20 Ville Voutilainen <ville.voutilainen@gmail.com>
123
124 Reject trailing return type for an operator auto().
125 * decl.c (grokdeclarator): Reject trailing return types for
126 all conversion operators, don't handle conversion operators
127 in the previous checks that deal with auto.
128
06aca1d5
IV
1292015-04-20 Ilya Verbin <ilya.verbin@intel.com>
130
131 * parser.c (cp_parser_omp_target_update): Add missed %> to error_at ().
132
988db853
PC
1332015-04-16 Paolo Carlini <paolo.carlini@oracle.com>
134
135 * class.c (resolve_address_of_overloaded_function, instantiate_type):
136 Rename tsubst_flags_t parameter flags -> complain.
137
9f635aba
PC
1382015-04-16 Paolo Carlini <paolo.carlini@oracle.com>
139
140 * call.c (build_op_delete_call, build_over_call): Check mark_used
141 return value.
142 * class.c (resolve_address_of_overloaded_function): Likewise.
143 * decl.c (cxx_maybe_build_cleanup): Likewise.
144 * pt.c (gen_elem_of_pack_expansion_instantiation, tsubst_baselink,
145 tsubst_qualified_id, tsubst_copy, tsubst_copy_and_build): Likewise.
146 * rtti.c (build_dynamic_cast_1): Likewise.
147 * semantics.c (process_outer_var_ref): Likewise.
148 * typeck.c (build_class_member_access_expr,
149 cp_build_function_call_vec, cp_build_addr_expr_1): Likewise.
150
bf5730d7
JM
1512015-04-15 Jason Merrill <jason@redhat.com>
152
58cc255c
JM
153 * constexpr.c (cxx_eval_store_expression): Ignore clobbers.
154 (build_constexpr_constructor_member_initializers): Loop to find
155 the BIND_EXPR.
156 * decl.c (start_preparsed_function): Clobber the object at the
157 beginning of a constructor.
158
efb5e817
JM
159 * decl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set.
160 * method.c (implicitly_declare_fn): Likewise.
161 * decl2.c (vague_linkage_p): Check TREE_PUBLIC first.
162
bf5730d7
JM
163 * decl2.c (determine_visibility): Use get_template_info.
164
5ce3039e
JM
1652015-04-15 Jason Merrill <jason@redhat.com>
166 Marek Polacek <polacek@redhat.com>
167
168 PR c++/65727
169 * lambda.c (lambda_expr_this_capture): In unevaluated context go
170 through the normal loop, just don't capture.
171 (maybe_resolve_dummy): Handle null return.
172
3a1351b9
PC
1732015-04-15 Paolo Carlini <paolo.carlini@oracle.com>
174
175 * call.c (enforce_access): Emit error + inform.
176
0567dcd2
MP
1772015-04-15 Marek Polacek <polacek@redhat.com>
178
179 * constexpr.c (use_new_call): Remove #define.
180 (lookup_parameter_binding): Remove function.
181 (cxx_bind_parameters_in_call): Remove unused code.
182 (cxx_eval_call_expression): Likewise.
183 (cxx_eval_constant_expression): Likewise.
184
182d115c
MM
1852015-04-14 Mikhail Maltsev <maltsevm@gmail.com>
186
187 * tree.c (replace_placeholders_t): Remove unused type.
188 (replace_placeholders): Remove unused pset.
189
0f19e7ad
JM
1902015-04-14 Jason Merrill <jason@redhat.com>
191
57c5e96e
JM
192 * pt.c (lookup_template_class_1): Use coerce_innermost_template_parms.
193
fb899e32
JM
194 PR c++/65695
195 * cvt.c (cp_fold_convert): Avoid wrapping PTRMEM_CST in NOP_EXPR.
196
0f19e7ad
JM
197 PR c++/65721
198 * name-lookup.c (do_class_using_decl): Complain about specifying
199 the current class even if there are dependent bases.
200
688e531e
DK
2012015-04-14 David Krauss <david_work@me.com>
202
203 PR c++/59766
204 * decl.c (grokdeclarator): Do not flag friends with deduced return.
205
2fd16d0f
MV
2062015-04-14 Momchil Velikov <momchil.velikov@gmail.com>
207 Jason Merrill <jason@redhat.com>
208
209 PR c++/60994
210 * parser.c (cp_parser_class_name): Add enum_ok parameter.
211 (cp_parser_qualifying_entity): Use it instead of cp_parser_type_name.
212 (cp_parser_diagnose_invalid_type_name): Don't assume a template is
213 a class template.
214
6338536c
JJ
2152015-04-12 Jakub Jelinek <jakub@redhat.com>
216
217 PR c++/65736
218 * constexpr.c (cxx_eval_pointer_plus_expression): Don't fold for VLAs,
219 don't fold if op01 isn't divisible by TYPE_SIZE_UNIT. Convert
220 the expression to the original type at the end.
221
00da5e28
JJ
2222015-04-09 Jakub Jelinek <jakub@redhat.com>
223
0212e31e
JJ
224 PR c++/65690
225 * tree.c (cp_build_qualified_type_real): Copy TYPE_ALIGN and
226 TYPE_USER_ALIGN.
227
00da5e28
JJ
228 PR c++/65690
229 * tree.c (build_cplus_array_type): Layout type before variants are
230 set, but copy over TYPE_SIZE and TYPE_SIZE_UNIT from the main
231 variant.
232
a3d94329
PC
2332015-04-03 Paolo Carlini <paolo.carlini@oracle.com>
234
235 PR c++/64085
236 * lambda.c (add_capture): Use dependent_type_p for capture by
237 reference too.
238
894bec68
MP
2392015-04-02 Marek Polacek <polacek@redhat.com>
240
241 PR c++/65642
242 * constexpr.c (cxx_eval_pointer_plus_expression): Call
243 cxx_eval_constant_expression on the first operand.
244
37978db4
JM
2452015-04-01 Jason Merrill <jason@redhat.com>
246
247 PR c++/65625
248 * decl.c (make_typename_type): Handle seeing a variable template.
249
c23a9ec5
PC
2502015-04-01 Paolo Carlini <paolo.carlini@oracle.com>
251
252 PR c++/56100
253 * pt.c (instantiating_current_function_p): New.
254 * name-lookup.c (pushdecl_maybe_friend_1): Use it.
255 * cp-tree.h (instantiating_current_function_p): Declare.
256
f87cb0b7
JM
2572015-04-01 Jason Merrill <jason@redhat.com>
258
259 PR c++/65646
260 * decl.c (grokvardecl): Don't call check_explicit_specialization
261 for non-template members of a class template.
262
14e51ef2
MP
2632015-04-01 Marek Polacek <polacek@redhat.com>
264
265 PR c++/65554
266 * class.c (finish_struct): Require that the second field of a
267 user-defined initializer_list be of size type.
268
397ad54d
MP
2692015-03-31 Marek Polacek <polacek@redhat.com>
270
271 PR c++/65390
272 * tree.c (build_cplus_array_type): Use dependent_type_p rather than
273 checking for constness.
274
ef4bac78
MP
2752015-03-30 Marek Polacek <polacek@redhat.com>
276
277 PR c++/65398
278 * constexpr.c (cxx_fold_indirect_ref): Don't perform the
279 *(&A[i] p+ j) => A[i + j] transformation here.
280 (cxx_eval_pointer_plus_expression): New function.
281 (cxx_eval_constant_expression): Use it here.
282
62021f64
TB
2832015-03-27 Tobias Burnus <burnus@net-b.de>
284
285 PR c/65586
286 * parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
287 cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target,
288 cp_parser_omp_declare): Don't show error for skipped omp pragmas with
289 -fopenmp-simd.
290
5964a3a6
MP
2912015-03-27 Marek Polacek <polacek@redhat.com>
292
293 PR c++/65556
294 * semantics.c (finish_switch_cond): If the unlowered type is not an
295 enum, use the type of the condition.
296
0b7dccc6
JM
2972015-03-27 Jason Merrill <jason@redhat.com>
298
299 PR c++/65509
300 * decl.c (make_rtl_for_nonlocal_decl): Don't defer static
301 constants.
302
08227658
MM
3032015-03-26 Mikhail Maltsev <maltsevm@gmail.com>
304
305 PR c++/65154
306 * init.c (build_vec_init): Fix initializing aggregates
307 with empty init list.
308
41b38772
JM
3092015-03-26 Jason Merrill <jason@redhat.com>
310
311 PR c++/65525
312 * constexpr.c (potential_constant_expression_1): Handle MEM_REF.
313
1cc57b59
MP
3142015-03-25 Marek Polacek <polacek@redhat.com>
315
316 PR c++/65558
317 * name-lookup.c (handle_namespace_attrs): Ignore abi_tag attribute
318 on an anonymous namespace.
319
2a924bb4
MP
3202015-03-25 Marek Polacek <polacek@redhat.com>
321
322 PR c++/61670
323 * class.c (remove_zero_width_bit_fields): Check for null DECL_SIZE.
324
4b7c558d
JM
3252015-03-24 Jason Merrill <jason@redhat.com>
326
a9f0423f
JM
327 PR c++/65046
328 * cp-tree.h (NAMESPACE_IS_INLINE): Remove.
329 * parser.c (cp_parser_namespace_definition): Don't set it.
330 * name-lookup.c (handle_namespace_attrs): Check
331 DECL_NAMESPACE_ASSOCIATIONS instead.
332
4b7c558d
JM
333 PR c++/65498
334 * pt.c (get_mostly_instantiated_function_type): Just return the
335 type of the partially instantiated template in DECL_TI_TEMPLATE.
336
f594abf4
MP
3372015-03-20 Marek Polacek <polacek@redhat.com>
338
339 PR c++/65398
340 * constexpr.c (cxx_fold_indirect_ref): Transform *(&A[i] p+ j) into
341 A[i + j].
342
b75cebc4
MP
3432015-03-20 Marek Polacek <polacek@redhat.com>
344
345 PR c++/65072
346 * typeck.c (lookup_anon_field): Make sure we're dealing with the main
347 variant.
348
7cb73573
JM
3492015-03-19 Jason Merrill <jason@redhat.com>
350
351 PR c++/65046
352 Automatically propagate ABI tags to variables and functions
353 from their (return) type.
354 * class.c (check_tag): Handle variables and functions.
355 (mark_or_check_attr_tags): Split out from find_abi_tags_r.
356 (mark_or_check_tags): Likewise.
357 (mark_abi_tags): Use it. Rename from mark_type_abi_tags.
358 (check_abi_tags): Add single argument overload for decls.
359 Handle inheriting tags for decls.
360 * mangle.c (write_mangled_name): Call it.
361 (mangle_return_type_p): Split out from write_encoding.
362 (unmangled_name_p): Split out from write_mangled_name.
363 (write_mangled_name): Ignore abi_tag on namespace.
364 * cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG.
365 * parser.c (cp_parser_namespace_definition): Set it.
366 * name-lookup.c (handle_namespace_attrs): Use arguments. Warn
367 about abi_tag attribute on non-inline namespace.
368 * tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute.
369 (handle_abi_tag_attribute): Allow tags on variables.
370
9b65e171
JJ
3712015-03-19 Jakub Jelinek <jakub@redhat.com>
372
373 * decl2.c (cplus_decl_attributes): Also add "omp declare target"
374 attribute for DECL_EXTERNAL VAR_DECLs.
375
41cee85a
PC
3762015-03-18 Paolo Carlini <paolo.carlini@oracle.com>
377
378 PR c++/65340
379 * call.c (build_over_call): Pass the tsubst_flags_t argument to
380 mark_used.
381 * decl2.c (mark_used): Inline the require_deduced_type call and
382 guard the error call.
383
3d17be83
JM
3842015-03-16 Jason Merrill <jason@redhat.com>
385
386 PR c++/65061
387 * parser.c (cp_parser_template_name): Call strip_using_decl.
388
ec638c55
MP
3892015-03-16 Marek Polacek <polacek@redhat.com>
390
391 DR 1688
392 PR c++/65327
393 * decl.c (grokdeclarator): Allow volatile and constexpr together.
394
b7e7f412
PC
3952015-03-12 Paolo Carlini <paolo.carlini@oracle.com>
396
397 PR c++/65323
398 * decl.c (check_default_argument): Don't call
399 maybe_warn_zero_as_null_pointer_constant.
400
25de0a29
AH
4012015-03-11 Aldy Hernandez <aldyh@redhat.com>
402
403 * cp-gimplify.c (simple_empty_class_p): New.
404 * cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR. Abstract
405 the code for empty class copies into simple_empty_class_p, and
406 adapt it to handle COMPOUND_EXPRs.
407
58cbf8d4
PC
4082015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
409
410 PR c++/65370
411 * decl.c (duplicate_decls): Call check_redeclaration_no_default_args
412 only if the location of newdecl doesn't match the location of olddecl.
413
704c7904
JJ
4142015-03-10 Jakub Jelinek <jakub@redhat.com>
415
416 PR c++/65127
417 * parser.c (parsing_nsdmi): Don't return true if current_class_ptr
418 is not a PARM_DECL.
419
a4d66d7d
JM
4202015-03-10 Jason Merrill <jason@redhat.com>
421
422 PR c++/65333
423 DR 1558
424 * pt.c (dependent_type_p_r): Check both class and alias template args.
425
7ccb1a11
JJ
4262015-03-10 Jakub Jelinek <jakub@redhat.com>
427
428 PR c/65120
429 * parser.c (cp_parser_binary_expression): Check for tcc_comparison
430 before preparing arguments to warn_logical_not_parentheses.
431 Use maybe_constant_value on rhs.
432
a2f259ef
JM
4332015-03-09 Jason Merrill <jason@redhat.com>
434
435 PR c++/65339
436 * call.c: Don't call maybe_resolve_dummy when calling a constructor.
437
01177669
JJ
4382015-03-09 Jakub Jelinek <jakub@redhat.com>
439
440 PR c/65120
441 * parser.c (cp_parser_binary_expression): Don't warn for
442 !!x == y or !b == y where b is bool.
443
a78cbe29
AH
4442015-03-06 Aldy Hernandez <aldyh@redhat.com>
445
446 * ptree.c (cxx_print_lambda_node): New.
447 (cxx_print_xnode): Handle LAMBDA_EXPR.
448
bf66b9b4
AH
4492015-03-03 Aldy Hernandez <aldyh@redhat.com>
450
451 PR c++/65295
452 * constexpr.c (cxx_eval_constant_expression): Remove assert in
453 RESULT_DECL handling.
454
75e0295b
MP
4552015-02-26 Marek Polacek <polacek@redhat.com>
456
457 PR c++/65202
458 * constexpr.c (cxx_eval_constant_expression): Don't evaluate
459 a RETURN_EXPR if its operand is null.
460
9b276dad
JM
4612015-02-25 Jason Merrill <jason@redhat.com>
462
2b8f9c8f
JM
463 PR c++/65209
464 * decl2.c (constrain_visibility) [VISIBILITY_ANON]: Clear
465 DECL_COMDAT.
466 (constrain_visibility_for_template): Handle reference arguments.
467
9b276dad
JM
468 PR debug/58315
469 * decl.c (start_preparsed_function): Use create_artificial_label
470 for cdtor_label.
471
4414e22e
PC
4722015-02-17 Paolo Carlini <paolo.carlini@oracle.com>
473 Jakub Jelinek <jakub@redhat.com>
474
475 PR c++/65075
476 * constexpr.c (check_constexpr_bind_expr_vars): Allow
477 implicit typedefs for lambda types.
478
6e4f01ff
PC
4792015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
480
481 PR c++/60894
482 * decl.c (lookup_and_check_tag): Use strip_using_decl.
483
ef796bef
JM
4842015-02-13 Jason Merrill <jason@redhat.com>
485
486 PR c++/65054
487 * pt.c (template_args_equal): Look through conversions here.
488 * tree.c (cp_tree_equal): Not here.
489
e84abfa4
PC
4902015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
491
492 PR c++/60211
493 * parser.c (cp_parser_pragma): Diagnose PRAGMA_IVDEP at
494 pragma_external context.
495
f9b600ba
JM
4962015-02-13 Jason Merrill <jason@redhat.com>
497
498 PR c++/65051
499 * call.c (reference_binding): Don't look for bad conversion
500 if TO is incomplete.
501
81adbcea
PC
5022015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
503
504 PR c++/64970
505 * decl.c (make_typename_type): Pass tsubst_flags_t argument
506 to lookup_template_class.
507
730f474b
JJ
5082015-02-13 Jakub Jelinek <jakub@redhat.com>
509
510 PR ipa/65034
511 * decl.c (start_preparsed_function): Use void_type_node instead
512 of NULL_TREE as LABEL_DECL type.
513
f522930c
JM
5142015-02-12 Jason Merrill <jason@redhat.com>
515
3b95b65c
JM
516 PR c++/64898
517 * mangle.c (write_mangled_name): Fix test for variable template
518 instantiation.
519
f522930c
JM
520 * decl.c (begin_destructor_body): Condition clobber on
521 -flifetime-dse.
522
bc81eb3f
AA
5232015-02-12 Andrea Azzarone <azzaronea@gmail.com>
524
525 PR c++/64959
526 * parser.c (lookup_literal_operator): Return all candidates.
527 (cp_parser_userdef_char_literal): Simplify error handling.
528 (cp_parser_userdef_numeric_literal): Pass tf_warning_or_error.
529 (cp_parser_userdef_string_literal): Pass tf_warning_or_error.
530 Also give higher priority to standard string UDL operator.
531
40595b8e
JJ
5322015-02-12 Jakub Jelinek <jakub@redhat.com>
533
12d0d358
JJ
534 PR debug/55541
535 * cp-tree.h (BLOCK_OUTER_CURLY_BRACE_P): Define.
536 * decl.c (poplevel): If functionbody, try not to create an extra
537 BLOCK for function body and use subblocks as that, if it is non-NULL
538 and doesn't have siblings. Set BLOCK_OUTER_CURLY_BRACE_P flag.
539 (outer_curly_brace_block): Use BLOCK_OUTER_CURLY_BRACE_P flag.
540
40595b8e
JJ
541 PR sanitizer/64984
542 * except.c (check_noexcept_r): Return NULL for internal
543 calls.
544
0ec052fe
JM
5452015-02-10 Jason Merrill <jason@redhat.com>
546
547 PR c++/64994
548 * constexpr.c (cxx_eval_call_expression): Walk the clone list.
549
d90cae08
JH
5502015-02-10 Jan Hubicka <hubicka@ucw.cz>
551
552 PR ipa/64982
553 * method.c (use_thunk): Do not check for stdarg thunks.
554
a02f26f6
JM
5552015-02-06 Jason Merrill <jason@redhat.com>
556
557 PR c++/64899
558 * init.c (build_vec_init): Handle default-initialized array with
559 constexpr default constructor.
560
4886ec8e
JJ
5612015-02-04 Jakub Jelinek <jakub@redhat.com>
562
563 PR c/64824
564 PR c/64868
565 * parser.c (cp_parser_omp_atomic): Handle RDIV_EXPR.
566
457d0ace
PC
5672015-02-03 Paolo Carlini <paolo.carlini@oracle.com>
568
569 PR c++/64877
570 * typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings
571 for generated expressions.
572
879887f1
VV
5732015-02-02 Ville Voutilainen <ville.voutilainen@gmail.com>
574
575 PR c++/64901
576 * decl.c (duplicate_decls): Also duplicate DECL_FINAL_P and
577 DECL_OVERRIDE_P.
578
4c5cf0b2
JM
5792015-02-02 Jason Merrill <jason@redhat.com>
580
581 * tree.c (handle_abi_tag_attribute): Diagnose invalid arguments.
582
40fecdd6
JM
5832015-01-30 Joseph Myers <joseph@codesourcery.com>
584
585 * class.c, except.c, parser.c, pt.c: All callers of fatal_error
586 changed to pass input_location as first argument.
587
a7c3e87e
JJ
5882015-01-29 Jakub Jelinek <jakub@redhat.com>
589
590 PR c++/64717
591 * cp-ubsan.c (cp_ubsan_instrument_vptr): Don't wrap vptr
592 into SAVE_EXPR.
593
e1ef8aa9
JM
5942015-01-29 Jason Merrill <jason@redhat.com>
595
3dbb8427
JM
596 PR c++/49508
597 * semantics.c (finish_return_stmt): Suppress -Wreturn-type on
598 erroneous return statement.
599
e1ef8aa9
JM
600 PR c++/64521
601 * repo.c (repo_emit_p): It's OK for a clone to be extern at this
602 point.
603
f7f049fa
CT
6042015-01-27 Caroline Tice <cmtice@google.com>
605
606 Committing VTV Cywin/Ming patch for Patrick Wollgast
607 * vtable-class-hierarchy.cc (vtv_generate_init_routine): Add
608 check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks.
609
94e54b8d
JM
6102015-01-27 Jason Merrill <jason@redhat.com>
611
2cc7f90b
JM
612 PR c++/58597
613 * lambda.c (maybe_add_lambda_conv_op): Check cfun rather than
614 current_function_decl.
615
94e54b8d
JM
616 PR c++/63889
617 * pt.c (finish_template_variable): Move from semantics.c.
618 Handle multiple template arg levels. Handle coercion here.
619 (lookup_template_variable): Not here.
620
7c83622c
JM
6212015-01-23 Jason Merrill <jason@redhat.com>
622
fa4e8db2
JM
623 PR c++/64314
624 PR c++/57510
625 * typeck2.c (split_nonconstant_init_1): Remove a sub-CONSTRUCTOR
626 that has been completely split out.
627
c6e7c499 628 PR c++/64701
8a7261b2
JM
629 * constexpr.c (cxx_eval_constant_expression): Don't crash on C++
630 statement codes.
c6e7c499 631
7c83622c
JM
632 PR c++/64727
633 * constexpr.c (cxx_eval_constant_expression): Allow for lvalue use
634 of CONST_DECL.
635
f1eac182
JM
6362015-01-21 Jason Merrill <jason@redhat.com>
637
b85a3242
JM
638 PR c++/64603
639 * constexpr.c (cxx_eval_constant_expression): Only shortcut
640 constant CONSTRUCTORs.
641
f1eac182
JM
642 PR c++/64647
643 * constexpr.c (ensure_literal_type_for_constexpr_object): Don't
644 give a hard error in a template instantiation.
645
cbf5d0e7
RB
6462015-01-21 Richard Biener <rguenther@suse.de>
647
648 PR middle-end/64313
649 * decl.c (duplicate_decls): Call set_builtin_decl_declared_p
650 for builtins the user declared correctly.
651
de37b21e
PC
6522015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
653
654 PR c++/58614
655 * pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle
656 TREE_TYPE (elt) == error_mark_node.
657
67933728
JH
6582015-01-15 Jan Hubicka <hubicka@ucw.cz>
659
660 PR tree-optimization/62053
661 * tree.c (build_cplus_array_type): Layout type after variants are set.
662
35228ac7
JJ
6632015-01-15 Jakub Jelinek <jakub@redhat.com>
664
665 * cp-gimplify.c (cp_genericize_r): Call
666 cp_ubsan_maybe_instrument_member_call for member calls.
667 (cp_ubsan_check_member_access_r): New function.
668 (cp_genericize_tree): Call cp_ubsan_instrument_member_accesses.
669 * cp-tree.h (cp_ubsan_maybe_instrument_member_call,
670 cp_ubsan_instrument_member_accesses,
671 cp_ubsan_maybe_instrument_downcast,
672 cp_ubsan_maybe_instrument_cast_to_vbase): New prototypes.
673 * cp-ubsan.c: New file.
674 * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-ubsan.o.
675 * constexpr.c (cxx_eval_call_expression): Return void_node
676 for IFN_UBSAN_VPTR.
677 (potential_constant_expression_1): Return true for
678 UBSAN_NULL, UBSAN_BOUNDS and UBSAN_VPTR internal calls.
679 * typeck.c (build_class_member_access_expr): Provide locus
680 for COMPONENT_REFs.
681 (build_static_cast_1): Instrument downcasts.
682 * class.c (build_base_path): For -fsanitize=vptr and !fixed_type_p
683 add ubsan instrumentation for virtual_access.
684 * call.c: Include internal-fn.h.
685 (set_flags_from_callee): Handle internal calls.
686
199b7a35
MV
6872015-01-15 Momchil Velikov <momchil.velikov@gmail.com>
688
689 PR c++/59366
690 * name-lookup.c (pushdecl_maybe_friend_1): Hide friend functions
691 and function templates, declared only in the class.
692 * decl.c (duplicate_decls): Reveal hidden friend functions or
693 function templates, if they are redeclared outside the class.
694
c3c29ba5
JM
6952015-01-15 Jason Merrill <jason@redhat.com>
696
134efa82
JM
697 PR c++/64356
698 * constexpr.c (cxx_eval_binary_expression): Fix pasto.
699
c3c29ba5
JM
700 PR c++/63283
701 * constexpr.c (potential_constant_expression_1): Handle reference
702 args in templates.
703
41dbbb37
TS
7042015-01-15 Thomas Schwinge <thomas@codesourcery.com>
705 James Norris <jnorris@codesourcery.com>
706 Cesar Philippidis <cesar@codesourcery.com>
707 Ilmir Usmanov <i.usmanov@samsung.com>
708 Jakub Jelinek <jakub@redhat.com>
709
710 * parser.c: Include "gomp-constants.h".
711 (cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
712 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
713 Use OMP_CLAUSE_SET_MAP_KIND.
714 (cp_parser_omp_construct, cp_parser_pragma): Handle
715 PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA,
716 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL,
717 PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
718 (cp_parser_omp_clause_name): Handle "async", "copy", "copyout",
719 "create", "delete", "deviceptr", "host", "num_gangs",
720 "num_workers", "present", "present_or_copy", "pcopy",
721 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
722 "present_or_create", "pcreate", "vector_length", "wait".
723 (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK)
724 (OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
725 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
726 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
727 (cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_.
728 (cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr)
729 (cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list)
730 (cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs)
731 (cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async)
732 (cp_parser_oacc_all_clauses, cp_parser_oacc_cache)
733 (cp_parser_oacc_data, cp_parser_oacc_enter_exit_data)
734 (cp_parser_oacc_kernels, cp_parser_oacc_loop)
735 (cp_parser_oacc_parallel, cp_parser_oacc_update)
736 (cp_parser_oacc_wait): New functions.
737 * cp-tree.h (finish_oacc_data, finish_oacc_kernels)
738 (finish_oacc_parallel): New prototypes.
739 * semantics.c: Include "gomp-constants.h".
740 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
741 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
742 OMP_CLAUSE_SET_MAP_KIND.
743 (finish_omp_clauses): Handle OMP_CLAUSE_ASYNC,
744 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_.
745 Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
746 (finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New
747 functions.
748
36b218ee
PC
7492015-01-14 Paolo Carlini <paolo.carlini@oracle.com>
750
751 PR c++/58671
752 * decl2.c (var_defined_without_dynamic_init): Handle gracefully
753 self-initialization.
754
8f413ae2
JM
7552015-01-13 Jason Merrill <jason@redhat.com>
756
caee690e
JM
757 PR c++/64356
758 PR libstdc++/58777
759 * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
760 pointer expressions.
761 (cxx_eval_increment_expression): Likewise.
762
7c368fb2
JM
763 PR c++/64514
764 * pt.c (coerce_template_parameter_pack): Return NULL for a
765 zero-length fixed parameter pack with a pack expansion arg.
766
8f413ae2
JM
767 PR c++/64520
768 * pt.c (unify): Don't try to deduce to std::initializer_list<T...>.
769
49c8bc0c
JM
7702015-01-12 Jason Merrill <jason@redhat.com>
771
772 PR c++/64547
773 * constexpr.c (cxx_eval_call_expression): A call to a void
774 function doesn't need to return a value.
775
adfac8df
JJ
7762015-01-09 Michael Collison <michael.collison@linaro.org>
777
778 * call.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
779 input.h, alias.h, symtab.h, options.h, fold-const.h,
780 wide-int.h, and inchash.h due to flattening of tree.h.
781 * class.c: Ditto.
782 * constexpr.c: Ditto.
783 * cp-array-notation.c: Ditto.
784 * cp-gimplify.c: Ditto.
785 * cp-lang.c: Ditto.
786 * cp-objcp-common.c: Ditto.
787 * cvt.c: Ditto.
788 * decl2.c: Ditto.
789 * decl.c: Ditto.
790 * dump.c: Ditto.
791 * error.c: Ditto.
792 * except.c: Ditto.
793 * expr.c: Ditto.
794 * friend.c: Ditto.
795 * init.c: Ditto.
796 * lambda.c: Ditto.
797 * lex.c: Ditto.
798 * mangle.c: Ditto.
799 * name-lookup.c: Ditto.
800 * optimize.c: Ditto.
801 * parser.c: Ditto.
802 * pt.c: Ditto.
803 * ptree.c: Ditto.
804 * repo.c: Ditto.
805 * rtti.c: Ditto.
806 * search.c: Ditto.
807 * semantics.c: Ditto.
808 * tree.c: Ditto.
809 * typeck2.c: Ditto.
810 * typeck.c: Ditto.
811
f5481fc4
JM
8122015-01-08 Jason Merrill <jason@redhat.com>
813
814 * cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function.
815 * decl.c (compute_array_index_type): Likewise.
816 * init.c (build_vec_init): Likewise.
817 * typeck.c (cp_build_binary_op): Likewise.
818
46621807
JM
8192015-01-08 Jason Merrill <jason@redhat.com>
820
821 * init.c (build_vec_init): Call ubsan_instrument_bounds to check
822 whether an initializer-list is too big for a VLA.
823 (throw_bad_array_length): Remove.
824 * cp-tree.h: Remove prototype.
825
247ecdf3
PC
8262015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
827
828 PR c++/60753
829 * decl.c (grokfndecl): Add bool parameter.
830 (grokdeclarator): Adjust calls.
831 (start_decl): Don't set DECL_DELETED_FN here.
832
47867b4f
JM
8332015-01-06 Jason Merrill <jason@redhat.com>
834
efcdb22f
JM
835 * parser.c (cp_parser_nested_name_specifier_opt): Diagnose invalid
836 template-ids.
837
c6a38536
JM
838 PR c++/64455
839 * pt.c (type_dependent_expression_p): Handle variable templates.
840 * constexpr.c (potential_constant_expression_1): Use it.
841
b433d944
JM
842 PR c++/64487
843 * semantics.c (finish_offsetof): Handle templates here.
844 * parser.c (cp_parser_builtin_offsetof): Not here.
845
47867b4f
JM
846 PR c++/64496
847 * semantics.c (process_outer_var_ref): Diagnose lambda in local
848 class NSDMI.
849
864822bd
VV
8502015-01-06 Ville Voutilainen <ville.voutilainen@gmail.com>
851
852 PR c++/64489
853 * class.c (check_field_decls): Make copy assignment operators
854 complex only in c++98 mode.
855
2f42e5de
TS
8562015-01-05 Trevor Saunders <tsaunders@mozilla.com>
857
858 PR c++/31397
859 * class.c (check_for_override): Warn when a virtual function is an
860 override not marked override.
861
86cfdb4e
TS
8622015-01-05 Trevor Saunders <tsaunders@mozilla.com>
863
864 * class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
865 hold base_fndecls.
866 (get_basefndecls): Adjust.
867
5624e564
JJ
8682015-01-05 Jakub Jelinek <jakub@redhat.com>
869
870 Update copyright years.
871
5bd012f8
MP
8722015-01-05 Marek Polacek <polacek@redhat.com>
873
874 PR c/64423
875 * typeck.c (cp_build_array_ref): Pass loc down to
876 warn_array_subscript_with_type_char.
877
ad41bd84 878\f
5624e564 879Copyright (C) 2015 Free Software Foundation, Inc.
ad41bd84
JM
880
881Copying and distribution of this file, with or without modification,
882are permitted in any medium without royalty provided the copyright
883notice and this notice are preserved.
This page took 1.780532 seconds and 5 git commands to generate.