1 2019-01-11 Jason Merrill <jason@redhat.com>
3 PR c++/88312 - pack expansion of decltype.
4 * pt.c (instantiation_dependent_r): A template non-type parameter
5 pack is instantiation-dependent.
7 2019-01-11 Jason Merrill <jason@redhat.com>
9 PR c++/88613 - ICE with use of const var in lambda.
10 * expr.c (mark_use): Fix location wrapper handling.
11 * cp-gimplify.c (cp_fold_maybe_rvalue): Call mark_rvalue_use.
13 2019-01-11 Tobias Burnus <burnus@net-b.de>
16 * decl2.c (maybe_emit_vtables): If needed, generate code for
17 the destructor of an abstract class.
18 (mark_used): Update comment for older function-name change.
20 2019-01-11 Paolo Carlini <paolo.carlini@oracle.com>
22 * decl.c (start_decl): Improve error location.
23 (grokdeclarator): Likewise, improve two locations.
25 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
29 * cp-tree.h: Mechanically replace "can not" with "cannot".
33 2019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
35 * decl.c (grok_reference_init): Improve error location.
36 (grokdeclarator): Likewise, improve two locations.
38 2019-01-08 Marek Polacek <polacek@redhat.com>
40 PR c++/88538 - braced-init-list in template-argument-list.
41 * parser.c (cp_parser_template_argument): Handle braced-init-list when
44 PR c++/88548 - this accepted in static member functions.
45 * parser.c (cp_debug_parser): Adjust printing of
46 local_variables_forbidden_p.
47 (cp_parser_new): Set local_variables_forbidden_p to 0 rather than false.
48 (cp_parser_primary_expression): When checking
49 local_variables_forbidden_p, use THIS_FORBIDDEN or
51 (cp_parser_lambda_body): Update the type of
52 local_variables_forbidden_p. Set it to 0 rather than false.
53 (cp_parser_condition): Adjust call to cp_parser_declarator.
54 (cp_parser_explicit_instantiation): Likewise.
55 (cp_parser_init_declarator): Likewise.
56 (cp_parser_declarator): New parameter. Use it.
57 (cp_parser_direct_declarator): New parameter. Use it to set
58 local_variables_forbidden_p. Adjust call to cp_parser_declarator.
59 (cp_parser_type_id_1): Adjust call to cp_parser_declarator.
60 (cp_parser_parameter_declaration): Likewise.
61 (cp_parser_default_argument): Update the type of
62 local_variables_forbidden_p. Set it to LOCAL_VARS_AND_THIS_FORBIDDEN
64 (cp_parser_member_declaration): Tell cp_parser_declarator if we saw
66 (cp_parser_exception_declaration): Adjust call to cp_parser_declarator.
67 (cp_parser_late_parsing_default_args): Update the type of
68 local_variables_forbidden_p. Set it to LOCAL_VARS_AND_THIS_FORBIDDEN
70 (cp_parser_cache_defarg): Adjust call to cp_parser_declarator.
71 (cp_parser_objc_class_ivars): Likewise.
72 (cp_parser_objc_struct_declaration): Likewise.
73 (cp_parser_omp_for_loop_init): Likewise.
74 * parser.h (cp_parser): Change the type of local_variables_forbidden_p
76 (LOCAL_VARS_FORBIDDEN, LOCAL_VARS_AND_THIS_FORBIDDEN, THIS_FORBIDDEN):
79 2019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
81 * decl.c (start_decl): Improve permerror location.
83 2019-01-08 Jonathan Wakely <jwakely@redhat.com>
84 Jakub Jelinek <jakub@redhat.com>
87 * decl.c (finish_function): For -Wreturn-type don't add a return *this;
88 fixit hint if current_class_ref is NULL. Use a single if instead of
91 2019-01-07 Paolo Carlini <paolo.carlini@oracle.com>
93 * decl.c (start_decl): Improve two error_at locations.
94 (expand_static_init): Likewise.
96 2019-01-07 Marek Polacek <polacek@redhat.com>
98 PR c++/88741 - wrong error with initializer-string.
99 * decl.c (cp_complete_array_type): Strip any location wrappers.
101 2019-01-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
107 * cp-tree.h (LOOKUP_ALLOW_FLEXARRAY_INIT): New flag value.
108 * typeck2.c (digest_init_r): Raise an error for non-static
109 initialization of a flexible array member.
110 (process_init_constructor, massage_init_elt,
111 process_init_constructor_array, process_init_constructor_record,
112 process_init_constructor_union, process_init_constructor): Add the
113 flags parameter and pass it thru.
114 (store_init_value): Pass LOOKUP_ALLOW_FLEXARRAY_INIT parameter to
115 digest_init_flags for static decls.
117 2019-01-07 Jakub Jelinek <jakub@redhat.com>
120 * cp-tree.h (cp_build_vec_convert): Declare.
121 * parser.c (cp_parser_postfix_expression): Parse
122 __builtin_convertvector.
123 * constexpr.c: Include fold-const-call.h.
124 (cxx_eval_internal_function): Handle IFN_VEC_CONVERT.
125 (potential_constant_expression_1): Likewise.
126 * semantics.c (cp_build_vec_convert): New function.
127 * pt.c (tsubst_copy_and_build): Handle CALL_EXPR to
130 2019-01-03 Jakub Jelinek <jakub@redhat.com>
133 * decl.c (builtin_function_1): Return result of pushdecl_top_level
134 or pushdecl rather than decl.
136 2019-01-03 Paolo Carlini <paolo.carlini@oracle.com>
138 * tree.c (handle_nodiscard_attribute): Improve warning location.
140 2019-01-02 Marek Polacek <polacek@redhat.com>
142 PR c++/88612 - ICE with -Waddress-of-packed-member.
143 * call.c (convert_for_arg_passing): Only give warnings with tf_warning.
144 * typeck.c (convert_for_assignment): Likewise.
146 PR c++/88631 - CTAD failing for value-initialization.
147 * typeck2.c (build_functional_cast): Try deducing the template
148 arguments even if there are no arguments to deduce from.
150 2019-01-01 Jakub Jelinek <jakub@redhat.com>
152 Update copyright years.
154 Copyright (C) 2019 Free Software Foundation, Inc.
156 Copying and distribution of this file, with or without modification,
157 are permitted in any medium without royalty provided the copyright
158 notice and this notice are preserved.