]> gcc.gnu.org Git - gcc.git/blame_incremental - gcc/c/ChangeLog
genmatch.c (add_operator): Treat ADDR_EXPR as atom.
[gcc.git] / gcc / c / ChangeLog
... / ...
CommitLineData
12015-06-27 Marek Polacek <polacek@redhat.com>
2
3 * c-typeck.c: Use VECTOR_TYPE_P throughout.
4
52015-06-26 Marek Polacek <polacek@redhat.com>
6
7 * c-array-notation.c (fix_builtin_array_notation_fn): Use
8 INDIRECT_REF_P.
9 * c-typeck.c (array_to_pointer_conversion): Likewise.
10 (build_unary_op): Likewise.
11 (c_finish_return): Likewise.
12
132015-06-25 Andrew MacLeod <amacleod@redhat.com>
14
15 * c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
16 * c-parser.c: Likewise.
17
182015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19
20 * c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
21 instead of pointer_hash.
22 (detect_field_duplicates): Likewise.
23
242015-06-25 Marek Polacek <polacek@redhat.com>
25
26 * c-array-notation.c: Use VAR_P throughout.
27 * c-decl.c: Likewise.
28 * c-objc-common.c: Likewise.
29 * c-parser.c: Likewise.
30 * c-typeck.c: Likewise.
31
322015-06-25 Marek Polacek <polacek@redhat.com>
33
34 * c-decl.c: Use is_global_var throughout.
35 * c-parser.c: Likewise.
36 * c-typeck.c: Likewise.
37
382015-06-17 Andrew MacLeod <amacleod@redhat.com>
39
40 * c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
41 * c-aux-info.c: Likewise.
42 * c-convert.c: Likewise.
43 * c-decl.c: Likewise.
44 * c-errors.c: Likewise.
45 * c-lang.c: Likewise.
46 * c-objc-common.c: Likewise.
47 * c-parser.c: Likewise.
48 * c-typeck.c: Likewise.
49
502015-06-11 Jan Hubicka <hubicka@ucw.cz>
51
52 PR middle-end/66325
53 * c-decl.c (start_enum): Set TYPE_PACKED consistently among type
54 variants.
55
562015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
57
58 * c-decl.c (pop_scope): Register the main translation unit
59 through the new debug hook.
60
612015-06-08 Andrew MacLeod <amacleod@redhat.com>
62
63 * c-array-notation.c : Adjust include files.
64 * c-aux-info.c : Likewise.
65 * c-convert.c : Likewise.
66 * c-decl.c : Likewise.
67 * c-errors.c : Likewise.
68 * c-lang.c : Likewise.
69 * c-lang.h : Likewise.
70 * c-objc-common.c : Likewise.
71 * c-parser.c : Likewise.
72 * c-typeck.c : Likewise.
73
742015-06-05 Aldy Hernandez <aldyh@redhat.com>
75
76 * c-decl.c (finish_struct): Save C_TYPE_INCOMPLETE_VARS and
77 immediately clobber it.
78 (c_write_global_declarations_1): Remove call to
79 check_global_declaration_1.
80 (c_write_global_declarations_2): Remove.
81 (c_write_final_cleanups): Rename from c_write_global_declarations.
82 Remove call to finalize_compilation_unit.
83 Remove calls to debugging hooks.
84 * c-objc-common.c: Adjust comment for c_warn_unused_global_decl.
85 * c-objc-common.h: Remove LANG_HOOKS_WRITE_GLOBALS.
86 * c-tree.h: Remove c_write_global_declarations.
87
882015-06-04 Andrew MacLeod <amacleod@redhat.com>
89
90 * c-array-notation.c: Adjust includes for restructured coretypes.h.
91 * c-aux-info.c: Likewise.
92 * c-convert.c: Likewise.
93 * c-decl.c: Likewise.
94 * c-errors.c: Likewise.
95 * c-lang.c: Likewise.
96 * c-objc-common.c: Likewise.
97 * c-parser.c: Likewise.
98 * c-typeck.c: Likewise.
99
1002015-06-04 Marek Polacek <polacek@redhat.com>
101
102 PR c/66341
103 * c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if
104 it is a lvalue.
105
1062015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
107
108 * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
109 Warn for empty struct.
110 (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct.
111
1122015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
113
114 * c-decl.c (start_function): Call plugin before parsing.
115 (finish_function): Call plugin after parsing.
116
1172015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
118
119 PR c/49551
120 * c-decl.c (merge_decls): Merge DECL_COMMON.
121
1222015-05-22 Jim Wilson <jim.wilson@linaro.org>
123
124 * Make-lang.in (check_gcc_pallelize): Define.
125
1262015-05-22 Marek Polacek <polacek@redhat.com>
127
128 PR c/47043
129 * c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
130 attributes.
131
1322015-05-21 Marek Polacek <polacek@redhat.com>
133
134 * c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
135 DECL_BUILT_IN.
136
1372015-05-20 Marek Polacek <polacek@redhat.com>
138
139 * c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
140 * c-typeck.c: Likewise.
141
1422015-05-19 Marek Polacek <polacek@redhat.com>
143
144 * c-typeck.c (start_init): Use AGGREGATE_TYPE_P.
145
1462015-05-19 Jakub Jelinek <jakub@redhat.com>
147
148 PR middle-end/66199
149 * c-parser.c (c_parser_omp_for_loop): Don't add
150 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
151 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
152 (c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
153 constructs.
154
1552015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
156
157 * c-typeck.c (build_array_ref): Use std::swap instead of explicit
158 swaps.
159
1602015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
161
162 PR fortran/44054
163 * c-objc-common.c (c_tree_printer): Replace locus pointer with
164 accessor function.
165
1662015-05-14 Marek Polacek <polacek@redhat.com>
167
168 PR c/66066
169 PR c/66127
170 * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
171 rather than with 0.
172
1732015-05-12 David Malcolm <dmalcolm@redhat.com>
174
175 * c-parser.c (c_parser_if_body): Add param "if_loc", use it
176 to add a call to warn_for_misleading_indentation.
177 (c_parser_else_body): Likewise, adding param "else_loc".
178 (c_parser_if_statement): Check for misleading indentation.
179 (c_parser_while_statement): Likewise.
180 (c_parser_for_statement): Likewise.
181
1822015-05-08 Marek Polacek <polacek@redhat.com>
183
184 PR c/64918
185 * c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
186 (output_init_element): Likewise.
187
1882015-05-07 Marek Polacek <polacek@redhat.com>
189
190 PR c/65179
191 * c-typeck.c (build_binary_op): Warn when left shifting a negative
192 value.
193
1942015-04-30 Marek Polacek <polacek@redhat.com>
195
196 * c-typeck.c (set_init_label): Call error_at instead of error and
197 pass LOC to it.
198
199 * c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print
200 the type of a decl.
201
202 * c-typeck.c (c_build_va_arg): Clarify the error message.
203
2042015-04-29 Thomas Schwinge <thomas@codesourcery.com>
205
206 * c-parser.c (c_parser_oacc_enter_exit_data): Use
207 OMP_STANDALONE_CLAUSES.
208
2092015-04-28 Marek Polacek <polacek@redhat.com>
210
211 * c-parser.c (c_parser_binary_expression): Remove duplicate line.
212
2132015-04-28 Marek Polacek <polacek@redhat.com>
214
215 PR c/65901
216 * c-typeck.c (c_build_va_arg): Require TYPE be a complete type.
217
2182015-04-25 Marek Polacek <polacek@redhat.com>
219
220 PR c/52085
221 * c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode"
222 attribute.
223
2242015-04-23 Marek Polacek <polacek@redhat.com>
225
226 PR c/65345
227 * c-decl.c (set_labels_context_r): New function.
228 (store_parm_decls): Call it via walk_tree_without_duplicates.
229 * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
230 instead of create_tmp_var. Build TARGET_EXPR instead of
231 COMPOUND_EXPR.
232 (build_atomic_assign): Use create_tmp_var_raw instead of
233 create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR.
234
2352015-04-20 Ilya Verbin <ilya.verbin@intel.com>
236
237 * c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon.
238 (c_parser_omp_target_update): Add missed %> to error_at ().
239
2402015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
241
242 PR target/55143
243 * c-decl.c (c_default_pointer_mode): Remove definition.
244 * c-tree.h (c_default_pointer_mode): Remove declaration.
245
2462015-03-27 Tobias Burnus <burnus@net-b.de>
247
248 PR c/65586
249 * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
250 error out.
251 (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
252 c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
253 Update calls to not error for skipped omp pragmas with -fopenmp-simd.
254
2552015-03-19 Jakub Jelinek <jakub@redhat.com>
256
257 * c-decl.c (c_decl_attributes): Also add "omp declare target"
258 attribute for DECL_EXTERNAL VAR_DECLs.
259
2602015-03-11 Jakub Jelinek <jakub@redhat.com>
261
262 * c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
263 argument.
264
2652015-03-10 Jakub Jelinek <jakub@redhat.com>
266
267 PR c/65120
268 * c-typeck.c (parser_build_binary_op): Check for tcc_comparison
269 before preparing arguments to warn_logical_not_parentheses.
270
2712015-03-09 Jakub Jelinek <jakub@redhat.com>
272
273 PR c/65120
274 * c-typeck.c (parser_build_binary_op): Don't warn for
275 !!x == y or !b == y where b is _Bool.
276
2772015-03-09 Marek Polacek <polacek@redhat.com>
278
279 * c-convert.c (convert): Make use of do_ubsan_in_current_function.
280 * c-decl.c (grokdeclarator): Likewise.
281 * c-typeck.c (build_binary_op): Likewise.
282
2832015-02-27 Marek Polacek <polacek@redhat.com>
284
285 PR c/65228
286 * c-decl.c (start_decl): Return NULL_TREE if decl is an error node.
287
2882015-02-14 Marek Polacek <polacek@redhat.com>
289
290 PR c/64768
291 * c-decl.c (grokdeclarator): Set the range of a flexible array member
292 declared through a typedef name.
293
2942015-02-13 Marek Polacek <polacek@redhat.com>
295
296 PR c/65050
297 * c-decl.c (grokdeclarator): Print also the type when giving
298 the error message about array's incomplete element type.
299
3002015-02-11 Jakub Jelinek <jakub@redhat.com>
301
302 PR c/64824
303 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
304 check in the POP macro.
305
3062015-02-09 Marek Polacek <polacek@redhat.com>
307
308 PR c/64856
309 * c-typeck.c (process_init_element): Don't always wrap
310 COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
311 initializing a range of elements.
312
3132015-02-04 Jakub Jelinek <jakub@redhat.com>
314
315 PR c/64824
316 PR c/64868
317 * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
318
3192015-02-02 Bruno Loff <bruno.loff@gmail.com>
320
321 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
322 processing enum declaration.
323
3242015-01-29 Marek Polacek <polacek@redhat.com>
325
326 PR c/64709
327 * c-typeck.c (pop_init_level): If constructor_elements has
328 exactly one element with integer_zerop value, set constructor_zeroinit
329 to 1. Remove braces around warning_init call.
330
3312015-01-27 Jakub Jelinek <jakub@redhat.com>
332
333 PR c/64766
334 * c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
335 of FUNCTION_DECLs with error_mark_node.
336
3372015-01-26 Jakub Jelinek <jakub@redhat.com>
338
339 PR c/64778
340 * c-typeck.c (convert_arguments): Return -1 if there are
341 error_args, even if we've diagnosed too many arguments.
342
3432015-01-21 Richard Biener <rguenther@suse.de>
344
345 PR middle-end/64313
346 * c-decl.c (merge_decls): Call set_builtin_decl_declared_p
347 for builtins the user declared correctly.
348
3492015-01-15 Thomas Schwinge <thomas@codesourcery.com>
350 Bernd Schmidt <bernds@codesourcery.com>
351 Cesar Philippidis <cesar@codesourcery.com>
352 James Norris <jnorris@codesourcery.com>
353 Jakub Jelinek <jakub@redhat.com>
354 Ilmir Usmanov <i.usmanov@samsung.com>
355
356 * c-parser.c: Include "gomp-constants.h".
357 (c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
358 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
359 Use OMP_CLAUSE_SET_MAP_KIND.
360 (c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
361 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
362 (c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
363 PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
364 PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
365 (c_parser_omp_clause_name): Handle "auto", "async", "copy",
366 "copyout", "create", "delete", "deviceptr", "gang", "host",
367 "num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
368 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
369 "present_or_create", "pcreate", "seq", "self", "vector",
370 "vector_length", "wait", "worker".
371 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
372 (OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
373 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
374 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
375 (c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
376 (c_parser_oacc_wait_list, c_parser_oacc_data_clause)
377 (c_parser_oacc_data_clause_deviceptr)
378 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
379 (c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
380 (c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
381 (c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
382 (c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
383 (c_parser_oacc_parallel, c_parser_oacc_update)
384 (c_parser_oacc_wait): New functions.
385 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
386 (c_finish_oacc_data): New prototypes.
387 * c-typeck.c: Include "gomp-constants.h".
388 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
389 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
390 OMP_CLAUSE_SET_MAP_KIND.
391 (c_finish_oacc_parallel, c_finish_oacc_kernels)
392 (c_finish_oacc_data): New functions.
393 (c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
394 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
395 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
396 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
397 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
398 GOMP_MAP_FORCE_DEVICEPTR.
399
4002015-01-09 Michael Collison <michael.collison@linaro.org>
401
402 * c-array-notation.c: Include hash-set.h, machmode.h,
403 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
404 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
405 * c-aux-info.c: Ditto.
406 * c-convert.c: Ditto.
407 * c-decl.c: Ditto.
408 * c-errors.c: Ditto.
409 * c-lang.c: Dittoxs.
410 * c-objc-common.c: Ditto.
411 * c-parser.c: Ditto.
412 * c-typeck.c: Include hash-set.h, machmode.h,
413 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
414 fold-const.h, wide-int.h, inchash.h, real.h and
415 fixed-value.h due to flattening of tree.h.
416
4172015-01-07 Marek Polacek <polacek@redhat.com>
418
419 PR c/64417
420 * c-typeck.c (process_init_element): Disallow initialization of
421 a flexible array member with a string constant if the structure
422 is in an array.
423
4242015-01-05 Jakub Jelinek <jakub@redhat.com>
425
426 PR sanitizer/64344
427 * c-typeck.c (convert_for_assignment, c_finish_return): For
428 -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
429 types also set in_late_binary_op around convert call.
430 * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
431 to integral type casts, if not in_late_binary_op, pass c_fully_fold
432 result on expr as last argument to ubsan_instrument_float_cast,
433 if in_late_binary_op, don't use c_save_expr but save_expr.
434
435 Update copyright years.
436
4372015-01-05 Marek Polacek <polacek@redhat.com>
438
439 PR c/64423
440 * c-typeck.c (build_array_ref): Pass loc down to
441 warn_array_subscript_with_type_char.
442
4432014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
444
445 * c-typeck.c: New behavious for pointers to arrays with qualifiers
446 (common-pointer-type): For pointers to arrays take qualifiers from
447 element type.
448 (build_conditional_expr): Add warnings for lost qualifiers.
449 (comp-target-types): Allow pointers to arrays with different qualifiers.
450 (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
451 WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
452 to PEDWARN_FOR_QUALIFIERS.
453
4542014-12-17 Jakub Jelinek <jakub@redhat.com>
455
456 PR sanitizer/64289
457 * c-convert.c: Include ubsan.h.
458 (convert): For real -> integral casts and
459 -fsanitize=float-cast-overflow don't call convert_to_integer, but
460 instead instrument the float cast directly.
461
4622014-11-29 Jakub Jelinek <jakub@redhat.com>
463
464 * c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
465 c_finish_stmt_expr): Remove NULL last argument from
466 create_tmp_var_raw and create_tmp_var calls.
467 * c-array-notation.c (fix_builtin_array_notation_fn,
468 build_array_notation_expr, fix_conditional_array_notations_1,
469 fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
470
4712014-11-28 Marek Polacek <polacek@redhat.com>
472
473 PR c/63862
474 * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
475 convert the right operand to integer type.
476
4772014-11-25 Marek Polacek <polacek@redhat.com>
478
479 PR c/63877
480 * c-decl.c (start_function): Disable -Wmissing-declarations warning
481 for inline functions.
482
4832014-11-21 Jakub Jelinek <jakub@redhat.com>
484
485 PR target/63764
486 * c-typeck.c (build_array_ref): Adjust
487 convert_vector_to_pointer_for_subscript caller. If it returns true,
488 call non_lvalue_loc on the result.
489
4902014-11-11 Richard Biener <rguenther@suse.de>
491
492 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
493 to true.
494
4952014-11-10 Andi Kleen <ak@linux.intel.com>
496
497 PR c/60804
498 * c-parser.c (c_parser_statement_after_labels): Call
499 check_no_cilk.
500 (c_parser_if_statement): Dito.
501 (c_parser_switch_statement): Dito.
502 (c_parser_while_statement): Dito.
503 (c_parser_do_statement): Dito.
504 (c_parser_for_statement): Dito.
505 * c-typeck.c (c_finish_loop): Dito.
506
5072014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
508
509 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
510 OPT_Wshift_count_overflow in the warnings.
511
5122014-10-30 Marek Polacek <polacek@redhat.com>
513
514 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
515 print the stripped version as well, if they're not the same.
516
5172014-10-29 Richard Sandiford <richard.sandiford@arm.com>
518
519 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
520 machine_mode.
521
5222014-10-28 Andrew MacLeod <amacleod@redhat.com>
523
524 * c-decl.c: Adjust include files.
525 * c-parser.c: Ditto.
526
5272014-10-27 Phil Muldoon <pmuldoon@redhat.com>
528 Tom Tromey <tromey@redhat.com>
529
530 * c-tree.h (enum c_oracle_request): New.
531 (c_binding_oracle_function): New typedef.
532 (c_binding_oracle, c_pushtag, c_bind): Declare.
533 * c-decl.c (c_binding_oracle): New global.
534 (I_SYMBOL_CHECKED): New macro.
535 (i_symbol_binding): New function.
536 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
537 (I_TAG_CHECKED): New macro.
538 (i_tag_binding): New function.
539 (I_TAG_BINDING, I_TAG_DECL): Redefine.
540 (I_LABEL_CHECKED): New macro.
541 (i_label_binding): New function.
542 (I_LABEL_BINDING, I_LABEL_DECL): Redefine.
543 (c_print_identifier): Save and restore c_binding_oracle.
544 (c_pushtag, c_bind): New functions.
545
5462014-10-27 Andrew MacLeod <amacleod@redhat.com>
547
548 * c-typeck.c: Adjust include files.
549
5502014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
551
552 PR c++/53061
553 * c-objc-common.c (c_objc_common_init): Do not do diagnostics
554 initialization here...
555 (c_initialize_diagnostics): ... but here. Set defaults after
556 building pretty-printer.
557
5582014-10-23 Marek Polacek <polacek@redhat.com>
559
560 PR c/63626
561 * c-decl.c (pop_scope): Don't print warning in external_scope.
562
5632014-10-19 Marek Polacek <polacek@redhat.com>
564
565 PR c/63567
566 * c-typeck.c (output_init_element): Allow initializing objects with
567 static storage duration with compound literals even in C99 and add
568 pedwarn for it.
569
5702014-10-17 Marek Polacek <polacek@redhat.com>
571
572 PR c/63567
573 * c-typeck.c (digest_init): Allow initializing objects with static
574 storage duration with compound literals even in C99 and add pedwarn
575 for it.
576
5772014-10-17 Marek Polacek <polacek@redhat.com>
578
579 PR c/63543
580 * c-tree.h (C_TYPE_ERROR_REPORTED): Define.
581 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
582 error multiple times. Print the type.
583
5842014-10-17 Marek Polacek <polacek@redhat.com>
585
586 PR c/63549
587 * c-typeck.c (build_array_ref): Bail if the index in an incomplete
588 type.
589
5902014-10-17 Marek Polacek <polacek@redhat.com>
591
592 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
593 (start_function): Use OPT_Wimplicit_int instead of 0.
594 (store_parm_decls_oldstyle): Likewise.
595
5962014-10-17 Alan Modra <amodra@gmail.com>
597
598 PR middle-end/61848
599 * c-decl.c (merge_decls): Don't merge section name or tls model
600 to newdecl symtab node, instead merge to olddecl. Override
601 existing olddecl section name. Set tls_model for all thread-local
602 vars, not just OMP thread-private ones. Remove incorrect comment.
603
6042014-10-16 Andrew MacLeod <amacleod@redhat.com>
605
606 * c-decl.c: Adjust include files.
607
6082014-10-14 DJ Delorie <dj@redhat.com>
609
610 * c-parser.c (c_parse_init): Add RID entries for each __intN.
611 (c_token_starts_typename): Check all __intN, not just __int128.
612 (c_token_starts_declspecs): Likewise.
613 (c_parser_declspecs): Likewise.
614 (c_parser_attribute_any_word): Likewise.
615 (c_parser_objc_selector): Likewise.
616 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
617 (struct c_declspecs): Add int_n_idx field to record *which* __intN
618 is specified.
619 * c-decl.c (declspecs_add_type): Check for all __intN, not just
620 __int128.
621 (finish_declspecs): Likewise.
622
6232014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
624
625 * c-parser.c (c_parser_all_labels): New function to replace
626 the duplicate code.
627 (c_parser_statement): Call the new function.
628
6292014-10-09 Marek Polacek <polacek@redhat.com>
630
631 PR c/63480
632 * c-typeck.c (pop_init_level): Don't warn about initializing
633 with { }.
634
6352014-10-07 Marek Polacek <polacek@redhat.com>
636
637 PR c/59717
638 * c-decl.c (header_for_builtin_fn): New function.
639 (implicitly_declare): Suggest which header to include.
640
6412014-10-07 Marek Polacek <polacek@redhat.com>
642
643 * c-convert.c (convert): Use error_operand_p.
644 * c-typeck.c (require_complete_type): Likewise.
645 (really_atomic_lvalue): Likewise.
646 (digest_init): Likewise.
647 (handle_omp_array_sections_1): Likewise.
648
6492014-10-03 Marek Polacek <polacek@redhat.com>
650
651 PR c/63453
652 * c-decl.c (pop_scope): Don't warn about "inline function declared
653 but never defined" for functions marked with gnu_inline attribute.
654
6552014-09-25 Jakub Jelinek <jakub@redhat.com>
656
657 PR c++/63249
658 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
659 on low_bound and length.
660
6612014-09-24 Marek Polacek <polacek@redhat.com>
662
663 PR c/61405
664 PR c/53874
665 * c-parser.c: Don't define CPP_KEYWORD.
666 (c_parser_switch_statement): Pass original type to c_finish_case.
667 * c-tree.h (c_finish_case): Update declaration.
668 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
669 conditionally to c_do_switch_warnings.
670
6712014-09-03 Marek Polacek <polacek@redhat.com>
672
673 PR c/62024
674 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
675 conversions.
676
6772014-09-02 Jakub Jelinek <jakub@redhat.com>
678 Balaji V. Iyer <balaji.v.iyer@intel.com>
679 Igor Zamyatin <igor.zamyatin@intel.com>
680
681 * c-parser.c (c_parser_cilk_for): New function.
682 (c_parser_cilk_grainsize): Likewise.
683 (c_get_temp_regvar): Likewise.
684 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
685 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
686 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
687 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
688 case.
689
6902014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
691
692 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
693 with using HOST_WIDE_INT without truncation to 'int'
694
6952014-08-22 Marek Polacek <polacek@redhat.com>
696
697 PR c++/62199
698 * c-typeck.c (parser_build_binary_op): Adjust call to
699 warn_logical_not_parentheses.
700
7012014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
702
703 PR other/62008
704 * c-parser.c (c_parser_array_notation): Check for correct
705 type of an array added.
706
7072014-08-19 Marek Polacek <polacek@redhat.com>
708
709 PR c++/62153
710 * c-typeck.c (build_binary_op): If either operand of a comparison
711 is a boolean expression, call maybe_warn_bool_compare.
712
7132014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
714
715 PR c/45584
716 * c-typeck.c (build_c_cast): Do a conversion even when the
717 TYPE_MAIN_VARIANTs are the same.
718
7192014-08-19 Marek Polacek <polacek@redhat.com>
720
721 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
722 pedwarn_c99 instead of pedwarn.
723 (grokfield): Likewise.
724 (warn_defaults_to): New function.
725 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
726 Unconditionally call pedwarn_c99 instead of pedwarn.
727 (start_function): Call warn_defaults_to instead of pedwarn_c99.
728 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
729 check flag_isoc11 before.
730 * c-errors.c (pedwarn_c99): Change the return type to bool.
731 Handle -Wc99-c11-compat.
732 * c-parser.c (disable_extension_diagnostics): Handle
733 warn_c99_c11_compat.
734 (restore_extension_diagnostics): Likewise.
735 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
736 instead of pedwarn, don't check flag_isoc11 before.
737 (c_parser_declspecs): Likewise.
738 (c_parser_alignas_specifier): Likewise.
739 (c_parser_alignof_expression): Likewise.
740 (c_parser_generic_selection): Likewise.
741 * c-tree.h (pedwarn_c99): Update declaration.
742 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
743 of pedwarn_c99.
744
7452014-08-19 Marek Polacek <polacek@redhat.com>
746
747 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
748 to pedwarn_c90.
749 * c-errors.c: Include "opts.h".
750 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
751 * c-parser.c (disable_extension_diagnostics): Handle negative value
752 of warn_c90_c99_compat, too.
753 (restore_extension_diagnostics): Likewise.
754 (c_parser_compound_statement_nostart): Pass
755 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
756
7572014-08-12 Marek Polacek <polacek@redhat.com>
758
759 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
760 Add pedwarn.
761 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
762 Likewise.
763 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
764
7652014-08-10 Marek Polacek <polacek@redhat.com>
766
767 PR c/51849
768 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
769 Call pedwarn_c90 instead of pedwarn.
770 (check_bitfield_type_and_width): Likewise.
771 (declspecs_add_qual): Likewise.
772 (declspecs_add_type): Likewise.
773 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
774 Adjust to only call pedwarn_c90.
775 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
776 pedwarn_c90 instead of pedwarn.
777 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
778 * c-parser.c (disable_extension_diagnostics): Handle
779 warn_c90_c99_compat.
780 (restore_extension_diagnostics): Likewise.
781 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
782 pedwarn_c90 instead of pedwarn.
783 (c_parser_initelt): Likewise.
784 (c_parser_postfix_expression): Likewise.
785 (c_parser_postfix_expression_after_paren_type): Likewise.
786 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
787 * c-tree.h: Fix formatting.
788 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
789 pedwarn_c90 instead of pedwarn.
790
7912014-08-07 Trevor Saunders <tsaunders@mozilla.com>
792
793 * c-typeck.c: Remove include of pointer-set.h.
794
7952014-08-07 Marek Polacek <polacek@redhat.com>
796
797 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
798
7992014-08-02 Trevor Saunders <tsaunders@mozilla.com>
800
801 * c-typeck.c: Use hash_map instead of pointer_map.
802
8032014-08-02 Trevor Saunders <tsaunders@mozilla.com>
804
805 * c-decl.c: Use hash_set instead of pointer_set.
806
8072014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
808
809 PR middle-end/61455
810 * c-array-notation.c (expand_array_notations): Handling
811 of DECL_EXPR added.
812
8132014-07-31 Marc Glisse <marc.glisse@inria.fr>
814
815 PR c++/60517
816 * c-typeck.c (c_finish_return): Return 0 instead of the address of
817 a local variable.
818
8192014-07-30 Tom Tromey <tromey@redhat.com>
820
821 * c-typeck.c (struct constructor_stack) <designator_depth>: New
822 field.
823 (really_start_incremental_init, push_init_level): Initialize
824 designator_depth.
825 (pop_init_level): Set global designator_depth.
826 (process_init_element): Check for designated_init attribute.
827
8282014-07-20 Marek Polacek <polacek@redhat.com>
829
830 PR c/61852
831 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
832 (implicitly_declare): Pass location to implicit_decl_warning.
833
8342014-07-14 Jakub Jelinek <jakub@redhat.com>
835
836 PR middle-end/61294
837 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
838 If non-NULL, call c_parser_check_literal_zero.
839 (c_parser_check_literal_zero): New function.
840 (c_parser_postfix_expression_after_primary): Adjust
841 c_parser_expr_list caller, handle -Wmemset-transposed-args.
842
8432014-07-06 Marek Polacek <polacek@redhat.com>
844
845 PR c/6940
846 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
847 * c-tree.h (C_ARRAY_PARAMETER): Define.
848 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
849 function parameter.
850
8512014-07-02 Jan Hubicka <hubicka@ucw.cz>
852 Chen Gang <gang.chen.5i5j@gmail.com>
853
854 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
855 releasing symbol.
856
8572014-07-01 Marek Polacek <polacek@redhat.com>
858
859 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
860 instead of 0 to WARN_FOR_ASSIGNMENT.
861
8622014-07-01 Marek Polacek <polacek@redhat.com>
863
864 PR c/58286
865 * c-typeck.c (convert_for_assignment): Pass
866 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
867
8682014-06-30 Marek Polacek <polacek@redhat.com>
869
870 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
871 has no_sanitize_undefined attribute.
872
8732014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
874
875 PR middle-end/57541
876 * c-array-notation.c (fix_builtin_array_notation_fn):
877 Check for 0 arguments in builtin call. Check that bultin argument is
878 correct.
879 * c-parser.c (c_parser_array_notation): Check for incorrect initial
880 index.
881
8822014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
883
884 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
885 qualifiers in __auto_type for atomic types.
886 (c_parser_typeof_specifier): Discard all type qualifiers in
887 __typeof__ for atomic types.
888
8892014-06-25 Marek Polacek <polacek@redhat.com>
890
891 PR c/61162
892 * c-parser.c (c_parser_statement_after_labels): Pass the location of
893 the return expression to c_finish_return.
894
8952014-06-25 Jakub Jelinek <jakub@redhat.com>
896
897 * c-typeck.c (c_finish_omp_clauses): Make sure
898 OMP_CLAUSE_LINEAR_STEP has correct type.
899
9002014-06-24 Trevor Saunders <tsaunders@mozilla.com>
901
902 * c-decl.c: Adjust.
903
9042014-06-24 Jakub Jelinek <jakub@redhat.com>
905
906 * c-parser.c (c_parser_omp_for_loop): For
907 #pragma omp parallel for simd move lastprivate clause from parallel
908 to for rather than simd.
909
9102014-06-23 Marek Polacek <polacek@redhat.com>
911
912 * c-typeck.c (parser_build_binary_op): Don't call
913 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
914
9152014-06-15 Jan Hubicka <hubicka@ucw.cz>
916
917 * c-parser.c (c_parser_omp_threadprivate): Likewise.
918 * c-decl.c (merge_decls): Likewise.
919
9202014-06-09 Marek Polacek <polacek@redhat.com>
921
922 PR c/36446
923 * c-typeck.c (error_init): Call inform instead of error_at.
924 (pedwarn_init): Call inform instead of pedwarn.
925 (warning_init): Call inform instead of warning_at.
926
9272014-06-07 Jan Hubicka <hubicka@ucw.cz>
928
929 * c-decl.c (merge_decls): Use set_decl_section_name.
930 (duplicate_decls): Remove node if it exists.
931
9322014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
933
934 PR c/53119
935 * c-typeck.c (push_init_level, process_init_element,
936 pop_init_level): Correct check for zero initialization, move
937 missing brace warning to respect zero initialization.
938
9392014-06-05 Marek Polacek <polacek@redhat.com>
940
941 PR c/56724
942 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
943
9442014-06-05 Marek Polacek <polacek@redhat.com>
945
946 PR c/49706
947 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
948 on the left hand side operand of a comparison.
949
9502014-06-05 Marek Polacek <polacek@redhat.com>
951
952 PR c/48062
953 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
954 Print note only if the warning was printed.
955
9562014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
957
958 PR c/58942
959 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
960 with a pointer.
961
9622014-06-03 Marek Polacek <polacek@redhat.com>
963
964 PR c/60439
965 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
966 c_start_case.
967 * c-tree.h (c_start_case): Update.
968 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
969 switch condition has boolean value.
970
9712014-06-02 Andrew MacLeod <amacleod@redhat.com>
972
973 * c-decl.c: Include builtins.h.
974 * c-parser.c: Likewise.
975
9762014-05-27 Marek Polacek <polacek@redhat.com>
977
978 PR c/56724
979 * c-typeck.c (convert_arguments): Get location of a parameter. Change
980 error and warning calls to error_at and warning_at. Pass location of
981 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
982 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
983 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
984
9852014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
986
987 PR c/61191
988 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
989 function parameters.
990
9912014-05-23 Jan Hubicka <hubicka@ucw.cz>
992
993 * c-decl.c (merge_decls): Preserve symtab node pointers.
994 (duplicate_decls): Free new decl.
995
9962014-05-23 Thomas Schwinge <thomas@codesourcery.com>
997
998 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
999 initialization.
1000
1001 * c-parser.c (c_parser_omp_target): Return bool values.
1002
10032014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1004
1005 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
1006 num_teams_loc variable to num_thread_limit_loc.
1007
10082014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1009
1010 * c-array-notation.c (expand_array_notations): Use void_node
1011 instead of void_zero_node.
1012
10132014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1014
1015 * c-decl.c (finish_struct): Adjust.
1016 (finish_enum): Likewise.
1017 (bind): Adjust.
1018 (record_inline_static): Likewise.
1019 (push_scope): Likewise.
1020 (make_label): Likewise.
1021 (lookup_label_for_goto): Likewise.
1022 (finish_struct): Likewise.
1023 (finish_enum): Likewise.
1024 (store_parm_decls): Likewise.
1025 (c_push_function_context): Likewise.
1026 * c-lang.h: Remove usage of variable_size gty attribute.
1027 * c-parser.c (c_parse_init): Adjust.
1028 (c_parse_file): Likewise.
1029
10302014-05-13 Marek Polacek <polacek@redhat.com>
1031
1032 PR c/61162
1033 * c-typeck.c (convert_for_assignment): Pass location to
1034 WARN_FOR_ASSIGNMENT instead of input_location.
1035
10362014-05-10 Marek Polacek <polacek@redhat.com>
1037
1038 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
1039 maybe_warn_string_init.
1040 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
1041 maybe_warn_string_init.
1042 * c-tree.h (maybe_warn_string_init): Update declaration.
1043 * c-typeck.c (maybe_warn_string_init): Add location parameter.
1044 Call pedwarn_init with loc instead of with input_location.
1045 (digest_init): Pass init_loc to maybe_warn_string_init.
1046 (pop_init_level): Call pedwarn_init with loc instead of with
1047 input_location.
1048 (set_init_index): Likewise.
1049 (process_init_element): Likewise.
1050
10512014-05-09 Marek Polacek <polacek@redhat.com>
1052
1053 PR c/61096
1054 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
1055 (c_parser_initelt): Pass location to set_init_label. Pass array index
1056 location to set_init_index.
1057 * c-tree.h (push_init_level): Update declaration.
1058 (pop_init_level): Likewise.
1059 (set_init_index): Likewise.
1060 (set_init_label): Likewise.
1061 * c-typeck.c (error_init): Add location parameter. Call error_at
1062 instead of error.
1063 (digest_init): Pass init_loc to error_init.
1064 (really_start_incremental_init):
1065 (push_init_level): Add location parameter. Pass loc to pop_init_level
1066 and error_init.
1067 (pop_init_level): Likewise.
1068 (set_designator): Add location parameter. Pass loc to pop_init_level,
1069 push_init_level, and error_init.
1070 (set_init_index): Add location parameter. Pass loc to error_init and
1071 set_designator.
1072 (set_init_label): Likewise.
1073 (output_init_element): Pass loc to error_init.
1074 (process_init_element): Pass loc to error_init, pop_init_level,
1075 pedwarn_init, and push_init_level.
1076
10772014-05-09 Marek Polacek <polacek@redhat.com>
1078
1079 PR c/50459
1080 * c-parser.c (c_parser_attributes): Parse the arguments as an
1081 expression-list if the attribute takes identifier.
1082
10832014-05-08 Marek Polacek <polacek@redhat.com>
1084
1085 PR c/61053
1086 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
1087 TYPE_ALIGN_UNIT.
1088
10892014-05-08 Marek Polacek <polacek@redhat.com>
1090
1091 PR c/61077
1092 * c-decl.c (start_function): Warn for _Atomic-qualified return type
1093 of main.
1094
10952014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1096 Mike Stump <mikestump@comcast.net>
1097 Richard Sandiford <rdsandiford@googlemail.com>
1098
1099 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
1100 (finish_enum): Use wide-int interfaces.
1101 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
1102 * c-typeck.c (build_c_cast): Likewise.
1103 (set_nonincremental_init_from_string): Likewise.
1104 (c_tree_equal): Likewise.
1105
11062014-05-02 Marek Polacek <polacek@redhat.com>
1107
1108 PR c/25801
1109 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
1110 Return size_one_node when the type is not complete.
1111 (pointer_diff): Remove comment.
1112 (build_unary_op): Improve error messages.
1113
11142014-05-02 Marek Polacek <polacek@redhat.com>
1115
1116 * c-typeck.c (c_finish_return): Separate warning_at calls.
1117
11182014-05-02 Marek Polacek <polacek@redhat.com>
1119
1120 * c-tree.h (error_init): Remove declaration.
1121 (pedwarn_init): Likewise.
1122 * c-typeck.c (error_init): Make static and move above.
1123 (pedwarn_init): Likewise.
1124 (warning_init): Move above.
1125 (maybe_warn_string_init): Likewise.
1126
11272014-05-01 Jeff Law <law@redhat.com>
1128
1129 Revert:
1130
1131 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1132 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
1133 avoid goto.
1134
11352014-05-02 Marek Polacek <polacek@redhat.com>
1136
1137 PR c/60784
1138 * c-typeck.c (push_init_level): Set constructor_designated to
1139 p->designated for structures.
1140
11412014-05-01 Marek Polacek <polacek@redhat.com>
1142
1143 PR c/60915
1144 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
1145 function-definition has an attribute after the declarator.
1146
11472014-05-01 Marek Polacek <polacek@redhat.com>
1148
1149 PR c/60257
1150 * c-typeck.c (warning_init): Add location_t parameter. Call
1151 warning_at instead of warning.
1152 (push_init_level): Pass input_location to warning_init.
1153 (add_pending_init): Add location_t parameter. Pass loc to
1154 warning_init.
1155 (set_nonincremental_init): Pass input_location to add_pending_init.
1156 (set_nonincremental_init_from_string): Likewise.
1157 (output_init_element): Pass loc to warning_init and to
1158 add_pending_init.
1159
11602014-05-01 Marek Polacek <polacek@redhat.com>
1161
1162 PR c/43395
1163 * c-typeck.c (c_finish_return): Distinguish between label and variable
1164 when warning about returning local address.
1165
11662014-05-01 Marek Polacek <polacek@redhat.com>
1167
1168 PR c/29467
1169 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
1170 in C89 mode.
1171
11722014-05-01 Marek Polacek <polacek@redhat.com>
1173
1174 PR c/43245
1175 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
1176 instead of 0 to WARN_FOR_QUALIFIERS.
1177
11782014-05-01 Marek Polacek <polacek@redhat.com>
1179
1180 PR c/56989
1181 * c-typeck.c (default_conversion): Use better location for
1182 error call.
1183
11842014-04-30 Marek Polacek <polacek@redhat.com>
1185
1186 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
1187 also when SANITIZE_FLOAT_DIVIDE is on.
1188
11892014-04-30 Marek Polacek <polacek@redhat.com>
1190
1191 PR c/60139
1192 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
1193 and pedwarn_init. Use loc insted of input_location.
1194
11952014-04-30 Marek Polacek <polacek@redhat.com>
1196
1197 PR c/60351
1198 * c-typeck.c (build_binary_op): Use location when warning about
1199 shift count.
1200
12012014-04-25 Marek Polacek <polacek@redhat.com>
1202
1203 PR c/18079
1204 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
1205 always_inline/noinline and hot/cold attributes.
1206
12072014-04-25 Marek Polacek <polacek@redhat.com>
1208
1209 PR c/60114
1210 * c-parser.c (c_parser_initelt): Pass input_location to
1211 process_init_element.
1212 (c_parser_initval): Pass loc to process_init_element.
1213 * c-tree.h (process_init_element): Adjust declaration.
1214 * c-typeck.c (push_init_level): Pass input_location to
1215 process_init_element.
1216 (pop_init_level): Likewise.
1217 (set_designator): Likewise.
1218 (output_init_element): Add location_t parameter. Pass loc to
1219 digest_init.
1220 (output_pending_init_elements): Pass input_location to
1221 output_init_element.
1222 (process_init_element): Add location_t parameter. Pass loc to
1223 output_init_element.
1224
12252014-04-24 Jakub Jelinek <jakub@redhat.com>
1226
1227 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
1228 atomic-clause, allow comma in between atomic-clause and
1229 seq_cst.
1230
12312014-04-22 Jakub Jelinek <jakub@redhat.com>
1232
1233 PR c/59073
1234 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
1235 fails, don't set OM_PARALLEL_COMBINED and return NULL.
1236
12372014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1238
1239 PR middle-end/60469
1240 * c-array-notation.c (fix_builtin_array_notation_fn): Use
1241 create_tmp_var instead build_decl for creating temps.
1242 (build_array_notation_expr): Likewise.
1243 (fix_conditional_array_notations_1): Likewise.
1244 (fix_array_notation_expr): Likewise.
1245 (fix_array_notation_call_expr): Likewise.
1246
12472014-03-28 Jakub Jelinek <jakub@redhat.com>
1248
1249 PR c++/60689
1250 * c-tree.h (c_build_function_call_vec): New prototype.
1251 * c-typeck.c (build_function_call_vec): Don't call
1252 resolve_overloaded_builtin here.
1253 (c_build_function_call_vec): New wrapper function around
1254 build_function_call_vec. Call resolve_overloaded_builtin here.
1255 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
1256 Call c_build_function_call_vec instead of build_function_call_vec.
1257 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
1258 * c-decl.c (finish_decl): Likewise.
1259
12602014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1261
1262 PR c/55383
1263 * c-typeck.c: Use correct format string in cast-qual warning
1264
12652014-03-07 Thomas Schwinge <thomas@codesourcery.com>
1266
1267 * c-decl.c (c_decl_attributes): Use
1268 lang_hooks.types.omp_mappable_type.
1269 * c-typeck.c (c_finish_omp_clauses): Likewise.
1270
12712014-03-06 Marek Polacek <polacek@redhat.com>
1272
1273 PR c/60197
1274 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
1275 of checking tree code.
1276
12772014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1278
1279 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
1280 (c_parser_parameter_declaration): Likewise.
1281
12822014-02-19 Marek Polacek <polacek@redhat.com>
1283
1284 PR c/60195
1285 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
1286 Call mark_exp_read on exp.value.
1287 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
1288 TREE_ADDRESSABLE on old instead of val.
1289 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
1290
12912014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1292
1293 * c-parser.c (c_parser_get_builtin_args): Replace calls to
1294 C_EXPR_APPEND by vec_safe_push.
1295 * c-tree.h (C_EXPR_APPEND): Remove.
1296
12972014-01-31 Marek Polacek <polacek@redhat.com>
1298
1299 PR c/59963
1300 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
1301 build_function_call_vec.
1302 (build_function_call): Likewise.
1303 (build_atomic_assign): Likewise.
1304 (build_function_call_vec): Add arg_loc parameter. Use it.
1305 (convert_arguments): Likewise.
1306 (convert_for_assignment): Rename rhs_loc to expr_loc.
1307 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
1308 (c_parser_objc_keywordexpr): Likewise.
1309 (c_parser_postfix_expression_after_primary): Call
1310 build_function_call_vec with expr_loc rather than op_loc.
1311 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
1312 build_function_call_vec.
1313 (c_parser_expr_list): Add locations parameter. Fill it with locations
1314 of function arguments.
1315 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
1316
13172014-01-30 Marek Polacek <polacek@redhat.com>
1318
1319 PR c/59940
1320 * c-typeck.c (build_function_call_vec): Use loc parameter.
1321 (convert_arguments): Add location parameter. Use it.
1322 (ep_convert_and_check): Likewise.
1323 (build_atomic_assign): Adjust convert_for_assignment call.
1324 (build_modify_expr): Likewise.
1325 (digest_init): Likewise.
1326 (c_finish_return): Likewise.
1327 (build_conditional_expr): Adjust ep_convert_and_check calls.
1328 (convert_for_assignment): Add rhs_loc parameter. Use it.
1329 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
1330 calls.
1331
13322014-01-30 Richard Biener <rguenther@suse.de>
1333
1334 PR c/59905
1335 * c-typeck.c (build_function_call_vec): Do not replace calls
1336 to a function via an incompatible type with a runtime abort.
1337
13382014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1339
1340 * c-parser.c (c_parser_declaration_or_fndef): Replaced
1341 flag_enable_cilkplus with flag_cilkplus.
1342 (c_parser_direct_declarator_inner): Likewise.
1343 (c_parser_attribute_any_word): Likewise.
1344 (c_parser_attributes): Likewise.
1345 (c_parser_compound_statement): Likewise.
1346 (c_parser_statement_after_labels): Likewise.
1347 (c_parser_if_statement): Likewise.
1348 (c_parser_switch_statement): Likewise.
1349 (c_parser_do_statement): Likewise.
1350 (c_parser_for_statement): Likewise.
1351 (c_parser_unary_expression): Likewise.
1352 (c_parser_postfix_expression): Likewise.
1353 (c_parser_postfix_expression_after_primary): Likewise.
1354 (c_parser_postfix_expression_after_primary): Likewise.
1355 (c_parser_omp_clause_name): Likewise.
1356 (c_finish_omp_declare_simd): Likewise.
1357 (c_parser_cilk_verify_simd): Likewise.
1358 * c-typeck.c (build_array_ref): Likewise.
1359 (build_function_call_vec): Likewise.
1360 (convert_arguments): Likewise.
1361 (build_compound_expr): Likewise.
1362 (c_finish_return): Likewise.
1363 (c_finish_if_stmt): Likewise.
1364 (c_finish_loop): Likewise.
1365 (build_binary_op): Likewise.
1366
13672014-01-23 Marek Polacek <polacek@redhat.com>
1368
1369 PR c/59846
1370 * c-typeck.c (parser_build_binary_op): Use location instead of
1371 input_location.
1372 (build_binary_op): Pass location to shorten_compare.
1373
13742014-01-23 Marek Polacek <polacek@redhat.com>
1375
1376 PR c/58346
1377 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
1378 an empty aggregate.
1379
13802014-01-23 Marek Polacek <polacek@redhat.com>
1381
1382 PR c/59871
1383 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
1384 of a comma expression.
1385 (emit_side_effect_warnings): Likewise.
1386
13872014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1388
1389 PR c/59825
1390 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
1391 function to use walk_tree and moved a lot of its functionality to
1392 expand_array_notations.
1393 (expand_array_notations): New function.
1394
13952014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1396
1397 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
1398 attribute an attribute without value.
1399
14002014-01-23 Jakub Jelinek <jakub@redhat.com>
1401
1402 PR middle-end/58809
1403 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
1404 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
1405
14062014-01-22 Marek Polacek <polacek@redhat.com>
1407
1408 PR c/59891
1409 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
1410 of remove_c_maybe_const_expr on op1 and op2.
1411
14122014-01-15 Jakub Jelinek <jakub@redhat.com>
1413
1414 PR c/58943
1415 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
1416 effects, preevaluate rhs using SAVE_EXPR first.
1417
14182014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
1419
1420 PR c++/59631
1421 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
1422 statements with if-elseif statements.
1423
14242014-01-06 Marek Polacek <polacek@redhat.com>
1425
1426 PR c/57773
1427 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
1428 defined bit-field types only in ISO C.
1429
14302014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1431
1432 Update copyright years
1433
14342014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1435
1436 * c-array-notation.c: Use the standard form for the copyright notice.
1437
14382013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1439
1440 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
1441 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
1442 field in parser is not empty. If not-empty, call the function
1443 c_parser_finish_omp_declare_simd.
1444 (c_parser_cilk_clause_vectorlength): Modified function to be shared
1445 between SIMD-enabled functions and #pragma simd. Added new parameter.
1446 (c_parser_cilk_all_clauses): Modified the usage of the function
1447 c_parser_cilk_clause_vectorlength as mentioned above.
1448 (c_parser_cilk_simd_fn_vector_attrs): New function.
1449 (c_finish_cilk_simd_fn_tokens): Likewise.
1450 (is_cilkplus_vector_p): Likewise.
1451 (c_parser_omp_clause_name): Added checking for "vectorlength,"
1452 "nomask," and "mask" strings in clause name.
1453 (c_parser_omp_all_clauses): Added 3 new case statements:
1454 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
1455 PRAGMA_CILK_CLAUSE_NOMASK.
1456 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
1457 check for vector attribute and if so call the function
1458 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
1459 called the function c_finish_cilk_simd_fn_tokens.
1460 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
1461 parser field is non-empty. If so, parse them as you would parse
1462 the omp declare simd pragma.
1463 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
1464 Added a check when step is a parameter and flag it as error.
1465 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
1466 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
1467 pragma_omp_clause.
1468
14692013-12-17 Thomas Schwinge <thomas@codesourcery.com>
1470
1471 * c-parser.c (c_parser_omp_parallel): Fix description.
1472
14732013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1474
1475 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
1476 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1477 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
1478 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
1479
14802013-12-04 Joseph Myers <joseph@codesourcery.com>
1481
1482 PR c/52023
1483 * c-parser.c (c_parser_alignas_specifier): Use
1484 c_sizeof_or_alignof_type instead of c_alignof.
1485 (c_parser_alignof_expression): Likewise, with min_alignof
1486 parameter depending on alignof spelling used.
1487
14882013-12-04 Marek Polacek <polacek@redhat.com>
1489
1490 PR c/54113
1491 * c-decl.c (start_function): Don't warn for missing prototype for
1492 inline functions.
1493
14942013-12-03 Marek Polacek <polacek@redhat.com>
1495
1496 PR c/59351
1497 * c-decl.c (build_compound_literal): Allow compound literals with
1498 empty initial value.
1499
15002013-12-02 Joseph Myers <joseph@codesourcery.com>
1501
1502 PR c/58235
1503 * c-typeck.c (build_modify_expr): Diagnose assignment to
1504 expression with array type.
1505
15062013-11-29 Joseph Myers <joseph@codesourcery.com>
1507
1508 PR c/42262
1509 * c-typeck.c (process_init_element): Do not treat a string as
1510 initializing a whole array when used with a designator for an
1511 individual element.
1512
15132013-11-29 Joseph Myers <joseph@codesourcery.com>
1514
1515 PR c/57574
1516 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
1517 an inline function following a static declaration.
1518
15192013-11-28 Jakub Jelinek <jakub@redhat.com>
1520
1521 PR c/59310
1522 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
1523 to p_name before calling c_parser_omp_teams instead of after.
1524 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
1525 argument. Remove unused p_name variable.
1526
15272013-11-27 Aldy Hernandez <aldyh@redhat.com>
1528 Jakub Jelinek <jakub@redhat.com>
1529
1530 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
1531 external_scope is NULL.
1532
15332013-11-27 Tom de Vries <tom@codesourcery.com>
1534 Marc Glisse <marc.glisse@inria.fr>
1535
1536 PR c++/59032
1537 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
1538
15392013-11-22 Andrew MacLeod <amacleod@redhat.com>
1540
1541 * c-typeck.c: Add required include files from gimple.h.
1542
15432013-11-22 David Malcolm <dmalcolm@redhat.com>
1544
1545 * c-decl.c (define_label, shadow_tag_warned)
1546 (check_bitfield_type_and_width, grokdeclarator, grokparms,
1547 store_parm_decls_newstyle, store_parm_decls_oldstyle)
1548 (declspecs_add_type): Remove use of in_system_header macro.
1549 * c-parser.c (c_parser_unary_expression): Likewise.
1550 * c-typeck.c (store_init_value, process_init_element)
1551 (c_start_case): Likewise.
1552
1553 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
1554 macro.
1555
1556 * c-parser.c (c_parser_set_source_position_from_token): Remove
1557 reference to in_system_header from comment.
1558
15592013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1560
1561 * c-decl.c (grokdeclarator): Update comment to refer to
1562 tree_to_[su]hwi rather than tree_low_cst.
1563
15642013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1565
1566 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
1567 tree_to_uhwi throughout.
1568
15692013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1570
1571 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
1572 throughout.
1573
15742013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1575
1576 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
1577 throughout.
1578
15792013-11-15 Aldy Hernandez <aldyh@redhat.com>
1580
1581 * c-parser.c (c_parser_cilk_simd): New.
1582 (c_parser_cilk_verify_simd): New.
1583 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
1584 (c_parser_omp_for_loop): Add case for NE_EXPR.
1585 Set c_break_label for CILK_SIMD.
1586 (c_parser_cilk_clause_vectorlength): New.
1587 (c_parser_cilk_clause_linear): New.
1588 (c_parser_cilk_clause_name): New.
1589 (c_parser_cilk_all_clauses): New.
1590 * c-typeck.c (build_unary_op): Pass location argument to
1591 readonly_error.
1592 (build_modify_expr): Same.
1593 (build_asm_expr): Same.
1594 (c_finish_bc_stmt): Error on break/continue in loops.
1595
15962013-11-14 Andrew MacLeod <amacleod@redhat.com>
1597
1598 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
1599
16002013-11-14 Diego Novillo <dnovillo@google.com>
1601
1602 * c-decl.c: Include print-tree.h.
1603 Include stor-layout.h.
1604 Include varasm.h.
1605 Include attribs.h.
1606 Include stringpool.h.
1607 * c-lang.c: Include fold-const.h.
1608 * c-parser.c: Include stringpool.h.
1609 Include attribs.h.
1610 Include stor-layout.h.
1611 Include varasm.h.
1612 Include trans-mem.h.
1613 * c-typeck.c: Include stor-layout.h.
1614 Include trans-mem.h.
1615 Include varasm.h.
1616 Include stmt.h.
1617
16182013-11-13 Joseph Myers <joseph@codesourcery.com>
1619
1620 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
1621 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
1622 __auto_type.
1623 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
1624 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
1625 RID_AUTO_TYPE.
1626 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
1627 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
1628 (c_parser_declarator, c_parser_direct_declarator_inner)
1629 (c_parser_parameter_declaration, c_parser_type_name): All callers
1630 changed.
1631 (c_parser_declaration_or_fndef): Handle declarations with type
1632 determined from the initializer.
1633
16342013-11-12 Andrew MacLeod <amacleod@redhat.com>
1635
1636 * c-typeck.c: Include gimplify.h.
1637
16382013-11-12 Joseph Myers <joseph@codesourcery.com>
1639
1640 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
1641 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
1642 comment.
1643 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
1644 or _Thread_local as appropriate in diagnostics.
1645 (build_null_declspecs): Initialize ret->thread_gnu_p.
1646 (declspecs_add_scspec): Handle either __thread or _Thread_local
1647 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
1648 pedantic. Do not disallow _Thread_local extern and _Thread_local
1649 static.
1650
16512013-11-07 Joseph Myers <joseph@codesourcery.com>
1652 Andrew MacLeod <amacleod@redhat.com>
1653
1654 * c-aux-info.c (gen_type): Handle atomic qualifier.
1655 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
1656 qualifiers when compating types.
1657 (shadow_tag_warned): Handle atomic_p in declspecs.
1658 (quals_from_declspecs): Likewise.
1659 (start_decl): Use c_type_promotes_to when promoting argument
1660 types.
1661 (grokdeclarator): Handle _Atomic.
1662 (get_parm_info): Diagnose any qualifier on "void" as only
1663 parameter.
1664 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
1665 comparing types. Use c_type_promotes_to when promoting argument
1666 types.
1667 (finish_function): Use c_type_promotes_to when promoting argument
1668 types.
1669 (build_null_declspecs): Handle atomic_p in declspecs.
1670 (declspecs_add_qual): Handle RID_ATOMIC.
1671 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
1672 (c_token_starts_declspecs): Handle RID_ATOMIC.
1673 (c_parser_declspecs): Handle atomic type specifiers and
1674 qualifiers.
1675 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
1676 from types of expressions with atomic type.
1677 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
1678 (c_parser_attribute_any_word): Handle RID_ATOMIC.
1679 (c_parser_initializer, c_parser_initelt, c_parser_initval)
1680 (c_parser_statement_after_labels, c_parser_switch_statement)
1681 (c_parser_for_statement, c_parser_expr_no_commas)
1682 (c_parser_conditional_expression, c_parser_binary_expression)
1683 (c_parser_cast_expression, c_parser_unary_expression)
1684 (c_parser_postfix_expression)
1685 (c_parser_postfix_expression_after_primary, c_parser_expression):
1686 Use convert_lvalue_to_rvalue.
1687 (c_parser_expression_conv, c_parser_expr_list): Document
1688 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
1689 (c_parser_objc_synchronized_statement): Use
1690 convert_lvalue_to_rvalue.
1691 (c_parser_objc_selector): Handle RID_ATOMIC.
1692 (c_parser_objc_receiver, c_parser_array_notation): Use
1693 convert_lvalue_to_rvalue.
1694 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
1695 _Atomic (type-name).
1696 (struct c_declspecs): Add atomic_p field.
1697 (convert_lvalue_to_rvalue): Declare.
1698 * c-typeck.c (c_type_promotes_to): Promote atomic types to
1699 corresponding atomic types.
1700 (qualify_type): Don't add _Atomic qualifiers from second argument.
1701 (comp_target_types): Do not allow _Atomic mismatches.
1702 (type_lists_compatible_p): Do not remove atomic qualifiers when
1703 comparing types.
1704 (really_atomic_lvalue, convert_lvalue_to_rvalue)
1705 (build_atomic_assign): New functions.
1706 (build_unary_op): Use build_atomic_assign for atomic increment and
1707 decrement.
1708 (build_conditional_expr): Do not treat _Atomic void as a qualified
1709 version of void.
1710 (build_modify_expr): Use build_atomic_assign for atomic LHS.
1711 (find_anonymous_field_with_type, convert_to_anonymous_field)
1712 (convert_for_assignment): Do not remove atomic qualifiers when
1713 comparing types.
1714 (digest_init): Do not accept initialization of arrays of atomic
1715 elements by string constants.
1716 (build_asm_expr): Use convert_lvalue_to_rvalue.
1717 (build_binary_op): Do not treat _Atomic void as a qualified
1718 version of void.
1719
17202013-11-06 DJ Delorie <dj@redhat.com>
1721
1722 * c-decl.c (locate_old_decl): If a previous conflicting decl is
1723 both explicit and builtin, print the location of the explicit one.
1724
17252013-11-05 Tobias Burnus <burnus@net-b.de>
1726
1727 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
1728 c_parser_omp_distribute, c_parser_omp_teams,
1729 c_parser_omp_target, c_parser_omp_declare): Handle
1730 -fopenmp-simd.
1731
17322013-11-03 Marek Polacek <polacek@redhat.com>
1733
1734 * c-decl.c (grokdeclarator): Add VLA instrumentation.
1735
17362013-11-01 Jakub Jelinek <jakub@redhat.com>
1737
1738 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
1739 check_dup_generic at the end, unless remove is true.
1740 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
1741 remove = true;.
1742 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
1743
17442013-10-31 Jakub Jelinek <jakub@redhat.com>
1745
1746 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
1747 with decl that is not pointer nor array.
1748
17492013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1750
1751 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
1752 a spawning function is found.
1753 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
1754 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
1755 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1756 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
1757 case.
1758 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
1759 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
1760 expr.
1761 (c_finish_return): Added a check to reject _Cilk_spawn in return
1762 expression.
1763 (build_cilk_spawn): New function.
1764 (build_cilk_sync): Likewise.
1765 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
1766
17672013-10-27 Tobias Burnus <burnus@net-b.de>
1768
1769 PR other/33426
1770 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
1771 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
1772 (c_parser_statement_after_labels): Update calls.
1773
17742013-10-24 Tobias Burnus <burnus@net-b.de>
1775
1776 PR other/33426
1777 * c-parser.c (c_parser_pragma, c_parser_for_statement):
1778 Handle PRAGMA_IVDEP.
1779 (c_parser_statement_after_labels): Update call.
1780
17812013-10-24 Marek Polacek <polacek@redhat.com>
1782
1783 * c-parser.c (c_parser_struct_declaration): Add a comment.
1784 (c_parser_declarator): Don't allow _Alignas here.
1785
17862013-10-17 Andrew MacLeod <amacleod@redhat.com>
1787
1788 * c-parser.c: Include omp-low.h.
1789 * c-typeck.c: Likewise.
1790
17912013-10-17 Marek Polacek <polacek@redhat.com>
1792
1793 PR c/58267
1794 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
1795 Document syntax of the array-declarator.
1796 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
1797 are not permitted.
1798 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
1799 (c_parser_struct_declaration): Likewise.
1800 (c_parser_declarator): Likewise.
1801 (c_parser_direct_declarator_inner): Likewise.
1802 (c_parser_parameter_declaration): Likewise.
1803 (c_parser_type_name): Likewise.
1804
18052013-10-11 Jakub Jelinek <jakub@redhat.com>
1806
1807 * c-lang.h (current_omp_declare_target_attribute): New extern
1808 decl.
1809 * c-parser.c: Include c-lang.h.
1810 (struct c_parser): Change tokens to c_token *.
1811 Add tokens_buf field. Change tokens_avail type to unsigned int.
1812 (c_parser_consume_token): If parser->tokens isn't
1813 &parser->tokens_buf[0], increment parser->tokens.
1814 (c_parser_consume_pragma): Likewise.
1815 (enum pragma_context): Add pragma_struct and pragma_param.
1816 (c_parser_external_declaration): Adjust
1817 c_parser_declaration_or_fndef caller.
1818 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
1819 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
1820 Adjust recursive call.
1821 (c_parser_struct_or_union_specifier): Use pragma_struct instead
1822 of pragma_external.
1823 (c_parser_parameter_declaration): Use pragma_param instead of
1824 pragma_external.
1825 (c_parser_compound_statement_nostart, c_parser_label,
1826 c_parser_for_statement): Adjust
1827 c_parser_declaration_or_fndef callers.
1828 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
1829 it through to c_parser_conditional_expression.
1830 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
1831 pass it through to c_parser_binary_expression. Adjust recursive
1832 call.
1833 (c_parser_binary_expression): Remove prec argument, add
1834 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
1835 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
1836 binop matches it, use build2 instead of parser_build_binary_op.
1837 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
1838 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
1839 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
1840 Handle pragma_struct and pragma_param the same as pragma_external.
1841 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
1842 (c_parser_omp_variable_list): Parse array sections for
1843 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
1844 (c_parser_omp_clause_collapse): Fully fold collapse expression.
1845 (c_parser_omp_clause_reduction): Handle user defined reductions.
1846 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
1847 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
1848 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
1849 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
1850 c_parser_omp_clause_depend, c_parser_omp_clause_map,
1851 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
1852 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
1853 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
1854 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
1855 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
1856 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
1857 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
1858 (c_parser_omp_for_loop): Add CODE argument, pass it through
1859 to c_finish_omp_for. Change last argument to cclauses,
1860 and adjust uses to grab parallel clauses from the array of all
1861 the split clauses. Adjust c_parser_binary_expression,
1862 c_parser_declaration_or_fndef and c_finish_omp_for callers.
1863 (omp_split_clauses): New function.
1864 (c_parser_omp_simd): New function.
1865 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
1866 Allow the function to be called also when parsing combined constructs,
1867 and call c_parser_omp_simd when parsing for simd.
1868 (c_parser_omp_sections_scope): If section-sequence doesn't start with
1869 #pragma omp section, require exactly one structured-block instead of
1870 sequence of statements.
1871 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
1872 Allow the function to be called also when parsing combined constructs.
1873 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
1874 Allow the function to be called also when parsing combined
1875 constructs.
1876 (c_parser_omp_taskgroup, c_parser_omp_cancel,
1877 c_parser_omp_cancellation_point, c_parser_omp_distribute,
1878 c_parser_omp_teams, c_parser_omp_target_data,
1879 c_parser_omp_target_update, c_parser_omp_target,
1880 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
1881 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
1882 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
1883 (c_parser_omp_construct): Add p_name and mask vars. Handle
1884 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
1885 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
1886 and c_parser_omp_sections callers.
1887 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
1888 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
1889 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
1890 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
1891 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
1892 OMP_CLAUSE_DEPEND.
1893 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
1894 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
1895 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
1896 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
1897 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
1898 * c-typeck.c: Include tree-inline.h.
1899 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
1900 handle_omp_array_sections_1, handle_omp_array_sections,
1901 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
1902 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
1903 user defined reductions.
1904 (c_tree_equal): New function.
1905 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
1906 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
1907 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
1908 c_check_omp_declare_reduction_r): New prototypes.
1909 * c-decl.c (current_omp_declare_target_attribute): New variable.
1910 (c_decl_attributes): New function.
1911 (start_decl, start_function): Use it instead of decl_attributes.
1912 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
1913 c_omp_reduction_decl, c_omp_reduction_lookup,
1914 c_check_omp_declare_reduction_r): New functions.
1915
19162013-09-25 Tom Tromey <tromey@redhat.com>
1917
1918 * Make-lang.in (c/gccspec.o): Remove.
1919 (CFLAGS-c/gccspec.o): New variable.
1920 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
1921 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
1922 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
1923
19242013-09-25 Tom Tromey <tromey@redhat.com>
1925
1926 * Make-lang.in (c/gccspec.o): Don't use subshell.
1927
19282013-09-18 Marek Polacek <polacek@redhat.com>
1929
1930 PR sanitize/58443
1931 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
1932 Remove unnecessary check.
1933
19342013-09-18 Marek Polacek <polacek@redhat.com>
1935
1936 PR sanitizer/58411
1937 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
1938 no_sanitize_undefined attribute.
1939
19402013-09-13 Kai Tietz <ktietz@redhat.com>
1941
1942 PR target/57848
1943 * c-decl.c (c_builtin_function_ext_scope): Remove
1944 wrong assumption that it is never called on prexisting
1945 symbol.
1946
19472013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1948
1949 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
1950
19512013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1952
1953 * c-objc-common.c (c_tree_printer): Tidy.
1954
19552013-08-30 Marek Polacek <polacek@redhat.com>
1956
1957 * c-typeck.c (build_binary_op): Add division by zero and shift
1958 instrumentation.
1959
19602013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
1961 Joseph Myers <joseph@codesourcery.com>
1962
1963 PR c/35649
1964 * c-typeck.c (c_common_type): Prefer double_type_node over
1965 other REAL_TYPE types with the same precision.
1966 (convert_arguments): Likewise.
1967
19682013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
1969
1970 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
1971 (c_initialize_diagnostics): Call a destructor for the early printer.
1972
19732013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1974
1975 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
1976 printer initialization.
1977
19782013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
1979
1980 PR c/57490
1981 * c-array-notation.c (fix_conditional_array_notations_1): Added a
1982 check for truth values.
1983 (expand_array_notation_exprs): Added truth values case. Removed an
1984 unwanted else. Added for-loop to walk through subtrees in default
1985 case.
1986
19872013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1988
1989 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
1990
19912013-07-23 Joseph Myers <joseph@codesourcery.com>
1992
1993 * c-parser.c (struct c_generic_association): Fix typo.
1994
19952013-07-23 Tom Tromey <tromey@redhat.com>
1996 Joseph Myers <joseph@codesourcery.com>
1997
1998 * c-parser.c (struct c_generic_association): New.
1999 (c_generic_association_d): New typedef.
2000 (c_parser_generic_selection): New function.
2001 (c_parser_postfix_expression): Handle RID_GENERIC.
2002
20032013-07-13 Jason Merrill <jason@redhat.com>
2004
2005 PR c++/57793
2006 * c-decl.c (finish_struct): Check for too-large class.
2007
20082013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
2009
2010 PR c/57821
2011 * c-typeck.c (set_init_index): When folding, check for index overflow.
2012
20132013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2014
2015 * c-parser.c (c_parser_array_notation): Removed rejection of array
2016 notations in an array of function pointers.
2017
20182013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2019
2020 * c-array-notation.c (make_triplet_val_inv): New function.
2021 (create_cmp_incr): Likewise.
2022 (create_array_refs): Likewise.
2023 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
2024 Also modularized common parts between functions and called the function.
2025 (build_array_notation_expr): Likewise.
2026 (fix_conditional_array_notations_1): Likewise.
2027 (fix_array_notation_expr): Likewise.
2028 (fix_array_notation_call_expr): Likewise.
2029
20302013-06-18 Marek Polacek <polacek@redhat.com>
2031
2032 PR c/57630
2033 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
2034
20352013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
2036
2037 * c-array-notation.c (build_array_notation_expr): Reject array notation
2038 mismatch between LHS and RHS even inside a call_expr. Also, removed
2039 a couple while statements that were dead code.
2040
20412013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
2042
2043 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
2044 excessive precision expressions in function parameters. Also removed
2045 couple unwanted while statements.
2046
20472013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2048
2049 * c-array-notation.c (expand_array_notation_exprs): Added
2050 ARRAY_NOTATION_REF case.
2051
20522013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2053
2054 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
2055 function to c-family/array-notation-common.c.
2056 (is_cilkplus_reduce_builtin): Likewise.
2057 (find_rank): Likewise.
2058 (extract_array_notation_exprs): Likewise.
2059 (replace_array_notations): Likewise.
2060 (find_inv_trees): Likewise.
2061 (replace_inv_trees): Likewise.
2062 (contains_array_notation_expr): Likewise.
2063 (find_correct_array_notation_type): Likewise.
2064 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
2065 (struct inv_list): Moved this to c-family/array-notation-common.c.
2066 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
2067
20682013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
2069
2070 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
2071 reduction functions outside the for-loop. Added a check if the fundecl
2072 is non-NULL. Finally, removed an unwanted if-statement, and made the
2073 body unconditional.
2074
20752013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
2076
2077 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
2078 condition of the if-statement matches the rank of else-block and then-
2079 block when array notations are used.
2080 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
2081 expression after the entire function body is parsed.
2082 (c_parser_expr_no_commas): Delayed creating array notation expressions
2083 to the end of function parsing.
2084 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
2085 whole if-statement instead of just the condition.
2086 (expand_array_notation_exprs): Added MODIFY_EXPR case.
2087
20882013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
2089
2090 PR c/57474
2091 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
2092 array to NULL_TREE if they are unused. Also added a check for the
2093 field to be NULL before its fields are used in future.
2094
20952013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2096
2097 PR bootstrap/57450
2098 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
2099 (build_array_notation_expr): Likewise.
2100
21012013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2102
2103 * c-typeck.c (build_array_ref): Added a check to see if array's
2104 index is greater than one. If true, then emit an error.
2105 (build_function_call_vec): Exclude error reporting and checking
2106 for builtin array-notation functions.
2107 (convert_arguments): Likewise.
2108 (c_finish_return): Added a check for array notations as a return
2109 expression. If true, then emit an error.
2110 (c_finish_loop): Added a check for array notations in a loop
2111 condition. If true then emit an error.
2112 (lvalue_p): Added a ARRAY_NOTATION_REF case.
2113 (build_binary_op): Added a check for array notation expr inside
2114 op1 and op0. If present, we call another function to find correct
2115 type.
2116 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
2117 * c-parser.c (c_parser_compound_statement): Check if array
2118 notation code is used in tree, if so, then transform them into
2119 appropriate C code.
2120 (c_parser_expr_no_commas): Check if array notation is used in LHS
2121 or RHS, if so, then build array notation expression instead of
2122 regular modify.
2123 (c_parser_postfix_expression_after_primary): Added a check for
2124 colon(s) after square braces, if so then handle it like an array
2125 notation. Also, break up array notations in unary op if found.
2126 (c_parser_direct_declarator_inner): Added a check for array
2127 notation.
2128 (c_parser_compound_statement): Added a check for array notation in
2129 a stmt. If one is present, then expand array notation expr.
2130 (c_parser_if_statement): Likewise.
2131 (c_parser_switch_statement): Added a check for array notations in
2132 a switch statement's condition. If true, then output an error.
2133 (c_parser_while_statement): Similarly, but for a while.
2134 (c_parser_do_statement): Similarly, but for a do-while.
2135 (c_parser_for_statement): Similarly, but for a for-loop.
2136 (c_parser_unary_expression): Check if array notation is used in a
2137 pre-increment or pre-decrement expression. If true, then expand
2138 them.
2139 (c_parser_array_notation): New function.
2140 * c-array-notation.c: New file.
2141 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
2142
21432013-05-23 Mike Stump <mikestump@comcast.net>
2144
2145 * c-typeck.c (convert_for_assignment): Handle references to memory
2146 spaces better.
2147
21482013-05-16 Jason Merrill <jason@redhat.com>
2149
2150 * Make-lang.in (cc1$(exeext)): Use link mutex.
2151
21522013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2153
2154 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
2155 to simply use OPT_Wpointer_arith.
2156 (build_unary_op): Likewise.
2157
21582013-04-03 Jakub Jelinek <jakub@redhat.com>
2159
2160 PR c/19449
2161 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
2162 argument. If set, or it temporarily for parsing of the first
2163 argument into force_folding_builtin_constant_p.
2164 (c_parser_postfix_expression): Adjust callers.
2165
21662013-03-21 Richard Biener <rguenther@suse.de>
2167
2168 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
2169 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
2170
21712013-02-12 Marek Polacek <polacek@redhat.com>
2172
2173 PR c/44938
2174 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
2175 origtypes to NULL.
2176
21772013-01-24 Jakub Jelinek <jakub@redhat.com>
2178
2179 PR c/56078
2180 * c-typeck.c (set_nonincremental_init_from_string): If
2181 constructor_max_index is NULL, treat it as if tree_int_cst_lt
2182 returned false.
2183 (process_init_element): Likewise.
2184
21852012-12-20 Jakub Jelinek <jakub@redhat.com>
2186
2187 PR c++/55619
2188 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
2189 argument, don't call default_function_array_conversion
2190 nor c_fully_fold here.
2191 (c_parser_asm_statement): Adjust callers.
2192 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
2193 and outputs here, and call default_function_array_conversion
2194 on inputs that don't need to be addressable.
2195
21962012-12-18 Jakub Jelinek <jakub@redhat.com>
2197
2198 PR c/39464
2199 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
2200 warning require that both c_common_unsigned_type as well as
2201 c_common_signed_type is the same for both mvl and mvr types.
2202
22032012-11-16 Diego Novillo <dnovillo@google.com>
2204
2205 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
2206
2207 * c-common.c: Use new vec API in vec.h.
2208 * c-common.h: Likewise.
2209 * c-gimplify.c: Likewise.
2210 * c-pragma.c: Likewise.
2211 * c-pretty-print.c: Likewise.
2212 * c-pretty-print.h: Likewise.
2213 * c-semantics.c: Likewise.
2214 * c-decl.c: Likewise.
2215 * c-parser.c: Likewise.
2216 * c-tree.h: Likewise.
2217 * c-typeck.c: Likewise.
2218
22192012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2220
2221 PR c++/54930
2222 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
2223
22242012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2225
2226 PR c/53066
2227 * c-decl.c (warn_if_shadowing): Do not warn if a variable
2228 shadows a function, unless the variable is a function or a
2229 pointer-to-function.
2230
22312012-10-12 Jakub Jelinek <jakub@redhat.com>
2232
2233 PR c/54381
2234 * c-parser.c (struct c_tree_loc_pair): Removed.
2235 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
2236 add location_t * and tree * arguments, fill in array of 3
2237 sizeof_arg trees and corresponding locs.
2238 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
2239 c_parser_expr_list callers.
2240 (c_parser_postfix_expression_after_primary): Likewise. Pass
2241 array of 3 sizeof_arg trees and locs (corresponding to first
2242 3 arguments) to sizeof_pointer_memaccess_warning.
2243
22442012-10-09 Lawrence Crowl <crowl@google.com>
2245
2246 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
2247 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
2248 hash table.
2249
22502012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2251
2252 PR c++/54194
2253 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
2254 call.
2255
22562012-10-09 Marc Glisse <marc.glisse@inria.fr>
2257
2258 PR c++/54427
2259 * c-typeck.c: Include c-common.h.
2260 (enum stv_conv): Moved to c-common.h.
2261 (scalar_to_vector): Moved to c-common.c.
2262 (build_binary_op): Adapt to scalar_to_vector's new prototype.
2263 * Make-lang.in: c-typeck.c depends on c-common.h.
2264
22652012-10-04 Arnaud Charlet <charlet@adacore.com>
2266
2267 * c-decl.c (c_write_global_declarations): Fix handling of
2268 -fdump-ada-spec*.
2269
22702012-09-30 Sharad Singhai <singhai@google.com>
2271
2272 * c-decl.c (c_write_global_declarations): Use a different method
2273 to determine if the dump has ben initialized.
2274
22752012-09-14 Joseph Myers <joseph@codesourcery.com>
2276
2277 PR c/54552
2278 * c-typeck.c (c_cast_expr): When casting to a type requiring
2279 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
2280 c_fully_fold first.
2281
22822012-09-14 Joseph Myers <joseph@codesourcery.com>
2283
2284 PR c/54103
2285 * c-typeck.c (build_unary_op): Pass original argument of
2286 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
2287 any C_MAYBE_CONST_EXPR, if it has integer operands.
2288 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
2289 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
2290 to c_objc_common_truthvalue_conversion, then remove any
2291 C_MAYBE_CONST_EXPR, if they have integer operands. Use
2292 c_objc_common_truthvalue_conversion not
2293 c_common_truthvalue_conversion.
2294 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2295 call note_integer_operands for arguments with integer operands
2296 that are not integer constants.
2297
22982012-09-13 Jakub Jelinek <jakub@redhat.com>
2299
2300 PR c/54559
2301 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2302 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2303
23042012-08-31 Jakub Jelinek <jakub@redhat.com>
2305
2306 PR c/54428
2307 * c-convert.c (convert): Don't call fold_convert_loc if
2308 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
2309 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
2310 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
2311
23122012-08-24 Jakub Jelinek <jakub@redhat.com>
2313
2314 PR c/54355
2315 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
2316 for nested and empty_ok arguments in the call to
2317 c_parser_declaration_or_fndef.
2318
23192012-08-17 Jakub Jelinek <jakub@redhat.com>
2320
2321 * c-tree.h (c_last_sizeof_arg): Declare.
2322 * c-parser.c (struct c_tree_loc_pair): New type.
2323 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
2324 non-NULL.
2325 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
2326 (c_parser_postfix_expression_after_primary): Likewise. Call
2327 sizeof_pointer_memaccess_warning if needed.
2328 (sizeof_ptr_memacc_comptypes): New function.
2329 * c-typeck.c (c_last_sizeof_arg): New global variable.
2330 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
2331
23322012-07-24 Uros Bizjak <ubizjak@gmail.com>
2333
2334 * c-lang.h (lang_decl): Add variable_size GTY option.
2335
23362012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2337
2338 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
2339 * Make-lang.in: Fix dependencies.
2340
23412012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2342
2343 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
2344 and add language Makefile hooks.
2345 * config-lang.in: New file.
2346 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
2347 add the required "normal" config-lang.in rules.
2348 * c-lang.h: Moved from gcc/ to here.
2349 * c-tree.h: Likewise.
2350 * c-objc-common.c: Likewise.
2351 * c-objc-common.h: Likewise.
2352 * c-typeck.c: Likewise.
2353 * c-convert.c: Likewise.
2354 * c-lang.c: Likewise.
2355 * c-aux-info.c: Likewise.
2356 * c-errors.c: Likewise.
2357 * gccspec.c: Likewise.
2358 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
2359 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
2360\f
2361Copyright (C) 2012-2015 Free Software Foundation, Inc.
2362
2363Copying and distribution of this file, with or without modification,
2364are permitted in any medium without royalty provided the copyright
2365notice and this notice are preserved.
This page took 0.03948 seconds and 5 git commands to generate.