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