]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
2014-05-09 Richard Biener <rguenther@suse.de>
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
c2c4ae8d 12014-05-08 Marek Polacek <polacek@redhat.com>
2
3 PR c/61053
4 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
5 TYPE_ALIGN_UNIT.
6
2026249a 72014-05-08 Marek Polacek <polacek@redhat.com>
8
9 PR c/61077
10 * c-decl.c (start_function): Warn for _Atomic-qualified return type
11 of main.
12
960d5a55 132014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
14 Mike Stump <mikestump@comcast.net>
15 Richard Sandiford <rdsandiford@googlemail.com>
16
17 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
18 (finish_enum): Use wide-int interfaces.
19 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
20 * c-typeck.c (build_c_cast): Likewise.
21 (set_nonincremental_init_from_string): Likewise.
22 (c_tree_equal): Likewise.
23
e0e14cbd 242014-05-02 Marek Polacek <polacek@redhat.com>
25
26 PR c/25801
27 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
28 Return size_one_node when the type is not complete.
29 (pointer_diff): Remove comment.
30 (build_unary_op): Improve error messages.
31
27ff10cb 322014-05-02 Marek Polacek <polacek@redhat.com>
33
34 * c-typeck.c (c_finish_return): Separate warning_at calls.
35
68410ce9 362014-05-02 Marek Polacek <polacek@redhat.com>
37
38 * c-tree.h (error_init): Remove declaration.
39 (pedwarn_init): Likewise.
40 * c-typeck.c (error_init): Make static and move above.
41 (pedwarn_init): Likewise.
42 (warning_init): Move above.
43 (maybe_warn_string_init): Likewise.
44
e8e27117 452014-05-01 Jeff Law <law@redhat.com>
46
47 Revert:
48
49 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
50 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
51 avoid goto.
52
971df357 532014-05-02 Marek Polacek <polacek@redhat.com>
54
55 PR c/60784
56 * c-typeck.c (push_init_level): Set constructor_designated to
57 p->designated for structures.
58
de548fe5 592014-05-01 Marek Polacek <polacek@redhat.com>
60
61 PR c/60915
62 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
63 function-definition has an attribute after the declarator.
64
053a0ded 652014-05-01 Marek Polacek <polacek@redhat.com>
66
67 PR c/60257
68 * c-typeck.c (warning_init): Add location_t parameter. Call
69 warning_at instead of warning.
70 (push_init_level): Pass input_location to warning_init.
71 (add_pending_init): Add location_t parameter. Pass loc to
72 warning_init.
73 (set_nonincremental_init): Pass input_location to add_pending_init.
74 (set_nonincremental_init_from_string): Likewise.
75 (output_init_element): Pass loc to warning_init and to
76 add_pending_init.
77
694296f2 782014-05-01 Marek Polacek <polacek@redhat.com>
79
80 PR c/43395
81 * c-typeck.c (c_finish_return): Distinguish between label and variable
82 when warning about returning local address.
83
86bbd7f9 842014-05-01 Marek Polacek <polacek@redhat.com>
85
86 PR c/29467
87 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
88 in C89 mode.
89
e4ab2ef3 902014-05-01 Marek Polacek <polacek@redhat.com>
91
92 PR c/43245
93 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
94 instead of 0 to WARN_FOR_QUALIFIERS.
95
ca3999cb 962014-05-01 Marek Polacek <polacek@redhat.com>
97
98 PR c/56989
99 * c-typeck.c (default_conversion): Use better location for
100 error call.
101
52cc0072 1022014-04-30 Marek Polacek <polacek@redhat.com>
103
104 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
105 also when SANITIZE_FLOAT_DIVIDE is on.
106
af379dd3 1072014-04-30 Marek Polacek <polacek@redhat.com>
108
109 PR c/60139
110 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
111 and pedwarn_init. Use loc insted of input_location.
112
b069c2a0 1132014-04-30 Marek Polacek <polacek@redhat.com>
114
115 PR c/60351
116 * c-typeck.c (build_binary_op): Use location when warning about
117 shift count.
118
4a026b48 1192014-04-25 Marek Polacek <polacek@redhat.com>
120
121 PR c/18079
122 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
123 always_inline/noinline and hot/cold attributes.
124
adc93f31 1252014-04-25 Marek Polacek <polacek@redhat.com>
126
127 PR c/60114
128 * c-parser.c (c_parser_initelt): Pass input_location to
129 process_init_element.
130 (c_parser_initval): Pass loc to process_init_element.
131 * c-tree.h (process_init_element): Adjust declaration.
132 * c-typeck.c (push_init_level): Pass input_location to
133 process_init_element.
134 (pop_init_level): Likewise.
135 (set_designator): Likewise.
136 (output_init_element): Add location_t parameter. Pass loc to
137 digest_init.
138 (output_pending_init_elements): Pass input_location to
139 output_init_element.
140 (process_init_element): Add location_t parameter. Pass loc to
141 output_init_element.
142
e1029911 1432014-04-24 Jakub Jelinek <jakub@redhat.com>
144
145 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
146 atomic-clause, allow comma in between atomic-clause and
147 seq_cst.
148
9f0a7bc6 1492014-04-22 Jakub Jelinek <jakub@redhat.com>
150
151 PR c/59073
152 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
153 fails, don't set OM_PARALLEL_COMBINED and return NULL.
154
094da06d 1552014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
156
157 PR middle-end/60469
158 * c-array-notation.c (fix_builtin_array_notation_fn): Use
159 create_tmp_var instead build_decl for creating temps.
160 (build_array_notation_expr): Likewise.
161 (fix_conditional_array_notations_1): Likewise.
162 (fix_array_notation_expr): Likewise.
163 (fix_array_notation_call_expr): Likewise.
164
5a672e62 1652014-03-28 Jakub Jelinek <jakub@redhat.com>
166
167 PR c++/60689
168 * c-tree.h (c_build_function_call_vec): New prototype.
169 * c-typeck.c (build_function_call_vec): Don't call
170 resolve_overloaded_builtin here.
171 (c_build_function_call_vec): New wrapper function around
172 build_function_call_vec. Call resolve_overloaded_builtin here.
173 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
174 Call c_build_function_call_vec instead of build_function_call_vec.
175 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
176 * c-decl.c (finish_decl): Likewise.
177
f40f5e0e 1782014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
179
180 PR c/55383
181 * c-typeck.c: Use correct format string in cast-qual warning
182
9ec099a3 1832014-03-07 Thomas Schwinge <thomas@codesourcery.com>
184
185 * c-decl.c (c_decl_attributes): Use
186 lang_hooks.types.omp_mappable_type.
187 * c-typeck.c (c_finish_omp_clauses): Likewise.
188
3bfdc94f 1892014-03-06 Marek Polacek <polacek@redhat.com>
190
191 PR c/60197
192 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
193 of checking tree code.
194
8f1128f8 1952014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
196
197 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
198 (c_parser_parameter_declaration): Likewise.
199
977b1853 2002014-02-19 Marek Polacek <polacek@redhat.com>
201
202 PR c/60195
203 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
204 Call mark_exp_read on exp.value.
205 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
206 TREE_ADDRESSABLE on old instead of val.
207 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
208
825cd6ef 2092014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
210
211 * c-parser.c (c_parser_get_builtin_args): Replace calls to
212 C_EXPR_APPEND by vec_safe_push.
213 * c-tree.h (C_EXPR_APPEND): Remove.
214
ec761d5a 2152014-01-31 Marek Polacek <polacek@redhat.com>
216
217 PR c/59963
218 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
219 build_function_call_vec.
220 (build_function_call): Likewise.
221 (build_atomic_assign): Likewise.
222 (build_function_call_vec): Add arg_loc parameter. Use it.
223 (convert_arguments): Likewise.
224 (convert_for_assignment): Rename rhs_loc to expr_loc.
225 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
226 (c_parser_objc_keywordexpr): Likewise.
227 (c_parser_postfix_expression_after_primary): Call
228 build_function_call_vec with expr_loc rather than op_loc.
229 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
230 build_function_call_vec.
231 (c_parser_expr_list): Add locations parameter. Fill it with locations
232 of function arguments.
233 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
234
22a75734 2352014-01-30 Marek Polacek <polacek@redhat.com>
236
237 PR c/59940
238 * c-typeck.c (build_function_call_vec): Use loc parameter.
239 (convert_arguments): Add location parameter. Use it.
240 (ep_convert_and_check): Likewise.
241 (build_atomic_assign): Adjust convert_for_assignment call.
242 (build_modify_expr): Likewise.
243 (digest_init): Likewise.
244 (c_finish_return): Likewise.
245 (build_conditional_expr): Adjust ep_convert_and_check calls.
246 (convert_for_assignment): Add rhs_loc parameter. Use it.
247 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
248 calls.
249
29f580ac 2502014-01-30 Richard Biener <rguenther@suse.de>
251
252 PR c/59905
253 * c-typeck.c (build_function_call_vec): Do not replace calls
254 to a function via an incompatible type with a runtime abort.
255
a89e6c15 2562014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
257
258 * c-parser.c (c_parser_declaration_or_fndef): Replaced
259 flag_enable_cilkplus with flag_cilkplus.
260 (c_parser_direct_declarator_inner): Likewise.
261 (c_parser_attribute_any_word): Likewise.
262 (c_parser_attributes): Likewise.
263 (c_parser_compound_statement): Likewise.
264 (c_parser_statement_after_labels): Likewise.
265 (c_parser_if_statement): Likewise.
266 (c_parser_switch_statement): Likewise.
267 (c_parser_do_statement): Likewise.
268 (c_parser_for_statement): Likewise.
269 (c_parser_unary_expression): Likewise.
270 (c_parser_postfix_expression): Likewise.
271 (c_parser_postfix_expression_after_primary): Likewise.
272 (c_parser_postfix_expression_after_primary): Likewise.
273 (c_parser_omp_clause_name): Likewise.
274 (c_finish_omp_declare_simd): Likewise.
275 (c_parser_cilk_verify_simd): Likewise.
276 * c-typeck.c (build_array_ref): Likewise.
277 (build_function_call_vec): Likewise.
278 (convert_arguments): Likewise.
279 (build_compound_expr): Likewise.
280 (c_finish_return): Likewise.
281 (c_finish_if_stmt): Likewise.
282 (c_finish_loop): Likewise.
283 (build_binary_op): Likewise.
284
2623625f 2852014-01-23 Marek Polacek <polacek@redhat.com>
286
287 PR c/59846
288 * c-typeck.c (parser_build_binary_op): Use location instead of
289 input_location.
290 (build_binary_op): Pass location to shorten_compare.
291
46da3601 2922014-01-23 Marek Polacek <polacek@redhat.com>
293
294 PR c/58346
295 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
296 an empty aggregate.
297
9a9db3c1 2982014-01-23 Marek Polacek <polacek@redhat.com>
299
300 PR c/59871
301 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
302 of a comma expression.
303 (emit_side_effect_warnings): Likewise.
304
69c9b607 3052014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
306
307 PR c/59825
308 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
309 function to use walk_tree and moved a lot of its functionality to
310 expand_array_notations.
311 (expand_array_notations): New function.
312
7e005ab5 3132014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
314
315 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
316 attribute an attribute without value.
317
d6779b5f 3182014-01-23 Jakub Jelinek <jakub@redhat.com>
319
320 PR middle-end/58809
321 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
322 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
323
ec431042 3242014-01-22 Marek Polacek <polacek@redhat.com>
325
326 PR c/59891
327 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
328 of remove_c_maybe_const_expr on op1 and op2.
329
1248c663 3302014-01-15 Jakub Jelinek <jakub@redhat.com>
331
332 PR c/58943
333 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
334 effects, preevaluate rhs using SAVE_EXPR first.
335
0bc789fc 3362014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
337
338 PR c++/59631
339 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
340 statements with if-elseif statements.
341
6685d11c 3422014-01-06 Marek Polacek <polacek@redhat.com>
343
344 PR c/57773
345 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
346 defined bit-field types only in ISO C.
347
3aea1f79 3482014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
349
350 Update copyright years
351
e4f22041 3522014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
353
354 * c-array-notation.c: Use the standard form for the copyright notice.
355
74acc703 3562013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
357
358 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
359 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
360 field in parser is not empty. If not-empty, call the function
361 c_parser_finish_omp_declare_simd.
362 (c_parser_cilk_clause_vectorlength): Modified function to be shared
363 between SIMD-enabled functions and #pragma simd. Added new parameter.
364 (c_parser_cilk_all_clauses): Modified the usage of the function
365 c_parser_cilk_clause_vectorlength as mentioned above.
366 (c_parser_cilk_simd_fn_vector_attrs): New function.
367 (c_finish_cilk_simd_fn_tokens): Likewise.
368 (is_cilkplus_vector_p): Likewise.
369 (c_parser_omp_clause_name): Added checking for "vectorlength,"
370 "nomask," and "mask" strings in clause name.
371 (c_parser_omp_all_clauses): Added 3 new case statements:
372 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
373 PRAGMA_CILK_CLAUSE_NOMASK.
374 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
375 check for vector attribute and if so call the function
376 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
377 called the function c_finish_cilk_simd_fn_tokens.
378 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
379 parser field is non-empty. If so, parse them as you would parse
380 the omp declare simd pragma.
381 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
382 Added a check when step is a parameter and flag it as error.
383 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
384 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
385 pragma_omp_clause.
386
395dc01c 3872013-12-17 Thomas Schwinge <thomas@codesourcery.com>
388
389 * c-parser.c (c_parser_omp_parallel): Fix description.
390
433e804e 3912013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
392
393 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
394 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
395 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
396 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
397
a179a7dc 3982013-12-04 Joseph Myers <joseph@codesourcery.com>
399
400 PR c/52023
401 * c-parser.c (c_parser_alignas_specifier): Use
402 c_sizeof_or_alignof_type instead of c_alignof.
403 (c_parser_alignof_expression): Likewise, with min_alignof
404 parameter depending on alignof spelling used.
405
bdf1e3c7 4062013-12-04 Marek Polacek <polacek@redhat.com>
407
408 PR c/54113
409 * c-decl.c (start_function): Don't warn for missing prototype for
410 inline functions.
411
05e8f674 4122013-12-03 Marek Polacek <polacek@redhat.com>
413
414 PR c/59351
415 * c-decl.c (build_compound_literal): Allow compound literals with
416 empty initial value.
417
39f74d66 4182013-12-02 Joseph Myers <joseph@codesourcery.com>
419
420 PR c/58235
421 * c-typeck.c (build_modify_expr): Diagnose assignment to
422 expression with array type.
423
f221adca 4242013-11-29 Joseph Myers <joseph@codesourcery.com>
425
426 PR c/42262
427 * c-typeck.c (process_init_element): Do not treat a string as
428 initializing a whole array when used with a designator for an
429 individual element.
430
75bce827 4312013-11-29 Joseph Myers <joseph@codesourcery.com>
432
433 PR c/57574
434 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
435 an inline function following a static declaration.
436
dc133326 4372013-11-28 Jakub Jelinek <jakub@redhat.com>
438
439 PR c/59310
440 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
441 to p_name before calling c_parser_omp_teams instead of after.
442 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
443 argument. Remove unused p_name variable.
444
d09768a4 4452013-11-27 Aldy Hernandez <aldyh@redhat.com>
446 Jakub Jelinek <jakub@redhat.com>
447
448 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
449 external_scope is NULL.
450
73fd9cbe 4512013-11-27 Tom de Vries <tom@codesourcery.com>
452 Marc Glisse <marc.glisse@inria.fr>
453
454 PR c++/59032
455 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
456
bc61cadb 4572013-11-22 Andrew MacLeod <amacleod@redhat.com>
458
459 * c-typeck.c: Add required include files from gimple.h.
460
3df42822 4612013-11-22 David Malcolm <dmalcolm@redhat.com>
462
463 * c-decl.c (define_label, shadow_tag_warned)
464 (check_bitfield_type_and_width, grokdeclarator, grokparms,
465 store_parm_decls_newstyle, store_parm_decls_oldstyle)
466 (declspecs_add_type): Remove use of in_system_header macro.
467 * c-parser.c (c_parser_unary_expression): Likewise.
468 * c-typeck.c (store_init_value, process_init_element)
469 (c_start_case): Likewise.
470
471 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
472 macro.
473
474 * c-parser.c (c_parser_set_source_position_from_token): Remove
475 reference to in_system_header from comment.
476
08f817b3 4772013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
478
479 * c-decl.c (grokdeclarator): Update comment to refer to
480 tree_to_[su]hwi rather than tree_low_cst.
481
6a0712d4 4822013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
483
484 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
485 tree_to_uhwi throughout.
486
fcb97e84 4872013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
488
489 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
490 throughout.
491
35ec552a 4922013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
493
494 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
495 throughout.
496
f2697631 4972013-11-15 Aldy Hernandez <aldyh@redhat.com>
498
499 * c-parser.c (c_parser_cilk_simd): New.
500 (c_parser_cilk_verify_simd): New.
501 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
502 (c_parser_omp_for_loop): Add case for NE_EXPR.
503 Set c_break_label for CILK_SIMD.
504 (c_parser_cilk_clause_vectorlength): New.
505 (c_parser_cilk_clause_linear): New.
506 (c_parser_cilk_clause_name): New.
507 (c_parser_cilk_all_clauses): New.
508 * c-typeck.c (build_unary_op): Pass location argument to
509 readonly_error.
510 (build_modify_expr): Same.
511 (build_asm_expr): Same.
512 (c_finish_bc_stmt): Error on break/continue in loops.
513
e795d6e1 5142013-11-14 Andrew MacLeod <amacleod@redhat.com>
515
516 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
517
9ed99284 5182013-11-14 Diego Novillo <dnovillo@google.com>
519
520 * c-decl.c: Include print-tree.h.
521 Include stor-layout.h.
522 Include varasm.h.
523 Include attribs.h.
524 Include stringpool.h.
525 * c-lang.c: Include fold-const.h.
526 * c-parser.c: Include stringpool.h.
527 Include attribs.h.
528 Include stor-layout.h.
529 Include varasm.h.
530 Include trans-mem.h.
531 * c-typeck.c: Include stor-layout.h.
532 Include trans-mem.h.
533 Include varasm.h.
534 Include stmt.h.
535
4fba5eb9 5362013-11-13 Joseph Myers <joseph@codesourcery.com>
537
538 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
539 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
540 __auto_type.
541 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
542 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
543 RID_AUTO_TYPE.
544 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
545 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
546 (c_parser_declarator, c_parser_direct_declarator_inner)
547 (c_parser_parameter_declaration, c_parser_type_name): All callers
548 changed.
549 (c_parser_declaration_or_fndef): Handle declarations with type
550 determined from the initializer.
551
a8783bee 5522013-11-12 Andrew MacLeod <amacleod@redhat.com>
553
e795d6e1 554 * c-typeck.c: Include gimplify.h.
a8783bee 555
d184e0c0 5562013-11-12 Joseph Myers <joseph@codesourcery.com>
557
558 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
559 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
560 comment.
561 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
562 or _Thread_local as appropriate in diagnostics.
563 (build_null_declspecs): Initialize ret->thread_gnu_p.
564 (declspecs_add_scspec): Handle either __thread or _Thread_local
565 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
566 pedantic. Do not disallow _Thread_local extern and _Thread_local
567 static.
568
b560fabd 5692013-11-07 Joseph Myers <joseph@codesourcery.com>
570 Andrew MacLeod <amacleod@redhat.com>
571
572 * c-aux-info.c (gen_type): Handle atomic qualifier.
573 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
574 qualifiers when compating types.
575 (shadow_tag_warned): Handle atomic_p in declspecs.
576 (quals_from_declspecs): Likewise.
577 (start_decl): Use c_type_promotes_to when promoting argument
578 types.
579 (grokdeclarator): Handle _Atomic.
580 (get_parm_info): Diagnose any qualifier on "void" as only
581 parameter.
582 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
583 comparing types. Use c_type_promotes_to when promoting argument
584 types.
585 (finish_function): Use c_type_promotes_to when promoting argument
586 types.
587 (build_null_declspecs): Handle atomic_p in declspecs.
588 (declspecs_add_qual): Handle RID_ATOMIC.
589 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
590 (c_token_starts_declspecs): Handle RID_ATOMIC.
591 (c_parser_declspecs): Handle atomic type specifiers and
592 qualifiers.
593 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
594 from types of expressions with atomic type.
595 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
596 (c_parser_attribute_any_word): Handle RID_ATOMIC.
597 (c_parser_initializer, c_parser_initelt, c_parser_initval)
598 (c_parser_statement_after_labels, c_parser_switch_statement)
599 (c_parser_for_statement, c_parser_expr_no_commas)
600 (c_parser_conditional_expression, c_parser_binary_expression)
601 (c_parser_cast_expression, c_parser_unary_expression)
602 (c_parser_postfix_expression)
603 (c_parser_postfix_expression_after_primary, c_parser_expression):
604 Use convert_lvalue_to_rvalue.
605 (c_parser_expression_conv, c_parser_expr_list): Document
606 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
607 (c_parser_objc_synchronized_statement): Use
608 convert_lvalue_to_rvalue.
609 (c_parser_objc_selector): Handle RID_ATOMIC.
610 (c_parser_objc_receiver, c_parser_array_notation): Use
611 convert_lvalue_to_rvalue.
612 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
613 _Atomic (type-name).
614 (struct c_declspecs): Add atomic_p field.
615 (convert_lvalue_to_rvalue): Declare.
616 * c-typeck.c (c_type_promotes_to): Promote atomic types to
617 corresponding atomic types.
618 (qualify_type): Don't add _Atomic qualifiers from second argument.
619 (comp_target_types): Do not allow _Atomic mismatches.
620 (type_lists_compatible_p): Do not remove atomic qualifiers when
621 comparing types.
622 (really_atomic_lvalue, convert_lvalue_to_rvalue)
623 (build_atomic_assign): New functions.
624 (build_unary_op): Use build_atomic_assign for atomic increment and
625 decrement.
626 (build_conditional_expr): Do not treat _Atomic void as a qualified
627 version of void.
628 (build_modify_expr): Use build_atomic_assign for atomic LHS.
629 (find_anonymous_field_with_type, convert_to_anonymous_field)
630 (convert_for_assignment): Do not remove atomic qualifiers when
631 comparing types.
632 (digest_init): Do not accept initialization of arrays of atomic
633 elements by string constants.
634 (build_asm_expr): Use convert_lvalue_to_rvalue.
635 (build_binary_op): Do not treat _Atomic void as a qualified
636 version of void.
637
8b023e7c 6382013-11-06 DJ Delorie <dj@redhat.com>
639
640 * c-decl.c (locate_old_decl): If a previous conflicting decl is
641 both explicit and builtin, print the location of the explicit one.
642
c630ef93 6432013-11-05 Tobias Burnus <burnus@net-b.de>
644
645 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
646 c_parser_omp_distribute, c_parser_omp_teams,
647 c_parser_omp_target, c_parser_omp_declare): Handle
648 -fopenmp-simd.
649
2c4c3477 6502013-11-03 Marek Polacek <polacek@redhat.com>
651
652 * c-decl.c (grokdeclarator): Add VLA instrumentation.
653
df205251 6542013-11-01 Jakub Jelinek <jakub@redhat.com>
655
656 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
657 check_dup_generic at the end, unless remove is true.
658 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
659 remove = true;.
660 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
661
23871d0c 6622013-10-31 Jakub Jelinek <jakub@redhat.com>
663
664 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
665 with decl that is not pointer nor array.
666
d037099f 6672013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
668
669 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
670 a spawning function is found.
671 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
672 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
673 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
674 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
675 case.
676 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
677 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
678 expr.
679 (c_finish_return): Added a check to reject _Cilk_spawn in return
680 expression.
681 (build_cilk_spawn): New function.
682 (build_cilk_sync): Likewise.
683 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
684
4c90c04c 6852013-10-27 Tobias Burnus <burnus@net-b.de>
686
687 PR other/33426
688 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
689 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
690 (c_parser_statement_after_labels): Update calls.
691
48a972c8 6922013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 693
694 PR other/33426
695 * c-parser.c (c_parser_pragma, c_parser_for_statement):
696 Handle PRAGMA_IVDEP.
697 (c_parser_statement_after_labels): Update call.
698
12f86df0 6992013-10-24 Marek Polacek <polacek@redhat.com>
700
701 * c-parser.c (c_parser_struct_declaration): Add a comment.
702 (c_parser_declarator): Don't allow _Alignas here.
703
7740abd8 7042013-10-17 Andrew MacLeod <amacleod@redhat.com>
705
706 * c-parser.c: Include omp-low.h.
707 * c-typeck.c: Likewise.
708
43d03c23 7092013-10-17 Marek Polacek <polacek@redhat.com>
710
711 PR c/58267
712 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
713 Document syntax of the array-declarator.
714 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
715 are not permitted.
716 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
717 (c_parser_struct_declaration): Likewise.
718 (c_parser_declarator): Likewise.
719 (c_parser_direct_declarator_inner): Likewise.
720 (c_parser_parameter_declaration): Likewise.
721 (c_parser_type_name): Likewise.
722
bc7bff74 7232013-10-11 Jakub Jelinek <jakub@redhat.com>
724
725 * c-lang.h (current_omp_declare_target_attribute): New extern
726 decl.
727 * c-parser.c: Include c-lang.h.
728 (struct c_parser): Change tokens to c_token *.
729 Add tokens_buf field. Change tokens_avail type to unsigned int.
730 (c_parser_consume_token): If parser->tokens isn't
731 &parser->tokens_buf[0], increment parser->tokens.
732 (c_parser_consume_pragma): Likewise.
733 (enum pragma_context): Add pragma_struct and pragma_param.
734 (c_parser_external_declaration): Adjust
735 c_parser_declaration_or_fndef caller.
736 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
737 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
738 Adjust recursive call.
739 (c_parser_struct_or_union_specifier): Use pragma_struct instead
740 of pragma_external.
741 (c_parser_parameter_declaration): Use pragma_param instead of
742 pragma_external.
743 (c_parser_compound_statement_nostart, c_parser_label,
744 c_parser_for_statement): Adjust
745 c_parser_declaration_or_fndef callers.
746 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
747 it through to c_parser_conditional_expression.
748 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
749 pass it through to c_parser_binary_expression. Adjust recursive
750 call.
751 (c_parser_binary_expression): Remove prec argument, add
752 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
753 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
754 binop matches it, use build2 instead of parser_build_binary_op.
755 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
756 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
757 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
758 Handle pragma_struct and pragma_param the same as pragma_external.
759 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
760 (c_parser_omp_variable_list): Parse array sections for
761 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
762 (c_parser_omp_clause_collapse): Fully fold collapse expression.
763 (c_parser_omp_clause_reduction): Handle user defined reductions.
764 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
765 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
766 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
767 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
768 c_parser_omp_clause_depend, c_parser_omp_clause_map,
769 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
770 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
771 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
772 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
773 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
774 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
775 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
776 (c_parser_omp_for_loop): Add CODE argument, pass it through
777 to c_finish_omp_for. Change last argument to cclauses,
778 and adjust uses to grab parallel clauses from the array of all
779 the split clauses. Adjust c_parser_binary_expression,
780 c_parser_declaration_or_fndef and c_finish_omp_for callers.
781 (omp_split_clauses): New function.
782 (c_parser_omp_simd): New function.
783 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
784 Allow the function to be called also when parsing combined constructs,
785 and call c_parser_omp_simd when parsing for simd.
786 (c_parser_omp_sections_scope): If section-sequence doesn't start with
787 #pragma omp section, require exactly one structured-block instead of
788 sequence of statements.
789 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
790 Allow the function to be called also when parsing combined constructs.
791 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
792 Allow the function to be called also when parsing combined
793 constructs.
794 (c_parser_omp_taskgroup, c_parser_omp_cancel,
795 c_parser_omp_cancellation_point, c_parser_omp_distribute,
796 c_parser_omp_teams, c_parser_omp_target_data,
797 c_parser_omp_target_update, c_parser_omp_target,
798 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
799 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
800 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
801 (c_parser_omp_construct): Add p_name and mask vars. Handle
802 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
803 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
804 and c_parser_omp_sections callers.
805 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
806 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
807 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
808 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
809 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
810 OMP_CLAUSE_DEPEND.
811 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
812 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
813 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
814 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
815 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
816 * c-typeck.c: Include tree-inline.h.
817 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
818 handle_omp_array_sections_1, handle_omp_array_sections,
819 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
820 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
821 user defined reductions.
822 (c_tree_equal): New function.
823 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
824 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
825 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
826 c_check_omp_declare_reduction_r): New prototypes.
827 * c-decl.c (current_omp_declare_target_attribute): New variable.
828 (c_decl_attributes): New function.
829 (start_decl, start_function): Use it instead of decl_attributes.
830 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
831 c_omp_reduction_decl, c_omp_reduction_lookup,
832 c_check_omp_declare_reduction_r): New functions.
833
3ce7d1bd 8342013-09-25 Tom Tromey <tromey@redhat.com>
835
836 * Make-lang.in (c/gccspec.o): Remove.
837 (CFLAGS-c/gccspec.o): New variable.
838 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
839 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
840 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
841
96da1c1d 8422013-09-25 Tom Tromey <tromey@redhat.com>
843
844 * Make-lang.in (c/gccspec.o): Don't use subshell.
845
1b309377 8462013-09-18 Marek Polacek <polacek@redhat.com>
847
848 PR sanitize/58443
849 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
850 Remove unnecessary check.
851
05f893e1 8522013-09-18 Marek Polacek <polacek@redhat.com>
853
854 PR sanitizer/58411
855 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
856 no_sanitize_undefined attribute.
857
bda0b9d2 8582013-09-13 Kai Tietz <ktietz@redhat.com>
859
860 PR target/57848
861 * c-decl.c (c_builtin_function_ext_scope): Remove
862 wrong assumption that it is never called on prexisting
863 symbol.
864
73437615 8652013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
866
867 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
868
eaab24b9 8692013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
870
871 * c-objc-common.c (c_tree_printer): Tidy.
872
9e46467d 8732013-08-30 Marek Polacek <polacek@redhat.com>
874
875 * c-typeck.c (build_binary_op): Add division by zero and shift
876 instrumentation.
877
f8234178 8782013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
f9086116 879 Joseph Myers <joseph@codesourcery.com>
f8234178 880
c90a7d10 881 PR c/35649
f8234178 882 * c-typeck.c (c_common_type): Prefer double_type_node over
883 other REAL_TYPE types with the same precision.
884 (convert_arguments): Likewise.
885
6f07f480 8862013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
887
888 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
889 (c_initialize_diagnostics): Call a destructor for the early printer.
890
eed6bc21 8912013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
892
893 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
894 printer initialization.
895
57717943 8962013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
eed6bc21 897
57717943 898 PR c/57490
899 * c-array-notation.c (fix_conditional_array_notations_1): Added a
900 check for truth values.
901 (expand_array_notation_exprs): Added truth values case. Removed an
902 unwanted else. Added for-loop to walk through subtrees in default
903 case.
904
a94db6b0 9052013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
906
907 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
908
e76163a9 9092013-07-23 Joseph Myers <joseph@codesourcery.com>
910
911 * c-parser.c (struct c_generic_association): Fix typo.
912
7aa04c8d 9132013-07-23 Tom Tromey <tromey@redhat.com>
914 Joseph Myers <joseph@codesourcery.com>
915
916 * c-parser.c (struct c_generic_association): New.
917 (c_generic_association_d): New typedef.
918 (c_parser_generic_selection): New function.
919 (c_parser_postfix_expression): Handle RID_GENERIC.
920
76bbe4ca 9212013-07-13 Jason Merrill <jason@redhat.com>
922
923 PR c++/57793
924 * c-decl.c (finish_struct): Check for too-large class.
925
21ebaa24 9262013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 927
928 PR c/57821
929 * c-typeck.c (set_init_index): When folding, check for index overflow.
930
936c3081 9312013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
932
933 * c-parser.c (c_parser_array_notation): Removed rejection of array
934 notations in an array of function pointers.
935
50acebe0 9362013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
937
938 * c-array-notation.c (make_triplet_val_inv): New function.
939 (create_cmp_incr): Likewise.
940 (create_array_refs): Likewise.
941 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
942 Also modularized common parts between functions and called the function.
943 (build_array_notation_expr): Likewise.
944 (fix_conditional_array_notations_1): Likewise.
945 (fix_array_notation_expr): Likewise.
946 (fix_array_notation_call_expr): Likewise.
947
01e6cdb4 9482013-06-18 Marek Polacek <polacek@redhat.com>
949
950 PR c/57630
951 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
952
6a3adac6 9532013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
954
955 * c-array-notation.c (build_array_notation_expr): Reject array notation
956 mismatch between LHS and RHS even inside a call_expr. Also, removed
957 a couple while statements that were dead code.
958
62aab3f3 9592013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
960
961 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
962 excessive precision expressions in function parameters. Also removed
963 couple unwanted while statements.
964
bfc83720 9652013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
966
967 * c-array-notation.c (expand_array_notation_exprs): Added
968 ARRAY_NOTATION_REF case.
969
09970d67 9702013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
971
972 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
973 function to c-family/array-notation-common.c.
974 (is_cilkplus_reduce_builtin): Likewise.
975 (find_rank): Likewise.
976 (extract_array_notation_exprs): Likewise.
977 (replace_array_notations): Likewise.
978 (find_inv_trees): Likewise.
979 (replace_inv_trees): Likewise.
980 (contains_array_notation_expr): Likewise.
981 (find_correct_array_notation_type): Likewise.
982 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
983 (struct inv_list): Moved this to c-family/array-notation-common.c.
984 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
985
6e13bc01 9862013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
987
988 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
989 reduction functions outside the for-loop. Added a check if the fundecl
990 is non-NULL. Finally, removed an unwanted if-statement, and made the
991 body unconditional.
992
cc92dddc 9932013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
994
995 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
996 condition of the if-statement matches the rank of else-block and then-
997 block when array notations are used.
998 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
999 expression after the entire function body is parsed.
1000 (c_parser_expr_no_commas): Delayed creating array notation expressions
1001 to the end of function parsing.
1002 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
1003 whole if-statement instead of just the condition.
1004 (expand_array_notation_exprs): Added MODIFY_EXPR case.
1005
eddc63fd 10062013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
1007
1008 PR c/57474
1009 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
1010 array to NULL_TREE if they are unused. Also added a check for the
1011 field to be NULL before its fields are used in future.
1012
a2115a4a 10132013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1014
1015 PR bootstrap/57450
1016 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
1017 (build_array_notation_expr): Likewise.
1018
3c6d4197 10192013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1020
1021 * c-typeck.c (build_array_ref): Added a check to see if array's
1022 index is greater than one. If true, then emit an error.
1023 (build_function_call_vec): Exclude error reporting and checking
1024 for builtin array-notation functions.
1025 (convert_arguments): Likewise.
1026 (c_finish_return): Added a check for array notations as a return
1027 expression. If true, then emit an error.
1028 (c_finish_loop): Added a check for array notations in a loop
1029 condition. If true then emit an error.
1030 (lvalue_p): Added a ARRAY_NOTATION_REF case.
1031 (build_binary_op): Added a check for array notation expr inside
1032 op1 and op0. If present, we call another function to find correct
1033 type.
1034 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
1035 * c-parser.c (c_parser_compound_statement): Check if array
1036 notation code is used in tree, if so, then transform them into
1037 appropriate C code.
1038 (c_parser_expr_no_commas): Check if array notation is used in LHS
1039 or RHS, if so, then build array notation expression instead of
1040 regular modify.
1041 (c_parser_postfix_expression_after_primary): Added a check for
1042 colon(s) after square braces, if so then handle it like an array
1043 notation. Also, break up array notations in unary op if found.
1044 (c_parser_direct_declarator_inner): Added a check for array
1045 notation.
1046 (c_parser_compound_statement): Added a check for array notation in
1047 a stmt. If one is present, then expand array notation expr.
1048 (c_parser_if_statement): Likewise.
1049 (c_parser_switch_statement): Added a check for array notations in
1050 a switch statement's condition. If true, then output an error.
1051 (c_parser_while_statement): Similarly, but for a while.
1052 (c_parser_do_statement): Similarly, but for a do-while.
1053 (c_parser_for_statement): Similarly, but for a for-loop.
1054 (c_parser_unary_expression): Check if array notation is used in a
1055 pre-increment or pre-decrement expression. If true, then expand
1056 them.
1057 (c_parser_array_notation): New function.
1058 * c-array-notation.c: New file.
1059 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
1060
2c1c8a2c 10612013-05-23 Mike Stump <mikestump@comcast.net>
1062
1063 * c-typeck.c (convert_for_assignment): Handle references to memory
1064 spaces better.
1065
be5f9e46 10662013-05-16 Jason Merrill <jason@redhat.com>
1067
1068 * Make-lang.in (cc1$(exeext)): Use link mutex.
1069
9205a6cc 10702013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1071
1072 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
1073 to simply use OPT_Wpointer_arith.
1074 (build_unary_op): Likewise.
1075
0b049e15 10762013-04-03 Jakub Jelinek <jakub@redhat.com>
1077
1078 PR c/19449
1079 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
1080 argument. If set, or it temporarily for parsing of the first
1081 argument into force_folding_builtin_constant_p.
1082 (c_parser_postfix_expression): Adjust callers.
1083
8e966116 10842013-03-21 Richard Biener <rguenther@suse.de>
1085
1086 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
1087 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
1088
b862f263 10892013-02-12 Marek Polacek <polacek@redhat.com>
1090
1091 PR c/44938
1092 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
1093 origtypes to NULL.
1094
54550ecb 10952013-01-24 Jakub Jelinek <jakub@redhat.com>
1096
1097 PR c/56078
1098 * c-typeck.c (set_nonincremental_init_from_string): If
1099 constructor_max_index is NULL, treat it as if tree_int_cst_lt
1100 returned false.
1101 (process_init_element): Likewise.
1102
035b65e2 11032012-12-20 Jakub Jelinek <jakub@redhat.com>
1104
1105 PR c++/55619
1106 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
1107 argument, don't call default_function_array_conversion
1108 nor c_fully_fold here.
1109 (c_parser_asm_statement): Adjust callers.
1110 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
1111 and outputs here, and call default_function_array_conversion
1112 on inputs that don't need to be addressable.
1113
7cbb7f1a 11142012-12-18 Jakub Jelinek <jakub@redhat.com>
1115
1116 PR c/39464
1117 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
1118 warning require that both c_common_unsigned_type as well as
1119 c_common_signed_type is the same for both mvl and mvr types.
1120
f1f41a6c 11212012-11-16 Diego Novillo <dnovillo@google.com>
1122
1123 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1124
1125 * c-common.c: Use new vec API in vec.h.
1126 * c-common.h: Likewise.
1127 * c-gimplify.c: Likewise.
1128 * c-pragma.c: Likewise.
1129 * c-pretty-print.c: Likewise.
1130 * c-pretty-print.h: Likewise.
1131 * c-semantics.c: Likewise.
1132 * c-decl.c: Likewise.
1133 * c-parser.c: Likewise.
1134 * c-tree.h: Likewise.
1135 * c-typeck.c: Likewise.
1136
8b447d3f 11372012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
1138
1139 PR c++/54930
1140 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
1141
08fc5390 11422012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1143
1144 PR c/53066
1145 * c-decl.c (warn_if_shadowing): Do not warn if a variable
1146 shadows a function, unless the variable is a function or a
1147 pointer-to-function.
1148
57f872a2 11492012-10-12 Jakub Jelinek <jakub@redhat.com>
1150
1151 PR c/54381
1152 * c-parser.c (struct c_tree_loc_pair): Removed.
1153 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
1154 add location_t * and tree * arguments, fill in array of 3
1155 sizeof_arg trees and corresponding locs.
1156 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
1157 c_parser_expr_list callers.
1158 (c_parser_postfix_expression_after_primary): Likewise. Pass
1159 array of 3 sizeof_arg trees and locs (corresponding to first
1160 3 arguments) to sizeof_pointer_memaccess_warning.
1161
d1455aa3 11622012-10-09 Lawrence Crowl <crowl@google.com>
1163
1164 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
1165 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
1166 hash table.
1167
b0e7825e 11682012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
1169
1170 PR c++/54194
1171 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
1172 call.
1173
41ed701a 11742012-10-09 Marc Glisse <marc.glisse@inria.fr>
1175
1176 PR c++/54427
1177 * c-typeck.c: Include c-common.h.
1178 (enum stv_conv): Moved to c-common.h.
1179 (scalar_to_vector): Moved to c-common.c.
1180 (build_binary_op): Adapt to scalar_to_vector's new prototype.
1181 * Make-lang.in: c-typeck.c depends on c-common.h.
1182
ef34afc1 11832012-10-04 Arnaud Charlet <charlet@adacore.com>
1184
1185 * c-decl.c (c_write_global_declarations): Fix handling of
1186 -fdump-ada-spec*.
1187
7bd765d4 11882012-09-30 Sharad Singhai <singhai@google.com>
1189
1190 * c-decl.c (c_write_global_declarations): Use a different method
1191 to determine if the dump has ben initialized.
1192
c4b1a13a 11932012-09-14 Joseph Myers <joseph@codesourcery.com>
1194
1195 PR c/54552
1196 * c-typeck.c (c_cast_expr): When casting to a type requiring
1197 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
1198 c_fully_fold first.
1199
bb554051 12002012-09-14 Joseph Myers <joseph@codesourcery.com>
1201
1202 PR c/54103
1203 * c-typeck.c (build_unary_op): Pass original argument of
1204 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
1205 any C_MAYBE_CONST_EXPR, if it has integer operands.
1206 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
1207 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
1208 to c_objc_common_truthvalue_conversion, then remove any
1209 C_MAYBE_CONST_EXPR, if they have integer operands. Use
1210 c_objc_common_truthvalue_conversion not
1211 c_common_truthvalue_conversion.
1212 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
1213 call note_integer_operands for arguments with integer operands
1214 that are not integer constants.
1215
c708c6ef 12162012-09-13 Jakub Jelinek <jakub@redhat.com>
1217
1218 PR c/54559
1219 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
1220 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
1221
cce20430 12222012-08-31 Jakub Jelinek <jakub@redhat.com>
1223
1224 PR c/54428
1225 * c-convert.c (convert): Don't call fold_convert_loc if
1226 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
1227 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
1228 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
1229
a90d57ed 12302012-08-24 Jakub Jelinek <jakub@redhat.com>
1231
1232 PR c/54355
1233 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
1234 for nested and empty_ok arguments in the call to
1235 c_parser_declaration_or_fndef.
1236
f003f5dc 12372012-08-17 Jakub Jelinek <jakub@redhat.com>
1238
1239 * c-tree.h (c_last_sizeof_arg): Declare.
1240 * c-parser.c (struct c_tree_loc_pair): New type.
1241 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
1242 non-NULL.
1243 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
1244 (c_parser_postfix_expression_after_primary): Likewise. Call
1245 sizeof_pointer_memaccess_warning if needed.
1246 (sizeof_ptr_memacc_comptypes): New function.
1247 * c-typeck.c (c_last_sizeof_arg): New global variable.
1248 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
1249
a5656b73 12502012-07-24 Uros Bizjak <ubizjak@gmail.com>
1251
1252 * c-lang.h (lang_decl): Add variable_size GTY option.
1253
b9ed1410 12542012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1255
1256 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
1257 * Make-lang.in: Fix dependencies.
1258
e53d55e7 12592012-06-29 Steven Bosscher <steven@gcc.gnu.org>
1260
1261 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
1262 and add language Makefile hooks.
1263 * config-lang.in: New file.
1264 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
1265 add the required "normal" config-lang.in rules.
1266 * c-lang.h: Moved from gcc/ to here.
1267 * c-tree.h: Likewise.
1268 * c-objc-common.c: Likewise.
1269 * c-objc-common.h: Likewise.
1270 * c-typeck.c: Likewise.
1271 * c-convert.c: Likewise.
1272 * c-lang.c: Likewise.
1273 * c-aux-info.c: Likewise.
1274 * c-errors.c: Likewise.
1275 * gccspec.c: Likewise.
1276 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
1277 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
1278\f
3aea1f79 1279Copyright (C) 2012-2014 Free Software Foundation, Inc.
e53d55e7 1280
1281Copying and distribution of this file, with or without modification,
1282are permitted in any medium without royalty provided the copyright
1283notice and this notice are preserved.