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