]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
* configure.tgt: Add missing ;; in between nvptx and rtems
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
bd66724c 12015-09-02 Marek Polacek <polacek@redhat.com>
2
3 PR c/67432
4 * c-parser.c (c_parser_enum_specifier): Give a better error for
5 an empty enum.
6
6dc50383 72015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
8
9 * c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.
10
7ad1d78d 112015-08-12 Marek Polacek <polacek@redhat.com>
12
13 * c-decl.c (grokdeclarator): Call error_at instead of error and pass
14 LOC to it.
15
c9099388 162015-08-03 Marek Polacek <polacek@redhat.com>
17
18 PR c/67088
19 * c-decl.c (check_bitfield_type_and_width): Add location parameter.
20 Use it.
21 (grokdeclarator): Pass LOC down to check_bitfield_type_and_width.
22
9255be07 232015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
24
25 * c-parser.c (c_parser_if_body): Take token_indent_info
26 argument. Call warn_for_misleading_indentation even when the
27 body is a semicolon. Extract token_indent_infos corresponding
28 to the guard, body and next tokens. Adjust call to
29 warn_for_misleading_indentation accordingly.
30 (c_parser_else_body): Likewise.
31 (c_parser_if_statement): Likewise.
32 (c_parser_while_statement): Likewise.
33 (c_parser_for_statement): Likewise.
34
dbbd4c6d 352015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
36 Manuel López-Ibáñez <manu@gcc.gnu.org>
37
38 * c-decl.c (get_parm_info): Remove static var. Update warning
39 message.
40
6784a472 412015-07-27 Marek Polacek <polacek@redhat.com>
42
43 PR c++/66555
44 PR c/54979
45 * c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp.
46
8d669e79 472015-07-20 Marek Polacek <polacek@redhat.com>
48
49 PR c++/55095
50 * c-typeck.c (digest_init): Pass OPT_Wpedantic to pedwarn_init.
51 (build_binary_op): Warn about left shift overflows.
52
1eacc14a 532015-07-09 Andrew MacLeod <amacleod@redhat.com>
54
55 * c-array-notation.c: Adjust includes for flags.h changes.
56 * c-objc-common.c: Likewise.
57
9ef16211 582015-07-07 Andrew MacLeod <amacleod@redhat.com>
59
60 * c-array-notation.c: Adjust includes.
61 * c-aux-info.c: Likewise.
62 * c-convert.c: Likewise.
63 * c-decl.c: Likewise.
64 * c-errors.c: Likewise.
65 * c-lang.c: Likewise.
66 * c-objc-common.c: Likewise.
67 * c-parser.c: Likewise.
68 * c-typeck.c: Likewise.
69
0949f227 702015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
71
72 PR fortran/66605
73 * c-decl.c (finish_function): Call do_warn_unused_parameter.
74
be23b16f 752015-06-29 Marek Polacek <polacek@redhat.com>
76
77 PR c/66322
78 * c-typeck.c (struct c_switch): Add BOOL_COND_P and OUTSIDE_RANGE_P.
79 (c_start_case): Set BOOL_COND_P and OUTSIDE_RANGE_P. Don't warn
80 about -Wswitch-bool here.
81 (do_case): Update c_add_case_label call.
82 (c_finish_case): Update c_do_switch_warnings call.
83
6290f0db 842015-06-27 Marek Polacek <polacek@redhat.com>
85
86 * c-typeck.c: Use VECTOR_TYPE_P throughout.
87
aa3e402e 882015-06-26 Marek Polacek <polacek@redhat.com>
89
90 * c-array-notation.c (fix_builtin_array_notation_fn): Use
91 INDIRECT_REF_P.
92 * c-typeck.c (array_to_pointer_conversion): Likewise.
93 (build_unary_op): Likewise.
94 (c_finish_return): Likewise.
95
ec2e0095 962015-06-25 Andrew MacLeod <amacleod@redhat.com>
97
98 * c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
99 * c-parser.c: Likewise.
100
770ff93b 1012015-06-25 Richard Sandiford <richard.sandiford@arm.com>
102
103 * c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
104 instead of pointer_hash.
105 (detect_field_duplicates): Likewise.
106
f48c7f4a 1072015-06-25 Marek Polacek <polacek@redhat.com>
108
109 * c-array-notation.c: Use VAR_P throughout.
110 * c-decl.c: Likewise.
111 * c-objc-common.c: Likewise.
112 * c-parser.c: Likewise.
113 * c-typeck.c: Likewise.
114
ce41e81a 1152015-06-25 Marek Polacek <polacek@redhat.com>
116
117 * c-decl.c: Use is_global_var throughout.
118 * c-parser.c: Likewise.
119 * c-typeck.c: Likewise.
120
f2ab3bac 1212015-06-17 Andrew MacLeod <amacleod@redhat.com>
122
123 * c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
124 * c-aux-info.c: Likewise.
125 * c-convert.c: Likewise.
126 * c-decl.c: Likewise.
127 * c-errors.c: Likewise.
128 * c-lang.c: Likewise.
129 * c-objc-common.c: Likewise.
130 * c-parser.c: Likewise.
131 * c-typeck.c: Likewise.
132
647730ab 1332015-06-11 Jan Hubicka <hubicka@ucw.cz>
134
135 PR middle-end/66325
136 * c-decl.c (start_enum): Set TYPE_PACKED consistently among type
137 variants.
138
dd4b0a0d 1392015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
140
141 * c-decl.c (pop_scope): Register the main translation unit
142 through the new debug hook.
143
64486212 1442015-06-08 Andrew MacLeod <amacleod@redhat.com>
145
146 * c-array-notation.c : Adjust include files.
147 * c-aux-info.c : Likewise.
148 * c-convert.c : Likewise.
149 * c-decl.c : Likewise.
150 * c-errors.c : Likewise.
151 * c-lang.c : Likewise.
152 * c-lang.h : Likewise.
153 * c-objc-common.c : Likewise.
154 * c-parser.c : Likewise.
155 * c-typeck.c : Likewise.
156
3a1c9df2 1572015-06-05 Aldy Hernandez <aldyh@redhat.com>
158
159 * c-decl.c (finish_struct): Save C_TYPE_INCOMPLETE_VARS and
160 immediately clobber it.
161 (c_write_global_declarations_1): Remove call to
162 check_global_declaration_1.
163 (c_write_global_declarations_2): Remove.
164 (c_write_final_cleanups): Rename from c_write_global_declarations.
165 Remove call to finalize_compilation_unit.
166 Remove calls to debugging hooks.
167 * c-objc-common.c: Adjust comment for c_warn_unused_global_decl.
168 * c-objc-common.h: Remove LANG_HOOKS_WRITE_GLOBALS.
169 * c-tree.h: Remove c_write_global_declarations.
170
f77c0292 1712015-06-04 Andrew MacLeod <amacleod@redhat.com>
172
173 * c-array-notation.c: Adjust includes for restructured coretypes.h.
174 * c-aux-info.c: Likewise.
175 * c-convert.c: Likewise.
176 * c-decl.c: Likewise.
177 * c-errors.c: Likewise.
178 * c-lang.c: Likewise.
179 * c-objc-common.c: Likewise.
180 * c-parser.c: Likewise.
181 * c-typeck.c: Likewise.
182
b44134dc 1832015-06-04 Marek Polacek <polacek@redhat.com>
184
185 PR c/66341
186 * c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if
187 it is a lvalue.
188
d1df0bfc 1892015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
190
191 * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
192 Warn for empty struct.
193 (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct.
194
f8363c5d 1952015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
196
197 * c-decl.c (start_function): Call plugin before parsing.
198 (finish_function): Call plugin after parsing.
199
5b9761f5 2002015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
201
202 PR c/49551
203 * c-decl.c (merge_decls): Merge DECL_COMMON.
204
eeec71b4 2052015-05-22 Jim Wilson <jim.wilson@linaro.org>
206
207 * Make-lang.in (check_gcc_pallelize): Define.
208
5a4c69dd 2092015-05-22 Marek Polacek <polacek@redhat.com>
210
211 PR c/47043
212 * c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
213 attributes.
214
5650b4ff 2152015-05-21 Marek Polacek <polacek@redhat.com>
216
217 * c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
218 DECL_BUILT_IN.
219
b443c459 2202015-05-20 Marek Polacek <polacek@redhat.com>
221
222 * c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
223 * c-typeck.c: Likewise.
224
9e73638f 2252015-05-19 Marek Polacek <polacek@redhat.com>
226
227 * c-typeck.c (start_init): Use AGGREGATE_TYPE_P.
228
d7729e26 2292015-05-19 Jakub Jelinek <jakub@redhat.com>
230
231 PR middle-end/66199
232 * c-parser.c (c_parser_omp_for_loop): Don't add
233 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
234 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
235 (c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
236 constructs.
237
dfcf26a5 2382015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
239
240 * c-typeck.c (build_array_ref): Use std::swap instead of explicit
9e73638f 241 swaps.
dfcf26a5 242
09172322 2432015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
244
245 PR fortran/44054
246 * c-objc-common.c (c_tree_printer): Replace locus pointer with
247 accessor function.
248
aac24642 2492015-05-14 Marek Polacek <polacek@redhat.com>
250
251 PR c/66066
252 PR c/66127
253 * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
254 rather than with 0.
255
e5f01cba 2562015-05-12 David Malcolm <dmalcolm@redhat.com>
257
258 * c-parser.c (c_parser_if_body): Add param "if_loc", use it
259 to add a call to warn_for_misleading_indentation.
260 (c_parser_else_body): Likewise, adding param "else_loc".
261 (c_parser_if_statement): Check for misleading indentation.
262 (c_parser_while_statement): Likewise.
263 (c_parser_for_statement): Likewise.
264
dc5945dc 2652015-05-08 Marek Polacek <polacek@redhat.com>
266
267 PR c/64918
268 * c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
269 (output_init_element): Likewise.
270
cdc64059 2712015-05-07 Marek Polacek <polacek@redhat.com>
272
273 PR c/65179
274 * c-typeck.c (build_binary_op): Warn when left shifting a negative
275 value.
276
6fa7118e 2772015-04-30 Marek Polacek <polacek@redhat.com>
278
279 * c-typeck.c (set_init_label): Call error_at instead of error and
280 pass LOC to it.
281
98f44804 282 * c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print
283 the type of a decl.
284
2cd7caae 285 * c-typeck.c (c_build_va_arg): Clarify the error message.
286
95cfd391 2872015-04-29 Thomas Schwinge <thomas@codesourcery.com>
288
289 * c-parser.c (c_parser_oacc_enter_exit_data): Use
290 OMP_STANDALONE_CLAUSES.
291
e65e39f8 2922015-04-28 Marek Polacek <polacek@redhat.com>
293
294 * c-parser.c (c_parser_binary_expression): Remove duplicate line.
295
5580bf42 2962015-04-28 Marek Polacek <polacek@redhat.com>
297
298 PR c/65901
299 * c-typeck.c (c_build_va_arg): Require TYPE be a complete type.
300
c3468fc2 3012015-04-25 Marek Polacek <polacek@redhat.com>
302
303 PR c/52085
304 * c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode"
305 attribute.
306
0cd6b1b4 3072015-04-23 Marek Polacek <polacek@redhat.com>
308
309 PR c/65345
310 * c-decl.c (set_labels_context_r): New function.
311 (store_parm_decls): Call it via walk_tree_without_duplicates.
312 * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
313 instead of create_tmp_var. Build TARGET_EXPR instead of
314 COMPOUND_EXPR.
315 (build_atomic_assign): Use create_tmp_var_raw instead of
316 create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR.
317
05a827ce 3182015-04-20 Ilya Verbin <ilya.verbin@intel.com>
319
320 * c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon.
321 (c_parser_omp_target_update): Add missed %> to error_at ().
322
de801c28 3232015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
324
325 PR target/55143
326 * c-decl.c (c_default_pointer_mode): Remove definition.
327 * c-tree.h (c_default_pointer_mode): Remove declaration.
328
c3b1dca4 3292015-03-27 Tobias Burnus <burnus@net-b.de>
330
331 PR c/65586
332 * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
333 error out.
334 (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
335 c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
336 Update calls to not error for skipped omp pragmas with -fopenmp-simd.
337
1443772f 3382015-03-19 Jakub Jelinek <jakub@redhat.com>
339
340 * c-decl.c (c_decl_attributes): Also add "omp declare target"
341 attribute for DECL_EXTERNAL VAR_DECLs.
342
76738f56 3432015-03-11 Jakub Jelinek <jakub@redhat.com>
344
345 * c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
346 argument.
347
16f958b3 3482015-03-10 Jakub Jelinek <jakub@redhat.com>
349
350 PR c/65120
351 * c-typeck.c (parser_build_binary_op): Check for tcc_comparison
352 before preparing arguments to warn_logical_not_parentheses.
353
6054103a 3542015-03-09 Jakub Jelinek <jakub@redhat.com>
355
356 PR c/65120
357 * c-typeck.c (parser_build_binary_op): Don't warn for
358 !!x == y or !b == y where b is _Bool.
359
de3a1e03 3602015-03-09 Marek Polacek <polacek@redhat.com>
361
362 * c-convert.c (convert): Make use of do_ubsan_in_current_function.
363 * c-decl.c (grokdeclarator): Likewise.
364 * c-typeck.c (build_binary_op): Likewise.
365
084e6bf0 3662015-02-27 Marek Polacek <polacek@redhat.com>
367
368 PR c/65228
369 * c-decl.c (start_decl): Return NULL_TREE if decl is an error node.
370
4d7c4134 3712015-02-14 Marek Polacek <polacek@redhat.com>
372
373 PR c/64768
374 * c-decl.c (grokdeclarator): Set the range of a flexible array member
375 declared through a typedef name.
376
b1380826 3772015-02-13 Marek Polacek <polacek@redhat.com>
378
379 PR c/65050
380 * c-decl.c (grokdeclarator): Print also the type when giving
381 the error message about array's incomplete element type.
382
35ff54b5 3832015-02-11 Jakub Jelinek <jakub@redhat.com>
384
385 PR c/64824
386 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
387 check in the POP macro.
388
46861609 3892015-02-09 Marek Polacek <polacek@redhat.com>
390
391 PR c/64856
392 * c-typeck.c (process_init_element): Don't always wrap
393 COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
394 initializing a range of elements.
395
bbf8fbec 3962015-02-04 Jakub Jelinek <jakub@redhat.com>
397
398 PR c/64824
399 PR c/64868
400 * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
401
46861609 4022015-02-02 Bruno Loff <bruno.loff@gmail.com>
1f0ce3ac 403
404 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
405 processing enum declaration.
406
70279be9 4072015-01-29 Marek Polacek <polacek@redhat.com>
408
409 PR c/64709
410 * c-typeck.c (pop_init_level): If constructor_elements has
411 exactly one element with integer_zerop value, set constructor_zeroinit
412 to 1. Remove braces around warning_init call.
413
591970b4 4142015-01-27 Jakub Jelinek <jakub@redhat.com>
415
416 PR c/64766
417 * c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
418 of FUNCTION_DECLs with error_mark_node.
419
87778dc4 4202015-01-26 Jakub Jelinek <jakub@redhat.com>
421
422 PR c/64778
423 * c-typeck.c (convert_arguments): Return -1 if there are
424 error_args, even if we've diagnosed too many arguments.
425
cffdfb3d 4262015-01-21 Richard Biener <rguenther@suse.de>
427
428 PR middle-end/64313
429 * c-decl.c (merge_decls): Call set_builtin_decl_declared_p
430 for builtins the user declared correctly.
431
ca4c3545 4322015-01-15 Thomas Schwinge <thomas@codesourcery.com>
433 Bernd Schmidt <bernds@codesourcery.com>
434 Cesar Philippidis <cesar@codesourcery.com>
435 James Norris <jnorris@codesourcery.com>
436 Jakub Jelinek <jakub@redhat.com>
437 Ilmir Usmanov <i.usmanov@samsung.com>
438
439 * c-parser.c: Include "gomp-constants.h".
440 (c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
441 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
442 Use OMP_CLAUSE_SET_MAP_KIND.
443 (c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
444 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
445 (c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
446 PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
447 PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
448 (c_parser_omp_clause_name): Handle "auto", "async", "copy",
449 "copyout", "create", "delete", "deviceptr", "gang", "host",
450 "num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
451 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
452 "present_or_create", "pcreate", "seq", "self", "vector",
453 "vector_length", "wait", "worker".
454 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
455 (OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
456 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
457 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
458 (c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
459 (c_parser_oacc_wait_list, c_parser_oacc_data_clause)
460 (c_parser_oacc_data_clause_deviceptr)
461 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
462 (c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
463 (c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
464 (c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
465 (c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
466 (c_parser_oacc_parallel, c_parser_oacc_update)
467 (c_parser_oacc_wait): New functions.
468 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
469 (c_finish_oacc_data): New prototypes.
470 * c-typeck.c: Include "gomp-constants.h".
471 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
472 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
473 OMP_CLAUSE_SET_MAP_KIND.
474 (c_finish_oacc_parallel, c_finish_oacc_kernels)
475 (c_finish_oacc_data): New functions.
476 (c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
477 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
478 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
479 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
480 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
481 GOMP_MAP_FORCE_DEVICEPTR.
482
1f78217c 4832015-01-09 Michael Collison <michael.collison@linaro.org>
484
485 * c-array-notation.c: Include hash-set.h, machmode.h,
486 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
487 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
488 * c-aux-info.c: Ditto.
489 * c-convert.c: Ditto.
490 * c-decl.c: Ditto.
491 * c-errors.c: Ditto.
492 * c-lang.c: Dittoxs.
493 * c-objc-common.c: Ditto.
494 * c-parser.c: Ditto.
495 * c-typeck.c: Include hash-set.h, machmode.h,
496 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
497 fold-const.h, wide-int.h, inchash.h, real.h and
498 fixed-value.h due to flattening of tree.h.
499
15e18a8c 5002015-01-07 Marek Polacek <polacek@redhat.com>
501
502 PR c/64417
503 * c-typeck.c (process_init_element): Disallow initialization of
504 a flexible array member with a string constant if the structure
505 is in an array.
506
d353bf18 5072015-01-05 Jakub Jelinek <jakub@redhat.com>
508
823a9dd4 509 PR sanitizer/64344
510 * c-typeck.c (convert_for_assignment, c_finish_return): For
511 -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
512 types also set in_late_binary_op around convert call.
513 * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
514 to integral type casts, if not in_late_binary_op, pass c_fully_fold
515 result on expr as last argument to ubsan_instrument_float_cast,
516 if in_late_binary_op, don't use c_save_expr but save_expr.
517
d353bf18 518 Update copyright years.
519
92b63884 5202015-01-05 Marek Polacek <polacek@redhat.com>
521
522 PR c/64423
523 * c-typeck.c (build_array_ref): Pass loc down to
524 warn_array_subscript_with_type_char.
525
8a8211df 5262014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
527
528 * c-typeck.c: New behavious for pointers to arrays with qualifiers
529 (common-pointer-type): For pointers to arrays take qualifiers from
530 element type.
531 (build_conditional_expr): Add warnings for lost qualifiers.
532 (comp-target-types): Allow pointers to arrays with different qualifiers.
533 (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
534 WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
535 to PEDWARN_FOR_QUALIFIERS.
536
35ea0139 5372014-12-17 Jakub Jelinek <jakub@redhat.com>
538
539 PR sanitizer/64289
540 * c-convert.c: Include ubsan.h.
541 (convert): For real -> integral casts and
542 -fsanitize=float-cast-overflow don't call convert_to_integer, but
543 instead instrument the float cast directly.
544
f9e245b2 5452014-11-29 Jakub Jelinek <jakub@redhat.com>
546
547 * c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
548 c_finish_stmt_expr): Remove NULL last argument from
549 create_tmp_var_raw and create_tmp_var calls.
550 * c-array-notation.c (fix_builtin_array_notation_fn,
551 build_array_notation_expr, fix_conditional_array_notations_1,
552 fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
553
fce2dbd1 5542014-11-28 Marek Polacek <polacek@redhat.com>
555
556 PR c/63862
557 * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
558 convert the right operand to integer type.
559
396c36b7 5602014-11-25 Marek Polacek <polacek@redhat.com>
561
562 PR c/63877
563 * c-decl.c (start_function): Disable -Wmissing-declarations warning
564 for inline functions.
565
c61ef207 5662014-11-21 Jakub Jelinek <jakub@redhat.com>
567
568 PR target/63764
569 * c-typeck.c (build_array_ref): Adjust
570 convert_vector_to_pointer_for_subscript caller. If it returns true,
571 call non_lvalue_loc on the result.
572
565353e8 5732014-11-11 Richard Biener <rguenther@suse.de>
574
575 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
576 to true.
577
fdd735a7 5782014-11-10 Andi Kleen <ak@linux.intel.com>
579
580 PR c/60804
581 * c-parser.c (c_parser_statement_after_labels): Call
582 check_no_cilk.
583 (c_parser_if_statement): Dito.
584 (c_parser_switch_statement): Dito.
585 (c_parser_while_statement): Dito.
586 (c_parser_do_statement): Dito.
587 (c_parser_for_statement): Dito.
588 * c-typeck.c (c_finish_loop): Dito.
589
0feb4de1 5902014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
591
592 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
593 OPT_Wshift_count_overflow in the warnings.
594
a3fec48a 5952014-10-30 Marek Polacek <polacek@redhat.com>
596
597 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
598 print the stripped version as well, if they're not the same.
599
3754d046 6002014-10-29 Richard Sandiford <richard.sandiford@arm.com>
601
602 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
603 machine_mode.
604
1140c305 6052014-10-28 Andrew MacLeod <amacleod@redhat.com>
606
607 * c-decl.c: Adjust include files.
608 * c-parser.c: Ditto.
609
ab103e33 6102014-10-27 Phil Muldoon <pmuldoon@redhat.com>
611 Tom Tromey <tromey@redhat.com>
612
613 * c-tree.h (enum c_oracle_request): New.
614 (c_binding_oracle_function): New typedef.
615 (c_binding_oracle, c_pushtag, c_bind): Declare.
616 * c-decl.c (c_binding_oracle): New global.
617 (I_SYMBOL_CHECKED): New macro.
618 (i_symbol_binding): New function.
619 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
620 (I_TAG_CHECKED): New macro.
621 (i_tag_binding): New function.
622 (I_TAG_BINDING, I_TAG_DECL): Redefine.
623 (I_LABEL_CHECKED): New macro.
624 (i_label_binding): New function.
625 (I_LABEL_BINDING, I_LABEL_DECL): Redefine.
626 (c_print_identifier): Save and restore c_binding_oracle.
627 (c_pushtag, c_bind): New functions.
628
94ea8568 6292014-10-27 Andrew MacLeod <amacleod@redhat.com>
630
631 * c-typeck.c: Adjust include files.
632
32ecf960 6332014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
634
635 PR c++/53061
636 * c-objc-common.c (c_objc_common_init): Do not do diagnostics
637 initialization here...
638 (c_initialize_diagnostics): ... but here. Set defaults after
639 building pretty-printer.
640
2981340f 6412014-10-23 Marek Polacek <polacek@redhat.com>
642
643 PR c/63626
644 * c-decl.c (pop_scope): Don't print warning in external_scope.
645
d303aeaf 6462014-10-19 Marek Polacek <polacek@redhat.com>
647
648 PR c/63567
649 * c-typeck.c (output_init_element): Allow initializing objects with
650 static storage duration with compound literals even in C99 and add
651 pedwarn for it.
652
bccf97da 6532014-10-17 Marek Polacek <polacek@redhat.com>
654
655 PR c/63567
656 * c-typeck.c (digest_init): Allow initializing objects with static
657 storage duration with compound literals even in C99 and add pedwarn
658 for it.
659
d9c77450 6602014-10-17 Marek Polacek <polacek@redhat.com>
661
662 PR c/63543
663 * c-tree.h (C_TYPE_ERROR_REPORTED): Define.
664 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
665 error multiple times. Print the type.
666
a2bbd0a7 6672014-10-17 Marek Polacek <polacek@redhat.com>
668
669 PR c/63549
670 * c-typeck.c (build_array_ref): Bail if the index in an incomplete
671 type.
672
e610d2b2 6732014-10-17 Marek Polacek <polacek@redhat.com>
674
675 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
676 (start_function): Use OPT_Wimplicit_int instead of 0.
677 (store_parm_decls_oldstyle): Likewise.
678
6b6e56b6 6792014-10-17 Alan Modra <amodra@gmail.com>
680
681 PR middle-end/61848
682 * c-decl.c (merge_decls): Don't merge section name or tls model
683 to newdecl symtab node, instead merge to olddecl. Override
684 existing olddecl section name. Set tls_model for all thread-local
685 vars, not just OMP thread-private ones. Remove incorrect comment.
686
a3020f2f 6872014-10-16 Andrew MacLeod <amacleod@redhat.com>
688
689 * c-decl.c: Adjust include files.
690
9f75f026 6912014-10-14 DJ Delorie <dj@redhat.com>
692
693 * c-parser.c (c_parse_init): Add RID entries for each __intN.
694 (c_token_starts_typename): Check all __intN, not just __int128.
695 (c_token_starts_declspecs): Likewise.
696 (c_parser_declspecs): Likewise.
697 (c_parser_attribute_any_word): Likewise.
698 (c_parser_objc_selector): Likewise.
699 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
700 (struct c_declspecs): Add int_n_idx field to record *which* __intN
701 is specified.
702 * c-decl.c (declspecs_add_type): Check for all __intN, not just
703 __int128.
704 (finish_declspecs): Likewise.
705
4f284d4a 7062014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
707
708 * c-parser.c (c_parser_all_labels): New function to replace
709 the duplicate code.
710 (c_parser_statement): Call the new function.
711
61a892dc 7122014-10-09 Marek Polacek <polacek@redhat.com>
713
714 PR c/63480
715 * c-typeck.c (pop_init_level): Don't warn about initializing
716 with { }.
717
4e888fd9 7182014-10-07 Marek Polacek <polacek@redhat.com>
719
720 PR c/59717
721 * c-decl.c (header_for_builtin_fn): New function.
722 (implicitly_declare): Suggest which header to include.
723
224bdd51 7242014-10-07 Marek Polacek <polacek@redhat.com>
725
726 * c-convert.c (convert): Use error_operand_p.
727 * c-typeck.c (require_complete_type): Likewise.
728 (really_atomic_lvalue): Likewise.
729 (digest_init): Likewise.
730 (handle_omp_array_sections_1): Likewise.
731
a2bc79db 7322014-10-03 Marek Polacek <polacek@redhat.com>
733
734 PR c/63453
735 * c-decl.c (pop_scope): Don't warn about "inline function declared
736 but never defined" for functions marked with gnu_inline attribute.
737
4fc4088b 7382014-09-25 Jakub Jelinek <jakub@redhat.com>
739
740 PR c++/63249
741 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
742 on low_bound and length.
743
5213d6c9 7442014-09-24 Marek Polacek <polacek@redhat.com>
745
746 PR c/61405
747 PR c/53874
748 * c-parser.c: Don't define CPP_KEYWORD.
749 (c_parser_switch_statement): Pass original type to c_finish_case.
750 * c-tree.h (c_finish_case): Update declaration.
751 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
752 conditionally to c_do_switch_warnings.
753
6ea2b1bc 7542014-09-03 Marek Polacek <polacek@redhat.com>
755
756 PR c/62024
757 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
758 conversions.
759
40750995 7602014-09-02 Jakub Jelinek <jakub@redhat.com>
761 Balaji V. Iyer <balaji.v.iyer@intel.com>
762 Igor Zamyatin <igor.zamyatin@intel.com>
763
764 * c-parser.c (c_parser_cilk_for): New function.
765 (c_parser_cilk_grainsize): Likewise.
766 (c_get_temp_regvar): Likewise.
767 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
768 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
769 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
770 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
771 case.
772
8c583613 7732014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
774
775 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
776 with using HOST_WIDE_INT without truncation to 'int'
777
dc6229e8 7782014-08-22 Marek Polacek <polacek@redhat.com>
779
780 PR c++/62199
781 * c-typeck.c (parser_build_binary_op): Adjust call to
782 warn_logical_not_parentheses.
783
5fdda74b 7842014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
785
786 PR other/62008
787 * c-parser.c (c_parser_array_notation): Check for correct
788 type of an array added.
789
78bf4156 7902014-08-19 Marek Polacek <polacek@redhat.com>
791
792 PR c++/62153
793 * c-typeck.c (build_binary_op): If either operand of a comparison
794 is a boolean expression, call maybe_warn_bool_compare.
795
005b8fe7 7962014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
797
798 PR c/45584
799 * c-typeck.c (build_c_cast): Do a conversion even when the
800 TYPE_MAIN_VARIANTs are the same.
801
508ea33a 8022014-08-19 Marek Polacek <polacek@redhat.com>
803
804 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
805 pedwarn_c99 instead of pedwarn.
806 (grokfield): Likewise.
807 (warn_defaults_to): New function.
808 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
809 Unconditionally call pedwarn_c99 instead of pedwarn.
810 (start_function): Call warn_defaults_to instead of pedwarn_c99.
811 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
812 check flag_isoc11 before.
813 * c-errors.c (pedwarn_c99): Change the return type to bool.
814 Handle -Wc99-c11-compat.
815 * c-parser.c (disable_extension_diagnostics): Handle
816 warn_c99_c11_compat.
817 (restore_extension_diagnostics): Likewise.
818 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
819 instead of pedwarn, don't check flag_isoc11 before.
820 (c_parser_declspecs): Likewise.
821 (c_parser_alignas_specifier): Likewise.
822 (c_parser_alignof_expression): Likewise.
823 (c_parser_generic_selection): Likewise.
824 * c-tree.h (pedwarn_c99): Update declaration.
825 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
826 of pedwarn_c99.
827
806fe15e 8282014-08-19 Marek Polacek <polacek@redhat.com>
829
830 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
831 to pedwarn_c90.
832 * c-errors.c: Include "opts.h".
833 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
834 * c-parser.c (disable_extension_diagnostics): Handle negative value
835 of warn_c90_c99_compat, too.
836 (restore_extension_diagnostics): Likewise.
837 (c_parser_compound_statement_nostart): Pass
838 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
839
89868e45 8402014-08-12 Marek Polacek <polacek@redhat.com>
841
842 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
843 Add pedwarn.
844 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
845 Likewise.
846 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
847
890c2e2f 8482014-08-10 Marek Polacek <polacek@redhat.com>
849
850 PR c/51849
851 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
852 Call pedwarn_c90 instead of pedwarn.
853 (check_bitfield_type_and_width): Likewise.
854 (declspecs_add_qual): Likewise.
855 (declspecs_add_type): Likewise.
856 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
857 Adjust to only call pedwarn_c90.
858 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
859 pedwarn_c90 instead of pedwarn.
860 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
861 * c-parser.c (disable_extension_diagnostics): Handle
862 warn_c90_c99_compat.
863 (restore_extension_diagnostics): Likewise.
864 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
865 pedwarn_c90 instead of pedwarn.
866 (c_parser_initelt): Likewise.
867 (c_parser_postfix_expression): Likewise.
868 (c_parser_postfix_expression_after_paren_type): Likewise.
869 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
870 * c-tree.h: Fix formatting.
871 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
872 pedwarn_c90 instead of pedwarn.
873
7149db5f 8742014-08-07 Trevor Saunders <tsaunders@mozilla.com>
875
876 * c-typeck.c: Remove include of pointer-set.h.
877
1c75251e 8782014-08-07 Marek Polacek <polacek@redhat.com>
879
880 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
881
06ecf488 8822014-08-02 Trevor Saunders <tsaunders@mozilla.com>
883
884 * c-typeck.c: Use hash_map instead of pointer_map.
885
431205b7 8862014-08-02 Trevor Saunders <tsaunders@mozilla.com>
887
888 * c-decl.c: Use hash_set instead of pointer_set.
889
3394c80c 8902014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
891
892 PR middle-end/61455
893 * c-array-notation.c (expand_array_notations): Handling
894 of DECL_EXPR added.
895
f22a2cb7 8962014-07-31 Marc Glisse <marc.glisse@inria.fr>
897
898 PR c++/60517
899 * c-typeck.c (c_finish_return): Return 0 instead of the address of
900 a local variable.
901
74691f46 9022014-07-30 Tom Tromey <tromey@redhat.com>
903
904 * c-typeck.c (struct constructor_stack) <designator_depth>: New
905 field.
906 (really_start_incremental_init, push_init_level): Initialize
907 designator_depth.
908 (pop_init_level): Set global designator_depth.
909 (process_init_element): Check for designated_init attribute.
910
f9767fb6 9112014-07-20 Marek Polacek <polacek@redhat.com>
912
913 PR c/61852
914 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
915 (implicitly_declare): Pass location to implicit_decl_warning.
916
305d96bc 9172014-07-14 Jakub Jelinek <jakub@redhat.com>
918
919 PR middle-end/61294
920 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
921 If non-NULL, call c_parser_check_literal_zero.
922 (c_parser_check_literal_zero): New function.
923 (c_parser_postfix_expression_after_primary): Adjust
924 c_parser_expr_list caller, handle -Wmemset-transposed-args.
925
87d59e72 9262014-07-06 Marek Polacek <polacek@redhat.com>
927
928 PR c/6940
929 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
930 * c-tree.h (C_ARRAY_PARAMETER): Define.
931 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
932 function parameter.
933
752098c8 9342014-07-02 Jan Hubicka <hubicka@ucw.cz>
935 Chen Gang <gang.chen.5i5j@gmail.com>
936
937 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
938 releasing symbol.
939
1207866e 9402014-07-01 Marek Polacek <polacek@redhat.com>
941
942 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
943 instead of 0 to WARN_FOR_ASSIGNMENT.
944
7a6bbb76 9452014-07-01 Marek Polacek <polacek@redhat.com>
946
947 PR c/58286
948 * c-typeck.c (convert_for_assignment): Pass
949 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
950
70575064 9512014-06-30 Marek Polacek <polacek@redhat.com>
952
953 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
954 has no_sanitize_undefined attribute.
955
4879e4cf 9562014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
957
958 PR middle-end/57541
959 * c-array-notation.c (fix_builtin_array_notation_fn):
960 Check for 0 arguments in builtin call. Check that bultin argument is
961 correct.
962 * c-parser.c (c_parser_array_notation): Check for incorrect initial
963 index.
964
45c5b823 9652014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
966
967 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
968 qualifiers in __auto_type for atomic types.
969 (c_parser_typeof_specifier): Discard all type qualifiers in
970 __typeof__ for atomic types.
971
430b73ee 9722014-06-25 Marek Polacek <polacek@redhat.com>
973
974 PR c/61162
975 * c-parser.c (c_parser_statement_after_labels): Pass the location of
976 the return expression to c_finish_return.
977
9580cb79 9782014-06-25 Jakub Jelinek <jakub@redhat.com>
979
980 * c-typeck.c (c_finish_omp_clauses): Make sure
981 OMP_CLAUSE_LINEAR_STEP has correct type.
982
c1f445d2 9832014-06-24 Trevor Saunders <tsaunders@mozilla.com>
984
985 * c-decl.c: Adjust.
986
e471cc6f 9872014-06-24 Jakub Jelinek <jakub@redhat.com>
988
989 * c-parser.c (c_parser_omp_for_loop): For
990 #pragma omp parallel for simd move lastprivate clause from parallel
991 to for rather than simd.
992
499b7390 9932014-06-23 Marek Polacek <polacek@redhat.com>
994
995 * c-typeck.c (parser_build_binary_op): Don't call
996 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
997
5e68df57 9982014-06-15 Jan Hubicka <hubicka@ucw.cz>
999
1000 * c-parser.c (c_parser_omp_threadprivate): Likewise.
1001 * c-decl.c (merge_decls): Likewise.
1002
064b0d02 10032014-06-09 Marek Polacek <polacek@redhat.com>
1004
1005 PR c/36446
1006 * c-typeck.c (error_init): Call inform instead of error_at.
1007 (pedwarn_init): Call inform instead of pedwarn.
1008 (warning_init): Call inform instead of warning_at.
1009
71e19e54 10102014-06-07 Jan Hubicka <hubicka@ucw.cz>
1011
1012 * c-decl.c (merge_decls): Use set_decl_section_name.
1013 (duplicate_decls): Remove node if it exists.
1014
95cdf3fd 10152014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
1016
1017 PR c/53119
1018 * c-typeck.c (push_init_level, process_init_element,
1019 pop_init_level): Correct check for zero initialization, move
1020 missing brace warning to respect zero initialization.
1021
a07f86a6 10222014-06-05 Marek Polacek <polacek@redhat.com>
1023
1024 PR c/56724
1025 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
1026
32dc1512 10272014-06-05 Marek Polacek <polacek@redhat.com>
1028
1029 PR c/49706
1030 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
1031 on the left hand side operand of a comparison.
1032
64cf1262 10332014-06-05 Marek Polacek <polacek@redhat.com>
1034
1035 PR c/48062
1036 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
1037 Print note only if the warning was printed.
1038
071f6d39 10392014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
1040
1041 PR c/58942
1042 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
1043 with a pointer.
1044
c69ec07d 10452014-06-03 Marek Polacek <polacek@redhat.com>
1046
1047 PR c/60439
1048 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
1049 c_start_case.
1050 * c-tree.h (c_start_case): Update.
1051 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
1052 switch condition has boolean value.
1053
f7715905 10542014-06-02 Andrew MacLeod <amacleod@redhat.com>
1055
1056 * c-decl.c: Include builtins.h.
1057 * c-parser.c: Likewise.
1058
dcfff6f9 10592014-05-27 Marek Polacek <polacek@redhat.com>
1060
1061 PR c/56724
1062 * c-typeck.c (convert_arguments): Get location of a parameter. Change
1063 error and warning calls to error_at and warning_at. Pass location of
1064 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
1065 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
1066 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
1067
c048c42c 10682014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
1069
1070 PR c/61191
1071 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
1072 function parameters.
1073
8c016392 10742014-05-23 Jan Hubicka <hubicka@ucw.cz>
1075
1076 * c-decl.c (merge_decls): Preserve symtab node pointers.
1077 (duplicate_decls): Free new decl.
1078
184a718f 10792014-05-23 Thomas Schwinge <thomas@codesourcery.com>
1080
6ce915ef 1081 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
1082 initialization.
1083
184a718f 1084 * c-parser.c (c_parser_omp_target): Return bool values.
1085
22ac3f78 10862014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1087
1088 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
1089 num_teams_loc variable to num_thread_limit_loc.
1090
3ab4693e 10912014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1092
1093 * c-array-notation.c (expand_array_notations): Use void_node
1094 instead of void_zero_node.
1095
25a27413 10962014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1097
1098 * c-decl.c (finish_struct): Adjust.
1099 (finish_enum): Likewise.
1100 (bind): Adjust.
1101 (record_inline_static): Likewise.
1102 (push_scope): Likewise.
1103 (make_label): Likewise.
1104 (lookup_label_for_goto): Likewise.
1105 (finish_struct): Likewise.
1106 (finish_enum): Likewise.
1107 (store_parm_decls): Likewise.
1108 (c_push_function_context): Likewise.
1109 * c-lang.h: Remove usage of variable_size gty attribute.
1110 * c-parser.c (c_parse_init): Adjust.
1111 (c_parse_file): Likewise.
1112
172b8440 11132014-05-13 Marek Polacek <polacek@redhat.com>
1114
1115 PR c/61162
1116 * c-typeck.c (convert_for_assignment): Pass location to
1117 WARN_FOR_ASSIGNMENT instead of input_location.
1118
c9e51d25 11192014-05-10 Marek Polacek <polacek@redhat.com>
1120
1121 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
1122 maybe_warn_string_init.
1123 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
1124 maybe_warn_string_init.
1125 * c-tree.h (maybe_warn_string_init): Update declaration.
1126 * c-typeck.c (maybe_warn_string_init): Add location parameter.
1127 Call pedwarn_init with loc instead of with input_location.
1128 (digest_init): Pass init_loc to maybe_warn_string_init.
1129 (pop_init_level): Call pedwarn_init with loc instead of with
1130 input_location.
1131 (set_init_index): Likewise.
1132 (process_init_element): Likewise.
1133
53de1631 11342014-05-09 Marek Polacek <polacek@redhat.com>
1135
1136 PR c/61096
1137 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
1138 (c_parser_initelt): Pass location to set_init_label. Pass array index
1139 location to set_init_index.
1140 * c-tree.h (push_init_level): Update declaration.
1141 (pop_init_level): Likewise.
1142 (set_init_index): Likewise.
1143 (set_init_label): Likewise.
1144 * c-typeck.c (error_init): Add location parameter. Call error_at
1145 instead of error.
1146 (digest_init): Pass init_loc to error_init.
1147 (really_start_incremental_init):
1148 (push_init_level): Add location parameter. Pass loc to pop_init_level
1149 and error_init.
1150 (pop_init_level): Likewise.
1151 (set_designator): Add location parameter. Pass loc to pop_init_level,
1152 push_init_level, and error_init.
1153 (set_init_index): Add location parameter. Pass loc to error_init and
1154 set_designator.
1155 (set_init_label): Likewise.
1156 (output_init_element): Pass loc to error_init.
1157 (process_init_element): Pass loc to error_init, pop_init_level,
1158 pedwarn_init, and push_init_level.
1159
3e5a8b00 11602014-05-09 Marek Polacek <polacek@redhat.com>
1161
1162 PR c/50459
1163 * c-parser.c (c_parser_attributes): Parse the arguments as an
1164 expression-list if the attribute takes identifier.
1165
c2c4ae8d 11662014-05-08 Marek Polacek <polacek@redhat.com>
1167
1168 PR c/61053
1169 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
1170 TYPE_ALIGN_UNIT.
1171
2026249a 11722014-05-08 Marek Polacek <polacek@redhat.com>
1173
1174 PR c/61077
1175 * c-decl.c (start_function): Warn for _Atomic-qualified return type
1176 of main.
1177
960d5a55 11782014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1179 Mike Stump <mikestump@comcast.net>
1180 Richard Sandiford <rdsandiford@googlemail.com>
1181
1182 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
1183 (finish_enum): Use wide-int interfaces.
1184 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
1185 * c-typeck.c (build_c_cast): Likewise.
1186 (set_nonincremental_init_from_string): Likewise.
1187 (c_tree_equal): Likewise.
1188
e0e14cbd 11892014-05-02 Marek Polacek <polacek@redhat.com>
1190
1191 PR c/25801
1192 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
1193 Return size_one_node when the type is not complete.
1194 (pointer_diff): Remove comment.
1195 (build_unary_op): Improve error messages.
1196
27ff10cb 11972014-05-02 Marek Polacek <polacek@redhat.com>
1198
1199 * c-typeck.c (c_finish_return): Separate warning_at calls.
1200
68410ce9 12012014-05-02 Marek Polacek <polacek@redhat.com>
1202
1203 * c-tree.h (error_init): Remove declaration.
1204 (pedwarn_init): Likewise.
1205 * c-typeck.c (error_init): Make static and move above.
1206 (pedwarn_init): Likewise.
1207 (warning_init): Move above.
1208 (maybe_warn_string_init): Likewise.
1209
e8e27117 12102014-05-01 Jeff Law <law@redhat.com>
1211
1212 Revert:
1213
1214 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1215 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
1216 avoid goto.
1217
971df357 12182014-05-02 Marek Polacek <polacek@redhat.com>
1219
1220 PR c/60784
1221 * c-typeck.c (push_init_level): Set constructor_designated to
1222 p->designated for structures.
1223
de548fe5 12242014-05-01 Marek Polacek <polacek@redhat.com>
1225
1226 PR c/60915
1227 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
1228 function-definition has an attribute after the declarator.
1229
053a0ded 12302014-05-01 Marek Polacek <polacek@redhat.com>
1231
1232 PR c/60257
1233 * c-typeck.c (warning_init): Add location_t parameter. Call
1234 warning_at instead of warning.
1235 (push_init_level): Pass input_location to warning_init.
1236 (add_pending_init): Add location_t parameter. Pass loc to
1237 warning_init.
1238 (set_nonincremental_init): Pass input_location to add_pending_init.
1239 (set_nonincremental_init_from_string): Likewise.
1240 (output_init_element): Pass loc to warning_init and to
1241 add_pending_init.
1242
694296f2 12432014-05-01 Marek Polacek <polacek@redhat.com>
1244
1245 PR c/43395
1246 * c-typeck.c (c_finish_return): Distinguish between label and variable
1247 when warning about returning local address.
1248
86bbd7f9 12492014-05-01 Marek Polacek <polacek@redhat.com>
1250
1251 PR c/29467
1252 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
1253 in C89 mode.
1254
e4ab2ef3 12552014-05-01 Marek Polacek <polacek@redhat.com>
1256
1257 PR c/43245
1258 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
1259 instead of 0 to WARN_FOR_QUALIFIERS.
1260
ca3999cb 12612014-05-01 Marek Polacek <polacek@redhat.com>
1262
1263 PR c/56989
1264 * c-typeck.c (default_conversion): Use better location for
1265 error call.
1266
52cc0072 12672014-04-30 Marek Polacek <polacek@redhat.com>
1268
1269 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
1270 also when SANITIZE_FLOAT_DIVIDE is on.
1271
af379dd3 12722014-04-30 Marek Polacek <polacek@redhat.com>
1273
1274 PR c/60139
1275 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
1276 and pedwarn_init. Use loc insted of input_location.
1277
b069c2a0 12782014-04-30 Marek Polacek <polacek@redhat.com>
1279
1280 PR c/60351
1281 * c-typeck.c (build_binary_op): Use location when warning about
1282 shift count.
1283
4a026b48 12842014-04-25 Marek Polacek <polacek@redhat.com>
1285
1286 PR c/18079
1287 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
1288 always_inline/noinline and hot/cold attributes.
1289
adc93f31 12902014-04-25 Marek Polacek <polacek@redhat.com>
1291
1292 PR c/60114
1293 * c-parser.c (c_parser_initelt): Pass input_location to
1294 process_init_element.
1295 (c_parser_initval): Pass loc to process_init_element.
1296 * c-tree.h (process_init_element): Adjust declaration.
1297 * c-typeck.c (push_init_level): Pass input_location to
1298 process_init_element.
1299 (pop_init_level): Likewise.
1300 (set_designator): Likewise.
1301 (output_init_element): Add location_t parameter. Pass loc to
1302 digest_init.
1303 (output_pending_init_elements): Pass input_location to
1304 output_init_element.
1305 (process_init_element): Add location_t parameter. Pass loc to
1306 output_init_element.
1307
e1029911 13082014-04-24 Jakub Jelinek <jakub@redhat.com>
1309
1310 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
1311 atomic-clause, allow comma in between atomic-clause and
1312 seq_cst.
1313
9f0a7bc6 13142014-04-22 Jakub Jelinek <jakub@redhat.com>
1315
1316 PR c/59073
1317 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
1318 fails, don't set OM_PARALLEL_COMBINED and return NULL.
1319
094da06d 13202014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1321
1322 PR middle-end/60469
1323 * c-array-notation.c (fix_builtin_array_notation_fn): Use
1324 create_tmp_var instead build_decl for creating temps.
1325 (build_array_notation_expr): Likewise.
1326 (fix_conditional_array_notations_1): Likewise.
1327 (fix_array_notation_expr): Likewise.
1328 (fix_array_notation_call_expr): Likewise.
1329
5a672e62 13302014-03-28 Jakub Jelinek <jakub@redhat.com>
1331
1332 PR c++/60689
1333 * c-tree.h (c_build_function_call_vec): New prototype.
1334 * c-typeck.c (build_function_call_vec): Don't call
1335 resolve_overloaded_builtin here.
1336 (c_build_function_call_vec): New wrapper function around
1337 build_function_call_vec. Call resolve_overloaded_builtin here.
1338 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
1339 Call c_build_function_call_vec instead of build_function_call_vec.
1340 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
1341 * c-decl.c (finish_decl): Likewise.
1342
f40f5e0e 13432014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1344
1345 PR c/55383
1346 * c-typeck.c: Use correct format string in cast-qual warning
1347
9ec099a3 13482014-03-07 Thomas Schwinge <thomas@codesourcery.com>
1349
1350 * c-decl.c (c_decl_attributes): Use
1351 lang_hooks.types.omp_mappable_type.
1352 * c-typeck.c (c_finish_omp_clauses): Likewise.
1353
3bfdc94f 13542014-03-06 Marek Polacek <polacek@redhat.com>
1355
1356 PR c/60197
1357 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
1358 of checking tree code.
1359
8f1128f8 13602014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1361
1362 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
1363 (c_parser_parameter_declaration): Likewise.
1364
977b1853 13652014-02-19 Marek Polacek <polacek@redhat.com>
1366
1367 PR c/60195
1368 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
1369 Call mark_exp_read on exp.value.
1370 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
1371 TREE_ADDRESSABLE on old instead of val.
1372 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
1373
825cd6ef 13742014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1375
1376 * c-parser.c (c_parser_get_builtin_args): Replace calls to
1377 C_EXPR_APPEND by vec_safe_push.
1378 * c-tree.h (C_EXPR_APPEND): Remove.
1379
ec761d5a 13802014-01-31 Marek Polacek <polacek@redhat.com>
1381
1382 PR c/59963
1383 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
1384 build_function_call_vec.
1385 (build_function_call): Likewise.
1386 (build_atomic_assign): Likewise.
1387 (build_function_call_vec): Add arg_loc parameter. Use it.
1388 (convert_arguments): Likewise.
1389 (convert_for_assignment): Rename rhs_loc to expr_loc.
1390 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
1391 (c_parser_objc_keywordexpr): Likewise.
1392 (c_parser_postfix_expression_after_primary): Call
1393 build_function_call_vec with expr_loc rather than op_loc.
1394 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
1395 build_function_call_vec.
1396 (c_parser_expr_list): Add locations parameter. Fill it with locations
1397 of function arguments.
1398 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
1399
22a75734 14002014-01-30 Marek Polacek <polacek@redhat.com>
1401
1402 PR c/59940
1403 * c-typeck.c (build_function_call_vec): Use loc parameter.
1404 (convert_arguments): Add location parameter. Use it.
1405 (ep_convert_and_check): Likewise.
1406 (build_atomic_assign): Adjust convert_for_assignment call.
1407 (build_modify_expr): Likewise.
1408 (digest_init): Likewise.
1409 (c_finish_return): Likewise.
1410 (build_conditional_expr): Adjust ep_convert_and_check calls.
1411 (convert_for_assignment): Add rhs_loc parameter. Use it.
1412 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
1413 calls.
1414
29f580ac 14152014-01-30 Richard Biener <rguenther@suse.de>
1416
1417 PR c/59905
1418 * c-typeck.c (build_function_call_vec): Do not replace calls
1419 to a function via an incompatible type with a runtime abort.
1420
a89e6c15 14212014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1422
1423 * c-parser.c (c_parser_declaration_or_fndef): Replaced
1424 flag_enable_cilkplus with flag_cilkplus.
1425 (c_parser_direct_declarator_inner): Likewise.
1426 (c_parser_attribute_any_word): Likewise.
1427 (c_parser_attributes): Likewise.
1428 (c_parser_compound_statement): Likewise.
1429 (c_parser_statement_after_labels): Likewise.
1430 (c_parser_if_statement): Likewise.
1431 (c_parser_switch_statement): Likewise.
1432 (c_parser_do_statement): Likewise.
1433 (c_parser_for_statement): Likewise.
1434 (c_parser_unary_expression): Likewise.
1435 (c_parser_postfix_expression): Likewise.
1436 (c_parser_postfix_expression_after_primary): Likewise.
1437 (c_parser_postfix_expression_after_primary): Likewise.
1438 (c_parser_omp_clause_name): Likewise.
1439 (c_finish_omp_declare_simd): Likewise.
1440 (c_parser_cilk_verify_simd): Likewise.
1441 * c-typeck.c (build_array_ref): Likewise.
1442 (build_function_call_vec): Likewise.
1443 (convert_arguments): Likewise.
1444 (build_compound_expr): Likewise.
1445 (c_finish_return): Likewise.
1446 (c_finish_if_stmt): Likewise.
1447 (c_finish_loop): Likewise.
1448 (build_binary_op): Likewise.
1449
2623625f 14502014-01-23 Marek Polacek <polacek@redhat.com>
1451
1452 PR c/59846
1453 * c-typeck.c (parser_build_binary_op): Use location instead of
1454 input_location.
1455 (build_binary_op): Pass location to shorten_compare.
1456
46da3601 14572014-01-23 Marek Polacek <polacek@redhat.com>
1458
1459 PR c/58346
1460 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
1461 an empty aggregate.
1462
9a9db3c1 14632014-01-23 Marek Polacek <polacek@redhat.com>
1464
1465 PR c/59871
1466 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
1467 of a comma expression.
1468 (emit_side_effect_warnings): Likewise.
1469
69c9b607 14702014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1471
1472 PR c/59825
1473 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
1474 function to use walk_tree and moved a lot of its functionality to
1475 expand_array_notations.
1476 (expand_array_notations): New function.
1477
7e005ab5 14782014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1479
1480 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
1481 attribute an attribute without value.
1482
d6779b5f 14832014-01-23 Jakub Jelinek <jakub@redhat.com>
1484
1485 PR middle-end/58809
1486 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
1487 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
1488
ec431042 14892014-01-22 Marek Polacek <polacek@redhat.com>
1490
1491 PR c/59891
1492 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
1493 of remove_c_maybe_const_expr on op1 and op2.
1494
1248c663 14952014-01-15 Jakub Jelinek <jakub@redhat.com>
1496
1497 PR c/58943
1498 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
1499 effects, preevaluate rhs using SAVE_EXPR first.
1500
0bc789fc 15012014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
1502
1503 PR c++/59631
1504 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
1505 statements with if-elseif statements.
1506
6685d11c 15072014-01-06 Marek Polacek <polacek@redhat.com>
1508
1509 PR c/57773
1510 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
1511 defined bit-field types only in ISO C.
1512
3aea1f79 15132014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1514
1515 Update copyright years
1516
e4f22041 15172014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1518
1519 * c-array-notation.c: Use the standard form for the copyright notice.
1520
74acc703 15212013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1522
1523 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
1524 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
1525 field in parser is not empty. If not-empty, call the function
1526 c_parser_finish_omp_declare_simd.
1527 (c_parser_cilk_clause_vectorlength): Modified function to be shared
1528 between SIMD-enabled functions and #pragma simd. Added new parameter.
1529 (c_parser_cilk_all_clauses): Modified the usage of the function
1530 c_parser_cilk_clause_vectorlength as mentioned above.
1531 (c_parser_cilk_simd_fn_vector_attrs): New function.
1532 (c_finish_cilk_simd_fn_tokens): Likewise.
1533 (is_cilkplus_vector_p): Likewise.
1534 (c_parser_omp_clause_name): Added checking for "vectorlength,"
1535 "nomask," and "mask" strings in clause name.
1536 (c_parser_omp_all_clauses): Added 3 new case statements:
1537 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
1538 PRAGMA_CILK_CLAUSE_NOMASK.
1539 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
1540 check for vector attribute and if so call the function
1541 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
1542 called the function c_finish_cilk_simd_fn_tokens.
1543 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
1544 parser field is non-empty. If so, parse them as you would parse
1545 the omp declare simd pragma.
1546 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
1547 Added a check when step is a parameter and flag it as error.
1548 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
1549 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
1550 pragma_omp_clause.
1551
395dc01c 15522013-12-17 Thomas Schwinge <thomas@codesourcery.com>
1553
1554 * c-parser.c (c_parser_omp_parallel): Fix description.
1555
433e804e 15562013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1557
1558 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
1559 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1560 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
1561 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
1562
a179a7dc 15632013-12-04 Joseph Myers <joseph@codesourcery.com>
1564
1565 PR c/52023
1566 * c-parser.c (c_parser_alignas_specifier): Use
1567 c_sizeof_or_alignof_type instead of c_alignof.
1568 (c_parser_alignof_expression): Likewise, with min_alignof
1569 parameter depending on alignof spelling used.
1570
bdf1e3c7 15712013-12-04 Marek Polacek <polacek@redhat.com>
1572
1573 PR c/54113
1574 * c-decl.c (start_function): Don't warn for missing prototype for
1575 inline functions.
1576
05e8f674 15772013-12-03 Marek Polacek <polacek@redhat.com>
1578
1579 PR c/59351
1580 * c-decl.c (build_compound_literal): Allow compound literals with
1581 empty initial value.
1582
39f74d66 15832013-12-02 Joseph Myers <joseph@codesourcery.com>
1584
1585 PR c/58235
1586 * c-typeck.c (build_modify_expr): Diagnose assignment to
1587 expression with array type.
1588
f221adca 15892013-11-29 Joseph Myers <joseph@codesourcery.com>
1590
1591 PR c/42262
1592 * c-typeck.c (process_init_element): Do not treat a string as
1593 initializing a whole array when used with a designator for an
1594 individual element.
1595
75bce827 15962013-11-29 Joseph Myers <joseph@codesourcery.com>
1597
1598 PR c/57574
1599 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
1600 an inline function following a static declaration.
1601
dc133326 16022013-11-28 Jakub Jelinek <jakub@redhat.com>
1603
1604 PR c/59310
1605 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
1606 to p_name before calling c_parser_omp_teams instead of after.
1607 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
1608 argument. Remove unused p_name variable.
1609
d09768a4 16102013-11-27 Aldy Hernandez <aldyh@redhat.com>
1611 Jakub Jelinek <jakub@redhat.com>
1612
1613 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
1614 external_scope is NULL.
1615
73fd9cbe 16162013-11-27 Tom de Vries <tom@codesourcery.com>
1617 Marc Glisse <marc.glisse@inria.fr>
1618
1619 PR c++/59032
1620 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
1621
bc61cadb 16222013-11-22 Andrew MacLeod <amacleod@redhat.com>
1623
1624 * c-typeck.c: Add required include files from gimple.h.
1625
3df42822 16262013-11-22 David Malcolm <dmalcolm@redhat.com>
1627
1628 * c-decl.c (define_label, shadow_tag_warned)
1629 (check_bitfield_type_and_width, grokdeclarator, grokparms,
1630 store_parm_decls_newstyle, store_parm_decls_oldstyle)
1631 (declspecs_add_type): Remove use of in_system_header macro.
1632 * c-parser.c (c_parser_unary_expression): Likewise.
1633 * c-typeck.c (store_init_value, process_init_element)
1634 (c_start_case): Likewise.
1635
1636 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
1637 macro.
1638
1639 * c-parser.c (c_parser_set_source_position_from_token): Remove
1640 reference to in_system_header from comment.
1641
08f817b3 16422013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1643
1644 * c-decl.c (grokdeclarator): Update comment to refer to
1645 tree_to_[su]hwi rather than tree_low_cst.
1646
6a0712d4 16472013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1648
1649 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
1650 tree_to_uhwi throughout.
1651
fcb97e84 16522013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1653
1654 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
1655 throughout.
1656
35ec552a 16572013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1658
1659 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
1660 throughout.
1661
f2697631 16622013-11-15 Aldy Hernandez <aldyh@redhat.com>
1663
1664 * c-parser.c (c_parser_cilk_simd): New.
1665 (c_parser_cilk_verify_simd): New.
1666 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
1667 (c_parser_omp_for_loop): Add case for NE_EXPR.
1668 Set c_break_label for CILK_SIMD.
1669 (c_parser_cilk_clause_vectorlength): New.
1670 (c_parser_cilk_clause_linear): New.
1671 (c_parser_cilk_clause_name): New.
1672 (c_parser_cilk_all_clauses): New.
1673 * c-typeck.c (build_unary_op): Pass location argument to
1674 readonly_error.
1675 (build_modify_expr): Same.
1676 (build_asm_expr): Same.
1677 (c_finish_bc_stmt): Error on break/continue in loops.
1678
e795d6e1 16792013-11-14 Andrew MacLeod <amacleod@redhat.com>
1680
1681 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
1682
9ed99284 16832013-11-14 Diego Novillo <dnovillo@google.com>
1684
1685 * c-decl.c: Include print-tree.h.
1686 Include stor-layout.h.
1687 Include varasm.h.
1688 Include attribs.h.
1689 Include stringpool.h.
1690 * c-lang.c: Include fold-const.h.
1691 * c-parser.c: Include stringpool.h.
1692 Include attribs.h.
1693 Include stor-layout.h.
1694 Include varasm.h.
1695 Include trans-mem.h.
1696 * c-typeck.c: Include stor-layout.h.
1697 Include trans-mem.h.
1698 Include varasm.h.
1699 Include stmt.h.
1700
4fba5eb9 17012013-11-13 Joseph Myers <joseph@codesourcery.com>
1702
1703 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
1704 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
1705 __auto_type.
1706 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
1707 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
1708 RID_AUTO_TYPE.
1709 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
1710 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
1711 (c_parser_declarator, c_parser_direct_declarator_inner)
1712 (c_parser_parameter_declaration, c_parser_type_name): All callers
1713 changed.
1714 (c_parser_declaration_or_fndef): Handle declarations with type
1715 determined from the initializer.
1716
a8783bee 17172013-11-12 Andrew MacLeod <amacleod@redhat.com>
1718
e795d6e1 1719 * c-typeck.c: Include gimplify.h.
a8783bee 1720
d184e0c0 17212013-11-12 Joseph Myers <joseph@codesourcery.com>
1722
1723 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
1724 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
1725 comment.
1726 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
1727 or _Thread_local as appropriate in diagnostics.
1728 (build_null_declspecs): Initialize ret->thread_gnu_p.
1729 (declspecs_add_scspec): Handle either __thread or _Thread_local
1730 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
1731 pedantic. Do not disallow _Thread_local extern and _Thread_local
1732 static.
1733
b560fabd 17342013-11-07 Joseph Myers <joseph@codesourcery.com>
1735 Andrew MacLeod <amacleod@redhat.com>
1736
1737 * c-aux-info.c (gen_type): Handle atomic qualifier.
1738 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
1739 qualifiers when compating types.
1740 (shadow_tag_warned): Handle atomic_p in declspecs.
1741 (quals_from_declspecs): Likewise.
1742 (start_decl): Use c_type_promotes_to when promoting argument
1743 types.
1744 (grokdeclarator): Handle _Atomic.
1745 (get_parm_info): Diagnose any qualifier on "void" as only
1746 parameter.
1747 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
1748 comparing types. Use c_type_promotes_to when promoting argument
1749 types.
1750 (finish_function): Use c_type_promotes_to when promoting argument
1751 types.
1752 (build_null_declspecs): Handle atomic_p in declspecs.
1753 (declspecs_add_qual): Handle RID_ATOMIC.
1754 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
1755 (c_token_starts_declspecs): Handle RID_ATOMIC.
1756 (c_parser_declspecs): Handle atomic type specifiers and
1757 qualifiers.
1758 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
1759 from types of expressions with atomic type.
1760 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
1761 (c_parser_attribute_any_word): Handle RID_ATOMIC.
1762 (c_parser_initializer, c_parser_initelt, c_parser_initval)
1763 (c_parser_statement_after_labels, c_parser_switch_statement)
1764 (c_parser_for_statement, c_parser_expr_no_commas)
1765 (c_parser_conditional_expression, c_parser_binary_expression)
1766 (c_parser_cast_expression, c_parser_unary_expression)
1767 (c_parser_postfix_expression)
1768 (c_parser_postfix_expression_after_primary, c_parser_expression):
1769 Use convert_lvalue_to_rvalue.
1770 (c_parser_expression_conv, c_parser_expr_list): Document
1771 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
1772 (c_parser_objc_synchronized_statement): Use
1773 convert_lvalue_to_rvalue.
1774 (c_parser_objc_selector): Handle RID_ATOMIC.
1775 (c_parser_objc_receiver, c_parser_array_notation): Use
1776 convert_lvalue_to_rvalue.
1777 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
1778 _Atomic (type-name).
1779 (struct c_declspecs): Add atomic_p field.
1780 (convert_lvalue_to_rvalue): Declare.
1781 * c-typeck.c (c_type_promotes_to): Promote atomic types to
1782 corresponding atomic types.
1783 (qualify_type): Don't add _Atomic qualifiers from second argument.
1784 (comp_target_types): Do not allow _Atomic mismatches.
1785 (type_lists_compatible_p): Do not remove atomic qualifiers when
1786 comparing types.
1787 (really_atomic_lvalue, convert_lvalue_to_rvalue)
1788 (build_atomic_assign): New functions.
1789 (build_unary_op): Use build_atomic_assign for atomic increment and
1790 decrement.
1791 (build_conditional_expr): Do not treat _Atomic void as a qualified
1792 version of void.
1793 (build_modify_expr): Use build_atomic_assign for atomic LHS.
1794 (find_anonymous_field_with_type, convert_to_anonymous_field)
1795 (convert_for_assignment): Do not remove atomic qualifiers when
1796 comparing types.
1797 (digest_init): Do not accept initialization of arrays of atomic
1798 elements by string constants.
1799 (build_asm_expr): Use convert_lvalue_to_rvalue.
1800 (build_binary_op): Do not treat _Atomic void as a qualified
1801 version of void.
1802
8b023e7c 18032013-11-06 DJ Delorie <dj@redhat.com>
1804
1805 * c-decl.c (locate_old_decl): If a previous conflicting decl is
1806 both explicit and builtin, print the location of the explicit one.
1807
c630ef93 18082013-11-05 Tobias Burnus <burnus@net-b.de>
1809
1810 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
1811 c_parser_omp_distribute, c_parser_omp_teams,
1812 c_parser_omp_target, c_parser_omp_declare): Handle
1813 -fopenmp-simd.
1814
2c4c3477 18152013-11-03 Marek Polacek <polacek@redhat.com>
1816
1817 * c-decl.c (grokdeclarator): Add VLA instrumentation.
1818
df205251 18192013-11-01 Jakub Jelinek <jakub@redhat.com>
1820
1821 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
1822 check_dup_generic at the end, unless remove is true.
1823 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
1824 remove = true;.
1825 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
1826
23871d0c 18272013-10-31 Jakub Jelinek <jakub@redhat.com>
1828
1829 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
1830 with decl that is not pointer nor array.
1831
d037099f 18322013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1833
1834 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
1835 a spawning function is found.
1836 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
1837 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
1838 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1839 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
1840 case.
1841 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
1842 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
1843 expr.
1844 (c_finish_return): Added a check to reject _Cilk_spawn in return
1845 expression.
1846 (build_cilk_spawn): New function.
1847 (build_cilk_sync): Likewise.
1848 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
1849
4c90c04c 18502013-10-27 Tobias Burnus <burnus@net-b.de>
1851
1852 PR other/33426
1853 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
1854 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
1855 (c_parser_statement_after_labels): Update calls.
1856
48a972c8 18572013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 1858
1859 PR other/33426
1860 * c-parser.c (c_parser_pragma, c_parser_for_statement):
1861 Handle PRAGMA_IVDEP.
1862 (c_parser_statement_after_labels): Update call.
1863
12f86df0 18642013-10-24 Marek Polacek <polacek@redhat.com>
1865
1866 * c-parser.c (c_parser_struct_declaration): Add a comment.
1867 (c_parser_declarator): Don't allow _Alignas here.
1868
7740abd8 18692013-10-17 Andrew MacLeod <amacleod@redhat.com>
1870
1871 * c-parser.c: Include omp-low.h.
1872 * c-typeck.c: Likewise.
1873
43d03c23 18742013-10-17 Marek Polacek <polacek@redhat.com>
1875
1876 PR c/58267
1877 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
1878 Document syntax of the array-declarator.
1879 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
1880 are not permitted.
1881 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
1882 (c_parser_struct_declaration): Likewise.
1883 (c_parser_declarator): Likewise.
1884 (c_parser_direct_declarator_inner): Likewise.
1885 (c_parser_parameter_declaration): Likewise.
1886 (c_parser_type_name): Likewise.
1887
bc7bff74 18882013-10-11 Jakub Jelinek <jakub@redhat.com>
1889
1890 * c-lang.h (current_omp_declare_target_attribute): New extern
1891 decl.
1892 * c-parser.c: Include c-lang.h.
1893 (struct c_parser): Change tokens to c_token *.
1894 Add tokens_buf field. Change tokens_avail type to unsigned int.
1895 (c_parser_consume_token): If parser->tokens isn't
1896 &parser->tokens_buf[0], increment parser->tokens.
1897 (c_parser_consume_pragma): Likewise.
1898 (enum pragma_context): Add pragma_struct and pragma_param.
1899 (c_parser_external_declaration): Adjust
1900 c_parser_declaration_or_fndef caller.
1901 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
1902 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
1903 Adjust recursive call.
1904 (c_parser_struct_or_union_specifier): Use pragma_struct instead
1905 of pragma_external.
1906 (c_parser_parameter_declaration): Use pragma_param instead of
1907 pragma_external.
1908 (c_parser_compound_statement_nostart, c_parser_label,
1909 c_parser_for_statement): Adjust
1910 c_parser_declaration_or_fndef callers.
1911 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
1912 it through to c_parser_conditional_expression.
1913 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
1914 pass it through to c_parser_binary_expression. Adjust recursive
1915 call.
1916 (c_parser_binary_expression): Remove prec argument, add
1917 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
1918 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
1919 binop matches it, use build2 instead of parser_build_binary_op.
1920 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
1921 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
1922 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
1923 Handle pragma_struct and pragma_param the same as pragma_external.
1924 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
1925 (c_parser_omp_variable_list): Parse array sections for
1926 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
1927 (c_parser_omp_clause_collapse): Fully fold collapse expression.
1928 (c_parser_omp_clause_reduction): Handle user defined reductions.
1929 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
1930 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
1931 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
1932 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
1933 c_parser_omp_clause_depend, c_parser_omp_clause_map,
1934 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
1935 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
1936 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
1937 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
1938 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
1939 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
1940 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
1941 (c_parser_omp_for_loop): Add CODE argument, pass it through
1942 to c_finish_omp_for. Change last argument to cclauses,
1943 and adjust uses to grab parallel clauses from the array of all
1944 the split clauses. Adjust c_parser_binary_expression,
1945 c_parser_declaration_or_fndef and c_finish_omp_for callers.
1946 (omp_split_clauses): New function.
1947 (c_parser_omp_simd): New function.
1948 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
1949 Allow the function to be called also when parsing combined constructs,
1950 and call c_parser_omp_simd when parsing for simd.
1951 (c_parser_omp_sections_scope): If section-sequence doesn't start with
1952 #pragma omp section, require exactly one structured-block instead of
1953 sequence of statements.
1954 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
1955 Allow the function to be called also when parsing combined constructs.
1956 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
1957 Allow the function to be called also when parsing combined
1958 constructs.
1959 (c_parser_omp_taskgroup, c_parser_omp_cancel,
1960 c_parser_omp_cancellation_point, c_parser_omp_distribute,
1961 c_parser_omp_teams, c_parser_omp_target_data,
1962 c_parser_omp_target_update, c_parser_omp_target,
1963 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
1964 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
1965 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
1966 (c_parser_omp_construct): Add p_name and mask vars. Handle
1967 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
1968 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
1969 and c_parser_omp_sections callers.
1970 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
1971 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
1972 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
1973 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
1974 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
1975 OMP_CLAUSE_DEPEND.
1976 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
1977 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
1978 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
1979 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
1980 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
1981 * c-typeck.c: Include tree-inline.h.
1982 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
1983 handle_omp_array_sections_1, handle_omp_array_sections,
1984 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
1985 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
1986 user defined reductions.
1987 (c_tree_equal): New function.
1988 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
1989 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
1990 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
1991 c_check_omp_declare_reduction_r): New prototypes.
1992 * c-decl.c (current_omp_declare_target_attribute): New variable.
1993 (c_decl_attributes): New function.
1994 (start_decl, start_function): Use it instead of decl_attributes.
1995 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
1996 c_omp_reduction_decl, c_omp_reduction_lookup,
1997 c_check_omp_declare_reduction_r): New functions.
1998
3ce7d1bd 19992013-09-25 Tom Tromey <tromey@redhat.com>
2000
2001 * Make-lang.in (c/gccspec.o): Remove.
2002 (CFLAGS-c/gccspec.o): New variable.
2003 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
2004 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
2005 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
2006
96da1c1d 20072013-09-25 Tom Tromey <tromey@redhat.com>
2008
2009 * Make-lang.in (c/gccspec.o): Don't use subshell.
2010
1b309377 20112013-09-18 Marek Polacek <polacek@redhat.com>
2012
2013 PR sanitize/58443
2014 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
2015 Remove unnecessary check.
2016
05f893e1 20172013-09-18 Marek Polacek <polacek@redhat.com>
2018
2019 PR sanitizer/58411
2020 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
2021 no_sanitize_undefined attribute.
2022
bda0b9d2 20232013-09-13 Kai Tietz <ktietz@redhat.com>
2024
2025 PR target/57848
2026 * c-decl.c (c_builtin_function_ext_scope): Remove
2027 wrong assumption that it is never called on prexisting
2028 symbol.
2029
73437615 20302013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
2031
2032 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
2033
eaab24b9 20342013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2035
2036 * c-objc-common.c (c_tree_printer): Tidy.
2037
9e46467d 20382013-08-30 Marek Polacek <polacek@redhat.com>
2039
2040 * c-typeck.c (build_binary_op): Add division by zero and shift
2041 instrumentation.
2042
f8234178 20432013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
f9086116 2044 Joseph Myers <joseph@codesourcery.com>
f8234178 2045
c90a7d10 2046 PR c/35649
f8234178 2047 * c-typeck.c (c_common_type): Prefer double_type_node over
2048 other REAL_TYPE types with the same precision.
2049 (convert_arguments): Likewise.
2050
6f07f480 20512013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
2052
2053 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
2054 (c_initialize_diagnostics): Call a destructor for the early printer.
2055
eed6bc21 20562013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2057
2058 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
2059 printer initialization.
2060
57717943 20612013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
eed6bc21 2062
57717943 2063 PR c/57490
2064 * c-array-notation.c (fix_conditional_array_notations_1): Added a
2065 check for truth values.
2066 (expand_array_notation_exprs): Added truth values case. Removed an
2067 unwanted else. Added for-loop to walk through subtrees in default
2068 case.
2069
a94db6b0 20702013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2071
2072 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
2073
e76163a9 20742013-07-23 Joseph Myers <joseph@codesourcery.com>
2075
2076 * c-parser.c (struct c_generic_association): Fix typo.
2077
7aa04c8d 20782013-07-23 Tom Tromey <tromey@redhat.com>
2079 Joseph Myers <joseph@codesourcery.com>
2080
2081 * c-parser.c (struct c_generic_association): New.
2082 (c_generic_association_d): New typedef.
2083 (c_parser_generic_selection): New function.
2084 (c_parser_postfix_expression): Handle RID_GENERIC.
2085
76bbe4ca 20862013-07-13 Jason Merrill <jason@redhat.com>
2087
2088 PR c++/57793
2089 * c-decl.c (finish_struct): Check for too-large class.
2090
21ebaa24 20912013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 2092
2093 PR c/57821
2094 * c-typeck.c (set_init_index): When folding, check for index overflow.
2095
936c3081 20962013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2097
2098 * c-parser.c (c_parser_array_notation): Removed rejection of array
2099 notations in an array of function pointers.
2100
50acebe0 21012013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2102
2103 * c-array-notation.c (make_triplet_val_inv): New function.
2104 (create_cmp_incr): Likewise.
2105 (create_array_refs): Likewise.
2106 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
2107 Also modularized common parts between functions and called the function.
2108 (build_array_notation_expr): Likewise.
2109 (fix_conditional_array_notations_1): Likewise.
2110 (fix_array_notation_expr): Likewise.
2111 (fix_array_notation_call_expr): Likewise.
2112
01e6cdb4 21132013-06-18 Marek Polacek <polacek@redhat.com>
2114
2115 PR c/57630
2116 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
2117
6a3adac6 21182013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
2119
2120 * c-array-notation.c (build_array_notation_expr): Reject array notation
2121 mismatch between LHS and RHS even inside a call_expr. Also, removed
2122 a couple while statements that were dead code.
2123
62aab3f3 21242013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
2125
2126 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
2127 excessive precision expressions in function parameters. Also removed
2128 couple unwanted while statements.
2129
bfc83720 21302013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2131
2132 * c-array-notation.c (expand_array_notation_exprs): Added
2133 ARRAY_NOTATION_REF case.
2134
09970d67 21352013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2136
2137 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
2138 function to c-family/array-notation-common.c.
2139 (is_cilkplus_reduce_builtin): Likewise.
2140 (find_rank): Likewise.
2141 (extract_array_notation_exprs): Likewise.
2142 (replace_array_notations): Likewise.
2143 (find_inv_trees): Likewise.
2144 (replace_inv_trees): Likewise.
2145 (contains_array_notation_expr): Likewise.
2146 (find_correct_array_notation_type): Likewise.
2147 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
2148 (struct inv_list): Moved this to c-family/array-notation-common.c.
2149 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
2150
6e13bc01 21512013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
2152
2153 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
2154 reduction functions outside the for-loop. Added a check if the fundecl
2155 is non-NULL. Finally, removed an unwanted if-statement, and made the
2156 body unconditional.
2157
cc92dddc 21582013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
2159
2160 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
2161 condition of the if-statement matches the rank of else-block and then-
2162 block when array notations are used.
2163 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
2164 expression after the entire function body is parsed.
2165 (c_parser_expr_no_commas): Delayed creating array notation expressions
2166 to the end of function parsing.
2167 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
2168 whole if-statement instead of just the condition.
2169 (expand_array_notation_exprs): Added MODIFY_EXPR case.
2170
eddc63fd 21712013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
2172
2173 PR c/57474
2174 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
2175 array to NULL_TREE if they are unused. Also added a check for the
2176 field to be NULL before its fields are used in future.
2177
a2115a4a 21782013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2179
2180 PR bootstrap/57450
2181 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
2182 (build_array_notation_expr): Likewise.
2183
3c6d4197 21842013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2185
2186 * c-typeck.c (build_array_ref): Added a check to see if array's
2187 index is greater than one. If true, then emit an error.
2188 (build_function_call_vec): Exclude error reporting and checking
2189 for builtin array-notation functions.
2190 (convert_arguments): Likewise.
2191 (c_finish_return): Added a check for array notations as a return
2192 expression. If true, then emit an error.
2193 (c_finish_loop): Added a check for array notations in a loop
2194 condition. If true then emit an error.
2195 (lvalue_p): Added a ARRAY_NOTATION_REF case.
2196 (build_binary_op): Added a check for array notation expr inside
2197 op1 and op0. If present, we call another function to find correct
2198 type.
2199 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
2200 * c-parser.c (c_parser_compound_statement): Check if array
2201 notation code is used in tree, if so, then transform them into
2202 appropriate C code.
2203 (c_parser_expr_no_commas): Check if array notation is used in LHS
2204 or RHS, if so, then build array notation expression instead of
2205 regular modify.
2206 (c_parser_postfix_expression_after_primary): Added a check for
2207 colon(s) after square braces, if so then handle it like an array
2208 notation. Also, break up array notations in unary op if found.
2209 (c_parser_direct_declarator_inner): Added a check for array
2210 notation.
2211 (c_parser_compound_statement): Added a check for array notation in
2212 a stmt. If one is present, then expand array notation expr.
2213 (c_parser_if_statement): Likewise.
2214 (c_parser_switch_statement): Added a check for array notations in
2215 a switch statement's condition. If true, then output an error.
2216 (c_parser_while_statement): Similarly, but for a while.
2217 (c_parser_do_statement): Similarly, but for a do-while.
2218 (c_parser_for_statement): Similarly, but for a for-loop.
2219 (c_parser_unary_expression): Check if array notation is used in a
2220 pre-increment or pre-decrement expression. If true, then expand
2221 them.
2222 (c_parser_array_notation): New function.
2223 * c-array-notation.c: New file.
2224 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
2225
2c1c8a2c 22262013-05-23 Mike Stump <mikestump@comcast.net>
2227
2228 * c-typeck.c (convert_for_assignment): Handle references to memory
2229 spaces better.
2230
be5f9e46 22312013-05-16 Jason Merrill <jason@redhat.com>
2232
2233 * Make-lang.in (cc1$(exeext)): Use link mutex.
2234
9205a6cc 22352013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2236
2237 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
2238 to simply use OPT_Wpointer_arith.
2239 (build_unary_op): Likewise.
2240
0b049e15 22412013-04-03 Jakub Jelinek <jakub@redhat.com>
2242
2243 PR c/19449
2244 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
2245 argument. If set, or it temporarily for parsing of the first
2246 argument into force_folding_builtin_constant_p.
2247 (c_parser_postfix_expression): Adjust callers.
2248
8e966116 22492013-03-21 Richard Biener <rguenther@suse.de>
2250
2251 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
2252 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
2253
b862f263 22542013-02-12 Marek Polacek <polacek@redhat.com>
2255
2256 PR c/44938
2257 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
2258 origtypes to NULL.
2259
54550ecb 22602013-01-24 Jakub Jelinek <jakub@redhat.com>
2261
2262 PR c/56078
2263 * c-typeck.c (set_nonincremental_init_from_string): If
2264 constructor_max_index is NULL, treat it as if tree_int_cst_lt
2265 returned false.
2266 (process_init_element): Likewise.
2267
035b65e2 22682012-12-20 Jakub Jelinek <jakub@redhat.com>
2269
2270 PR c++/55619
2271 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
2272 argument, don't call default_function_array_conversion
2273 nor c_fully_fold here.
2274 (c_parser_asm_statement): Adjust callers.
2275 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
2276 and outputs here, and call default_function_array_conversion
2277 on inputs that don't need to be addressable.
2278
7cbb7f1a 22792012-12-18 Jakub Jelinek <jakub@redhat.com>
2280
2281 PR c/39464
2282 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
2283 warning require that both c_common_unsigned_type as well as
2284 c_common_signed_type is the same for both mvl and mvr types.
2285
f1f41a6c 22862012-11-16 Diego Novillo <dnovillo@google.com>
2287
2288 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
2289
2290 * c-common.c: Use new vec API in vec.h.
2291 * c-common.h: Likewise.
2292 * c-gimplify.c: Likewise.
2293 * c-pragma.c: Likewise.
2294 * c-pretty-print.c: Likewise.
2295 * c-pretty-print.h: Likewise.
2296 * c-semantics.c: Likewise.
2297 * c-decl.c: Likewise.
2298 * c-parser.c: Likewise.
2299 * c-tree.h: Likewise.
2300 * c-typeck.c: Likewise.
2301
8b447d3f 23022012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2303
2304 PR c++/54930
2305 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
2306
08fc5390 23072012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2308
2309 PR c/53066
2310 * c-decl.c (warn_if_shadowing): Do not warn if a variable
2311 shadows a function, unless the variable is a function or a
2312 pointer-to-function.
2313
57f872a2 23142012-10-12 Jakub Jelinek <jakub@redhat.com>
2315
2316 PR c/54381
2317 * c-parser.c (struct c_tree_loc_pair): Removed.
2318 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
2319 add location_t * and tree * arguments, fill in array of 3
2320 sizeof_arg trees and corresponding locs.
2321 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
2322 c_parser_expr_list callers.
2323 (c_parser_postfix_expression_after_primary): Likewise. Pass
2324 array of 3 sizeof_arg trees and locs (corresponding to first
2325 3 arguments) to sizeof_pointer_memaccess_warning.
2326
d1455aa3 23272012-10-09 Lawrence Crowl <crowl@google.com>
2328
2329 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
2330 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
2331 hash table.
2332
b0e7825e 23332012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2334
2335 PR c++/54194
2336 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
2337 call.
2338
41ed701a 23392012-10-09 Marc Glisse <marc.glisse@inria.fr>
2340
2341 PR c++/54427
2342 * c-typeck.c: Include c-common.h.
2343 (enum stv_conv): Moved to c-common.h.
2344 (scalar_to_vector): Moved to c-common.c.
2345 (build_binary_op): Adapt to scalar_to_vector's new prototype.
2346 * Make-lang.in: c-typeck.c depends on c-common.h.
2347
ef34afc1 23482012-10-04 Arnaud Charlet <charlet@adacore.com>
2349
2350 * c-decl.c (c_write_global_declarations): Fix handling of
2351 -fdump-ada-spec*.
2352
7bd765d4 23532012-09-30 Sharad Singhai <singhai@google.com>
2354
2355 * c-decl.c (c_write_global_declarations): Use a different method
2356 to determine if the dump has ben initialized.
2357
c4b1a13a 23582012-09-14 Joseph Myers <joseph@codesourcery.com>
2359
2360 PR c/54552
2361 * c-typeck.c (c_cast_expr): When casting to a type requiring
2362 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
2363 c_fully_fold first.
2364
bb554051 23652012-09-14 Joseph Myers <joseph@codesourcery.com>
2366
2367 PR c/54103
2368 * c-typeck.c (build_unary_op): Pass original argument of
2369 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
2370 any C_MAYBE_CONST_EXPR, if it has integer operands.
2371 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
2372 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
2373 to c_objc_common_truthvalue_conversion, then remove any
2374 C_MAYBE_CONST_EXPR, if they have integer operands. Use
2375 c_objc_common_truthvalue_conversion not
2376 c_common_truthvalue_conversion.
2377 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2378 call note_integer_operands for arguments with integer operands
2379 that are not integer constants.
2380
c708c6ef 23812012-09-13 Jakub Jelinek <jakub@redhat.com>
2382
2383 PR c/54559
2384 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2385 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2386
cce20430 23872012-08-31 Jakub Jelinek <jakub@redhat.com>
2388
2389 PR c/54428
2390 * c-convert.c (convert): Don't call fold_convert_loc if
2391 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
2392 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
2393 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
2394
a90d57ed 23952012-08-24 Jakub Jelinek <jakub@redhat.com>
2396
2397 PR c/54355
2398 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
2399 for nested and empty_ok arguments in the call to
2400 c_parser_declaration_or_fndef.
2401
f003f5dc 24022012-08-17 Jakub Jelinek <jakub@redhat.com>
2403
2404 * c-tree.h (c_last_sizeof_arg): Declare.
2405 * c-parser.c (struct c_tree_loc_pair): New type.
2406 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
2407 non-NULL.
2408 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
2409 (c_parser_postfix_expression_after_primary): Likewise. Call
2410 sizeof_pointer_memaccess_warning if needed.
2411 (sizeof_ptr_memacc_comptypes): New function.
2412 * c-typeck.c (c_last_sizeof_arg): New global variable.
2413 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
2414
a5656b73 24152012-07-24 Uros Bizjak <ubizjak@gmail.com>
2416
2417 * c-lang.h (lang_decl): Add variable_size GTY option.
2418
b9ed1410 24192012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2420
2421 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
2422 * Make-lang.in: Fix dependencies.
2423
e53d55e7 24242012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2425
2426 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
2427 and add language Makefile hooks.
2428 * config-lang.in: New file.
2429 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
2430 add the required "normal" config-lang.in rules.
2431 * c-lang.h: Moved from gcc/ to here.
2432 * c-tree.h: Likewise.
2433 * c-objc-common.c: Likewise.
2434 * c-objc-common.h: Likewise.
2435 * c-typeck.c: Likewise.
2436 * c-convert.c: Likewise.
2437 * c-lang.c: Likewise.
2438 * c-aux-info.c: Likewise.
2439 * c-errors.c: Likewise.
2440 * gccspec.c: Likewise.
2441 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
2442 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
2443\f
d353bf18 2444Copyright (C) 2012-2015 Free Software Foundation, Inc.
e53d55e7 2445
2446Copying and distribution of this file, with or without modification,
2447are permitted in any medium without royalty provided the copyright
2448notice and this notice are preserved.