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