]> gcc.gnu.org Git - gcc.git/blame - gcc/c/ChangeLog
re PR c++/38634 (ICE with wrong number of template parameters)
[gcc.git] / gcc / c / ChangeLog
CommitLineData
1141ed3f
BI
12013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2
3 * c-parser.c (c_parser_array_notation): Removed rejection of array
4 notations in an array of function pointers.
5
713b46fa
BI
62013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
7
8 * c-array-notation.c (make_triplet_val_inv): New function.
9 (create_cmp_incr): Likewise.
10 (create_array_refs): Likewise.
11 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
12 Also modularized common parts between functions and called the function.
13 (build_array_notation_expr): Likewise.
14 (fix_conditional_array_notations_1): Likewise.
15 (fix_array_notation_expr): Likewise.
16 (fix_array_notation_call_expr): Likewise.
17
92f20202
MP
182013-06-18 Marek Polacek <polacek@redhat.com>
19
20 PR c/57630
21 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
22
73a23b06
BI
232013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
24
25 * c-array-notation.c (build_array_notation_expr): Reject array notation
26 mismatch between LHS and RHS even inside a call_expr. Also, removed
27 a couple while statements that were dead code.
28
00b8517d
BI
292013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
30
31 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
32 excessive precision expressions in function parameters. Also removed
33 couple unwanted while statements.
34
1509bdda
BI
352013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
36
37 * c-array-notation.c (expand_array_notation_exprs): Added
38 ARRAY_NOTATION_REF case.
39
d60f1706
BI
402013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
41
42 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
43 function to c-family/array-notation-common.c.
44 (is_cilkplus_reduce_builtin): Likewise.
45 (find_rank): Likewise.
46 (extract_array_notation_exprs): Likewise.
47 (replace_array_notations): Likewise.
48 (find_inv_trees): Likewise.
49 (replace_inv_trees): Likewise.
50 (contains_array_notation_expr): Likewise.
51 (find_correct_array_notation_type): Likewise.
52 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
53 (struct inv_list): Moved this to c-family/array-notation-common.c.
54 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
55
6d6efbb3
BI
562013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
57
58 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
59 reduction functions outside the for-loop. Added a check if the fundecl
60 is non-NULL. Finally, removed an unwanted if-statement, and made the
61 body unconditional.
62
25c22937
BI
632013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
64
65 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
66 condition of the if-statement matches the rank of else-block and then-
67 block when array notations are used.
68 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
69 expression after the entire function body is parsed.
70 (c_parser_expr_no_commas): Delayed creating array notation expressions
71 to the end of function parsing.
72 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
73 whole if-statement instead of just the condition.
74 (expand_array_notation_exprs): Added MODIFY_EXPR case.
75
edd25645
BI
762013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
77
78 PR c/57474
79 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
80 array to NULL_TREE if they are unused. Also added a check for the
81 field to be NULL before its fields are used in future.
82
065ce7f1
RO
832013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
84
85 PR bootstrap/57450
86 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
87 (build_array_notation_expr): Likewise.
88
36536d79
BI
892013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
90
91 * c-typeck.c (build_array_ref): Added a check to see if array's
92 index is greater than one. If true, then emit an error.
93 (build_function_call_vec): Exclude error reporting and checking
94 for builtin array-notation functions.
95 (convert_arguments): Likewise.
96 (c_finish_return): Added a check for array notations as a return
97 expression. If true, then emit an error.
98 (c_finish_loop): Added a check for array notations in a loop
99 condition. If true then emit an error.
100 (lvalue_p): Added a ARRAY_NOTATION_REF case.
101 (build_binary_op): Added a check for array notation expr inside
102 op1 and op0. If present, we call another function to find correct
103 type.
104 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
105 * c-parser.c (c_parser_compound_statement): Check if array
106 notation code is used in tree, if so, then transform them into
107 appropriate C code.
108 (c_parser_expr_no_commas): Check if array notation is used in LHS
109 or RHS, if so, then build array notation expression instead of
110 regular modify.
111 (c_parser_postfix_expression_after_primary): Added a check for
112 colon(s) after square braces, if so then handle it like an array
113 notation. Also, break up array notations in unary op if found.
114 (c_parser_direct_declarator_inner): Added a check for array
115 notation.
116 (c_parser_compound_statement): Added a check for array notation in
117 a stmt. If one is present, then expand array notation expr.
118 (c_parser_if_statement): Likewise.
119 (c_parser_switch_statement): Added a check for array notations in
120 a switch statement's condition. If true, then output an error.
121 (c_parser_while_statement): Similarly, but for a while.
122 (c_parser_do_statement): Similarly, but for a do-while.
123 (c_parser_for_statement): Similarly, but for a for-loop.
124 (c_parser_unary_expression): Check if array notation is used in a
125 pre-increment or pre-decrement expression. If true, then expand
126 them.
127 (c_parser_array_notation): New function.
128 * c-array-notation.c: New file.
129 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
130
cd192ccc
MS
1312013-05-23 Mike Stump <mikestump@comcast.net>
132
133 * c-typeck.c (convert_for_assignment): Handle references to memory
134 spaces better.
135
427b248d
JM
1362013-05-16 Jason Merrill <jason@redhat.com>
137
138 * Make-lang.in (cc1$(exeext)): Use link mutex.
139
44d90fe1
PC
1402013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
141
142 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
143 to simply use OPT_Wpointer_arith.
144 (build_unary_op): Likewise.
145
4e7d7b3d
JJ
1462013-04-03 Jakub Jelinek <jakub@redhat.com>
147
148 PR c/19449
149 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
150 argument. If set, or it temporarily for parsing of the first
151 argument into force_folding_builtin_constant_p.
152 (c_parser_postfix_expression): Adjust callers.
153
839b422f
RB
1542013-03-21 Richard Biener <rguenther@suse.de>
155
156 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
157 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
158
2ee028f1
MP
1592013-02-12 Marek Polacek <polacek@redhat.com>
160
161 PR c/44938
162 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
163 origtypes to NULL.
164
8824edff
JJ
1652013-01-24 Jakub Jelinek <jakub@redhat.com>
166
167 PR c/56078
168 * c-typeck.c (set_nonincremental_init_from_string): If
169 constructor_max_index is NULL, treat it as if tree_int_cst_lt
170 returned false.
171 (process_init_element): Likewise.
172
eadd3d0d
JJ
1732012-12-20 Jakub Jelinek <jakub@redhat.com>
174
175 PR c++/55619
176 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
177 argument, don't call default_function_array_conversion
178 nor c_fully_fold here.
179 (c_parser_asm_statement): Adjust callers.
180 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
181 and outputs here, and call default_function_array_conversion
182 on inputs that don't need to be addressable.
183
f8a93a2e
JJ
1842012-12-18 Jakub Jelinek <jakub@redhat.com>
185
186 PR c/39464
187 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
188 warning require that both c_common_unsigned_type as well as
189 c_common_signed_type is the same for both mvl and mvr types.
190
9771b263
DN
1912012-11-16 Diego Novillo <dnovillo@google.com>
192
193 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
194
195 * c-common.c: Use new vec API in vec.h.
196 * c-common.h: Likewise.
197 * c-gimplify.c: Likewise.
198 * c-pragma.c: Likewise.
199 * c-pretty-print.c: Likewise.
200 * c-pretty-print.h: Likewise.
201 * c-semantics.c: Likewise.
202 * c-decl.c: Likewise.
203 * c-parser.c: Likewise.
204 * c-tree.h: Likewise.
205 * c-typeck.c: Likewise.
206
880661a4
JW
2072012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
208
209 PR c++/54930
210 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
211
077d1abe
MLI
2122012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
213
214 PR c/53066
215 * c-decl.c (warn_if_shadowing): Do not warn if a variable
216 shadows a function, unless the variable is a function or a
217 pointer-to-function.
218
3a785c97
JJ
2192012-10-12 Jakub Jelinek <jakub@redhat.com>
220
221 PR c/54381
222 * c-parser.c (struct c_tree_loc_pair): Removed.
223 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
224 add location_t * and tree * arguments, fill in array of 3
225 sizeof_arg trees and corresponding locs.
226 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
227 c_parser_expr_list callers.
228 (c_parser_postfix_expression_after_primary): Likewise. Pass
229 array of 3 sizeof_arg trees and locs (corresponding to first
230 3 arguments) to sizeof_pointer_memaccess_warning.
231
703c8606
LC
2322012-10-09 Lawrence Crowl <crowl@google.com>
233
234 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
235 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
236 hash table.
237
5d9de0d0
PC
2382012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
239
240 PR c++/54194
241 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
242 call.
243
a212e43f
MG
2442012-10-09 Marc Glisse <marc.glisse@inria.fr>
245
246 PR c++/54427
247 * c-typeck.c: Include c-common.h.
248 (enum stv_conv): Moved to c-common.h.
249 (scalar_to_vector): Moved to c-common.c.
250 (build_binary_op): Adapt to scalar_to_vector's new prototype.
251 * Make-lang.in: c-typeck.c depends on c-common.h.
252
3b78de56
AC
2532012-10-04 Arnaud Charlet <charlet@adacore.com>
254
255 * c-decl.c (c_write_global_declarations): Fix handling of
256 -fdump-ada-spec*.
257
78c60e3d
SS
2582012-09-30 Sharad Singhai <singhai@google.com>
259
260 * c-decl.c (c_write_global_declarations): Use a different method
261 to determine if the dump has ben initialized.
262
9f33203d
JM
2632012-09-14 Joseph Myers <joseph@codesourcery.com>
264
265 PR c/54552
266 * c-typeck.c (c_cast_expr): When casting to a type requiring
267 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
268 c_fully_fold first.
269
a27d595d
JM
2702012-09-14 Joseph Myers <joseph@codesourcery.com>
271
272 PR c/54103
273 * c-typeck.c (build_unary_op): Pass original argument of
274 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
275 any C_MAYBE_CONST_EXPR, if it has integer operands.
276 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
277 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
278 to c_objc_common_truthvalue_conversion, then remove any
279 C_MAYBE_CONST_EXPR, if they have integer operands. Use
280 c_objc_common_truthvalue_conversion not
281 c_common_truthvalue_conversion.
282 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
283 call note_integer_operands for arguments with integer operands
284 that are not integer constants.
285
9feb29df
JJ
2862012-09-13 Jakub Jelinek <jakub@redhat.com>
287
288 PR c/54559
289 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
290 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
291
d409320c
JJ
2922012-08-31 Jakub Jelinek <jakub@redhat.com>
293
294 PR c/54428
295 * c-convert.c (convert): Don't call fold_convert_loc if
296 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
297 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
298 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
299
6265d07c
JJ
3002012-08-24 Jakub Jelinek <jakub@redhat.com>
301
302 PR c/54355
303 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
304 for nested and empty_ok arguments in the call to
305 c_parser_declaration_or_fndef.
306
1a4049e7
JJ
3072012-08-17 Jakub Jelinek <jakub@redhat.com>
308
309 * c-tree.h (c_last_sizeof_arg): Declare.
310 * c-parser.c (struct c_tree_loc_pair): New type.
311 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
312 non-NULL.
313 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
314 (c_parser_postfix_expression_after_primary): Likewise. Call
315 sizeof_pointer_memaccess_warning if needed.
316 (sizeof_ptr_memacc_comptypes): New function.
317 * c-typeck.c (c_last_sizeof_arg): New global variable.
318 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
319
0229aee9
UB
3202012-07-24 Uros Bizjak <ubizjak@gmail.com>
321
322 * c-lang.h (lang_decl): Add variable_size GTY option.
323
7ee2468b
SB
3242012-07-16 Steven Bosscher <steven@gcc.gnu.org>
325
326 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
327 * Make-lang.in: Fix dependencies.
328
d4a10d0a
SB
3292012-06-29 Steven Bosscher <steven@gcc.gnu.org>
330
331 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
332 and add language Makefile hooks.
333 * config-lang.in: New file.
334 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
335 add the required "normal" config-lang.in rules.
336 * c-lang.h: Moved from gcc/ to here.
337 * c-tree.h: Likewise.
338 * c-objc-common.c: Likewise.
339 * c-objc-common.h: Likewise.
340 * c-typeck.c: Likewise.
341 * c-convert.c: Likewise.
342 * c-lang.c: Likewise.
343 * c-aux-info.c: Likewise.
344 * c-errors.c: Likewise.
345 * gccspec.c: Likewise.
346 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
347 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
348\f
d1e082c2 349Copyright (C) 2012-2013 Free Software Foundation, Inc.
d4a10d0a
SB
350
351Copying and distribution of this file, with or without modification,
352are permitted in any medium without royalty provided the copyright
353notice and this notice are preserved.
This page took 0.309141 seconds and 5 git commands to generate.