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