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