]> gcc.gnu.org Git - gcc.git/blame - gcc/c/ChangeLog
re PR tree-optimization/62209 (ICE with LTO on valid code on x86_64-linux-gnu)
[gcc.git] / gcc / c / ChangeLog
CommitLineData
e5d9235b
MP
12015-02-13 Marek Polacek <polacek@redhat.com>
2
3 PR c/65050
4 * c-decl.c (grokdeclarator): Print also the type when giving
5 the error message about array's incomplete element type.
6
fa01ffcc
JJ
72015-02-11 Jakub Jelinek <jakub@redhat.com>
8
9 PR c/64824
10 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
11 check in the POP macro.
12
c3e38a03
MP
132015-02-09 Marek Polacek <polacek@redhat.com>
14
15 PR c/64856
16 * c-typeck.c (process_init_element): Don't always wrap
17 COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
18 initializing a range of elements.
19
4886ec8e
JJ
202015-02-04 Jakub Jelinek <jakub@redhat.com>
21
22 PR c/64824
23 PR c/64868
24 * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
25
c3e38a03 262015-02-02 Bruno Loff <bruno.loff@gmail.com>
a4bb6959
BL
27
28 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
29 processing enum declaration.
30
7b33f0c8
MP
312015-01-29 Marek Polacek <polacek@redhat.com>
32
33 PR c/64709
34 * c-typeck.c (pop_init_level): If constructor_elements has
35 exactly one element with integer_zerop value, set constructor_zeroinit
36 to 1. Remove braces around warning_init call.
37
dea63e49
JJ
382015-01-27 Jakub Jelinek <jakub@redhat.com>
39
40 PR c/64766
41 * c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
42 of FUNCTION_DECLs with error_mark_node.
43
d38f7dce
JJ
442015-01-26 Jakub Jelinek <jakub@redhat.com>
45
46 PR c/64778
47 * c-typeck.c (convert_arguments): Return -1 if there are
48 error_args, even if we've diagnosed too many arguments.
49
cbf5d0e7
RB
502015-01-21 Richard Biener <rguenther@suse.de>
51
52 PR middle-end/64313
53 * c-decl.c (merge_decls): Call set_builtin_decl_declared_p
54 for builtins the user declared correctly.
55
41dbbb37
TS
562015-01-15 Thomas Schwinge <thomas@codesourcery.com>
57 Bernd Schmidt <bernds@codesourcery.com>
58 Cesar Philippidis <cesar@codesourcery.com>
59 James Norris <jnorris@codesourcery.com>
60 Jakub Jelinek <jakub@redhat.com>
61 Ilmir Usmanov <i.usmanov@samsung.com>
62
63 * c-parser.c: Include "gomp-constants.h".
64 (c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
65 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
66 Use OMP_CLAUSE_SET_MAP_KIND.
67 (c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
68 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
69 (c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
70 PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
71 PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
72 (c_parser_omp_clause_name): Handle "auto", "async", "copy",
73 "copyout", "create", "delete", "deviceptr", "gang", "host",
74 "num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
75 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
76 "present_or_create", "pcreate", "seq", "self", "vector",
77 "vector_length", "wait", "worker".
78 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
79 (OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
80 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
81 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
82 (c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
83 (c_parser_oacc_wait_list, c_parser_oacc_data_clause)
84 (c_parser_oacc_data_clause_deviceptr)
85 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
86 (c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
87 (c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
88 (c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
89 (c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
90 (c_parser_oacc_parallel, c_parser_oacc_update)
91 (c_parser_oacc_wait): New functions.
92 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
93 (c_finish_oacc_data): New prototypes.
94 * c-typeck.c: Include "gomp-constants.h".
95 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
96 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
97 OMP_CLAUSE_SET_MAP_KIND.
98 (c_finish_oacc_parallel, c_finish_oacc_kernels)
99 (c_finish_oacc_data): New functions.
100 (c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
101 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
102 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
103 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
104 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
105 GOMP_MAP_FORCE_DEVICEPTR.
106
adfac8df
JJ
1072015-01-09 Michael Collison <michael.collison@linaro.org>
108
109 * c-array-notation.c: Include hash-set.h, machmode.h,
110 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
111 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
112 * c-aux-info.c: Ditto.
113 * c-convert.c: Ditto.
114 * c-decl.c: Ditto.
115 * c-errors.c: Ditto.
116 * c-lang.c: Dittoxs.
117 * c-objc-common.c: Ditto.
118 * c-parser.c: Ditto.
119 * c-typeck.c: Include hash-set.h, machmode.h,
120 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
121 fold-const.h, wide-int.h, inchash.h, real.h and
122 fixed-value.h due to flattening of tree.h.
123
2cc901dc
MP
1242015-01-07 Marek Polacek <polacek@redhat.com>
125
126 PR c/64417
127 * c-typeck.c (process_init_element): Disallow initialization of
128 a flexible array member with a string constant if the structure
129 is in an array.
130
5624e564
JJ
1312015-01-05 Jakub Jelinek <jakub@redhat.com>
132
e5341100
JJ
133 PR sanitizer/64344
134 * c-typeck.c (convert_for_assignment, c_finish_return): For
135 -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
136 types also set in_late_binary_op around convert call.
137 * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
138 to integral type casts, if not in_late_binary_op, pass c_fully_fold
139 result on expr as last argument to ubsan_instrument_float_cast,
140 if in_late_binary_op, don't use c_save_expr but save_expr.
141
5624e564
JJ
142 Update copyright years.
143
5bd012f8
MP
1442015-01-05 Marek Polacek <polacek@redhat.com>
145
146 PR c/64423
147 * c-typeck.c (build_array_ref): Pass loc down to
148 warn_array_subscript_with_type_char.
149
768952be
MU
1502014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
151
152 * c-typeck.c: New behavious for pointers to arrays with qualifiers
153 (common-pointer-type): For pointers to arrays take qualifiers from
154 element type.
155 (build_conditional_expr): Add warnings for lost qualifiers.
156 (comp-target-types): Allow pointers to arrays with different qualifiers.
157 (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
158 WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
159 to PEDWARN_FOR_QUALIFIERS.
160
8f94a8c4
JJ
1612014-12-17 Jakub Jelinek <jakub@redhat.com>
162
163 PR sanitizer/64289
164 * c-convert.c: Include ubsan.h.
165 (convert): For real -> integral casts and
166 -fsanitize=float-cast-overflow don't call convert_to_integer, but
167 instead instrument the float cast directly.
168
b731b390
JJ
1692014-11-29 Jakub Jelinek <jakub@redhat.com>
170
171 * c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
172 c_finish_stmt_expr): Remove NULL last argument from
173 create_tmp_var_raw and create_tmp_var calls.
174 * c-array-notation.c (fix_builtin_array_notation_fn,
175 build_array_notation_expr, fix_conditional_array_notations_1,
176 fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
177
541e35a6
MP
1782014-11-28 Marek Polacek <polacek@redhat.com>
179
180 PR c/63862
181 * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
182 convert the right operand to integer type.
183
b286be94
MP
1842014-11-25 Marek Polacek <polacek@redhat.com>
185
186 PR c/63877
187 * c-decl.c (start_function): Disable -Wmissing-declarations warning
188 for inline functions.
189
aa7da51a
JJ
1902014-11-21 Jakub Jelinek <jakub@redhat.com>
191
192 PR target/63764
193 * c-typeck.c (build_array_ref): Adjust
194 convert_vector_to_pointer_for_subscript caller. If it returns true,
195 call non_lvalue_loc on the result.
196
d876207f
RB
1972014-11-11 Richard Biener <rguenther@suse.de>
198
199 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
200 to true.
201
e5e44252
AK
2022014-11-10 Andi Kleen <ak@linux.intel.com>
203
204 PR c/60804
205 * c-parser.c (c_parser_statement_after_labels): Call
206 check_no_cilk.
207 (c_parser_if_statement): Dito.
208 (c_parser_switch_statement): Dito.
209 (c_parser_while_statement): Dito.
210 (c_parser_do_statement): Dito.
211 (c_parser_for_statement): Dito.
212 * c-typeck.c (c_finish_loop): Dito.
213
13c21655
PC
2142014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
215
216 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
217 OPT_Wshift_count_overflow in the warnings.
218
2d51fcef
MP
2192014-10-30 Marek Polacek <polacek@redhat.com>
220
221 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
222 print the stripped version as well, if they're not the same.
223
ef4bddc2
RS
2242014-10-29 Richard Sandiford <richard.sandiford@arm.com>
225
226 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
227 machine_mode.
228
c582198b
AM
2292014-10-28 Andrew MacLeod <amacleod@redhat.com>
230
231 * c-decl.c: Adjust include files.
232 * c-parser.c: Ditto.
233
ddc8de03
PM
2342014-10-27 Phil Muldoon <pmuldoon@redhat.com>
235 Tom Tromey <tromey@redhat.com>
236
237 * c-tree.h (enum c_oracle_request): New.
238 (c_binding_oracle_function): New typedef.
239 (c_binding_oracle, c_pushtag, c_bind): Declare.
240 * c-decl.c (c_binding_oracle): New global.
241 (I_SYMBOL_CHECKED): New macro.
242 (i_symbol_binding): New function.
243 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
244 (I_TAG_CHECKED): New macro.
245 (i_tag_binding): New function.
246 (I_TAG_BINDING, I_TAG_DECL): Redefine.
247 (I_LABEL_CHECKED): New macro.
248 (i_label_binding): New function.
249 (I_LABEL_BINDING, I_LABEL_DECL): Redefine.
250 (c_print_identifier): Save and restore c_binding_oracle.
251 (c_pushtag, c_bind): New functions.
252
60393bbc
AM
2532014-10-27 Andrew MacLeod <amacleod@redhat.com>
254
255 * c-typeck.c: Adjust include files.
256
d723bb7c
MLI
2572014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
258
259 PR c++/53061
260 * c-objc-common.c (c_objc_common_init): Do not do diagnostics
261 initialization here...
262 (c_initialize_diagnostics): ... but here. Set defaults after
263 building pretty-printer.
264
1bc5a451
MP
2652014-10-23 Marek Polacek <polacek@redhat.com>
266
267 PR c/63626
268 * c-decl.c (pop_scope): Don't print warning in external_scope.
269
4435bb92
MP
2702014-10-19 Marek Polacek <polacek@redhat.com>
271
272 PR c/63567
273 * c-typeck.c (output_init_element): Allow initializing objects with
274 static storage duration with compound literals even in C99 and add
275 pedwarn for it.
276
7278465e
MP
2772014-10-17 Marek Polacek <polacek@redhat.com>
278
279 PR c/63567
280 * c-typeck.c (digest_init): Allow initializing objects with static
281 storage duration with compound literals even in C99 and add pedwarn
282 for it.
283
d9b7be2e
MP
2842014-10-17 Marek Polacek <polacek@redhat.com>
285
286 PR c/63543
287 * c-tree.h (C_TYPE_ERROR_REPORTED): Define.
288 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
289 error multiple times. Print the type.
290
f406ae1f
MP
2912014-10-17 Marek Polacek <polacek@redhat.com>
292
293 PR c/63549
294 * c-typeck.c (build_array_ref): Bail if the index in an incomplete
295 type.
296
92574c7c
MP
2972014-10-17 Marek Polacek <polacek@redhat.com>
298
299 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
300 (start_function): Use OPT_Wimplicit_int instead of 0.
301 (store_parm_decls_oldstyle): Likewise.
302
1bc4a978
MT
3032014-10-17 Alan Modra <amodra@gmail.com>
304
305 PR middle-end/61848
306 * c-decl.c (merge_decls): Don't merge section name or tls model
307 to newdecl symtab node, instead merge to olddecl. Override
308 existing olddecl section name. Set tls_model for all thread-local
309 vars, not just OMP thread-private ones. Remove incorrect comment.
310
83685514
AM
3112014-10-16 Andrew MacLeod <amacleod@redhat.com>
312
313 * c-decl.c: Adjust include files.
314
78a7c317
DD
3152014-10-14 DJ Delorie <dj@redhat.com>
316
317 * c-parser.c (c_parse_init): Add RID entries for each __intN.
318 (c_token_starts_typename): Check all __intN, not just __int128.
319 (c_token_starts_declspecs): Likewise.
320 (c_parser_declspecs): Likewise.
321 (c_parser_attribute_any_word): Likewise.
322 (c_parser_objc_selector): Likewise.
323 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
324 (struct c_declspecs): Add int_n_idx field to record *which* __intN
325 is specified.
326 * c-decl.c (declspecs_add_type): Check for all __intN, not just
327 __int128.
328 (finish_declspecs): Likewise.
329
74d98c1e
AB
3302014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
331
332 * c-parser.c (c_parser_all_labels): New function to replace
333 the duplicate code.
334 (c_parser_statement): Call the new function.
335
84937de2
MP
3362014-10-09 Marek Polacek <polacek@redhat.com>
337
338 PR c/63480
339 * c-typeck.c (pop_init_level): Don't warn about initializing
340 with { }.
341
0382aaa0
MP
3422014-10-07 Marek Polacek <polacek@redhat.com>
343
344 PR c/59717
345 * c-decl.c (header_for_builtin_fn): New function.
346 (implicitly_declare): Suggest which header to include.
347
7a0ca710
MP
3482014-10-07 Marek Polacek <polacek@redhat.com>
349
350 * c-convert.c (convert): Use error_operand_p.
351 * c-typeck.c (require_complete_type): Likewise.
352 (really_atomic_lvalue): Likewise.
353 (digest_init): Likewise.
354 (handle_omp_array_sections_1): Likewise.
355
6bc8a126
MP
3562014-10-03 Marek Polacek <polacek@redhat.com>
357
358 PR c/63453
359 * c-decl.c (pop_scope): Don't warn about "inline function declared
360 but never defined" for functions marked with gnu_inline attribute.
361
d90c0a59
JJ
3622014-09-25 Jakub Jelinek <jakub@redhat.com>
363
364 PR c++/63249
365 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
366 on low_bound and length.
367
083e891e
MP
3682014-09-24 Marek Polacek <polacek@redhat.com>
369
370 PR c/61405
371 PR c/53874
372 * c-parser.c: Don't define CPP_KEYWORD.
373 (c_parser_switch_statement): Pass original type to c_finish_case.
374 * c-tree.h (c_finish_case): Update declaration.
375 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
376 conditionally to c_do_switch_warnings.
377
8d95fe25
MP
3782014-09-03 Marek Polacek <polacek@redhat.com>
379
380 PR c/62024
381 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
382 conversions.
383
9a771876
JJ
3842014-09-02 Jakub Jelinek <jakub@redhat.com>
385 Balaji V. Iyer <balaji.v.iyer@intel.com>
386 Igor Zamyatin <igor.zamyatin@intel.com>
387
388 * c-parser.c (c_parser_cilk_for): New function.
389 (c_parser_cilk_grainsize): Likewise.
390 (c_get_temp_regvar): Likewise.
391 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
392 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
393 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
394 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
395 case.
396
b7679d96
CG
3972014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
398
399 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
400 with using HOST_WIDE_INT without truncation to 'int'
401
59ea0364
MP
4022014-08-22 Marek Polacek <polacek@redhat.com>
403
404 PR c++/62199
405 * c-typeck.c (parser_build_binary_op): Adjust call to
406 warn_logical_not_parentheses.
407
671a475e
IZ
4082014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
409
410 PR other/62008
411 * c-parser.c (c_parser_array_notation): Check for correct
412 type of an array added.
413
04159acf
MP
4142014-08-19 Marek Polacek <polacek@redhat.com>
415
416 PR c++/62153
417 * c-typeck.c (build_binary_op): If either operand of a comparison
418 is a boolean expression, call maybe_warn_bool_compare.
419
c77935ee
PP
4202014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
421
422 PR c/45584
423 * c-typeck.c (build_c_cast): Do a conversion even when the
424 TYPE_MAIN_VARIANTs are the same.
425
35aff4fb
MP
4262014-08-19 Marek Polacek <polacek@redhat.com>
427
428 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
429 pedwarn_c99 instead of pedwarn.
430 (grokfield): Likewise.
431 (warn_defaults_to): New function.
432 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
433 Unconditionally call pedwarn_c99 instead of pedwarn.
434 (start_function): Call warn_defaults_to instead of pedwarn_c99.
435 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
436 check flag_isoc11 before.
437 * c-errors.c (pedwarn_c99): Change the return type to bool.
438 Handle -Wc99-c11-compat.
439 * c-parser.c (disable_extension_diagnostics): Handle
440 warn_c99_c11_compat.
441 (restore_extension_diagnostics): Likewise.
442 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
443 instead of pedwarn, don't check flag_isoc11 before.
444 (c_parser_declspecs): Likewise.
445 (c_parser_alignas_specifier): Likewise.
446 (c_parser_alignof_expression): Likewise.
447 (c_parser_generic_selection): Likewise.
448 * c-tree.h (pedwarn_c99): Update declaration.
449 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
450 of pedwarn_c99.
451
177cce46
MP
4522014-08-19 Marek Polacek <polacek@redhat.com>
453
454 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
455 to pedwarn_c90.
456 * c-errors.c: Include "opts.h".
457 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
458 * c-parser.c (disable_extension_diagnostics): Handle negative value
459 of warn_c90_c99_compat, too.
460 (restore_extension_diagnostics): Likewise.
461 (c_parser_compound_statement_nostart): Pass
462 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
463
6dc99c33
MP
4642014-08-12 Marek Polacek <polacek@redhat.com>
465
466 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
467 Add pedwarn.
468 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
469 Likewise.
470 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
471
f3bede71
MP
4722014-08-10 Marek Polacek <polacek@redhat.com>
473
474 PR c/51849
475 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
476 Call pedwarn_c90 instead of pedwarn.
477 (check_bitfield_type_and_width): Likewise.
478 (declspecs_add_qual): Likewise.
479 (declspecs_add_type): Likewise.
480 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
481 Adjust to only call pedwarn_c90.
482 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
483 pedwarn_c90 instead of pedwarn.
484 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
485 * c-parser.c (disable_extension_diagnostics): Handle
486 warn_c90_c99_compat.
487 (restore_extension_diagnostics): Likewise.
488 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
489 pedwarn_c90 instead of pedwarn.
490 (c_parser_initelt): Likewise.
491 (c_parser_postfix_expression): Likewise.
492 (c_parser_postfix_expression_after_paren_type): Likewise.
493 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
494 * c-tree.h: Fix formatting.
495 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
496 pedwarn_c90 instead of pedwarn.
497
9f25a338
TS
4982014-08-07 Trevor Saunders <tsaunders@mozilla.com>
499
500 * c-typeck.c: Remove include of pointer-set.h.
501
044331a8
MP
5022014-08-07 Marek Polacek <polacek@redhat.com>
503
504 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
505
b787e7a2
TS
5062014-08-02 Trevor Saunders <tsaunders@mozilla.com>
507
508 * c-typeck.c: Use hash_map instead of pointer_map.
509
6e2830c3
TS
5102014-08-02 Trevor Saunders <tsaunders@mozilla.com>
511
512 * c-decl.c: Use hash_set instead of pointer_set.
513
a7ee52fb
IZ
5142014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
515
516 PR middle-end/61455
517 * c-array-notation.c (expand_array_notations): Handling
518 of DECL_EXPR added.
519
b4dfdc11
MG
5202014-07-31 Marc Glisse <marc.glisse@inria.fr>
521
522 PR c++/60517
523 * c-typeck.c (c_finish_return): Return 0 instead of the address of
524 a local variable.
525
976d5a22
TT
5262014-07-30 Tom Tromey <tromey@redhat.com>
527
528 * c-typeck.c (struct constructor_stack) <designator_depth>: New
529 field.
530 (really_start_incremental_init, push_init_level): Initialize
531 designator_depth.
532 (pop_init_level): Set global designator_depth.
533 (process_init_element): Check for designated_init attribute.
534
30281de2
MP
5352014-07-20 Marek Polacek <polacek@redhat.com>
536
537 PR c/61852
538 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
539 (implicitly_declare): Pass location to implicit_decl_warning.
540
b108f48f
JJ
5412014-07-14 Jakub Jelinek <jakub@redhat.com>
542
543 PR middle-end/61294
544 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
545 If non-NULL, call c_parser_check_literal_zero.
546 (c_parser_check_literal_zero): New function.
547 (c_parser_postfix_expression_after_primary): Adjust
548 c_parser_expr_list caller, handle -Wmemset-transposed-args.
549
773ec47f
MP
5502014-07-06 Marek Polacek <polacek@redhat.com>
551
552 PR c/6940
553 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
554 * c-tree.h (C_ARRAY_PARAMETER): Define.
555 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
556 function parameter.
557
22e1cf1c
JH
5582014-07-02 Jan Hubicka <hubicka@ucw.cz>
559 Chen Gang <gang.chen.5i5j@gmail.com>
560
561 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
562 releasing symbol.
563
52ec0ea3
MP
5642014-07-01 Marek Polacek <polacek@redhat.com>
565
566 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
567 instead of 0 to WARN_FOR_ASSIGNMENT.
568
d5c3d343
MP
5692014-07-01 Marek Polacek <polacek@redhat.com>
570
571 PR c/58286
572 * c-typeck.c (convert_for_assignment): Pass
573 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
574
6a7253a4
MP
5752014-06-30 Marek Polacek <polacek@redhat.com>
576
577 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
578 has no_sanitize_undefined attribute.
579
5e88a8f4
IZ
5802014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
581
582 PR middle-end/57541
583 * c-array-notation.c (fix_builtin_array_notation_fn):
584 Check for 0 arguments in builtin call. Check that bultin argument is
585 correct.
586 * c-parser.c (c_parser_array_notation): Check for incorrect initial
587 index.
588
9698b078
SH
5892014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
590
591 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
592 qualifiers in __auto_type for atomic types.
593 (c_parser_typeof_specifier): Discard all type qualifiers in
594 __typeof__ for atomic types.
595
6e07c515
MP
5962014-06-25 Marek Polacek <polacek@redhat.com>
597
598 PR c/61162
599 * c-parser.c (c_parser_statement_after_labels): Pass the location of
600 the return expression to c_finish_return.
601
da6f124d
JJ
6022014-06-25 Jakub Jelinek <jakub@redhat.com>
603
604 * c-typeck.c (c_finish_omp_clauses): Make sure
605 OMP_CLAUSE_LINEAR_STEP has correct type.
606
c203e8a7
TS
6072014-06-24 Trevor Saunders <tsaunders@mozilla.com>
608
609 * c-decl.c: Adjust.
610
56ad0e38
JJ
6112014-06-24 Jakub Jelinek <jakub@redhat.com>
612
613 * c-parser.c (c_parser_omp_for_loop): For
614 #pragma omp parallel for simd move lastprivate clause from parallel
615 to for rather than simd.
616
47c2554f
MP
6172014-06-23 Marek Polacek <polacek@redhat.com>
618
619 * c-typeck.c (parser_build_binary_op): Don't call
620 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
621
56363ffd
JH
6222014-06-15 Jan Hubicka <hubicka@ucw.cz>
623
624 * c-parser.c (c_parser_omp_threadprivate): Likewise.
625 * c-decl.c (merge_decls): Likewise.
626
d7ff7ae5
MP
6272014-06-09 Marek Polacek <polacek@redhat.com>
628
629 PR c/36446
630 * c-typeck.c (error_init): Call inform instead of error_at.
631 (pedwarn_init): Call inform instead of pedwarn.
632 (warning_init): Call inform instead of warning_at.
633
24d047a3
JH
6342014-06-07 Jan Hubicka <hubicka@ucw.cz>
635
636 * c-decl.c (merge_decls): Use set_decl_section_name.
637 (duplicate_decls): Remove node if it exists.
638
9bac5cbb
G
6392014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
640
641 PR c/53119
642 * c-typeck.c (push_init_level, process_init_element,
643 pop_init_level): Correct check for zero initialization, move
644 missing brace warning to respect zero initialization.
645
8ffcdea8
MP
6462014-06-05 Marek Polacek <polacek@redhat.com>
647
648 PR c/56724
649 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
650
742938c9
MP
6512014-06-05 Marek Polacek <polacek@redhat.com>
652
653 PR c/49706
654 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
655 on the left hand side operand of a comparison.
656
6447c55d
MP
6572014-06-05 Marek Polacek <polacek@redhat.com>
658
659 PR c/48062
660 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
661 Print note only if the warning was printed.
662
9dc7743c
IZ
6632014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
664
665 PR c/58942
666 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
667 with a pointer.
668
fedfecef
MP
6692014-06-03 Marek Polacek <polacek@redhat.com>
670
671 PR c/60439
672 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
673 c_start_case.
674 * c-tree.h (c_start_case): Update.
675 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
676 switch condition has boolean value.
677
9b2b7279
AM
6782014-06-02 Andrew MacLeod <amacleod@redhat.com>
679
680 * c-decl.c: Include builtins.h.
681 * c-parser.c: Likewise.
682
5c1bc275
MP
6832014-05-27 Marek Polacek <polacek@redhat.com>
684
685 PR c/56724
686 * c-typeck.c (convert_arguments): Get location of a parameter. Change
687 error and warning calls to error_at and warning_at. Pass location of
688 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
689 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
690 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
691
97563bc8
IZ
6922014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
693
694 PR c/61191
695 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
696 function parameters.
697
aede2c10
JH
6982014-05-23 Jan Hubicka <hubicka@ucw.cz>
699
700 * c-decl.c (merge_decls): Preserve symtab node pointers.
701 (duplicate_decls): Free new decl.
702
edbba2ce
TS
7032014-05-23 Thomas Schwinge <thomas@codesourcery.com>
704
f3316c6d
TS
705 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
706 initialization.
707
edbba2ce
TS
708 * c-parser.c (c_parser_omp_target): Return bool values.
709
68c81f24
TS
7102014-05-22 Thomas Schwinge <thomas@codesourcery.com>
711
712 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
713 num_teams_loc variable to num_thread_limit_loc.
714
632f2871
RS
7152014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
716
717 * c-array-notation.c (expand_array_notations): Use void_node
718 instead of void_zero_node.
719
766090c2
TS
7202014-05-17 Trevor Saunders <tsaunders@mozilla.com>
721
722 * c-decl.c (finish_struct): Adjust.
723 (finish_enum): Likewise.
724 (bind): Adjust.
725 (record_inline_static): Likewise.
726 (push_scope): Likewise.
727 (make_label): Likewise.
728 (lookup_label_for_goto): Likewise.
729 (finish_struct): Likewise.
730 (finish_enum): Likewise.
731 (store_parm_decls): Likewise.
732 (c_push_function_context): Likewise.
733 * c-lang.h: Remove usage of variable_size gty attribute.
734 * c-parser.c (c_parse_init): Adjust.
735 (c_parse_file): Likewise.
736
2b107f6b
MP
7372014-05-13 Marek Polacek <polacek@redhat.com>
738
739 PR c/61162
740 * c-typeck.c (convert_for_assignment): Pass location to
741 WARN_FOR_ASSIGNMENT instead of input_location.
742
d033409e
MP
7432014-05-10 Marek Polacek <polacek@redhat.com>
744
745 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
746 maybe_warn_string_init.
747 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
748 maybe_warn_string_init.
749 * c-tree.h (maybe_warn_string_init): Update declaration.
750 * c-typeck.c (maybe_warn_string_init): Add location parameter.
751 Call pedwarn_init with loc instead of with input_location.
752 (digest_init): Pass init_loc to maybe_warn_string_init.
753 (pop_init_level): Call pedwarn_init with loc instead of with
754 input_location.
755 (set_init_index): Likewise.
756 (process_init_element): Likewise.
757
ea58ef42
MP
7582014-05-09 Marek Polacek <polacek@redhat.com>
759
760 PR c/61096
761 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
762 (c_parser_initelt): Pass location to set_init_label. Pass array index
763 location to set_init_index.
764 * c-tree.h (push_init_level): Update declaration.
765 (pop_init_level): Likewise.
766 (set_init_index): Likewise.
767 (set_init_label): Likewise.
768 * c-typeck.c (error_init): Add location parameter. Call error_at
769 instead of error.
770 (digest_init): Pass init_loc to error_init.
771 (really_start_incremental_init):
772 (push_init_level): Add location parameter. Pass loc to pop_init_level
773 and error_init.
774 (pop_init_level): Likewise.
775 (set_designator): Add location parameter. Pass loc to pop_init_level,
776 push_init_level, and error_init.
777 (set_init_index): Add location parameter. Pass loc to error_init and
778 set_designator.
779 (set_init_label): Likewise.
780 (output_init_element): Pass loc to error_init.
781 (process_init_element): Pass loc to error_init, pop_init_level,
782 pedwarn_init, and push_init_level.
783
661a0813
MP
7842014-05-09 Marek Polacek <polacek@redhat.com>
785
786 PR c/50459
787 * c-parser.c (c_parser_attributes): Parse the arguments as an
788 expression-list if the attribute takes identifier.
789
2793eeab
MP
7902014-05-08 Marek Polacek <polacek@redhat.com>
791
792 PR c/61053
793 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
794 TYPE_ALIGN_UNIT.
795
f827930a
MP
7962014-05-08 Marek Polacek <polacek@redhat.com>
797
798 PR c/61077
799 * c-decl.c (start_function): Warn for _Atomic-qualified return type
800 of main.
801
1d60af08
KZ
8022014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
803 Mike Stump <mikestump@comcast.net>
804 Richard Sandiford <rdsandiford@googlemail.com>
805
806 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
807 (finish_enum): Use wide-int interfaces.
808 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
809 * c-typeck.c (build_c_cast): Likewise.
810 (set_nonincremental_init_from_string): Likewise.
811 (c_tree_equal): Likewise.
812
a0e24419
MP
8132014-05-02 Marek Polacek <polacek@redhat.com>
814
815 PR c/25801
816 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
817 Return size_one_node when the type is not complete.
818 (pointer_diff): Remove comment.
819 (build_unary_op): Improve error messages.
820
19fc9faa
MP
8212014-05-02 Marek Polacek <polacek@redhat.com>
822
823 * c-typeck.c (c_finish_return): Separate warning_at calls.
824
63bc4e87
MP
8252014-05-02 Marek Polacek <polacek@redhat.com>
826
827 * c-tree.h (error_init): Remove declaration.
828 (pedwarn_init): Likewise.
829 * c-typeck.c (error_init): Make static and move above.
830 (pedwarn_init): Likewise.
831 (warning_init): Move above.
832 (maybe_warn_string_init): Likewise.
833
4bd2511b
JL
8342014-05-01 Jeff Law <law@redhat.com>
835
836 Revert:
837
838 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
839 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
840 avoid goto.
841
6a358dcb
MP
8422014-05-02 Marek Polacek <polacek@redhat.com>
843
844 PR c/60784
845 * c-typeck.c (push_init_level): Set constructor_designated to
846 p->designated for structures.
847
ae5ebda4
MP
8482014-05-01 Marek Polacek <polacek@redhat.com>
849
850 PR c/60915
851 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
852 function-definition has an attribute after the declarator.
853
96b40f8d
MP
8542014-05-01 Marek Polacek <polacek@redhat.com>
855
856 PR c/60257
857 * c-typeck.c (warning_init): Add location_t parameter. Call
858 warning_at instead of warning.
859 (push_init_level): Pass input_location to warning_init.
860 (add_pending_init): Add location_t parameter. Pass loc to
861 warning_init.
862 (set_nonincremental_init): Pass input_location to add_pending_init.
863 (set_nonincremental_init_from_string): Likewise.
864 (output_init_element): Pass loc to warning_init and to
865 add_pending_init.
866
32e00768
MP
8672014-05-01 Marek Polacek <polacek@redhat.com>
868
869 PR c/43395
870 * c-typeck.c (c_finish_return): Distinguish between label and variable
871 when warning about returning local address.
872
c9379ce2
MP
8732014-05-01 Marek Polacek <polacek@redhat.com>
874
875 PR c/29467
876 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
877 in C89 mode.
878
d00887e8
MP
8792014-05-01 Marek Polacek <polacek@redhat.com>
880
881 PR c/43245
882 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
883 instead of 0 to WARN_FOR_QUALIFIERS.
884
5436fa2e
MP
8852014-05-01 Marek Polacek <polacek@redhat.com>
886
887 PR c/56989
888 * c-typeck.c (default_conversion): Use better location for
889 error call.
890
f8ed5150
MP
8912014-04-30 Marek Polacek <polacek@redhat.com>
892
893 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
894 also when SANITIZE_FLOAT_DIVIDE is on.
895
8337d1db
MP
8962014-04-30 Marek Polacek <polacek@redhat.com>
897
898 PR c/60139
899 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
900 and pedwarn_init. Use loc insted of input_location.
901
c4bdc42f
MP
9022014-04-30 Marek Polacek <polacek@redhat.com>
903
904 PR c/60351
905 * c-typeck.c (build_binary_op): Use location when warning about
906 shift count.
907
45484dcf
MP
9082014-04-25 Marek Polacek <polacek@redhat.com>
909
910 PR c/18079
911 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
912 always_inline/noinline and hot/cold attributes.
913
34cf811f
MP
9142014-04-25 Marek Polacek <polacek@redhat.com>
915
916 PR c/60114
917 * c-parser.c (c_parser_initelt): Pass input_location to
918 process_init_element.
919 (c_parser_initval): Pass loc to process_init_element.
920 * c-tree.h (process_init_element): Adjust declaration.
921 * c-typeck.c (push_init_level): Pass input_location to
922 process_init_element.
923 (pop_init_level): Likewise.
924 (set_designator): Likewise.
925 (output_init_element): Add location_t parameter. Pass loc to
926 digest_init.
927 (output_pending_init_elements): Pass input_location to
928 output_init_element.
929 (process_init_element): Add location_t parameter. Pass loc to
930 output_init_element.
931
42056eac
JJ
9322014-04-24 Jakub Jelinek <jakub@redhat.com>
933
934 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
935 atomic-clause, allow comma in between atomic-clause and
936 seq_cst.
937
e162a134
JJ
9382014-04-22 Jakub Jelinek <jakub@redhat.com>
939
940 PR c/59073
941 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
942 fails, don't set OM_PARALLEL_COMBINED and return NULL.
943
2f6babac
IZ
9442014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
945
946 PR middle-end/60469
947 * c-array-notation.c (fix_builtin_array_notation_fn): Use
948 create_tmp_var instead build_decl for creating temps.
949 (build_array_notation_expr): Likewise.
950 (fix_conditional_array_notations_1): Likewise.
951 (fix_array_notation_expr): Likewise.
952 (fix_array_notation_call_expr): Likewise.
953
8edbfaa6
JJ
9542014-03-28 Jakub Jelinek <jakub@redhat.com>
955
956 PR c++/60689
957 * c-tree.h (c_build_function_call_vec): New prototype.
958 * c-typeck.c (build_function_call_vec): Don't call
959 resolve_overloaded_builtin here.
960 (c_build_function_call_vec): New wrapper function around
961 build_function_call_vec. Call resolve_overloaded_builtin here.
962 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
963 Call c_build_function_call_vec instead of build_function_call_vec.
964 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
965 * c-decl.c (finish_decl): Likewise.
966
7485aeea
MLI
9672014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
968
969 PR c/55383
970 * c-typeck.c: Use correct format string in cast-qual warning
971
b17a8b07
TS
9722014-03-07 Thomas Schwinge <thomas@codesourcery.com>
973
974 * c-decl.c (c_decl_attributes): Use
975 lang_hooks.types.omp_mappable_type.
976 * c-typeck.c (c_finish_omp_clauses): Likewise.
977
3af9c5e9
MP
9782014-03-06 Marek Polacek <polacek@redhat.com>
979
980 PR c/60197
981 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
982 of checking tree code.
983
1c9f5f33
PK
9842014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
985
986 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
987 (c_parser_parameter_declaration): Likewise.
988
cc28fc7f
MP
9892014-02-19 Marek Polacek <polacek@redhat.com>
990
991 PR c/60195
992 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
993 Call mark_exp_read on exp.value.
994 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
995 TREE_ADDRESSABLE on old instead of val.
996 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
997
b581c05c
PK
9982014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
999
1000 * c-parser.c (c_parser_get_builtin_args): Replace calls to
1001 C_EXPR_APPEND by vec_safe_push.
1002 * c-tree.h (C_EXPR_APPEND): Remove.
1003
81e5eca8
MP
10042014-01-31 Marek Polacek <polacek@redhat.com>
1005
1006 PR c/59963
1007 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
1008 build_function_call_vec.
1009 (build_function_call): Likewise.
1010 (build_atomic_assign): Likewise.
1011 (build_function_call_vec): Add arg_loc parameter. Use it.
1012 (convert_arguments): Likewise.
1013 (convert_for_assignment): Rename rhs_loc to expr_loc.
1014 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
1015 (c_parser_objc_keywordexpr): Likewise.
1016 (c_parser_postfix_expression_after_primary): Call
1017 build_function_call_vec with expr_loc rather than op_loc.
1018 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
1019 build_function_call_vec.
1020 (c_parser_expr_list): Add locations parameter. Fill it with locations
1021 of function arguments.
1022 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
1023
68fca595
MP
10242014-01-30 Marek Polacek <polacek@redhat.com>
1025
1026 PR c/59940
1027 * c-typeck.c (build_function_call_vec): Use loc parameter.
1028 (convert_arguments): Add location parameter. Use it.
1029 (ep_convert_and_check): Likewise.
1030 (build_atomic_assign): Adjust convert_for_assignment call.
1031 (build_modify_expr): Likewise.
1032 (digest_init): Likewise.
1033 (c_finish_return): Likewise.
1034 (build_conditional_expr): Adjust ep_convert_and_check calls.
1035 (convert_for_assignment): Add rhs_loc parameter. Use it.
1036 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
1037 calls.
1038
fa337f3a
RB
10392014-01-30 Richard Biener <rguenther@suse.de>
1040
1041 PR c/59905
1042 * c-typeck.c (build_function_call_vec): Do not replace calls
1043 to a function via an incompatible type with a runtime abort.
1044
b72271b9
BI
10452014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1046
1047 * c-parser.c (c_parser_declaration_or_fndef): Replaced
1048 flag_enable_cilkplus with flag_cilkplus.
1049 (c_parser_direct_declarator_inner): Likewise.
1050 (c_parser_attribute_any_word): Likewise.
1051 (c_parser_attributes): Likewise.
1052 (c_parser_compound_statement): Likewise.
1053 (c_parser_statement_after_labels): Likewise.
1054 (c_parser_if_statement): Likewise.
1055 (c_parser_switch_statement): Likewise.
1056 (c_parser_do_statement): Likewise.
1057 (c_parser_for_statement): Likewise.
1058 (c_parser_unary_expression): Likewise.
1059 (c_parser_postfix_expression): Likewise.
1060 (c_parser_postfix_expression_after_primary): Likewise.
1061 (c_parser_postfix_expression_after_primary): Likewise.
1062 (c_parser_omp_clause_name): Likewise.
1063 (c_finish_omp_declare_simd): Likewise.
1064 (c_parser_cilk_verify_simd): Likewise.
1065 * c-typeck.c (build_array_ref): Likewise.
1066 (build_function_call_vec): Likewise.
1067 (convert_arguments): Likewise.
1068 (build_compound_expr): Likewise.
1069 (c_finish_return): Likewise.
1070 (c_finish_if_stmt): Likewise.
1071 (c_finish_loop): Likewise.
1072 (build_binary_op): Likewise.
1073
393e8e8b
MP
10742014-01-23 Marek Polacek <polacek@redhat.com>
1075
1076 PR c/59846
1077 * c-typeck.c (parser_build_binary_op): Use location instead of
1078 input_location.
1079 (build_binary_op): Pass location to shorten_compare.
1080
f04dda30
MP
10812014-01-23 Marek Polacek <polacek@redhat.com>
1082
1083 PR c/58346
1084 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
1085 an empty aggregate.
1086
789eadcd
MP
10872014-01-23 Marek Polacek <polacek@redhat.com>
1088
1089 PR c/59871
1090 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
1091 of a comma expression.
1092 (emit_side_effect_warnings): Likewise.
1093
40f14e9f
BI
10942014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1095
1096 PR c/59825
1097 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
1098 function to use walk_tree and moved a lot of its functionality to
1099 expand_array_notations.
1100 (expand_array_notations): New function.
1101
74558dd9
BI
11022014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1103
1104 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
1105 attribute an attribute without value.
1106
652fea39
JJ
11072014-01-23 Jakub Jelinek <jakub@redhat.com>
1108
1109 PR middle-end/58809
1110 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
1111 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
1112
f34f1c87
MP
11132014-01-22 Marek Polacek <polacek@redhat.com>
1114
1115 PR c/59891
1116 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
1117 of remove_c_maybe_const_expr on op1 and op2.
1118
241f845a
JJ
11192014-01-15 Jakub Jelinek <jakub@redhat.com>
1120
1121 PR c/58943
1122 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
1123 effects, preevaluate rhs using SAVE_EXPR first.
1124
9a74f20c
BI
11252014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
1126
1127 PR c++/59631
1128 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
1129 statements with if-elseif statements.
1130
96066ce1
MP
11312014-01-06 Marek Polacek <polacek@redhat.com>
1132
1133 PR c/57773
1134 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
1135 defined bit-field types only in ISO C.
1136
23a5b65a
RS
11372014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1138
1139 Update copyright years
1140
f9030485
RS
11412014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1142
1143 * c-array-notation.c: Use the standard form for the copyright notice.
1144
41958c28
BI
11452013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1146
1147 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
1148 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
1149 field in parser is not empty. If not-empty, call the function
1150 c_parser_finish_omp_declare_simd.
1151 (c_parser_cilk_clause_vectorlength): Modified function to be shared
1152 between SIMD-enabled functions and #pragma simd. Added new parameter.
1153 (c_parser_cilk_all_clauses): Modified the usage of the function
1154 c_parser_cilk_clause_vectorlength as mentioned above.
1155 (c_parser_cilk_simd_fn_vector_attrs): New function.
1156 (c_finish_cilk_simd_fn_tokens): Likewise.
1157 (is_cilkplus_vector_p): Likewise.
1158 (c_parser_omp_clause_name): Added checking for "vectorlength,"
1159 "nomask," and "mask" strings in clause name.
1160 (c_parser_omp_all_clauses): Added 3 new case statements:
1161 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
1162 PRAGMA_CILK_CLAUSE_NOMASK.
1163 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
1164 check for vector attribute and if so call the function
1165 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
1166 called the function c_finish_cilk_simd_fn_tokens.
1167 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
1168 parser field is non-empty. If so, parse them as you would parse
1169 the omp declare simd pragma.
1170 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
1171 Added a check when step is a parameter and flag it as error.
1172 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
1173 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
1174 pragma_omp_clause.
1175
cef0fd0e
TS
11762013-12-17 Thomas Schwinge <thomas@codesourcery.com>
1177
1178 * c-parser.c (c_parser_omp_parallel): Fix description.
1179
12893402
BI
11802013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1181
1182 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
1183 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1184 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
1185 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
1186
296674db
JM
11872013-12-04 Joseph Myers <joseph@codesourcery.com>
1188
1189 PR c/52023
1190 * c-parser.c (c_parser_alignas_specifier): Use
1191 c_sizeof_or_alignof_type instead of c_alignof.
1192 (c_parser_alignof_expression): Likewise, with min_alignof
1193 parameter depending on alignof spelling used.
1194
edd28054
MP
11952013-12-04 Marek Polacek <polacek@redhat.com>
1196
1197 PR c/54113
1198 * c-decl.c (start_function): Don't warn for missing prototype for
1199 inline functions.
1200
da0fc454
MP
12012013-12-03 Marek Polacek <polacek@redhat.com>
1202
1203 PR c/59351
1204 * c-decl.c (build_compound_literal): Allow compound literals with
1205 empty initial value.
1206
4c2ecab0
JM
12072013-12-02 Joseph Myers <joseph@codesourcery.com>
1208
1209 PR c/58235
1210 * c-typeck.c (build_modify_expr): Diagnose assignment to
1211 expression with array type.
1212
340baef7
JM
12132013-11-29 Joseph Myers <joseph@codesourcery.com>
1214
1215 PR c/42262
1216 * c-typeck.c (process_init_element): Do not treat a string as
1217 initializing a whole array when used with a designator for an
1218 individual element.
1219
6763b9f7
JM
12202013-11-29 Joseph Myers <joseph@codesourcery.com>
1221
1222 PR c/57574
1223 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
1224 an inline function following a static declaration.
1225
e7bd1de1
JJ
12262013-11-28 Jakub Jelinek <jakub@redhat.com>
1227
1228 PR c/59310
1229 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
1230 to p_name before calling c_parser_omp_teams instead of after.
1231 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
1232 argument. Remove unused p_name variable.
1233
0136f8f0
AH
12342013-11-27 Aldy Hernandez <aldyh@redhat.com>
1235 Jakub Jelinek <jakub@redhat.com>
1236
1237 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
1238 external_scope is NULL.
1239
241b71bb
TV
12402013-11-27 Tom de Vries <tom@codesourcery.com>
1241 Marc Glisse <marc.glisse@inria.fr>
1242
1243 PR c++/59032
1244 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
1245
2fb9a547
AM
12462013-11-22 Andrew MacLeod <amacleod@redhat.com>
1247
1248 * c-typeck.c: Add required include files from gimple.h.
1249
8400e75e
DM
12502013-11-22 David Malcolm <dmalcolm@redhat.com>
1251
1252 * c-decl.c (define_label, shadow_tag_warned)
1253 (check_bitfield_type_and_width, grokdeclarator, grokparms,
1254 store_parm_decls_newstyle, store_parm_decls_oldstyle)
1255 (declspecs_add_type): Remove use of in_system_header macro.
1256 * c-parser.c (c_parser_unary_expression): Likewise.
1257 * c-typeck.c (store_init_value, process_init_element)
1258 (c_start_case): Likewise.
1259
1260 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
1261 macro.
1262
1263 * c-parser.c (c_parser_set_source_position_from_token): Remove
1264 reference to in_system_header from comment.
1265
386b1f1f
RS
12662013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1267
1268 * c-decl.c (grokdeclarator): Update comment to refer to
1269 tree_to_[su]hwi rather than tree_low_cst.
1270
ae7e9ddd
RS
12712013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1272
1273 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
1274 tree_to_uhwi throughout.
1275
9439e9a1
RS
12762013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1277
1278 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
1279 throughout.
1280
9541ffee
RS
12812013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1282
1283 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
1284 throughout.
1285
c02065fc
AH
12862013-11-15 Aldy Hernandez <aldyh@redhat.com>
1287
1288 * c-parser.c (c_parser_cilk_simd): New.
1289 (c_parser_cilk_verify_simd): New.
1290 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
1291 (c_parser_omp_for_loop): Add case for NE_EXPR.
1292 Set c_break_label for CILK_SIMD.
1293 (c_parser_cilk_clause_vectorlength): New.
1294 (c_parser_cilk_clause_linear): New.
1295 (c_parser_cilk_clause_name): New.
1296 (c_parser_cilk_all_clauses): New.
1297 * c-typeck.c (build_unary_op): Pass location argument to
1298 readonly_error.
1299 (build_modify_expr): Same.
1300 (build_asm_expr): Same.
1301 (c_finish_bc_stmt): Error on break/continue in loops.
1302
18f429e2
AM
13032013-11-14 Andrew MacLeod <amacleod@redhat.com>
1304
1305 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
1306
d8a2d370
DN
13072013-11-14 Diego Novillo <dnovillo@google.com>
1308
1309 * c-decl.c: Include print-tree.h.
1310 Include stor-layout.h.
1311 Include varasm.h.
1312 Include attribs.h.
1313 Include stringpool.h.
1314 * c-lang.c: Include fold-const.h.
1315 * c-parser.c: Include stringpool.h.
1316 Include attribs.h.
1317 Include stor-layout.h.
1318 Include varasm.h.
1319 Include trans-mem.h.
1320 * c-typeck.c: Include stor-layout.h.
1321 Include trans-mem.h.
1322 Include varasm.h.
1323 Include stmt.h.
1324
38b7bc7f
JM
13252013-11-13 Joseph Myers <joseph@codesourcery.com>
1326
1327 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
1328 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
1329 __auto_type.
1330 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
1331 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
1332 RID_AUTO_TYPE.
1333 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
1334 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
1335 (c_parser_declarator, c_parser_direct_declarator_inner)
1336 (c_parser_parameter_declaration, c_parser_type_name): All callers
1337 changed.
1338 (c_parser_declaration_or_fndef): Handle declarations with type
1339 determined from the initializer.
1340
45b0be94
AM
13412013-11-12 Andrew MacLeod <amacleod@redhat.com>
1342
18f429e2 1343 * c-typeck.c: Include gimplify.h.
45b0be94 1344
582d9b50
JM
13452013-11-12 Joseph Myers <joseph@codesourcery.com>
1346
1347 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
1348 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
1349 comment.
1350 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
1351 or _Thread_local as appropriate in diagnostics.
1352 (build_null_declspecs): Initialize ret->thread_gnu_p.
1353 (declspecs_add_scspec): Handle either __thread or _Thread_local
1354 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
1355 pedantic. Do not disallow _Thread_local extern and _Thread_local
1356 static.
1357
267bac10
JM
13582013-11-07 Joseph Myers <joseph@codesourcery.com>
1359 Andrew MacLeod <amacleod@redhat.com>
1360
1361 * c-aux-info.c (gen_type): Handle atomic qualifier.
1362 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
1363 qualifiers when compating types.
1364 (shadow_tag_warned): Handle atomic_p in declspecs.
1365 (quals_from_declspecs): Likewise.
1366 (start_decl): Use c_type_promotes_to when promoting argument
1367 types.
1368 (grokdeclarator): Handle _Atomic.
1369 (get_parm_info): Diagnose any qualifier on "void" as only
1370 parameter.
1371 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
1372 comparing types. Use c_type_promotes_to when promoting argument
1373 types.
1374 (finish_function): Use c_type_promotes_to when promoting argument
1375 types.
1376 (build_null_declspecs): Handle atomic_p in declspecs.
1377 (declspecs_add_qual): Handle RID_ATOMIC.
1378 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
1379 (c_token_starts_declspecs): Handle RID_ATOMIC.
1380 (c_parser_declspecs): Handle atomic type specifiers and
1381 qualifiers.
1382 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
1383 from types of expressions with atomic type.
1384 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
1385 (c_parser_attribute_any_word): Handle RID_ATOMIC.
1386 (c_parser_initializer, c_parser_initelt, c_parser_initval)
1387 (c_parser_statement_after_labels, c_parser_switch_statement)
1388 (c_parser_for_statement, c_parser_expr_no_commas)
1389 (c_parser_conditional_expression, c_parser_binary_expression)
1390 (c_parser_cast_expression, c_parser_unary_expression)
1391 (c_parser_postfix_expression)
1392 (c_parser_postfix_expression_after_primary, c_parser_expression):
1393 Use convert_lvalue_to_rvalue.
1394 (c_parser_expression_conv, c_parser_expr_list): Document
1395 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
1396 (c_parser_objc_synchronized_statement): Use
1397 convert_lvalue_to_rvalue.
1398 (c_parser_objc_selector): Handle RID_ATOMIC.
1399 (c_parser_objc_receiver, c_parser_array_notation): Use
1400 convert_lvalue_to_rvalue.
1401 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
1402 _Atomic (type-name).
1403 (struct c_declspecs): Add atomic_p field.
1404 (convert_lvalue_to_rvalue): Declare.
1405 * c-typeck.c (c_type_promotes_to): Promote atomic types to
1406 corresponding atomic types.
1407 (qualify_type): Don't add _Atomic qualifiers from second argument.
1408 (comp_target_types): Do not allow _Atomic mismatches.
1409 (type_lists_compatible_p): Do not remove atomic qualifiers when
1410 comparing types.
1411 (really_atomic_lvalue, convert_lvalue_to_rvalue)
1412 (build_atomic_assign): New functions.
1413 (build_unary_op): Use build_atomic_assign for atomic increment and
1414 decrement.
1415 (build_conditional_expr): Do not treat _Atomic void as a qualified
1416 version of void.
1417 (build_modify_expr): Use build_atomic_assign for atomic LHS.
1418 (find_anonymous_field_with_type, convert_to_anonymous_field)
1419 (convert_for_assignment): Do not remove atomic qualifiers when
1420 comparing types.
1421 (digest_init): Do not accept initialization of arrays of atomic
1422 elements by string constants.
1423 (build_asm_expr): Use convert_lvalue_to_rvalue.
1424 (build_binary_op): Do not treat _Atomic void as a qualified
1425 version of void.
1426
0c249d4b
DD
14272013-11-06 DJ Delorie <dj@redhat.com>
1428
1429 * c-decl.c (locate_old_decl): If a previous conflicting decl is
1430 both explicit and builtin, print the location of the explicit one.
1431
6d7f7e0a
TB
14322013-11-05 Tobias Burnus <burnus@net-b.de>
1433
1434 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
1435 c_parser_omp_distribute, c_parser_omp_teams,
1436 c_parser_omp_target, c_parser_omp_declare): Handle
1437 -fopenmp-simd.
1438
b906f4ca
MP
14392013-11-03 Marek Polacek <polacek@redhat.com>
1440
1441 * c-decl.c (grokdeclarator): Add VLA instrumentation.
1442
ee1d5a02
JJ
14432013-11-01 Jakub Jelinek <jakub@redhat.com>
1444
1445 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
1446 check_dup_generic at the end, unless remove is true.
1447 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
1448 remove = true;.
1449 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
1450
5a9785fb
JJ
14512013-10-31 Jakub Jelinek <jakub@redhat.com>
1452
1453 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
1454 with decl that is not pointer nor array.
1455
939b37da
BI
14562013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1457
1458 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
1459 a spawning function is found.
1460 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
1461 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
1462 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1463 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
1464 case.
1465 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
1466 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
1467 expr.
1468 (c_finish_return): Added a check to reject _Cilk_spawn in return
1469 expression.
1470 (build_cilk_spawn): New function.
1471 (build_cilk_sync): Likewise.
1472 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
1473
d4af74d4
TB
14742013-10-27 Tobias Burnus <burnus@net-b.de>
1475
1476 PR other/33426
1477 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
1478 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
1479 (c_parser_statement_after_labels): Update calls.
1480
d73749df 14812013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
1482
1483 PR other/33426
1484 * c-parser.c (c_parser_pragma, c_parser_for_statement):
1485 Handle PRAGMA_IVDEP.
1486 (c_parser_statement_after_labels): Update call.
1487
f28aa681
MP
14882013-10-24 Marek Polacek <polacek@redhat.com>
1489
1490 * c-parser.c (c_parser_struct_declaration): Add a comment.
1491 (c_parser_declarator): Don't allow _Alignas here.
1492
0645c1a2
AM
14932013-10-17 Andrew MacLeod <amacleod@redhat.com>
1494
1495 * c-parser.c: Include omp-low.h.
1496 * c-typeck.c: Likewise.
1497
568a31f2
MP
14982013-10-17 Marek Polacek <polacek@redhat.com>
1499
1500 PR c/58267
1501 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
1502 Document syntax of the array-declarator.
1503 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
1504 are not permitted.
1505 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
1506 (c_parser_struct_declaration): Likewise.
1507 (c_parser_declarator): Likewise.
1508 (c_parser_direct_declarator_inner): Likewise.
1509 (c_parser_parameter_declaration): Likewise.
1510 (c_parser_type_name): Likewise.
1511
acf0174b
JJ
15122013-10-11 Jakub Jelinek <jakub@redhat.com>
1513
1514 * c-lang.h (current_omp_declare_target_attribute): New extern
1515 decl.
1516 * c-parser.c: Include c-lang.h.
1517 (struct c_parser): Change tokens to c_token *.
1518 Add tokens_buf field. Change tokens_avail type to unsigned int.
1519 (c_parser_consume_token): If parser->tokens isn't
1520 &parser->tokens_buf[0], increment parser->tokens.
1521 (c_parser_consume_pragma): Likewise.
1522 (enum pragma_context): Add pragma_struct and pragma_param.
1523 (c_parser_external_declaration): Adjust
1524 c_parser_declaration_or_fndef caller.
1525 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
1526 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
1527 Adjust recursive call.
1528 (c_parser_struct_or_union_specifier): Use pragma_struct instead
1529 of pragma_external.
1530 (c_parser_parameter_declaration): Use pragma_param instead of
1531 pragma_external.
1532 (c_parser_compound_statement_nostart, c_parser_label,
1533 c_parser_for_statement): Adjust
1534 c_parser_declaration_or_fndef callers.
1535 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
1536 it through to c_parser_conditional_expression.
1537 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
1538 pass it through to c_parser_binary_expression. Adjust recursive
1539 call.
1540 (c_parser_binary_expression): Remove prec argument, add
1541 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
1542 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
1543 binop matches it, use build2 instead of parser_build_binary_op.
1544 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
1545 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
1546 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
1547 Handle pragma_struct and pragma_param the same as pragma_external.
1548 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
1549 (c_parser_omp_variable_list): Parse array sections for
1550 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
1551 (c_parser_omp_clause_collapse): Fully fold collapse expression.
1552 (c_parser_omp_clause_reduction): Handle user defined reductions.
1553 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
1554 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
1555 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
1556 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
1557 c_parser_omp_clause_depend, c_parser_omp_clause_map,
1558 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
1559 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
1560 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
1561 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
1562 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
1563 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
1564 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
1565 (c_parser_omp_for_loop): Add CODE argument, pass it through
1566 to c_finish_omp_for. Change last argument to cclauses,
1567 and adjust uses to grab parallel clauses from the array of all
1568 the split clauses. Adjust c_parser_binary_expression,
1569 c_parser_declaration_or_fndef and c_finish_omp_for callers.
1570 (omp_split_clauses): New function.
1571 (c_parser_omp_simd): New function.
1572 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
1573 Allow the function to be called also when parsing combined constructs,
1574 and call c_parser_omp_simd when parsing for simd.
1575 (c_parser_omp_sections_scope): If section-sequence doesn't start with
1576 #pragma omp section, require exactly one structured-block instead of
1577 sequence of statements.
1578 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
1579 Allow the function to be called also when parsing combined constructs.
1580 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
1581 Allow the function to be called also when parsing combined
1582 constructs.
1583 (c_parser_omp_taskgroup, c_parser_omp_cancel,
1584 c_parser_omp_cancellation_point, c_parser_omp_distribute,
1585 c_parser_omp_teams, c_parser_omp_target_data,
1586 c_parser_omp_target_update, c_parser_omp_target,
1587 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
1588 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
1589 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
1590 (c_parser_omp_construct): Add p_name and mask vars. Handle
1591 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
1592 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
1593 and c_parser_omp_sections callers.
1594 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
1595 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
1596 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
1597 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
1598 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
1599 OMP_CLAUSE_DEPEND.
1600 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
1601 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
1602 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
1603 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
1604 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
1605 * c-typeck.c: Include tree-inline.h.
1606 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
1607 handle_omp_array_sections_1, handle_omp_array_sections,
1608 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
1609 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
1610 user defined reductions.
1611 (c_tree_equal): New function.
1612 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
1613 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
1614 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
1615 c_check_omp_declare_reduction_r): New prototypes.
1616 * c-decl.c (current_omp_declare_target_attribute): New variable.
1617 (c_decl_attributes): New function.
1618 (start_decl, start_function): Use it instead of decl_attributes.
1619 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
1620 c_omp_reduction_decl, c_omp_reduction_lookup,
1621 c_check_omp_declare_reduction_r): New functions.
1622
0a6c2227
TT
16232013-09-25 Tom Tromey <tromey@redhat.com>
1624
1625 * Make-lang.in (c/gccspec.o): Remove.
1626 (CFLAGS-c/gccspec.o): New variable.
1627 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
1628 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
1629 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
1630
f3bc55f0
TT
16312013-09-25 Tom Tromey <tromey@redhat.com>
1632
1633 * Make-lang.in (c/gccspec.o): Don't use subshell.
1634
a24d975c
MP
16352013-09-18 Marek Polacek <polacek@redhat.com>
1636
1637 PR sanitize/58443
1638 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
1639 Remove unnecessary check.
1640
ce6923c5
MP
16412013-09-18 Marek Polacek <polacek@redhat.com>
1642
1643 PR sanitizer/58411
1644 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
1645 no_sanitize_undefined attribute.
1646
a1e51df9
KT
16472013-09-13 Kai Tietz <ktietz@redhat.com>
1648
1649 PR target/57848
1650 * c-decl.c (c_builtin_function_ext_scope): Remove
1651 wrong assumption that it is never called on prexisting
1652 symbol.
1653
0af94e6f
JR
16542013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1655
1656 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
1657
20059c8b
GDR
16582013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1659
1660 * c-objc-common.c (c_tree_printer): Tidy.
1661
de5a5fa1
MP
16622013-08-30 Marek Polacek <polacek@redhat.com>
1663
1664 * c-typeck.c (build_binary_op): Add division by zero and shift
1665 instrumentation.
1666
2531a1d9 16672013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
0fdd4508 1668 Joseph Myers <joseph@codesourcery.com>
2531a1d9 1669
6e2bcc98 1670 PR c/35649
2531a1d9
JR
1671 * c-typeck.c (c_common_type): Prefer double_type_node over
1672 other REAL_TYPE types with the same precision.
1673 (convert_arguments): Likewise.
1674
025311c4
GDR
16752013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
1676
1677 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
1678 (c_initialize_diagnostics): Call a destructor for the early printer.
1679
da6ca2b5
GDR
16802013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1681
1682 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
1683 printer initialization.
1684
318cda85 16852013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
da6ca2b5 1686
318cda85
BI
1687 PR c/57490
1688 * c-array-notation.c (fix_conditional_array_notations_1): Added a
1689 check for truth values.
1690 (expand_array_notation_exprs): Added truth values case. Removed an
1691 unwanted else. Added for-loop to walk through subtrees in default
1692 case.
1693
b066401f
GDR
16942013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1695
1696 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
1697
fb48aadc
JM
16982013-07-23 Joseph Myers <joseph@codesourcery.com>
1699
1700 * c-parser.c (struct c_generic_association): Fix typo.
1701
433cc7b0
TT
17022013-07-23 Tom Tromey <tromey@redhat.com>
1703 Joseph Myers <joseph@codesourcery.com>
1704
1705 * c-parser.c (struct c_generic_association): New.
1706 (c_generic_association_d): New typedef.
1707 (c_parser_generic_selection): New function.
1708 (c_parser_postfix_expression): Handle RID_GENERIC.
1709
26d40c3d
JM
17102013-07-13 Jason Merrill <jason@redhat.com>
1711
1712 PR c++/57793
1713 * c-decl.c (finish_struct): Check for too-large class.
1714
ecdbd01a 17152013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
1716
1717 PR c/57821
1718 * c-typeck.c (set_init_index): When folding, check for index overflow.
1719
1141ed3f
BI
17202013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1721
1722 * c-parser.c (c_parser_array_notation): Removed rejection of array
1723 notations in an array of function pointers.
1724
713b46fa
BI
17252013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
1726
1727 * c-array-notation.c (make_triplet_val_inv): New function.
1728 (create_cmp_incr): Likewise.
1729 (create_array_refs): Likewise.
1730 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
1731 Also modularized common parts between functions and called the function.
1732 (build_array_notation_expr): Likewise.
1733 (fix_conditional_array_notations_1): Likewise.
1734 (fix_array_notation_expr): Likewise.
1735 (fix_array_notation_call_expr): Likewise.
1736
92f20202
MP
17372013-06-18 Marek Polacek <polacek@redhat.com>
1738
1739 PR c/57630
1740 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
1741
73a23b06
BI
17422013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
1743
1744 * c-array-notation.c (build_array_notation_expr): Reject array notation
1745 mismatch between LHS and RHS even inside a call_expr. Also, removed
1746 a couple while statements that were dead code.
1747
00b8517d
BI
17482013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
1749
1750 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
1751 excessive precision expressions in function parameters. Also removed
1752 couple unwanted while statements.
1753
1509bdda
BI
17542013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
1755
1756 * c-array-notation.c (expand_array_notation_exprs): Added
1757 ARRAY_NOTATION_REF case.
1758
d60f1706
BI
17592013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
1760
1761 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
1762 function to c-family/array-notation-common.c.
1763 (is_cilkplus_reduce_builtin): Likewise.
1764 (find_rank): Likewise.
1765 (extract_array_notation_exprs): Likewise.
1766 (replace_array_notations): Likewise.
1767 (find_inv_trees): Likewise.
1768 (replace_inv_trees): Likewise.
1769 (contains_array_notation_expr): Likewise.
1770 (find_correct_array_notation_type): Likewise.
1771 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
1772 (struct inv_list): Moved this to c-family/array-notation-common.c.
1773 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
1774
6d6efbb3
BI
17752013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
1776
1777 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
1778 reduction functions outside the for-loop. Added a check if the fundecl
1779 is non-NULL. Finally, removed an unwanted if-statement, and made the
1780 body unconditional.
1781
25c22937
BI
17822013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
1783
1784 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
1785 condition of the if-statement matches the rank of else-block and then-
1786 block when array notations are used.
1787 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
1788 expression after the entire function body is parsed.
1789 (c_parser_expr_no_commas): Delayed creating array notation expressions
1790 to the end of function parsing.
1791 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
1792 whole if-statement instead of just the condition.
1793 (expand_array_notation_exprs): Added MODIFY_EXPR case.
1794
edd25645
BI
17952013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
1796
1797 PR c/57474
1798 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
1799 array to NULL_TREE if they are unused. Also added a check for the
1800 field to be NULL before its fields are used in future.
1801
065ce7f1
RO
18022013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1803
1804 PR bootstrap/57450
1805 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
1806 (build_array_notation_expr): Likewise.
1807
36536d79
BI
18082013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1809
1810 * c-typeck.c (build_array_ref): Added a check to see if array's
1811 index is greater than one. If true, then emit an error.
1812 (build_function_call_vec): Exclude error reporting and checking
1813 for builtin array-notation functions.
1814 (convert_arguments): Likewise.
1815 (c_finish_return): Added a check for array notations as a return
1816 expression. If true, then emit an error.
1817 (c_finish_loop): Added a check for array notations in a loop
1818 condition. If true then emit an error.
1819 (lvalue_p): Added a ARRAY_NOTATION_REF case.
1820 (build_binary_op): Added a check for array notation expr inside
1821 op1 and op0. If present, we call another function to find correct
1822 type.
1823 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
1824 * c-parser.c (c_parser_compound_statement): Check if array
1825 notation code is used in tree, if so, then transform them into
1826 appropriate C code.
1827 (c_parser_expr_no_commas): Check if array notation is used in LHS
1828 or RHS, if so, then build array notation expression instead of
1829 regular modify.
1830 (c_parser_postfix_expression_after_primary): Added a check for
1831 colon(s) after square braces, if so then handle it like an array
1832 notation. Also, break up array notations in unary op if found.
1833 (c_parser_direct_declarator_inner): Added a check for array
1834 notation.
1835 (c_parser_compound_statement): Added a check for array notation in
1836 a stmt. If one is present, then expand array notation expr.
1837 (c_parser_if_statement): Likewise.
1838 (c_parser_switch_statement): Added a check for array notations in
1839 a switch statement's condition. If true, then output an error.
1840 (c_parser_while_statement): Similarly, but for a while.
1841 (c_parser_do_statement): Similarly, but for a do-while.
1842 (c_parser_for_statement): Similarly, but for a for-loop.
1843 (c_parser_unary_expression): Check if array notation is used in a
1844 pre-increment or pre-decrement expression. If true, then expand
1845 them.
1846 (c_parser_array_notation): New function.
1847 * c-array-notation.c: New file.
1848 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
1849
cd192ccc
MS
18502013-05-23 Mike Stump <mikestump@comcast.net>
1851
1852 * c-typeck.c (convert_for_assignment): Handle references to memory
1853 spaces better.
1854
427b248d
JM
18552013-05-16 Jason Merrill <jason@redhat.com>
1856
1857 * Make-lang.in (cc1$(exeext)): Use link mutex.
1858
44d90fe1
PC
18592013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1860
1861 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
1862 to simply use OPT_Wpointer_arith.
1863 (build_unary_op): Likewise.
1864
4e7d7b3d
JJ
18652013-04-03 Jakub Jelinek <jakub@redhat.com>
1866
1867 PR c/19449
1868 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
1869 argument. If set, or it temporarily for parsing of the first
1870 argument into force_folding_builtin_constant_p.
1871 (c_parser_postfix_expression): Adjust callers.
1872
839b422f
RB
18732013-03-21 Richard Biener <rguenther@suse.de>
1874
1875 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
1876 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
1877
2ee028f1
MP
18782013-02-12 Marek Polacek <polacek@redhat.com>
1879
1880 PR c/44938
1881 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
1882 origtypes to NULL.
1883
8824edff
JJ
18842013-01-24 Jakub Jelinek <jakub@redhat.com>
1885
1886 PR c/56078
1887 * c-typeck.c (set_nonincremental_init_from_string): If
1888 constructor_max_index is NULL, treat it as if tree_int_cst_lt
1889 returned false.
1890 (process_init_element): Likewise.
1891
eadd3d0d
JJ
18922012-12-20 Jakub Jelinek <jakub@redhat.com>
1893
1894 PR c++/55619
1895 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
1896 argument, don't call default_function_array_conversion
1897 nor c_fully_fold here.
1898 (c_parser_asm_statement): Adjust callers.
1899 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
1900 and outputs here, and call default_function_array_conversion
1901 on inputs that don't need to be addressable.
1902
f8a93a2e
JJ
19032012-12-18 Jakub Jelinek <jakub@redhat.com>
1904
1905 PR c/39464
1906 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
1907 warning require that both c_common_unsigned_type as well as
1908 c_common_signed_type is the same for both mvl and mvr types.
1909
9771b263
DN
19102012-11-16 Diego Novillo <dnovillo@google.com>
1911
1912 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1913
1914 * c-common.c: Use new vec API in vec.h.
1915 * c-common.h: Likewise.
1916 * c-gimplify.c: Likewise.
1917 * c-pragma.c: Likewise.
1918 * c-pretty-print.c: Likewise.
1919 * c-pretty-print.h: Likewise.
1920 * c-semantics.c: Likewise.
1921 * c-decl.c: Likewise.
1922 * c-parser.c: Likewise.
1923 * c-tree.h: Likewise.
1924 * c-typeck.c: Likewise.
1925
880661a4
JW
19262012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
1927
1928 PR c++/54930
1929 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
1930
077d1abe
MLI
19312012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1932
1933 PR c/53066
1934 * c-decl.c (warn_if_shadowing): Do not warn if a variable
1935 shadows a function, unless the variable is a function or a
1936 pointer-to-function.
1937
3a785c97
JJ
19382012-10-12 Jakub Jelinek <jakub@redhat.com>
1939
1940 PR c/54381
1941 * c-parser.c (struct c_tree_loc_pair): Removed.
1942 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
1943 add location_t * and tree * arguments, fill in array of 3
1944 sizeof_arg trees and corresponding locs.
1945 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
1946 c_parser_expr_list callers.
1947 (c_parser_postfix_expression_after_primary): Likewise. Pass
1948 array of 3 sizeof_arg trees and locs (corresponding to first
1949 3 arguments) to sizeof_pointer_memaccess_warning.
1950
703c8606
LC
19512012-10-09 Lawrence Crowl <crowl@google.com>
1952
1953 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
1954 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
1955 hash table.
1956
5d9de0d0
PC
19572012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
1958
1959 PR c++/54194
1960 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
1961 call.
1962
a212e43f
MG
19632012-10-09 Marc Glisse <marc.glisse@inria.fr>
1964
1965 PR c++/54427
1966 * c-typeck.c: Include c-common.h.
1967 (enum stv_conv): Moved to c-common.h.
1968 (scalar_to_vector): Moved to c-common.c.
1969 (build_binary_op): Adapt to scalar_to_vector's new prototype.
1970 * Make-lang.in: c-typeck.c depends on c-common.h.
1971
3b78de56
AC
19722012-10-04 Arnaud Charlet <charlet@adacore.com>
1973
1974 * c-decl.c (c_write_global_declarations): Fix handling of
1975 -fdump-ada-spec*.
1976
78c60e3d
SS
19772012-09-30 Sharad Singhai <singhai@google.com>
1978
1979 * c-decl.c (c_write_global_declarations): Use a different method
1980 to determine if the dump has ben initialized.
1981
9f33203d
JM
19822012-09-14 Joseph Myers <joseph@codesourcery.com>
1983
1984 PR c/54552
1985 * c-typeck.c (c_cast_expr): When casting to a type requiring
1986 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
1987 c_fully_fold first.
1988
a27d595d
JM
19892012-09-14 Joseph Myers <joseph@codesourcery.com>
1990
1991 PR c/54103
1992 * c-typeck.c (build_unary_op): Pass original argument of
1993 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
1994 any C_MAYBE_CONST_EXPR, if it has integer operands.
1995 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
1996 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
1997 to c_objc_common_truthvalue_conversion, then remove any
1998 C_MAYBE_CONST_EXPR, if they have integer operands. Use
1999 c_objc_common_truthvalue_conversion not
2000 c_common_truthvalue_conversion.
2001 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2002 call note_integer_operands for arguments with integer operands
2003 that are not integer constants.
2004
9feb29df
JJ
20052012-09-13 Jakub Jelinek <jakub@redhat.com>
2006
2007 PR c/54559
2008 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2009 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2010
d409320c
JJ
20112012-08-31 Jakub Jelinek <jakub@redhat.com>
2012
2013 PR c/54428
2014 * c-convert.c (convert): Don't call fold_convert_loc if
2015 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
2016 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
2017 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
2018
6265d07c
JJ
20192012-08-24 Jakub Jelinek <jakub@redhat.com>
2020
2021 PR c/54355
2022 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
2023 for nested and empty_ok arguments in the call to
2024 c_parser_declaration_or_fndef.
2025
1a4049e7
JJ
20262012-08-17 Jakub Jelinek <jakub@redhat.com>
2027
2028 * c-tree.h (c_last_sizeof_arg): Declare.
2029 * c-parser.c (struct c_tree_loc_pair): New type.
2030 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
2031 non-NULL.
2032 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
2033 (c_parser_postfix_expression_after_primary): Likewise. Call
2034 sizeof_pointer_memaccess_warning if needed.
2035 (sizeof_ptr_memacc_comptypes): New function.
2036 * c-typeck.c (c_last_sizeof_arg): New global variable.
2037 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
2038
0229aee9
UB
20392012-07-24 Uros Bizjak <ubizjak@gmail.com>
2040
2041 * c-lang.h (lang_decl): Add variable_size GTY option.
2042
7ee2468b
SB
20432012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2044
2045 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
2046 * Make-lang.in: Fix dependencies.
2047
d4a10d0a
SB
20482012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2049
2050 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
2051 and add language Makefile hooks.
2052 * config-lang.in: New file.
2053 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
2054 add the required "normal" config-lang.in rules.
2055 * c-lang.h: Moved from gcc/ to here.
2056 * c-tree.h: Likewise.
2057 * c-objc-common.c: Likewise.
2058 * c-objc-common.h: Likewise.
2059 * c-typeck.c: Likewise.
2060 * c-convert.c: Likewise.
2061 * c-lang.c: Likewise.
2062 * c-aux-info.c: Likewise.
2063 * c-errors.c: Likewise.
2064 * gccspec.c: Likewise.
2065 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
2066 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
2067\f
5624e564 2068Copyright (C) 2012-2015 Free Software Foundation, Inc.
d4a10d0a
SB
2069
2070Copying and distribution of this file, with or without modification,
2071are permitted in any medium without royalty provided the copyright
2072notice and this notice are preserved.
This page took 0.868908 seconds and 5 git commands to generate.