]> gcc.gnu.org Git - gcc.git/blame - gcc/c/ChangeLog
genmatch.c (add_operator): Treat ADDR_EXPR as atom.
[gcc.git] / gcc / c / ChangeLog
CommitLineData
31521951
MP
12015-06-27 Marek Polacek <polacek@redhat.com>
2
3 * c-typeck.c: Use VECTOR_TYPE_P throughout.
4
22d03525
MP
52015-06-26 Marek Polacek <polacek@redhat.com>
6
7 * c-array-notation.c (fix_builtin_array_notation_fn): Use
8 INDIRECT_REF_P.
9 * c-typeck.c (array_to_pointer_conversion): Likewise.
10 (build_unary_op): Likewise.
11 (c_finish_return): Likewise.
12
f0889939
AM
132015-06-25 Andrew MacLeod <amacleod@redhat.com>
14
15 * c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
16 * c-parser.c: Likewise.
17
8d67ee55
RS
182015-06-25 Richard Sandiford <richard.sandiford@arm.com>
19
20 * c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
21 instead of pointer_hash.
22 (detect_field_duplicates): Likewise.
23
0ae9bd27
MP
242015-06-25 Marek Polacek <polacek@redhat.com>
25
26 * c-array-notation.c: Use VAR_P throughout.
27 * c-decl.c: Likewise.
28 * c-objc-common.c: Likewise.
29 * c-parser.c: Likewise.
30 * c-typeck.c: Likewise.
31
62f9079a
MP
322015-06-25 Marek Polacek <polacek@redhat.com>
33
34 * c-decl.c: Use is_global_var throughout.
35 * c-parser.c: Likewise.
36 * c-typeck.c: Likewise.
37
abb226c9
AM
382015-06-17 Andrew MacLeod <amacleod@redhat.com>
39
40 * c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
41 * c-aux-info.c: Likewise.
42 * c-convert.c: Likewise.
43 * c-decl.c: Likewise.
44 * c-errors.c: Likewise.
45 * c-lang.c: Likewise.
46 * c-objc-common.c: Likewise.
47 * c-parser.c: Likewise.
48 * c-typeck.c: Likewise.
49
8cbababc
JH
502015-06-11 Jan Hubicka <hubicka@ucw.cz>
51
52 PR middle-end/66325
53 * c-decl.c (start_enum): Set TYPE_PACKED consistently among type
54 variants.
55
a0349665
PMR
562015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
57
58 * c-decl.c (pop_scope): Register the main translation unit
59 through the new debug hook.
60
13fdf2e2
AM
612015-06-08 Andrew MacLeod <amacleod@redhat.com>
62
63 * c-array-notation.c : Adjust include files.
64 * c-aux-info.c : Likewise.
65 * c-convert.c : Likewise.
66 * c-decl.c : Likewise.
67 * c-errors.c : Likewise.
68 * c-lang.c : Likewise.
69 * c-lang.h : Likewise.
70 * c-objc-common.c : Likewise.
71 * c-parser.c : Likewise.
72 * c-typeck.c : Likewise.
73
d7438551
AH
742015-06-05 Aldy Hernandez <aldyh@redhat.com>
75
76 * c-decl.c (finish_struct): Save C_TYPE_INCOMPLETE_VARS and
77 immediately clobber it.
78 (c_write_global_declarations_1): Remove call to
79 check_global_declaration_1.
80 (c_write_global_declarations_2): Remove.
81 (c_write_final_cleanups): Rename from c_write_global_declarations.
82 Remove call to finalize_compilation_unit.
83 Remove calls to debugging hooks.
84 * c-objc-common.c: Adjust comment for c_warn_unused_global_decl.
85 * c-objc-common.h: Remove LANG_HOOKS_WRITE_GLOBALS.
86 * c-tree.h: Remove c_write_global_declarations.
87
ecb9f223
AM
882015-06-04 Andrew MacLeod <amacleod@redhat.com>
89
90 * c-array-notation.c: Adjust includes for restructured coretypes.h.
91 * c-aux-info.c: Likewise.
92 * c-convert.c: Likewise.
93 * c-decl.c: Likewise.
94 * c-errors.c: Likewise.
95 * c-lang.c: Likewise.
96 * c-objc-common.c: Likewise.
97 * c-parser.c: Likewise.
98 * c-typeck.c: Likewise.
99
9482b620
MP
1002015-06-04 Marek Polacek <polacek@redhat.com>
101
102 PR c/66341
103 * c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if
104 it is a lvalue.
105
bc51ace3
PK
1062015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
107
108 * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
109 Warn for empty struct.
110 (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct.
111
ea5b45b6
AT
1122015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
113
114 * c-decl.c (start_function): Call plugin before parsing.
115 (finish_function): Call plugin after parsing.
116
c2d47482
PK
1172015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
118
119 PR c/49551
120 * c-decl.c (merge_decls): Merge DECL_COMMON.
121
a95492ab
JW
1222015-05-22 Jim Wilson <jim.wilson@linaro.org>
123
124 * Make-lang.in (check_gcc_pallelize): Define.
125
fd5c817a
MP
1262015-05-22 Marek Polacek <polacek@redhat.com>
127
128 PR c/47043
129 * c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
130 attributes.
131
c7b70a3c
MP
1322015-05-21 Marek Polacek <polacek@redhat.com>
133
134 * c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
135 DECL_BUILT_IN.
136
21b634ae
MP
1372015-05-20 Marek Polacek <polacek@redhat.com>
138
139 * c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
140 * c-typeck.c: Likewise.
141
296a8c2f
MP
1422015-05-19 Marek Polacek <polacek@redhat.com>
143
144 * c-typeck.c (start_init): Use AGGREGATE_TYPE_P.
145
41b37d5e
JJ
1462015-05-19 Jakub Jelinek <jakub@redhat.com>
147
148 PR middle-end/66199
149 * c-parser.c (c_parser_omp_for_loop): Don't add
150 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
151 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
152 (c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
153 constructs.
154
fab27f52
MM
1552015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
156
157 * c-typeck.c (build_array_ref): Use std::swap instead of explicit
296a8c2f 158 swaps.
fab27f52 159
40de31cf
MLI
1602015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
161
162 PR fortran/44054
163 * c-objc-common.c (c_tree_printer): Replace locus pointer with
164 accessor function.
165
3aa3c9fc
MP
1662015-05-14 Marek Polacek <polacek@redhat.com>
167
168 PR c/66066
169 PR c/66127
170 * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
171 rather than with 0.
172
c3388e62
DM
1732015-05-12 David Malcolm <dmalcolm@redhat.com>
174
175 * c-parser.c (c_parser_if_body): Add param "if_loc", use it
176 to add a call to warn_for_misleading_indentation.
177 (c_parser_else_body): Likewise, adding param "else_loc".
178 (c_parser_if_statement): Check for misleading indentation.
179 (c_parser_while_statement): Likewise.
180 (c_parser_for_statement): Likewise.
181
755e528f
MP
1822015-05-08 Marek Polacek <polacek@redhat.com>
183
184 PR c/64918
185 * c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
186 (output_init_element): Likewise.
187
0173bd2a
MP
1882015-05-07 Marek Polacek <polacek@redhat.com>
189
190 PR c/65179
191 * c-typeck.c (build_binary_op): Warn when left shifting a negative
192 value.
193
9babc352
MP
1942015-04-30 Marek Polacek <polacek@redhat.com>
195
196 * c-typeck.c (set_init_label): Call error_at instead of error and
197 pass LOC to it.
198
ac9f18db
MP
199 * c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print
200 the type of a decl.
201
ec3fba51
MP
202 * c-typeck.c (c_build_va_arg): Clarify the error message.
203
b811915d
TS
2042015-04-29 Thomas Schwinge <thomas@codesourcery.com>
205
206 * c-parser.c (c_parser_oacc_enter_exit_data): Use
207 OMP_STANDALONE_CLAUSES.
208
f3075008
MP
2092015-04-28 Marek Polacek <polacek@redhat.com>
210
211 * c-parser.c (c_parser_binary_expression): Remove duplicate line.
212
4e81b788
MP
2132015-04-28 Marek Polacek <polacek@redhat.com>
214
215 PR c/65901
216 * c-typeck.c (c_build_va_arg): Require TYPE be a complete type.
217
6c1db78e
MP
2182015-04-25 Marek Polacek <polacek@redhat.com>
219
220 PR c/52085
221 * c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode"
222 attribute.
223
5c4abbb8
MP
2242015-04-23 Marek Polacek <polacek@redhat.com>
225
226 PR c/65345
227 * c-decl.c (set_labels_context_r): New function.
228 (store_parm_decls): Call it via walk_tree_without_duplicates.
229 * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
230 instead of create_tmp_var. Build TARGET_EXPR instead of
231 COMPOUND_EXPR.
232 (build_atomic_assign): Use create_tmp_var_raw instead of
233 create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR.
234
06aca1d5
IV
2352015-04-20 Ilya Verbin <ilya.verbin@intel.com>
236
237 * c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon.
238 (c_parser_omp_target_update): Add missed %> to error_at ().
239
8fba1830
BRF
2402015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
241
242 PR target/55143
243 * c-decl.c (c_default_pointer_mode): Remove definition.
244 * c-tree.h (c_default_pointer_mode): Remove declaration.
245
62021f64
TB
2462015-03-27 Tobias Burnus <burnus@net-b.de>
247
248 PR c/65586
249 * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
250 error out.
251 (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
252 c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
253 Update calls to not error for skipped omp pragmas with -fopenmp-simd.
254
9b65e171
JJ
2552015-03-19 Jakub Jelinek <jakub@redhat.com>
256
257 * c-decl.c (c_decl_attributes): Also add "omp declare target"
258 attribute for DECL_EXTERNAL VAR_DECLs.
259
17958621
JJ
2602015-03-11 Jakub Jelinek <jakub@redhat.com>
261
262 * c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
263 argument.
264
7ccb1a11
JJ
2652015-03-10 Jakub Jelinek <jakub@redhat.com>
266
267 PR c/65120
268 * c-typeck.c (parser_build_binary_op): Check for tcc_comparison
269 before preparing arguments to warn_logical_not_parentheses.
270
01177669
JJ
2712015-03-09 Jakub Jelinek <jakub@redhat.com>
272
273 PR c/65120
274 * c-typeck.c (parser_build_binary_op): Don't warn for
275 !!x == y or !b == y where b is _Bool.
276
802ac282
MP
2772015-03-09 Marek Polacek <polacek@redhat.com>
278
279 * c-convert.c (convert): Make use of do_ubsan_in_current_function.
280 * c-decl.c (grokdeclarator): Likewise.
281 * c-typeck.c (build_binary_op): Likewise.
282
e5165b60
MP
2832015-02-27 Marek Polacek <polacek@redhat.com>
284
285 PR c/65228
286 * c-decl.c (start_decl): Return NULL_TREE if decl is an error node.
287
065d214c
MP
2882015-02-14 Marek Polacek <polacek@redhat.com>
289
290 PR c/64768
291 * c-decl.c (grokdeclarator): Set the range of a flexible array member
292 declared through a typedef name.
293
e5d9235b
MP
2942015-02-13 Marek Polacek <polacek@redhat.com>
295
296 PR c/65050
297 * c-decl.c (grokdeclarator): Print also the type when giving
298 the error message about array's incomplete element type.
299
fa01ffcc
JJ
3002015-02-11 Jakub Jelinek <jakub@redhat.com>
301
302 PR c/64824
303 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
304 check in the POP macro.
305
c3e38a03
MP
3062015-02-09 Marek Polacek <polacek@redhat.com>
307
308 PR c/64856
309 * c-typeck.c (process_init_element): Don't always wrap
310 COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
311 initializing a range of elements.
312
4886ec8e
JJ
3132015-02-04 Jakub Jelinek <jakub@redhat.com>
314
315 PR c/64824
316 PR c/64868
317 * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
318
c3e38a03 3192015-02-02 Bruno Loff <bruno.loff@gmail.com>
a4bb6959
BL
320
321 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
322 processing enum declaration.
323
7b33f0c8
MP
3242015-01-29 Marek Polacek <polacek@redhat.com>
325
326 PR c/64709
327 * c-typeck.c (pop_init_level): If constructor_elements has
328 exactly one element with integer_zerop value, set constructor_zeroinit
329 to 1. Remove braces around warning_init call.
330
dea63e49
JJ
3312015-01-27 Jakub Jelinek <jakub@redhat.com>
332
333 PR c/64766
334 * c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
335 of FUNCTION_DECLs with error_mark_node.
336
d38f7dce
JJ
3372015-01-26 Jakub Jelinek <jakub@redhat.com>
338
339 PR c/64778
340 * c-typeck.c (convert_arguments): Return -1 if there are
341 error_args, even if we've diagnosed too many arguments.
342
cbf5d0e7
RB
3432015-01-21 Richard Biener <rguenther@suse.de>
344
345 PR middle-end/64313
346 * c-decl.c (merge_decls): Call set_builtin_decl_declared_p
347 for builtins the user declared correctly.
348
41dbbb37
TS
3492015-01-15 Thomas Schwinge <thomas@codesourcery.com>
350 Bernd Schmidt <bernds@codesourcery.com>
351 Cesar Philippidis <cesar@codesourcery.com>
352 James Norris <jnorris@codesourcery.com>
353 Jakub Jelinek <jakub@redhat.com>
354 Ilmir Usmanov <i.usmanov@samsung.com>
355
356 * c-parser.c: Include "gomp-constants.h".
357 (c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
358 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
359 Use OMP_CLAUSE_SET_MAP_KIND.
360 (c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
361 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
362 (c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
363 PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
364 PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
365 (c_parser_omp_clause_name): Handle "auto", "async", "copy",
366 "copyout", "create", "delete", "deviceptr", "gang", "host",
367 "num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
368 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
369 "present_or_create", "pcreate", "seq", "self", "vector",
370 "vector_length", "wait", "worker".
371 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
372 (OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
373 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
374 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
375 (c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
376 (c_parser_oacc_wait_list, c_parser_oacc_data_clause)
377 (c_parser_oacc_data_clause_deviceptr)
378 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
379 (c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
380 (c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
381 (c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
382 (c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
383 (c_parser_oacc_parallel, c_parser_oacc_update)
384 (c_parser_oacc_wait): New functions.
385 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
386 (c_finish_oacc_data): New prototypes.
387 * c-typeck.c: Include "gomp-constants.h".
388 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
389 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
390 OMP_CLAUSE_SET_MAP_KIND.
391 (c_finish_oacc_parallel, c_finish_oacc_kernels)
392 (c_finish_oacc_data): New functions.
393 (c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
394 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
395 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
396 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
397 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
398 GOMP_MAP_FORCE_DEVICEPTR.
399
adfac8df
JJ
4002015-01-09 Michael Collison <michael.collison@linaro.org>
401
402 * c-array-notation.c: Include hash-set.h, machmode.h,
403 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
404 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
405 * c-aux-info.c: Ditto.
406 * c-convert.c: Ditto.
407 * c-decl.c: Ditto.
408 * c-errors.c: Ditto.
409 * c-lang.c: Dittoxs.
410 * c-objc-common.c: Ditto.
411 * c-parser.c: Ditto.
412 * c-typeck.c: Include hash-set.h, machmode.h,
413 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
414 fold-const.h, wide-int.h, inchash.h, real.h and
415 fixed-value.h due to flattening of tree.h.
416
2cc901dc
MP
4172015-01-07 Marek Polacek <polacek@redhat.com>
418
419 PR c/64417
420 * c-typeck.c (process_init_element): Disallow initialization of
421 a flexible array member with a string constant if the structure
422 is in an array.
423
5624e564
JJ
4242015-01-05 Jakub Jelinek <jakub@redhat.com>
425
e5341100
JJ
426 PR sanitizer/64344
427 * c-typeck.c (convert_for_assignment, c_finish_return): For
428 -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
429 types also set in_late_binary_op around convert call.
430 * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
431 to integral type casts, if not in_late_binary_op, pass c_fully_fold
432 result on expr as last argument to ubsan_instrument_float_cast,
433 if in_late_binary_op, don't use c_save_expr but save_expr.
434
5624e564
JJ
435 Update copyright years.
436
5bd012f8
MP
4372015-01-05 Marek Polacek <polacek@redhat.com>
438
439 PR c/64423
440 * c-typeck.c (build_array_ref): Pass loc down to
441 warn_array_subscript_with_type_char.
442
768952be
MU
4432014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
444
445 * c-typeck.c: New behavious for pointers to arrays with qualifiers
446 (common-pointer-type): For pointers to arrays take qualifiers from
447 element type.
448 (build_conditional_expr): Add warnings for lost qualifiers.
449 (comp-target-types): Allow pointers to arrays with different qualifiers.
450 (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
451 WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
452 to PEDWARN_FOR_QUALIFIERS.
453
8f94a8c4
JJ
4542014-12-17 Jakub Jelinek <jakub@redhat.com>
455
456 PR sanitizer/64289
457 * c-convert.c: Include ubsan.h.
458 (convert): For real -> integral casts and
459 -fsanitize=float-cast-overflow don't call convert_to_integer, but
460 instead instrument the float cast directly.
461
b731b390
JJ
4622014-11-29 Jakub Jelinek <jakub@redhat.com>
463
464 * c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
465 c_finish_stmt_expr): Remove NULL last argument from
466 create_tmp_var_raw and create_tmp_var calls.
467 * c-array-notation.c (fix_builtin_array_notation_fn,
468 build_array_notation_expr, fix_conditional_array_notations_1,
469 fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
470
541e35a6
MP
4712014-11-28 Marek Polacek <polacek@redhat.com>
472
473 PR c/63862
474 * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
475 convert the right operand to integer type.
476
b286be94
MP
4772014-11-25 Marek Polacek <polacek@redhat.com>
478
479 PR c/63877
480 * c-decl.c (start_function): Disable -Wmissing-declarations warning
481 for inline functions.
482
aa7da51a
JJ
4832014-11-21 Jakub Jelinek <jakub@redhat.com>
484
485 PR target/63764
486 * c-typeck.c (build_array_ref): Adjust
487 convert_vector_to_pointer_for_subscript caller. If it returns true,
488 call non_lvalue_loc on the result.
489
d876207f
RB
4902014-11-11 Richard Biener <rguenther@suse.de>
491
492 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
493 to true.
494
e5e44252
AK
4952014-11-10 Andi Kleen <ak@linux.intel.com>
496
497 PR c/60804
498 * c-parser.c (c_parser_statement_after_labels): Call
499 check_no_cilk.
500 (c_parser_if_statement): Dito.
501 (c_parser_switch_statement): Dito.
502 (c_parser_while_statement): Dito.
503 (c_parser_do_statement): Dito.
504 (c_parser_for_statement): Dito.
505 * c-typeck.c (c_finish_loop): Dito.
506
13c21655
PC
5072014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
508
509 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
510 OPT_Wshift_count_overflow in the warnings.
511
2d51fcef
MP
5122014-10-30 Marek Polacek <polacek@redhat.com>
513
514 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
515 print the stripped version as well, if they're not the same.
516
ef4bddc2
RS
5172014-10-29 Richard Sandiford <richard.sandiford@arm.com>
518
519 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
520 machine_mode.
521
c582198b
AM
5222014-10-28 Andrew MacLeod <amacleod@redhat.com>
523
524 * c-decl.c: Adjust include files.
525 * c-parser.c: Ditto.
526
ddc8de03
PM
5272014-10-27 Phil Muldoon <pmuldoon@redhat.com>
528 Tom Tromey <tromey@redhat.com>
529
530 * c-tree.h (enum c_oracle_request): New.
531 (c_binding_oracle_function): New typedef.
532 (c_binding_oracle, c_pushtag, c_bind): Declare.
533 * c-decl.c (c_binding_oracle): New global.
534 (I_SYMBOL_CHECKED): New macro.
535 (i_symbol_binding): New function.
536 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
537 (I_TAG_CHECKED): New macro.
538 (i_tag_binding): New function.
539 (I_TAG_BINDING, I_TAG_DECL): Redefine.
540 (I_LABEL_CHECKED): New macro.
541 (i_label_binding): New function.
542 (I_LABEL_BINDING, I_LABEL_DECL): Redefine.
543 (c_print_identifier): Save and restore c_binding_oracle.
544 (c_pushtag, c_bind): New functions.
545
60393bbc
AM
5462014-10-27 Andrew MacLeod <amacleod@redhat.com>
547
548 * c-typeck.c: Adjust include files.
549
d723bb7c
MLI
5502014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
551
552 PR c++/53061
553 * c-objc-common.c (c_objc_common_init): Do not do diagnostics
554 initialization here...
555 (c_initialize_diagnostics): ... but here. Set defaults after
556 building pretty-printer.
557
1bc5a451
MP
5582014-10-23 Marek Polacek <polacek@redhat.com>
559
560 PR c/63626
561 * c-decl.c (pop_scope): Don't print warning in external_scope.
562
4435bb92
MP
5632014-10-19 Marek Polacek <polacek@redhat.com>
564
565 PR c/63567
566 * c-typeck.c (output_init_element): Allow initializing objects with
567 static storage duration with compound literals even in C99 and add
568 pedwarn for it.
569
7278465e
MP
5702014-10-17 Marek Polacek <polacek@redhat.com>
571
572 PR c/63567
573 * c-typeck.c (digest_init): Allow initializing objects with static
574 storage duration with compound literals even in C99 and add pedwarn
575 for it.
576
d9b7be2e
MP
5772014-10-17 Marek Polacek <polacek@redhat.com>
578
579 PR c/63543
580 * c-tree.h (C_TYPE_ERROR_REPORTED): Define.
581 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
582 error multiple times. Print the type.
583
f406ae1f
MP
5842014-10-17 Marek Polacek <polacek@redhat.com>
585
586 PR c/63549
587 * c-typeck.c (build_array_ref): Bail if the index in an incomplete
588 type.
589
92574c7c
MP
5902014-10-17 Marek Polacek <polacek@redhat.com>
591
592 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
593 (start_function): Use OPT_Wimplicit_int instead of 0.
594 (store_parm_decls_oldstyle): Likewise.
595
1bc4a978
MT
5962014-10-17 Alan Modra <amodra@gmail.com>
597
598 PR middle-end/61848
599 * c-decl.c (merge_decls): Don't merge section name or tls model
600 to newdecl symtab node, instead merge to olddecl. Override
601 existing olddecl section name. Set tls_model for all thread-local
602 vars, not just OMP thread-private ones. Remove incorrect comment.
603
83685514
AM
6042014-10-16 Andrew MacLeod <amacleod@redhat.com>
605
606 * c-decl.c: Adjust include files.
607
78a7c317
DD
6082014-10-14 DJ Delorie <dj@redhat.com>
609
610 * c-parser.c (c_parse_init): Add RID entries for each __intN.
611 (c_token_starts_typename): Check all __intN, not just __int128.
612 (c_token_starts_declspecs): Likewise.
613 (c_parser_declspecs): Likewise.
614 (c_parser_attribute_any_word): Likewise.
615 (c_parser_objc_selector): Likewise.
616 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
617 (struct c_declspecs): Add int_n_idx field to record *which* __intN
618 is specified.
619 * c-decl.c (declspecs_add_type): Check for all __intN, not just
620 __int128.
621 (finish_declspecs): Likewise.
622
74d98c1e
AB
6232014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
624
625 * c-parser.c (c_parser_all_labels): New function to replace
626 the duplicate code.
627 (c_parser_statement): Call the new function.
628
84937de2
MP
6292014-10-09 Marek Polacek <polacek@redhat.com>
630
631 PR c/63480
632 * c-typeck.c (pop_init_level): Don't warn about initializing
633 with { }.
634
0382aaa0
MP
6352014-10-07 Marek Polacek <polacek@redhat.com>
636
637 PR c/59717
638 * c-decl.c (header_for_builtin_fn): New function.
639 (implicitly_declare): Suggest which header to include.
640
7a0ca710
MP
6412014-10-07 Marek Polacek <polacek@redhat.com>
642
643 * c-convert.c (convert): Use error_operand_p.
644 * c-typeck.c (require_complete_type): Likewise.
645 (really_atomic_lvalue): Likewise.
646 (digest_init): Likewise.
647 (handle_omp_array_sections_1): Likewise.
648
6bc8a126
MP
6492014-10-03 Marek Polacek <polacek@redhat.com>
650
651 PR c/63453
652 * c-decl.c (pop_scope): Don't warn about "inline function declared
653 but never defined" for functions marked with gnu_inline attribute.
654
d90c0a59
JJ
6552014-09-25 Jakub Jelinek <jakub@redhat.com>
656
657 PR c++/63249
658 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
659 on low_bound and length.
660
083e891e
MP
6612014-09-24 Marek Polacek <polacek@redhat.com>
662
663 PR c/61405
664 PR c/53874
665 * c-parser.c: Don't define CPP_KEYWORD.
666 (c_parser_switch_statement): Pass original type to c_finish_case.
667 * c-tree.h (c_finish_case): Update declaration.
668 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
669 conditionally to c_do_switch_warnings.
670
8d95fe25
MP
6712014-09-03 Marek Polacek <polacek@redhat.com>
672
673 PR c/62024
674 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
675 conversions.
676
9a771876
JJ
6772014-09-02 Jakub Jelinek <jakub@redhat.com>
678 Balaji V. Iyer <balaji.v.iyer@intel.com>
679 Igor Zamyatin <igor.zamyatin@intel.com>
680
681 * c-parser.c (c_parser_cilk_for): New function.
682 (c_parser_cilk_grainsize): Likewise.
683 (c_get_temp_regvar): Likewise.
684 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
685 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
686 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
687 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
688 case.
689
b7679d96
CG
6902014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
691
692 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
693 with using HOST_WIDE_INT without truncation to 'int'
694
59ea0364
MP
6952014-08-22 Marek Polacek <polacek@redhat.com>
696
697 PR c++/62199
698 * c-typeck.c (parser_build_binary_op): Adjust call to
699 warn_logical_not_parentheses.
700
671a475e
IZ
7012014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
702
703 PR other/62008
704 * c-parser.c (c_parser_array_notation): Check for correct
705 type of an array added.
706
04159acf
MP
7072014-08-19 Marek Polacek <polacek@redhat.com>
708
709 PR c++/62153
710 * c-typeck.c (build_binary_op): If either operand of a comparison
711 is a boolean expression, call maybe_warn_bool_compare.
712
c77935ee
PP
7132014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
714
715 PR c/45584
716 * c-typeck.c (build_c_cast): Do a conversion even when the
717 TYPE_MAIN_VARIANTs are the same.
718
35aff4fb
MP
7192014-08-19 Marek Polacek <polacek@redhat.com>
720
721 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
722 pedwarn_c99 instead of pedwarn.
723 (grokfield): Likewise.
724 (warn_defaults_to): New function.
725 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
726 Unconditionally call pedwarn_c99 instead of pedwarn.
727 (start_function): Call warn_defaults_to instead of pedwarn_c99.
728 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
729 check flag_isoc11 before.
730 * c-errors.c (pedwarn_c99): Change the return type to bool.
731 Handle -Wc99-c11-compat.
732 * c-parser.c (disable_extension_diagnostics): Handle
733 warn_c99_c11_compat.
734 (restore_extension_diagnostics): Likewise.
735 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
736 instead of pedwarn, don't check flag_isoc11 before.
737 (c_parser_declspecs): Likewise.
738 (c_parser_alignas_specifier): Likewise.
739 (c_parser_alignof_expression): Likewise.
740 (c_parser_generic_selection): Likewise.
741 * c-tree.h (pedwarn_c99): Update declaration.
742 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
743 of pedwarn_c99.
744
177cce46
MP
7452014-08-19 Marek Polacek <polacek@redhat.com>
746
747 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
748 to pedwarn_c90.
749 * c-errors.c: Include "opts.h".
750 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
751 * c-parser.c (disable_extension_diagnostics): Handle negative value
752 of warn_c90_c99_compat, too.
753 (restore_extension_diagnostics): Likewise.
754 (c_parser_compound_statement_nostart): Pass
755 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
756
6dc99c33
MP
7572014-08-12 Marek Polacek <polacek@redhat.com>
758
759 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
760 Add pedwarn.
761 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
762 Likewise.
763 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
764
f3bede71
MP
7652014-08-10 Marek Polacek <polacek@redhat.com>
766
767 PR c/51849
768 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
769 Call pedwarn_c90 instead of pedwarn.
770 (check_bitfield_type_and_width): Likewise.
771 (declspecs_add_qual): Likewise.
772 (declspecs_add_type): Likewise.
773 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
774 Adjust to only call pedwarn_c90.
775 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
776 pedwarn_c90 instead of pedwarn.
777 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
778 * c-parser.c (disable_extension_diagnostics): Handle
779 warn_c90_c99_compat.
780 (restore_extension_diagnostics): Likewise.
781 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
782 pedwarn_c90 instead of pedwarn.
783 (c_parser_initelt): Likewise.
784 (c_parser_postfix_expression): Likewise.
785 (c_parser_postfix_expression_after_paren_type): Likewise.
786 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
787 * c-tree.h: Fix formatting.
788 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
789 pedwarn_c90 instead of pedwarn.
790
9f25a338
TS
7912014-08-07 Trevor Saunders <tsaunders@mozilla.com>
792
793 * c-typeck.c: Remove include of pointer-set.h.
794
044331a8
MP
7952014-08-07 Marek Polacek <polacek@redhat.com>
796
797 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
798
b787e7a2
TS
7992014-08-02 Trevor Saunders <tsaunders@mozilla.com>
800
801 * c-typeck.c: Use hash_map instead of pointer_map.
802
6e2830c3
TS
8032014-08-02 Trevor Saunders <tsaunders@mozilla.com>
804
805 * c-decl.c: Use hash_set instead of pointer_set.
806
a7ee52fb
IZ
8072014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
808
809 PR middle-end/61455
810 * c-array-notation.c (expand_array_notations): Handling
811 of DECL_EXPR added.
812
b4dfdc11
MG
8132014-07-31 Marc Glisse <marc.glisse@inria.fr>
814
815 PR c++/60517
816 * c-typeck.c (c_finish_return): Return 0 instead of the address of
817 a local variable.
818
976d5a22
TT
8192014-07-30 Tom Tromey <tromey@redhat.com>
820
821 * c-typeck.c (struct constructor_stack) <designator_depth>: New
822 field.
823 (really_start_incremental_init, push_init_level): Initialize
824 designator_depth.
825 (pop_init_level): Set global designator_depth.
826 (process_init_element): Check for designated_init attribute.
827
30281de2
MP
8282014-07-20 Marek Polacek <polacek@redhat.com>
829
830 PR c/61852
831 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
832 (implicitly_declare): Pass location to implicit_decl_warning.
833
b108f48f
JJ
8342014-07-14 Jakub Jelinek <jakub@redhat.com>
835
836 PR middle-end/61294
837 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
838 If non-NULL, call c_parser_check_literal_zero.
839 (c_parser_check_literal_zero): New function.
840 (c_parser_postfix_expression_after_primary): Adjust
841 c_parser_expr_list caller, handle -Wmemset-transposed-args.
842
773ec47f
MP
8432014-07-06 Marek Polacek <polacek@redhat.com>
844
845 PR c/6940
846 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
847 * c-tree.h (C_ARRAY_PARAMETER): Define.
848 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
849 function parameter.
850
22e1cf1c
JH
8512014-07-02 Jan Hubicka <hubicka@ucw.cz>
852 Chen Gang <gang.chen.5i5j@gmail.com>
853
854 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
855 releasing symbol.
856
52ec0ea3
MP
8572014-07-01 Marek Polacek <polacek@redhat.com>
858
859 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
860 instead of 0 to WARN_FOR_ASSIGNMENT.
861
d5c3d343
MP
8622014-07-01 Marek Polacek <polacek@redhat.com>
863
864 PR c/58286
865 * c-typeck.c (convert_for_assignment): Pass
866 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
867
6a7253a4
MP
8682014-06-30 Marek Polacek <polacek@redhat.com>
869
870 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
871 has no_sanitize_undefined attribute.
872
5e88a8f4
IZ
8732014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
874
875 PR middle-end/57541
876 * c-array-notation.c (fix_builtin_array_notation_fn):
877 Check for 0 arguments in builtin call. Check that bultin argument is
878 correct.
879 * c-parser.c (c_parser_array_notation): Check for incorrect initial
880 index.
881
9698b078
SH
8822014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
883
884 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
885 qualifiers in __auto_type for atomic types.
886 (c_parser_typeof_specifier): Discard all type qualifiers in
887 __typeof__ for atomic types.
888
6e07c515
MP
8892014-06-25 Marek Polacek <polacek@redhat.com>
890
891 PR c/61162
892 * c-parser.c (c_parser_statement_after_labels): Pass the location of
893 the return expression to c_finish_return.
894
da6f124d
JJ
8952014-06-25 Jakub Jelinek <jakub@redhat.com>
896
897 * c-typeck.c (c_finish_omp_clauses): Make sure
898 OMP_CLAUSE_LINEAR_STEP has correct type.
899
c203e8a7
TS
9002014-06-24 Trevor Saunders <tsaunders@mozilla.com>
901
902 * c-decl.c: Adjust.
903
56ad0e38
JJ
9042014-06-24 Jakub Jelinek <jakub@redhat.com>
905
906 * c-parser.c (c_parser_omp_for_loop): For
907 #pragma omp parallel for simd move lastprivate clause from parallel
908 to for rather than simd.
909
47c2554f
MP
9102014-06-23 Marek Polacek <polacek@redhat.com>
911
912 * c-typeck.c (parser_build_binary_op): Don't call
913 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
914
56363ffd
JH
9152014-06-15 Jan Hubicka <hubicka@ucw.cz>
916
917 * c-parser.c (c_parser_omp_threadprivate): Likewise.
918 * c-decl.c (merge_decls): Likewise.
919
d7ff7ae5
MP
9202014-06-09 Marek Polacek <polacek@redhat.com>
921
922 PR c/36446
923 * c-typeck.c (error_init): Call inform instead of error_at.
924 (pedwarn_init): Call inform instead of pedwarn.
925 (warning_init): Call inform instead of warning_at.
926
24d047a3
JH
9272014-06-07 Jan Hubicka <hubicka@ucw.cz>
928
929 * c-decl.c (merge_decls): Use set_decl_section_name.
930 (duplicate_decls): Remove node if it exists.
931
9bac5cbb
G
9322014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
933
934 PR c/53119
935 * c-typeck.c (push_init_level, process_init_element,
936 pop_init_level): Correct check for zero initialization, move
937 missing brace warning to respect zero initialization.
938
8ffcdea8
MP
9392014-06-05 Marek Polacek <polacek@redhat.com>
940
941 PR c/56724
942 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
943
742938c9
MP
9442014-06-05 Marek Polacek <polacek@redhat.com>
945
946 PR c/49706
947 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
948 on the left hand side operand of a comparison.
949
6447c55d
MP
9502014-06-05 Marek Polacek <polacek@redhat.com>
951
952 PR c/48062
953 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
954 Print note only if the warning was printed.
955
9dc7743c
IZ
9562014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
957
958 PR c/58942
959 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
960 with a pointer.
961
fedfecef
MP
9622014-06-03 Marek Polacek <polacek@redhat.com>
963
964 PR c/60439
965 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
966 c_start_case.
967 * c-tree.h (c_start_case): Update.
968 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
969 switch condition has boolean value.
970
9b2b7279
AM
9712014-06-02 Andrew MacLeod <amacleod@redhat.com>
972
973 * c-decl.c: Include builtins.h.
974 * c-parser.c: Likewise.
975
5c1bc275
MP
9762014-05-27 Marek Polacek <polacek@redhat.com>
977
978 PR c/56724
979 * c-typeck.c (convert_arguments): Get location of a parameter. Change
980 error and warning calls to error_at and warning_at. Pass location of
981 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
982 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
983 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
984
97563bc8
IZ
9852014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
986
987 PR c/61191
988 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
989 function parameters.
990
aede2c10
JH
9912014-05-23 Jan Hubicka <hubicka@ucw.cz>
992
993 * c-decl.c (merge_decls): Preserve symtab node pointers.
994 (duplicate_decls): Free new decl.
995
edbba2ce
TS
9962014-05-23 Thomas Schwinge <thomas@codesourcery.com>
997
f3316c6d
TS
998 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
999 initialization.
1000
edbba2ce
TS
1001 * c-parser.c (c_parser_omp_target): Return bool values.
1002
68c81f24
TS
10032014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1004
1005 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
1006 num_teams_loc variable to num_thread_limit_loc.
1007
632f2871
RS
10082014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1009
1010 * c-array-notation.c (expand_array_notations): Use void_node
1011 instead of void_zero_node.
1012
766090c2
TS
10132014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1014
1015 * c-decl.c (finish_struct): Adjust.
1016 (finish_enum): Likewise.
1017 (bind): Adjust.
1018 (record_inline_static): Likewise.
1019 (push_scope): Likewise.
1020 (make_label): Likewise.
1021 (lookup_label_for_goto): Likewise.
1022 (finish_struct): Likewise.
1023 (finish_enum): Likewise.
1024 (store_parm_decls): Likewise.
1025 (c_push_function_context): Likewise.
1026 * c-lang.h: Remove usage of variable_size gty attribute.
1027 * c-parser.c (c_parse_init): Adjust.
1028 (c_parse_file): Likewise.
1029
2b107f6b
MP
10302014-05-13 Marek Polacek <polacek@redhat.com>
1031
1032 PR c/61162
1033 * c-typeck.c (convert_for_assignment): Pass location to
1034 WARN_FOR_ASSIGNMENT instead of input_location.
1035
d033409e
MP
10362014-05-10 Marek Polacek <polacek@redhat.com>
1037
1038 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
1039 maybe_warn_string_init.
1040 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
1041 maybe_warn_string_init.
1042 * c-tree.h (maybe_warn_string_init): Update declaration.
1043 * c-typeck.c (maybe_warn_string_init): Add location parameter.
1044 Call pedwarn_init with loc instead of with input_location.
1045 (digest_init): Pass init_loc to maybe_warn_string_init.
1046 (pop_init_level): Call pedwarn_init with loc instead of with
1047 input_location.
1048 (set_init_index): Likewise.
1049 (process_init_element): Likewise.
1050
ea58ef42
MP
10512014-05-09 Marek Polacek <polacek@redhat.com>
1052
1053 PR c/61096
1054 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
1055 (c_parser_initelt): Pass location to set_init_label. Pass array index
1056 location to set_init_index.
1057 * c-tree.h (push_init_level): Update declaration.
1058 (pop_init_level): Likewise.
1059 (set_init_index): Likewise.
1060 (set_init_label): Likewise.
1061 * c-typeck.c (error_init): Add location parameter. Call error_at
1062 instead of error.
1063 (digest_init): Pass init_loc to error_init.
1064 (really_start_incremental_init):
1065 (push_init_level): Add location parameter. Pass loc to pop_init_level
1066 and error_init.
1067 (pop_init_level): Likewise.
1068 (set_designator): Add location parameter. Pass loc to pop_init_level,
1069 push_init_level, and error_init.
1070 (set_init_index): Add location parameter. Pass loc to error_init and
1071 set_designator.
1072 (set_init_label): Likewise.
1073 (output_init_element): Pass loc to error_init.
1074 (process_init_element): Pass loc to error_init, pop_init_level,
1075 pedwarn_init, and push_init_level.
1076
661a0813
MP
10772014-05-09 Marek Polacek <polacek@redhat.com>
1078
1079 PR c/50459
1080 * c-parser.c (c_parser_attributes): Parse the arguments as an
1081 expression-list if the attribute takes identifier.
1082
2793eeab
MP
10832014-05-08 Marek Polacek <polacek@redhat.com>
1084
1085 PR c/61053
1086 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
1087 TYPE_ALIGN_UNIT.
1088
f827930a
MP
10892014-05-08 Marek Polacek <polacek@redhat.com>
1090
1091 PR c/61077
1092 * c-decl.c (start_function): Warn for _Atomic-qualified return type
1093 of main.
1094
1d60af08
KZ
10952014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1096 Mike Stump <mikestump@comcast.net>
1097 Richard Sandiford <rdsandiford@googlemail.com>
1098
1099 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
1100 (finish_enum): Use wide-int interfaces.
1101 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
1102 * c-typeck.c (build_c_cast): Likewise.
1103 (set_nonincremental_init_from_string): Likewise.
1104 (c_tree_equal): Likewise.
1105
a0e24419
MP
11062014-05-02 Marek Polacek <polacek@redhat.com>
1107
1108 PR c/25801
1109 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
1110 Return size_one_node when the type is not complete.
1111 (pointer_diff): Remove comment.
1112 (build_unary_op): Improve error messages.
1113
19fc9faa
MP
11142014-05-02 Marek Polacek <polacek@redhat.com>
1115
1116 * c-typeck.c (c_finish_return): Separate warning_at calls.
1117
63bc4e87
MP
11182014-05-02 Marek Polacek <polacek@redhat.com>
1119
1120 * c-tree.h (error_init): Remove declaration.
1121 (pedwarn_init): Likewise.
1122 * c-typeck.c (error_init): Make static and move above.
1123 (pedwarn_init): Likewise.
1124 (warning_init): Move above.
1125 (maybe_warn_string_init): Likewise.
1126
4bd2511b
JL
11272014-05-01 Jeff Law <law@redhat.com>
1128
1129 Revert:
1130
1131 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1132 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
1133 avoid goto.
1134
6a358dcb
MP
11352014-05-02 Marek Polacek <polacek@redhat.com>
1136
1137 PR c/60784
1138 * c-typeck.c (push_init_level): Set constructor_designated to
1139 p->designated for structures.
1140
ae5ebda4
MP
11412014-05-01 Marek Polacek <polacek@redhat.com>
1142
1143 PR c/60915
1144 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
1145 function-definition has an attribute after the declarator.
1146
96b40f8d
MP
11472014-05-01 Marek Polacek <polacek@redhat.com>
1148
1149 PR c/60257
1150 * c-typeck.c (warning_init): Add location_t parameter. Call
1151 warning_at instead of warning.
1152 (push_init_level): Pass input_location to warning_init.
1153 (add_pending_init): Add location_t parameter. Pass loc to
1154 warning_init.
1155 (set_nonincremental_init): Pass input_location to add_pending_init.
1156 (set_nonincremental_init_from_string): Likewise.
1157 (output_init_element): Pass loc to warning_init and to
1158 add_pending_init.
1159
32e00768
MP
11602014-05-01 Marek Polacek <polacek@redhat.com>
1161
1162 PR c/43395
1163 * c-typeck.c (c_finish_return): Distinguish between label and variable
1164 when warning about returning local address.
1165
c9379ce2
MP
11662014-05-01 Marek Polacek <polacek@redhat.com>
1167
1168 PR c/29467
1169 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
1170 in C89 mode.
1171
d00887e8
MP
11722014-05-01 Marek Polacek <polacek@redhat.com>
1173
1174 PR c/43245
1175 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
1176 instead of 0 to WARN_FOR_QUALIFIERS.
1177
5436fa2e
MP
11782014-05-01 Marek Polacek <polacek@redhat.com>
1179
1180 PR c/56989
1181 * c-typeck.c (default_conversion): Use better location for
1182 error call.
1183
f8ed5150
MP
11842014-04-30 Marek Polacek <polacek@redhat.com>
1185
1186 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
1187 also when SANITIZE_FLOAT_DIVIDE is on.
1188
8337d1db
MP
11892014-04-30 Marek Polacek <polacek@redhat.com>
1190
1191 PR c/60139
1192 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
1193 and pedwarn_init. Use loc insted of input_location.
1194
c4bdc42f
MP
11952014-04-30 Marek Polacek <polacek@redhat.com>
1196
1197 PR c/60351
1198 * c-typeck.c (build_binary_op): Use location when warning about
1199 shift count.
1200
45484dcf
MP
12012014-04-25 Marek Polacek <polacek@redhat.com>
1202
1203 PR c/18079
1204 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
1205 always_inline/noinline and hot/cold attributes.
1206
34cf811f
MP
12072014-04-25 Marek Polacek <polacek@redhat.com>
1208
1209 PR c/60114
1210 * c-parser.c (c_parser_initelt): Pass input_location to
1211 process_init_element.
1212 (c_parser_initval): Pass loc to process_init_element.
1213 * c-tree.h (process_init_element): Adjust declaration.
1214 * c-typeck.c (push_init_level): Pass input_location to
1215 process_init_element.
1216 (pop_init_level): Likewise.
1217 (set_designator): Likewise.
1218 (output_init_element): Add location_t parameter. Pass loc to
1219 digest_init.
1220 (output_pending_init_elements): Pass input_location to
1221 output_init_element.
1222 (process_init_element): Add location_t parameter. Pass loc to
1223 output_init_element.
1224
42056eac
JJ
12252014-04-24 Jakub Jelinek <jakub@redhat.com>
1226
1227 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
1228 atomic-clause, allow comma in between atomic-clause and
1229 seq_cst.
1230
e162a134
JJ
12312014-04-22 Jakub Jelinek <jakub@redhat.com>
1232
1233 PR c/59073
1234 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
1235 fails, don't set OM_PARALLEL_COMBINED and return NULL.
1236
2f6babac
IZ
12372014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1238
1239 PR middle-end/60469
1240 * c-array-notation.c (fix_builtin_array_notation_fn): Use
1241 create_tmp_var instead build_decl for creating temps.
1242 (build_array_notation_expr): Likewise.
1243 (fix_conditional_array_notations_1): Likewise.
1244 (fix_array_notation_expr): Likewise.
1245 (fix_array_notation_call_expr): Likewise.
1246
8edbfaa6
JJ
12472014-03-28 Jakub Jelinek <jakub@redhat.com>
1248
1249 PR c++/60689
1250 * c-tree.h (c_build_function_call_vec): New prototype.
1251 * c-typeck.c (build_function_call_vec): Don't call
1252 resolve_overloaded_builtin here.
1253 (c_build_function_call_vec): New wrapper function around
1254 build_function_call_vec. Call resolve_overloaded_builtin here.
1255 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
1256 Call c_build_function_call_vec instead of build_function_call_vec.
1257 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
1258 * c-decl.c (finish_decl): Likewise.
1259
7485aeea
MLI
12602014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1261
1262 PR c/55383
1263 * c-typeck.c: Use correct format string in cast-qual warning
1264
b17a8b07
TS
12652014-03-07 Thomas Schwinge <thomas@codesourcery.com>
1266
1267 * c-decl.c (c_decl_attributes): Use
1268 lang_hooks.types.omp_mappable_type.
1269 * c-typeck.c (c_finish_omp_clauses): Likewise.
1270
3af9c5e9
MP
12712014-03-06 Marek Polacek <polacek@redhat.com>
1272
1273 PR c/60197
1274 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
1275 of checking tree code.
1276
1c9f5f33
PK
12772014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1278
1279 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
1280 (c_parser_parameter_declaration): Likewise.
1281
cc28fc7f
MP
12822014-02-19 Marek Polacek <polacek@redhat.com>
1283
1284 PR c/60195
1285 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
1286 Call mark_exp_read on exp.value.
1287 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
1288 TREE_ADDRESSABLE on old instead of val.
1289 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
1290
b581c05c
PK
12912014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1292
1293 * c-parser.c (c_parser_get_builtin_args): Replace calls to
1294 C_EXPR_APPEND by vec_safe_push.
1295 * c-tree.h (C_EXPR_APPEND): Remove.
1296
81e5eca8
MP
12972014-01-31 Marek Polacek <polacek@redhat.com>
1298
1299 PR c/59963
1300 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
1301 build_function_call_vec.
1302 (build_function_call): Likewise.
1303 (build_atomic_assign): Likewise.
1304 (build_function_call_vec): Add arg_loc parameter. Use it.
1305 (convert_arguments): Likewise.
1306 (convert_for_assignment): Rename rhs_loc to expr_loc.
1307 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
1308 (c_parser_objc_keywordexpr): Likewise.
1309 (c_parser_postfix_expression_after_primary): Call
1310 build_function_call_vec with expr_loc rather than op_loc.
1311 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
1312 build_function_call_vec.
1313 (c_parser_expr_list): Add locations parameter. Fill it with locations
1314 of function arguments.
1315 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
1316
68fca595
MP
13172014-01-30 Marek Polacek <polacek@redhat.com>
1318
1319 PR c/59940
1320 * c-typeck.c (build_function_call_vec): Use loc parameter.
1321 (convert_arguments): Add location parameter. Use it.
1322 (ep_convert_and_check): Likewise.
1323 (build_atomic_assign): Adjust convert_for_assignment call.
1324 (build_modify_expr): Likewise.
1325 (digest_init): Likewise.
1326 (c_finish_return): Likewise.
1327 (build_conditional_expr): Adjust ep_convert_and_check calls.
1328 (convert_for_assignment): Add rhs_loc parameter. Use it.
1329 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
1330 calls.
1331
fa337f3a
RB
13322014-01-30 Richard Biener <rguenther@suse.de>
1333
1334 PR c/59905
1335 * c-typeck.c (build_function_call_vec): Do not replace calls
1336 to a function via an incompatible type with a runtime abort.
1337
b72271b9
BI
13382014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1339
1340 * c-parser.c (c_parser_declaration_or_fndef): Replaced
1341 flag_enable_cilkplus with flag_cilkplus.
1342 (c_parser_direct_declarator_inner): Likewise.
1343 (c_parser_attribute_any_word): Likewise.
1344 (c_parser_attributes): Likewise.
1345 (c_parser_compound_statement): Likewise.
1346 (c_parser_statement_after_labels): Likewise.
1347 (c_parser_if_statement): Likewise.
1348 (c_parser_switch_statement): Likewise.
1349 (c_parser_do_statement): Likewise.
1350 (c_parser_for_statement): Likewise.
1351 (c_parser_unary_expression): Likewise.
1352 (c_parser_postfix_expression): Likewise.
1353 (c_parser_postfix_expression_after_primary): Likewise.
1354 (c_parser_postfix_expression_after_primary): Likewise.
1355 (c_parser_omp_clause_name): Likewise.
1356 (c_finish_omp_declare_simd): Likewise.
1357 (c_parser_cilk_verify_simd): Likewise.
1358 * c-typeck.c (build_array_ref): Likewise.
1359 (build_function_call_vec): Likewise.
1360 (convert_arguments): Likewise.
1361 (build_compound_expr): Likewise.
1362 (c_finish_return): Likewise.
1363 (c_finish_if_stmt): Likewise.
1364 (c_finish_loop): Likewise.
1365 (build_binary_op): Likewise.
1366
393e8e8b
MP
13672014-01-23 Marek Polacek <polacek@redhat.com>
1368
1369 PR c/59846
1370 * c-typeck.c (parser_build_binary_op): Use location instead of
1371 input_location.
1372 (build_binary_op): Pass location to shorten_compare.
1373
f04dda30
MP
13742014-01-23 Marek Polacek <polacek@redhat.com>
1375
1376 PR c/58346
1377 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
1378 an empty aggregate.
1379
789eadcd
MP
13802014-01-23 Marek Polacek <polacek@redhat.com>
1381
1382 PR c/59871
1383 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
1384 of a comma expression.
1385 (emit_side_effect_warnings): Likewise.
1386
40f14e9f
BI
13872014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1388
1389 PR c/59825
1390 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
1391 function to use walk_tree and moved a lot of its functionality to
1392 expand_array_notations.
1393 (expand_array_notations): New function.
1394
74558dd9
BI
13952014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1396
1397 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
1398 attribute an attribute without value.
1399
652fea39
JJ
14002014-01-23 Jakub Jelinek <jakub@redhat.com>
1401
1402 PR middle-end/58809
1403 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
1404 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
1405
f34f1c87
MP
14062014-01-22 Marek Polacek <polacek@redhat.com>
1407
1408 PR c/59891
1409 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
1410 of remove_c_maybe_const_expr on op1 and op2.
1411
241f845a
JJ
14122014-01-15 Jakub Jelinek <jakub@redhat.com>
1413
1414 PR c/58943
1415 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
1416 effects, preevaluate rhs using SAVE_EXPR first.
1417
9a74f20c
BI
14182014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
1419
1420 PR c++/59631
1421 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
1422 statements with if-elseif statements.
1423
96066ce1
MP
14242014-01-06 Marek Polacek <polacek@redhat.com>
1425
1426 PR c/57773
1427 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
1428 defined bit-field types only in ISO C.
1429
23a5b65a
RS
14302014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1431
1432 Update copyright years
1433
f9030485
RS
14342014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1435
1436 * c-array-notation.c: Use the standard form for the copyright notice.
1437
41958c28
BI
14382013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1439
1440 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
1441 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
1442 field in parser is not empty. If not-empty, call the function
1443 c_parser_finish_omp_declare_simd.
1444 (c_parser_cilk_clause_vectorlength): Modified function to be shared
1445 between SIMD-enabled functions and #pragma simd. Added new parameter.
1446 (c_parser_cilk_all_clauses): Modified the usage of the function
1447 c_parser_cilk_clause_vectorlength as mentioned above.
1448 (c_parser_cilk_simd_fn_vector_attrs): New function.
1449 (c_finish_cilk_simd_fn_tokens): Likewise.
1450 (is_cilkplus_vector_p): Likewise.
1451 (c_parser_omp_clause_name): Added checking for "vectorlength,"
1452 "nomask," and "mask" strings in clause name.
1453 (c_parser_omp_all_clauses): Added 3 new case statements:
1454 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
1455 PRAGMA_CILK_CLAUSE_NOMASK.
1456 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
1457 check for vector attribute and if so call the function
1458 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
1459 called the function c_finish_cilk_simd_fn_tokens.
1460 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
1461 parser field is non-empty. If so, parse them as you would parse
1462 the omp declare simd pragma.
1463 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
1464 Added a check when step is a parameter and flag it as error.
1465 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
1466 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
1467 pragma_omp_clause.
1468
cef0fd0e
TS
14692013-12-17 Thomas Schwinge <thomas@codesourcery.com>
1470
1471 * c-parser.c (c_parser_omp_parallel): Fix description.
1472
12893402
BI
14732013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1474
1475 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
1476 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1477 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
1478 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
1479
296674db
JM
14802013-12-04 Joseph Myers <joseph@codesourcery.com>
1481
1482 PR c/52023
1483 * c-parser.c (c_parser_alignas_specifier): Use
1484 c_sizeof_or_alignof_type instead of c_alignof.
1485 (c_parser_alignof_expression): Likewise, with min_alignof
1486 parameter depending on alignof spelling used.
1487
edd28054
MP
14882013-12-04 Marek Polacek <polacek@redhat.com>
1489
1490 PR c/54113
1491 * c-decl.c (start_function): Don't warn for missing prototype for
1492 inline functions.
1493
da0fc454
MP
14942013-12-03 Marek Polacek <polacek@redhat.com>
1495
1496 PR c/59351
1497 * c-decl.c (build_compound_literal): Allow compound literals with
1498 empty initial value.
1499
4c2ecab0
JM
15002013-12-02 Joseph Myers <joseph@codesourcery.com>
1501
1502 PR c/58235
1503 * c-typeck.c (build_modify_expr): Diagnose assignment to
1504 expression with array type.
1505
340baef7
JM
15062013-11-29 Joseph Myers <joseph@codesourcery.com>
1507
1508 PR c/42262
1509 * c-typeck.c (process_init_element): Do not treat a string as
1510 initializing a whole array when used with a designator for an
1511 individual element.
1512
6763b9f7
JM
15132013-11-29 Joseph Myers <joseph@codesourcery.com>
1514
1515 PR c/57574
1516 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
1517 an inline function following a static declaration.
1518
e7bd1de1
JJ
15192013-11-28 Jakub Jelinek <jakub@redhat.com>
1520
1521 PR c/59310
1522 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
1523 to p_name before calling c_parser_omp_teams instead of after.
1524 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
1525 argument. Remove unused p_name variable.
1526
0136f8f0
AH
15272013-11-27 Aldy Hernandez <aldyh@redhat.com>
1528 Jakub Jelinek <jakub@redhat.com>
1529
1530 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
1531 external_scope is NULL.
1532
241b71bb
TV
15332013-11-27 Tom de Vries <tom@codesourcery.com>
1534 Marc Glisse <marc.glisse@inria.fr>
1535
1536 PR c++/59032
1537 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
1538
2fb9a547
AM
15392013-11-22 Andrew MacLeod <amacleod@redhat.com>
1540
1541 * c-typeck.c: Add required include files from gimple.h.
1542
8400e75e
DM
15432013-11-22 David Malcolm <dmalcolm@redhat.com>
1544
1545 * c-decl.c (define_label, shadow_tag_warned)
1546 (check_bitfield_type_and_width, grokdeclarator, grokparms,
1547 store_parm_decls_newstyle, store_parm_decls_oldstyle)
1548 (declspecs_add_type): Remove use of in_system_header macro.
1549 * c-parser.c (c_parser_unary_expression): Likewise.
1550 * c-typeck.c (store_init_value, process_init_element)
1551 (c_start_case): Likewise.
1552
1553 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
1554 macro.
1555
1556 * c-parser.c (c_parser_set_source_position_from_token): Remove
1557 reference to in_system_header from comment.
1558
386b1f1f
RS
15592013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1560
1561 * c-decl.c (grokdeclarator): Update comment to refer to
1562 tree_to_[su]hwi rather than tree_low_cst.
1563
ae7e9ddd
RS
15642013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1565
1566 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
1567 tree_to_uhwi throughout.
1568
9439e9a1
RS
15692013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1570
1571 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
1572 throughout.
1573
9541ffee
RS
15742013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1575
1576 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
1577 throughout.
1578
c02065fc
AH
15792013-11-15 Aldy Hernandez <aldyh@redhat.com>
1580
1581 * c-parser.c (c_parser_cilk_simd): New.
1582 (c_parser_cilk_verify_simd): New.
1583 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
1584 (c_parser_omp_for_loop): Add case for NE_EXPR.
1585 Set c_break_label for CILK_SIMD.
1586 (c_parser_cilk_clause_vectorlength): New.
1587 (c_parser_cilk_clause_linear): New.
1588 (c_parser_cilk_clause_name): New.
1589 (c_parser_cilk_all_clauses): New.
1590 * c-typeck.c (build_unary_op): Pass location argument to
1591 readonly_error.
1592 (build_modify_expr): Same.
1593 (build_asm_expr): Same.
1594 (c_finish_bc_stmt): Error on break/continue in loops.
1595
18f429e2
AM
15962013-11-14 Andrew MacLeod <amacleod@redhat.com>
1597
1598 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
1599
d8a2d370
DN
16002013-11-14 Diego Novillo <dnovillo@google.com>
1601
1602 * c-decl.c: Include print-tree.h.
1603 Include stor-layout.h.
1604 Include varasm.h.
1605 Include attribs.h.
1606 Include stringpool.h.
1607 * c-lang.c: Include fold-const.h.
1608 * c-parser.c: Include stringpool.h.
1609 Include attribs.h.
1610 Include stor-layout.h.
1611 Include varasm.h.
1612 Include trans-mem.h.
1613 * c-typeck.c: Include stor-layout.h.
1614 Include trans-mem.h.
1615 Include varasm.h.
1616 Include stmt.h.
1617
38b7bc7f
JM
16182013-11-13 Joseph Myers <joseph@codesourcery.com>
1619
1620 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
1621 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
1622 __auto_type.
1623 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
1624 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
1625 RID_AUTO_TYPE.
1626 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
1627 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
1628 (c_parser_declarator, c_parser_direct_declarator_inner)
1629 (c_parser_parameter_declaration, c_parser_type_name): All callers
1630 changed.
1631 (c_parser_declaration_or_fndef): Handle declarations with type
1632 determined from the initializer.
1633
45b0be94
AM
16342013-11-12 Andrew MacLeod <amacleod@redhat.com>
1635
18f429e2 1636 * c-typeck.c: Include gimplify.h.
45b0be94 1637
582d9b50
JM
16382013-11-12 Joseph Myers <joseph@codesourcery.com>
1639
1640 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
1641 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
1642 comment.
1643 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
1644 or _Thread_local as appropriate in diagnostics.
1645 (build_null_declspecs): Initialize ret->thread_gnu_p.
1646 (declspecs_add_scspec): Handle either __thread or _Thread_local
1647 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
1648 pedantic. Do not disallow _Thread_local extern and _Thread_local
1649 static.
1650
267bac10
JM
16512013-11-07 Joseph Myers <joseph@codesourcery.com>
1652 Andrew MacLeod <amacleod@redhat.com>
1653
1654 * c-aux-info.c (gen_type): Handle atomic qualifier.
1655 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
1656 qualifiers when compating types.
1657 (shadow_tag_warned): Handle atomic_p in declspecs.
1658 (quals_from_declspecs): Likewise.
1659 (start_decl): Use c_type_promotes_to when promoting argument
1660 types.
1661 (grokdeclarator): Handle _Atomic.
1662 (get_parm_info): Diagnose any qualifier on "void" as only
1663 parameter.
1664 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
1665 comparing types. Use c_type_promotes_to when promoting argument
1666 types.
1667 (finish_function): Use c_type_promotes_to when promoting argument
1668 types.
1669 (build_null_declspecs): Handle atomic_p in declspecs.
1670 (declspecs_add_qual): Handle RID_ATOMIC.
1671 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
1672 (c_token_starts_declspecs): Handle RID_ATOMIC.
1673 (c_parser_declspecs): Handle atomic type specifiers and
1674 qualifiers.
1675 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
1676 from types of expressions with atomic type.
1677 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
1678 (c_parser_attribute_any_word): Handle RID_ATOMIC.
1679 (c_parser_initializer, c_parser_initelt, c_parser_initval)
1680 (c_parser_statement_after_labels, c_parser_switch_statement)
1681 (c_parser_for_statement, c_parser_expr_no_commas)
1682 (c_parser_conditional_expression, c_parser_binary_expression)
1683 (c_parser_cast_expression, c_parser_unary_expression)
1684 (c_parser_postfix_expression)
1685 (c_parser_postfix_expression_after_primary, c_parser_expression):
1686 Use convert_lvalue_to_rvalue.
1687 (c_parser_expression_conv, c_parser_expr_list): Document
1688 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
1689 (c_parser_objc_synchronized_statement): Use
1690 convert_lvalue_to_rvalue.
1691 (c_parser_objc_selector): Handle RID_ATOMIC.
1692 (c_parser_objc_receiver, c_parser_array_notation): Use
1693 convert_lvalue_to_rvalue.
1694 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
1695 _Atomic (type-name).
1696 (struct c_declspecs): Add atomic_p field.
1697 (convert_lvalue_to_rvalue): Declare.
1698 * c-typeck.c (c_type_promotes_to): Promote atomic types to
1699 corresponding atomic types.
1700 (qualify_type): Don't add _Atomic qualifiers from second argument.
1701 (comp_target_types): Do not allow _Atomic mismatches.
1702 (type_lists_compatible_p): Do not remove atomic qualifiers when
1703 comparing types.
1704 (really_atomic_lvalue, convert_lvalue_to_rvalue)
1705 (build_atomic_assign): New functions.
1706 (build_unary_op): Use build_atomic_assign for atomic increment and
1707 decrement.
1708 (build_conditional_expr): Do not treat _Atomic void as a qualified
1709 version of void.
1710 (build_modify_expr): Use build_atomic_assign for atomic LHS.
1711 (find_anonymous_field_with_type, convert_to_anonymous_field)
1712 (convert_for_assignment): Do not remove atomic qualifiers when
1713 comparing types.
1714 (digest_init): Do not accept initialization of arrays of atomic
1715 elements by string constants.
1716 (build_asm_expr): Use convert_lvalue_to_rvalue.
1717 (build_binary_op): Do not treat _Atomic void as a qualified
1718 version of void.
1719
0c249d4b
DD
17202013-11-06 DJ Delorie <dj@redhat.com>
1721
1722 * c-decl.c (locate_old_decl): If a previous conflicting decl is
1723 both explicit and builtin, print the location of the explicit one.
1724
6d7f7e0a
TB
17252013-11-05 Tobias Burnus <burnus@net-b.de>
1726
1727 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
1728 c_parser_omp_distribute, c_parser_omp_teams,
1729 c_parser_omp_target, c_parser_omp_declare): Handle
1730 -fopenmp-simd.
1731
b906f4ca
MP
17322013-11-03 Marek Polacek <polacek@redhat.com>
1733
1734 * c-decl.c (grokdeclarator): Add VLA instrumentation.
1735
ee1d5a02
JJ
17362013-11-01 Jakub Jelinek <jakub@redhat.com>
1737
1738 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
1739 check_dup_generic at the end, unless remove is true.
1740 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
1741 remove = true;.
1742 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
1743
5a9785fb
JJ
17442013-10-31 Jakub Jelinek <jakub@redhat.com>
1745
1746 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
1747 with decl that is not pointer nor array.
1748
939b37da
BI
17492013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1750
1751 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
1752 a spawning function is found.
1753 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
1754 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
1755 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1756 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
1757 case.
1758 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
1759 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
1760 expr.
1761 (c_finish_return): Added a check to reject _Cilk_spawn in return
1762 expression.
1763 (build_cilk_spawn): New function.
1764 (build_cilk_sync): Likewise.
1765 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
1766
d4af74d4
TB
17672013-10-27 Tobias Burnus <burnus@net-b.de>
1768
1769 PR other/33426
1770 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
1771 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
1772 (c_parser_statement_after_labels): Update calls.
1773
d73749df 17742013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
1775
1776 PR other/33426
1777 * c-parser.c (c_parser_pragma, c_parser_for_statement):
1778 Handle PRAGMA_IVDEP.
1779 (c_parser_statement_after_labels): Update call.
1780
f28aa681
MP
17812013-10-24 Marek Polacek <polacek@redhat.com>
1782
1783 * c-parser.c (c_parser_struct_declaration): Add a comment.
1784 (c_parser_declarator): Don't allow _Alignas here.
1785
0645c1a2
AM
17862013-10-17 Andrew MacLeod <amacleod@redhat.com>
1787
1788 * c-parser.c: Include omp-low.h.
1789 * c-typeck.c: Likewise.
1790
568a31f2
MP
17912013-10-17 Marek Polacek <polacek@redhat.com>
1792
1793 PR c/58267
1794 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
1795 Document syntax of the array-declarator.
1796 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
1797 are not permitted.
1798 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
1799 (c_parser_struct_declaration): Likewise.
1800 (c_parser_declarator): Likewise.
1801 (c_parser_direct_declarator_inner): Likewise.
1802 (c_parser_parameter_declaration): Likewise.
1803 (c_parser_type_name): Likewise.
1804
acf0174b
JJ
18052013-10-11 Jakub Jelinek <jakub@redhat.com>
1806
1807 * c-lang.h (current_omp_declare_target_attribute): New extern
1808 decl.
1809 * c-parser.c: Include c-lang.h.
1810 (struct c_parser): Change tokens to c_token *.
1811 Add tokens_buf field. Change tokens_avail type to unsigned int.
1812 (c_parser_consume_token): If parser->tokens isn't
1813 &parser->tokens_buf[0], increment parser->tokens.
1814 (c_parser_consume_pragma): Likewise.
1815 (enum pragma_context): Add pragma_struct and pragma_param.
1816 (c_parser_external_declaration): Adjust
1817 c_parser_declaration_or_fndef caller.
1818 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
1819 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
1820 Adjust recursive call.
1821 (c_parser_struct_or_union_specifier): Use pragma_struct instead
1822 of pragma_external.
1823 (c_parser_parameter_declaration): Use pragma_param instead of
1824 pragma_external.
1825 (c_parser_compound_statement_nostart, c_parser_label,
1826 c_parser_for_statement): Adjust
1827 c_parser_declaration_or_fndef callers.
1828 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
1829 it through to c_parser_conditional_expression.
1830 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
1831 pass it through to c_parser_binary_expression. Adjust recursive
1832 call.
1833 (c_parser_binary_expression): Remove prec argument, add
1834 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
1835 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
1836 binop matches it, use build2 instead of parser_build_binary_op.
1837 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
1838 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
1839 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
1840 Handle pragma_struct and pragma_param the same as pragma_external.
1841 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
1842 (c_parser_omp_variable_list): Parse array sections for
1843 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
1844 (c_parser_omp_clause_collapse): Fully fold collapse expression.
1845 (c_parser_omp_clause_reduction): Handle user defined reductions.
1846 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
1847 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
1848 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
1849 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
1850 c_parser_omp_clause_depend, c_parser_omp_clause_map,
1851 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
1852 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
1853 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
1854 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
1855 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
1856 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
1857 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
1858 (c_parser_omp_for_loop): Add CODE argument, pass it through
1859 to c_finish_omp_for. Change last argument to cclauses,
1860 and adjust uses to grab parallel clauses from the array of all
1861 the split clauses. Adjust c_parser_binary_expression,
1862 c_parser_declaration_or_fndef and c_finish_omp_for callers.
1863 (omp_split_clauses): New function.
1864 (c_parser_omp_simd): New function.
1865 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
1866 Allow the function to be called also when parsing combined constructs,
1867 and call c_parser_omp_simd when parsing for simd.
1868 (c_parser_omp_sections_scope): If section-sequence doesn't start with
1869 #pragma omp section, require exactly one structured-block instead of
1870 sequence of statements.
1871 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
1872 Allow the function to be called also when parsing combined constructs.
1873 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
1874 Allow the function to be called also when parsing combined
1875 constructs.
1876 (c_parser_omp_taskgroup, c_parser_omp_cancel,
1877 c_parser_omp_cancellation_point, c_parser_omp_distribute,
1878 c_parser_omp_teams, c_parser_omp_target_data,
1879 c_parser_omp_target_update, c_parser_omp_target,
1880 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
1881 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
1882 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
1883 (c_parser_omp_construct): Add p_name and mask vars. Handle
1884 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
1885 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
1886 and c_parser_omp_sections callers.
1887 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
1888 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
1889 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
1890 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
1891 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
1892 OMP_CLAUSE_DEPEND.
1893 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
1894 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
1895 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
1896 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
1897 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
1898 * c-typeck.c: Include tree-inline.h.
1899 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
1900 handle_omp_array_sections_1, handle_omp_array_sections,
1901 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
1902 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
1903 user defined reductions.
1904 (c_tree_equal): New function.
1905 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
1906 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
1907 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
1908 c_check_omp_declare_reduction_r): New prototypes.
1909 * c-decl.c (current_omp_declare_target_attribute): New variable.
1910 (c_decl_attributes): New function.
1911 (start_decl, start_function): Use it instead of decl_attributes.
1912 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
1913 c_omp_reduction_decl, c_omp_reduction_lookup,
1914 c_check_omp_declare_reduction_r): New functions.
1915
0a6c2227
TT
19162013-09-25 Tom Tromey <tromey@redhat.com>
1917
1918 * Make-lang.in (c/gccspec.o): Remove.
1919 (CFLAGS-c/gccspec.o): New variable.
1920 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
1921 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
1922 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
1923
f3bc55f0
TT
19242013-09-25 Tom Tromey <tromey@redhat.com>
1925
1926 * Make-lang.in (c/gccspec.o): Don't use subshell.
1927
a24d975c
MP
19282013-09-18 Marek Polacek <polacek@redhat.com>
1929
1930 PR sanitize/58443
1931 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
1932 Remove unnecessary check.
1933
ce6923c5
MP
19342013-09-18 Marek Polacek <polacek@redhat.com>
1935
1936 PR sanitizer/58411
1937 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
1938 no_sanitize_undefined attribute.
1939
a1e51df9
KT
19402013-09-13 Kai Tietz <ktietz@redhat.com>
1941
1942 PR target/57848
1943 * c-decl.c (c_builtin_function_ext_scope): Remove
1944 wrong assumption that it is never called on prexisting
1945 symbol.
1946
0af94e6f
JR
19472013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1948
1949 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
1950
20059c8b
GDR
19512013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1952
1953 * c-objc-common.c (c_tree_printer): Tidy.
1954
de5a5fa1
MP
19552013-08-30 Marek Polacek <polacek@redhat.com>
1956
1957 * c-typeck.c (build_binary_op): Add division by zero and shift
1958 instrumentation.
1959
2531a1d9 19602013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
0fdd4508 1961 Joseph Myers <joseph@codesourcery.com>
2531a1d9 1962
6e2bcc98 1963 PR c/35649
2531a1d9
JR
1964 * c-typeck.c (c_common_type): Prefer double_type_node over
1965 other REAL_TYPE types with the same precision.
1966 (convert_arguments): Likewise.
1967
025311c4
GDR
19682013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
1969
1970 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
1971 (c_initialize_diagnostics): Call a destructor for the early printer.
1972
da6ca2b5
GDR
19732013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1974
1975 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
1976 printer initialization.
1977
318cda85 19782013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
da6ca2b5 1979
318cda85
BI
1980 PR c/57490
1981 * c-array-notation.c (fix_conditional_array_notations_1): Added a
1982 check for truth values.
1983 (expand_array_notation_exprs): Added truth values case. Removed an
1984 unwanted else. Added for-loop to walk through subtrees in default
1985 case.
1986
b066401f
GDR
19872013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1988
1989 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
1990
fb48aadc
JM
19912013-07-23 Joseph Myers <joseph@codesourcery.com>
1992
1993 * c-parser.c (struct c_generic_association): Fix typo.
1994
433cc7b0
TT
19952013-07-23 Tom Tromey <tromey@redhat.com>
1996 Joseph Myers <joseph@codesourcery.com>
1997
1998 * c-parser.c (struct c_generic_association): New.
1999 (c_generic_association_d): New typedef.
2000 (c_parser_generic_selection): New function.
2001 (c_parser_postfix_expression): Handle RID_GENERIC.
2002
26d40c3d
JM
20032013-07-13 Jason Merrill <jason@redhat.com>
2004
2005 PR c++/57793
2006 * c-decl.c (finish_struct): Check for too-large class.
2007
ecdbd01a 20082013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
2009
2010 PR c/57821
2011 * c-typeck.c (set_init_index): When folding, check for index overflow.
2012
1141ed3f
BI
20132013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2014
2015 * c-parser.c (c_parser_array_notation): Removed rejection of array
2016 notations in an array of function pointers.
2017
713b46fa
BI
20182013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2019
2020 * c-array-notation.c (make_triplet_val_inv): New function.
2021 (create_cmp_incr): Likewise.
2022 (create_array_refs): Likewise.
2023 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
2024 Also modularized common parts between functions and called the function.
2025 (build_array_notation_expr): Likewise.
2026 (fix_conditional_array_notations_1): Likewise.
2027 (fix_array_notation_expr): Likewise.
2028 (fix_array_notation_call_expr): Likewise.
2029
92f20202
MP
20302013-06-18 Marek Polacek <polacek@redhat.com>
2031
2032 PR c/57630
2033 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
2034
73a23b06
BI
20352013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
2036
2037 * c-array-notation.c (build_array_notation_expr): Reject array notation
2038 mismatch between LHS and RHS even inside a call_expr. Also, removed
2039 a couple while statements that were dead code.
2040
00b8517d
BI
20412013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
2042
2043 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
2044 excessive precision expressions in function parameters. Also removed
2045 couple unwanted while statements.
2046
1509bdda
BI
20472013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2048
2049 * c-array-notation.c (expand_array_notation_exprs): Added
2050 ARRAY_NOTATION_REF case.
2051
d60f1706
BI
20522013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2053
2054 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
2055 function to c-family/array-notation-common.c.
2056 (is_cilkplus_reduce_builtin): Likewise.
2057 (find_rank): Likewise.
2058 (extract_array_notation_exprs): Likewise.
2059 (replace_array_notations): Likewise.
2060 (find_inv_trees): Likewise.
2061 (replace_inv_trees): Likewise.
2062 (contains_array_notation_expr): Likewise.
2063 (find_correct_array_notation_type): Likewise.
2064 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
2065 (struct inv_list): Moved this to c-family/array-notation-common.c.
2066 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
2067
6d6efbb3
BI
20682013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
2069
2070 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
2071 reduction functions outside the for-loop. Added a check if the fundecl
2072 is non-NULL. Finally, removed an unwanted if-statement, and made the
2073 body unconditional.
2074
25c22937
BI
20752013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
2076
2077 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
2078 condition of the if-statement matches the rank of else-block and then-
2079 block when array notations are used.
2080 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
2081 expression after the entire function body is parsed.
2082 (c_parser_expr_no_commas): Delayed creating array notation expressions
2083 to the end of function parsing.
2084 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
2085 whole if-statement instead of just the condition.
2086 (expand_array_notation_exprs): Added MODIFY_EXPR case.
2087
edd25645
BI
20882013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
2089
2090 PR c/57474
2091 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
2092 array to NULL_TREE if they are unused. Also added a check for the
2093 field to be NULL before its fields are used in future.
2094
065ce7f1
RO
20952013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2096
2097 PR bootstrap/57450
2098 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
2099 (build_array_notation_expr): Likewise.
2100
36536d79
BI
21012013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2102
2103 * c-typeck.c (build_array_ref): Added a check to see if array's
2104 index is greater than one. If true, then emit an error.
2105 (build_function_call_vec): Exclude error reporting and checking
2106 for builtin array-notation functions.
2107 (convert_arguments): Likewise.
2108 (c_finish_return): Added a check for array notations as a return
2109 expression. If true, then emit an error.
2110 (c_finish_loop): Added a check for array notations in a loop
2111 condition. If true then emit an error.
2112 (lvalue_p): Added a ARRAY_NOTATION_REF case.
2113 (build_binary_op): Added a check for array notation expr inside
2114 op1 and op0. If present, we call another function to find correct
2115 type.
2116 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
2117 * c-parser.c (c_parser_compound_statement): Check if array
2118 notation code is used in tree, if so, then transform them into
2119 appropriate C code.
2120 (c_parser_expr_no_commas): Check if array notation is used in LHS
2121 or RHS, if so, then build array notation expression instead of
2122 regular modify.
2123 (c_parser_postfix_expression_after_primary): Added a check for
2124 colon(s) after square braces, if so then handle it like an array
2125 notation. Also, break up array notations in unary op if found.
2126 (c_parser_direct_declarator_inner): Added a check for array
2127 notation.
2128 (c_parser_compound_statement): Added a check for array notation in
2129 a stmt. If one is present, then expand array notation expr.
2130 (c_parser_if_statement): Likewise.
2131 (c_parser_switch_statement): Added a check for array notations in
2132 a switch statement's condition. If true, then output an error.
2133 (c_parser_while_statement): Similarly, but for a while.
2134 (c_parser_do_statement): Similarly, but for a do-while.
2135 (c_parser_for_statement): Similarly, but for a for-loop.
2136 (c_parser_unary_expression): Check if array notation is used in a
2137 pre-increment or pre-decrement expression. If true, then expand
2138 them.
2139 (c_parser_array_notation): New function.
2140 * c-array-notation.c: New file.
2141 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
2142
cd192ccc
MS
21432013-05-23 Mike Stump <mikestump@comcast.net>
2144
2145 * c-typeck.c (convert_for_assignment): Handle references to memory
2146 spaces better.
2147
427b248d
JM
21482013-05-16 Jason Merrill <jason@redhat.com>
2149
2150 * Make-lang.in (cc1$(exeext)): Use link mutex.
2151
44d90fe1
PC
21522013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2153
2154 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
2155 to simply use OPT_Wpointer_arith.
2156 (build_unary_op): Likewise.
2157
4e7d7b3d
JJ
21582013-04-03 Jakub Jelinek <jakub@redhat.com>
2159
2160 PR c/19449
2161 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
2162 argument. If set, or it temporarily for parsing of the first
2163 argument into force_folding_builtin_constant_p.
2164 (c_parser_postfix_expression): Adjust callers.
2165
839b422f
RB
21662013-03-21 Richard Biener <rguenther@suse.de>
2167
2168 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
2169 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
2170
2ee028f1
MP
21712013-02-12 Marek Polacek <polacek@redhat.com>
2172
2173 PR c/44938
2174 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
2175 origtypes to NULL.
2176
8824edff
JJ
21772013-01-24 Jakub Jelinek <jakub@redhat.com>
2178
2179 PR c/56078
2180 * c-typeck.c (set_nonincremental_init_from_string): If
2181 constructor_max_index is NULL, treat it as if tree_int_cst_lt
2182 returned false.
2183 (process_init_element): Likewise.
2184
eadd3d0d
JJ
21852012-12-20 Jakub Jelinek <jakub@redhat.com>
2186
2187 PR c++/55619
2188 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
2189 argument, don't call default_function_array_conversion
2190 nor c_fully_fold here.
2191 (c_parser_asm_statement): Adjust callers.
2192 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
2193 and outputs here, and call default_function_array_conversion
2194 on inputs that don't need to be addressable.
2195
f8a93a2e
JJ
21962012-12-18 Jakub Jelinek <jakub@redhat.com>
2197
2198 PR c/39464
2199 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
2200 warning require that both c_common_unsigned_type as well as
2201 c_common_signed_type is the same for both mvl and mvr types.
2202
9771b263
DN
22032012-11-16 Diego Novillo <dnovillo@google.com>
2204
2205 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
2206
2207 * c-common.c: Use new vec API in vec.h.
2208 * c-common.h: Likewise.
2209 * c-gimplify.c: Likewise.
2210 * c-pragma.c: Likewise.
2211 * c-pretty-print.c: Likewise.
2212 * c-pretty-print.h: Likewise.
2213 * c-semantics.c: Likewise.
2214 * c-decl.c: Likewise.
2215 * c-parser.c: Likewise.
2216 * c-tree.h: Likewise.
2217 * c-typeck.c: Likewise.
2218
880661a4
JW
22192012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2220
2221 PR c++/54930
2222 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
2223
077d1abe
MLI
22242012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2225
2226 PR c/53066
2227 * c-decl.c (warn_if_shadowing): Do not warn if a variable
2228 shadows a function, unless the variable is a function or a
2229 pointer-to-function.
2230
3a785c97
JJ
22312012-10-12 Jakub Jelinek <jakub@redhat.com>
2232
2233 PR c/54381
2234 * c-parser.c (struct c_tree_loc_pair): Removed.
2235 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
2236 add location_t * and tree * arguments, fill in array of 3
2237 sizeof_arg trees and corresponding locs.
2238 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
2239 c_parser_expr_list callers.
2240 (c_parser_postfix_expression_after_primary): Likewise. Pass
2241 array of 3 sizeof_arg trees and locs (corresponding to first
2242 3 arguments) to sizeof_pointer_memaccess_warning.
2243
703c8606
LC
22442012-10-09 Lawrence Crowl <crowl@google.com>
2245
2246 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
2247 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
2248 hash table.
2249
5d9de0d0
PC
22502012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2251
2252 PR c++/54194
2253 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
2254 call.
2255
a212e43f
MG
22562012-10-09 Marc Glisse <marc.glisse@inria.fr>
2257
2258 PR c++/54427
2259 * c-typeck.c: Include c-common.h.
2260 (enum stv_conv): Moved to c-common.h.
2261 (scalar_to_vector): Moved to c-common.c.
2262 (build_binary_op): Adapt to scalar_to_vector's new prototype.
2263 * Make-lang.in: c-typeck.c depends on c-common.h.
2264
3b78de56
AC
22652012-10-04 Arnaud Charlet <charlet@adacore.com>
2266
2267 * c-decl.c (c_write_global_declarations): Fix handling of
2268 -fdump-ada-spec*.
2269
78c60e3d
SS
22702012-09-30 Sharad Singhai <singhai@google.com>
2271
2272 * c-decl.c (c_write_global_declarations): Use a different method
2273 to determine if the dump has ben initialized.
2274
9f33203d
JM
22752012-09-14 Joseph Myers <joseph@codesourcery.com>
2276
2277 PR c/54552
2278 * c-typeck.c (c_cast_expr): When casting to a type requiring
2279 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
2280 c_fully_fold first.
2281
a27d595d
JM
22822012-09-14 Joseph Myers <joseph@codesourcery.com>
2283
2284 PR c/54103
2285 * c-typeck.c (build_unary_op): Pass original argument of
2286 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
2287 any C_MAYBE_CONST_EXPR, if it has integer operands.
2288 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
2289 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
2290 to c_objc_common_truthvalue_conversion, then remove any
2291 C_MAYBE_CONST_EXPR, if they have integer operands. Use
2292 c_objc_common_truthvalue_conversion not
2293 c_common_truthvalue_conversion.
2294 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2295 call note_integer_operands for arguments with integer operands
2296 that are not integer constants.
2297
9feb29df
JJ
22982012-09-13 Jakub Jelinek <jakub@redhat.com>
2299
2300 PR c/54559
2301 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2302 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2303
d409320c
JJ
23042012-08-31 Jakub Jelinek <jakub@redhat.com>
2305
2306 PR c/54428
2307 * c-convert.c (convert): Don't call fold_convert_loc if
2308 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
2309 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
2310 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
2311
6265d07c
JJ
23122012-08-24 Jakub Jelinek <jakub@redhat.com>
2313
2314 PR c/54355
2315 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
2316 for nested and empty_ok arguments in the call to
2317 c_parser_declaration_or_fndef.
2318
1a4049e7
JJ
23192012-08-17 Jakub Jelinek <jakub@redhat.com>
2320
2321 * c-tree.h (c_last_sizeof_arg): Declare.
2322 * c-parser.c (struct c_tree_loc_pair): New type.
2323 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
2324 non-NULL.
2325 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
2326 (c_parser_postfix_expression_after_primary): Likewise. Call
2327 sizeof_pointer_memaccess_warning if needed.
2328 (sizeof_ptr_memacc_comptypes): New function.
2329 * c-typeck.c (c_last_sizeof_arg): New global variable.
2330 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
2331
0229aee9
UB
23322012-07-24 Uros Bizjak <ubizjak@gmail.com>
2333
2334 * c-lang.h (lang_decl): Add variable_size GTY option.
2335
7ee2468b
SB
23362012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2337
2338 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
2339 * Make-lang.in: Fix dependencies.
2340
d4a10d0a
SB
23412012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2342
2343 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
2344 and add language Makefile hooks.
2345 * config-lang.in: New file.
2346 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
2347 add the required "normal" config-lang.in rules.
2348 * c-lang.h: Moved from gcc/ to here.
2349 * c-tree.h: Likewise.
2350 * c-objc-common.c: Likewise.
2351 * c-objc-common.h: Likewise.
2352 * c-typeck.c: Likewise.
2353 * c-convert.c: Likewise.
2354 * c-lang.c: Likewise.
2355 * c-aux-info.c: Likewise.
2356 * c-errors.c: Likewise.
2357 * gccspec.c: Likewise.
2358 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
2359 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
2360\f
5624e564 2361Copyright (C) 2012-2015 Free Software Foundation, Inc.
d4a10d0a
SB
2362
2363Copying and distribution of this file, with or without modification,
2364are permitted in any medium without royalty provided the copyright
2365notice and this notice are preserved.
This page took 0.982227 seconds and 5 git commands to generate.