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