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