fix changelog
[official-gcc.git] / gcc / cp / ChangeLog
blobac916527ec741ca05539ac6d934e6e34f62a9c24
1 2015-01-23  Jason Merrill  <jason@redhat.com>
3         PR c++/64314
4         PR c++/57510
5         * typeck2.c (split_nonconstant_init_1): Remove a sub-CONSTRUCTOR
6         that has been completely split out.
8         PR c++/64701
9         * constexpr.c (cxx_eval_constant_expression): Don't crash on C++
10         statement codes.
12         PR c++/64727
13         * constexpr.c (cxx_eval_constant_expression): Allow for lvalue use
14         of CONST_DECL.
16 2015-01-21  Jason Merrill  <jason@redhat.com>
18         PR c++/64603
19         * constexpr.c (cxx_eval_constant_expression): Only shortcut
20         constant CONSTRUCTORs.
22         PR c++/64647
23         * constexpr.c (ensure_literal_type_for_constexpr_object): Don't
24         give a hard error in a template instantiation.
26 2015-01-21  Richard Biener  <rguenther@suse.de>
28         PR middle-end/64313
29         * decl.c (duplicate_decls): Call set_builtin_decl_declared_p
30         for builtins the user declared correctly.
32 2015-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
34         PR c++/58614
35         * pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle
36         TREE_TYPE (elt) == error_mark_node.
38 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
40         PR tree-optimization/62053
41         * tree.c (build_cplus_array_type): Layout type after variants are set.
43 2015-01-15  Jakub Jelinek  <jakub@redhat.com>
45         * cp-gimplify.c (cp_genericize_r): Call
46         cp_ubsan_maybe_instrument_member_call for member calls.
47         (cp_ubsan_check_member_access_r): New function.
48         (cp_genericize_tree): Call cp_ubsan_instrument_member_accesses.
49         * cp-tree.h (cp_ubsan_maybe_instrument_member_call,
50         cp_ubsan_instrument_member_accesses,
51         cp_ubsan_maybe_instrument_downcast,
52         cp_ubsan_maybe_instrument_cast_to_vbase): New prototypes.
53         * cp-ubsan.c: New file.
54         * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-ubsan.o.
55         * constexpr.c (cxx_eval_call_expression): Return void_node
56         for IFN_UBSAN_VPTR.
57         (potential_constant_expression_1): Return true for
58         UBSAN_NULL, UBSAN_BOUNDS and UBSAN_VPTR internal calls.
59         * typeck.c (build_class_member_access_expr): Provide locus
60         for COMPONENT_REFs.
61         (build_static_cast_1): Instrument downcasts.
62         * class.c (build_base_path): For -fsanitize=vptr and !fixed_type_p
63         add ubsan instrumentation for virtual_access.
64         * call.c: Include internal-fn.h.
65         (set_flags_from_callee): Handle internal calls.
67 2015-01-15  Momchil Velikov  <momchil.velikov@gmail.com>
69         PR c++/59366
70         * name-lookup.c (pushdecl_maybe_friend_1): Hide friend functions
71         and function templates, declared only in the class.
72         * decl.c (duplicate_decls): Reveal hidden friend functions or
73         function templates, if they are redeclared outside the class.
75 2015-01-15  Jason Merrill  <jason@redhat.com>
77         PR c++/64356
78         * constexpr.c (cxx_eval_binary_expression): Fix pasto.
80         PR c++/63283
81         * constexpr.c (potential_constant_expression_1): Handle reference
82         args in templates.
84 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
85             James Norris  <jnorris@codesourcery.com>
86             Cesar Philippidis  <cesar@codesourcery.com>
87             Ilmir Usmanov  <i.usmanov@samsung.com>
88             Jakub Jelinek  <jakub@redhat.com>
90         * parser.c: Include "gomp-constants.h".
91         (cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
92         omp_clause_map_kind.  Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
93         Use OMP_CLAUSE_SET_MAP_KIND.
94         (cp_parser_omp_construct, cp_parser_pragma): Handle
95         PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA,
96         PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL,
97         PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
98         (cp_parser_omp_clause_name): Handle "async", "copy", "copyout",
99         "create", "delete", "deviceptr", "host", "num_gangs",
100         "num_workers", "present", "present_or_copy", "pcopy",
101         "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
102         "present_or_create", "pcreate", "vector_length", "wait".
103         (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK)
104         (OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
105         (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
106         (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
107         (cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_.
108         (cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr)
109         (cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list)
110         (cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs)
111         (cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async)
112         (cp_parser_oacc_all_clauses, cp_parser_oacc_cache)
113         (cp_parser_oacc_data, cp_parser_oacc_enter_exit_data)
114         (cp_parser_oacc_kernels, cp_parser_oacc_loop)
115         (cp_parser_oacc_parallel, cp_parser_oacc_update)
116         (cp_parser_oacc_wait): New functions.
117         * cp-tree.h (finish_oacc_data, finish_oacc_kernels)
118         (finish_oacc_parallel): New prototypes.
119         * semantics.c: Include "gomp-constants.h".
120         (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR.  Use
121         GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.  Use
122         OMP_CLAUSE_SET_MAP_KIND.
123         (finish_omp_clauses): Handle OMP_CLAUSE_ASYNC,
124         OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_.
125         Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
126         (finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New
127         functions.
129 2015-01-14  Paolo Carlini  <paolo.carlini@oracle.com>
131         PR c++/58671
132         * decl2.c (var_defined_without_dynamic_init): Handle gracefully
133         self-initialization.
135 2015-01-13  Jason Merrill  <jason@redhat.com>
137         PR c++/64356
138         PR libstdc++/58777
139         * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
140         pointer expressions.
141         (cxx_eval_increment_expression): Likewise.
143         PR c++/64514
144         * pt.c (coerce_template_parameter_pack): Return NULL for a
145         zero-length fixed parameter pack with a pack expansion arg.
147         PR c++/64520
148         * pt.c (unify): Don't try to deduce to std::initializer_list<T...>.
150 2015-01-12  Jason Merrill  <jason@redhat.com>
152         PR c++/64547
153         * constexpr.c (cxx_eval_call_expression): A call to a void
154         function doesn't need to return a value.
156 2015-01-09  Michael Collison  <michael.collison@linaro.org>
158         * call.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
159         input.h, alias.h, symtab.h, options.h, fold-const.h,
160         wide-int.h, and inchash.h due to flattening of tree.h.
161         * class.c: Ditto.
162         * constexpr.c: Ditto.
163         * cp-array-notation.c: Ditto.
164         * cp-gimplify.c: Ditto.
165         * cp-lang.c: Ditto.
166         * cp-objcp-common.c: Ditto.
167         * cvt.c: Ditto.
168         * decl2.c: Ditto.
169         * decl.c: Ditto.
170         * dump.c: Ditto.
171         * error.c: Ditto.
172         * except.c: Ditto.
173         * expr.c: Ditto.
174         * friend.c: Ditto.
175         * init.c: Ditto.
176         * lambda.c: Ditto.
177         * lex.c: Ditto.
178         * mangle.c: Ditto.
179         * name-lookup.c: Ditto.
180         * optimize.c: Ditto.
181         * parser.c: Ditto.
182         * pt.c: Ditto.
183         * ptree.c: Ditto.
184         * repo.c: Ditto.
185         * rtti.c: Ditto.
186         * search.c: Ditto.
187         * semantics.c: Ditto.
188         * tree.c: Ditto.
189         * typeck2.c: Ditto.
190         * typeck.c: Ditto.
192 2015-01-08  Jason Merrill  <jason@redhat.com>
194         * cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function.
195         * decl.c (compute_array_index_type): Likewise.
196         * init.c (build_vec_init): Likewise.
197         * typeck.c (cp_build_binary_op): Likewise.
199 2015-01-08  Jason Merrill  <jason@redhat.com>
201         * init.c (build_vec_init): Call ubsan_instrument_bounds to check
202         whether an initializer-list is too big for a VLA.
203         (throw_bad_array_length): Remove.
204         * cp-tree.h: Remove prototype.
206 2015-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
208         PR c++/60753
209         * decl.c (grokfndecl): Add bool parameter.
210         (grokdeclarator): Adjust calls.
211         (start_decl): Don't set DECL_DELETED_FN here.
213 2015-01-06  Jason Merrill  <jason@redhat.com>
215         * parser.c (cp_parser_nested_name_specifier_opt): Diagnose invalid
216         template-ids.
218         PR c++/64455
219         * pt.c (type_dependent_expression_p): Handle variable templates.
220         * constexpr.c (potential_constant_expression_1): Use it.
222         PR c++/64487
223         * semantics.c (finish_offsetof): Handle templates here.
224         * parser.c (cp_parser_builtin_offsetof): Not here.
226         PR c++/64496
227         * semantics.c (process_outer_var_ref): Diagnose lambda in local
228         class NSDMI.
230 2015-01-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
232         PR c++/64489
233         * class.c (check_field_decls): Make copy assignment operators
234         complex only in c++98 mode.
236 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
238         PR c++/31397
239         * class.c (check_for_override): Warn when a virtual function is an
240         override not marked override.
242 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
244         * class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
245         hold base_fndecls.
246         (get_basefndecls): Adjust.
248 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
250         Update copyright years.
252 2015-01-05  Marek Polacek  <polacek@redhat.com>
254         PR c/64423
255         * typeck.c (cp_build_array_ref): Pass loc down to
256         warn_array_subscript_with_type_char.
259 Copyright (C) 2015 Free Software Foundation, Inc.
261 Copying and distribution of this file, with or without modification,
262 are permitted in any medium without royalty provided the copyright
263 notice and this notice are preserved.