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