]>
Commit | Line | Data |
---|---|---|
d9450aa0 GA |
1 | 2022-01-10 Patrick Palka <ppalka@redhat.com> |
2 | ||
3 | PR c++/103879 | |
4 | * constexpr.c (cxx_fold_indirect_ref): Split out object/offset | |
5 | canonicalization step into a local lambda. Strengthen it to | |
6 | absorb more components at position 0. Use it before both calls | |
7 | to cxx_fold_indirect_ref_1. | |
8 | ||
9 | 2022-01-10 Patrick Palka <ppalka@redhat.com> | |
10 | ||
11 | PR c++/103783 | |
12 | * call.c (cand_parms_match): Skip over 'this' when given one | |
13 | static and one non-static member function. | |
14 | ||
15 | 2022-01-10 Jakub Jelinek <jakub@redhat.com> | |
16 | ||
17 | PR c++/103912 | |
18 | * semantics.c (expand_or_defer_fn): For immediate functions, set | |
19 | node->body_removed to true and clear analyzed, definition and | |
20 | force_output. | |
21 | * decl2.c (c_parse_final_cleanups): Ignore immediate functions for | |
22 | expand_or_defer_fn. | |
23 | ||
2848ef14 GA |
24 | 2022-01-08 Jakub Jelinek <jakub@redhat.com> |
25 | ||
26 | PR c++/89074 | |
27 | * constexpr.c (cxx_maybe_fold_addr_pointer_plus): New function. | |
28 | (cxx_eval_binary_expression): Use it. | |
29 | ||
30 | 2022-01-08 Jason Merrill <jason@redhat.com> | |
31 | ||
32 | PR c++/103946 | |
33 | * init.c (build_vec_init): Remove assert. | |
34 | * tree.c (build_vec_init_expr): Likewise. | |
35 | ||
36 | 2022-01-08 Jason Merrill <jason@redhat.com> | |
37 | ||
38 | PR c++/100588 | |
39 | * call.c (build_op_delete_call): Ignore destroying delete | |
40 | if alloc_fn. | |
41 | ||
55e96bf9 GA |
42 | 2022-01-07 Jason Merrill <jason@redhat.com> |
43 | ||
44 | PR c++/20040 | |
45 | * init.c (build_new_1): Also build pointer cleanup if | |
46 | TYPE_GETS_DELETE. | |
47 | * cp-tree.h (TYPE_GETS_VEC_DELETE): New. | |
48 | ||
49 | 2022-01-07 Jason Merrill <jason@redhat.com> | |
50 | ||
51 | PR c++/103936 | |
52 | PR c++/65591 | |
53 | * cp-gimplify.c (cp_gimplify_expr): Restore VEC_INIT_EXPR handling. | |
54 | ||
55 | 2022-01-07 Jason Merrill <jason@redhat.com> | |
56 | ||
57 | PR c++/103711 | |
58 | * init.c (perform_target_ctor): Select destructor by in_chrg. | |
59 | ||
60 | 2022-01-07 Jason Merrill <jason@redhat.com> | |
61 | ||
62 | PR c++/61611 | |
63 | * except.c (in_nested_catch): New. | |
64 | (expand_end_catch_block): Check it. | |
65 | ||
66 | 2022-01-07 Jason Merrill <jason@redhat.com> | |
67 | ||
68 | PR c++/33799 | |
69 | PR c++/102191 | |
70 | * except.c (maybe_splice_retval_cleanup): Check | |
71 | current_binding_level. | |
72 | * semantics.c (do_poplevel): Call it here. | |
73 | * parser.c (cp_parser_compound_statement): Not here. | |
74 | ||
75 | 2022-01-07 Jason Merrill <jason@redhat.com> | |
76 | ||
77 | PR c++/53868 | |
78 | * decl.c (cp_finish_decl): Use wrap_temporary_cleanups for | |
79 | cleanups from set_up_extended_ref_temp. | |
80 | (wrap_temporary_cleanups): Ignore array cleanups. | |
81 | (initialize_local_var): Don't check for array here. | |
82 | * cp-tree.h (BIND_EXPR_VEC_DTOR): New. | |
83 | * init.c (build_vec_delete_1): Set it. | |
84 | ||
85 | 2022-01-07 Jason Merrill <jason@redhat.com> | |
86 | ||
87 | PR c++/66451 | |
88 | * init.c (build_vec_delete_1): Handle throwing dtor. | |
89 | (build_vec_init): Tell it we're in a cleanup already. | |
90 | ||
91 | 2022-01-07 Jason Merrill <jason@redhat.com> | |
92 | ||
93 | * typeck2.c (split_nonconstant_init_1): Don't cleanup the last elt. | |
94 | (split_nonconstant_init): Adjust. | |
95 | ||
96 | 2022-01-07 Jason Merrill <jason@redhat.com> | |
97 | ||
98 | PR c++/66139 | |
99 | PR c++/52320 | |
100 | * constexpr.c (replace_decl): Rename from replace_result_decl. | |
101 | * cp-tree.h (replace_decl): Declare it. | |
102 | * cp-gimplify.c (cp_gimplify_init_expr): Call it. | |
103 | (cp_gimplify_expr): Don't handle VEC_INIT_EXPR. | |
104 | (cp_genericize_init, cp_genericize_init_expr) | |
105 | (cp_genericize_target_expr): New. | |
106 | (cp_fold_r): Call them. | |
107 | * tree.c (build_array_copy): Add a TARGET_EXPR. | |
108 | * typeck2.c (digest_init_r): Look through a TARGET_EXPR. | |
109 | ||
110 | 2022-01-07 Jason Merrill <jason@redhat.com> | |
111 | ||
112 | PR c++/94041 | |
113 | * decl.c (initialize_local_var): Fix comment. | |
114 | * init.c (build_new_1): Do stabilize array init. | |
115 | (build_vec_init): Use TARGET_EXPR for cleanup. Initialization | |
116 | of an element from an explicit initializer is not a | |
117 | full-expression. | |
118 | * tree.c (expand_vec_init_expr): Pass flags through. | |
119 | * typeck2.c (split_nonconstant_init_1): Handle VEC_INIT_EXPR. | |
120 | (split_nonconstant_init): Handle array cleanups. | |
121 | * cp-tree.h: Adjust. | |
122 | ||
123 | 2022-01-07 Jason Merrill <jason@redhat.com> | |
124 | ||
125 | PR c++/94041 | |
126 | * decl.c (check_initializer): Remove obsolete comment. | |
127 | (wrap_cleanups_r): Don't wrap CLEANUP_EH_ONLY. | |
128 | (initialize_local_var): Change assert to test. | |
129 | * typeck2.c (maybe_push_temp_cleanup): New. | |
130 | (split_nonconstant_init_1): Use it. | |
131 | (split_nonconstant_init): Clear cleanup flags. | |
132 | ||
133 | 2022-01-07 Jason Merrill <jason@redhat.com> | |
134 | ||
135 | PR c++/92385 | |
136 | * typeck2.c (PICFLAG_VEC_INIT): New. | |
137 | (process_init_constructor_array): Set it. | |
138 | (process_init_constructor): Handle it. | |
139 | (split_nonconstant_init_1): Handle VEC_INIT_EXPR. | |
140 | * init.c (build_vec_init): Likewise. | |
141 | * cp-gimplify.c (cp_gimplify_expr): Factor out... | |
142 | * tree.c (expand_vec_init_expr): ...this function. | |
143 | (build_vec_init_elt): Handle BRACE_ENCLOSED_INITIALIZER_P. | |
144 | (build_vec_init_expr): Likewise. | |
145 | * constexpr.c (cxx_eval_vec_init): Likewise. | |
146 | (reduced_constant_expression_p): Check arrays before C++20. | |
147 | * cp-tree.h (expand_vec_init_expr): Declare. | |
148 | ||
149 | 2022-01-07 Jason Merrill <jason@redhat.com> | |
150 | ||
151 | * init.c (build_new_1): Remove preevaluation code. | |
152 | ||
0fbefa25 GA |
153 | 2022-01-05 Nathan Sidwell <nathan@acm.org> |
154 | ||
155 | * pt.c (instantiate_class_template_1): Process attribute((used)) set | |
156 | in class's context. | |
157 | ||
158 | 2022-01-05 Nathan Sidwell <nathan@acm.org> | |
159 | ||
160 | * init.c (build_new_1): Check complain before alignment warning. | |
161 | ||
7d11b64b GA |
162 | 2022-01-04 Jason Merrill <jason@redhat.com> |
163 | ||
164 | * cp-tree.h (class releasing_vec): Add begin/end fns. | |
165 | ||
166 | 2022-01-04 Jason Merrill <jason@redhat.com> | |
167 | ||
168 | * init.c: Include -*- C++ -*- on first line. | |
169 | ||
a4ae8c37 GA |
170 | 2022-01-03 Marek Polacek <polacek@redhat.com> |
171 | ||
172 | PR c++/103758 | |
173 | * parser.c (cp_parser_decl_specifier_seq): Replace %<decl-specifier%> | |
174 | with %qD. | |
175 | ||
176 | 2022-01-03 Marek Polacek <polacek@redhat.com> | |
177 | ||
178 | * parser.c (make_char_string_pack): Add a cast to const unsigned | |
179 | char *. | |
180 | ||
181 | 2022-01-03 Jakub Jelinek <jakub@redhat.com> | |
182 | ||
183 | PR c++/103600 | |
184 | * rtti.c (get_tinfo_decl_direct): Add "non overlapping" attribute | |
185 | to DECL_TINFO_P VAR_DECLs. | |
186 | ||
5da23a13 GA |
187 | 2022-01-02 Jason Merrill <jason@redhat.com> |
188 | ||
189 | * init.c (build_vec_init): Append the decrement to elt_init. | |
190 | ||
191 | 2022-01-02 Jason Merrill <jason@redhat.com> | |
192 | ||
193 | * decl.c (wrap_cleanups_r): Don't wrap if noexcept. | |
194 | ||
ad41bd84 | 195 | \f |
6123f29a | 196 | Copyright (C) 2022 Free Software Foundation, Inc. |
ad41bd84 JM |
197 | |
198 | Copying and distribution of this file, with or without modification, | |
199 | are permitted in any medium without royalty provided the copyright | |
200 | notice and this notice are preserved. |