]> git.ipfire.org Git - thirdparty/gcc.git/blame_incremental - gcc/c/ChangeLog
2014-05-09 Richard Biener <rguenther@suse.de>
[thirdparty/gcc.git] / gcc / c / ChangeLog
... / ...
CommitLineData
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
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
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
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
322014-05-02 Marek Polacek <polacek@redhat.com>
33
34 * c-typeck.c (c_finish_return): Separate warning_at calls.
35
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
3482014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
349
350 Update copyright years
351
3522014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
353
354 * c-array-notation.c: Use the standard form for the copyright notice.
355
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
3872013-12-17 Thomas Schwinge <thomas@codesourcery.com>
388
389 * c-parser.c (c_parser_omp_parallel): Fix description.
390
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
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
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
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
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
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
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
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
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
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
4572013-11-22 Andrew MacLeod <amacleod@redhat.com>
458
459 * c-typeck.c: Add required include files from gimple.h.
460
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
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
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
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
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
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
5142013-11-14 Andrew MacLeod <amacleod@redhat.com>
515
516 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
517
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
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
5522013-11-12 Andrew MacLeod <amacleod@redhat.com>
553
554 * c-typeck.c: Include gimplify.h.
555
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
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
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
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
6502013-11-03 Marek Polacek <polacek@redhat.com>
651
652 * c-decl.c (grokdeclarator): Add VLA instrumentation.
653
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
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
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
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
6922013-10-24 Tobias Burnus <burnus@net-b.de>
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
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
7042013-10-17 Andrew MacLeod <amacleod@redhat.com>
705
706 * c-parser.c: Include omp-low.h.
707 * c-typeck.c: Likewise.
708
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
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
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
8422013-09-25 Tom Tromey <tromey@redhat.com>
843
844 * Make-lang.in (c/gccspec.o): Don't use subshell.
845
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
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
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
8652013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
866
867 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
868
8692013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
870
871 * c-objc-common.c (c_tree_printer): Tidy.
872
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
8782013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
879 Joseph Myers <joseph@codesourcery.com>
880
881 PR c/35649
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
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
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
8962013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
897
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
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
9092013-07-23 Joseph Myers <joseph@codesourcery.com>
910
911 * c-parser.c (struct c_generic_association): Fix typo.
912
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
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
9262013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
927
928 PR c/57821
929 * c-typeck.c (set_init_index): When folding, check for index overflow.
930
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
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
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
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
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
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
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
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
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
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
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
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
10612013-05-23 Mike Stump <mikestump@comcast.net>
1062
1063 * c-typeck.c (convert_for_assignment): Handle references to memory
1064 spaces better.
1065
10662013-05-16 Jason Merrill <jason@redhat.com>
1067
1068 * Make-lang.in (cc1$(exeext)): Use link mutex.
1069
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
12502012-07-24 Uros Bizjak <ubizjak@gmail.com>
1251
1252 * c-lang.h (lang_decl): Add variable_size GTY option.
1253
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
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
1279Copyright (C) 2012-2014 Free Software Foundation, Inc.
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.