]>
Commit | Line | Data |
---|---|---|
b8dd6913 JM |
1 | 2015-05-05 Jason Merrill <jason@redhat.com> |
2 | ||
81b6a6c5 JM |
3 | * constexpr.c (potential_constant_expression_1) [AT_ENCODE_EXPR]: |
4 | Return false. | |
5 | ||
32ad49af JM |
6 | * semantics.c (finish_call_expr): Check complain. |
7 | ||
15ed2619 JM |
8 | * decl2.c (reset_type_linkage_2): Update the DECL_NAME of a |
9 | maybe-in-charge constructor. | |
10 | ||
f8aa3dd3 JM |
11 | * decl.c (start_decl): Don't push the plain VAR_DECL for a |
12 | variable template. | |
13 | ||
b8dd6913 JM |
14 | DR 1518 |
15 | DR 1630 | |
16 | PR c++/54835 | |
17 | PR c++/60417 | |
18 | * call.c (convert_like_real): Check value-initialization before | |
19 | explicit. | |
20 | * typeck2.c (process_init_constructor_record): Don't set | |
21 | CONSTRUCTOR_IS_DIRECT_INIT. | |
22 | (process_init_constructor_array): Likewise. | |
23 | * init.c (build_vec_init): Likewise. | |
24 | ||
21c0a521 DM |
25 | 2015-05-05 David Malcolm <dmalcolm@redhat.com> |
26 | ||
27 | * parser.c (cp_parser_asm_definition): Only test for | |
28 | error_mark_node if "outputs" was just set. Likewise for "inputs". | |
29 | ||
f5322614 PC |
30 | 2015-05-04 Paolo Carlini <paolo.carlini@oracle.com> |
31 | Jakub Jelinek <jakub@redhat.com> | |
32 | ||
33 | PR c++/66007 | |
34 | * typeck2.c (check_narrowing): Check by-hand that the pedwarn didn't | |
35 | result in an actual error. | |
36 | ||
38920aec PC |
37 | 2015-05-01 Paolo Carlini <paolo.carlini@oracle.com> |
38 | Prathamesh Kulharni <prathamesh.kulkarni@linaro.org> | |
39 | ||
40 | PR c++/65858 | |
41 | * typeck2.c (check_narrowing): Set ok = true when pedwarn returns | |
42 | false. | |
43 | ||
6f3d1a5e DM |
44 | 2015-04-30 David Malcolm <dmalcolm@redhat.com> |
45 | ||
46 | * cp-tree.h (ARGUMENT_PACK_SELECT_ARG): Remove spurious | |
47 | trailing semicolon. | |
48 | ||
9f7fb685 JM |
49 | 2015-04-29 Jason Merrill <jason@redhat.com> |
50 | ||
51 | PR c++/50800 | |
52 | * tree.c (apply_identity_attributes): Fix handling of classes. | |
53 | ||
b811915d TS |
54 | 2015-04-29 Thomas Schwinge <thomas@codesourcery.com> |
55 | ||
56 | * parser.c (cp_parser_oacc_enter_exit_data): Use | |
57 | OMP_STANDALONE_CLAUSES. | |
58 | ||
0aa359c1 PC |
59 | 2015-04-29 Paolo Carlini <paolo.carlini@oracle.com> |
60 | ||
61 | PR c++/64667 | |
62 | * init.c (perform_member_init): Handle references for -Winit-self. | |
63 | ||
2c8f0683 TS |
64 | 2015-04-29 Thomas Schwinge <thomas@codesourcery.com> |
65 | ||
66 | * pt.c (tsubst_expr) <OMP_TARGET_UPDATE>: Use | |
67 | OMP_TARGET_UPDATE_CLAUSES instead of OMP_CLAUSES. | |
68 | ||
7bfc5ada JM |
69 | 2015-04-28 Jason Merrill <jason@redhat.com> |
70 | ||
3f8e2835 JM |
71 | PR c++/65896 |
72 | * constexpr.c (cxx_eval_store_expression): Don't try to actually | |
73 | store an empty class. | |
74 | ||
5756d0f9 JM |
75 | PR c++/65656 |
76 | * constexpr.c (cxx_eval_builtin_function_call): Fix | |
77 | __builtin_constant_p. | |
78 | ||
b71983a5 JM |
79 | PR c++/50800 |
80 | * tree.c (strip_typedefs): Add remove_attributes parm. | |
81 | (strip_typedefs_expr): Likewise. | |
82 | (apply_identity_attributes): New subroutine of strip_typedefs. | |
83 | * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs. | |
84 | (convert_nontype_argument, unify): Likewise. | |
85 | * cp-tree.h: Adjust. | |
86 | ||
7bfc5ada JM |
87 | PR c++/65734 |
88 | * class.c (fixup_attribute_variants): Respect TYPE_USER_ALIGN. | |
89 | ||
1d0275e2 TS |
90 | 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> |
91 | ||
92 | * class.c (layout_class_type): Remove check if | |
93 | PCC_BITFIELD_TYPE_MATTERS is defined. | |
94 | ||
46bf0b0a JW |
95 | 2015-04-27 Jim Wilson <jim.wilson@linaro.org> |
96 | ||
97 | * Make-lang.in (c++.mostlyclean): Remove xg++, g++-cross, and cc1plus. | |
98 | ||
f8815f7a JM |
99 | 2015-04-24 Jason Merrill <jason@redhat.com> |
100 | ||
c6f044f7 JM |
101 | PR c++/50800 |
102 | * typeck.c (structural_comptypes): Don't check TYPE_REF_CAN_ALIAS_ALL. | |
103 | ||
f8815f7a JM |
104 | * constexpr.c (potential_constant_expression_1) [MINUS_EXPR]: |
105 | Remove obsolete code. | |
106 | [NE_EXPR]: Likewise. | |
107 | ||
6c283621 JM |
108 | 2015-04-23 Jason Merrill <jason@redhat.com> |
109 | ||
110 | PR c++/65646 | |
111 | * pt.c (check_explicit_specialization): Don't | |
112 | SET_DECL_TEMPLATE_SPECIALIZATION for a variable with no template | |
113 | headers. | |
114 | * decl.c (grokvardecl): Revert earlier fix. | |
115 | ||
2821fc6b PC |
116 | 2015-04-20 Paolo Carlini <paolo.carlini@oracle.com> |
117 | ||
118 | PR c++/65801 | |
119 | * typeck2.c (check_narrowing): In C++11 mode too, -Wno-narrowing | |
120 | suppresses the diagnostic. | |
121 | ||
0cfabb37 VV |
122 | 2015-04-20 Ville Voutilainen <ville.voutilainen@gmail.com> |
123 | ||
124 | Reject trailing return type for an operator auto(). | |
125 | * decl.c (grokdeclarator): Reject trailing return types for | |
126 | all conversion operators, don't handle conversion operators | |
127 | in the previous checks that deal with auto. | |
128 | ||
06aca1d5 IV |
129 | 2015-04-20 Ilya Verbin <ilya.verbin@intel.com> |
130 | ||
131 | * parser.c (cp_parser_omp_target_update): Add missed %> to error_at (). | |
132 | ||
988db853 PC |
133 | 2015-04-16 Paolo Carlini <paolo.carlini@oracle.com> |
134 | ||
135 | * class.c (resolve_address_of_overloaded_function, instantiate_type): | |
136 | Rename tsubst_flags_t parameter flags -> complain. | |
137 | ||
9f635aba PC |
138 | 2015-04-16 Paolo Carlini <paolo.carlini@oracle.com> |
139 | ||
140 | * call.c (build_op_delete_call, build_over_call): Check mark_used | |
141 | return value. | |
142 | * class.c (resolve_address_of_overloaded_function): Likewise. | |
143 | * decl.c (cxx_maybe_build_cleanup): Likewise. | |
144 | * pt.c (gen_elem_of_pack_expansion_instantiation, tsubst_baselink, | |
145 | tsubst_qualified_id, tsubst_copy, tsubst_copy_and_build): Likewise. | |
146 | * rtti.c (build_dynamic_cast_1): Likewise. | |
147 | * semantics.c (process_outer_var_ref): Likewise. | |
148 | * typeck.c (build_class_member_access_expr, | |
149 | cp_build_function_call_vec, cp_build_addr_expr_1): Likewise. | |
150 | ||
bf5730d7 JM |
151 | 2015-04-15 Jason Merrill <jason@redhat.com> |
152 | ||
58cc255c JM |
153 | * constexpr.c (cxx_eval_store_expression): Ignore clobbers. |
154 | (build_constexpr_constructor_member_initializers): Loop to find | |
155 | the BIND_EXPR. | |
156 | * decl.c (start_preparsed_function): Clobber the object at the | |
157 | beginning of a constructor. | |
158 | ||
efb5e817 JM |
159 | * decl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set. |
160 | * method.c (implicitly_declare_fn): Likewise. | |
161 | * decl2.c (vague_linkage_p): Check TREE_PUBLIC first. | |
162 | ||
bf5730d7 JM |
163 | * decl2.c (determine_visibility): Use get_template_info. |
164 | ||
5ce3039e JM |
165 | 2015-04-15 Jason Merrill <jason@redhat.com> |
166 | Marek Polacek <polacek@redhat.com> | |
167 | ||
168 | PR c++/65727 | |
169 | * lambda.c (lambda_expr_this_capture): In unevaluated context go | |
170 | through the normal loop, just don't capture. | |
171 | (maybe_resolve_dummy): Handle null return. | |
172 | ||
3a1351b9 PC |
173 | 2015-04-15 Paolo Carlini <paolo.carlini@oracle.com> |
174 | ||
175 | * call.c (enforce_access): Emit error + inform. | |
176 | ||
0567dcd2 MP |
177 | 2015-04-15 Marek Polacek <polacek@redhat.com> |
178 | ||
179 | * constexpr.c (use_new_call): Remove #define. | |
180 | (lookup_parameter_binding): Remove function. | |
181 | (cxx_bind_parameters_in_call): Remove unused code. | |
182 | (cxx_eval_call_expression): Likewise. | |
183 | (cxx_eval_constant_expression): Likewise. | |
184 | ||
182d115c MM |
185 | 2015-04-14 Mikhail Maltsev <maltsevm@gmail.com> |
186 | ||
187 | * tree.c (replace_placeholders_t): Remove unused type. | |
188 | (replace_placeholders): Remove unused pset. | |
189 | ||
0f19e7ad JM |
190 | 2015-04-14 Jason Merrill <jason@redhat.com> |
191 | ||
57c5e96e JM |
192 | * pt.c (lookup_template_class_1): Use coerce_innermost_template_parms. |
193 | ||
fb899e32 JM |
194 | PR c++/65695 |
195 | * cvt.c (cp_fold_convert): Avoid wrapping PTRMEM_CST in NOP_EXPR. | |
196 | ||
0f19e7ad JM |
197 | PR c++/65721 |
198 | * name-lookup.c (do_class_using_decl): Complain about specifying | |
199 | the current class even if there are dependent bases. | |
200 | ||
688e531e DK |
201 | 2015-04-14 David Krauss <david_work@me.com> |
202 | ||
203 | PR c++/59766 | |
204 | * decl.c (grokdeclarator): Do not flag friends with deduced return. | |
205 | ||
2fd16d0f MV |
206 | 2015-04-14 Momchil Velikov <momchil.velikov@gmail.com> |
207 | Jason Merrill <jason@redhat.com> | |
208 | ||
209 | PR c++/60994 | |
210 | * parser.c (cp_parser_class_name): Add enum_ok parameter. | |
211 | (cp_parser_qualifying_entity): Use it instead of cp_parser_type_name. | |
212 | (cp_parser_diagnose_invalid_type_name): Don't assume a template is | |
213 | a class template. | |
214 | ||
6338536c JJ |
215 | 2015-04-12 Jakub Jelinek <jakub@redhat.com> |
216 | ||
217 | PR c++/65736 | |
218 | * constexpr.c (cxx_eval_pointer_plus_expression): Don't fold for VLAs, | |
219 | don't fold if op01 isn't divisible by TYPE_SIZE_UNIT. Convert | |
220 | the expression to the original type at the end. | |
221 | ||
00da5e28 JJ |
222 | 2015-04-09 Jakub Jelinek <jakub@redhat.com> |
223 | ||
0212e31e JJ |
224 | PR c++/65690 |
225 | * tree.c (cp_build_qualified_type_real): Copy TYPE_ALIGN and | |
226 | TYPE_USER_ALIGN. | |
227 | ||
00da5e28 JJ |
228 | PR c++/65690 |
229 | * tree.c (build_cplus_array_type): Layout type before variants are | |
230 | set, but copy over TYPE_SIZE and TYPE_SIZE_UNIT from the main | |
231 | variant. | |
232 | ||
a3d94329 PC |
233 | 2015-04-03 Paolo Carlini <paolo.carlini@oracle.com> |
234 | ||
235 | PR c++/64085 | |
236 | * lambda.c (add_capture): Use dependent_type_p for capture by | |
237 | reference too. | |
238 | ||
894bec68 MP |
239 | 2015-04-02 Marek Polacek <polacek@redhat.com> |
240 | ||
241 | PR c++/65642 | |
242 | * constexpr.c (cxx_eval_pointer_plus_expression): Call | |
243 | cxx_eval_constant_expression on the first operand. | |
244 | ||
37978db4 JM |
245 | 2015-04-01 Jason Merrill <jason@redhat.com> |
246 | ||
247 | PR c++/65625 | |
248 | * decl.c (make_typename_type): Handle seeing a variable template. | |
249 | ||
c23a9ec5 PC |
250 | 2015-04-01 Paolo Carlini <paolo.carlini@oracle.com> |
251 | ||
252 | PR c++/56100 | |
253 | * pt.c (instantiating_current_function_p): New. | |
254 | * name-lookup.c (pushdecl_maybe_friend_1): Use it. | |
255 | * cp-tree.h (instantiating_current_function_p): Declare. | |
256 | ||
f87cb0b7 JM |
257 | 2015-04-01 Jason Merrill <jason@redhat.com> |
258 | ||
259 | PR c++/65646 | |
260 | * decl.c (grokvardecl): Don't call check_explicit_specialization | |
261 | for non-template members of a class template. | |
262 | ||
14e51ef2 MP |
263 | 2015-04-01 Marek Polacek <polacek@redhat.com> |
264 | ||
265 | PR c++/65554 | |
266 | * class.c (finish_struct): Require that the second field of a | |
267 | user-defined initializer_list be of size type. | |
268 | ||
397ad54d MP |
269 | 2015-03-31 Marek Polacek <polacek@redhat.com> |
270 | ||
271 | PR c++/65390 | |
272 | * tree.c (build_cplus_array_type): Use dependent_type_p rather than | |
273 | checking for constness. | |
274 | ||
ef4bac78 MP |
275 | 2015-03-30 Marek Polacek <polacek@redhat.com> |
276 | ||
277 | PR c++/65398 | |
278 | * constexpr.c (cxx_fold_indirect_ref): Don't perform the | |
279 | *(&A[i] p+ j) => A[i + j] transformation here. | |
280 | (cxx_eval_pointer_plus_expression): New function. | |
281 | (cxx_eval_constant_expression): Use it here. | |
282 | ||
62021f64 TB |
283 | 2015-03-27 Tobias Burnus <burnus@net-b.de> |
284 | ||
285 | PR c/65586 | |
286 | * parser.c (cp_parser_omp_for, cp_parser_omp_parallel, | |
287 | cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target, | |
288 | cp_parser_omp_declare): Don't show error for skipped omp pragmas with | |
289 | -fopenmp-simd. | |
290 | ||
5964a3a6 MP |
291 | 2015-03-27 Marek Polacek <polacek@redhat.com> |
292 | ||
293 | PR c++/65556 | |
294 | * semantics.c (finish_switch_cond): If the unlowered type is not an | |
295 | enum, use the type of the condition. | |
296 | ||
0b7dccc6 JM |
297 | 2015-03-27 Jason Merrill <jason@redhat.com> |
298 | ||
299 | PR c++/65509 | |
300 | * decl.c (make_rtl_for_nonlocal_decl): Don't defer static | |
301 | constants. | |
302 | ||
08227658 MM |
303 | 2015-03-26 Mikhail Maltsev <maltsevm@gmail.com> |
304 | ||
305 | PR c++/65154 | |
306 | * init.c (build_vec_init): Fix initializing aggregates | |
307 | with empty init list. | |
308 | ||
41b38772 JM |
309 | 2015-03-26 Jason Merrill <jason@redhat.com> |
310 | ||
311 | PR c++/65525 | |
312 | * constexpr.c (potential_constant_expression_1): Handle MEM_REF. | |
313 | ||
1cc57b59 MP |
314 | 2015-03-25 Marek Polacek <polacek@redhat.com> |
315 | ||
316 | PR c++/65558 | |
317 | * name-lookup.c (handle_namespace_attrs): Ignore abi_tag attribute | |
318 | on an anonymous namespace. | |
319 | ||
2a924bb4 MP |
320 | 2015-03-25 Marek Polacek <polacek@redhat.com> |
321 | ||
322 | PR c++/61670 | |
323 | * class.c (remove_zero_width_bit_fields): Check for null DECL_SIZE. | |
324 | ||
4b7c558d JM |
325 | 2015-03-24 Jason Merrill <jason@redhat.com> |
326 | ||
a9f0423f JM |
327 | PR c++/65046 |
328 | * cp-tree.h (NAMESPACE_IS_INLINE): Remove. | |
329 | * parser.c (cp_parser_namespace_definition): Don't set it. | |
330 | * name-lookup.c (handle_namespace_attrs): Check | |
331 | DECL_NAMESPACE_ASSOCIATIONS instead. | |
332 | ||
4b7c558d JM |
333 | PR c++/65498 |
334 | * pt.c (get_mostly_instantiated_function_type): Just return the | |
335 | type of the partially instantiated template in DECL_TI_TEMPLATE. | |
336 | ||
f594abf4 MP |
337 | 2015-03-20 Marek Polacek <polacek@redhat.com> |
338 | ||
339 | PR c++/65398 | |
340 | * constexpr.c (cxx_fold_indirect_ref): Transform *(&A[i] p+ j) into | |
341 | A[i + j]. | |
342 | ||
b75cebc4 MP |
343 | 2015-03-20 Marek Polacek <polacek@redhat.com> |
344 | ||
345 | PR c++/65072 | |
346 | * typeck.c (lookup_anon_field): Make sure we're dealing with the main | |
347 | variant. | |
348 | ||
7cb73573 JM |
349 | 2015-03-19 Jason Merrill <jason@redhat.com> |
350 | ||
351 | PR c++/65046 | |
352 | Automatically propagate ABI tags to variables and functions | |
353 | from their (return) type. | |
354 | * class.c (check_tag): Handle variables and functions. | |
355 | (mark_or_check_attr_tags): Split out from find_abi_tags_r. | |
356 | (mark_or_check_tags): Likewise. | |
357 | (mark_abi_tags): Use it. Rename from mark_type_abi_tags. | |
358 | (check_abi_tags): Add single argument overload for decls. | |
359 | Handle inheriting tags for decls. | |
360 | * mangle.c (write_mangled_name): Call it. | |
361 | (mangle_return_type_p): Split out from write_encoding. | |
362 | (unmangled_name_p): Split out from write_mangled_name. | |
363 | (write_mangled_name): Ignore abi_tag on namespace. | |
364 | * cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG. | |
365 | * parser.c (cp_parser_namespace_definition): Set it. | |
366 | * name-lookup.c (handle_namespace_attrs): Use arguments. Warn | |
367 | about abi_tag attribute on non-inline namespace. | |
368 | * tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute. | |
369 | (handle_abi_tag_attribute): Allow tags on variables. | |
370 | ||
9b65e171 JJ |
371 | 2015-03-19 Jakub Jelinek <jakub@redhat.com> |
372 | ||
373 | * decl2.c (cplus_decl_attributes): Also add "omp declare target" | |
374 | attribute for DECL_EXTERNAL VAR_DECLs. | |
375 | ||
41cee85a PC |
376 | 2015-03-18 Paolo Carlini <paolo.carlini@oracle.com> |
377 | ||
378 | PR c++/65340 | |
379 | * call.c (build_over_call): Pass the tsubst_flags_t argument to | |
380 | mark_used. | |
381 | * decl2.c (mark_used): Inline the require_deduced_type call and | |
382 | guard the error call. | |
383 | ||
3d17be83 JM |
384 | 2015-03-16 Jason Merrill <jason@redhat.com> |
385 | ||
386 | PR c++/65061 | |
387 | * parser.c (cp_parser_template_name): Call strip_using_decl. | |
388 | ||
ec638c55 MP |
389 | 2015-03-16 Marek Polacek <polacek@redhat.com> |
390 | ||
391 | DR 1688 | |
392 | PR c++/65327 | |
393 | * decl.c (grokdeclarator): Allow volatile and constexpr together. | |
394 | ||
b7e7f412 PC |
395 | 2015-03-12 Paolo Carlini <paolo.carlini@oracle.com> |
396 | ||
397 | PR c++/65323 | |
398 | * decl.c (check_default_argument): Don't call | |
399 | maybe_warn_zero_as_null_pointer_constant. | |
400 | ||
25de0a29 AH |
401 | 2015-03-11 Aldy Hernandez <aldyh@redhat.com> |
402 | ||
403 | * cp-gimplify.c (simple_empty_class_p): New. | |
404 | * cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR. Abstract | |
405 | the code for empty class copies into simple_empty_class_p, and | |
406 | adapt it to handle COMPOUND_EXPRs. | |
407 | ||
58cbf8d4 PC |
408 | 2015-03-10 Paolo Carlini <paolo.carlini@oracle.com> |
409 | ||
410 | PR c++/65370 | |
411 | * decl.c (duplicate_decls): Call check_redeclaration_no_default_args | |
412 | only if the location of newdecl doesn't match the location of olddecl. | |
413 | ||
704c7904 JJ |
414 | 2015-03-10 Jakub Jelinek <jakub@redhat.com> |
415 | ||
416 | PR c++/65127 | |
417 | * parser.c (parsing_nsdmi): Don't return true if current_class_ptr | |
418 | is not a PARM_DECL. | |
419 | ||
a4d66d7d JM |
420 | 2015-03-10 Jason Merrill <jason@redhat.com> |
421 | ||
422 | PR c++/65333 | |
423 | DR 1558 | |
424 | * pt.c (dependent_type_p_r): Check both class and alias template args. | |
425 | ||
7ccb1a11 JJ |
426 | 2015-03-10 Jakub Jelinek <jakub@redhat.com> |
427 | ||
428 | PR c/65120 | |
429 | * parser.c (cp_parser_binary_expression): Check for tcc_comparison | |
430 | before preparing arguments to warn_logical_not_parentheses. | |
431 | Use maybe_constant_value on rhs. | |
432 | ||
a2f259ef JM |
433 | 2015-03-09 Jason Merrill <jason@redhat.com> |
434 | ||
435 | PR c++/65339 | |
436 | * call.c: Don't call maybe_resolve_dummy when calling a constructor. | |
437 | ||
01177669 JJ |
438 | 2015-03-09 Jakub Jelinek <jakub@redhat.com> |
439 | ||
440 | PR c/65120 | |
441 | * parser.c (cp_parser_binary_expression): Don't warn for | |
442 | !!x == y or !b == y where b is bool. | |
443 | ||
a78cbe29 AH |
444 | 2015-03-06 Aldy Hernandez <aldyh@redhat.com> |
445 | ||
446 | * ptree.c (cxx_print_lambda_node): New. | |
447 | (cxx_print_xnode): Handle LAMBDA_EXPR. | |
448 | ||
bf66b9b4 AH |
449 | 2015-03-03 Aldy Hernandez <aldyh@redhat.com> |
450 | ||
451 | PR c++/65295 | |
452 | * constexpr.c (cxx_eval_constant_expression): Remove assert in | |
453 | RESULT_DECL handling. | |
454 | ||
75e0295b MP |
455 | 2015-02-26 Marek Polacek <polacek@redhat.com> |
456 | ||
457 | PR c++/65202 | |
458 | * constexpr.c (cxx_eval_constant_expression): Don't evaluate | |
459 | a RETURN_EXPR if its operand is null. | |
460 | ||
9b276dad JM |
461 | 2015-02-25 Jason Merrill <jason@redhat.com> |
462 | ||
2b8f9c8f JM |
463 | PR c++/65209 |
464 | * decl2.c (constrain_visibility) [VISIBILITY_ANON]: Clear | |
465 | DECL_COMDAT. | |
466 | (constrain_visibility_for_template): Handle reference arguments. | |
467 | ||
9b276dad JM |
468 | PR debug/58315 |
469 | * decl.c (start_preparsed_function): Use create_artificial_label | |
470 | for cdtor_label. | |
471 | ||
4414e22e PC |
472 | 2015-02-17 Paolo Carlini <paolo.carlini@oracle.com> |
473 | Jakub Jelinek <jakub@redhat.com> | |
474 | ||
475 | PR c++/65075 | |
476 | * constexpr.c (check_constexpr_bind_expr_vars): Allow | |
477 | implicit typedefs for lambda types. | |
478 | ||
6e4f01ff PC |
479 | 2015-02-13 Paolo Carlini <paolo.carlini@oracle.com> |
480 | ||
481 | PR c++/60894 | |
482 | * decl.c (lookup_and_check_tag): Use strip_using_decl. | |
483 | ||
ef796bef JM |
484 | 2015-02-13 Jason Merrill <jason@redhat.com> |
485 | ||
486 | PR c++/65054 | |
487 | * pt.c (template_args_equal): Look through conversions here. | |
488 | * tree.c (cp_tree_equal): Not here. | |
489 | ||
e84abfa4 PC |
490 | 2015-02-13 Paolo Carlini <paolo.carlini@oracle.com> |
491 | ||
492 | PR c++/60211 | |
493 | * parser.c (cp_parser_pragma): Diagnose PRAGMA_IVDEP at | |
494 | pragma_external context. | |
495 | ||
f9b600ba JM |
496 | 2015-02-13 Jason Merrill <jason@redhat.com> |
497 | ||
498 | PR c++/65051 | |
499 | * call.c (reference_binding): Don't look for bad conversion | |
500 | if TO is incomplete. | |
501 | ||
81adbcea PC |
502 | 2015-02-13 Paolo Carlini <paolo.carlini@oracle.com> |
503 | ||
504 | PR c++/64970 | |
505 | * decl.c (make_typename_type): Pass tsubst_flags_t argument | |
506 | to lookup_template_class. | |
507 | ||
730f474b JJ |
508 | 2015-02-13 Jakub Jelinek <jakub@redhat.com> |
509 | ||
510 | PR ipa/65034 | |
511 | * decl.c (start_preparsed_function): Use void_type_node instead | |
512 | of NULL_TREE as LABEL_DECL type. | |
513 | ||
f522930c JM |
514 | 2015-02-12 Jason Merrill <jason@redhat.com> |
515 | ||
3b95b65c JM |
516 | PR c++/64898 |
517 | * mangle.c (write_mangled_name): Fix test for variable template | |
518 | instantiation. | |
519 | ||
f522930c JM |
520 | * decl.c (begin_destructor_body): Condition clobber on |
521 | -flifetime-dse. | |
522 | ||
bc81eb3f AA |
523 | 2015-02-12 Andrea Azzarone <azzaronea@gmail.com> |
524 | ||
525 | PR c++/64959 | |
526 | * parser.c (lookup_literal_operator): Return all candidates. | |
527 | (cp_parser_userdef_char_literal): Simplify error handling. | |
528 | (cp_parser_userdef_numeric_literal): Pass tf_warning_or_error. | |
529 | (cp_parser_userdef_string_literal): Pass tf_warning_or_error. | |
530 | Also give higher priority to standard string UDL operator. | |
531 | ||
40595b8e JJ |
532 | 2015-02-12 Jakub Jelinek <jakub@redhat.com> |
533 | ||
12d0d358 JJ |
534 | PR debug/55541 |
535 | * cp-tree.h (BLOCK_OUTER_CURLY_BRACE_P): Define. | |
536 | * decl.c (poplevel): If functionbody, try not to create an extra | |
537 | BLOCK for function body and use subblocks as that, if it is non-NULL | |
538 | and doesn't have siblings. Set BLOCK_OUTER_CURLY_BRACE_P flag. | |
539 | (outer_curly_brace_block): Use BLOCK_OUTER_CURLY_BRACE_P flag. | |
540 | ||
40595b8e JJ |
541 | PR sanitizer/64984 |
542 | * except.c (check_noexcept_r): Return NULL for internal | |
543 | calls. | |
544 | ||
0ec052fe JM |
545 | 2015-02-10 Jason Merrill <jason@redhat.com> |
546 | ||
547 | PR c++/64994 | |
548 | * constexpr.c (cxx_eval_call_expression): Walk the clone list. | |
549 | ||
d90cae08 JH |
550 | 2015-02-10 Jan Hubicka <hubicka@ucw.cz> |
551 | ||
552 | PR ipa/64982 | |
553 | * method.c (use_thunk): Do not check for stdarg thunks. | |
554 | ||
a02f26f6 JM |
555 | 2015-02-06 Jason Merrill <jason@redhat.com> |
556 | ||
557 | PR c++/64899 | |
558 | * init.c (build_vec_init): Handle default-initialized array with | |
559 | constexpr default constructor. | |
560 | ||
4886ec8e JJ |
561 | 2015-02-04 Jakub Jelinek <jakub@redhat.com> |
562 | ||
563 | PR c/64824 | |
564 | PR c/64868 | |
565 | * parser.c (cp_parser_omp_atomic): Handle RDIV_EXPR. | |
566 | ||
457d0ace PC |
567 | 2015-02-03 Paolo Carlini <paolo.carlini@oracle.com> |
568 | ||
569 | PR c++/64877 | |
570 | * typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings | |
571 | for generated expressions. | |
572 | ||
879887f1 VV |
573 | 2015-02-02 Ville Voutilainen <ville.voutilainen@gmail.com> |
574 | ||
575 | PR c++/64901 | |
576 | * decl.c (duplicate_decls): Also duplicate DECL_FINAL_P and | |
577 | DECL_OVERRIDE_P. | |
578 | ||
4c5cf0b2 JM |
579 | 2015-02-02 Jason Merrill <jason@redhat.com> |
580 | ||
581 | * tree.c (handle_abi_tag_attribute): Diagnose invalid arguments. | |
582 | ||
40fecdd6 JM |
583 | 2015-01-30 Joseph Myers <joseph@codesourcery.com> |
584 | ||
585 | * class.c, except.c, parser.c, pt.c: All callers of fatal_error | |
586 | changed to pass input_location as first argument. | |
587 | ||
a7c3e87e JJ |
588 | 2015-01-29 Jakub Jelinek <jakub@redhat.com> |
589 | ||
590 | PR c++/64717 | |
591 | * cp-ubsan.c (cp_ubsan_instrument_vptr): Don't wrap vptr | |
592 | into SAVE_EXPR. | |
593 | ||
e1ef8aa9 JM |
594 | 2015-01-29 Jason Merrill <jason@redhat.com> |
595 | ||
3dbb8427 JM |
596 | PR c++/49508 |
597 | * semantics.c (finish_return_stmt): Suppress -Wreturn-type on | |
598 | erroneous return statement. | |
599 | ||
e1ef8aa9 JM |
600 | PR c++/64521 |
601 | * repo.c (repo_emit_p): It's OK for a clone to be extern at this | |
602 | point. | |
603 | ||
f7f049fa CT |
604 | 2015-01-27 Caroline Tice <cmtice@google.com> |
605 | ||
606 | Committing VTV Cywin/Ming patch for Patrick Wollgast | |
607 | * vtable-class-hierarchy.cc (vtv_generate_init_routine): Add | |
608 | check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks. | |
609 | ||
94e54b8d JM |
610 | 2015-01-27 Jason Merrill <jason@redhat.com> |
611 | ||
2cc7f90b JM |
612 | PR c++/58597 |
613 | * lambda.c (maybe_add_lambda_conv_op): Check cfun rather than | |
614 | current_function_decl. | |
615 | ||
94e54b8d JM |
616 | PR c++/63889 |
617 | * pt.c (finish_template_variable): Move from semantics.c. | |
618 | Handle multiple template arg levels. Handle coercion here. | |
619 | (lookup_template_variable): Not here. | |
620 | ||
7c83622c JM |
621 | 2015-01-23 Jason Merrill <jason@redhat.com> |
622 | ||
fa4e8db2 JM |
623 | PR c++/64314 |
624 | PR c++/57510 | |
625 | * typeck2.c (split_nonconstant_init_1): Remove a sub-CONSTRUCTOR | |
626 | that has been completely split out. | |
627 | ||
c6e7c499 | 628 | PR c++/64701 |
8a7261b2 JM |
629 | * constexpr.c (cxx_eval_constant_expression): Don't crash on C++ |
630 | statement codes. | |
c6e7c499 | 631 | |
7c83622c JM |
632 | PR c++/64727 |
633 | * constexpr.c (cxx_eval_constant_expression): Allow for lvalue use | |
634 | of CONST_DECL. | |
635 | ||
f1eac182 JM |
636 | 2015-01-21 Jason Merrill <jason@redhat.com> |
637 | ||
b85a3242 JM |
638 | PR c++/64603 |
639 | * constexpr.c (cxx_eval_constant_expression): Only shortcut | |
640 | constant CONSTRUCTORs. | |
641 | ||
f1eac182 JM |
642 | PR c++/64647 |
643 | * constexpr.c (ensure_literal_type_for_constexpr_object): Don't | |
644 | give a hard error in a template instantiation. | |
645 | ||
cbf5d0e7 RB |
646 | 2015-01-21 Richard Biener <rguenther@suse.de> |
647 | ||
648 | PR middle-end/64313 | |
649 | * decl.c (duplicate_decls): Call set_builtin_decl_declared_p | |
650 | for builtins the user declared correctly. | |
651 | ||
de37b21e PC |
652 | 2015-01-16 Paolo Carlini <paolo.carlini@oracle.com> |
653 | ||
654 | PR c++/58614 | |
655 | * pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle | |
656 | TREE_TYPE (elt) == error_mark_node. | |
657 | ||
67933728 JH |
658 | 2015-01-15 Jan Hubicka <hubicka@ucw.cz> |
659 | ||
660 | PR tree-optimization/62053 | |
661 | * tree.c (build_cplus_array_type): Layout type after variants are set. | |
662 | ||
35228ac7 JJ |
663 | 2015-01-15 Jakub Jelinek <jakub@redhat.com> |
664 | ||
665 | * cp-gimplify.c (cp_genericize_r): Call | |
666 | cp_ubsan_maybe_instrument_member_call for member calls. | |
667 | (cp_ubsan_check_member_access_r): New function. | |
668 | (cp_genericize_tree): Call cp_ubsan_instrument_member_accesses. | |
669 | * cp-tree.h (cp_ubsan_maybe_instrument_member_call, | |
670 | cp_ubsan_instrument_member_accesses, | |
671 | cp_ubsan_maybe_instrument_downcast, | |
672 | cp_ubsan_maybe_instrument_cast_to_vbase): New prototypes. | |
673 | * cp-ubsan.c: New file. | |
674 | * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-ubsan.o. | |
675 | * constexpr.c (cxx_eval_call_expression): Return void_node | |
676 | for IFN_UBSAN_VPTR. | |
677 | (potential_constant_expression_1): Return true for | |
678 | UBSAN_NULL, UBSAN_BOUNDS and UBSAN_VPTR internal calls. | |
679 | * typeck.c (build_class_member_access_expr): Provide locus | |
680 | for COMPONENT_REFs. | |
681 | (build_static_cast_1): Instrument downcasts. | |
682 | * class.c (build_base_path): For -fsanitize=vptr and !fixed_type_p | |
683 | add ubsan instrumentation for virtual_access. | |
684 | * call.c: Include internal-fn.h. | |
685 | (set_flags_from_callee): Handle internal calls. | |
686 | ||
199b7a35 MV |
687 | 2015-01-15 Momchil Velikov <momchil.velikov@gmail.com> |
688 | ||
689 | PR c++/59366 | |
690 | * name-lookup.c (pushdecl_maybe_friend_1): Hide friend functions | |
691 | and function templates, declared only in the class. | |
692 | * decl.c (duplicate_decls): Reveal hidden friend functions or | |
693 | function templates, if they are redeclared outside the class. | |
694 | ||
c3c29ba5 JM |
695 | 2015-01-15 Jason Merrill <jason@redhat.com> |
696 | ||
134efa82 JM |
697 | PR c++/64356 |
698 | * constexpr.c (cxx_eval_binary_expression): Fix pasto. | |
699 | ||
c3c29ba5 JM |
700 | PR c++/63283 |
701 | * constexpr.c (potential_constant_expression_1): Handle reference | |
702 | args in templates. | |
703 | ||
41dbbb37 TS |
704 | 2015-01-15 Thomas Schwinge <thomas@codesourcery.com> |
705 | James Norris <jnorris@codesourcery.com> | |
706 | Cesar Philippidis <cesar@codesourcery.com> | |
707 | Ilmir Usmanov <i.usmanov@samsung.com> | |
708 | Jakub Jelinek <jakub@redhat.com> | |
709 | ||
710 | * parser.c: Include "gomp-constants.h". | |
711 | (cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum | |
712 | omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. | |
713 | Use OMP_CLAUSE_SET_MAP_KIND. | |
714 | (cp_parser_omp_construct, cp_parser_pragma): Handle | |
715 | PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, | |
716 | PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL, | |
717 | PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT. | |
718 | (cp_parser_omp_clause_name): Handle "async", "copy", "copyout", | |
719 | "create", "delete", "deviceptr", "host", "num_gangs", | |
720 | "num_workers", "present", "present_or_copy", "pcopy", | |
721 | "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout", | |
722 | "present_or_create", "pcreate", "vector_length", "wait". | |
723 | (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK) | |
724 | (OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK) | |
725 | (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK) | |
726 | (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros. | |
727 | (cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_. | |
728 | (cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr) | |
729 | (cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list) | |
730 | (cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs) | |
731 | (cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async) | |
732 | (cp_parser_oacc_all_clauses, cp_parser_oacc_cache) | |
733 | (cp_parser_oacc_data, cp_parser_oacc_enter_exit_data) | |
734 | (cp_parser_oacc_kernels, cp_parser_oacc_loop) | |
735 | (cp_parser_oacc_parallel, cp_parser_oacc_update) | |
736 | (cp_parser_oacc_wait): New functions. | |
737 | * cp-tree.h (finish_oacc_data, finish_oacc_kernels) | |
738 | (finish_oacc_parallel): New prototypes. | |
739 | * semantics.c: Include "gomp-constants.h". | |
740 | (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use | |
741 | GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use | |
742 | OMP_CLAUSE_SET_MAP_KIND. | |
743 | (finish_omp_clauses): Handle OMP_CLAUSE_ASYNC, | |
744 | OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_. | |
745 | Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. | |
746 | (finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New | |
747 | functions. | |
748 | ||
36b218ee PC |
749 | 2015-01-14 Paolo Carlini <paolo.carlini@oracle.com> |
750 | ||
751 | PR c++/58671 | |
752 | * decl2.c (var_defined_without_dynamic_init): Handle gracefully | |
753 | self-initialization. | |
754 | ||
8f413ae2 JM |
755 | 2015-01-13 Jason Merrill <jason@redhat.com> |
756 | ||
caee690e JM |
757 | PR c++/64356 |
758 | PR libstdc++/58777 | |
759 | * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT | |
760 | pointer expressions. | |
761 | (cxx_eval_increment_expression): Likewise. | |
762 | ||
7c368fb2 JM |
763 | PR c++/64514 |
764 | * pt.c (coerce_template_parameter_pack): Return NULL for a | |
765 | zero-length fixed parameter pack with a pack expansion arg. | |
766 | ||
8f413ae2 JM |
767 | PR c++/64520 |
768 | * pt.c (unify): Don't try to deduce to std::initializer_list<T...>. | |
769 | ||
49c8bc0c JM |
770 | 2015-01-12 Jason Merrill <jason@redhat.com> |
771 | ||
772 | PR c++/64547 | |
773 | * constexpr.c (cxx_eval_call_expression): A call to a void | |
774 | function doesn't need to return a value. | |
775 | ||
adfac8df JJ |
776 | 2015-01-09 Michael Collison <michael.collison@linaro.org> |
777 | ||
778 | * call.c: Include hash-set.h, machmode.h, vec.h, double-int.h, | |
779 | input.h, alias.h, symtab.h, options.h, fold-const.h, | |
780 | wide-int.h, and inchash.h due to flattening of tree.h. | |
781 | * class.c: Ditto. | |
782 | * constexpr.c: Ditto. | |
783 | * cp-array-notation.c: Ditto. | |
784 | * cp-gimplify.c: Ditto. | |
785 | * cp-lang.c: Ditto. | |
786 | * cp-objcp-common.c: Ditto. | |
787 | * cvt.c: Ditto. | |
788 | * decl2.c: Ditto. | |
789 | * decl.c: Ditto. | |
790 | * dump.c: Ditto. | |
791 | * error.c: Ditto. | |
792 | * except.c: Ditto. | |
793 | * expr.c: Ditto. | |
794 | * friend.c: Ditto. | |
795 | * init.c: Ditto. | |
796 | * lambda.c: Ditto. | |
797 | * lex.c: Ditto. | |
798 | * mangle.c: Ditto. | |
799 | * name-lookup.c: Ditto. | |
800 | * optimize.c: Ditto. | |
801 | * parser.c: Ditto. | |
802 | * pt.c: Ditto. | |
803 | * ptree.c: Ditto. | |
804 | * repo.c: Ditto. | |
805 | * rtti.c: Ditto. | |
806 | * search.c: Ditto. | |
807 | * semantics.c: Ditto. | |
808 | * tree.c: Ditto. | |
809 | * typeck2.c: Ditto. | |
810 | * typeck.c: Ditto. | |
811 | ||
f5481fc4 JM |
812 | 2015-01-08 Jason Merrill <jason@redhat.com> |
813 | ||
814 | * cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function. | |
815 | * decl.c (compute_array_index_type): Likewise. | |
816 | * init.c (build_vec_init): Likewise. | |
817 | * typeck.c (cp_build_binary_op): Likewise. | |
818 | ||
46621807 JM |
819 | 2015-01-08 Jason Merrill <jason@redhat.com> |
820 | ||
821 | * init.c (build_vec_init): Call ubsan_instrument_bounds to check | |
822 | whether an initializer-list is too big for a VLA. | |
823 | (throw_bad_array_length): Remove. | |
824 | * cp-tree.h: Remove prototype. | |
825 | ||
247ecdf3 PC |
826 | 2015-01-08 Paolo Carlini <paolo.carlini@oracle.com> |
827 | ||
828 | PR c++/60753 | |
829 | * decl.c (grokfndecl): Add bool parameter. | |
830 | (grokdeclarator): Adjust calls. | |
831 | (start_decl): Don't set DECL_DELETED_FN here. | |
832 | ||
47867b4f JM |
833 | 2015-01-06 Jason Merrill <jason@redhat.com> |
834 | ||
efcdb22f JM |
835 | * parser.c (cp_parser_nested_name_specifier_opt): Diagnose invalid |
836 | template-ids. | |
837 | ||
c6a38536 JM |
838 | PR c++/64455 |
839 | * pt.c (type_dependent_expression_p): Handle variable templates. | |
840 | * constexpr.c (potential_constant_expression_1): Use it. | |
841 | ||
b433d944 JM |
842 | PR c++/64487 |
843 | * semantics.c (finish_offsetof): Handle templates here. | |
844 | * parser.c (cp_parser_builtin_offsetof): Not here. | |
845 | ||
47867b4f JM |
846 | PR c++/64496 |
847 | * semantics.c (process_outer_var_ref): Diagnose lambda in local | |
848 | class NSDMI. | |
849 | ||
864822bd VV |
850 | 2015-01-06 Ville Voutilainen <ville.voutilainen@gmail.com> |
851 | ||
852 | PR c++/64489 | |
853 | * class.c (check_field_decls): Make copy assignment operators | |
854 | complex only in c++98 mode. | |
855 | ||
2f42e5de TS |
856 | 2015-01-05 Trevor Saunders <tsaunders@mozilla.com> |
857 | ||
858 | PR c++/31397 | |
859 | * class.c (check_for_override): Warn when a virtual function is an | |
860 | override not marked override. | |
861 | ||
86cfdb4e TS |
862 | 2015-01-05 Trevor Saunders <tsaunders@mozilla.com> |
863 | ||
864 | * class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to | |
865 | hold base_fndecls. | |
866 | (get_basefndecls): Adjust. | |
867 | ||
5624e564 JJ |
868 | 2015-01-05 Jakub Jelinek <jakub@redhat.com> |
869 | ||
870 | Update copyright years. | |
871 | ||
5bd012f8 MP |
872 | 2015-01-05 Marek Polacek <polacek@redhat.com> |
873 | ||
874 | PR c/64423 | |
875 | * typeck.c (cp_build_array_ref): Pass loc down to | |
876 | warn_array_subscript_with_type_char. | |
877 | ||
ad41bd84 | 878 | \f |
5624e564 | 879 | Copyright (C) 2015 Free Software Foundation, Inc. |
ad41bd84 JM |
880 | |
881 | Copying and distribution of this file, with or without modification, | |
882 | are permitted in any medium without royalty provided the copyright | |
883 | notice and this notice are preserved. |