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