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