re PR c++/64085 (ICE on C++14 lambda by-reference capture with an initializer)
[platform/upstream/gcc.git] / gcc / cp / ChangeLog
1 2015-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
2
3         PR c++/64085
4         * lambda.c (add_capture): Use dependent_type_p for capture by
5         reference too.
6
7 2015-04-02  Marek Polacek  <polacek@redhat.com>
8
9         PR c++/65642
10         * constexpr.c (cxx_eval_pointer_plus_expression): Call
11         cxx_eval_constant_expression on the first operand.
12
13 2015-04-01  Jason Merrill  <jason@redhat.com>
14
15         PR c++/65625
16         * decl.c (make_typename_type): Handle seeing a variable template.
17
18 2015-04-01  Paolo Carlini  <paolo.carlini@oracle.com>
19
20         PR c++/56100
21         * pt.c (instantiating_current_function_p): New.
22         * name-lookup.c (pushdecl_maybe_friend_1): Use it.
23         * cp-tree.h (instantiating_current_function_p): Declare.
24
25 2015-04-01  Jason Merrill  <jason@redhat.com>
26
27         PR c++/65646
28         * decl.c (grokvardecl): Don't call check_explicit_specialization
29         for non-template members of a class template.
30
31 2015-04-01  Marek Polacek  <polacek@redhat.com>
32
33         PR c++/65554
34         * class.c (finish_struct): Require that the second field of a
35         user-defined initializer_list be of size type.
36
37 2015-03-31  Marek Polacek  <polacek@redhat.com>
38
39         PR c++/65390
40         * tree.c (build_cplus_array_type): Use dependent_type_p rather than
41         checking for constness.
42
43 2015-03-30  Marek Polacek  <polacek@redhat.com>
44
45         PR c++/65398
46         * constexpr.c (cxx_fold_indirect_ref): Don't perform the
47          *(&A[i] p+ j) => A[i + j] transformation here.
48         (cxx_eval_pointer_plus_expression): New function.
49         (cxx_eval_constant_expression): Use it here.
50
51 2015-03-27  Tobias Burnus  <burnus@net-b.de>
52
53         PR c/65586
54         * parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
55         cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target,
56         cp_parser_omp_declare): Don't show error for skipped omp pragmas with
57         -fopenmp-simd.
58
59 2015-03-27  Marek Polacek  <polacek@redhat.com>
60
61         PR c++/65556
62         * semantics.c (finish_switch_cond): If the unlowered type is not an
63         enum, use the type of the condition.
64
65 2015-03-27  Jason Merrill  <jason@redhat.com>
66
67         PR c++/65509
68         * decl.c (make_rtl_for_nonlocal_decl): Don't defer static
69         constants.
70
71 2015-03-26  Mikhail Maltsev  <maltsevm@gmail.com>
72
73         PR c++/65154
74         * init.c (build_vec_init): Fix initializing aggregates
75         with empty init list.
76
77 2015-03-26  Jason Merrill  <jason@redhat.com>
78
79         PR c++/65525
80         * constexpr.c (potential_constant_expression_1): Handle MEM_REF.
81
82 2015-03-25  Marek Polacek  <polacek@redhat.com>
83
84         PR c++/65558
85         * name-lookup.c (handle_namespace_attrs): Ignore abi_tag attribute
86         on an anonymous namespace.
87
88 2015-03-25  Marek Polacek  <polacek@redhat.com>
89
90         PR c++/61670
91         * class.c (remove_zero_width_bit_fields): Check for null DECL_SIZE.
92
93 2015-03-24  Jason Merrill  <jason@redhat.com>
94
95         PR c++/65046
96         * cp-tree.h (NAMESPACE_IS_INLINE): Remove.
97         * parser.c (cp_parser_namespace_definition): Don't set it.
98         * name-lookup.c (handle_namespace_attrs): Check
99         DECL_NAMESPACE_ASSOCIATIONS instead.
100
101         PR c++/65498
102         * pt.c (get_mostly_instantiated_function_type): Just return the
103         type of the partially instantiated template in DECL_TI_TEMPLATE.
104
105 2015-03-20  Marek Polacek  <polacek@redhat.com>
106
107         PR c++/65398
108         * constexpr.c (cxx_fold_indirect_ref): Transform *(&A[i] p+ j) into
109         A[i + j].
110
111 2015-03-20  Marek Polacek  <polacek@redhat.com>
112
113         PR c++/65072
114         * typeck.c (lookup_anon_field): Make sure we're dealing with the main
115         variant.
116
117 2015-03-19  Jason Merrill  <jason@redhat.com>
118
119         PR c++/65046
120         Automatically propagate ABI tags to variables and functions
121         from their (return) type.
122         * class.c (check_tag): Handle variables and functions.
123         (mark_or_check_attr_tags): Split out from find_abi_tags_r.
124         (mark_or_check_tags): Likewise.
125         (mark_abi_tags): Use it.  Rename from mark_type_abi_tags.
126         (check_abi_tags): Add single argument overload for decls.
127         Handle inheriting tags for decls.
128         * mangle.c (write_mangled_name): Call it.
129         (mangle_return_type_p): Split out from write_encoding.
130         (unmangled_name_p): Split out from write_mangled_name.
131         (write_mangled_name): Ignore abi_tag on namespace.
132         * cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG.
133         * parser.c (cp_parser_namespace_definition): Set it.
134         * name-lookup.c (handle_namespace_attrs): Use arguments. Warn
135         about abi_tag attribute on non-inline namespace.
136         * tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute.
137         (handle_abi_tag_attribute): Allow tags on variables.
138
139 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
140
141         * decl2.c (cplus_decl_attributes): Also add "omp declare target"
142         attribute for DECL_EXTERNAL VAR_DECLs.
143
144 2015-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
145
146         PR c++/65340
147         * call.c (build_over_call): Pass the tsubst_flags_t argument to
148         mark_used.
149         * decl2.c (mark_used): Inline the require_deduced_type call and
150         guard the error call.
151
152 2015-03-16  Jason Merrill  <jason@redhat.com>
153
154         PR c++/65061
155         * parser.c (cp_parser_template_name): Call strip_using_decl.
156
157 2015-03-16  Marek Polacek  <polacek@redhat.com>
158
159         DR 1688
160         PR c++/65327
161         * decl.c (grokdeclarator): Allow volatile and constexpr together.
162
163 2015-03-12  Paolo Carlini  <paolo.carlini@oracle.com>
164
165         PR c++/65323
166         * decl.c (check_default_argument): Don't call
167         maybe_warn_zero_as_null_pointer_constant.
168
169 2015-03-11  Aldy Hernandez  <aldyh@redhat.com>
170
171         * cp-gimplify.c (simple_empty_class_p): New.
172         * cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR.  Abstract
173         the code for empty class copies into simple_empty_class_p, and
174         adapt it to handle COMPOUND_EXPRs.
175
176 2015-03-10  Paolo Carlini  <paolo.carlini@oracle.com>
177
178         PR c++/65370
179         * decl.c (duplicate_decls): Call check_redeclaration_no_default_args
180         only if the location of newdecl doesn't match the location of olddecl.
181
182 2015-03-10  Jakub Jelinek  <jakub@redhat.com>
183
184         PR c++/65127
185         * parser.c (parsing_nsdmi): Don't return true if current_class_ptr
186         is not a PARM_DECL.
187
188 2015-03-10  Jason Merrill  <jason@redhat.com>
189
190         PR c++/65333
191         DR 1558
192         * pt.c (dependent_type_p_r): Check both class and alias template args.
193
194 2015-03-10  Jakub Jelinek  <jakub@redhat.com>
195
196         PR c/65120
197         * parser.c (cp_parser_binary_expression): Check for tcc_comparison
198         before preparing arguments to warn_logical_not_parentheses.
199         Use maybe_constant_value on rhs.
200
201 2015-03-09  Jason Merrill  <jason@redhat.com>
202
203         PR c++/65339
204         * call.c: Don't call maybe_resolve_dummy when calling a constructor.
205
206 2015-03-09  Jakub Jelinek  <jakub@redhat.com>
207
208         PR c/65120
209         * parser.c (cp_parser_binary_expression): Don't warn for
210         !!x == y or !b == y where b is bool.
211
212 2015-03-06  Aldy Hernandez  <aldyh@redhat.com>
213
214         * ptree.c (cxx_print_lambda_node): New.
215         (cxx_print_xnode): Handle LAMBDA_EXPR.
216
217 2015-03-03  Aldy Hernandez  <aldyh@redhat.com>
218
219         PR c++/65295
220         * constexpr.c (cxx_eval_constant_expression): Remove assert in
221         RESULT_DECL handling.
222
223 2015-02-26  Marek Polacek  <polacek@redhat.com>
224
225         PR c++/65202
226         * constexpr.c (cxx_eval_constant_expression): Don't evaluate
227         a RETURN_EXPR if its operand is null.
228
229 2015-02-25  Jason Merrill  <jason@redhat.com>
230
231         PR c++/65209
232         * decl2.c (constrain_visibility) [VISIBILITY_ANON]: Clear
233         DECL_COMDAT.
234         (constrain_visibility_for_template): Handle reference arguments.
235
236         PR debug/58315
237         * decl.c (start_preparsed_function): Use create_artificial_label
238         for cdtor_label.
239
240 2015-02-17  Paolo Carlini  <paolo.carlini@oracle.com>
241             Jakub Jelinek  <jakub@redhat.com>
242
243         PR c++/65075
244         * constexpr.c (check_constexpr_bind_expr_vars): Allow
245         implicit typedefs for lambda types.
246
247 2015-02-13  Paolo Carlini  <paolo.carlini@oracle.com>
248
249         PR c++/60894
250         * decl.c (lookup_and_check_tag): Use strip_using_decl.
251
252 2015-02-13  Jason Merrill  <jason@redhat.com>
253
254         PR c++/65054
255         * pt.c (template_args_equal): Look through conversions here.
256         * tree.c (cp_tree_equal): Not here.
257
258 2015-02-13  Paolo Carlini  <paolo.carlini@oracle.com>
259
260         PR c++/60211
261         * parser.c (cp_parser_pragma): Diagnose PRAGMA_IVDEP at
262         pragma_external context.
263
264 2015-02-13  Jason Merrill  <jason@redhat.com>
265
266         PR c++/65051
267         * call.c (reference_binding): Don't look for bad conversion
268         if TO is incomplete.
269
270 2015-02-13  Paolo Carlini  <paolo.carlini@oracle.com>
271
272         PR c++/64970
273         * decl.c (make_typename_type): Pass tsubst_flags_t argument
274         to lookup_template_class.
275
276 2015-02-13  Jakub Jelinek  <jakub@redhat.com>
277
278         PR ipa/65034
279         * decl.c (start_preparsed_function): Use void_type_node instead
280         of NULL_TREE as LABEL_DECL type.
281
282 2015-02-12  Jason Merrill  <jason@redhat.com>
283
284         PR c++/64898
285         * mangle.c (write_mangled_name): Fix test for variable template
286         instantiation.
287
288         * decl.c (begin_destructor_body): Condition clobber on
289         -flifetime-dse.
290
291 2015-02-12 Andrea Azzarone <azzaronea@gmail.com>
292
293         PR c++/64959
294         * parser.c (lookup_literal_operator): Return all candidates.
295         (cp_parser_userdef_char_literal): Simplify error handling.
296         (cp_parser_userdef_numeric_literal):  Pass tf_warning_or_error.
297         (cp_parser_userdef_string_literal): Pass tf_warning_or_error.
298         Also give higher priority to standard string UDL operator.
299
300 2015-02-12  Jakub Jelinek  <jakub@redhat.com>
301
302         PR debug/55541
303         * cp-tree.h (BLOCK_OUTER_CURLY_BRACE_P): Define.
304         * decl.c (poplevel): If functionbody, try not to create an extra
305         BLOCK for function body and use subblocks as that, if it is non-NULL
306         and doesn't have siblings.  Set BLOCK_OUTER_CURLY_BRACE_P flag.
307         (outer_curly_brace_block): Use BLOCK_OUTER_CURLY_BRACE_P flag.
308
309         PR sanitizer/64984
310         * except.c (check_noexcept_r): Return NULL for internal
311         calls.
312
313 2015-02-10  Jason Merrill  <jason@redhat.com>
314
315         PR c++/64994
316         * constexpr.c (cxx_eval_call_expression): Walk the clone list.
317
318 2015-02-10  Jan Hubicka  <hubicka@ucw.cz>
319
320         PR ipa/64982
321         * method.c (use_thunk): Do not check for stdarg thunks.
322
323 2015-02-06  Jason Merrill  <jason@redhat.com>
324
325         PR c++/64899
326         * init.c (build_vec_init): Handle default-initialized array with
327         constexpr default constructor.
328
329 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
330
331         PR c/64824
332         PR c/64868
333         * parser.c (cp_parser_omp_atomic): Handle RDIV_EXPR.
334
335 2015-02-03  Paolo Carlini  <paolo.carlini@oracle.com>
336
337         PR c++/64877
338         * typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings
339         for generated expressions.
340
341 2015-02-02  Ville Voutilainen  <ville.voutilainen@gmail.com>
342
343         PR c++/64901
344         * decl.c (duplicate_decls): Also duplicate DECL_FINAL_P and
345         DECL_OVERRIDE_P.
346
347 2015-02-02  Jason Merrill  <jason@redhat.com>
348
349         * tree.c (handle_abi_tag_attribute): Diagnose invalid arguments.
350
351 2015-01-30  Joseph Myers  <joseph@codesourcery.com>
352
353         * class.c, except.c, parser.c, pt.c: All callers of fatal_error
354         changed to pass input_location as first argument.
355
356 2015-01-29  Jakub Jelinek  <jakub@redhat.com>
357
358         PR c++/64717
359         * cp-ubsan.c (cp_ubsan_instrument_vptr): Don't wrap vptr
360         into SAVE_EXPR.
361
362 2015-01-29  Jason Merrill  <jason@redhat.com>
363
364         PR c++/49508
365         * semantics.c (finish_return_stmt): Suppress -Wreturn-type on
366         erroneous return statement.
367
368         PR c++/64521
369         * repo.c (repo_emit_p): It's OK for a clone to be extern at this
370         point.
371
372 2015-01-27  Caroline Tice  <cmtice@google.com>
373
374         Committing VTV Cywin/Ming patch for Patrick Wollgast
375         * vtable-class-hierarchy.cc (vtv_generate_init_routine): Add
376         check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks.
377
378 2015-01-27  Jason Merrill  <jason@redhat.com>
379
380         PR c++/58597
381         * lambda.c (maybe_add_lambda_conv_op): Check cfun rather than
382         current_function_decl.
383
384         PR c++/63889
385         * pt.c (finish_template_variable): Move from semantics.c.
386         Handle multiple template arg levels.  Handle coercion here.
387         (lookup_template_variable): Not here.
388
389 2015-01-23  Jason Merrill  <jason@redhat.com>
390
391         PR c++/64314
392         PR c++/57510
393         * typeck2.c (split_nonconstant_init_1): Remove a sub-CONSTRUCTOR
394         that has been completely split out.
395
396         PR c++/64701
397         * constexpr.c (cxx_eval_constant_expression): Don't crash on C++
398         statement codes.
399
400         PR c++/64727
401         * constexpr.c (cxx_eval_constant_expression): Allow for lvalue use
402         of CONST_DECL.
403
404 2015-01-21  Jason Merrill  <jason@redhat.com>
405
406         PR c++/64603
407         * constexpr.c (cxx_eval_constant_expression): Only shortcut
408         constant CONSTRUCTORs.
409
410         PR c++/64647
411         * constexpr.c (ensure_literal_type_for_constexpr_object): Don't
412         give a hard error in a template instantiation.
413
414 2015-01-21  Richard Biener  <rguenther@suse.de>
415
416         PR middle-end/64313
417         * decl.c (duplicate_decls): Call set_builtin_decl_declared_p
418         for builtins the user declared correctly.
419
420 2015-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
421
422         PR c++/58614
423         * pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle
424         TREE_TYPE (elt) == error_mark_node.
425
426 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
427
428         PR tree-optimization/62053
429         * tree.c (build_cplus_array_type): Layout type after variants are set.
430
431 2015-01-15  Jakub Jelinek  <jakub@redhat.com>
432
433         * cp-gimplify.c (cp_genericize_r): Call
434         cp_ubsan_maybe_instrument_member_call for member calls.
435         (cp_ubsan_check_member_access_r): New function.
436         (cp_genericize_tree): Call cp_ubsan_instrument_member_accesses.
437         * cp-tree.h (cp_ubsan_maybe_instrument_member_call,
438         cp_ubsan_instrument_member_accesses,
439         cp_ubsan_maybe_instrument_downcast,
440         cp_ubsan_maybe_instrument_cast_to_vbase): New prototypes.
441         * cp-ubsan.c: New file.
442         * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-ubsan.o.
443         * constexpr.c (cxx_eval_call_expression): Return void_node
444         for IFN_UBSAN_VPTR.
445         (potential_constant_expression_1): Return true for
446         UBSAN_NULL, UBSAN_BOUNDS and UBSAN_VPTR internal calls.
447         * typeck.c (build_class_member_access_expr): Provide locus
448         for COMPONENT_REFs.
449         (build_static_cast_1): Instrument downcasts.
450         * class.c (build_base_path): For -fsanitize=vptr and !fixed_type_p
451         add ubsan instrumentation for virtual_access.
452         * call.c: Include internal-fn.h.
453         (set_flags_from_callee): Handle internal calls.
454
455 2015-01-15  Momchil Velikov  <momchil.velikov@gmail.com>
456
457         PR c++/59366
458         * name-lookup.c (pushdecl_maybe_friend_1): Hide friend functions
459         and function templates, declared only in the class.
460         * decl.c (duplicate_decls): Reveal hidden friend functions or
461         function templates, if they are redeclared outside the class.
462
463 2015-01-15  Jason Merrill  <jason@redhat.com>
464
465         PR c++/64356
466         * constexpr.c (cxx_eval_binary_expression): Fix pasto.
467
468         PR c++/63283
469         * constexpr.c (potential_constant_expression_1): Handle reference
470         args in templates.
471
472 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
473             James Norris  <jnorris@codesourcery.com>
474             Cesar Philippidis  <cesar@codesourcery.com>
475             Ilmir Usmanov  <i.usmanov@samsung.com>
476             Jakub Jelinek  <jakub@redhat.com>
477
478         * parser.c: Include "gomp-constants.h".
479         (cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
480         omp_clause_map_kind.  Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
481         Use OMP_CLAUSE_SET_MAP_KIND.
482         (cp_parser_omp_construct, cp_parser_pragma): Handle
483         PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA,
484         PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL,
485         PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
486         (cp_parser_omp_clause_name): Handle "async", "copy", "copyout",
487         "create", "delete", "deviceptr", "host", "num_gangs",
488         "num_workers", "present", "present_or_copy", "pcopy",
489         "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
490         "present_or_create", "pcreate", "vector_length", "wait".
491         (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK)
492         (OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
493         (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
494         (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
495         (cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_.
496         (cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr)
497         (cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list)
498         (cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs)
499         (cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async)
500         (cp_parser_oacc_all_clauses, cp_parser_oacc_cache)
501         (cp_parser_oacc_data, cp_parser_oacc_enter_exit_data)
502         (cp_parser_oacc_kernels, cp_parser_oacc_loop)
503         (cp_parser_oacc_parallel, cp_parser_oacc_update)
504         (cp_parser_oacc_wait): New functions.
505         * cp-tree.h (finish_oacc_data, finish_oacc_kernels)
506         (finish_oacc_parallel): New prototypes.
507         * semantics.c: Include "gomp-constants.h".
508         (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR.  Use
509         GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.  Use
510         OMP_CLAUSE_SET_MAP_KIND.
511         (finish_omp_clauses): Handle OMP_CLAUSE_ASYNC,
512         OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_.
513         Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
514         (finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New
515         functions.
516
517 2015-01-14  Paolo Carlini  <paolo.carlini@oracle.com>
518
519         PR c++/58671
520         * decl2.c (var_defined_without_dynamic_init): Handle gracefully
521         self-initialization.
522
523 2015-01-13  Jason Merrill  <jason@redhat.com>
524
525         PR c++/64356
526         PR libstdc++/58777
527         * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
528         pointer expressions.
529         (cxx_eval_increment_expression): Likewise.
530
531         PR c++/64514
532         * pt.c (coerce_template_parameter_pack): Return NULL for a
533         zero-length fixed parameter pack with a pack expansion arg.
534
535         PR c++/64520
536         * pt.c (unify): Don't try to deduce to std::initializer_list<T...>.
537
538 2015-01-12  Jason Merrill  <jason@redhat.com>
539
540         PR c++/64547
541         * constexpr.c (cxx_eval_call_expression): A call to a void
542         function doesn't need to return a value.
543
544 2015-01-09  Michael Collison  <michael.collison@linaro.org>
545
546         * call.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
547         input.h, alias.h, symtab.h, options.h, fold-const.h,
548         wide-int.h, and inchash.h due to flattening of tree.h.
549         * class.c: Ditto.
550         * constexpr.c: Ditto.
551         * cp-array-notation.c: Ditto.
552         * cp-gimplify.c: Ditto.
553         * cp-lang.c: Ditto.
554         * cp-objcp-common.c: Ditto.
555         * cvt.c: Ditto.
556         * decl2.c: Ditto.
557         * decl.c: Ditto.
558         * dump.c: Ditto.
559         * error.c: Ditto.
560         * except.c: Ditto.
561         * expr.c: Ditto.
562         * friend.c: Ditto.
563         * init.c: Ditto.
564         * lambda.c: Ditto.
565         * lex.c: Ditto.
566         * mangle.c: Ditto.
567         * name-lookup.c: Ditto.
568         * optimize.c: Ditto.
569         * parser.c: Ditto.
570         * pt.c: Ditto.
571         * ptree.c: Ditto.
572         * repo.c: Ditto.
573         * rtti.c: Ditto.
574         * search.c: Ditto.
575         * semantics.c: Ditto.
576         * tree.c: Ditto.
577         * typeck2.c: Ditto.
578         * typeck.c: Ditto.
579
580 2015-01-08  Jason Merrill  <jason@redhat.com>
581
582         * cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function.
583         * decl.c (compute_array_index_type): Likewise.
584         * init.c (build_vec_init): Likewise.
585         * typeck.c (cp_build_binary_op): Likewise.
586
587 2015-01-08  Jason Merrill  <jason@redhat.com>
588
589         * init.c (build_vec_init): Call ubsan_instrument_bounds to check
590         whether an initializer-list is too big for a VLA.
591         (throw_bad_array_length): Remove.
592         * cp-tree.h: Remove prototype.
593
594 2015-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
595
596         PR c++/60753
597         * decl.c (grokfndecl): Add bool parameter.
598         (grokdeclarator): Adjust calls.
599         (start_decl): Don't set DECL_DELETED_FN here.
600
601 2015-01-06  Jason Merrill  <jason@redhat.com>
602
603         * parser.c (cp_parser_nested_name_specifier_opt): Diagnose invalid
604         template-ids.
605
606         PR c++/64455
607         * pt.c (type_dependent_expression_p): Handle variable templates.
608         * constexpr.c (potential_constant_expression_1): Use it.
609
610         PR c++/64487
611         * semantics.c (finish_offsetof): Handle templates here.
612         * parser.c (cp_parser_builtin_offsetof): Not here.
613
614         PR c++/64496
615         * semantics.c (process_outer_var_ref): Diagnose lambda in local
616         class NSDMI.
617
618 2015-01-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
619
620         PR c++/64489
621         * class.c (check_field_decls): Make copy assignment operators
622         complex only in c++98 mode.
623
624 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
625
626         PR c++/31397
627         * class.c (check_for_override): Warn when a virtual function is an
628         override not marked override.
629
630 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
631
632         * class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
633         hold base_fndecls.
634         (get_basefndecls): Adjust.
635
636 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
637
638         Update copyright years.
639
640 2015-01-05  Marek Polacek  <polacek@redhat.com>
641
642         PR c/64423
643         * typeck.c (cp_build_array_ref): Pass loc down to
644         warn_array_subscript_with_type_char.
645
646 \f
647 Copyright (C) 2015 Free Software Foundation, Inc.
648
649 Copying and distribution of this file, with or without modification,
650 are permitted in any medium without royalty provided the copyright
651 notice and this notice are preserved.