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