]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/ChangeLog
Daily bump.
[gcc.git] / gcc / cp / ChangeLog
CommitLineData
4c5cf0b2
JM
12015-02-02 Jason Merrill <jason@redhat.com>
2
3 * tree.c (handle_abi_tag_attribute): Diagnose invalid arguments.
4
40fecdd6
JM
52015-01-30 Joseph Myers <joseph@codesourcery.com>
6
7 * class.c, except.c, parser.c, pt.c: All callers of fatal_error
8 changed to pass input_location as first argument.
9
a7c3e87e
JJ
102015-01-29 Jakub Jelinek <jakub@redhat.com>
11
12 PR c++/64717
13 * cp-ubsan.c (cp_ubsan_instrument_vptr): Don't wrap vptr
14 into SAVE_EXPR.
15
e1ef8aa9
JM
162015-01-29 Jason Merrill <jason@redhat.com>
17
3dbb8427
JM
18 PR c++/49508
19 * semantics.c (finish_return_stmt): Suppress -Wreturn-type on
20 erroneous return statement.
21
e1ef8aa9
JM
22 PR c++/64521
23 * repo.c (repo_emit_p): It's OK for a clone to be extern at this
24 point.
25
f7f049fa
CT
262015-01-27 Caroline Tice <cmtice@google.com>
27
28 Committing VTV Cywin/Ming patch for Patrick Wollgast
29 * vtable-class-hierarchy.cc (vtv_generate_init_routine): Add
30 check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks.
31
94e54b8d
JM
322015-01-27 Jason Merrill <jason@redhat.com>
33
2cc7f90b
JM
34 PR c++/58597
35 * lambda.c (maybe_add_lambda_conv_op): Check cfun rather than
36 current_function_decl.
37
94e54b8d
JM
38 PR c++/63889
39 * pt.c (finish_template_variable): Move from semantics.c.
40 Handle multiple template arg levels. Handle coercion here.
41 (lookup_template_variable): Not here.
42
7c83622c
JM
432015-01-23 Jason Merrill <jason@redhat.com>
44
fa4e8db2
JM
45 PR c++/64314
46 PR c++/57510
47 * typeck2.c (split_nonconstant_init_1): Remove a sub-CONSTRUCTOR
48 that has been completely split out.
49
c6e7c499 50 PR c++/64701
8a7261b2
JM
51 * constexpr.c (cxx_eval_constant_expression): Don't crash on C++
52 statement codes.
c6e7c499 53
7c83622c
JM
54 PR c++/64727
55 * constexpr.c (cxx_eval_constant_expression): Allow for lvalue use
56 of CONST_DECL.
57
f1eac182
JM
582015-01-21 Jason Merrill <jason@redhat.com>
59
b85a3242
JM
60 PR c++/64603
61 * constexpr.c (cxx_eval_constant_expression): Only shortcut
62 constant CONSTRUCTORs.
63
f1eac182
JM
64 PR c++/64647
65 * constexpr.c (ensure_literal_type_for_constexpr_object): Don't
66 give a hard error in a template instantiation.
67
cbf5d0e7
RB
682015-01-21 Richard Biener <rguenther@suse.de>
69
70 PR middle-end/64313
71 * decl.c (duplicate_decls): Call set_builtin_decl_declared_p
72 for builtins the user declared correctly.
73
de37b21e
PC
742015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
75
76 PR c++/58614
77 * pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle
78 TREE_TYPE (elt) == error_mark_node.
79
67933728
JH
802015-01-15 Jan Hubicka <hubicka@ucw.cz>
81
82 PR tree-optimization/62053
83 * tree.c (build_cplus_array_type): Layout type after variants are set.
84
35228ac7
JJ
852015-01-15 Jakub Jelinek <jakub@redhat.com>
86
87 * cp-gimplify.c (cp_genericize_r): Call
88 cp_ubsan_maybe_instrument_member_call for member calls.
89 (cp_ubsan_check_member_access_r): New function.
90 (cp_genericize_tree): Call cp_ubsan_instrument_member_accesses.
91 * cp-tree.h (cp_ubsan_maybe_instrument_member_call,
92 cp_ubsan_instrument_member_accesses,
93 cp_ubsan_maybe_instrument_downcast,
94 cp_ubsan_maybe_instrument_cast_to_vbase): New prototypes.
95 * cp-ubsan.c: New file.
96 * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-ubsan.o.
97 * constexpr.c (cxx_eval_call_expression): Return void_node
98 for IFN_UBSAN_VPTR.
99 (potential_constant_expression_1): Return true for
100 UBSAN_NULL, UBSAN_BOUNDS and UBSAN_VPTR internal calls.
101 * typeck.c (build_class_member_access_expr): Provide locus
102 for COMPONENT_REFs.
103 (build_static_cast_1): Instrument downcasts.
104 * class.c (build_base_path): For -fsanitize=vptr and !fixed_type_p
105 add ubsan instrumentation for virtual_access.
106 * call.c: Include internal-fn.h.
107 (set_flags_from_callee): Handle internal calls.
108
199b7a35
MV
1092015-01-15 Momchil Velikov <momchil.velikov@gmail.com>
110
111 PR c++/59366
112 * name-lookup.c (pushdecl_maybe_friend_1): Hide friend functions
113 and function templates, declared only in the class.
114 * decl.c (duplicate_decls): Reveal hidden friend functions or
115 function templates, if they are redeclared outside the class.
116
c3c29ba5
JM
1172015-01-15 Jason Merrill <jason@redhat.com>
118
134efa82
JM
119 PR c++/64356
120 * constexpr.c (cxx_eval_binary_expression): Fix pasto.
121
c3c29ba5
JM
122 PR c++/63283
123 * constexpr.c (potential_constant_expression_1): Handle reference
124 args in templates.
125
41dbbb37
TS
1262015-01-15 Thomas Schwinge <thomas@codesourcery.com>
127 James Norris <jnorris@codesourcery.com>
128 Cesar Philippidis <cesar@codesourcery.com>
129 Ilmir Usmanov <i.usmanov@samsung.com>
130 Jakub Jelinek <jakub@redhat.com>
131
132 * parser.c: Include "gomp-constants.h".
133 (cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
134 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
135 Use OMP_CLAUSE_SET_MAP_KIND.
136 (cp_parser_omp_construct, cp_parser_pragma): Handle
137 PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA,
138 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL,
139 PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
140 (cp_parser_omp_clause_name): Handle "async", "copy", "copyout",
141 "create", "delete", "deviceptr", "host", "num_gangs",
142 "num_workers", "present", "present_or_copy", "pcopy",
143 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
144 "present_or_create", "pcreate", "vector_length", "wait".
145 (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK)
146 (OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
147 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
148 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
149 (cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_.
150 (cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr)
151 (cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list)
152 (cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs)
153 (cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async)
154 (cp_parser_oacc_all_clauses, cp_parser_oacc_cache)
155 (cp_parser_oacc_data, cp_parser_oacc_enter_exit_data)
156 (cp_parser_oacc_kernels, cp_parser_oacc_loop)
157 (cp_parser_oacc_parallel, cp_parser_oacc_update)
158 (cp_parser_oacc_wait): New functions.
159 * cp-tree.h (finish_oacc_data, finish_oacc_kernels)
160 (finish_oacc_parallel): New prototypes.
161 * semantics.c: Include "gomp-constants.h".
162 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
163 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
164 OMP_CLAUSE_SET_MAP_KIND.
165 (finish_omp_clauses): Handle OMP_CLAUSE_ASYNC,
166 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_.
167 Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
168 (finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New
169 functions.
170
36b218ee
PC
1712015-01-14 Paolo Carlini <paolo.carlini@oracle.com>
172
173 PR c++/58671
174 * decl2.c (var_defined_without_dynamic_init): Handle gracefully
175 self-initialization.
176
8f413ae2
JM
1772015-01-13 Jason Merrill <jason@redhat.com>
178
caee690e
JM
179 PR c++/64356
180 PR libstdc++/58777
181 * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
182 pointer expressions.
183 (cxx_eval_increment_expression): Likewise.
184
7c368fb2
JM
185 PR c++/64514
186 * pt.c (coerce_template_parameter_pack): Return NULL for a
187 zero-length fixed parameter pack with a pack expansion arg.
188
8f413ae2
JM
189 PR c++/64520
190 * pt.c (unify): Don't try to deduce to std::initializer_list<T...>.
191
49c8bc0c
JM
1922015-01-12 Jason Merrill <jason@redhat.com>
193
194 PR c++/64547
195 * constexpr.c (cxx_eval_call_expression): A call to a void
196 function doesn't need to return a value.
197
adfac8df
JJ
1982015-01-09 Michael Collison <michael.collison@linaro.org>
199
200 * call.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
201 input.h, alias.h, symtab.h, options.h, fold-const.h,
202 wide-int.h, and inchash.h due to flattening of tree.h.
203 * class.c: Ditto.
204 * constexpr.c: Ditto.
205 * cp-array-notation.c: Ditto.
206 * cp-gimplify.c: Ditto.
207 * cp-lang.c: Ditto.
208 * cp-objcp-common.c: Ditto.
209 * cvt.c: Ditto.
210 * decl2.c: Ditto.
211 * decl.c: Ditto.
212 * dump.c: Ditto.
213 * error.c: Ditto.
214 * except.c: Ditto.
215 * expr.c: Ditto.
216 * friend.c: Ditto.
217 * init.c: Ditto.
218 * lambda.c: Ditto.
219 * lex.c: Ditto.
220 * mangle.c: Ditto.
221 * name-lookup.c: Ditto.
222 * optimize.c: Ditto.
223 * parser.c: Ditto.
224 * pt.c: Ditto.
225 * ptree.c: Ditto.
226 * repo.c: Ditto.
227 * rtti.c: Ditto.
228 * search.c: Ditto.
229 * semantics.c: Ditto.
230 * tree.c: Ditto.
231 * typeck2.c: Ditto.
232 * typeck.c: Ditto.
233
f5481fc4
JM
2342015-01-08 Jason Merrill <jason@redhat.com>
235
236 * cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function.
237 * decl.c (compute_array_index_type): Likewise.
238 * init.c (build_vec_init): Likewise.
239 * typeck.c (cp_build_binary_op): Likewise.
240
46621807
JM
2412015-01-08 Jason Merrill <jason@redhat.com>
242
243 * init.c (build_vec_init): Call ubsan_instrument_bounds to check
244 whether an initializer-list is too big for a VLA.
245 (throw_bad_array_length): Remove.
246 * cp-tree.h: Remove prototype.
247
247ecdf3
PC
2482015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
249
250 PR c++/60753
251 * decl.c (grokfndecl): Add bool parameter.
252 (grokdeclarator): Adjust calls.
253 (start_decl): Don't set DECL_DELETED_FN here.
254
47867b4f
JM
2552015-01-06 Jason Merrill <jason@redhat.com>
256
efcdb22f
JM
257 * parser.c (cp_parser_nested_name_specifier_opt): Diagnose invalid
258 template-ids.
259
c6a38536
JM
260 PR c++/64455
261 * pt.c (type_dependent_expression_p): Handle variable templates.
262 * constexpr.c (potential_constant_expression_1): Use it.
263
b433d944
JM
264 PR c++/64487
265 * semantics.c (finish_offsetof): Handle templates here.
266 * parser.c (cp_parser_builtin_offsetof): Not here.
267
47867b4f
JM
268 PR c++/64496
269 * semantics.c (process_outer_var_ref): Diagnose lambda in local
270 class NSDMI.
271
864822bd
VV
2722015-01-06 Ville Voutilainen <ville.voutilainen@gmail.com>
273
274 PR c++/64489
275 * class.c (check_field_decls): Make copy assignment operators
276 complex only in c++98 mode.
277
2f42e5de
TS
2782015-01-05 Trevor Saunders <tsaunders@mozilla.com>
279
280 PR c++/31397
281 * class.c (check_for_override): Warn when a virtual function is an
282 override not marked override.
283
86cfdb4e
TS
2842015-01-05 Trevor Saunders <tsaunders@mozilla.com>
285
286 * class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
287 hold base_fndecls.
288 (get_basefndecls): Adjust.
289
5624e564
JJ
2902015-01-05 Jakub Jelinek <jakub@redhat.com>
291
292 Update copyright years.
293
5bd012f8
MP
2942015-01-05 Marek Polacek <polacek@redhat.com>
295
296 PR c/64423
297 * typeck.c (cp_build_array_ref): Pass loc down to
298 warn_array_subscript_with_type_char.
299
ad41bd84 300\f
5624e564 301Copyright (C) 2015 Free Software Foundation, Inc.
ad41bd84
JM
302
303Copying and distribution of this file, with or without modification,
304are permitted in any medium without royalty provided the copyright
305notice and this notice are preserved.
This page took 1.768208 seconds and 5 git commands to generate.