]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
PR target/63764
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
c61ef207 12014-11-21 Jakub Jelinek <jakub@redhat.com>
2
3 PR target/63764
4 * c-typeck.c (build_array_ref): Adjust
5 convert_vector_to_pointer_for_subscript caller. If it returns true,
6 call non_lvalue_loc on the result.
7
565353e8 82014-11-11 Richard Biener <rguenther@suse.de>
9
10 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
11 to true.
12
fdd735a7 132014-11-10 Andi Kleen <ak@linux.intel.com>
14
15 PR c/60804
16 * c-parser.c (c_parser_statement_after_labels): Call
17 check_no_cilk.
18 (c_parser_if_statement): Dito.
19 (c_parser_switch_statement): Dito.
20 (c_parser_while_statement): Dito.
21 (c_parser_do_statement): Dito.
22 (c_parser_for_statement): Dito.
23 * c-typeck.c (c_finish_loop): Dito.
24
0feb4de1 252014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
26
27 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
28 OPT_Wshift_count_overflow in the warnings.
29
a3fec48a 302014-10-30 Marek Polacek <polacek@redhat.com>
31
32 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
33 print the stripped version as well, if they're not the same.
34
3754d046 352014-10-29 Richard Sandiford <richard.sandiford@arm.com>
36
37 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
38 machine_mode.
39
1140c305 402014-10-28 Andrew MacLeod <amacleod@redhat.com>
41
42 * c-decl.c: Adjust include files.
43 * c-parser.c: Ditto.
44
ab103e33 452014-10-27 Phil Muldoon <pmuldoon@redhat.com>
46 Tom Tromey <tromey@redhat.com>
47
48 * c-tree.h (enum c_oracle_request): New.
49 (c_binding_oracle_function): New typedef.
50 (c_binding_oracle, c_pushtag, c_bind): Declare.
51 * c-decl.c (c_binding_oracle): New global.
52 (I_SYMBOL_CHECKED): New macro.
53 (i_symbol_binding): New function.
54 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
55 (I_TAG_CHECKED): New macro.
56 (i_tag_binding): New function.
57 (I_TAG_BINDING, I_TAG_DECL): Redefine.
58 (I_LABEL_CHECKED): New macro.
59 (i_label_binding): New function.
60 (I_LABEL_BINDING, I_LABEL_DECL): Redefine.
61 (c_print_identifier): Save and restore c_binding_oracle.
62 (c_pushtag, c_bind): New functions.
63
94ea8568 642014-10-27 Andrew MacLeod <amacleod@redhat.com>
65
66 * c-typeck.c: Adjust include files.
67
32ecf960 682014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
69
70 PR c++/53061
71 * c-objc-common.c (c_objc_common_init): Do not do diagnostics
72 initialization here...
73 (c_initialize_diagnostics): ... but here. Set defaults after
74 building pretty-printer.
75
2981340f 762014-10-23 Marek Polacek <polacek@redhat.com>
77
78 PR c/63626
79 * c-decl.c (pop_scope): Don't print warning in external_scope.
80
d303aeaf 812014-10-19 Marek Polacek <polacek@redhat.com>
82
83 PR c/63567
84 * c-typeck.c (output_init_element): Allow initializing objects with
85 static storage duration with compound literals even in C99 and add
86 pedwarn for it.
87
bccf97da 882014-10-17 Marek Polacek <polacek@redhat.com>
89
90 PR c/63567
91 * c-typeck.c (digest_init): Allow initializing objects with static
92 storage duration with compound literals even in C99 and add pedwarn
93 for it.
94
d9c77450 952014-10-17 Marek Polacek <polacek@redhat.com>
96
97 PR c/63543
98 * c-tree.h (C_TYPE_ERROR_REPORTED): Define.
99 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
100 error multiple times. Print the type.
101
a2bbd0a7 1022014-10-17 Marek Polacek <polacek@redhat.com>
103
104 PR c/63549
105 * c-typeck.c (build_array_ref): Bail if the index in an incomplete
106 type.
107
e610d2b2 1082014-10-17 Marek Polacek <polacek@redhat.com>
109
110 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
111 (start_function): Use OPT_Wimplicit_int instead of 0.
112 (store_parm_decls_oldstyle): Likewise.
113
6b6e56b6 1142014-10-17 Alan Modra <amodra@gmail.com>
115
116 PR middle-end/61848
117 * c-decl.c (merge_decls): Don't merge section name or tls model
118 to newdecl symtab node, instead merge to olddecl. Override
119 existing olddecl section name. Set tls_model for all thread-local
120 vars, not just OMP thread-private ones. Remove incorrect comment.
121
a3020f2f 1222014-10-16 Andrew MacLeod <amacleod@redhat.com>
123
124 * c-decl.c: Adjust include files.
125
9f75f026 1262014-10-14 DJ Delorie <dj@redhat.com>
127
128 * c-parser.c (c_parse_init): Add RID entries for each __intN.
129 (c_token_starts_typename): Check all __intN, not just __int128.
130 (c_token_starts_declspecs): Likewise.
131 (c_parser_declspecs): Likewise.
132 (c_parser_attribute_any_word): Likewise.
133 (c_parser_objc_selector): Likewise.
134 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
135 (struct c_declspecs): Add int_n_idx field to record *which* __intN
136 is specified.
137 * c-decl.c (declspecs_add_type): Check for all __intN, not just
138 __int128.
139 (finish_declspecs): Likewise.
140
4f284d4a 1412014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
142
143 * c-parser.c (c_parser_all_labels): New function to replace
144 the duplicate code.
145 (c_parser_statement): Call the new function.
146
61a892dc 1472014-10-09 Marek Polacek <polacek@redhat.com>
148
149 PR c/63480
150 * c-typeck.c (pop_init_level): Don't warn about initializing
151 with { }.
152
4e888fd9 1532014-10-07 Marek Polacek <polacek@redhat.com>
154
155 PR c/59717
156 * c-decl.c (header_for_builtin_fn): New function.
157 (implicitly_declare): Suggest which header to include.
158
224bdd51 1592014-10-07 Marek Polacek <polacek@redhat.com>
160
161 * c-convert.c (convert): Use error_operand_p.
162 * c-typeck.c (require_complete_type): Likewise.
163 (really_atomic_lvalue): Likewise.
164 (digest_init): Likewise.
165 (handle_omp_array_sections_1): Likewise.
166
a2bc79db 1672014-10-03 Marek Polacek <polacek@redhat.com>
168
169 PR c/63453
170 * c-decl.c (pop_scope): Don't warn about "inline function declared
171 but never defined" for functions marked with gnu_inline attribute.
172
4fc4088b 1732014-09-25 Jakub Jelinek <jakub@redhat.com>
174
175 PR c++/63249
176 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
177 on low_bound and length.
178
5213d6c9 1792014-09-24 Marek Polacek <polacek@redhat.com>
180
181 PR c/61405
182 PR c/53874
183 * c-parser.c: Don't define CPP_KEYWORD.
184 (c_parser_switch_statement): Pass original type to c_finish_case.
185 * c-tree.h (c_finish_case): Update declaration.
186 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
187 conditionally to c_do_switch_warnings.
188
6ea2b1bc 1892014-09-03 Marek Polacek <polacek@redhat.com>
190
191 PR c/62024
192 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
193 conversions.
194
40750995 1952014-09-02 Jakub Jelinek <jakub@redhat.com>
196 Balaji V. Iyer <balaji.v.iyer@intel.com>
197 Igor Zamyatin <igor.zamyatin@intel.com>
198
199 * c-parser.c (c_parser_cilk_for): New function.
200 (c_parser_cilk_grainsize): Likewise.
201 (c_get_temp_regvar): Likewise.
202 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
203 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
204 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
205 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
206 case.
207
8c583613 2082014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
209
210 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
211 with using HOST_WIDE_INT without truncation to 'int'
212
dc6229e8 2132014-08-22 Marek Polacek <polacek@redhat.com>
214
215 PR c++/62199
216 * c-typeck.c (parser_build_binary_op): Adjust call to
217 warn_logical_not_parentheses.
218
5fdda74b 2192014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
220
221 PR other/62008
222 * c-parser.c (c_parser_array_notation): Check for correct
223 type of an array added.
224
78bf4156 2252014-08-19 Marek Polacek <polacek@redhat.com>
226
227 PR c++/62153
228 * c-typeck.c (build_binary_op): If either operand of a comparison
229 is a boolean expression, call maybe_warn_bool_compare.
230
005b8fe7 2312014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
232
233 PR c/45584
234 * c-typeck.c (build_c_cast): Do a conversion even when the
235 TYPE_MAIN_VARIANTs are the same.
236
508ea33a 2372014-08-19 Marek Polacek <polacek@redhat.com>
238
239 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
240 pedwarn_c99 instead of pedwarn.
241 (grokfield): Likewise.
242 (warn_defaults_to): New function.
243 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
244 Unconditionally call pedwarn_c99 instead of pedwarn.
245 (start_function): Call warn_defaults_to instead of pedwarn_c99.
246 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
247 check flag_isoc11 before.
248 * c-errors.c (pedwarn_c99): Change the return type to bool.
249 Handle -Wc99-c11-compat.
250 * c-parser.c (disable_extension_diagnostics): Handle
251 warn_c99_c11_compat.
252 (restore_extension_diagnostics): Likewise.
253 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
254 instead of pedwarn, don't check flag_isoc11 before.
255 (c_parser_declspecs): Likewise.
256 (c_parser_alignas_specifier): Likewise.
257 (c_parser_alignof_expression): Likewise.
258 (c_parser_generic_selection): Likewise.
259 * c-tree.h (pedwarn_c99): Update declaration.
260 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
261 of pedwarn_c99.
262
806fe15e 2632014-08-19 Marek Polacek <polacek@redhat.com>
264
265 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
266 to pedwarn_c90.
267 * c-errors.c: Include "opts.h".
268 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
269 * c-parser.c (disable_extension_diagnostics): Handle negative value
270 of warn_c90_c99_compat, too.
271 (restore_extension_diagnostics): Likewise.
272 (c_parser_compound_statement_nostart): Pass
273 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
274
89868e45 2752014-08-12 Marek Polacek <polacek@redhat.com>
276
277 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
278 Add pedwarn.
279 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
280 Likewise.
281 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
282
890c2e2f 2832014-08-10 Marek Polacek <polacek@redhat.com>
284
285 PR c/51849
286 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
287 Call pedwarn_c90 instead of pedwarn.
288 (check_bitfield_type_and_width): Likewise.
289 (declspecs_add_qual): Likewise.
290 (declspecs_add_type): Likewise.
291 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
292 Adjust to only call pedwarn_c90.
293 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
294 pedwarn_c90 instead of pedwarn.
295 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
296 * c-parser.c (disable_extension_diagnostics): Handle
297 warn_c90_c99_compat.
298 (restore_extension_diagnostics): Likewise.
299 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
300 pedwarn_c90 instead of pedwarn.
301 (c_parser_initelt): Likewise.
302 (c_parser_postfix_expression): Likewise.
303 (c_parser_postfix_expression_after_paren_type): Likewise.
304 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
305 * c-tree.h: Fix formatting.
306 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
307 pedwarn_c90 instead of pedwarn.
308
7149db5f 3092014-08-07 Trevor Saunders <tsaunders@mozilla.com>
310
311 * c-typeck.c: Remove include of pointer-set.h.
312
1c75251e 3132014-08-07 Marek Polacek <polacek@redhat.com>
314
315 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
316
06ecf488 3172014-08-02 Trevor Saunders <tsaunders@mozilla.com>
318
319 * c-typeck.c: Use hash_map instead of pointer_map.
320
431205b7 3212014-08-02 Trevor Saunders <tsaunders@mozilla.com>
322
323 * c-decl.c: Use hash_set instead of pointer_set.
324
3394c80c 3252014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
326
327 PR middle-end/61455
328 * c-array-notation.c (expand_array_notations): Handling
329 of DECL_EXPR added.
330
f22a2cb7 3312014-07-31 Marc Glisse <marc.glisse@inria.fr>
332
333 PR c++/60517
334 * c-typeck.c (c_finish_return): Return 0 instead of the address of
335 a local variable.
336
74691f46 3372014-07-30 Tom Tromey <tromey@redhat.com>
338
339 * c-typeck.c (struct constructor_stack) <designator_depth>: New
340 field.
341 (really_start_incremental_init, push_init_level): Initialize
342 designator_depth.
343 (pop_init_level): Set global designator_depth.
344 (process_init_element): Check for designated_init attribute.
345
f9767fb6 3462014-07-20 Marek Polacek <polacek@redhat.com>
347
348 PR c/61852
349 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
350 (implicitly_declare): Pass location to implicit_decl_warning.
351
305d96bc 3522014-07-14 Jakub Jelinek <jakub@redhat.com>
353
354 PR middle-end/61294
355 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
356 If non-NULL, call c_parser_check_literal_zero.
357 (c_parser_check_literal_zero): New function.
358 (c_parser_postfix_expression_after_primary): Adjust
359 c_parser_expr_list caller, handle -Wmemset-transposed-args.
360
87d59e72 3612014-07-06 Marek Polacek <polacek@redhat.com>
362
363 PR c/6940
364 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
365 * c-tree.h (C_ARRAY_PARAMETER): Define.
366 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
367 function parameter.
368
752098c8 3692014-07-02 Jan Hubicka <hubicka@ucw.cz>
370 Chen Gang <gang.chen.5i5j@gmail.com>
371
372 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
373 releasing symbol.
374
1207866e 3752014-07-01 Marek Polacek <polacek@redhat.com>
376
377 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
378 instead of 0 to WARN_FOR_ASSIGNMENT.
379
7a6bbb76 3802014-07-01 Marek Polacek <polacek@redhat.com>
381
382 PR c/58286
383 * c-typeck.c (convert_for_assignment): Pass
384 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
385
70575064 3862014-06-30 Marek Polacek <polacek@redhat.com>
387
388 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
389 has no_sanitize_undefined attribute.
390
4879e4cf 3912014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
392
393 PR middle-end/57541
394 * c-array-notation.c (fix_builtin_array_notation_fn):
395 Check for 0 arguments in builtin call. Check that bultin argument is
396 correct.
397 * c-parser.c (c_parser_array_notation): Check for incorrect initial
398 index.
399
45c5b823 4002014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
401
402 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
403 qualifiers in __auto_type for atomic types.
404 (c_parser_typeof_specifier): Discard all type qualifiers in
405 __typeof__ for atomic types.
406
430b73ee 4072014-06-25 Marek Polacek <polacek@redhat.com>
408
409 PR c/61162
410 * c-parser.c (c_parser_statement_after_labels): Pass the location of
411 the return expression to c_finish_return.
412
9580cb79 4132014-06-25 Jakub Jelinek <jakub@redhat.com>
414
415 * c-typeck.c (c_finish_omp_clauses): Make sure
416 OMP_CLAUSE_LINEAR_STEP has correct type.
417
c1f445d2 4182014-06-24 Trevor Saunders <tsaunders@mozilla.com>
419
420 * c-decl.c: Adjust.
421
e471cc6f 4222014-06-24 Jakub Jelinek <jakub@redhat.com>
423
424 * c-parser.c (c_parser_omp_for_loop): For
425 #pragma omp parallel for simd move lastprivate clause from parallel
426 to for rather than simd.
427
499b7390 4282014-06-23 Marek Polacek <polacek@redhat.com>
429
430 * c-typeck.c (parser_build_binary_op): Don't call
431 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
432
5e68df57 4332014-06-15 Jan Hubicka <hubicka@ucw.cz>
434
435 * c-parser.c (c_parser_omp_threadprivate): Likewise.
436 * c-decl.c (merge_decls): Likewise.
437
064b0d02 4382014-06-09 Marek Polacek <polacek@redhat.com>
439
440 PR c/36446
441 * c-typeck.c (error_init): Call inform instead of error_at.
442 (pedwarn_init): Call inform instead of pedwarn.
443 (warning_init): Call inform instead of warning_at.
444
71e19e54 4452014-06-07 Jan Hubicka <hubicka@ucw.cz>
446
447 * c-decl.c (merge_decls): Use set_decl_section_name.
448 (duplicate_decls): Remove node if it exists.
449
95cdf3fd 4502014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
451
452 PR c/53119
453 * c-typeck.c (push_init_level, process_init_element,
454 pop_init_level): Correct check for zero initialization, move
455 missing brace warning to respect zero initialization.
456
a07f86a6 4572014-06-05 Marek Polacek <polacek@redhat.com>
458
459 PR c/56724
460 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
461
32dc1512 4622014-06-05 Marek Polacek <polacek@redhat.com>
463
464 PR c/49706
465 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
466 on the left hand side operand of a comparison.
467
64cf1262 4682014-06-05 Marek Polacek <polacek@redhat.com>
469
470 PR c/48062
471 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
472 Print note only if the warning was printed.
473
071f6d39 4742014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
475
476 PR c/58942
477 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
478 with a pointer.
479
c69ec07d 4802014-06-03 Marek Polacek <polacek@redhat.com>
481
482 PR c/60439
483 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
484 c_start_case.
485 * c-tree.h (c_start_case): Update.
486 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
487 switch condition has boolean value.
488
f7715905 4892014-06-02 Andrew MacLeod <amacleod@redhat.com>
490
491 * c-decl.c: Include builtins.h.
492 * c-parser.c: Likewise.
493
dcfff6f9 4942014-05-27 Marek Polacek <polacek@redhat.com>
495
496 PR c/56724
497 * c-typeck.c (convert_arguments): Get location of a parameter. Change
498 error and warning calls to error_at and warning_at. Pass location of
499 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
500 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
501 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
502
c048c42c 5032014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
504
505 PR c/61191
506 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
507 function parameters.
508
8c016392 5092014-05-23 Jan Hubicka <hubicka@ucw.cz>
510
511 * c-decl.c (merge_decls): Preserve symtab node pointers.
512 (duplicate_decls): Free new decl.
513
184a718f 5142014-05-23 Thomas Schwinge <thomas@codesourcery.com>
515
6ce915ef 516 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
517 initialization.
518
184a718f 519 * c-parser.c (c_parser_omp_target): Return bool values.
520
22ac3f78 5212014-05-22 Thomas Schwinge <thomas@codesourcery.com>
522
523 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
524 num_teams_loc variable to num_thread_limit_loc.
525
3ab4693e 5262014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
527
528 * c-array-notation.c (expand_array_notations): Use void_node
529 instead of void_zero_node.
530
25a27413 5312014-05-17 Trevor Saunders <tsaunders@mozilla.com>
532
533 * c-decl.c (finish_struct): Adjust.
534 (finish_enum): Likewise.
535 (bind): Adjust.
536 (record_inline_static): Likewise.
537 (push_scope): Likewise.
538 (make_label): Likewise.
539 (lookup_label_for_goto): Likewise.
540 (finish_struct): Likewise.
541 (finish_enum): Likewise.
542 (store_parm_decls): Likewise.
543 (c_push_function_context): Likewise.
544 * c-lang.h: Remove usage of variable_size gty attribute.
545 * c-parser.c (c_parse_init): Adjust.
546 (c_parse_file): Likewise.
547
172b8440 5482014-05-13 Marek Polacek <polacek@redhat.com>
549
550 PR c/61162
551 * c-typeck.c (convert_for_assignment): Pass location to
552 WARN_FOR_ASSIGNMENT instead of input_location.
553
c9e51d25 5542014-05-10 Marek Polacek <polacek@redhat.com>
555
556 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
557 maybe_warn_string_init.
558 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
559 maybe_warn_string_init.
560 * c-tree.h (maybe_warn_string_init): Update declaration.
561 * c-typeck.c (maybe_warn_string_init): Add location parameter.
562 Call pedwarn_init with loc instead of with input_location.
563 (digest_init): Pass init_loc to maybe_warn_string_init.
564 (pop_init_level): Call pedwarn_init with loc instead of with
565 input_location.
566 (set_init_index): Likewise.
567 (process_init_element): Likewise.
568
53de1631 5692014-05-09 Marek Polacek <polacek@redhat.com>
570
571 PR c/61096
572 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
573 (c_parser_initelt): Pass location to set_init_label. Pass array index
574 location to set_init_index.
575 * c-tree.h (push_init_level): Update declaration.
576 (pop_init_level): Likewise.
577 (set_init_index): Likewise.
578 (set_init_label): Likewise.
579 * c-typeck.c (error_init): Add location parameter. Call error_at
580 instead of error.
581 (digest_init): Pass init_loc to error_init.
582 (really_start_incremental_init):
583 (push_init_level): Add location parameter. Pass loc to pop_init_level
584 and error_init.
585 (pop_init_level): Likewise.
586 (set_designator): Add location parameter. Pass loc to pop_init_level,
587 push_init_level, and error_init.
588 (set_init_index): Add location parameter. Pass loc to error_init and
589 set_designator.
590 (set_init_label): Likewise.
591 (output_init_element): Pass loc to error_init.
592 (process_init_element): Pass loc to error_init, pop_init_level,
593 pedwarn_init, and push_init_level.
594
3e5a8b00 5952014-05-09 Marek Polacek <polacek@redhat.com>
596
597 PR c/50459
598 * c-parser.c (c_parser_attributes): Parse the arguments as an
599 expression-list if the attribute takes identifier.
600
c2c4ae8d 6012014-05-08 Marek Polacek <polacek@redhat.com>
602
603 PR c/61053
604 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
605 TYPE_ALIGN_UNIT.
606
2026249a 6072014-05-08 Marek Polacek <polacek@redhat.com>
608
609 PR c/61077
610 * c-decl.c (start_function): Warn for _Atomic-qualified return type
611 of main.
612
960d5a55 6132014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
614 Mike Stump <mikestump@comcast.net>
615 Richard Sandiford <rdsandiford@googlemail.com>
616
617 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
618 (finish_enum): Use wide-int interfaces.
619 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
620 * c-typeck.c (build_c_cast): Likewise.
621 (set_nonincremental_init_from_string): Likewise.
622 (c_tree_equal): Likewise.
623
e0e14cbd 6242014-05-02 Marek Polacek <polacek@redhat.com>
625
626 PR c/25801
627 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
628 Return size_one_node when the type is not complete.
629 (pointer_diff): Remove comment.
630 (build_unary_op): Improve error messages.
631
27ff10cb 6322014-05-02 Marek Polacek <polacek@redhat.com>
633
634 * c-typeck.c (c_finish_return): Separate warning_at calls.
635
68410ce9 6362014-05-02 Marek Polacek <polacek@redhat.com>
637
638 * c-tree.h (error_init): Remove declaration.
639 (pedwarn_init): Likewise.
640 * c-typeck.c (error_init): Make static and move above.
641 (pedwarn_init): Likewise.
642 (warning_init): Move above.
643 (maybe_warn_string_init): Likewise.
644
e8e27117 6452014-05-01 Jeff Law <law@redhat.com>
646
647 Revert:
648
649 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
650 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
651 avoid goto.
652
971df357 6532014-05-02 Marek Polacek <polacek@redhat.com>
654
655 PR c/60784
656 * c-typeck.c (push_init_level): Set constructor_designated to
657 p->designated for structures.
658
de548fe5 6592014-05-01 Marek Polacek <polacek@redhat.com>
660
661 PR c/60915
662 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
663 function-definition has an attribute after the declarator.
664
053a0ded 6652014-05-01 Marek Polacek <polacek@redhat.com>
666
667 PR c/60257
668 * c-typeck.c (warning_init): Add location_t parameter. Call
669 warning_at instead of warning.
670 (push_init_level): Pass input_location to warning_init.
671 (add_pending_init): Add location_t parameter. Pass loc to
672 warning_init.
673 (set_nonincremental_init): Pass input_location to add_pending_init.
674 (set_nonincremental_init_from_string): Likewise.
675 (output_init_element): Pass loc to warning_init and to
676 add_pending_init.
677
694296f2 6782014-05-01 Marek Polacek <polacek@redhat.com>
679
680 PR c/43395
681 * c-typeck.c (c_finish_return): Distinguish between label and variable
682 when warning about returning local address.
683
86bbd7f9 6842014-05-01 Marek Polacek <polacek@redhat.com>
685
686 PR c/29467
687 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
688 in C89 mode.
689
e4ab2ef3 6902014-05-01 Marek Polacek <polacek@redhat.com>
691
692 PR c/43245
693 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
694 instead of 0 to WARN_FOR_QUALIFIERS.
695
ca3999cb 6962014-05-01 Marek Polacek <polacek@redhat.com>
697
698 PR c/56989
699 * c-typeck.c (default_conversion): Use better location for
700 error call.
701
52cc0072 7022014-04-30 Marek Polacek <polacek@redhat.com>
703
704 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
705 also when SANITIZE_FLOAT_DIVIDE is on.
706
af379dd3 7072014-04-30 Marek Polacek <polacek@redhat.com>
708
709 PR c/60139
710 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
711 and pedwarn_init. Use loc insted of input_location.
712
b069c2a0 7132014-04-30 Marek Polacek <polacek@redhat.com>
714
715 PR c/60351
716 * c-typeck.c (build_binary_op): Use location when warning about
717 shift count.
718
4a026b48 7192014-04-25 Marek Polacek <polacek@redhat.com>
720
721 PR c/18079
722 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
723 always_inline/noinline and hot/cold attributes.
724
adc93f31 7252014-04-25 Marek Polacek <polacek@redhat.com>
726
727 PR c/60114
728 * c-parser.c (c_parser_initelt): Pass input_location to
729 process_init_element.
730 (c_parser_initval): Pass loc to process_init_element.
731 * c-tree.h (process_init_element): Adjust declaration.
732 * c-typeck.c (push_init_level): Pass input_location to
733 process_init_element.
734 (pop_init_level): Likewise.
735 (set_designator): Likewise.
736 (output_init_element): Add location_t parameter. Pass loc to
737 digest_init.
738 (output_pending_init_elements): Pass input_location to
739 output_init_element.
740 (process_init_element): Add location_t parameter. Pass loc to
741 output_init_element.
742
e1029911 7432014-04-24 Jakub Jelinek <jakub@redhat.com>
744
745 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
746 atomic-clause, allow comma in between atomic-clause and
747 seq_cst.
748
9f0a7bc6 7492014-04-22 Jakub Jelinek <jakub@redhat.com>
750
751 PR c/59073
752 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
753 fails, don't set OM_PARALLEL_COMBINED and return NULL.
754
094da06d 7552014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
756
757 PR middle-end/60469
758 * c-array-notation.c (fix_builtin_array_notation_fn): Use
759 create_tmp_var instead build_decl for creating temps.
760 (build_array_notation_expr): Likewise.
761 (fix_conditional_array_notations_1): Likewise.
762 (fix_array_notation_expr): Likewise.
763 (fix_array_notation_call_expr): Likewise.
764
5a672e62 7652014-03-28 Jakub Jelinek <jakub@redhat.com>
766
767 PR c++/60689
768 * c-tree.h (c_build_function_call_vec): New prototype.
769 * c-typeck.c (build_function_call_vec): Don't call
770 resolve_overloaded_builtin here.
771 (c_build_function_call_vec): New wrapper function around
772 build_function_call_vec. Call resolve_overloaded_builtin here.
773 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
774 Call c_build_function_call_vec instead of build_function_call_vec.
775 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
776 * c-decl.c (finish_decl): Likewise.
777
f40f5e0e 7782014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
779
780 PR c/55383
781 * c-typeck.c: Use correct format string in cast-qual warning
782
9ec099a3 7832014-03-07 Thomas Schwinge <thomas@codesourcery.com>
784
785 * c-decl.c (c_decl_attributes): Use
786 lang_hooks.types.omp_mappable_type.
787 * c-typeck.c (c_finish_omp_clauses): Likewise.
788
3bfdc94f 7892014-03-06 Marek Polacek <polacek@redhat.com>
790
791 PR c/60197
792 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
793 of checking tree code.
794
8f1128f8 7952014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
796
797 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
798 (c_parser_parameter_declaration): Likewise.
799
977b1853 8002014-02-19 Marek Polacek <polacek@redhat.com>
801
802 PR c/60195
803 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
804 Call mark_exp_read on exp.value.
805 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
806 TREE_ADDRESSABLE on old instead of val.
807 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
808
825cd6ef 8092014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
810
811 * c-parser.c (c_parser_get_builtin_args): Replace calls to
812 C_EXPR_APPEND by vec_safe_push.
813 * c-tree.h (C_EXPR_APPEND): Remove.
814
ec761d5a 8152014-01-31 Marek Polacek <polacek@redhat.com>
816
817 PR c/59963
818 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
819 build_function_call_vec.
820 (build_function_call): Likewise.
821 (build_atomic_assign): Likewise.
822 (build_function_call_vec): Add arg_loc parameter. Use it.
823 (convert_arguments): Likewise.
824 (convert_for_assignment): Rename rhs_loc to expr_loc.
825 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
826 (c_parser_objc_keywordexpr): Likewise.
827 (c_parser_postfix_expression_after_primary): Call
828 build_function_call_vec with expr_loc rather than op_loc.
829 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
830 build_function_call_vec.
831 (c_parser_expr_list): Add locations parameter. Fill it with locations
832 of function arguments.
833 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
834
22a75734 8352014-01-30 Marek Polacek <polacek@redhat.com>
836
837 PR c/59940
838 * c-typeck.c (build_function_call_vec): Use loc parameter.
839 (convert_arguments): Add location parameter. Use it.
840 (ep_convert_and_check): Likewise.
841 (build_atomic_assign): Adjust convert_for_assignment call.
842 (build_modify_expr): Likewise.
843 (digest_init): Likewise.
844 (c_finish_return): Likewise.
845 (build_conditional_expr): Adjust ep_convert_and_check calls.
846 (convert_for_assignment): Add rhs_loc parameter. Use it.
847 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
848 calls.
849
29f580ac 8502014-01-30 Richard Biener <rguenther@suse.de>
851
852 PR c/59905
853 * c-typeck.c (build_function_call_vec): Do not replace calls
854 to a function via an incompatible type with a runtime abort.
855
a89e6c15 8562014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
857
858 * c-parser.c (c_parser_declaration_or_fndef): Replaced
859 flag_enable_cilkplus with flag_cilkplus.
860 (c_parser_direct_declarator_inner): Likewise.
861 (c_parser_attribute_any_word): Likewise.
862 (c_parser_attributes): Likewise.
863 (c_parser_compound_statement): Likewise.
864 (c_parser_statement_after_labels): Likewise.
865 (c_parser_if_statement): Likewise.
866 (c_parser_switch_statement): Likewise.
867 (c_parser_do_statement): Likewise.
868 (c_parser_for_statement): Likewise.
869 (c_parser_unary_expression): Likewise.
870 (c_parser_postfix_expression): Likewise.
871 (c_parser_postfix_expression_after_primary): Likewise.
872 (c_parser_postfix_expression_after_primary): Likewise.
873 (c_parser_omp_clause_name): Likewise.
874 (c_finish_omp_declare_simd): Likewise.
875 (c_parser_cilk_verify_simd): Likewise.
876 * c-typeck.c (build_array_ref): Likewise.
877 (build_function_call_vec): Likewise.
878 (convert_arguments): Likewise.
879 (build_compound_expr): Likewise.
880 (c_finish_return): Likewise.
881 (c_finish_if_stmt): Likewise.
882 (c_finish_loop): Likewise.
883 (build_binary_op): Likewise.
884
2623625f 8852014-01-23 Marek Polacek <polacek@redhat.com>
886
887 PR c/59846
888 * c-typeck.c (parser_build_binary_op): Use location instead of
889 input_location.
890 (build_binary_op): Pass location to shorten_compare.
891
46da3601 8922014-01-23 Marek Polacek <polacek@redhat.com>
893
894 PR c/58346
895 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
896 an empty aggregate.
897
9a9db3c1 8982014-01-23 Marek Polacek <polacek@redhat.com>
899
900 PR c/59871
901 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
902 of a comma expression.
903 (emit_side_effect_warnings): Likewise.
904
69c9b607 9052014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
906
907 PR c/59825
908 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
909 function to use walk_tree and moved a lot of its functionality to
910 expand_array_notations.
911 (expand_array_notations): New function.
912
7e005ab5 9132014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
914
915 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
916 attribute an attribute without value.
917
d6779b5f 9182014-01-23 Jakub Jelinek <jakub@redhat.com>
919
920 PR middle-end/58809
921 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
922 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
923
ec431042 9242014-01-22 Marek Polacek <polacek@redhat.com>
925
926 PR c/59891
927 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
928 of remove_c_maybe_const_expr on op1 and op2.
929
1248c663 9302014-01-15 Jakub Jelinek <jakub@redhat.com>
931
932 PR c/58943
933 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
934 effects, preevaluate rhs using SAVE_EXPR first.
935
0bc789fc 9362014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
937
938 PR c++/59631
939 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
940 statements with if-elseif statements.
941
6685d11c 9422014-01-06 Marek Polacek <polacek@redhat.com>
943
944 PR c/57773
945 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
946 defined bit-field types only in ISO C.
947
3aea1f79 9482014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
949
950 Update copyright years
951
e4f22041 9522014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
953
954 * c-array-notation.c: Use the standard form for the copyright notice.
955
74acc703 9562013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
957
958 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
959 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
960 field in parser is not empty. If not-empty, call the function
961 c_parser_finish_omp_declare_simd.
962 (c_parser_cilk_clause_vectorlength): Modified function to be shared
963 between SIMD-enabled functions and #pragma simd. Added new parameter.
964 (c_parser_cilk_all_clauses): Modified the usage of the function
965 c_parser_cilk_clause_vectorlength as mentioned above.
966 (c_parser_cilk_simd_fn_vector_attrs): New function.
967 (c_finish_cilk_simd_fn_tokens): Likewise.
968 (is_cilkplus_vector_p): Likewise.
969 (c_parser_omp_clause_name): Added checking for "vectorlength,"
970 "nomask," and "mask" strings in clause name.
971 (c_parser_omp_all_clauses): Added 3 new case statements:
972 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
973 PRAGMA_CILK_CLAUSE_NOMASK.
974 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
975 check for vector attribute and if so call the function
976 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
977 called the function c_finish_cilk_simd_fn_tokens.
978 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
979 parser field is non-empty. If so, parse them as you would parse
980 the omp declare simd pragma.
981 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
982 Added a check when step is a parameter and flag it as error.
983 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
984 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
985 pragma_omp_clause.
986
395dc01c 9872013-12-17 Thomas Schwinge <thomas@codesourcery.com>
988
989 * c-parser.c (c_parser_omp_parallel): Fix description.
990
433e804e 9912013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
992
993 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
994 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
995 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
996 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
997
a179a7dc 9982013-12-04 Joseph Myers <joseph@codesourcery.com>
999
1000 PR c/52023
1001 * c-parser.c (c_parser_alignas_specifier): Use
1002 c_sizeof_or_alignof_type instead of c_alignof.
1003 (c_parser_alignof_expression): Likewise, with min_alignof
1004 parameter depending on alignof spelling used.
1005
bdf1e3c7 10062013-12-04 Marek Polacek <polacek@redhat.com>
1007
1008 PR c/54113
1009 * c-decl.c (start_function): Don't warn for missing prototype for
1010 inline functions.
1011
05e8f674 10122013-12-03 Marek Polacek <polacek@redhat.com>
1013
1014 PR c/59351
1015 * c-decl.c (build_compound_literal): Allow compound literals with
1016 empty initial value.
1017
39f74d66 10182013-12-02 Joseph Myers <joseph@codesourcery.com>
1019
1020 PR c/58235
1021 * c-typeck.c (build_modify_expr): Diagnose assignment to
1022 expression with array type.
1023
f221adca 10242013-11-29 Joseph Myers <joseph@codesourcery.com>
1025
1026 PR c/42262
1027 * c-typeck.c (process_init_element): Do not treat a string as
1028 initializing a whole array when used with a designator for an
1029 individual element.
1030
75bce827 10312013-11-29 Joseph Myers <joseph@codesourcery.com>
1032
1033 PR c/57574
1034 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
1035 an inline function following a static declaration.
1036
dc133326 10372013-11-28 Jakub Jelinek <jakub@redhat.com>
1038
1039 PR c/59310
1040 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
1041 to p_name before calling c_parser_omp_teams instead of after.
1042 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
1043 argument. Remove unused p_name variable.
1044
d09768a4 10452013-11-27 Aldy Hernandez <aldyh@redhat.com>
1046 Jakub Jelinek <jakub@redhat.com>
1047
1048 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
1049 external_scope is NULL.
1050
73fd9cbe 10512013-11-27 Tom de Vries <tom@codesourcery.com>
1052 Marc Glisse <marc.glisse@inria.fr>
1053
1054 PR c++/59032
1055 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
1056
bc61cadb 10572013-11-22 Andrew MacLeod <amacleod@redhat.com>
1058
1059 * c-typeck.c: Add required include files from gimple.h.
1060
3df42822 10612013-11-22 David Malcolm <dmalcolm@redhat.com>
1062
1063 * c-decl.c (define_label, shadow_tag_warned)
1064 (check_bitfield_type_and_width, grokdeclarator, grokparms,
1065 store_parm_decls_newstyle, store_parm_decls_oldstyle)
1066 (declspecs_add_type): Remove use of in_system_header macro.
1067 * c-parser.c (c_parser_unary_expression): Likewise.
1068 * c-typeck.c (store_init_value, process_init_element)
1069 (c_start_case): Likewise.
1070
1071 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
1072 macro.
1073
1074 * c-parser.c (c_parser_set_source_position_from_token): Remove
1075 reference to in_system_header from comment.
1076
08f817b3 10772013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1078
1079 * c-decl.c (grokdeclarator): Update comment to refer to
1080 tree_to_[su]hwi rather than tree_low_cst.
1081
6a0712d4 10822013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1083
1084 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
1085 tree_to_uhwi throughout.
1086
fcb97e84 10872013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1088
1089 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
1090 throughout.
1091
35ec552a 10922013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1093
1094 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
1095 throughout.
1096
f2697631 10972013-11-15 Aldy Hernandez <aldyh@redhat.com>
1098
1099 * c-parser.c (c_parser_cilk_simd): New.
1100 (c_parser_cilk_verify_simd): New.
1101 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
1102 (c_parser_omp_for_loop): Add case for NE_EXPR.
1103 Set c_break_label for CILK_SIMD.
1104 (c_parser_cilk_clause_vectorlength): New.
1105 (c_parser_cilk_clause_linear): New.
1106 (c_parser_cilk_clause_name): New.
1107 (c_parser_cilk_all_clauses): New.
1108 * c-typeck.c (build_unary_op): Pass location argument to
1109 readonly_error.
1110 (build_modify_expr): Same.
1111 (build_asm_expr): Same.
1112 (c_finish_bc_stmt): Error on break/continue in loops.
1113
e795d6e1 11142013-11-14 Andrew MacLeod <amacleod@redhat.com>
1115
1116 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
1117
9ed99284 11182013-11-14 Diego Novillo <dnovillo@google.com>
1119
1120 * c-decl.c: Include print-tree.h.
1121 Include stor-layout.h.
1122 Include varasm.h.
1123 Include attribs.h.
1124 Include stringpool.h.
1125 * c-lang.c: Include fold-const.h.
1126 * c-parser.c: Include stringpool.h.
1127 Include attribs.h.
1128 Include stor-layout.h.
1129 Include varasm.h.
1130 Include trans-mem.h.
1131 * c-typeck.c: Include stor-layout.h.
1132 Include trans-mem.h.
1133 Include varasm.h.
1134 Include stmt.h.
1135
4fba5eb9 11362013-11-13 Joseph Myers <joseph@codesourcery.com>
1137
1138 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
1139 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
1140 __auto_type.
1141 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
1142 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
1143 RID_AUTO_TYPE.
1144 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
1145 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
1146 (c_parser_declarator, c_parser_direct_declarator_inner)
1147 (c_parser_parameter_declaration, c_parser_type_name): All callers
1148 changed.
1149 (c_parser_declaration_or_fndef): Handle declarations with type
1150 determined from the initializer.
1151
a8783bee 11522013-11-12 Andrew MacLeod <amacleod@redhat.com>
1153
e795d6e1 1154 * c-typeck.c: Include gimplify.h.
a8783bee 1155
d184e0c0 11562013-11-12 Joseph Myers <joseph@codesourcery.com>
1157
1158 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
1159 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
1160 comment.
1161 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
1162 or _Thread_local as appropriate in diagnostics.
1163 (build_null_declspecs): Initialize ret->thread_gnu_p.
1164 (declspecs_add_scspec): Handle either __thread or _Thread_local
1165 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
1166 pedantic. Do not disallow _Thread_local extern and _Thread_local
1167 static.
1168
b560fabd 11692013-11-07 Joseph Myers <joseph@codesourcery.com>
1170 Andrew MacLeod <amacleod@redhat.com>
1171
1172 * c-aux-info.c (gen_type): Handle atomic qualifier.
1173 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
1174 qualifiers when compating types.
1175 (shadow_tag_warned): Handle atomic_p in declspecs.
1176 (quals_from_declspecs): Likewise.
1177 (start_decl): Use c_type_promotes_to when promoting argument
1178 types.
1179 (grokdeclarator): Handle _Atomic.
1180 (get_parm_info): Diagnose any qualifier on "void" as only
1181 parameter.
1182 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
1183 comparing types. Use c_type_promotes_to when promoting argument
1184 types.
1185 (finish_function): Use c_type_promotes_to when promoting argument
1186 types.
1187 (build_null_declspecs): Handle atomic_p in declspecs.
1188 (declspecs_add_qual): Handle RID_ATOMIC.
1189 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
1190 (c_token_starts_declspecs): Handle RID_ATOMIC.
1191 (c_parser_declspecs): Handle atomic type specifiers and
1192 qualifiers.
1193 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
1194 from types of expressions with atomic type.
1195 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
1196 (c_parser_attribute_any_word): Handle RID_ATOMIC.
1197 (c_parser_initializer, c_parser_initelt, c_parser_initval)
1198 (c_parser_statement_after_labels, c_parser_switch_statement)
1199 (c_parser_for_statement, c_parser_expr_no_commas)
1200 (c_parser_conditional_expression, c_parser_binary_expression)
1201 (c_parser_cast_expression, c_parser_unary_expression)
1202 (c_parser_postfix_expression)
1203 (c_parser_postfix_expression_after_primary, c_parser_expression):
1204 Use convert_lvalue_to_rvalue.
1205 (c_parser_expression_conv, c_parser_expr_list): Document
1206 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
1207 (c_parser_objc_synchronized_statement): Use
1208 convert_lvalue_to_rvalue.
1209 (c_parser_objc_selector): Handle RID_ATOMIC.
1210 (c_parser_objc_receiver, c_parser_array_notation): Use
1211 convert_lvalue_to_rvalue.
1212 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
1213 _Atomic (type-name).
1214 (struct c_declspecs): Add atomic_p field.
1215 (convert_lvalue_to_rvalue): Declare.
1216 * c-typeck.c (c_type_promotes_to): Promote atomic types to
1217 corresponding atomic types.
1218 (qualify_type): Don't add _Atomic qualifiers from second argument.
1219 (comp_target_types): Do not allow _Atomic mismatches.
1220 (type_lists_compatible_p): Do not remove atomic qualifiers when
1221 comparing types.
1222 (really_atomic_lvalue, convert_lvalue_to_rvalue)
1223 (build_atomic_assign): New functions.
1224 (build_unary_op): Use build_atomic_assign for atomic increment and
1225 decrement.
1226 (build_conditional_expr): Do not treat _Atomic void as a qualified
1227 version of void.
1228 (build_modify_expr): Use build_atomic_assign for atomic LHS.
1229 (find_anonymous_field_with_type, convert_to_anonymous_field)
1230 (convert_for_assignment): Do not remove atomic qualifiers when
1231 comparing types.
1232 (digest_init): Do not accept initialization of arrays of atomic
1233 elements by string constants.
1234 (build_asm_expr): Use convert_lvalue_to_rvalue.
1235 (build_binary_op): Do not treat _Atomic void as a qualified
1236 version of void.
1237
8b023e7c 12382013-11-06 DJ Delorie <dj@redhat.com>
1239
1240 * c-decl.c (locate_old_decl): If a previous conflicting decl is
1241 both explicit and builtin, print the location of the explicit one.
1242
c630ef93 12432013-11-05 Tobias Burnus <burnus@net-b.de>
1244
1245 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
1246 c_parser_omp_distribute, c_parser_omp_teams,
1247 c_parser_omp_target, c_parser_omp_declare): Handle
1248 -fopenmp-simd.
1249
2c4c3477 12502013-11-03 Marek Polacek <polacek@redhat.com>
1251
1252 * c-decl.c (grokdeclarator): Add VLA instrumentation.
1253
df205251 12542013-11-01 Jakub Jelinek <jakub@redhat.com>
1255
1256 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
1257 check_dup_generic at the end, unless remove is true.
1258 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
1259 remove = true;.
1260 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
1261
23871d0c 12622013-10-31 Jakub Jelinek <jakub@redhat.com>
1263
1264 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
1265 with decl that is not pointer nor array.
1266
d037099f 12672013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1268
1269 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
1270 a spawning function is found.
1271 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
1272 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
1273 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1274 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
1275 case.
1276 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
1277 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
1278 expr.
1279 (c_finish_return): Added a check to reject _Cilk_spawn in return
1280 expression.
1281 (build_cilk_spawn): New function.
1282 (build_cilk_sync): Likewise.
1283 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
1284
4c90c04c 12852013-10-27 Tobias Burnus <burnus@net-b.de>
1286
1287 PR other/33426
1288 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
1289 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
1290 (c_parser_statement_after_labels): Update calls.
1291
48a972c8 12922013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 1293
1294 PR other/33426
1295 * c-parser.c (c_parser_pragma, c_parser_for_statement):
1296 Handle PRAGMA_IVDEP.
1297 (c_parser_statement_after_labels): Update call.
1298
12f86df0 12992013-10-24 Marek Polacek <polacek@redhat.com>
1300
1301 * c-parser.c (c_parser_struct_declaration): Add a comment.
1302 (c_parser_declarator): Don't allow _Alignas here.
1303
7740abd8 13042013-10-17 Andrew MacLeod <amacleod@redhat.com>
1305
1306 * c-parser.c: Include omp-low.h.
1307 * c-typeck.c: Likewise.
1308
43d03c23 13092013-10-17 Marek Polacek <polacek@redhat.com>
1310
1311 PR c/58267
1312 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
1313 Document syntax of the array-declarator.
1314 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
1315 are not permitted.
1316 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
1317 (c_parser_struct_declaration): Likewise.
1318 (c_parser_declarator): Likewise.
1319 (c_parser_direct_declarator_inner): Likewise.
1320 (c_parser_parameter_declaration): Likewise.
1321 (c_parser_type_name): Likewise.
1322
bc7bff74 13232013-10-11 Jakub Jelinek <jakub@redhat.com>
1324
1325 * c-lang.h (current_omp_declare_target_attribute): New extern
1326 decl.
1327 * c-parser.c: Include c-lang.h.
1328 (struct c_parser): Change tokens to c_token *.
1329 Add tokens_buf field. Change tokens_avail type to unsigned int.
1330 (c_parser_consume_token): If parser->tokens isn't
1331 &parser->tokens_buf[0], increment parser->tokens.
1332 (c_parser_consume_pragma): Likewise.
1333 (enum pragma_context): Add pragma_struct and pragma_param.
1334 (c_parser_external_declaration): Adjust
1335 c_parser_declaration_or_fndef caller.
1336 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
1337 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
1338 Adjust recursive call.
1339 (c_parser_struct_or_union_specifier): Use pragma_struct instead
1340 of pragma_external.
1341 (c_parser_parameter_declaration): Use pragma_param instead of
1342 pragma_external.
1343 (c_parser_compound_statement_nostart, c_parser_label,
1344 c_parser_for_statement): Adjust
1345 c_parser_declaration_or_fndef callers.
1346 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
1347 it through to c_parser_conditional_expression.
1348 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
1349 pass it through to c_parser_binary_expression. Adjust recursive
1350 call.
1351 (c_parser_binary_expression): Remove prec argument, add
1352 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
1353 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
1354 binop matches it, use build2 instead of parser_build_binary_op.
1355 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
1356 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
1357 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
1358 Handle pragma_struct and pragma_param the same as pragma_external.
1359 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
1360 (c_parser_omp_variable_list): Parse array sections for
1361 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
1362 (c_parser_omp_clause_collapse): Fully fold collapse expression.
1363 (c_parser_omp_clause_reduction): Handle user defined reductions.
1364 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
1365 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
1366 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
1367 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
1368 c_parser_omp_clause_depend, c_parser_omp_clause_map,
1369 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
1370 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
1371 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
1372 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
1373 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
1374 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
1375 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
1376 (c_parser_omp_for_loop): Add CODE argument, pass it through
1377 to c_finish_omp_for. Change last argument to cclauses,
1378 and adjust uses to grab parallel clauses from the array of all
1379 the split clauses. Adjust c_parser_binary_expression,
1380 c_parser_declaration_or_fndef and c_finish_omp_for callers.
1381 (omp_split_clauses): New function.
1382 (c_parser_omp_simd): New function.
1383 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
1384 Allow the function to be called also when parsing combined constructs,
1385 and call c_parser_omp_simd when parsing for simd.
1386 (c_parser_omp_sections_scope): If section-sequence doesn't start with
1387 #pragma omp section, require exactly one structured-block instead of
1388 sequence of statements.
1389 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
1390 Allow the function to be called also when parsing combined constructs.
1391 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
1392 Allow the function to be called also when parsing combined
1393 constructs.
1394 (c_parser_omp_taskgroup, c_parser_omp_cancel,
1395 c_parser_omp_cancellation_point, c_parser_omp_distribute,
1396 c_parser_omp_teams, c_parser_omp_target_data,
1397 c_parser_omp_target_update, c_parser_omp_target,
1398 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
1399 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
1400 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
1401 (c_parser_omp_construct): Add p_name and mask vars. Handle
1402 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
1403 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
1404 and c_parser_omp_sections callers.
1405 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
1406 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
1407 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
1408 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
1409 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
1410 OMP_CLAUSE_DEPEND.
1411 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
1412 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
1413 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
1414 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
1415 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
1416 * c-typeck.c: Include tree-inline.h.
1417 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
1418 handle_omp_array_sections_1, handle_omp_array_sections,
1419 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
1420 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
1421 user defined reductions.
1422 (c_tree_equal): New function.
1423 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
1424 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
1425 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
1426 c_check_omp_declare_reduction_r): New prototypes.
1427 * c-decl.c (current_omp_declare_target_attribute): New variable.
1428 (c_decl_attributes): New function.
1429 (start_decl, start_function): Use it instead of decl_attributes.
1430 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
1431 c_omp_reduction_decl, c_omp_reduction_lookup,
1432 c_check_omp_declare_reduction_r): New functions.
1433
3ce7d1bd 14342013-09-25 Tom Tromey <tromey@redhat.com>
1435
1436 * Make-lang.in (c/gccspec.o): Remove.
1437 (CFLAGS-c/gccspec.o): New variable.
1438 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
1439 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
1440 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
1441
96da1c1d 14422013-09-25 Tom Tromey <tromey@redhat.com>
1443
1444 * Make-lang.in (c/gccspec.o): Don't use subshell.
1445
1b309377 14462013-09-18 Marek Polacek <polacek@redhat.com>
1447
1448 PR sanitize/58443
1449 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
1450 Remove unnecessary check.
1451
05f893e1 14522013-09-18 Marek Polacek <polacek@redhat.com>
1453
1454 PR sanitizer/58411
1455 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
1456 no_sanitize_undefined attribute.
1457
bda0b9d2 14582013-09-13 Kai Tietz <ktietz@redhat.com>
1459
1460 PR target/57848
1461 * c-decl.c (c_builtin_function_ext_scope): Remove
1462 wrong assumption that it is never called on prexisting
1463 symbol.
1464
73437615 14652013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1466
1467 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
1468
eaab24b9 14692013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1470
1471 * c-objc-common.c (c_tree_printer): Tidy.
1472
9e46467d 14732013-08-30 Marek Polacek <polacek@redhat.com>
1474
1475 * c-typeck.c (build_binary_op): Add division by zero and shift
1476 instrumentation.
1477
f8234178 14782013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
f9086116 1479 Joseph Myers <joseph@codesourcery.com>
f8234178 1480
c90a7d10 1481 PR c/35649
f8234178 1482 * c-typeck.c (c_common_type): Prefer double_type_node over
1483 other REAL_TYPE types with the same precision.
1484 (convert_arguments): Likewise.
1485
6f07f480 14862013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
1487
1488 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
1489 (c_initialize_diagnostics): Call a destructor for the early printer.
1490
eed6bc21 14912013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1492
1493 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
1494 printer initialization.
1495
57717943 14962013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
eed6bc21 1497
57717943 1498 PR c/57490
1499 * c-array-notation.c (fix_conditional_array_notations_1): Added a
1500 check for truth values.
1501 (expand_array_notation_exprs): Added truth values case. Removed an
1502 unwanted else. Added for-loop to walk through subtrees in default
1503 case.
1504
a94db6b0 15052013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1506
1507 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
1508
e76163a9 15092013-07-23 Joseph Myers <joseph@codesourcery.com>
1510
1511 * c-parser.c (struct c_generic_association): Fix typo.
1512
7aa04c8d 15132013-07-23 Tom Tromey <tromey@redhat.com>
1514 Joseph Myers <joseph@codesourcery.com>
1515
1516 * c-parser.c (struct c_generic_association): New.
1517 (c_generic_association_d): New typedef.
1518 (c_parser_generic_selection): New function.
1519 (c_parser_postfix_expression): Handle RID_GENERIC.
1520
76bbe4ca 15212013-07-13 Jason Merrill <jason@redhat.com>
1522
1523 PR c++/57793
1524 * c-decl.c (finish_struct): Check for too-large class.
1525
21ebaa24 15262013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 1527
1528 PR c/57821
1529 * c-typeck.c (set_init_index): When folding, check for index overflow.
1530
936c3081 15312013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1532
1533 * c-parser.c (c_parser_array_notation): Removed rejection of array
1534 notations in an array of function pointers.
1535
50acebe0 15362013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
1537
1538 * c-array-notation.c (make_triplet_val_inv): New function.
1539 (create_cmp_incr): Likewise.
1540 (create_array_refs): Likewise.
1541 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
1542 Also modularized common parts between functions and called the function.
1543 (build_array_notation_expr): Likewise.
1544 (fix_conditional_array_notations_1): Likewise.
1545 (fix_array_notation_expr): Likewise.
1546 (fix_array_notation_call_expr): Likewise.
1547
01e6cdb4 15482013-06-18 Marek Polacek <polacek@redhat.com>
1549
1550 PR c/57630
1551 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
1552
6a3adac6 15532013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
1554
1555 * c-array-notation.c (build_array_notation_expr): Reject array notation
1556 mismatch between LHS and RHS even inside a call_expr. Also, removed
1557 a couple while statements that were dead code.
1558
62aab3f3 15592013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
1560
1561 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
1562 excessive precision expressions in function parameters. Also removed
1563 couple unwanted while statements.
1564
bfc83720 15652013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
1566
1567 * c-array-notation.c (expand_array_notation_exprs): Added
1568 ARRAY_NOTATION_REF case.
1569
09970d67 15702013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
1571
1572 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
1573 function to c-family/array-notation-common.c.
1574 (is_cilkplus_reduce_builtin): Likewise.
1575 (find_rank): Likewise.
1576 (extract_array_notation_exprs): Likewise.
1577 (replace_array_notations): Likewise.
1578 (find_inv_trees): Likewise.
1579 (replace_inv_trees): Likewise.
1580 (contains_array_notation_expr): Likewise.
1581 (find_correct_array_notation_type): Likewise.
1582 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
1583 (struct inv_list): Moved this to c-family/array-notation-common.c.
1584 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
1585
6e13bc01 15862013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
1587
1588 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
1589 reduction functions outside the for-loop. Added a check if the fundecl
1590 is non-NULL. Finally, removed an unwanted if-statement, and made the
1591 body unconditional.
1592
cc92dddc 15932013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
1594
1595 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
1596 condition of the if-statement matches the rank of else-block and then-
1597 block when array notations are used.
1598 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
1599 expression after the entire function body is parsed.
1600 (c_parser_expr_no_commas): Delayed creating array notation expressions
1601 to the end of function parsing.
1602 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
1603 whole if-statement instead of just the condition.
1604 (expand_array_notation_exprs): Added MODIFY_EXPR case.
1605
eddc63fd 16062013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
1607
1608 PR c/57474
1609 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
1610 array to NULL_TREE if they are unused. Also added a check for the
1611 field to be NULL before its fields are used in future.
1612
a2115a4a 16132013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1614
1615 PR bootstrap/57450
1616 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
1617 (build_array_notation_expr): Likewise.
1618
3c6d4197 16192013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1620
1621 * c-typeck.c (build_array_ref): Added a check to see if array's
1622 index is greater than one. If true, then emit an error.
1623 (build_function_call_vec): Exclude error reporting and checking
1624 for builtin array-notation functions.
1625 (convert_arguments): Likewise.
1626 (c_finish_return): Added a check for array notations as a return
1627 expression. If true, then emit an error.
1628 (c_finish_loop): Added a check for array notations in a loop
1629 condition. If true then emit an error.
1630 (lvalue_p): Added a ARRAY_NOTATION_REF case.
1631 (build_binary_op): Added a check for array notation expr inside
1632 op1 and op0. If present, we call another function to find correct
1633 type.
1634 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
1635 * c-parser.c (c_parser_compound_statement): Check if array
1636 notation code is used in tree, if so, then transform them into
1637 appropriate C code.
1638 (c_parser_expr_no_commas): Check if array notation is used in LHS
1639 or RHS, if so, then build array notation expression instead of
1640 regular modify.
1641 (c_parser_postfix_expression_after_primary): Added a check for
1642 colon(s) after square braces, if so then handle it like an array
1643 notation. Also, break up array notations in unary op if found.
1644 (c_parser_direct_declarator_inner): Added a check for array
1645 notation.
1646 (c_parser_compound_statement): Added a check for array notation in
1647 a stmt. If one is present, then expand array notation expr.
1648 (c_parser_if_statement): Likewise.
1649 (c_parser_switch_statement): Added a check for array notations in
1650 a switch statement's condition. If true, then output an error.
1651 (c_parser_while_statement): Similarly, but for a while.
1652 (c_parser_do_statement): Similarly, but for a do-while.
1653 (c_parser_for_statement): Similarly, but for a for-loop.
1654 (c_parser_unary_expression): Check if array notation is used in a
1655 pre-increment or pre-decrement expression. If true, then expand
1656 them.
1657 (c_parser_array_notation): New function.
1658 * c-array-notation.c: New file.
1659 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
1660
2c1c8a2c 16612013-05-23 Mike Stump <mikestump@comcast.net>
1662
1663 * c-typeck.c (convert_for_assignment): Handle references to memory
1664 spaces better.
1665
be5f9e46 16662013-05-16 Jason Merrill <jason@redhat.com>
1667
1668 * Make-lang.in (cc1$(exeext)): Use link mutex.
1669
9205a6cc 16702013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1671
1672 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
1673 to simply use OPT_Wpointer_arith.
1674 (build_unary_op): Likewise.
1675
0b049e15 16762013-04-03 Jakub Jelinek <jakub@redhat.com>
1677
1678 PR c/19449
1679 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
1680 argument. If set, or it temporarily for parsing of the first
1681 argument into force_folding_builtin_constant_p.
1682 (c_parser_postfix_expression): Adjust callers.
1683
8e966116 16842013-03-21 Richard Biener <rguenther@suse.de>
1685
1686 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
1687 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
1688
b862f263 16892013-02-12 Marek Polacek <polacek@redhat.com>
1690
1691 PR c/44938
1692 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
1693 origtypes to NULL.
1694
54550ecb 16952013-01-24 Jakub Jelinek <jakub@redhat.com>
1696
1697 PR c/56078
1698 * c-typeck.c (set_nonincremental_init_from_string): If
1699 constructor_max_index is NULL, treat it as if tree_int_cst_lt
1700 returned false.
1701 (process_init_element): Likewise.
1702
035b65e2 17032012-12-20 Jakub Jelinek <jakub@redhat.com>
1704
1705 PR c++/55619
1706 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
1707 argument, don't call default_function_array_conversion
1708 nor c_fully_fold here.
1709 (c_parser_asm_statement): Adjust callers.
1710 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
1711 and outputs here, and call default_function_array_conversion
1712 on inputs that don't need to be addressable.
1713
7cbb7f1a 17142012-12-18 Jakub Jelinek <jakub@redhat.com>
1715
1716 PR c/39464
1717 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
1718 warning require that both c_common_unsigned_type as well as
1719 c_common_signed_type is the same for both mvl and mvr types.
1720
f1f41a6c 17212012-11-16 Diego Novillo <dnovillo@google.com>
1722
1723 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1724
1725 * c-common.c: Use new vec API in vec.h.
1726 * c-common.h: Likewise.
1727 * c-gimplify.c: Likewise.
1728 * c-pragma.c: Likewise.
1729 * c-pretty-print.c: Likewise.
1730 * c-pretty-print.h: Likewise.
1731 * c-semantics.c: Likewise.
1732 * c-decl.c: Likewise.
1733 * c-parser.c: Likewise.
1734 * c-tree.h: Likewise.
1735 * c-typeck.c: Likewise.
1736
8b447d3f 17372012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
1738
1739 PR c++/54930
1740 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
1741
08fc5390 17422012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1743
1744 PR c/53066
1745 * c-decl.c (warn_if_shadowing): Do not warn if a variable
1746 shadows a function, unless the variable is a function or a
1747 pointer-to-function.
1748
57f872a2 17492012-10-12 Jakub Jelinek <jakub@redhat.com>
1750
1751 PR c/54381
1752 * c-parser.c (struct c_tree_loc_pair): Removed.
1753 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
1754 add location_t * and tree * arguments, fill in array of 3
1755 sizeof_arg trees and corresponding locs.
1756 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
1757 c_parser_expr_list callers.
1758 (c_parser_postfix_expression_after_primary): Likewise. Pass
1759 array of 3 sizeof_arg trees and locs (corresponding to first
1760 3 arguments) to sizeof_pointer_memaccess_warning.
1761
d1455aa3 17622012-10-09 Lawrence Crowl <crowl@google.com>
1763
1764 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
1765 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
1766 hash table.
1767
b0e7825e 17682012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
1769
1770 PR c++/54194
1771 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
1772 call.
1773
41ed701a 17742012-10-09 Marc Glisse <marc.glisse@inria.fr>
1775
1776 PR c++/54427
1777 * c-typeck.c: Include c-common.h.
1778 (enum stv_conv): Moved to c-common.h.
1779 (scalar_to_vector): Moved to c-common.c.
1780 (build_binary_op): Adapt to scalar_to_vector's new prototype.
1781 * Make-lang.in: c-typeck.c depends on c-common.h.
1782
ef34afc1 17832012-10-04 Arnaud Charlet <charlet@adacore.com>
1784
1785 * c-decl.c (c_write_global_declarations): Fix handling of
1786 -fdump-ada-spec*.
1787
7bd765d4 17882012-09-30 Sharad Singhai <singhai@google.com>
1789
1790 * c-decl.c (c_write_global_declarations): Use a different method
1791 to determine if the dump has ben initialized.
1792
c4b1a13a 17932012-09-14 Joseph Myers <joseph@codesourcery.com>
1794
1795 PR c/54552
1796 * c-typeck.c (c_cast_expr): When casting to a type requiring
1797 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
1798 c_fully_fold first.
1799
bb554051 18002012-09-14 Joseph Myers <joseph@codesourcery.com>
1801
1802 PR c/54103
1803 * c-typeck.c (build_unary_op): Pass original argument of
1804 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
1805 any C_MAYBE_CONST_EXPR, if it has integer operands.
1806 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
1807 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
1808 to c_objc_common_truthvalue_conversion, then remove any
1809 C_MAYBE_CONST_EXPR, if they have integer operands. Use
1810 c_objc_common_truthvalue_conversion not
1811 c_common_truthvalue_conversion.
1812 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
1813 call note_integer_operands for arguments with integer operands
1814 that are not integer constants.
1815
c708c6ef 18162012-09-13 Jakub Jelinek <jakub@redhat.com>
1817
1818 PR c/54559
1819 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
1820 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
1821
cce20430 18222012-08-31 Jakub Jelinek <jakub@redhat.com>
1823
1824 PR c/54428
1825 * c-convert.c (convert): Don't call fold_convert_loc if
1826 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
1827 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
1828 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
1829
a90d57ed 18302012-08-24 Jakub Jelinek <jakub@redhat.com>
1831
1832 PR c/54355
1833 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
1834 for nested and empty_ok arguments in the call to
1835 c_parser_declaration_or_fndef.
1836
f003f5dc 18372012-08-17 Jakub Jelinek <jakub@redhat.com>
1838
1839 * c-tree.h (c_last_sizeof_arg): Declare.
1840 * c-parser.c (struct c_tree_loc_pair): New type.
1841 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
1842 non-NULL.
1843 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
1844 (c_parser_postfix_expression_after_primary): Likewise. Call
1845 sizeof_pointer_memaccess_warning if needed.
1846 (sizeof_ptr_memacc_comptypes): New function.
1847 * c-typeck.c (c_last_sizeof_arg): New global variable.
1848 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
1849
a5656b73 18502012-07-24 Uros Bizjak <ubizjak@gmail.com>
1851
1852 * c-lang.h (lang_decl): Add variable_size GTY option.
1853
b9ed1410 18542012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1855
1856 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
1857 * Make-lang.in: Fix dependencies.
1858
e53d55e7 18592012-06-29 Steven Bosscher <steven@gcc.gnu.org>
1860
1861 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
1862 and add language Makefile hooks.
1863 * config-lang.in: New file.
1864 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
1865 add the required "normal" config-lang.in rules.
1866 * c-lang.h: Moved from gcc/ to here.
1867 * c-tree.h: Likewise.
1868 * c-objc-common.c: Likewise.
1869 * c-objc-common.h: Likewise.
1870 * c-typeck.c: Likewise.
1871 * c-convert.c: Likewise.
1872 * c-lang.c: Likewise.
1873 * c-aux-info.c: Likewise.
1874 * c-errors.c: Likewise.
1875 * gccspec.c: Likewise.
1876 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
1877 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
1878\f
3aea1f79 1879Copyright (C) 2012-2014 Free Software Foundation, Inc.
e53d55e7 1880
1881Copying and distribution of this file, with or without modification,
1882are permitted in any medium without royalty provided the copyright
1883notice and this notice are preserved.