]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/cp/ChangeLog
PR c/59846
[thirdparty/gcc.git] / gcc / cp / ChangeLog
1 2014-01-23 Marek Polacek <polacek@redhat.com>
2
3 PR c/59846
4 * typeck.c (cp_build_binary_op): Pass location to shorten_compare.
5
6 2014-01-23 Marek Polacek <polacek@redhat.com>
7
8 PR c/58346
9 * typeck.c (pointer_diff): Give an error on arithmetic on pointer to
10 an empty aggregate.
11
12 2014-01-23 Jason Merrill <jason@redhat.com>
13
14 PR c++/55189
15 * cp-tree.h (struct language_function): Add infinite_loop and
16 infinite_loops.
17 (current_function_infinite_loop): New.
18 * semantics.c (begin_maybe_infinite_loop, end_maybe_infinite_loop)
19 (break_maybe_infinite_loop): New.
20 (finish_while_stmt_cond, finish_while_stmt, begin_do_stmt)
21 (finish_do_stmt, finish_for_cond, finish_for_stmt)
22 (begin_range_for_stmt): Use them.
23 * decl.c (finish_function): Don't warn about missing return
24 if current_function_infinite_loop.
25 * pt.c (instantiate_decl): Copy current_function_infinite_loop.
26 * parser.c (cp_parser_jump_statement): Call break_maybe_infinite_loop.
27
28 * call.c (build_op_delete_call): Use make_tree_vector and
29 release_tree_vector.
30
31 2014-01-23 Paolo Carlini <paolo.carlini@oracle.com>
32
33 PR c++/58980
34 * parser.c (cp_parser_enum_specifier): Handle TYPENAME_TYPE as
35 nested_name_specifier.
36
37 2014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
38
39 * parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled
40 see if there is an attribute after function decl. If so, then
41 parse them now.
42 (cp_parser_late_return_type_opt): Handle parsing of Cilk Plus SIMD
43 enabled function late parsing.
44 (cp_parser_gnu_attribute_list): Parse all the tokens for the vector
45 attribute for a SIMD-enabled function.
46 (cp_parser_omp_all_clauses): Skip parsing to the end of pragma when
47 the function is used by SIMD-enabled function (indicated by NULL
48 pragma token). Added 3 new clauses: PRAGMA_CILK_CLAUSE_MASK,
49 PRAGMA_CILK_CLAUSE_NOMASK and PRAGMA_CILK_CLAUSE_VECTORLENGTH
50 (cp_parser_cilk_simd_vectorlength): Modified this function to handle
51 vectorlength clause in SIMD-enabled function and #pragma SIMD's
52 vectorlength clause. Added a new bool parameter to differentiate
53 between the two.
54 (cp_parser_cilk_simd_fn_vector_attrs): New function.
55 (is_cilkplus_vector_p): Likewise.
56 (cp_parser_late_parsing_elem_fn_info): Likewise.
57 (cp_parser_omp_clause_name): Added a check for "mask", "nomask"
58 and "vectorlength" clauses when Cilk Plus is enabled.
59 (cp_parser_omp_clause_linear): Added a new parameter of type bool
60 and emit a sorry message when step size is a parameter.
61 * parser.h (cp_parser::cilk_simd_fn_info): New field.
62 * decl.c (grokfndecl): Added flag_enable_cilkplus along with
63 flag_openmp.
64 * pt.c (apply_late_template_attributes): Likewise.
65
66 2014-01-23 Jakub Jelinek <jakub@redhat.com>
67
68 PR middle-end/58809
69 * semantics.c (finish_omp_reduction_clause): Reject
70 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
71
72 2014-01-22 Ville Voutilainen <ville.voutilainen@gmail.com>
73
74 PR c++/59482
75 * parser.c (cp_parser_class_head): Push the class before parsing
76 the base-clause, pop after it.
77
78 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
79
80 * decl2.c (cpp_check): Revert prototype change.
81
82 2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
83
84 PR c++/59270
85 PR c++/58811
86 * init.c (build_value_init_noctor): Don't pass error_mark_node to
87 build_value_init.
88
89 2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
90
91 PR c++/59269
92 * init.c (build_value_init_noctor): Assert !TYPE_HAS_COMPLEX_DFLT
93 only when errorcount == 0.
94
95 2014-01-17 Marek Polacek <polacek@redhat.com>
96
97 PR c++/59838
98 * cvt.c (ocp_convert): Don't segfault on non-existing
99 ENUM_UNDERLYING_TYPE.
100
101 2014-01-16 Jason Merrill <jason@redhat.com>
102
103 PR c++/59821
104 * tree.c (bot_manip): Update the location of builtin_LINE and
105 builtin_FILE calls.
106
107 2014-01-14 Jason Merrill <jason@redhat.com>
108
109 PR c++/59659
110 * typeck2.c (massage_init_elt): New.
111 (process_init_constructor_record)
112 (process_init_constructor_union): Use it.
113 (process_init_constructor_array): Use it. Use RANGE_EXPR.
114 (split_nonconstant_init_1): Handle it.
115 * semantics.c (cxx_eval_vec_init_1): Use force_rvalue.
116
117 2014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
118
119 PR c++/59631
120 * parser.c (cp_parser_postfix_expression): Added a new if-statement
121 and replaced an existing if-statement with else-if statement.
122 Changed an existing error message wording to match the one from the C
123 parser.
124
125 2014-01-08 Jason Merrill <jason@redhat.com>
126
127 PR c++/59614
128 * class.c (abi_tag_data): Add tags field.
129 (check_abi_tags): Initialize it.
130 (find_abi_tags_r): Support collecting missing tags.
131 (mark_type_abi_tags): Don't look at template args.
132 (inherit_targ_abi_tags): New.
133 (check_bases_and_members): Use it.
134 * cp-tree.h (ABI_TAG_IMPLICIT): New.
135 * mangle.c (write_abi_tags): Check it.
136
137 2014-01-07 Jason Merrill <jason@redhat.com>
138
139 PR c++/58856
140 * pt.c (num_innermost_template_parms): New.
141 (get_underlying_template): Use it.
142
143 PR c++/58965
144 * mangle.c (write_guarded_var_name): Handle null DECL_NAME.
145
146 2014-01-07 Paolo Carlini <paolo.carlini@oracle.com>
147
148 * semantics.c (trait_expr_value, [CPTK_IS_BASE_OF]): Implement
149 the letter of 20.11.6 about Base and Derived naming the same
150 class type modulo cv-qualifiers.
151
152 2014-01-06 Adam Butcher <adam@jessamine.co.uk>
153
154 PR c++/59635
155 * lambda.c (maybe_add_lambda_conv_op): Handle marking conversion
156 function as unimplemented for generic lambdas with varargs.
157
158 PR c++/59636
159 * parser.c (cp_parser_template_parameter): Early out with
160 error_mark_node if parameter declaration was not parsed.
161
162 PR c++/59629
163 * parser.c (cp_parser_lambda_expression): Save/reset/restore
164 auto_is_implicit_function_template_parm_p around lambda body.
165
166 PR c++/59638
167 * parser.c (cp_parser_init_declarator): Undo fully implicit
168 template parameter list when declarator is not a function.
169
170 2014-01-03 Marc Glisse <marc.glisse@inria.fr>
171
172 PR c++/58950
173 * cvt.c (convert_to_void): Handle VEC_PERM_EXPR and VEC_COND_EXPR.
174
175 2014-01-03 Tobias Burnus <burnus@net-b.de>
176
177 PR c++/58567
178 * pt.c (tsubst_omp_for_iterator): Early return for error_mark_node.
179
180 2014-01-03 Paolo Carlini <paolo.carlini@oracle.com>
181
182 Core DR 1442
183 PR c++/59165
184 * parser.c (cp_parser_perform_range_for_lookup): Don't pass true
185 as include_std to perform_koenig_lookup.
186 (cp_parser_postfix_expression): Adjust.
187 * pt.c (tsubst_copy_and_build): Likewise.
188 * semantics.c (perform_koenig_lookup): Remove bool parameter.
189 (omp_reduction_lookup): Adjust.
190 * name-lookup.c (lookup_arg_dependent_1): Remove bool parameter.
191 (lookup_arg_dependent): Likewise.
192 (lookup_function_nonclass): Adjust.
193 * name-lookup.h: Adjust declaration.
194 * cp-tree.h: Likewise.
195
196 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
197
198 PR c++/59087
199 * parser.c (cp_parser_userdef_numeric_literal): Mention
200 -fext-numeric-literals in the message.
201
202 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
203
204 PR c++/59641
205 * call.c (build_conditional_expr_1): Check the return value of
206 force_rvalue.
207
208 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
209
210 * call.c (convert_like_real): Check complain.
211
212 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
213
214 PR c++/59378
215 * typeck.c (build_x_vec_perm_expr): Handle non-dependent arguments
216 in templates.
217
218 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
219
220 Update copyright years
221
222 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
223
224 * cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
225 the standard form for the copyright notice.
226 \f
227 Copyright (C) 2014 Free Software Foundation, Inc.
228
229 Copying and distribution of this file, with or without modification,
230 are permitted in any medium without royalty provided the copyright
231 notice and this notice are preserved.