]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
lex.c (search_line_fast): Add new version to be used for Power8 and later targets...
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
d90c0a59
JJ
12014-09-25 Jakub Jelinek <jakub@redhat.com>
2
3 PR c++/63249
4 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
5 on low_bound and length.
6
083e891e
MP
72014-09-24 Marek Polacek <polacek@redhat.com>
8
9 PR c/61405
10 PR c/53874
11 * c-parser.c: Don't define CPP_KEYWORD.
12 (c_parser_switch_statement): Pass original type to c_finish_case.
13 * c-tree.h (c_finish_case): Update declaration.
14 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
15 conditionally to c_do_switch_warnings.
16
8d95fe25
MP
172014-09-03 Marek Polacek <polacek@redhat.com>
18
19 PR c/62024
20 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
21 conversions.
22
9a771876
JJ
232014-09-02 Jakub Jelinek <jakub@redhat.com>
24 Balaji V. Iyer <balaji.v.iyer@intel.com>
25 Igor Zamyatin <igor.zamyatin@intel.com>
26
27 * c-parser.c (c_parser_cilk_for): New function.
28 (c_parser_cilk_grainsize): Likewise.
29 (c_get_temp_regvar): Likewise.
30 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
31 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
32 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
33 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
34 case.
35
b7679d96
CG
362014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
37
38 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
39 with using HOST_WIDE_INT without truncation to 'int'
40
59ea0364
MP
412014-08-22 Marek Polacek <polacek@redhat.com>
42
43 PR c++/62199
44 * c-typeck.c (parser_build_binary_op): Adjust call to
45 warn_logical_not_parentheses.
46
671a475e
IZ
472014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
48
49 PR other/62008
50 * c-parser.c (c_parser_array_notation): Check for correct
51 type of an array added.
52
04159acf
MP
532014-08-19 Marek Polacek <polacek@redhat.com>
54
55 PR c++/62153
56 * c-typeck.c (build_binary_op): If either operand of a comparison
57 is a boolean expression, call maybe_warn_bool_compare.
58
c77935ee
PP
592014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
60
61 PR c/45584
62 * c-typeck.c (build_c_cast): Do a conversion even when the
63 TYPE_MAIN_VARIANTs are the same.
64
35aff4fb
MP
652014-08-19 Marek Polacek <polacek@redhat.com>
66
67 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
68 pedwarn_c99 instead of pedwarn.
69 (grokfield): Likewise.
70 (warn_defaults_to): New function.
71 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
72 Unconditionally call pedwarn_c99 instead of pedwarn.
73 (start_function): Call warn_defaults_to instead of pedwarn_c99.
74 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
75 check flag_isoc11 before.
76 * c-errors.c (pedwarn_c99): Change the return type to bool.
77 Handle -Wc99-c11-compat.
78 * c-parser.c (disable_extension_diagnostics): Handle
79 warn_c99_c11_compat.
80 (restore_extension_diagnostics): Likewise.
81 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
82 instead of pedwarn, don't check flag_isoc11 before.
83 (c_parser_declspecs): Likewise.
84 (c_parser_alignas_specifier): Likewise.
85 (c_parser_alignof_expression): Likewise.
86 (c_parser_generic_selection): Likewise.
87 * c-tree.h (pedwarn_c99): Update declaration.
88 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
89 of pedwarn_c99.
90
177cce46
MP
912014-08-19 Marek Polacek <polacek@redhat.com>
92
93 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
94 to pedwarn_c90.
95 * c-errors.c: Include "opts.h".
96 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
97 * c-parser.c (disable_extension_diagnostics): Handle negative value
98 of warn_c90_c99_compat, too.
99 (restore_extension_diagnostics): Likewise.
100 (c_parser_compound_statement_nostart): Pass
101 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
102
6dc99c33
MP
1032014-08-12 Marek Polacek <polacek@redhat.com>
104
105 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
106 Add pedwarn.
107 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
108 Likewise.
109 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
110
f3bede71
MP
1112014-08-10 Marek Polacek <polacek@redhat.com>
112
113 PR c/51849
114 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
115 Call pedwarn_c90 instead of pedwarn.
116 (check_bitfield_type_and_width): Likewise.
117 (declspecs_add_qual): Likewise.
118 (declspecs_add_type): Likewise.
119 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
120 Adjust to only call pedwarn_c90.
121 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
122 pedwarn_c90 instead of pedwarn.
123 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
124 * c-parser.c (disable_extension_diagnostics): Handle
125 warn_c90_c99_compat.
126 (restore_extension_diagnostics): Likewise.
127 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
128 pedwarn_c90 instead of pedwarn.
129 (c_parser_initelt): Likewise.
130 (c_parser_postfix_expression): Likewise.
131 (c_parser_postfix_expression_after_paren_type): Likewise.
132 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
133 * c-tree.h: Fix formatting.
134 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
135 pedwarn_c90 instead of pedwarn.
136
9f25a338
TS
1372014-08-07 Trevor Saunders <tsaunders@mozilla.com>
138
139 * c-typeck.c: Remove include of pointer-set.h.
140
044331a8
MP
1412014-08-07 Marek Polacek <polacek@redhat.com>
142
143 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
144
b787e7a2
TS
1452014-08-02 Trevor Saunders <tsaunders@mozilla.com>
146
147 * c-typeck.c: Use hash_map instead of pointer_map.
148
6e2830c3
TS
1492014-08-02 Trevor Saunders <tsaunders@mozilla.com>
150
151 * c-decl.c: Use hash_set instead of pointer_set.
152
a7ee52fb
IZ
1532014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
154
155 PR middle-end/61455
156 * c-array-notation.c (expand_array_notations): Handling
157 of DECL_EXPR added.
158
b4dfdc11
MG
1592014-07-31 Marc Glisse <marc.glisse@inria.fr>
160
161 PR c++/60517
162 * c-typeck.c (c_finish_return): Return 0 instead of the address of
163 a local variable.
164
976d5a22
TT
1652014-07-30 Tom Tromey <tromey@redhat.com>
166
167 * c-typeck.c (struct constructor_stack) <designator_depth>: New
168 field.
169 (really_start_incremental_init, push_init_level): Initialize
170 designator_depth.
171 (pop_init_level): Set global designator_depth.
172 (process_init_element): Check for designated_init attribute.
173
30281de2
MP
1742014-07-20 Marek Polacek <polacek@redhat.com>
175
176 PR c/61852
177 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
178 (implicitly_declare): Pass location to implicit_decl_warning.
179
b108f48f
JJ
1802014-07-14 Jakub Jelinek <jakub@redhat.com>
181
182 PR middle-end/61294
183 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
184 If non-NULL, call c_parser_check_literal_zero.
185 (c_parser_check_literal_zero): New function.
186 (c_parser_postfix_expression_after_primary): Adjust
187 c_parser_expr_list caller, handle -Wmemset-transposed-args.
188
773ec47f
MP
1892014-07-06 Marek Polacek <polacek@redhat.com>
190
191 PR c/6940
192 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
193 * c-tree.h (C_ARRAY_PARAMETER): Define.
194 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
195 function parameter.
196
22e1cf1c
JH
1972014-07-02 Jan Hubicka <hubicka@ucw.cz>
198 Chen Gang <gang.chen.5i5j@gmail.com>
199
200 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
201 releasing symbol.
202
52ec0ea3
MP
2032014-07-01 Marek Polacek <polacek@redhat.com>
204
205 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
206 instead of 0 to WARN_FOR_ASSIGNMENT.
207
d5c3d343
MP
2082014-07-01 Marek Polacek <polacek@redhat.com>
209
210 PR c/58286
211 * c-typeck.c (convert_for_assignment): Pass
212 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
213
6a7253a4
MP
2142014-06-30 Marek Polacek <polacek@redhat.com>
215
216 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
217 has no_sanitize_undefined attribute.
218
5e88a8f4
IZ
2192014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
220
221 PR middle-end/57541
222 * c-array-notation.c (fix_builtin_array_notation_fn):
223 Check for 0 arguments in builtin call. Check that bultin argument is
224 correct.
225 * c-parser.c (c_parser_array_notation): Check for incorrect initial
226 index.
227
9698b078
SH
2282014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
229
230 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
231 qualifiers in __auto_type for atomic types.
232 (c_parser_typeof_specifier): Discard all type qualifiers in
233 __typeof__ for atomic types.
234
6e07c515
MP
2352014-06-25 Marek Polacek <polacek@redhat.com>
236
237 PR c/61162
238 * c-parser.c (c_parser_statement_after_labels): Pass the location of
239 the return expression to c_finish_return.
240
da6f124d
JJ
2412014-06-25 Jakub Jelinek <jakub@redhat.com>
242
243 * c-typeck.c (c_finish_omp_clauses): Make sure
244 OMP_CLAUSE_LINEAR_STEP has correct type.
245
c203e8a7
TS
2462014-06-24 Trevor Saunders <tsaunders@mozilla.com>
247
248 * c-decl.c: Adjust.
249
56ad0e38
JJ
2502014-06-24 Jakub Jelinek <jakub@redhat.com>
251
252 * c-parser.c (c_parser_omp_for_loop): For
253 #pragma omp parallel for simd move lastprivate clause from parallel
254 to for rather than simd.
255
47c2554f
MP
2562014-06-23 Marek Polacek <polacek@redhat.com>
257
258 * c-typeck.c (parser_build_binary_op): Don't call
259 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
260
56363ffd
JH
2612014-06-15 Jan Hubicka <hubicka@ucw.cz>
262
263 * c-parser.c (c_parser_omp_threadprivate): Likewise.
264 * c-decl.c (merge_decls): Likewise.
265
d7ff7ae5
MP
2662014-06-09 Marek Polacek <polacek@redhat.com>
267
268 PR c/36446
269 * c-typeck.c (error_init): Call inform instead of error_at.
270 (pedwarn_init): Call inform instead of pedwarn.
271 (warning_init): Call inform instead of warning_at.
272
24d047a3
JH
2732014-06-07 Jan Hubicka <hubicka@ucw.cz>
274
275 * c-decl.c (merge_decls): Use set_decl_section_name.
276 (duplicate_decls): Remove node if it exists.
277
9bac5cbb
G
2782014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
279
280 PR c/53119
281 * c-typeck.c (push_init_level, process_init_element,
282 pop_init_level): Correct check for zero initialization, move
283 missing brace warning to respect zero initialization.
284
8ffcdea8
MP
2852014-06-05 Marek Polacek <polacek@redhat.com>
286
287 PR c/56724
288 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
289
742938c9
MP
2902014-06-05 Marek Polacek <polacek@redhat.com>
291
292 PR c/49706
293 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
294 on the left hand side operand of a comparison.
295
6447c55d
MP
2962014-06-05 Marek Polacek <polacek@redhat.com>
297
298 PR c/48062
299 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
300 Print note only if the warning was printed.
301
9dc7743c
IZ
3022014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
303
304 PR c/58942
305 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
306 with a pointer.
307
fedfecef
MP
3082014-06-03 Marek Polacek <polacek@redhat.com>
309
310 PR c/60439
311 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
312 c_start_case.
313 * c-tree.h (c_start_case): Update.
314 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
315 switch condition has boolean value.
316
9b2b7279
AM
3172014-06-02 Andrew MacLeod <amacleod@redhat.com>
318
319 * c-decl.c: Include builtins.h.
320 * c-parser.c: Likewise.
321
5c1bc275
MP
3222014-05-27 Marek Polacek <polacek@redhat.com>
323
324 PR c/56724
325 * c-typeck.c (convert_arguments): Get location of a parameter. Change
326 error and warning calls to error_at and warning_at. Pass location of
327 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
328 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
329 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
330
97563bc8
IZ
3312014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
332
333 PR c/61191
334 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
335 function parameters.
336
aede2c10
JH
3372014-05-23 Jan Hubicka <hubicka@ucw.cz>
338
339 * c-decl.c (merge_decls): Preserve symtab node pointers.
340 (duplicate_decls): Free new decl.
341
edbba2ce
TS
3422014-05-23 Thomas Schwinge <thomas@codesourcery.com>
343
f3316c6d
TS
344 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
345 initialization.
346
edbba2ce
TS
347 * c-parser.c (c_parser_omp_target): Return bool values.
348
68c81f24
TS
3492014-05-22 Thomas Schwinge <thomas@codesourcery.com>
350
351 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
352 num_teams_loc variable to num_thread_limit_loc.
353
632f2871
RS
3542014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
355
356 * c-array-notation.c (expand_array_notations): Use void_node
357 instead of void_zero_node.
358
766090c2
TS
3592014-05-17 Trevor Saunders <tsaunders@mozilla.com>
360
361 * c-decl.c (finish_struct): Adjust.
362 (finish_enum): Likewise.
363 (bind): Adjust.
364 (record_inline_static): Likewise.
365 (push_scope): Likewise.
366 (make_label): Likewise.
367 (lookup_label_for_goto): Likewise.
368 (finish_struct): Likewise.
369 (finish_enum): Likewise.
370 (store_parm_decls): Likewise.
371 (c_push_function_context): Likewise.
372 * c-lang.h: Remove usage of variable_size gty attribute.
373 * c-parser.c (c_parse_init): Adjust.
374 (c_parse_file): Likewise.
375
2b107f6b
MP
3762014-05-13 Marek Polacek <polacek@redhat.com>
377
378 PR c/61162
379 * c-typeck.c (convert_for_assignment): Pass location to
380 WARN_FOR_ASSIGNMENT instead of input_location.
381
d033409e
MP
3822014-05-10 Marek Polacek <polacek@redhat.com>
383
384 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
385 maybe_warn_string_init.
386 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
387 maybe_warn_string_init.
388 * c-tree.h (maybe_warn_string_init): Update declaration.
389 * c-typeck.c (maybe_warn_string_init): Add location parameter.
390 Call pedwarn_init with loc instead of with input_location.
391 (digest_init): Pass init_loc to maybe_warn_string_init.
392 (pop_init_level): Call pedwarn_init with loc instead of with
393 input_location.
394 (set_init_index): Likewise.
395 (process_init_element): Likewise.
396
ea58ef42
MP
3972014-05-09 Marek Polacek <polacek@redhat.com>
398
399 PR c/61096
400 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
401 (c_parser_initelt): Pass location to set_init_label. Pass array index
402 location to set_init_index.
403 * c-tree.h (push_init_level): Update declaration.
404 (pop_init_level): Likewise.
405 (set_init_index): Likewise.
406 (set_init_label): Likewise.
407 * c-typeck.c (error_init): Add location parameter. Call error_at
408 instead of error.
409 (digest_init): Pass init_loc to error_init.
410 (really_start_incremental_init):
411 (push_init_level): Add location parameter. Pass loc to pop_init_level
412 and error_init.
413 (pop_init_level): Likewise.
414 (set_designator): Add location parameter. Pass loc to pop_init_level,
415 push_init_level, and error_init.
416 (set_init_index): Add location parameter. Pass loc to error_init and
417 set_designator.
418 (set_init_label): Likewise.
419 (output_init_element): Pass loc to error_init.
420 (process_init_element): Pass loc to error_init, pop_init_level,
421 pedwarn_init, and push_init_level.
422
661a0813
MP
4232014-05-09 Marek Polacek <polacek@redhat.com>
424
425 PR c/50459
426 * c-parser.c (c_parser_attributes): Parse the arguments as an
427 expression-list if the attribute takes identifier.
428
2793eeab
MP
4292014-05-08 Marek Polacek <polacek@redhat.com>
430
431 PR c/61053
432 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
433 TYPE_ALIGN_UNIT.
434
f827930a
MP
4352014-05-08 Marek Polacek <polacek@redhat.com>
436
437 PR c/61077
438 * c-decl.c (start_function): Warn for _Atomic-qualified return type
439 of main.
440
1d60af08
KZ
4412014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
442 Mike Stump <mikestump@comcast.net>
443 Richard Sandiford <rdsandiford@googlemail.com>
444
445 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
446 (finish_enum): Use wide-int interfaces.
447 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
448 * c-typeck.c (build_c_cast): Likewise.
449 (set_nonincremental_init_from_string): Likewise.
450 (c_tree_equal): Likewise.
451
a0e24419
MP
4522014-05-02 Marek Polacek <polacek@redhat.com>
453
454 PR c/25801
455 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
456 Return size_one_node when the type is not complete.
457 (pointer_diff): Remove comment.
458 (build_unary_op): Improve error messages.
459
19fc9faa
MP
4602014-05-02 Marek Polacek <polacek@redhat.com>
461
462 * c-typeck.c (c_finish_return): Separate warning_at calls.
463
63bc4e87
MP
4642014-05-02 Marek Polacek <polacek@redhat.com>
465
466 * c-tree.h (error_init): Remove declaration.
467 (pedwarn_init): Likewise.
468 * c-typeck.c (error_init): Make static and move above.
469 (pedwarn_init): Likewise.
470 (warning_init): Move above.
471 (maybe_warn_string_init): Likewise.
472
4bd2511b
JL
4732014-05-01 Jeff Law <law@redhat.com>
474
475 Revert:
476
477 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
478 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
479 avoid goto.
480
6a358dcb
MP
4812014-05-02 Marek Polacek <polacek@redhat.com>
482
483 PR c/60784
484 * c-typeck.c (push_init_level): Set constructor_designated to
485 p->designated for structures.
486
ae5ebda4
MP
4872014-05-01 Marek Polacek <polacek@redhat.com>
488
489 PR c/60915
490 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
491 function-definition has an attribute after the declarator.
492
96b40f8d
MP
4932014-05-01 Marek Polacek <polacek@redhat.com>
494
495 PR c/60257
496 * c-typeck.c (warning_init): Add location_t parameter. Call
497 warning_at instead of warning.
498 (push_init_level): Pass input_location to warning_init.
499 (add_pending_init): Add location_t parameter. Pass loc to
500 warning_init.
501 (set_nonincremental_init): Pass input_location to add_pending_init.
502 (set_nonincremental_init_from_string): Likewise.
503 (output_init_element): Pass loc to warning_init and to
504 add_pending_init.
505
32e00768
MP
5062014-05-01 Marek Polacek <polacek@redhat.com>
507
508 PR c/43395
509 * c-typeck.c (c_finish_return): Distinguish between label and variable
510 when warning about returning local address.
511
c9379ce2
MP
5122014-05-01 Marek Polacek <polacek@redhat.com>
513
514 PR c/29467
515 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
516 in C89 mode.
517
d00887e8
MP
5182014-05-01 Marek Polacek <polacek@redhat.com>
519
520 PR c/43245
521 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
522 instead of 0 to WARN_FOR_QUALIFIERS.
523
5436fa2e
MP
5242014-05-01 Marek Polacek <polacek@redhat.com>
525
526 PR c/56989
527 * c-typeck.c (default_conversion): Use better location for
528 error call.
529
f8ed5150
MP
5302014-04-30 Marek Polacek <polacek@redhat.com>
531
532 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
533 also when SANITIZE_FLOAT_DIVIDE is on.
534
8337d1db
MP
5352014-04-30 Marek Polacek <polacek@redhat.com>
536
537 PR c/60139
538 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
539 and pedwarn_init. Use loc insted of input_location.
540
c4bdc42f
MP
5412014-04-30 Marek Polacek <polacek@redhat.com>
542
543 PR c/60351
544 * c-typeck.c (build_binary_op): Use location when warning about
545 shift count.
546
45484dcf
MP
5472014-04-25 Marek Polacek <polacek@redhat.com>
548
549 PR c/18079
550 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
551 always_inline/noinline and hot/cold attributes.
552
34cf811f
MP
5532014-04-25 Marek Polacek <polacek@redhat.com>
554
555 PR c/60114
556 * c-parser.c (c_parser_initelt): Pass input_location to
557 process_init_element.
558 (c_parser_initval): Pass loc to process_init_element.
559 * c-tree.h (process_init_element): Adjust declaration.
560 * c-typeck.c (push_init_level): Pass input_location to
561 process_init_element.
562 (pop_init_level): Likewise.
563 (set_designator): Likewise.
564 (output_init_element): Add location_t parameter. Pass loc to
565 digest_init.
566 (output_pending_init_elements): Pass input_location to
567 output_init_element.
568 (process_init_element): Add location_t parameter. Pass loc to
569 output_init_element.
570
42056eac
JJ
5712014-04-24 Jakub Jelinek <jakub@redhat.com>
572
573 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
574 atomic-clause, allow comma in between atomic-clause and
575 seq_cst.
576
e162a134
JJ
5772014-04-22 Jakub Jelinek <jakub@redhat.com>
578
579 PR c/59073
580 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
581 fails, don't set OM_PARALLEL_COMBINED and return NULL.
582
2f6babac
IZ
5832014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
584
585 PR middle-end/60469
586 * c-array-notation.c (fix_builtin_array_notation_fn): Use
587 create_tmp_var instead build_decl for creating temps.
588 (build_array_notation_expr): Likewise.
589 (fix_conditional_array_notations_1): Likewise.
590 (fix_array_notation_expr): Likewise.
591 (fix_array_notation_call_expr): Likewise.
592
8edbfaa6
JJ
5932014-03-28 Jakub Jelinek <jakub@redhat.com>
594
595 PR c++/60689
596 * c-tree.h (c_build_function_call_vec): New prototype.
597 * c-typeck.c (build_function_call_vec): Don't call
598 resolve_overloaded_builtin here.
599 (c_build_function_call_vec): New wrapper function around
600 build_function_call_vec. Call resolve_overloaded_builtin here.
601 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
602 Call c_build_function_call_vec instead of build_function_call_vec.
603 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
604 * c-decl.c (finish_decl): Likewise.
605
7485aeea
MLI
6062014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
607
608 PR c/55383
609 * c-typeck.c: Use correct format string in cast-qual warning
610
b17a8b07
TS
6112014-03-07 Thomas Schwinge <thomas@codesourcery.com>
612
613 * c-decl.c (c_decl_attributes): Use
614 lang_hooks.types.omp_mappable_type.
615 * c-typeck.c (c_finish_omp_clauses): Likewise.
616
3af9c5e9
MP
6172014-03-06 Marek Polacek <polacek@redhat.com>
618
619 PR c/60197
620 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
621 of checking tree code.
622
1c9f5f33
PK
6232014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
624
625 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
626 (c_parser_parameter_declaration): Likewise.
627
cc28fc7f
MP
6282014-02-19 Marek Polacek <polacek@redhat.com>
629
630 PR c/60195
631 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
632 Call mark_exp_read on exp.value.
633 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
634 TREE_ADDRESSABLE on old instead of val.
635 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
636
b581c05c
PK
6372014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
638
639 * c-parser.c (c_parser_get_builtin_args): Replace calls to
640 C_EXPR_APPEND by vec_safe_push.
641 * c-tree.h (C_EXPR_APPEND): Remove.
642
81e5eca8
MP
6432014-01-31 Marek Polacek <polacek@redhat.com>
644
645 PR c/59963
646 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
647 build_function_call_vec.
648 (build_function_call): Likewise.
649 (build_atomic_assign): Likewise.
650 (build_function_call_vec): Add arg_loc parameter. Use it.
651 (convert_arguments): Likewise.
652 (convert_for_assignment): Rename rhs_loc to expr_loc.
653 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
654 (c_parser_objc_keywordexpr): Likewise.
655 (c_parser_postfix_expression_after_primary): Call
656 build_function_call_vec with expr_loc rather than op_loc.
657 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
658 build_function_call_vec.
659 (c_parser_expr_list): Add locations parameter. Fill it with locations
660 of function arguments.
661 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
662
68fca595
MP
6632014-01-30 Marek Polacek <polacek@redhat.com>
664
665 PR c/59940
666 * c-typeck.c (build_function_call_vec): Use loc parameter.
667 (convert_arguments): Add location parameter. Use it.
668 (ep_convert_and_check): Likewise.
669 (build_atomic_assign): Adjust convert_for_assignment call.
670 (build_modify_expr): Likewise.
671 (digest_init): Likewise.
672 (c_finish_return): Likewise.
673 (build_conditional_expr): Adjust ep_convert_and_check calls.
674 (convert_for_assignment): Add rhs_loc parameter. Use it.
675 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
676 calls.
677
fa337f3a
RB
6782014-01-30 Richard Biener <rguenther@suse.de>
679
680 PR c/59905
681 * c-typeck.c (build_function_call_vec): Do not replace calls
682 to a function via an incompatible type with a runtime abort.
683
b72271b9
BI
6842014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
685
686 * c-parser.c (c_parser_declaration_or_fndef): Replaced
687 flag_enable_cilkplus with flag_cilkplus.
688 (c_parser_direct_declarator_inner): Likewise.
689 (c_parser_attribute_any_word): Likewise.
690 (c_parser_attributes): Likewise.
691 (c_parser_compound_statement): Likewise.
692 (c_parser_statement_after_labels): Likewise.
693 (c_parser_if_statement): Likewise.
694 (c_parser_switch_statement): Likewise.
695 (c_parser_do_statement): Likewise.
696 (c_parser_for_statement): Likewise.
697 (c_parser_unary_expression): Likewise.
698 (c_parser_postfix_expression): Likewise.
699 (c_parser_postfix_expression_after_primary): Likewise.
700 (c_parser_postfix_expression_after_primary): Likewise.
701 (c_parser_omp_clause_name): Likewise.
702 (c_finish_omp_declare_simd): Likewise.
703 (c_parser_cilk_verify_simd): Likewise.
704 * c-typeck.c (build_array_ref): Likewise.
705 (build_function_call_vec): Likewise.
706 (convert_arguments): Likewise.
707 (build_compound_expr): Likewise.
708 (c_finish_return): Likewise.
709 (c_finish_if_stmt): Likewise.
710 (c_finish_loop): Likewise.
711 (build_binary_op): Likewise.
712
393e8e8b
MP
7132014-01-23 Marek Polacek <polacek@redhat.com>
714
715 PR c/59846
716 * c-typeck.c (parser_build_binary_op): Use location instead of
717 input_location.
718 (build_binary_op): Pass location to shorten_compare.
719
f04dda30
MP
7202014-01-23 Marek Polacek <polacek@redhat.com>
721
722 PR c/58346
723 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
724 an empty aggregate.
725
789eadcd
MP
7262014-01-23 Marek Polacek <polacek@redhat.com>
727
728 PR c/59871
729 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
730 of a comma expression.
731 (emit_side_effect_warnings): Likewise.
732
40f14e9f
BI
7332014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
734
735 PR c/59825
736 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
737 function to use walk_tree and moved a lot of its functionality to
738 expand_array_notations.
739 (expand_array_notations): New function.
740
74558dd9
BI
7412014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
742
743 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
744 attribute an attribute without value.
745
652fea39
JJ
7462014-01-23 Jakub Jelinek <jakub@redhat.com>
747
748 PR middle-end/58809
749 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
750 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
751
f34f1c87
MP
7522014-01-22 Marek Polacek <polacek@redhat.com>
753
754 PR c/59891
755 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
756 of remove_c_maybe_const_expr on op1 and op2.
757
241f845a
JJ
7582014-01-15 Jakub Jelinek <jakub@redhat.com>
759
760 PR c/58943
761 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
762 effects, preevaluate rhs using SAVE_EXPR first.
763
9a74f20c
BI
7642014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
765
766 PR c++/59631
767 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
768 statements with if-elseif statements.
769
96066ce1
MP
7702014-01-06 Marek Polacek <polacek@redhat.com>
771
772 PR c/57773
773 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
774 defined bit-field types only in ISO C.
775
23a5b65a
RS
7762014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
777
778 Update copyright years
779
f9030485
RS
7802014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
781
782 * c-array-notation.c: Use the standard form for the copyright notice.
783
41958c28
BI
7842013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
785
786 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
787 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
788 field in parser is not empty. If not-empty, call the function
789 c_parser_finish_omp_declare_simd.
790 (c_parser_cilk_clause_vectorlength): Modified function to be shared
791 between SIMD-enabled functions and #pragma simd. Added new parameter.
792 (c_parser_cilk_all_clauses): Modified the usage of the function
793 c_parser_cilk_clause_vectorlength as mentioned above.
794 (c_parser_cilk_simd_fn_vector_attrs): New function.
795 (c_finish_cilk_simd_fn_tokens): Likewise.
796 (is_cilkplus_vector_p): Likewise.
797 (c_parser_omp_clause_name): Added checking for "vectorlength,"
798 "nomask," and "mask" strings in clause name.
799 (c_parser_omp_all_clauses): Added 3 new case statements:
800 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
801 PRAGMA_CILK_CLAUSE_NOMASK.
802 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
803 check for vector attribute and if so call the function
804 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
805 called the function c_finish_cilk_simd_fn_tokens.
806 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
807 parser field is non-empty. If so, parse them as you would parse
808 the omp declare simd pragma.
809 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
810 Added a check when step is a parameter and flag it as error.
811 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
812 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
813 pragma_omp_clause.
814
cef0fd0e
TS
8152013-12-17 Thomas Schwinge <thomas@codesourcery.com>
816
817 * c-parser.c (c_parser_omp_parallel): Fix description.
818
12893402
BI
8192013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
820
821 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
822 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
823 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
824 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
825
296674db
JM
8262013-12-04 Joseph Myers <joseph@codesourcery.com>
827
828 PR c/52023
829 * c-parser.c (c_parser_alignas_specifier): Use
830 c_sizeof_or_alignof_type instead of c_alignof.
831 (c_parser_alignof_expression): Likewise, with min_alignof
832 parameter depending on alignof spelling used.
833
edd28054
MP
8342013-12-04 Marek Polacek <polacek@redhat.com>
835
836 PR c/54113
837 * c-decl.c (start_function): Don't warn for missing prototype for
838 inline functions.
839
da0fc454
MP
8402013-12-03 Marek Polacek <polacek@redhat.com>
841
842 PR c/59351
843 * c-decl.c (build_compound_literal): Allow compound literals with
844 empty initial value.
845
4c2ecab0
JM
8462013-12-02 Joseph Myers <joseph@codesourcery.com>
847
848 PR c/58235
849 * c-typeck.c (build_modify_expr): Diagnose assignment to
850 expression with array type.
851
340baef7
JM
8522013-11-29 Joseph Myers <joseph@codesourcery.com>
853
854 PR c/42262
855 * c-typeck.c (process_init_element): Do not treat a string as
856 initializing a whole array when used with a designator for an
857 individual element.
858
6763b9f7
JM
8592013-11-29 Joseph Myers <joseph@codesourcery.com>
860
861 PR c/57574
862 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
863 an inline function following a static declaration.
864
e7bd1de1
JJ
8652013-11-28 Jakub Jelinek <jakub@redhat.com>
866
867 PR c/59310
868 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
869 to p_name before calling c_parser_omp_teams instead of after.
870 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
871 argument. Remove unused p_name variable.
872
0136f8f0
AH
8732013-11-27 Aldy Hernandez <aldyh@redhat.com>
874 Jakub Jelinek <jakub@redhat.com>
875
876 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
877 external_scope is NULL.
878
241b71bb
TV
8792013-11-27 Tom de Vries <tom@codesourcery.com>
880 Marc Glisse <marc.glisse@inria.fr>
881
882 PR c++/59032
883 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
884
2fb9a547
AM
8852013-11-22 Andrew MacLeod <amacleod@redhat.com>
886
887 * c-typeck.c: Add required include files from gimple.h.
888
8400e75e
DM
8892013-11-22 David Malcolm <dmalcolm@redhat.com>
890
891 * c-decl.c (define_label, shadow_tag_warned)
892 (check_bitfield_type_and_width, grokdeclarator, grokparms,
893 store_parm_decls_newstyle, store_parm_decls_oldstyle)
894 (declspecs_add_type): Remove use of in_system_header macro.
895 * c-parser.c (c_parser_unary_expression): Likewise.
896 * c-typeck.c (store_init_value, process_init_element)
897 (c_start_case): Likewise.
898
899 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
900 macro.
901
902 * c-parser.c (c_parser_set_source_position_from_token): Remove
903 reference to in_system_header from comment.
904
386b1f1f
RS
9052013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
906
907 * c-decl.c (grokdeclarator): Update comment to refer to
908 tree_to_[su]hwi rather than tree_low_cst.
909
ae7e9ddd
RS
9102013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
911
912 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
913 tree_to_uhwi throughout.
914
9439e9a1
RS
9152013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
916
917 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
918 throughout.
919
9541ffee
RS
9202013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
921
922 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
923 throughout.
924
c02065fc
AH
9252013-11-15 Aldy Hernandez <aldyh@redhat.com>
926
927 * c-parser.c (c_parser_cilk_simd): New.
928 (c_parser_cilk_verify_simd): New.
929 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
930 (c_parser_omp_for_loop): Add case for NE_EXPR.
931 Set c_break_label for CILK_SIMD.
932 (c_parser_cilk_clause_vectorlength): New.
933 (c_parser_cilk_clause_linear): New.
934 (c_parser_cilk_clause_name): New.
935 (c_parser_cilk_all_clauses): New.
936 * c-typeck.c (build_unary_op): Pass location argument to
937 readonly_error.
938 (build_modify_expr): Same.
939 (build_asm_expr): Same.
940 (c_finish_bc_stmt): Error on break/continue in loops.
941
18f429e2
AM
9422013-11-14 Andrew MacLeod <amacleod@redhat.com>
943
944 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
945
d8a2d370
DN
9462013-11-14 Diego Novillo <dnovillo@google.com>
947
948 * c-decl.c: Include print-tree.h.
949 Include stor-layout.h.
950 Include varasm.h.
951 Include attribs.h.
952 Include stringpool.h.
953 * c-lang.c: Include fold-const.h.
954 * c-parser.c: Include stringpool.h.
955 Include attribs.h.
956 Include stor-layout.h.
957 Include varasm.h.
958 Include trans-mem.h.
959 * c-typeck.c: Include stor-layout.h.
960 Include trans-mem.h.
961 Include varasm.h.
962 Include stmt.h.
963
38b7bc7f
JM
9642013-11-13 Joseph Myers <joseph@codesourcery.com>
965
966 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
967 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
968 __auto_type.
969 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
970 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
971 RID_AUTO_TYPE.
972 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
973 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
974 (c_parser_declarator, c_parser_direct_declarator_inner)
975 (c_parser_parameter_declaration, c_parser_type_name): All callers
976 changed.
977 (c_parser_declaration_or_fndef): Handle declarations with type
978 determined from the initializer.
979
45b0be94
AM
9802013-11-12 Andrew MacLeod <amacleod@redhat.com>
981
18f429e2 982 * c-typeck.c: Include gimplify.h.
45b0be94 983
582d9b50
JM
9842013-11-12 Joseph Myers <joseph@codesourcery.com>
985
986 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
987 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
988 comment.
989 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
990 or _Thread_local as appropriate in diagnostics.
991 (build_null_declspecs): Initialize ret->thread_gnu_p.
992 (declspecs_add_scspec): Handle either __thread or _Thread_local
993 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
994 pedantic. Do not disallow _Thread_local extern and _Thread_local
995 static.
996
267bac10
JM
9972013-11-07 Joseph Myers <joseph@codesourcery.com>
998 Andrew MacLeod <amacleod@redhat.com>
999
1000 * c-aux-info.c (gen_type): Handle atomic qualifier.
1001 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
1002 qualifiers when compating types.
1003 (shadow_tag_warned): Handle atomic_p in declspecs.
1004 (quals_from_declspecs): Likewise.
1005 (start_decl): Use c_type_promotes_to when promoting argument
1006 types.
1007 (grokdeclarator): Handle _Atomic.
1008 (get_parm_info): Diagnose any qualifier on "void" as only
1009 parameter.
1010 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
1011 comparing types. Use c_type_promotes_to when promoting argument
1012 types.
1013 (finish_function): Use c_type_promotes_to when promoting argument
1014 types.
1015 (build_null_declspecs): Handle atomic_p in declspecs.
1016 (declspecs_add_qual): Handle RID_ATOMIC.
1017 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
1018 (c_token_starts_declspecs): Handle RID_ATOMIC.
1019 (c_parser_declspecs): Handle atomic type specifiers and
1020 qualifiers.
1021 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
1022 from types of expressions with atomic type.
1023 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
1024 (c_parser_attribute_any_word): Handle RID_ATOMIC.
1025 (c_parser_initializer, c_parser_initelt, c_parser_initval)
1026 (c_parser_statement_after_labels, c_parser_switch_statement)
1027 (c_parser_for_statement, c_parser_expr_no_commas)
1028 (c_parser_conditional_expression, c_parser_binary_expression)
1029 (c_parser_cast_expression, c_parser_unary_expression)
1030 (c_parser_postfix_expression)
1031 (c_parser_postfix_expression_after_primary, c_parser_expression):
1032 Use convert_lvalue_to_rvalue.
1033 (c_parser_expression_conv, c_parser_expr_list): Document
1034 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
1035 (c_parser_objc_synchronized_statement): Use
1036 convert_lvalue_to_rvalue.
1037 (c_parser_objc_selector): Handle RID_ATOMIC.
1038 (c_parser_objc_receiver, c_parser_array_notation): Use
1039 convert_lvalue_to_rvalue.
1040 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
1041 _Atomic (type-name).
1042 (struct c_declspecs): Add atomic_p field.
1043 (convert_lvalue_to_rvalue): Declare.
1044 * c-typeck.c (c_type_promotes_to): Promote atomic types to
1045 corresponding atomic types.
1046 (qualify_type): Don't add _Atomic qualifiers from second argument.
1047 (comp_target_types): Do not allow _Atomic mismatches.
1048 (type_lists_compatible_p): Do not remove atomic qualifiers when
1049 comparing types.
1050 (really_atomic_lvalue, convert_lvalue_to_rvalue)
1051 (build_atomic_assign): New functions.
1052 (build_unary_op): Use build_atomic_assign for atomic increment and
1053 decrement.
1054 (build_conditional_expr): Do not treat _Atomic void as a qualified
1055 version of void.
1056 (build_modify_expr): Use build_atomic_assign for atomic LHS.
1057 (find_anonymous_field_with_type, convert_to_anonymous_field)
1058 (convert_for_assignment): Do not remove atomic qualifiers when
1059 comparing types.
1060 (digest_init): Do not accept initialization of arrays of atomic
1061 elements by string constants.
1062 (build_asm_expr): Use convert_lvalue_to_rvalue.
1063 (build_binary_op): Do not treat _Atomic void as a qualified
1064 version of void.
1065
0c249d4b
DD
10662013-11-06 DJ Delorie <dj@redhat.com>
1067
1068 * c-decl.c (locate_old_decl): If a previous conflicting decl is
1069 both explicit and builtin, print the location of the explicit one.
1070
6d7f7e0a
TB
10712013-11-05 Tobias Burnus <burnus@net-b.de>
1072
1073 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
1074 c_parser_omp_distribute, c_parser_omp_teams,
1075 c_parser_omp_target, c_parser_omp_declare): Handle
1076 -fopenmp-simd.
1077
b906f4ca
MP
10782013-11-03 Marek Polacek <polacek@redhat.com>
1079
1080 * c-decl.c (grokdeclarator): Add VLA instrumentation.
1081
ee1d5a02
JJ
10822013-11-01 Jakub Jelinek <jakub@redhat.com>
1083
1084 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
1085 check_dup_generic at the end, unless remove is true.
1086 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
1087 remove = true;.
1088 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
1089
5a9785fb
JJ
10902013-10-31 Jakub Jelinek <jakub@redhat.com>
1091
1092 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
1093 with decl that is not pointer nor array.
1094
939b37da
BI
10952013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1096
1097 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
1098 a spawning function is found.
1099 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
1100 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
1101 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1102 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
1103 case.
1104 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
1105 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
1106 expr.
1107 (c_finish_return): Added a check to reject _Cilk_spawn in return
1108 expression.
1109 (build_cilk_spawn): New function.
1110 (build_cilk_sync): Likewise.
1111 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
1112
d4af74d4
TB
11132013-10-27 Tobias Burnus <burnus@net-b.de>
1114
1115 PR other/33426
1116 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
1117 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
1118 (c_parser_statement_after_labels): Update calls.
1119
d73749df 11202013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
1121
1122 PR other/33426
1123 * c-parser.c (c_parser_pragma, c_parser_for_statement):
1124 Handle PRAGMA_IVDEP.
1125 (c_parser_statement_after_labels): Update call.
1126
f28aa681
MP
11272013-10-24 Marek Polacek <polacek@redhat.com>
1128
1129 * c-parser.c (c_parser_struct_declaration): Add a comment.
1130 (c_parser_declarator): Don't allow _Alignas here.
1131
0645c1a2
AM
11322013-10-17 Andrew MacLeod <amacleod@redhat.com>
1133
1134 * c-parser.c: Include omp-low.h.
1135 * c-typeck.c: Likewise.
1136
568a31f2
MP
11372013-10-17 Marek Polacek <polacek@redhat.com>
1138
1139 PR c/58267
1140 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
1141 Document syntax of the array-declarator.
1142 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
1143 are not permitted.
1144 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
1145 (c_parser_struct_declaration): Likewise.
1146 (c_parser_declarator): Likewise.
1147 (c_parser_direct_declarator_inner): Likewise.
1148 (c_parser_parameter_declaration): Likewise.
1149 (c_parser_type_name): Likewise.
1150
acf0174b
JJ
11512013-10-11 Jakub Jelinek <jakub@redhat.com>
1152
1153 * c-lang.h (current_omp_declare_target_attribute): New extern
1154 decl.
1155 * c-parser.c: Include c-lang.h.
1156 (struct c_parser): Change tokens to c_token *.
1157 Add tokens_buf field. Change tokens_avail type to unsigned int.
1158 (c_parser_consume_token): If parser->tokens isn't
1159 &parser->tokens_buf[0], increment parser->tokens.
1160 (c_parser_consume_pragma): Likewise.
1161 (enum pragma_context): Add pragma_struct and pragma_param.
1162 (c_parser_external_declaration): Adjust
1163 c_parser_declaration_or_fndef caller.
1164 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
1165 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
1166 Adjust recursive call.
1167 (c_parser_struct_or_union_specifier): Use pragma_struct instead
1168 of pragma_external.
1169 (c_parser_parameter_declaration): Use pragma_param instead of
1170 pragma_external.
1171 (c_parser_compound_statement_nostart, c_parser_label,
1172 c_parser_for_statement): Adjust
1173 c_parser_declaration_or_fndef callers.
1174 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
1175 it through to c_parser_conditional_expression.
1176 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
1177 pass it through to c_parser_binary_expression. Adjust recursive
1178 call.
1179 (c_parser_binary_expression): Remove prec argument, add
1180 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
1181 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
1182 binop matches it, use build2 instead of parser_build_binary_op.
1183 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
1184 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
1185 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
1186 Handle pragma_struct and pragma_param the same as pragma_external.
1187 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
1188 (c_parser_omp_variable_list): Parse array sections for
1189 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
1190 (c_parser_omp_clause_collapse): Fully fold collapse expression.
1191 (c_parser_omp_clause_reduction): Handle user defined reductions.
1192 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
1193 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
1194 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
1195 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
1196 c_parser_omp_clause_depend, c_parser_omp_clause_map,
1197 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
1198 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
1199 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
1200 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
1201 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
1202 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
1203 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
1204 (c_parser_omp_for_loop): Add CODE argument, pass it through
1205 to c_finish_omp_for. Change last argument to cclauses,
1206 and adjust uses to grab parallel clauses from the array of all
1207 the split clauses. Adjust c_parser_binary_expression,
1208 c_parser_declaration_or_fndef and c_finish_omp_for callers.
1209 (omp_split_clauses): New function.
1210 (c_parser_omp_simd): New function.
1211 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
1212 Allow the function to be called also when parsing combined constructs,
1213 and call c_parser_omp_simd when parsing for simd.
1214 (c_parser_omp_sections_scope): If section-sequence doesn't start with
1215 #pragma omp section, require exactly one structured-block instead of
1216 sequence of statements.
1217 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
1218 Allow the function to be called also when parsing combined constructs.
1219 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
1220 Allow the function to be called also when parsing combined
1221 constructs.
1222 (c_parser_omp_taskgroup, c_parser_omp_cancel,
1223 c_parser_omp_cancellation_point, c_parser_omp_distribute,
1224 c_parser_omp_teams, c_parser_omp_target_data,
1225 c_parser_omp_target_update, c_parser_omp_target,
1226 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
1227 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
1228 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
1229 (c_parser_omp_construct): Add p_name and mask vars. Handle
1230 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
1231 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
1232 and c_parser_omp_sections callers.
1233 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
1234 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
1235 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
1236 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
1237 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
1238 OMP_CLAUSE_DEPEND.
1239 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
1240 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
1241 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
1242 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
1243 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
1244 * c-typeck.c: Include tree-inline.h.
1245 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
1246 handle_omp_array_sections_1, handle_omp_array_sections,
1247 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
1248 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
1249 user defined reductions.
1250 (c_tree_equal): New function.
1251 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
1252 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
1253 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
1254 c_check_omp_declare_reduction_r): New prototypes.
1255 * c-decl.c (current_omp_declare_target_attribute): New variable.
1256 (c_decl_attributes): New function.
1257 (start_decl, start_function): Use it instead of decl_attributes.
1258 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
1259 c_omp_reduction_decl, c_omp_reduction_lookup,
1260 c_check_omp_declare_reduction_r): New functions.
1261
0a6c2227
TT
12622013-09-25 Tom Tromey <tromey@redhat.com>
1263
1264 * Make-lang.in (c/gccspec.o): Remove.
1265 (CFLAGS-c/gccspec.o): New variable.
1266 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
1267 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
1268 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
1269
f3bc55f0
TT
12702013-09-25 Tom Tromey <tromey@redhat.com>
1271
1272 * Make-lang.in (c/gccspec.o): Don't use subshell.
1273
a24d975c
MP
12742013-09-18 Marek Polacek <polacek@redhat.com>
1275
1276 PR sanitize/58443
1277 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
1278 Remove unnecessary check.
1279
ce6923c5
MP
12802013-09-18 Marek Polacek <polacek@redhat.com>
1281
1282 PR sanitizer/58411
1283 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
1284 no_sanitize_undefined attribute.
1285
a1e51df9
KT
12862013-09-13 Kai Tietz <ktietz@redhat.com>
1287
1288 PR target/57848
1289 * c-decl.c (c_builtin_function_ext_scope): Remove
1290 wrong assumption that it is never called on prexisting
1291 symbol.
1292
0af94e6f
JR
12932013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1294
1295 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
1296
20059c8b
GDR
12972013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1298
1299 * c-objc-common.c (c_tree_printer): Tidy.
1300
de5a5fa1
MP
13012013-08-30 Marek Polacek <polacek@redhat.com>
1302
1303 * c-typeck.c (build_binary_op): Add division by zero and shift
1304 instrumentation.
1305
2531a1d9 13062013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
0fdd4508 1307 Joseph Myers <joseph@codesourcery.com>
2531a1d9 1308
6e2bcc98 1309 PR c/35649
2531a1d9
JR
1310 * c-typeck.c (c_common_type): Prefer double_type_node over
1311 other REAL_TYPE types with the same precision.
1312 (convert_arguments): Likewise.
1313
025311c4
GDR
13142013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
1315
1316 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
1317 (c_initialize_diagnostics): Call a destructor for the early printer.
1318
da6ca2b5
GDR
13192013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1320
1321 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
1322 printer initialization.
1323
318cda85 13242013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
da6ca2b5 1325
318cda85
BI
1326 PR c/57490
1327 * c-array-notation.c (fix_conditional_array_notations_1): Added a
1328 check for truth values.
1329 (expand_array_notation_exprs): Added truth values case. Removed an
1330 unwanted else. Added for-loop to walk through subtrees in default
1331 case.
1332
b066401f
GDR
13332013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1334
1335 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
1336
fb48aadc
JM
13372013-07-23 Joseph Myers <joseph@codesourcery.com>
1338
1339 * c-parser.c (struct c_generic_association): Fix typo.
1340
433cc7b0
TT
13412013-07-23 Tom Tromey <tromey@redhat.com>
1342 Joseph Myers <joseph@codesourcery.com>
1343
1344 * c-parser.c (struct c_generic_association): New.
1345 (c_generic_association_d): New typedef.
1346 (c_parser_generic_selection): New function.
1347 (c_parser_postfix_expression): Handle RID_GENERIC.
1348
26d40c3d
JM
13492013-07-13 Jason Merrill <jason@redhat.com>
1350
1351 PR c++/57793
1352 * c-decl.c (finish_struct): Check for too-large class.
1353
ecdbd01a 13542013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
1355
1356 PR c/57821
1357 * c-typeck.c (set_init_index): When folding, check for index overflow.
1358
1141ed3f
BI
13592013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1360
1361 * c-parser.c (c_parser_array_notation): Removed rejection of array
1362 notations in an array of function pointers.
1363
713b46fa
BI
13642013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
1365
1366 * c-array-notation.c (make_triplet_val_inv): New function.
1367 (create_cmp_incr): Likewise.
1368 (create_array_refs): Likewise.
1369 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
1370 Also modularized common parts between functions and called the function.
1371 (build_array_notation_expr): Likewise.
1372 (fix_conditional_array_notations_1): Likewise.
1373 (fix_array_notation_expr): Likewise.
1374 (fix_array_notation_call_expr): Likewise.
1375
92f20202
MP
13762013-06-18 Marek Polacek <polacek@redhat.com>
1377
1378 PR c/57630
1379 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
1380
73a23b06
BI
13812013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
1382
1383 * c-array-notation.c (build_array_notation_expr): Reject array notation
1384 mismatch between LHS and RHS even inside a call_expr. Also, removed
1385 a couple while statements that were dead code.
1386
00b8517d
BI
13872013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
1388
1389 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
1390 excessive precision expressions in function parameters. Also removed
1391 couple unwanted while statements.
1392
1509bdda
BI
13932013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
1394
1395 * c-array-notation.c (expand_array_notation_exprs): Added
1396 ARRAY_NOTATION_REF case.
1397
d60f1706
BI
13982013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
1399
1400 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
1401 function to c-family/array-notation-common.c.
1402 (is_cilkplus_reduce_builtin): Likewise.
1403 (find_rank): Likewise.
1404 (extract_array_notation_exprs): Likewise.
1405 (replace_array_notations): Likewise.
1406 (find_inv_trees): Likewise.
1407 (replace_inv_trees): Likewise.
1408 (contains_array_notation_expr): Likewise.
1409 (find_correct_array_notation_type): Likewise.
1410 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
1411 (struct inv_list): Moved this to c-family/array-notation-common.c.
1412 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
1413
6d6efbb3
BI
14142013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
1415
1416 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
1417 reduction functions outside the for-loop. Added a check if the fundecl
1418 is non-NULL. Finally, removed an unwanted if-statement, and made the
1419 body unconditional.
1420
25c22937
BI
14212013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
1422
1423 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
1424 condition of the if-statement matches the rank of else-block and then-
1425 block when array notations are used.
1426 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
1427 expression after the entire function body is parsed.
1428 (c_parser_expr_no_commas): Delayed creating array notation expressions
1429 to the end of function parsing.
1430 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
1431 whole if-statement instead of just the condition.
1432 (expand_array_notation_exprs): Added MODIFY_EXPR case.
1433
edd25645
BI
14342013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
1435
1436 PR c/57474
1437 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
1438 array to NULL_TREE if they are unused. Also added a check for the
1439 field to be NULL before its fields are used in future.
1440
065ce7f1
RO
14412013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1442
1443 PR bootstrap/57450
1444 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
1445 (build_array_notation_expr): Likewise.
1446
36536d79
BI
14472013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1448
1449 * c-typeck.c (build_array_ref): Added a check to see if array's
1450 index is greater than one. If true, then emit an error.
1451 (build_function_call_vec): Exclude error reporting and checking
1452 for builtin array-notation functions.
1453 (convert_arguments): Likewise.
1454 (c_finish_return): Added a check for array notations as a return
1455 expression. If true, then emit an error.
1456 (c_finish_loop): Added a check for array notations in a loop
1457 condition. If true then emit an error.
1458 (lvalue_p): Added a ARRAY_NOTATION_REF case.
1459 (build_binary_op): Added a check for array notation expr inside
1460 op1 and op0. If present, we call another function to find correct
1461 type.
1462 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
1463 * c-parser.c (c_parser_compound_statement): Check if array
1464 notation code is used in tree, if so, then transform them into
1465 appropriate C code.
1466 (c_parser_expr_no_commas): Check if array notation is used in LHS
1467 or RHS, if so, then build array notation expression instead of
1468 regular modify.
1469 (c_parser_postfix_expression_after_primary): Added a check for
1470 colon(s) after square braces, if so then handle it like an array
1471 notation. Also, break up array notations in unary op if found.
1472 (c_parser_direct_declarator_inner): Added a check for array
1473 notation.
1474 (c_parser_compound_statement): Added a check for array notation in
1475 a stmt. If one is present, then expand array notation expr.
1476 (c_parser_if_statement): Likewise.
1477 (c_parser_switch_statement): Added a check for array notations in
1478 a switch statement's condition. If true, then output an error.
1479 (c_parser_while_statement): Similarly, but for a while.
1480 (c_parser_do_statement): Similarly, but for a do-while.
1481 (c_parser_for_statement): Similarly, but for a for-loop.
1482 (c_parser_unary_expression): Check if array notation is used in a
1483 pre-increment or pre-decrement expression. If true, then expand
1484 them.
1485 (c_parser_array_notation): New function.
1486 * c-array-notation.c: New file.
1487 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
1488
cd192ccc
MS
14892013-05-23 Mike Stump <mikestump@comcast.net>
1490
1491 * c-typeck.c (convert_for_assignment): Handle references to memory
1492 spaces better.
1493
427b248d
JM
14942013-05-16 Jason Merrill <jason@redhat.com>
1495
1496 * Make-lang.in (cc1$(exeext)): Use link mutex.
1497
44d90fe1
PC
14982013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1499
1500 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
1501 to simply use OPT_Wpointer_arith.
1502 (build_unary_op): Likewise.
1503
4e7d7b3d
JJ
15042013-04-03 Jakub Jelinek <jakub@redhat.com>
1505
1506 PR c/19449
1507 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
1508 argument. If set, or it temporarily for parsing of the first
1509 argument into force_folding_builtin_constant_p.
1510 (c_parser_postfix_expression): Adjust callers.
1511
839b422f
RB
15122013-03-21 Richard Biener <rguenther@suse.de>
1513
1514 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
1515 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
1516
2ee028f1
MP
15172013-02-12 Marek Polacek <polacek@redhat.com>
1518
1519 PR c/44938
1520 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
1521 origtypes to NULL.
1522
8824edff
JJ
15232013-01-24 Jakub Jelinek <jakub@redhat.com>
1524
1525 PR c/56078
1526 * c-typeck.c (set_nonincremental_init_from_string): If
1527 constructor_max_index is NULL, treat it as if tree_int_cst_lt
1528 returned false.
1529 (process_init_element): Likewise.
1530
eadd3d0d
JJ
15312012-12-20 Jakub Jelinek <jakub@redhat.com>
1532
1533 PR c++/55619
1534 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
1535 argument, don't call default_function_array_conversion
1536 nor c_fully_fold here.
1537 (c_parser_asm_statement): Adjust callers.
1538 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
1539 and outputs here, and call default_function_array_conversion
1540 on inputs that don't need to be addressable.
1541
f8a93a2e
JJ
15422012-12-18 Jakub Jelinek <jakub@redhat.com>
1543
1544 PR c/39464
1545 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
1546 warning require that both c_common_unsigned_type as well as
1547 c_common_signed_type is the same for both mvl and mvr types.
1548
9771b263
DN
15492012-11-16 Diego Novillo <dnovillo@google.com>
1550
1551 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1552
1553 * c-common.c: Use new vec API in vec.h.
1554 * c-common.h: Likewise.
1555 * c-gimplify.c: Likewise.
1556 * c-pragma.c: Likewise.
1557 * c-pretty-print.c: Likewise.
1558 * c-pretty-print.h: Likewise.
1559 * c-semantics.c: Likewise.
1560 * c-decl.c: Likewise.
1561 * c-parser.c: Likewise.
1562 * c-tree.h: Likewise.
1563 * c-typeck.c: Likewise.
1564
880661a4
JW
15652012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
1566
1567 PR c++/54930
1568 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
1569
077d1abe
MLI
15702012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1571
1572 PR c/53066
1573 * c-decl.c (warn_if_shadowing): Do not warn if a variable
1574 shadows a function, unless the variable is a function or a
1575 pointer-to-function.
1576
3a785c97
JJ
15772012-10-12 Jakub Jelinek <jakub@redhat.com>
1578
1579 PR c/54381
1580 * c-parser.c (struct c_tree_loc_pair): Removed.
1581 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
1582 add location_t * and tree * arguments, fill in array of 3
1583 sizeof_arg trees and corresponding locs.
1584 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
1585 c_parser_expr_list callers.
1586 (c_parser_postfix_expression_after_primary): Likewise. Pass
1587 array of 3 sizeof_arg trees and locs (corresponding to first
1588 3 arguments) to sizeof_pointer_memaccess_warning.
1589
703c8606
LC
15902012-10-09 Lawrence Crowl <crowl@google.com>
1591
1592 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
1593 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
1594 hash table.
1595
5d9de0d0
PC
15962012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
1597
1598 PR c++/54194
1599 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
1600 call.
1601
a212e43f
MG
16022012-10-09 Marc Glisse <marc.glisse@inria.fr>
1603
1604 PR c++/54427
1605 * c-typeck.c: Include c-common.h.
1606 (enum stv_conv): Moved to c-common.h.
1607 (scalar_to_vector): Moved to c-common.c.
1608 (build_binary_op): Adapt to scalar_to_vector's new prototype.
1609 * Make-lang.in: c-typeck.c depends on c-common.h.
1610
3b78de56
AC
16112012-10-04 Arnaud Charlet <charlet@adacore.com>
1612
1613 * c-decl.c (c_write_global_declarations): Fix handling of
1614 -fdump-ada-spec*.
1615
78c60e3d
SS
16162012-09-30 Sharad Singhai <singhai@google.com>
1617
1618 * c-decl.c (c_write_global_declarations): Use a different method
1619 to determine if the dump has ben initialized.
1620
9f33203d
JM
16212012-09-14 Joseph Myers <joseph@codesourcery.com>
1622
1623 PR c/54552
1624 * c-typeck.c (c_cast_expr): When casting to a type requiring
1625 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
1626 c_fully_fold first.
1627
a27d595d
JM
16282012-09-14 Joseph Myers <joseph@codesourcery.com>
1629
1630 PR c/54103
1631 * c-typeck.c (build_unary_op): Pass original argument of
1632 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
1633 any C_MAYBE_CONST_EXPR, if it has integer operands.
1634 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
1635 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
1636 to c_objc_common_truthvalue_conversion, then remove any
1637 C_MAYBE_CONST_EXPR, if they have integer operands. Use
1638 c_objc_common_truthvalue_conversion not
1639 c_common_truthvalue_conversion.
1640 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
1641 call note_integer_operands for arguments with integer operands
1642 that are not integer constants.
1643
9feb29df
JJ
16442012-09-13 Jakub Jelinek <jakub@redhat.com>
1645
1646 PR c/54559
1647 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
1648 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
1649
d409320c
JJ
16502012-08-31 Jakub Jelinek <jakub@redhat.com>
1651
1652 PR c/54428
1653 * c-convert.c (convert): Don't call fold_convert_loc if
1654 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
1655 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
1656 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
1657
6265d07c
JJ
16582012-08-24 Jakub Jelinek <jakub@redhat.com>
1659
1660 PR c/54355
1661 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
1662 for nested and empty_ok arguments in the call to
1663 c_parser_declaration_or_fndef.
1664
1a4049e7
JJ
16652012-08-17 Jakub Jelinek <jakub@redhat.com>
1666
1667 * c-tree.h (c_last_sizeof_arg): Declare.
1668 * c-parser.c (struct c_tree_loc_pair): New type.
1669 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
1670 non-NULL.
1671 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
1672 (c_parser_postfix_expression_after_primary): Likewise. Call
1673 sizeof_pointer_memaccess_warning if needed.
1674 (sizeof_ptr_memacc_comptypes): New function.
1675 * c-typeck.c (c_last_sizeof_arg): New global variable.
1676 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
1677
0229aee9
UB
16782012-07-24 Uros Bizjak <ubizjak@gmail.com>
1679
1680 * c-lang.h (lang_decl): Add variable_size GTY option.
1681
7ee2468b
SB
16822012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1683
1684 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
1685 * Make-lang.in: Fix dependencies.
1686
d4a10d0a
SB
16872012-06-29 Steven Bosscher <steven@gcc.gnu.org>
1688
1689 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
1690 and add language Makefile hooks.
1691 * config-lang.in: New file.
1692 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
1693 add the required "normal" config-lang.in rules.
1694 * c-lang.h: Moved from gcc/ to here.
1695 * c-tree.h: Likewise.
1696 * c-objc-common.c: Likewise.
1697 * c-objc-common.h: Likewise.
1698 * c-typeck.c: Likewise.
1699 * c-convert.c: Likewise.
1700 * c-lang.c: Likewise.
1701 * c-aux-info.c: Likewise.
1702 * c-errors.c: Likewise.
1703 * gccspec.c: Likewise.
1704 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
1705 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
1706\f
23a5b65a 1707Copyright (C) 2012-2014 Free Software Foundation, Inc.
d4a10d0a
SB
1708
1709Copying and distribution of this file, with or without modification,
1710are permitted in any medium without royalty provided the copyright
1711notice and this notice are preserved.