]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
76bbe4ca 12013-07-13 Jason Merrill <jason@redhat.com>
2
3 PR c++/57793
4 * c-decl.c (finish_struct): Check for too-large class.
5
f5298614 62013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
7
8 PR c/57821
9 * c-typeck.c (set_init_index): When folding, check for index overflow.
10
936c3081 112013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
12
13 * c-parser.c (c_parser_array_notation): Removed rejection of array
14 notations in an array of function pointers.
15
50acebe0 162013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
17
18 * c-array-notation.c (make_triplet_val_inv): New function.
19 (create_cmp_incr): Likewise.
20 (create_array_refs): Likewise.
21 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
22 Also modularized common parts between functions and called the function.
23 (build_array_notation_expr): Likewise.
24 (fix_conditional_array_notations_1): Likewise.
25 (fix_array_notation_expr): Likewise.
26 (fix_array_notation_call_expr): Likewise.
27
01e6cdb4 282013-06-18 Marek Polacek <polacek@redhat.com>
29
30 PR c/57630
31 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
32
6a3adac6 332013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
34
35 * c-array-notation.c (build_array_notation_expr): Reject array notation
36 mismatch between LHS and RHS even inside a call_expr. Also, removed
37 a couple while statements that were dead code.
38
62aab3f3 392013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
40
41 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
42 excessive precision expressions in function parameters. Also removed
43 couple unwanted while statements.
44
bfc83720 452013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
46
47 * c-array-notation.c (expand_array_notation_exprs): Added
48 ARRAY_NOTATION_REF case.
49
09970d67 502013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
51
52 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
53 function to c-family/array-notation-common.c.
54 (is_cilkplus_reduce_builtin): Likewise.
55 (find_rank): Likewise.
56 (extract_array_notation_exprs): Likewise.
57 (replace_array_notations): Likewise.
58 (find_inv_trees): Likewise.
59 (replace_inv_trees): Likewise.
60 (contains_array_notation_expr): Likewise.
61 (find_correct_array_notation_type): Likewise.
62 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
63 (struct inv_list): Moved this to c-family/array-notation-common.c.
64 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
65
6e13bc01 662013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
67
68 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
69 reduction functions outside the for-loop. Added a check if the fundecl
70 is non-NULL. Finally, removed an unwanted if-statement, and made the
71 body unconditional.
72
cc92dddc 732013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
74
75 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
76 condition of the if-statement matches the rank of else-block and then-
77 block when array notations are used.
78 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
79 expression after the entire function body is parsed.
80 (c_parser_expr_no_commas): Delayed creating array notation expressions
81 to the end of function parsing.
82 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
83 whole if-statement instead of just the condition.
84 (expand_array_notation_exprs): Added MODIFY_EXPR case.
85
eddc63fd 862013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
87
88 PR c/57474
89 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
90 array to NULL_TREE if they are unused. Also added a check for the
91 field to be NULL before its fields are used in future.
92
a2115a4a 932013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
94
95 PR bootstrap/57450
96 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
97 (build_array_notation_expr): Likewise.
98
3c6d4197 992013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
100
101 * c-typeck.c (build_array_ref): Added a check to see if array's
102 index is greater than one. If true, then emit an error.
103 (build_function_call_vec): Exclude error reporting and checking
104 for builtin array-notation functions.
105 (convert_arguments): Likewise.
106 (c_finish_return): Added a check for array notations as a return
107 expression. If true, then emit an error.
108 (c_finish_loop): Added a check for array notations in a loop
109 condition. If true then emit an error.
110 (lvalue_p): Added a ARRAY_NOTATION_REF case.
111 (build_binary_op): Added a check for array notation expr inside
112 op1 and op0. If present, we call another function to find correct
113 type.
114 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
115 * c-parser.c (c_parser_compound_statement): Check if array
116 notation code is used in tree, if so, then transform them into
117 appropriate C code.
118 (c_parser_expr_no_commas): Check if array notation is used in LHS
119 or RHS, if so, then build array notation expression instead of
120 regular modify.
121 (c_parser_postfix_expression_after_primary): Added a check for
122 colon(s) after square braces, if so then handle it like an array
123 notation. Also, break up array notations in unary op if found.
124 (c_parser_direct_declarator_inner): Added a check for array
125 notation.
126 (c_parser_compound_statement): Added a check for array notation in
127 a stmt. If one is present, then expand array notation expr.
128 (c_parser_if_statement): Likewise.
129 (c_parser_switch_statement): Added a check for array notations in
130 a switch statement's condition. If true, then output an error.
131 (c_parser_while_statement): Similarly, but for a while.
132 (c_parser_do_statement): Similarly, but for a do-while.
133 (c_parser_for_statement): Similarly, but for a for-loop.
134 (c_parser_unary_expression): Check if array notation is used in a
135 pre-increment or pre-decrement expression. If true, then expand
136 them.
137 (c_parser_array_notation): New function.
138 * c-array-notation.c: New file.
139 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
140
2c1c8a2c 1412013-05-23 Mike Stump <mikestump@comcast.net>
142
143 * c-typeck.c (convert_for_assignment): Handle references to memory
144 spaces better.
145
be5f9e46 1462013-05-16 Jason Merrill <jason@redhat.com>
147
148 * Make-lang.in (cc1$(exeext)): Use link mutex.
149
9205a6cc 1502013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
151
152 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
153 to simply use OPT_Wpointer_arith.
154 (build_unary_op): Likewise.
155
0b049e15 1562013-04-03 Jakub Jelinek <jakub@redhat.com>
157
158 PR c/19449
159 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
160 argument. If set, or it temporarily for parsing of the first
161 argument into force_folding_builtin_constant_p.
162 (c_parser_postfix_expression): Adjust callers.
163
8e966116 1642013-03-21 Richard Biener <rguenther@suse.de>
165
166 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
167 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
168
b862f263 1692013-02-12 Marek Polacek <polacek@redhat.com>
170
171 PR c/44938
172 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
173 origtypes to NULL.
174
54550ecb 1752013-01-24 Jakub Jelinek <jakub@redhat.com>
176
177 PR c/56078
178 * c-typeck.c (set_nonincremental_init_from_string): If
179 constructor_max_index is NULL, treat it as if tree_int_cst_lt
180 returned false.
181 (process_init_element): Likewise.
182
035b65e2 1832012-12-20 Jakub Jelinek <jakub@redhat.com>
184
185 PR c++/55619
186 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
187 argument, don't call default_function_array_conversion
188 nor c_fully_fold here.
189 (c_parser_asm_statement): Adjust callers.
190 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
191 and outputs here, and call default_function_array_conversion
192 on inputs that don't need to be addressable.
193
7cbb7f1a 1942012-12-18 Jakub Jelinek <jakub@redhat.com>
195
196 PR c/39464
197 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
198 warning require that both c_common_unsigned_type as well as
199 c_common_signed_type is the same for both mvl and mvr types.
200
f1f41a6c 2012012-11-16 Diego Novillo <dnovillo@google.com>
202
203 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
204
205 * c-common.c: Use new vec API in vec.h.
206 * c-common.h: Likewise.
207 * c-gimplify.c: Likewise.
208 * c-pragma.c: Likewise.
209 * c-pretty-print.c: Likewise.
210 * c-pretty-print.h: Likewise.
211 * c-semantics.c: Likewise.
212 * c-decl.c: Likewise.
213 * c-parser.c: Likewise.
214 * c-tree.h: Likewise.
215 * c-typeck.c: Likewise.
216
8b447d3f 2172012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
218
219 PR c++/54930
220 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
221
08fc5390 2222012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
223
224 PR c/53066
225 * c-decl.c (warn_if_shadowing): Do not warn if a variable
226 shadows a function, unless the variable is a function or a
227 pointer-to-function.
228
57f872a2 2292012-10-12 Jakub Jelinek <jakub@redhat.com>
230
231 PR c/54381
232 * c-parser.c (struct c_tree_loc_pair): Removed.
233 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
234 add location_t * and tree * arguments, fill in array of 3
235 sizeof_arg trees and corresponding locs.
236 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
237 c_parser_expr_list callers.
238 (c_parser_postfix_expression_after_primary): Likewise. Pass
239 array of 3 sizeof_arg trees and locs (corresponding to first
240 3 arguments) to sizeof_pointer_memaccess_warning.
241
d1455aa3 2422012-10-09 Lawrence Crowl <crowl@google.com>
243
244 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
245 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
246 hash table.
247
b0e7825e 2482012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
249
250 PR c++/54194
251 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
252 call.
253
41ed701a 2542012-10-09 Marc Glisse <marc.glisse@inria.fr>
255
256 PR c++/54427
257 * c-typeck.c: Include c-common.h.
258 (enum stv_conv): Moved to c-common.h.
259 (scalar_to_vector): Moved to c-common.c.
260 (build_binary_op): Adapt to scalar_to_vector's new prototype.
261 * Make-lang.in: c-typeck.c depends on c-common.h.
262
ef34afc1 2632012-10-04 Arnaud Charlet <charlet@adacore.com>
264
265 * c-decl.c (c_write_global_declarations): Fix handling of
266 -fdump-ada-spec*.
267
7bd765d4 2682012-09-30 Sharad Singhai <singhai@google.com>
269
270 * c-decl.c (c_write_global_declarations): Use a different method
271 to determine if the dump has ben initialized.
272
c4b1a13a 2732012-09-14 Joseph Myers <joseph@codesourcery.com>
274
275 PR c/54552
276 * c-typeck.c (c_cast_expr): When casting to a type requiring
277 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
278 c_fully_fold first.
279
bb554051 2802012-09-14 Joseph Myers <joseph@codesourcery.com>
281
282 PR c/54103
283 * c-typeck.c (build_unary_op): Pass original argument of
284 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
285 any C_MAYBE_CONST_EXPR, if it has integer operands.
286 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
287 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
288 to c_objc_common_truthvalue_conversion, then remove any
289 C_MAYBE_CONST_EXPR, if they have integer operands. Use
290 c_objc_common_truthvalue_conversion not
291 c_common_truthvalue_conversion.
292 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
293 call note_integer_operands for arguments with integer operands
294 that are not integer constants.
295
c708c6ef 2962012-09-13 Jakub Jelinek <jakub@redhat.com>
297
298 PR c/54559
299 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
300 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
301
cce20430 3022012-08-31 Jakub Jelinek <jakub@redhat.com>
303
304 PR c/54428
305 * c-convert.c (convert): Don't call fold_convert_loc if
306 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
307 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
308 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
309
a90d57ed 3102012-08-24 Jakub Jelinek <jakub@redhat.com>
311
312 PR c/54355
313 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
314 for nested and empty_ok arguments in the call to
315 c_parser_declaration_or_fndef.
316
f003f5dc 3172012-08-17 Jakub Jelinek <jakub@redhat.com>
318
319 * c-tree.h (c_last_sizeof_arg): Declare.
320 * c-parser.c (struct c_tree_loc_pair): New type.
321 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
322 non-NULL.
323 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
324 (c_parser_postfix_expression_after_primary): Likewise. Call
325 sizeof_pointer_memaccess_warning if needed.
326 (sizeof_ptr_memacc_comptypes): New function.
327 * c-typeck.c (c_last_sizeof_arg): New global variable.
328 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
329
a5656b73 3302012-07-24 Uros Bizjak <ubizjak@gmail.com>
331
332 * c-lang.h (lang_decl): Add variable_size GTY option.
333
b9ed1410 3342012-07-16 Steven Bosscher <steven@gcc.gnu.org>
335
336 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
337 * Make-lang.in: Fix dependencies.
338
e53d55e7 3392012-06-29 Steven Bosscher <steven@gcc.gnu.org>
340
341 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
342 and add language Makefile hooks.
343 * config-lang.in: New file.
344 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
345 add the required "normal" config-lang.in rules.
346 * c-lang.h: Moved from gcc/ to here.
347 * c-tree.h: Likewise.
348 * c-objc-common.c: Likewise.
349 * c-objc-common.h: Likewise.
350 * c-typeck.c: Likewise.
351 * c-convert.c: Likewise.
352 * c-lang.c: Likewise.
353 * c-aux-info.c: Likewise.
354 * c-errors.c: Likewise.
355 * gccspec.c: Likewise.
356 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
357 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
358\f
711789cc 359Copyright (C) 2012-2013 Free Software Foundation, Inc.
e53d55e7 360
361Copying and distribution of this file, with or without modification,
362are permitted in any medium without royalty provided the copyright
363notice and this notice are preserved.