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