8617f08f97805fc56dceb138691407500f262b81
[gcc.git] / gcc / c / ChangeLog
1 2016-06-08 Marek Polacek <polacek@redhat.com>
2
3 PR c/71418
4 * c-decl.c (grokdeclarator): Check TYPE_P.
5
6 2016-06-07 David Malcolm <dmalcolm@redhat.com>
7
8 * c-parser.c (c_parser_postfix_expression): In __builtin_offsetof
9 and structure element reference, capture the location of the
10 element name token and pass it to build_component_ref.
11 (c_parser_postfix_expression_after_primary): Likewise for
12 structure element dereference.
13 (c_parser_omp_variable_list): Likewise for
14 OMP_CLAUSE_{_CACHE, MAP, FROM, TO},
15 * c-tree.h (build_component_ref): Add location_t param.
16 * c-typeck.c (build_component_ref): Add location_t param
17 COMPONENT_LOC. Use it, if available, when issuing hints about
18 mispelled member names to provide a fixit replacement hint.
19
20 2016-06-06 Marek Polacek <polacek@redhat.com>
21
22 PR c/71362
23 * c-parser.c (c_parser_direct_declarator): Set location.
24
25 2016-06-06 Marek Polacek <polacek@redhat.com>
26
27 * c-typeck.c (comptypes_internal): Handle comparisons of
28 INTEGER_TYPE, FIXED_POINT_TYPE, and REAL_TYPE nodes. Don't check
29 TYPE_REF_CAN_ALIAS_ALL.
30
31 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
32
33 * c-typeck.c (c_finish_omp_clauses): Mark OpenACC reduction
34 arguments as addressable when async clause exists.
35
36 2016-05-30 Jakub Jelinek <jakub@redhat.com>
37
38 PR c++/71349
39 * c-parser.c (c_parser_omp_for): Don't disallow nowait clause
40 when combined with target construct.
41
42 2016-05-26 Jakub Jelinek <jakub@redhat.com>
43
44 * c-parser.c (c_parser_omp_clause_schedule): Warn if
45 OMP_CLAUSE_SCHEDULE_CHUNK_EXPR is known not to be positive.
46
47 2016-05-25 Marek Polacek <polacek@redhat.com>
48
49 PR c/71265
50 * c-decl.c (c_make_fname_decl): Don't check seen_error.
51
52 PR c/71266
53 * c-decl.c (store_parm_decls_oldstyle): Skip non-PARM_DECLs.
54
55 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
56
57 * c-parser.c (c_parser_oacc_declare): Add support for
58 GOMP_MAP_FIRSTPRIVATE_POINTER.
59 * c-typeck.c (handle_omp_array_sections_1): Replace bool is_omp
60 argument with enum c_omp_region_type ort.
61 (handle_omp_array_sections): Likewise. Update call to
62 handle_omp_array_sections_1.
63 (c_finish_omp_clauses): Add specific errors and warning messages for
64 OpenACC. Use firsrtprivate pointers for OpenACC subarrays. Update
65 call to handle_omp_array_sections.
66
67 2016-05-24 Thomas Schwinge <thomas@codesourcery.com>
68
69 * c-parser.c (c_parser_oacc_routine): Tighten syntax checks.
70
71 2016-05-24 Richard Biener <rguenther@suse.de>
72
73 PR middle-end/70434
74 PR c/69504
75 * c-typeck.c (build_array_ref): Do not complain about indexing
76 non-lvalue vectors. Adjust for function name change.
77
78 2016-05-20 Martin Sebor <msebor@redhat.com>
79
80 PR c/71115
81 * c-typeck.c (error_init): Use
82 expansion_point_location_if_in_system_header.
83 (warning_init): Same.
84
85 2016-05-19 David Malcolm <dmalcolm@redhat.com>
86
87 PR c/71171
88 * c-parser.c (c_parser_generic_selection): Use c_expr::set_error
89 in error-handling.
90 (c_parser_postfix_expression): Likewise.
91 * c-tree.h (c_expr::set_error): New method.
92 * c-typeck.c (parser_build_binary_op): In error-handling, ensure
93 that result's range is initialized.
94
95 2016-05-17 James Greenhalgh <james.greenhalgh@arm.com>
96
97 * c-typeck.c (parser_build_unary_op): Fix formatting.
98
99 2016-05-16 Matthew Wahab <matthew.wahab@arm.com>
100
101 * c-decl.c (grokdeclarator): Remove errmsg and use of
102 targetm.invalid_return_type.
103 (grokparms): Remove errmsg and use of
104 targetm.invalid_parameter_type.
105
106 2016-05-13 Joseph Myers <joseph@codesourcery.com>
107
108 * c-decl.c (grokdeclarator): For C11, discard qualifiers on
109 function return type.
110
111 2016-05-12 Marek Polacek <polacek@redhat.com>
112
113 PR c/70756
114 * c-decl.c (build_compound_literal): Pass LOC down to
115 c_incomplete_type_error.
116 * c-tree.h (require_complete_type): Adjust declaration.
117 (c_incomplete_type_error): Likewise.
118 * c-typeck.c (require_complete_type): Add location parameter, pass it
119 down to c_incomplete_type_error.
120 (c_incomplete_type_error): Add location parameter, pass it down to
121 error_at.
122 (build_component_ref): Pass location down to c_incomplete_type_error.
123 (default_conversion): Pass location down to require_complete_type.
124 (build_array_ref): Likewise.
125 (build_function_call_vec): Likewise.
126 (convert_arguments): Likewise.
127 (build_unary_op): Likewise.
128 (build_c_cast): Likewise.
129 (build_modify_expr): Likewise.
130 (convert_for_assignment): Likewise.
131 (c_finish_omp_clauses): Likewise.
132
133 2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
134
135 PR c/43651
136 * c-decl.c (declspecs_add_qual): Warn when -Wduplicate-decl-specifier
137 is enabled.
138 * c-errors.c (pedwarn_c90): Return true if warned.
139 * c-tree.h (pedwarn_c90): Change return type to bool.
140 (enum c_declspec_word): Add new enumerator cdw_atomic.
141
142 2016-05-11 Marek Polacek <polacek@redhat.com>
143
144 PR c++/71024
145 * c-decl.c (diagnose_mismatched_decls): Factor out code to
146 diagnose_mismatched_attributes and call it.
147
148 2016-05-10 Marek Polacek <polacek@redhat.com>
149
150 PR c/70255
151 * c-decl.c (diagnose_mismatched_decls): Warn for optimize attribute
152 on a declaration following the definition.
153
154 2016-05-05 Jakub Jelinek <jakub@redhat.com>
155
156 * c-parser.c (c_parser_switch_statement): Add IF_P argument,
157 parse it through to c_parser_c99_block_statement.
158 (c_parser_statement_after_labels): Adjust c_parser_switch_statement
159 caller.
160
161 2016-05-04 Marek Polacek <polacek@redhat.com>
162
163 * c-parser.c (c_parser_if_statement): Replace OPT_Wparentheses with
164 OPT_Wdangling_else.
165
166 2016-05-04 Marek Polacek <polacek@redhat.com>
167
168 PR c/48778
169 * c-typeck.c (build_binary_op): Don't issue -Waddress warnings
170 for macro expansions.
171
172 2016-05-03 Marek Polacek <polacek@redhat.com>
173
174 PR c/70859
175 * c-typeck.c (build_function_call_vec): Pass LOC and ARG_LOC down to
176 check_builtin_function_arguments.
177
178 2016-05-03 Richard Biener <rguenther@suse.de>
179
180 * Make-lang.in (cc1-checksum.c): For stage-final re-use
181 the checksum from the previous stage.
182
183 2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
184
185 * c-parser.c (c_parser_oacc_all_clauses): Update call to
186 c_finish_omp_clauses.
187 (c_parser_omp_all_clauses): Likewise.
188 (c_parser_oacc_cache): Likewise.
189 (c_parser_oacc_loop): Likewise.
190 (omp_split_clauses): Likewise.
191 (c_parser_omp_declare_target): Likewise.
192 (c_parser_cilk_all_clauses): Likewise.
193 (c_parser_cilk_for): Likewise.
194 * c-typeck.c (c_finish_omp_clauses): Replace bool arguments
195 is_omp, declare_simd, and is_cilk with enum c_omp_region_type ort.
196
197 2016-05-02 Marek Polacek <polacek@redhat.com>
198
199 PR c/70851
200 * c-decl.c (grokdeclarator): Diagnose when array's size has an
201 incomplete type.
202
203 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
204
205 PR middle-end/70626
206 * c-parser.c (c_parser_oacc_loop): Don't augment mask with
207 OACC_LOOP_CLAUSE_MASK.
208 (c_parser_oacc_kernels_parallel): Update call to
209 c_oacc_split_loop_clauses.
210
211 2016-04-28 Andrew MacLeod <amacleod@redhat.com>
212
213 * c-array-notation.c (fix_builtin_array_notation_fn): Fix final
214 argument to build_modify_expr in two cases.
215
216 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
217
218 * c-parser.c (c_parser_postfix_expression_after_primary): Call
219 warn_for_memset instead of warning directly here.
220
221 2016-04-26 Marek Polacek <polacek@redhat.com>
222
223 PR c/67784
224 * c-parser.c (c_parser_maybe_reclassify_token): New function factored
225 out of ...
226 (c_parser_for_statement): ... here.
227 (c_parser_if_statement): Use it.
228 (c_parser_switch_statement): Use it.
229 (c_parser_while_statement): Use it.
230
231 PR c/70791
232 * c-decl.c (pushdecl): Pass LOCUS down to warning.
233
234 2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
235
236 PR c++/69363
237 * c-parser.c (c_parser_cilk_all_clauses): Use c_finish_omp_clauses
238 instead of c_finish_cilk_clauses.
239 * c-tree.h (c_finish_omp_clauses): Add new default argument.
240 * c-typeck.c (c_finish_omp_clauses): Add new argument. Allow
241 floating-point variables in the linear clause for Cilk Plus.
242
243 2016-04-18 Michael Matz <matz@suse.de>
244
245 * c-decl.c (merge_decls): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
246 (grokdeclarator, parser_xref_tag, finish_enum): Use SET_TYPE_ALIGN.
247
248 2016-04-15 Marek Polacek <polacek@redhat.com>
249
250 PR c/70671
251 * c-typeck.c (build_unary_op): Pass location down to error and
252 warning call.
253
254 2016-04-15 Jakub Jelinek <jakub@redhat.com>
255
256 PR c/70436
257 * c-parser.c (c_parser_pragma): Add IF_P argument, pass it down
258 where needed.
259 (c_parser_external_declaration, c_parser_struct_or_union_specifier,
260 c_parser_parameter_declaration, c_parser_compound_statement_nostart,
261 c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist):
262 Adjust c_parser_pragma callers.
263 (c_parser_statement_after_labels): Likewise. Adjust c_parser_cilk_for
264 caller.
265 (c_parser_omp_structured_block): Add IF_P argument, pass it down to
266 c_parser_statement.
267 (c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop,
268 c_parser_oacc_kernels_parallel, c_parser_omp_critical,
269 c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master,
270 c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single,
271 c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute,
272 c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target,
273 c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize,
274 c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it
275 down where needed.
276 (c_parser_omp_for_loop): Likewise. Clear IF_P if nbraces.
277 (c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block
278 calls.
279
280 2016-04-13 Marek Polacek <polacek@redhat.com>
281
282 PR c/70436
283 * c-parser.c (c_parser_statement_after_labels): Add IF_P argument and
284 adjust callers.
285 (c_parser_statement): Likewise.
286 (c_parser_c99_block_statement): Likewise.
287 (c_parser_while_statement): Likewise.
288 (c_parser_for_statement): Likewise.
289 (c_parser_if_body): Don't set IF_P here.
290 (c_parser_if_statement): Add IF_P argument. Set IF_P here. Warn
291 about dangling else here.
292 * c-tree.h (c_finish_if_stmt): Adjust declaration.
293 * c-typeck.c (c_finish_if_stmt): Remove NESTED_IF parameter. Don't
294 warn about dangling else here.
295
296 2016-04-04 Marek Polacek <polacek@redhat.com>
297
298 PR c/70307
299 * c-fold.c (c_fully_fold_internal): Handle VEC_COND_EXPR.
300
301 2016-03-31 Marek Polacek <polacek@redhat.com>
302
303 PR c/70297
304 * c-decl.c (merge_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN.
305
306 2016-03-18 David Malcolm <dmalcolm@redhat.com>
307
308 PR c/70281
309 * c-parser.c (c_parser_postfix_expression): Set the source range
310 for uses of "__builtin_types_compatible_p".
311
312 2016-03-17 Jakub Jelinek <jakub@redhat.com>
313
314 PR c/70280
315 * c-typeck.c (composite_type): Don't count void_list_node
316 into len, if the list is terminated by void_list_node, start
317 with void_list_node instead of NULL for newargs. Stop
318 at void_list_node.
319
320 2016-03-16 Marek Polacek <polacek@redhat.com>
321
322 PR c/70093
323 * c-typeck.c (build_function_call_vec): Create a TARGET_EXPR for
324 nested functions returning VM types.
325
326 2016-03-09 Cesar Philippidis <cesar@codesourcery.com>
327
328 * c-parser.c (c_parser_oacc_loop): Update cclauses and clauses
329 when calling c_finish_omp_clauses.
330
331 2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
332
333 PR c/69824
334 * c-decl.c (get_parm_info): Don't queue implicit function declarations
335 for later.
336
337 2016-03-04 Marek Polacek <polacek@redhat.com>
338
339 PR c/69798
340 * c-parser.c (c_parser_postfix_expression): Call
341 c_parser_cast_expression rather than c_parser_postfix_expression.
342
343 2016-03-01 Jakub Jelinek <jakub@redhat.com>
344
345 PR c/69796
346 PR c/69974
347 * c-parser.c (c_parser_translation_unit): Don't change TREE_TYPE
348 of incomplete decls to error_mark_node.
349
350 2016-02-24 Marek Polacek <polacek@redhat.com>
351
352 PR c/69819
353 * c-decl.c (finish_decl): Don't update the copy of the type of a
354 different decl type.
355
356 2016-02-23 Jakub Jelinek <jakub@redhat.com>
357
358 PR objc/69844
359 * c-parser.c (c_parser_for_statement): Properly handle ObjC classes
360 in id_kind reclassification.
361
362 2016-02-16 Jakub Jelinek <jakub@redhat.com>
363
364 PR c/69835
365 * c-typeck.c (build_binary_op): Revert 2015-09-09 change.
366
367 2016-02-16 James Norris <jnorris@codesourcery.com>
368
369 PR c/64748
370 * c-parser.c (c_parser_oacc_data_clause_deviceptr): Allow parms.
371
372 2016-02-12 Bernd Schmidt <bschmidt@redhat.com>
373
374 * c-decl.c (build_null_declspecs): Zero the entire struct.
375
376 PR c/69522
377 * c-parser.c (c_parser_braced_init): New arg outer_obstack. All
378 callers changed. If nested_p is true, use it to call
379 finish_implicit_inits.
380 * c-tree.h (finish_implicit_inits): Declare.
381 * c-typeck.c (finish_implicit_inits): New function. Move code
382 from ...
383 (push_init_level): ... here.
384 (set_designator, process_init_element): Call finish_implicit_inits.
385
386 2016-02-11 Jakub Jelinek <jakub@redhat.com>
387
388 PR c/69768
389 * c-typeck.c (parser_build_binary_op): Strip nops from integer_zerop
390 arguments for -Waddress warning.
391
392 2016-02-04 Jakub Jelinek <jakub@redhat.com>
393
394 PR c/69669
395 * c-decl.c (finish_enum): When honoring mode attribute,
396 make sure to use proper TYPE_MIN_VALUE and TYPE_MAX_VALUE.
397
398 2016-01-29 Jakub Jelinek <jakub@redhat.com>
399
400 PR debug/69518
401 * c-decl.c (finish_struct): Clear C_TYPE_INCOMPLETE_VARS in
402 all type variants, not just TYPE_MAIN_VARIANT.
403
404 2016-01-27 Jakub Jelinek <jakub@redhat.com>
405
406 PR debug/66869
407 * c-decl.c (c_write_global_declarations_1): Warn with
408 warn_unused_function if static prototype without definition
409 is not C_DECL_USED.
410
411 2016-01-27 Marek Polacek <polacek@redhat.com>
412
413 PR c/68062
414 * c-typeck.c (build_binary_op) [EQ_EXPR, GE_EXPR]: Promote operand
415 to unsigned, if needed. Add -Wsign-compare warning.
416
417 2016-01-26 Jakub Jelinek <jakub@redhat.com>
418
419 PR tree-optimization/69483
420 * c-parser.c (c_parser_translation_unit): Use FOR_EACH_VEC_ELT.
421
422 2016-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
423
424 PR c/24293
425 * c-tree.h (incomplete_record_decls): Declare.
426 * c-parser.c (incomplete_record_decls): Define.
427 (c_parser_translation_unit): Iterate through incomplete_record_decls and
428 report error if any decl has zero size.
429 * c-decl.c (finish_decl): Append static decl with incomplete struct/union
430 or enum type to incomplete_record_decls.
431
432 2016-01-14 Tom de Vries <tom@codesourcery.com>
433
434 PR tree-optimization/68773
435 * c-parser.c (c_parser_oacc_declare, c_parser_omp_declare_target): Don't
436 set force_output.
437
438 2016-01-14 Marek Polacek <polacek@redhat.com>
439
440 PR c/69262
441 * c-decl.c (grokdeclarator): Provide more information for invalid
442 array declarations.
443
444 2016-01-06 David Malcolm <dmalcolm@redhat.com>
445
446 * c-parser.c (c_parser_unary_expression): For dereferences, build
447 a combined location before calling build_indirect_ref, so that
448 error reports cover the full range, manually updating the c_expr
449 src_range.
450
451 2016-01-06 Marek Polacek <polacek@redhat.com>
452
453 PR sanitizer/69099
454 * c-convert.c (convert) [INTEGER_TYPE]: Drop ARG. Don't pass ARG to
455 ubsan_instrument_float_cast. Fold EXPR. Use NULL_TREE instead of
456 NULL.
457
458 2016-01-04 Jakub Jelinek <jakub@redhat.com>
459
460 Update copyright years.
461
462 2016-01-04 Marek Polacek <polacek@redhat.com>
463
464 PR c/68908
465 * c-typeck.c (build_atomic_assign): Improve commentary. Add
466 optimization to use __atomic_fetch_* built-in if possible.
467
468 2015-12-23 Thomas Schwinge <thomas@codesourcery.com>
469
470 * c-parser.c (c_parser_oacc_clause_use_device): Merge function
471 into...
472 (c_parser_omp_clause_use_device_ptr): ... this function. Adjust
473 all users.
474
475 2015-12-22 Marek Polacek <polacek@redhat.com>
476
477 PR c/69002
478 * c-typeck.c (build_component_ref): Warn when acessing elements of
479 atomic structures or unions.
480
481 2015-12-21 David Malcolm <dmalcolm@redhat.com>
482
483 * c-typeck.c: Include "gcc-rich-location.h".
484 (build_binary_op): In the two places that call binary_op_error,
485 create a gcc_rich_location and populate it with the location of
486 the binary op and its two operands.
487
488 2015-12-16 David Malcolm <dmalcolm@redhat.com>
489
490 * c-parser.c (c_parser_statement_after_labels): When calling
491 c_finish_return, Use the return expression's location if it has
492 one, falling back to the location of the first token within it.
493 * c-typeck.c (c_finish_return): When issuing warnings about
494 the incorrect presence/absence of a return value, issue a note
495 showing the declaration of the function.
496
497 2015-12-16 David Malcolm <dmalcolm@redhat.com>
498
499 * c-parser.c (struct c_parser): Expand array "tokens_buf" from 2
500 to 4.
501 (c_parser_peek_nth_token): New function.
502 (c_parser_peek_conflict_marker): New function.
503 (c_parser_error): Detect conflict markers and report them as such.
504
505 2015-12-16 David Malcolm <dmalcolm@redhat.com>
506
507 * c-parser.c (c_parser_postfix_expression): Use EXPR_LOC_OR_LOC
508 to preserve range information for the primary expression
509 in the call to c_parser_postfix_expression_after_primary.
510
511 2015-12-16 David Malcolm <dmalcolm@redhat.com>
512
513 * c-parser.c (c_parser_static_assert_declaration_no_semi): Use the
514 expression location, falling back on the first token location,
515 rather than always using the latter.
516
517 2015-12-16 Marek Polacek <polacek@redhat.com>
518
519 PR c/64637
520 * c-typeck.c (c_process_expr_stmt): Use location of the expression if
521 available.
522
523 2015-12-15 Marek Polacek <polacek@redhat.com>
524
525 PR c/68907
526 * c-typeck.c (build_atomic_assign): Set TREE_NO_WARNING on an
527 artificial decl.
528
529 2015-12-08 David Malcolm <dmalcolm@redhat.com>
530
531 * c-parser.c (c_parser_alignof_expression): Capture location of
532 closing parenthesis (if any), or of end of unary expression, and
533 use it to build a src_range for the expression.
534
535 2015-12-08 David Malcolm <dmalcolm@redhat.com>
536
537 PR c/68757
538 * c-parser.c (c_parser_get_builtin_args): Add
539 "out_close_paren_loc" param, and write back to it.
540 (c_parser_postfix_expression): Capture the closing
541 parenthesis location for RID_CHOOSE_EXPR,
542 RID_BUILTIN_CALL_WITH_STATIC_CHAIN, RID_BUILTIN_COMPLEX,
543 RID_BUILTIN_SHUFFLE and use it to set the source range
544 for such expressions; within RID_BUILTIN_COMPLEX set
545 the underlying location.
546
547 2015-12-07 Marek Polacek <polacek@redhat.com>
548
549 PR c/68668
550 * c-decl.c (grokdeclarator): If ORIG_QUAL_INDIRECT is indirect, use
551 TREE_TYPE of ORIG_QUAL_TYPE, otherwise decrement ORIG_QUAL_INDIRECT.
552
553 2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
554
555 * c-tree.h (c_build_va_arg): Adjust prototype.
556 * c-parser.c (c_parser_postfix_expression): Adjust call to above.
557 * c-typeck.c (c_build_va_arg): Rename LOC parameter to LOC2, add LOC1
558 parameter, adjust throughout and issue an error if EXPR is a component
559 with reverse storage order.
560
561 2015-12-02 Jason Merrill <jason@redhat.com>
562
563 * c-fold.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
564 (c_fully_fold_internal, decl_constant_value_for_optimization):
565 Move from c-common.c.
566 * c-tree.h: Declare decl_constant_value_for_optimization.
567 * Make-lang.in (C_AND_OBJC_OBJS): Add c-fold.o.
568
569 2015-12-02 Joseph Myers <joseph@codesourcery.com>
570
571 PR c/68162
572 * c-decl.c (grokdeclarator): Set first_non_attr_kind before
573 following link from declarator to next declarator. Track original
574 qualified type and pass it to c_build_qualified_type.
575 * c-typeck.c (c_build_qualified_type): Add arguments
576 orig_qual_type and orig_qual_indirect.
577
578 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
579
580 * c-parser.c (c_parser_omp_clause_name)
581 (c_parser_oacc_all_clauses): Alphabetical sorting.
582
583 2015-12-02 Jakub Jelinek <jakub@redhat.com>
584
585 PR c/68533
586 * c-decl.c (get_parm_info): Use b->locus instead of input_location
587 for diagnostics.
588
589 2015-12-01 Julian Brown <julian@codesourcery.com>
590 Cesar Philippidis <cesar@codesourcery.com>
591 James Norris <James_Norris@mentor.com>
592
593 * c-parser.c (c_parser_omp_clause_name): Add use_device support.
594 (c_parser_oacc_clause_use_device): New function.
595 (c_parser_oacc_all_clauses): Add use_device support.
596 (OACC_HOST_DATA_CLAUSE_MASK): New macro.
597 (c_parser_oacc_host_data): New function.
598 (c_parser_omp_construct): Add host_data support.
599 * c-tree.h (c_finish_oacc_host_data): Add prototype.
600 * c-typeck.c (c_finish_oacc_host_data): New function.
601 (c_finish_omp_clauses): Add use_device support.
602
603 2015-11-29 Jan Hubicka <hubicka@ucw.cz>
604
605 PR c/67106
606 * c-decl.c: Set TYPE_PACKED in variants.
607
608 2015-11-27 Martin Liska <mliska@suse.cz>
609
610 PR c++/68312
611 * c-array-notation.c (fix_builtin_array_notation_fn):
612 Use release_vec_vec instead of vec::release.
613 (build_array_notation_expr): Likewise.
614 (fix_conditional_array_notations_1): Likewise.
615 (fix_array_notation_expr): Likewise.
616 (fix_array_notation_call_expr): Likewise.
617
618 2015-11-27 Jakub Jelinek <jakub@redhat.com>
619
620 PR c/63326
621 * c-parser.c (c_parser_compound_statement_nostart): If
622 last_label is true, use pragma_stmt instead of pragma_compound
623 as second c_parser_pragma argument.
624 (c_parser_omp_ordered, c_parser_omp_target_update,
625 c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Pass
626 false as second argument to c_parser_skip_to_pragma_eol after
627 diagnosing standalone directives used in pragma_stmt context.
628
629 2015-11-24 Ilya Verbin <ilya.verbin@intel.com>
630
631 * c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING"
632 with "if (ENABLE_OFFLOADING)".
633
634 2015-11-23 David Malcolm <dmalcolm@redhat.com>
635
636 PR objc/68438
637 * c-parser.c (c_parser_postfix_expression): Set up source ranges
638 for various Objective-C constructs: Class.name syntax,
639 @selector(), @protocol(), @encode(), and [] message syntax.
640
641 2015-11-20 David Malcolm <dmalcolm@redhat.com>
642
643 PR 62314
644 * c-typeck.c (should_suggest_deref_p): New function.
645 (build_component_ref): Special-case POINTER_TYPE when
646 generating a "not a structure of union" error message, and
647 suggest a "->" rather than a ".", providing a fix-it hint.
648
649 2015-11-19 David Malcolm <dmalcolm@redhat.com>
650
651 * c-typeck.c (lookup_field_fuzzy): Move determination of closest
652 candidate into a new function, find_closest_identifier.
653
654 2015-11-19 Marek Polacek <polacek@redhat.com>
655
656 PR c/68412
657 * c-typeck.c (parser_build_binary_op): Properly handle
658 C_MAYBE_CONST_EXPR before calling warn_tautological_cmp.
659
660 2015-11-17 David Malcolm <dmalcolm@redhat.com>
661
662 * c-parser.c (set_c_expr_source_range): Bulletproof both
663 overloaded implementations against NULL expr->value.
664 (c_parser_braced_init): Set src_range for "ret" to a sane pair of
665 values.
666 (c_parser_unary_expression): Likewise when handling addresses of
667 labels.
668 (c_parser_postfix_expression): Likewise for statement expressions,
669 for __FUNCTION__, __PRETTY_FUNCTION_ and __func__ keywords, for
670 __builtin_va_arg, and for __builtin_offset_of.
671 (c_parser_postfix_expression_after_paren_type): Initialize expr's
672 src_range using the range of the braced initializer.
673 (c_parser_transaction_expression): Set src_range for "ret" to a
674 sane pair of values.
675
676 2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
677
678 * c-parser.c (c_finish_omp_declare_simd): Look for
679 "simd" attribute as well. Update error message.
680
681 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
682
683 * c-parser.c (c_parser_omp_declare_target): Adjust.
684
685 2015-11-14 Jakub Jelinek <jakub@redhat.com>
686
687 * c-typeck.c (c_finish_omp_clauses): Don't mark
688 GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
689
690 2015-11-14 Marek Polacek <polacek@redhat.com>
691
692 * c-decl.c: Use RECORD_OR_UNION_TYPE_P throughout.
693 * c-typeck.c: Likewise.
694
695 2015-11-13 David Malcolm <dmalcolm@redhat.com>
696
697 * c-decl.c (warn_defaults_to): Pass line_table to
698 rich_location ctor.
699 * c-errors.c (pedwarn_c99): Likewise.
700 (pedwarn_c90): Likewise.
701 * c-parser.c (set_c_expr_source_range): New functions.
702 (c_token::get_range): New method.
703 (c_token::get_finish): New method.
704 (c_parser_expr_no_commas): Call set_c_expr_source_range on the ret
705 based on the range from the start of the LHS to the end of the
706 RHS.
707 (c_parser_conditional_expression): Likewise, based on the range
708 from the start of the cond.value to the end of exp2.value.
709 (c_parser_binary_expression): Call set_c_expr_source_range on
710 the stack values for TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
711 (c_parser_cast_expression): Call set_c_expr_source_range on ret
712 based on the cast_loc through to the end of the expr.
713 (c_parser_unary_expression): Likewise, based on the
714 op_loc through to the end of op.
715 (c_parser_sizeof_expression) Likewise, based on the start of the
716 sizeof token through to either the closing paren or the end of
717 expr.
718 (c_parser_postfix_expression): Likewise, using the token range,
719 or from the open paren through to the close paren for
720 parenthesized expressions.
721 (c_parser_postfix_expression_after_primary): Likewise, for
722 various kinds of expression.
723 * c-tree.h (struct c_expr): Add field "src_range".
724 (c_expr::get_start): New method.
725 (c_expr::get_finish): New method.
726 (set_c_expr_source_range): New decls.
727 * c-typeck.c (parser_build_unary_op): Call set_c_expr_source_range
728 on ret for prefix unary ops.
729 (parser_build_binary_op): Likewise, running from the start of
730 arg1.value through to the end of arg2.value.
731
732 2015-11-13 Marek Polacek <polacek@redhat.com>
733
734 PR c/68320
735 * c-parser.c (c_parser_for_statement): Treat unknown tokens as IDs.
736
737 2015-11-13 David Malcolm <dmalcolm@redhat.com>
738
739 * c-typeck.c: Include spellcheck.h.
740 (lookup_field_fuzzy_find_candidates): New function.
741 (lookup_field_fuzzy): New function.
742 (build_component_ref): If the field was not found, try using
743 lookup_field_fuzzy and potentially offer a suggestion.
744
745 2015-11-12 James Norris <jnorris@codesourcery.com>
746 Joseph Myers <joseph@codesourcery.com>
747
748 * c-parser.c (c_parser_pragma): Handle PRAGMA_OACC_DECLARE.
749 (c_parser_omp_clause_name): Handle 'device_resident' clause.
750 (c_parser_oacc_data_clause): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
751 and PRAGMA_OMP_CLAUSE_LINK.
752 (c_parser_oacc_all_clauses): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
753 and PRAGMA_OACC_CLAUSE_LINK.
754 (OACC_DECLARE_CLAUSE_MASK): New definition.
755 (c_parser_oacc_declare): New function.
756
757 2015-11-12 Marek Polacek <polacek@redhat.com>
758
759 PR c/67784
760 * c-parser.c (c_parser_for_statement): Reclassify the token in
761 a correct scope.
762
763 2015-11-11 Marek Polacek <polacek@redhat.com>
764
765 PR c/68107
766 PR c++/68266
767 * c-decl.c (grokdeclarator): Call valid_array_size_p. Remove code
768 checking the size of an array.
769
770 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
771
772 * c-array-notation.c: Remove unused header files.
773 * c-aux-info.c: Likewise.
774 * c-convert.c: Likewise.
775 * c-decl.c: Likewise.
776 * c-errors.c: Likewise.
777 * c-lang.c: Likewise.
778 * c-objc-common.c: Likewise.
779 * c-parser.c: Likewise.
780 * c-typeck.c: Likewise.
781 * gccspec.c: Likewise.
782
783 2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
784 Cesar Philippidis <cesar@codesourcery.com>
785 James Norris <jnorris@codesourcery.com>
786 Julian Brown <julian@codesourcery.com>
787 Nathan Sidwell <nathan@codesourcery.com>
788
789 c/
790 * c-parser.c (c_parser_declaration_or_fndef): Add OpenACC
791 routine arg.
792 (c_parser_declaration_or_fndef): Call c_finish_oacc_routine.
793 (c_parser_pragma): Parse 'acc routine'.
794 (OACC_ROUTINE_CLAUSE_MARK): Define.
795 (c_parser_oacc_routine, (c_finish_oacc_routine): New.
796
797 2015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
798
799 PR debug/67192
800 * c-typeck.c (c_finish_loop): For unconditional loops, set the
801 location of the backward-goto to the start of the loop body.
802
803 2015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
804
805 PR debug/67192
806 * c-parser.c (c_parser_while_statement): Finish the loop before
807 parsing ahead for misleading indentation.
808 (c_parser_for_statement): Likewise.
809
810 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
811
812 * c-decl.c (finish_struct): If the structure has reverse storage
813 order, rewrite the type of array fields with scalar component. Call
814 maybe_apply_pragma_scalar_storage_order on entry.
815 * c-typeck.c (build_unary_op) <ADDR_EXPR>: Remove left-overs. Issue
816 errors on bit-fields and reverse SSO here and not...
817 (c_mark_addressable): ...here.
818 (output_init_element): Adjust call to initializer_constant_valid_p.
819 (c_build_qualified_type): Propagate TYPE_REVERSE_STORAGE_ORDER.
820
821 2015-11-06 David Malcolm <dmalcolm@redhat.com>
822
823 * c-decl.c (warn_defaults_to): Update for change in signature
824 of diagnostic_set_info.
825 * c-errors.c (pedwarn_c99): Likewise.
826 (pedwarn_c90): Likewise.
827 * c-objc-common.c (c_tree_printer): Update for new "caret_p" param
828 for textinfo::set_location.
829
830 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
831 Thomas Schwinge <thomas@codesourcery.com>
832 James Norris <jnorris@codesourcery.com>
833
834 * c-parser.c (c_parser_omp_clause_name): Add support for
835 PRAGMA_OACC_CLAUSE_INDEPENDENT and PRAGMA_OACC_CLAUSE_TILE.
836 (c_parser_omp_clause_default): Add is_oacc argument. Handle
837 default(none) in OpenACC.
838 (c_parser_oacc_shape_clause): Allow pointer variables as gang static
839 arguments.
840 (c_parser_oacc_clause_tile): New function.
841 (c_parser_oacc_all_clauses): Add support for OMP_CLAUSE_DEFAULT,
842 OMP_CLAUSE_INDEPENDENT and OMP_CLAUSE_TILE.
843 (OACC_LOOP_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_{PRIVATE,INDEPENDENT,
844 TILE}.
845 (OACC_KERNELS_MASK): Add PRAGMA_OACC_CLAUSE_DEFAULT.
846 (OACC_PARALLEL_MASK): Add PRAGMA_OACC_CLAUSE_{DEFAULT,PRIVATE,
847 FIRSTPRIVATE}.
848 (c_parser_omp_all_clauses): Update call to c_parser_omp_clause_default.
849 (c_parser_oacc_update): Update the error message for missing clauses.
850 * c-typeck.c (c_finish_omp_clauses): Add support for OMP_CLAUSE_TILE
851 and OMP_CLAUSE_INDEPENDENT.
852
853 2015-11-05 Marek Polacek <polacek@redhat.com>
854
855 PR c/68090
856 * c-parser.c (c_parser_postfix_expression_after_paren_type): Don't
857 deal with pre-evaluation on invalid types.
858
859 2015-11-05 Jakub Jelinek <jakub@redhat.com>
860 Ilya Verbin <ilya.verbin@intel.com>
861
862 * c-parser.c: Include context.h and gimple-expr.h.
863 (c_parser_omp_clause_schedule): Parse schedule modifiers, diagnose
864 monotonic together with nonmonotonic.
865 (c_parser_omp_for_loop): Call c_omp_check_loop_iv. Call add_stmt here.
866 (OMP_DISTRIBUTE_CLAUSE_MASK): Add lastprivate clause.
867 (c_parser_omp_target_data, c_parser_omp_target_enter_data,
868 c_parser_omp_target_exit_data): Allow GOMP_MAP_ALWAYS_POINTER.
869 (c_parser_omp_target): Likewise. Evaluate num_teams and thread_limit
870 expressions on combined target teams before the target.
871 (c_parser_omp_declare_target): If decl has "omp declare target" or
872 "omp declare target link" attribute, and cgraph or varpool node already
873 exists, then set corresponding flags. Call c_finish_omp_clauses
874 in the parenthesized extended-list syntax case.
875 * c-decl.c (c_decl_attributes): Don't diagnose block scope vars inside
876 declare target.
877 * c-typeck.c (handle_omp_array_sections_1): Allow non-zero low-bound
878 on OMP_CLAUSE_REDUCTION array sections.
879 (handle_omp_array_sections): Encode low-bound into the MEM_REF, either
880 into the constant offset, or for variable low-bound using
881 POINTER_PLUS_EXPR. For structure element based array sections use
882 GOMP_MAP_ALWAYS_POINTER instead of GOMP_MAP_FIRSTPRIVATE_POINTER.
883 (c_finish_omp_clauses): Drop generic_field_head, structure
884 elements are now always mapped even as array section bases,
885 diagnose same var in data sharing and mapping clauses. Diagnose if
886 linear step on declare simd is neither a constant nor a uniform
887 parameter. Look through POINTER_PLUS_EXPR for array section
888 reductions. Diagnose the same var or function appearing multiple
889 times on the same directive. Fix up wording for the to clause if t
890 is neither a FUNCTION_DECL nor a VAR_DECL. Diagnose nonmonotonic
891 modifier on kinds other than dynamic or guided or nonmonotonic
892 modifier together with ordered clause.
893
894 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
895 Chung-Lin Tang <cltang@codesourcery.com>
896
897 * c-parser.c (c_parser_omp_construct): Handle PRAGMA_OACC_ATOMIC.
898
899 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
900
901 * c-array-notation.c: Reorder #include's and remove duplicates.
902 * c-aux-info.c: Likewise.
903 * c-convert.c: Likewise.
904 * c-decl.c: Likewise.
905 * c-errors.c: Likewise.
906 * c-lang.c: Likewise.
907 * c-objc-common.c: Likewise.
908 * c-parser.c: Likewise.
909 * c-typeck.c: Likewise.
910
911 2015-10-26 Jim Wilson <jim.wilson@linaro.org>
912
913 PR debug/66068
914 * c-typeck.c (c_build_qualified_type): Clear C_TYPE_INCOMPLETE_VARS
915 after calling build_qualified_type.
916
917 2015-10-27 Cesar Philippidis <cesar@codesourcery.com>
918 Thomas Schwinge <thomas@codesourcery.com>
919 James Norris <jnorris@codesourcery.com>
920 Joseph Myers <joseph@codesourcery.com>
921 Julian Brown <julian@codesourcery.com>
922 Bernd Schmidt <bschmidt@redhat.com>
923
924 * c-parser.c (c_parser_oacc_shape_clause): New.
925 (c_parser_oacc_simple_clause): New.
926 (c_parser_oacc_all_clauses): Add auto, gang, seq, vector, worker.
927 (OACC_LOOP_CLAUSE_MASK): Add gang, worker, vector, auto, seq.
928
929 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
930 James Norris <jnorris@codesourcery.com>
931 Cesar Philippidis <cesar@codesourcery.com>
932
933 PR c/64765
934 PR c/64880
935 * c-parser.c (c_parser_oacc_loop): Add mask, cclauses formal
936 parameters, and handle these. Adjust all users.
937 (c_parser_oacc_kernels, c_parser_oacc_parallel): Merge functions
938 into...
939 (c_parser_oacc_kernels_parallel): ... this new function. Adjust
940 all users.
941 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels): Don't
942 declare functions.
943 (c_finish_omp_construct): Declare function.
944 * c-typeck.c (c_finish_oacc_parallel, c_finish_oacc_kernels):
945 Merge functions into...
946 (c_finish_omp_construct): ... this new function.
947
948 2015-10-22 Richard Biener <rguenther@suse.de>
949
950 * c-typeck.c (c_finish_omp_clauses): Properly convert operands
951 before folding a MINUS_EXPR.
952
953 2015-10-21 Marek Polacek <polacek@redhat.com>
954
955 PR c/68024
956 * c-decl.c (start_function): Warn about vararg functions without
957 a prototype.
958
959 2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
960
961 * c-typeck.c (build_conditional_expr): Use boolean vector
962 type for vector comparison.
963 (build_vec_cmp): New.
964 (build_binary_op): Use build_vec_cmp for comparison.
965
966 2015-10-20 Marek Polacek <polacek@redhat.com>
967
968 * c-parser.c (is_cilkplus_vector_p): Don't define here.
969
970 2015-10-20 Marek Polacek <polacek@redhat.com>
971
972 PR c/67964
973 * c-parser.c (c_parser_attributes): Break out of the loop if the
974 token after an attribute isn't a comma.
975
976 2015-10-13 Jakub Jelinek <jakub@redhat.com>
977 Aldy Hernandez <aldyh@redhat.com>
978
979 * c-parser.c (c_parser_pragma): Handle PRAGMA_OMP_ORDERED here.
980 (c_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
981 (c_parser_omp_variable_list): Handle structure elements for
982 map, to and from clauses. Handle array sections in reduction
983 clause. Formatting fixes.
984 (c_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
985 if clause modifiers.
986 (c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
987 c_parser_omp_clause_priority, c_parser_omp_clause_hint,
988 c_parser_omp_clause_defaultmap, c_parser_omp_clause_use_device_ptr,
989 c_parser_omp_clause_is_device_ptr): New functions.
990 (c_parser_omp_clause_ordered): Parse optional parameter.
991 (c_parser_omp_clause_reduction): Handle array reductions.
992 (c_parser_omp_clause_schedule): Parse optional simd modifier.
993 (c_parser_omp_clause_nogroup, c_parser_omp_clause_orderedkind): New
994 functions.
995 (c_parser_omp_clause_linear): Parse linear clause modifiers.
996 (c_parser_omp_clause_depend_sink): New function.
997 (c_parser_omp_clause_depend): Parse source/sink depend kinds.
998 (c_parser_omp_clause_map): Parse release/delete map kinds and
999 optional always modifier.
1000 (c_parser_oacc_all_clauses): Adjust c_parser_omp_clause_if
1001 and c_finish_omp_clauses callers.
1002 (c_parser_omp_all_clauses): Likewise. Parse OpenMP 4.5 clauses.
1003 Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
1004 (c_parser_oacc_cache): Adjust c_finish_omp_clauses caller.
1005 (OMP_CRITICAL_CLAUSE_MASK): Define.
1006 (c_parser_omp_critical): Parse critical clauses.
1007 (c_parser_omp_for_loop): Handle doacross loops, adjust
1008 c_finish_omp_for and c_finish_omp_clauses callers.
1009 (OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
1010 (c_parser_omp_simd): Allow ordered clause if it has no parameter.
1011 (OMP_FOR_CLAUSE_MASK): Add linear clause.
1012 (c_parser_omp_for): Disallow ordered clause when combined with
1013 distribute. Disallow linear clause when combined with distribute
1014 and not combined with simd.
1015 (OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
1016 (c_parser_omp_ordered): Add CONTEXT argument, remove LOC argument,
1017 parse clauses and if depend clause is found, don't parse a body.
1018 (c_parser_omp_parallel): Disallow copyin clause on target parallel.
1019 Allow target parallel without for after it.
1020 (OMP_TASK_CLAUSE_MASK): Add priority clause.
1021 (OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
1022 (c_parser_omp_target_data): Diagnose no map clauses or clauses with
1023 invalid kinds.
1024 (OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
1025 (OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
1026 OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
1027 (c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): New
1028 functions.
1029 (OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
1030 defaultmap and is_device_ptr clauses.
1031 (c_parser_omp_target): Parse target parallel and target simd. Set
1032 OMP_TARGET_COMBINED on combined constructs. Parse target enter data
1033 and target exit data. Diagnose invalid map kinds.
1034 (OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
1035 (c_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
1036 construct.
1037 (c_parser_omp_declare_reduction): Use STRIP_NOPS when checking for
1038 &omp_priv.
1039 (OMP_TASKLOOP_CLAUSE_MASK): Define.
1040 (c_parser_omp_taskloop): New function.
1041 (c_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
1042 handle PRAGMA_OMP_TASKLOOP.
1043 (c_parser_cilk_for): Adjust c_finish_omp_clauses callers.
1044 * c-tree.h (c_finish_omp_clauses): Add two new arguments.
1045 * c-typeck.c (handle_omp_array_sections_1): Fix comment typo.
1046 Add IS_OMP argument, handle structure element bases, diagnose
1047 bitfields, pass IS_OMP recursively, diagnose known zero length
1048 array sections in depend clauses, handle array sections in reduction
1049 clause, diagnose negative length even for pointers.
1050 (handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
1051 types, pass IS_OMP down to handle_omp_array_sections_1, handle
1052 array sections in reduction clause, set
1053 OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
1054 length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
1055 (c_finish_omp_clauses): Add IS_OMP and DECLARE_SIMD arguments.
1056 Handle new OpenMP 4.5 clauses and new restrictions for the old ones.
1057
1058 2015-10-06 Marek Polacek <polacek@redhat.com>
1059
1060 * c-parser.c (c_parser_statement_after_labels): Use
1061 protected_set_expr_location.
1062 (c_parser_omp_clause_num_gangs): Likewise.
1063 (c_parser_omp_clause_num_threads): Likewise.
1064 (c_parser_omp_clause_num_workers): Likewise.
1065 (c_parser_omp_clause_vector_length): Likewise.
1066 (c_parser_omp_clause_num_teams): Likewise.
1067 (c_parser_omp_clause_thread_limit): Likewise.
1068 * c-typeck.c (build_c_cast): Likewise.
1069 (c_cast_expr): Likewise.
1070
1071 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
1072
1073 * c-typeck.c (c_tree_equal): Use real_equal instead of
1074 REAL_VALUES_EQUAL.
1075
1076 2015-10-04 Jason Merrill <jason@redhat.com>
1077
1078 * c-parser.c (c_lex_one_token): Handle @synchronized.
1079 * c-decl.c (match_builtin_function_types): A declaration of a built-in
1080 can change whether the function is transaction_safe.
1081
1082 2015-10-02 Marek Polacek <polacek@redhat.com>
1083
1084 PR c/67730
1085 * c-typeck.c (convert_for_assignment): Use the expansion point
1086 location throughout.
1087
1088 2015-10-02 Marek Polacek <polacek@redhat.com>
1089
1090 PR c/64249
1091 * c-parser.c (c_parser_statement_after_labels): Add CHAIN parameter
1092 and pass it down to c_parser_if_statement.
1093 (c_parser_else_body): Add CHAIN parameter and pass it down to
1094 c_parser_statement_after_labels.
1095 (c_parser_if_statement): Add CHAIN parameter. Add code to warn about
1096 duplicated if-else-if conditions.
1097
1098 2015-10-01 Marek Polacek <polacek@redhat.com>
1099
1100 * c-typeck.c (convert_for_assignment): Improve commentary.
1101
1102 2015-09-30 Marek Polacek <polacek@redhat.com>
1103
1104 PR c/67730
1105 * c-typeck.c (c_finish_return): Use the expansion point location for
1106 certain "return with value" warnings.
1107
1108 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1109
1110 * c-parser.c (pragma_lex): Add loc argument.
1111
1112 2015-09-15 Marek Polacek <polacek@redhat.com>
1113
1114 PR c/67580
1115 * c-decl.c (tag_exists_p): New function.
1116 * c-parser.c (c_parser_declaration_or_fndef): Give a hint when
1117 struct/union/enum keywords are missing.
1118 * c-tree.h (tag_exists_p): Declare.
1119
1120 2015-09-15 Marek Polacek <polacek@redhat.com>
1121
1122 * c-decl.c (lookup_label): Return NULL_TREE instead of 0.
1123 (lookup_tag): Change the type of THISLEVEL_ONLY to bool.
1124 Return NULL_TREE instead of 0.
1125 (lookup_name): Return NULL_TREE instead of 0.
1126 (lookup_name_in_scope): Likewise.
1127 (shadow_tag_warned): Use true instead of 1 and NULL_TREE instead of 0.
1128 (parser_xref_tag): Use false instead of 0.
1129 (start_struct): Use true instead of 1.
1130 (start_enum): Use true instead of 1 and NULL_TREE instead of 0.
1131
1132 2015-09-14 Marek Polacek <polacek@redhat.com>
1133
1134 * c-typeck.c (set_nonincremental_init_from_string): Use
1135 HOST_WIDE_INT_M1U when shifting a negative value.
1136
1137 2015-09-09 Mark Wielaard <mjw@redhat.com>
1138
1139 * c-typeck.c (build_binary_op): Check and warn when nonnull arg
1140 parm against NULL.
1141
1142 2015-09-10 Jakub Jelinek <jakub@redhat.com>
1143
1144 PR c/67502
1145 * c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts
1146 into OMP_FOR_PRE_BODY rather than before the loop.
1147
1148 2015-09-09 Jakub Jelinek <jakub@redhat.com>
1149
1150 PR c/67501
1151 * c-parser.c (c_parser_oacc_all_clauses,
1152 c_parser_omp_all_clauses): Remove invalid clause from
1153 list of clauses even if parser->error is set.
1154
1155 PR c/67500
1156 * c-parser.c (c_parser_omp_clause_aligned,
1157 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen): Fix up
1158 test for errors.
1159 * c-decl.c (temp_pop_parm_decls): Allow b->decl equal to
1160 error_mark_node.
1161
1162 PR c/67495
1163 * c-parser.c (c_parser_omp_atomic): Use c_parser_cast_expression
1164 instead of c_parser_unary_expression. If the result is !lvalue_p,
1165 wrap the result of c_fully_fold into NON_LVALUE_EXPR.
1166
1167 2015-09-04 Marek Polacek <polacek@redhat.com>
1168
1169 PR sanitizer/67279
1170 * c-typeck.c (build_binary_op): Don't instrument static initializers.
1171
1172 2015-09-03 Martin Sebor <msebor@redhat.com>
1173
1174 PR c/66516
1175 * c-typeck.c (convert_arguments, parser_build_unary_op,
1176 build_conditional_expr, c_cast_expr, convert_for_assignment,
1177 build_binary_op, _objc_common_truthvalue_conversion): Call
1178 reject_gcc_builtin.
1179 (c_decl_implicit): Define.
1180
1181 2015-09-02 Marek Polacek <polacek@redhat.com>
1182
1183 PR c/67432
1184 * c-parser.c (c_parser_enum_specifier): Give a better error for
1185 an empty enum.
1186
1187 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1188
1189 * c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.
1190
1191 2015-08-12 Marek Polacek <polacek@redhat.com>
1192
1193 * c-decl.c (grokdeclarator): Call error_at instead of error and pass
1194 LOC to it.
1195
1196 2015-08-03 Marek Polacek <polacek@redhat.com>
1197
1198 PR c/67088
1199 * c-decl.c (check_bitfield_type_and_width): Add location parameter.
1200 Use it.
1201 (grokdeclarator): Pass LOC down to check_bitfield_type_and_width.
1202
1203 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1204
1205 * c-parser.c (c_parser_if_body): Take token_indent_info
1206 argument. Call warn_for_misleading_indentation even when the
1207 body is a semicolon. Extract token_indent_infos corresponding
1208 to the guard, body and next tokens. Adjust call to
1209 warn_for_misleading_indentation accordingly.
1210 (c_parser_else_body): Likewise.
1211 (c_parser_if_statement): Likewise.
1212 (c_parser_while_statement): Likewise.
1213 (c_parser_for_statement): Likewise.
1214
1215 2015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
1216 Manuel López-Ibáñez <manu@gcc.gnu.org>
1217
1218 * c-decl.c (get_parm_info): Remove static var. Update warning
1219 message.
1220
1221 2015-07-27 Marek Polacek <polacek@redhat.com>
1222
1223 PR c++/66555
1224 PR c/54979
1225 * c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp.
1226
1227 2015-07-20 Marek Polacek <polacek@redhat.com>
1228
1229 PR c++/55095
1230 * c-typeck.c (digest_init): Pass OPT_Wpedantic to pedwarn_init.
1231 (build_binary_op): Warn about left shift overflows.
1232
1233 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
1234
1235 * c-array-notation.c: Adjust includes for flags.h changes.
1236 * c-objc-common.c: Likewise.
1237
1238 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
1239
1240 * c-array-notation.c: Adjust includes.
1241 * c-aux-info.c: Likewise.
1242 * c-convert.c: Likewise.
1243 * c-decl.c: Likewise.
1244 * c-errors.c: Likewise.
1245 * c-lang.c: Likewise.
1246 * c-objc-common.c: Likewise.
1247 * c-parser.c: Likewise.
1248 * c-typeck.c: Likewise.
1249
1250 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1251
1252 PR fortran/66605
1253 * c-decl.c (finish_function): Call do_warn_unused_parameter.
1254
1255 2015-06-29 Marek Polacek <polacek@redhat.com>
1256
1257 PR c/66322
1258 * c-typeck.c (struct c_switch): Add BOOL_COND_P and OUTSIDE_RANGE_P.
1259 (c_start_case): Set BOOL_COND_P and OUTSIDE_RANGE_P. Don't warn
1260 about -Wswitch-bool here.
1261 (do_case): Update c_add_case_label call.
1262 (c_finish_case): Update c_do_switch_warnings call.
1263
1264 2015-06-27 Marek Polacek <polacek@redhat.com>
1265
1266 * c-typeck.c: Use VECTOR_TYPE_P throughout.
1267
1268 2015-06-26 Marek Polacek <polacek@redhat.com>
1269
1270 * c-array-notation.c (fix_builtin_array_notation_fn): Use
1271 INDIRECT_REF_P.
1272 * c-typeck.c (array_to_pointer_conversion): Likewise.
1273 (build_unary_op): Likewise.
1274 (c_finish_return): Likewise.
1275
1276 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
1277
1278 * c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
1279 * c-parser.c: Likewise.
1280
1281 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1282
1283 * c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
1284 instead of pointer_hash.
1285 (detect_field_duplicates): Likewise.
1286
1287 2015-06-25 Marek Polacek <polacek@redhat.com>
1288
1289 * c-array-notation.c: Use VAR_P throughout.
1290 * c-decl.c: Likewise.
1291 * c-objc-common.c: Likewise.
1292 * c-parser.c: Likewise.
1293 * c-typeck.c: Likewise.
1294
1295 2015-06-25 Marek Polacek <polacek@redhat.com>
1296
1297 * c-decl.c: Use is_global_var throughout.
1298 * c-parser.c: Likewise.
1299 * c-typeck.c: Likewise.
1300
1301 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
1302
1303 * c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
1304 * c-aux-info.c: Likewise.
1305 * c-convert.c: Likewise.
1306 * c-decl.c: Likewise.
1307 * c-errors.c: Likewise.
1308 * c-lang.c: Likewise.
1309 * c-objc-common.c: Likewise.
1310 * c-parser.c: Likewise.
1311 * c-typeck.c: Likewise.
1312
1313 2015-06-11 Jan Hubicka <hubicka@ucw.cz>
1314
1315 PR middle-end/66325
1316 * c-decl.c (start_enum): Set TYPE_PACKED consistently among type
1317 variants.
1318
1319 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
1320
1321 * c-decl.c (pop_scope): Register the main translation unit
1322 through the new debug hook.
1323
1324 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
1325
1326 * c-array-notation.c : Adjust include files.
1327 * c-aux-info.c : Likewise.
1328 * c-convert.c : Likewise.
1329 * c-decl.c : Likewise.
1330 * c-errors.c : Likewise.
1331 * c-lang.c : Likewise.
1332 * c-lang.h : Likewise.
1333 * c-objc-common.c : Likewise.
1334 * c-parser.c : Likewise.
1335 * c-typeck.c : Likewise.
1336
1337 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
1338
1339 * c-decl.c (finish_struct): Save C_TYPE_INCOMPLETE_VARS and
1340 immediately clobber it.
1341 (c_write_global_declarations_1): Remove call to
1342 check_global_declaration_1.
1343 (c_write_global_declarations_2): Remove.
1344 (c_write_final_cleanups): Rename from c_write_global_declarations.
1345 Remove call to finalize_compilation_unit.
1346 Remove calls to debugging hooks.
1347 * c-objc-common.c: Adjust comment for c_warn_unused_global_decl.
1348 * c-objc-common.h: Remove LANG_HOOKS_WRITE_GLOBALS.
1349 * c-tree.h: Remove c_write_global_declarations.
1350
1351 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
1352
1353 * c-array-notation.c: Adjust includes for restructured coretypes.h.
1354 * c-aux-info.c: Likewise.
1355 * c-convert.c: Likewise.
1356 * c-decl.c: Likewise.
1357 * c-errors.c: Likewise.
1358 * c-lang.c: Likewise.
1359 * c-objc-common.c: Likewise.
1360 * c-parser.c: Likewise.
1361 * c-typeck.c: Likewise.
1362
1363 2015-06-04 Marek Polacek <polacek@redhat.com>
1364
1365 PR c/66341
1366 * c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if
1367 it is a lvalue.
1368
1369 2015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1370
1371 * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
1372 Warn for empty struct.
1373 (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct.
1374
1375 2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
1376
1377 * c-decl.c (start_function): Call plugin before parsing.
1378 (finish_function): Call plugin after parsing.
1379
1380 2015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1381
1382 PR c/49551
1383 * c-decl.c (merge_decls): Merge DECL_COMMON.
1384
1385 2015-05-22 Jim Wilson <jim.wilson@linaro.org>
1386
1387 * Make-lang.in (check_gcc_pallelize): Define.
1388
1389 2015-05-22 Marek Polacek <polacek@redhat.com>
1390
1391 PR c/47043
1392 * c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
1393 attributes.
1394
1395 2015-05-21 Marek Polacek <polacek@redhat.com>
1396
1397 * c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
1398 DECL_BUILT_IN.
1399
1400 2015-05-20 Marek Polacek <polacek@redhat.com>
1401
1402 * c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
1403 * c-typeck.c: Likewise.
1404
1405 2015-05-19 Marek Polacek <polacek@redhat.com>
1406
1407 * c-typeck.c (start_init): Use AGGREGATE_TYPE_P.
1408
1409 2015-05-19 Jakub Jelinek <jakub@redhat.com>
1410
1411 PR middle-end/66199
1412 * c-parser.c (c_parser_omp_for_loop): Don't add
1413 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
1414 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
1415 (c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
1416 constructs.
1417
1418 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
1419
1420 * c-typeck.c (build_array_ref): Use std::swap instead of explicit
1421 swaps.
1422
1423 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1424
1425 PR fortran/44054
1426 * c-objc-common.c (c_tree_printer): Replace locus pointer with
1427 accessor function.
1428
1429 2015-05-14 Marek Polacek <polacek@redhat.com>
1430
1431 PR c/66066
1432 PR c/66127
1433 * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
1434 rather than with 0.
1435
1436 2015-05-12 David Malcolm <dmalcolm@redhat.com>
1437
1438 * c-parser.c (c_parser_if_body): Add param "if_loc", use it
1439 to add a call to warn_for_misleading_indentation.
1440 (c_parser_else_body): Likewise, adding param "else_loc".
1441 (c_parser_if_statement): Check for misleading indentation.
1442 (c_parser_while_statement): Likewise.
1443 (c_parser_for_statement): Likewise.
1444
1445 2015-05-08 Marek Polacek <polacek@redhat.com>
1446
1447 PR c/64918
1448 * c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
1449 (output_init_element): Likewise.
1450
1451 2015-05-07 Marek Polacek <polacek@redhat.com>
1452
1453 PR c/65179
1454 * c-typeck.c (build_binary_op): Warn when left shifting a negative
1455 value.
1456
1457 2015-04-30 Marek Polacek <polacek@redhat.com>
1458
1459 * c-typeck.c (set_init_label): Call error_at instead of error and
1460 pass LOC to it.
1461
1462 * c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print
1463 the type of a decl.
1464
1465 * c-typeck.c (c_build_va_arg): Clarify the error message.
1466
1467 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
1468
1469 * c-parser.c (c_parser_oacc_enter_exit_data): Use
1470 OMP_STANDALONE_CLAUSES.
1471
1472 2015-04-28 Marek Polacek <polacek@redhat.com>
1473
1474 * c-parser.c (c_parser_binary_expression): Remove duplicate line.
1475
1476 2015-04-28 Marek Polacek <polacek@redhat.com>
1477
1478 PR c/65901
1479 * c-typeck.c (c_build_va_arg): Require TYPE be a complete type.
1480
1481 2015-04-25 Marek Polacek <polacek@redhat.com>
1482
1483 PR c/52085
1484 * c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode"
1485 attribute.
1486
1487 2015-04-23 Marek Polacek <polacek@redhat.com>
1488
1489 PR c/65345
1490 * c-decl.c (set_labels_context_r): New function.
1491 (store_parm_decls): Call it via walk_tree_without_duplicates.
1492 * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
1493 instead of create_tmp_var. Build TARGET_EXPR instead of
1494 COMPOUND_EXPR.
1495 (build_atomic_assign): Use create_tmp_var_raw instead of
1496 create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR.
1497
1498 2015-04-20 Ilya Verbin <ilya.verbin@intel.com>
1499
1500 * c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon.
1501 (c_parser_omp_target_update): Add missed %> to error_at ().
1502
1503 2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1504
1505 PR target/55143
1506 * c-decl.c (c_default_pointer_mode): Remove definition.
1507 * c-tree.h (c_default_pointer_mode): Remove declaration.
1508
1509 2015-03-27 Tobias Burnus <burnus@net-b.de>
1510
1511 PR c/65586
1512 * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
1513 error out.
1514 (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
1515 c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
1516 Update calls to not error for skipped omp pragmas with -fopenmp-simd.
1517
1518 2015-03-19 Jakub Jelinek <jakub@redhat.com>
1519
1520 * c-decl.c (c_decl_attributes): Also add "omp declare target"
1521 attribute for DECL_EXTERNAL VAR_DECLs.
1522
1523 2015-03-11 Jakub Jelinek <jakub@redhat.com>
1524
1525 * c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
1526 argument.
1527
1528 2015-03-10 Jakub Jelinek <jakub@redhat.com>
1529
1530 PR c/65120
1531 * c-typeck.c (parser_build_binary_op): Check for tcc_comparison
1532 before preparing arguments to warn_logical_not_parentheses.
1533
1534 2015-03-09 Jakub Jelinek <jakub@redhat.com>
1535
1536 PR c/65120
1537 * c-typeck.c (parser_build_binary_op): Don't warn for
1538 !!x == y or !b == y where b is _Bool.
1539
1540 2015-03-09 Marek Polacek <polacek@redhat.com>
1541
1542 * c-convert.c (convert): Make use of do_ubsan_in_current_function.
1543 * c-decl.c (grokdeclarator): Likewise.
1544 * c-typeck.c (build_binary_op): Likewise.
1545
1546 2015-02-27 Marek Polacek <polacek@redhat.com>
1547
1548 PR c/65228
1549 * c-decl.c (start_decl): Return NULL_TREE if decl is an error node.
1550
1551 2015-02-14 Marek Polacek <polacek@redhat.com>
1552
1553 PR c/64768
1554 * c-decl.c (grokdeclarator): Set the range of a flexible array member
1555 declared through a typedef name.
1556
1557 2015-02-13 Marek Polacek <polacek@redhat.com>
1558
1559 PR c/65050
1560 * c-decl.c (grokdeclarator): Print also the type when giving
1561 the error message about array's incomplete element type.
1562
1563 2015-02-11 Jakub Jelinek <jakub@redhat.com>
1564
1565 PR c/64824
1566 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
1567 check in the POP macro.
1568
1569 2015-02-09 Marek Polacek <polacek@redhat.com>
1570
1571 PR c/64856
1572 * c-typeck.c (process_init_element): Don't always wrap
1573 COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
1574 initializing a range of elements.
1575
1576 2015-02-04 Jakub Jelinek <jakub@redhat.com>
1577
1578 PR c/64824
1579 PR c/64868
1580 * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
1581
1582 2015-02-02 Bruno Loff <bruno.loff@gmail.com>
1583
1584 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
1585 processing enum declaration.
1586
1587 2015-01-29 Marek Polacek <polacek@redhat.com>
1588
1589 PR c/64709
1590 * c-typeck.c (pop_init_level): If constructor_elements has
1591 exactly one element with integer_zerop value, set constructor_zeroinit
1592 to 1. Remove braces around warning_init call.
1593
1594 2015-01-27 Jakub Jelinek <jakub@redhat.com>
1595
1596 PR c/64766
1597 * c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
1598 of FUNCTION_DECLs with error_mark_node.
1599
1600 2015-01-26 Jakub Jelinek <jakub@redhat.com>
1601
1602 PR c/64778
1603 * c-typeck.c (convert_arguments): Return -1 if there are
1604 error_args, even if we've diagnosed too many arguments.
1605
1606 2015-01-21 Richard Biener <rguenther@suse.de>
1607
1608 PR middle-end/64313
1609 * c-decl.c (merge_decls): Call set_builtin_decl_declared_p
1610 for builtins the user declared correctly.
1611
1612 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1613 Bernd Schmidt <bernds@codesourcery.com>
1614 Cesar Philippidis <cesar@codesourcery.com>
1615 James Norris <jnorris@codesourcery.com>
1616 Jakub Jelinek <jakub@redhat.com>
1617 Ilmir Usmanov <i.usmanov@samsung.com>
1618
1619 * c-parser.c: Include "gomp-constants.h".
1620 (c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
1621 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
1622 Use OMP_CLAUSE_SET_MAP_KIND.
1623 (c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
1624 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
1625 (c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
1626 PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
1627 PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
1628 (c_parser_omp_clause_name): Handle "auto", "async", "copy",
1629 "copyout", "create", "delete", "deviceptr", "gang", "host",
1630 "num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
1631 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
1632 "present_or_create", "pcreate", "seq", "self", "vector",
1633 "vector_length", "wait", "worker".
1634 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
1635 (OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
1636 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
1637 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
1638 (c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
1639 (c_parser_oacc_wait_list, c_parser_oacc_data_clause)
1640 (c_parser_oacc_data_clause_deviceptr)
1641 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
1642 (c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
1643 (c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
1644 (c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
1645 (c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
1646 (c_parser_oacc_parallel, c_parser_oacc_update)
1647 (c_parser_oacc_wait): New functions.
1648 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
1649 (c_finish_oacc_data): New prototypes.
1650 * c-typeck.c: Include "gomp-constants.h".
1651 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
1652 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
1653 OMP_CLAUSE_SET_MAP_KIND.
1654 (c_finish_oacc_parallel, c_finish_oacc_kernels)
1655 (c_finish_oacc_data): New functions.
1656 (c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
1657 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
1658 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
1659 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
1660 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
1661 GOMP_MAP_FORCE_DEVICEPTR.
1662
1663 2015-01-09 Michael Collison <michael.collison@linaro.org>
1664
1665 * c-array-notation.c: Include hash-set.h, machmode.h,
1666 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1667 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1668 * c-aux-info.c: Ditto.
1669 * c-convert.c: Ditto.
1670 * c-decl.c: Ditto.
1671 * c-errors.c: Ditto.
1672 * c-lang.c: Dittoxs.
1673 * c-objc-common.c: Ditto.
1674 * c-parser.c: Ditto.
1675 * c-typeck.c: Include hash-set.h, machmode.h,
1676 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1677 fold-const.h, wide-int.h, inchash.h, real.h and
1678 fixed-value.h due to flattening of tree.h.
1679
1680 2015-01-07 Marek Polacek <polacek@redhat.com>
1681
1682 PR c/64417
1683 * c-typeck.c (process_init_element): Disallow initialization of
1684 a flexible array member with a string constant if the structure
1685 is in an array.
1686
1687 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1688
1689 PR sanitizer/64344
1690 * c-typeck.c (convert_for_assignment, c_finish_return): For
1691 -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
1692 types also set in_late_binary_op around convert call.
1693 * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
1694 to integral type casts, if not in_late_binary_op, pass c_fully_fold
1695 result on expr as last argument to ubsan_instrument_float_cast,
1696 if in_late_binary_op, don't use c_save_expr but save_expr.
1697
1698 Update copyright years.
1699
1700 2015-01-05 Marek Polacek <polacek@redhat.com>
1701
1702 PR c/64423
1703 * c-typeck.c (build_array_ref): Pass loc down to
1704 warn_array_subscript_with_type_char.
1705
1706 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1707
1708 * c-typeck.c: New behavious for pointers to arrays with qualifiers
1709 (common-pointer-type): For pointers to arrays take qualifiers from
1710 element type.
1711 (build_conditional_expr): Add warnings for lost qualifiers.
1712 (comp-target-types): Allow pointers to arrays with different qualifiers.
1713 (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
1714 WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
1715 to PEDWARN_FOR_QUALIFIERS.
1716
1717 2014-12-17 Jakub Jelinek <jakub@redhat.com>
1718
1719 PR sanitizer/64289
1720 * c-convert.c: Include ubsan.h.
1721 (convert): For real -> integral casts and
1722 -fsanitize=float-cast-overflow don't call convert_to_integer, but
1723 instead instrument the float cast directly.
1724
1725 2014-11-29 Jakub Jelinek <jakub@redhat.com>
1726
1727 * c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
1728 c_finish_stmt_expr): Remove NULL last argument from
1729 create_tmp_var_raw and create_tmp_var calls.
1730 * c-array-notation.c (fix_builtin_array_notation_fn,
1731 build_array_notation_expr, fix_conditional_array_notations_1,
1732 fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
1733
1734 2014-11-28 Marek Polacek <polacek@redhat.com>
1735
1736 PR c/63862
1737 * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
1738 convert the right operand to integer type.
1739
1740 2014-11-25 Marek Polacek <polacek@redhat.com>
1741
1742 PR c/63877
1743 * c-decl.c (start_function): Disable -Wmissing-declarations warning
1744 for inline functions.
1745
1746 2014-11-21 Jakub Jelinek <jakub@redhat.com>
1747
1748 PR target/63764
1749 * c-typeck.c (build_array_ref): Adjust
1750 convert_vector_to_pointer_for_subscript caller. If it returns true,
1751 call non_lvalue_loc on the result.
1752
1753 2014-11-11 Richard Biener <rguenther@suse.de>
1754
1755 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
1756 to true.
1757
1758 2014-11-10 Andi Kleen <ak@linux.intel.com>
1759
1760 PR c/60804
1761 * c-parser.c (c_parser_statement_after_labels): Call
1762 check_no_cilk.
1763 (c_parser_if_statement): Dito.
1764 (c_parser_switch_statement): Dito.
1765 (c_parser_while_statement): Dito.
1766 (c_parser_do_statement): Dito.
1767 (c_parser_for_statement): Dito.
1768 * c-typeck.c (c_finish_loop): Dito.
1769
1770 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1771
1772 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
1773 OPT_Wshift_count_overflow in the warnings.
1774
1775 2014-10-30 Marek Polacek <polacek@redhat.com>
1776
1777 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
1778 print the stripped version as well, if they're not the same.
1779
1780 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1781
1782 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
1783 machine_mode.
1784
1785 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
1786
1787 * c-decl.c: Adjust include files.
1788 * c-parser.c: Ditto.
1789
1790 2014-10-27 Phil Muldoon <pmuldoon@redhat.com>
1791 Tom Tromey <tromey@redhat.com>
1792
1793 * c-tree.h (enum c_oracle_request): New.
1794 (c_binding_oracle_function): New typedef.
1795 (c_binding_oracle, c_pushtag, c_bind): Declare.
1796 * c-decl.c (c_binding_oracle): New global.
1797 (I_SYMBOL_CHECKED): New macro.
1798 (i_symbol_binding): New function.
1799 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
1800 (I_TAG_CHECKED): New macro.
1801 (i_tag_binding): New function.
1802 (I_TAG_BINDING, I_TAG_DECL): Redefine.
1803 (I_LABEL_CHECKED): New macro.
1804 (i_label_binding): New function.
1805 (I_LABEL_BINDING, I_LABEL_DECL): Redefine.
1806 (c_print_identifier): Save and restore c_binding_oracle.
1807 (c_pushtag, c_bind): New functions.
1808
1809 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
1810
1811 * c-typeck.c: Adjust include files.
1812
1813 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1814
1815 PR c++/53061
1816 * c-objc-common.c (c_objc_common_init): Do not do diagnostics
1817 initialization here...
1818 (c_initialize_diagnostics): ... but here. Set defaults after
1819 building pretty-printer.
1820
1821 2014-10-23 Marek Polacek <polacek@redhat.com>
1822
1823 PR c/63626
1824 * c-decl.c (pop_scope): Don't print warning in external_scope.
1825
1826 2014-10-19 Marek Polacek <polacek@redhat.com>
1827
1828 PR c/63567
1829 * c-typeck.c (output_init_element): Allow initializing objects with
1830 static storage duration with compound literals even in C99 and add
1831 pedwarn for it.
1832
1833 2014-10-17 Marek Polacek <polacek@redhat.com>
1834
1835 PR c/63567
1836 * c-typeck.c (digest_init): Allow initializing objects with static
1837 storage duration with compound literals even in C99 and add pedwarn
1838 for it.
1839
1840 2014-10-17 Marek Polacek <polacek@redhat.com>
1841
1842 PR c/63543
1843 * c-tree.h (C_TYPE_ERROR_REPORTED): Define.
1844 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
1845 error multiple times. Print the type.
1846
1847 2014-10-17 Marek Polacek <polacek@redhat.com>
1848
1849 PR c/63549
1850 * c-typeck.c (build_array_ref): Bail if the index in an incomplete
1851 type.
1852
1853 2014-10-17 Marek Polacek <polacek@redhat.com>
1854
1855 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
1856 (start_function): Use OPT_Wimplicit_int instead of 0.
1857 (store_parm_decls_oldstyle): Likewise.
1858
1859 2014-10-17 Alan Modra <amodra@gmail.com>
1860
1861 PR middle-end/61848
1862 * c-decl.c (merge_decls): Don't merge section name or tls model
1863 to newdecl symtab node, instead merge to olddecl. Override
1864 existing olddecl section name. Set tls_model for all thread-local
1865 vars, not just OMP thread-private ones. Remove incorrect comment.
1866
1867 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
1868
1869 * c-decl.c: Adjust include files.
1870
1871 2014-10-14 DJ Delorie <dj@redhat.com>
1872
1873 * c-parser.c (c_parse_init): Add RID entries for each __intN.
1874 (c_token_starts_typename): Check all __intN, not just __int128.
1875 (c_token_starts_declspecs): Likewise.
1876 (c_parser_declspecs): Likewise.
1877 (c_parser_attribute_any_word): Likewise.
1878 (c_parser_objc_selector): Likewise.
1879 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
1880 (struct c_declspecs): Add int_n_idx field to record *which* __intN
1881 is specified.
1882 * c-decl.c (declspecs_add_type): Check for all __intN, not just
1883 __int128.
1884 (finish_declspecs): Likewise.
1885
1886 2014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
1887
1888 * c-parser.c (c_parser_all_labels): New function to replace
1889 the duplicate code.
1890 (c_parser_statement): Call the new function.
1891
1892 2014-10-09 Marek Polacek <polacek@redhat.com>
1893
1894 PR c/63480
1895 * c-typeck.c (pop_init_level): Don't warn about initializing
1896 with { }.
1897
1898 2014-10-07 Marek Polacek <polacek@redhat.com>
1899
1900 PR c/59717
1901 * c-decl.c (header_for_builtin_fn): New function.
1902 (implicitly_declare): Suggest which header to include.
1903
1904 2014-10-07 Marek Polacek <polacek@redhat.com>
1905
1906 * c-convert.c (convert): Use error_operand_p.
1907 * c-typeck.c (require_complete_type): Likewise.
1908 (really_atomic_lvalue): Likewise.
1909 (digest_init): Likewise.
1910 (handle_omp_array_sections_1): Likewise.
1911
1912 2014-10-03 Marek Polacek <polacek@redhat.com>
1913
1914 PR c/63453
1915 * c-decl.c (pop_scope): Don't warn about "inline function declared
1916 but never defined" for functions marked with gnu_inline attribute.
1917
1918 2014-09-25 Jakub Jelinek <jakub@redhat.com>
1919
1920 PR c++/63249
1921 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
1922 on low_bound and length.
1923
1924 2014-09-24 Marek Polacek <polacek@redhat.com>
1925
1926 PR c/61405
1927 PR c/53874
1928 * c-parser.c: Don't define CPP_KEYWORD.
1929 (c_parser_switch_statement): Pass original type to c_finish_case.
1930 * c-tree.h (c_finish_case): Update declaration.
1931 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
1932 conditionally to c_do_switch_warnings.
1933
1934 2014-09-03 Marek Polacek <polacek@redhat.com>
1935
1936 PR c/62024
1937 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
1938 conversions.
1939
1940 2014-09-02 Jakub Jelinek <jakub@redhat.com>
1941 Balaji V. Iyer <balaji.v.iyer@intel.com>
1942 Igor Zamyatin <igor.zamyatin@intel.com>
1943
1944 * c-parser.c (c_parser_cilk_for): New function.
1945 (c_parser_cilk_grainsize): Likewise.
1946 (c_get_temp_regvar): Likewise.
1947 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
1948 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
1949 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
1950 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
1951 case.
1952
1953 2014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
1954
1955 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
1956 with using HOST_WIDE_INT without truncation to 'int'
1957
1958 2014-08-22 Marek Polacek <polacek@redhat.com>
1959
1960 PR c++/62199
1961 * c-typeck.c (parser_build_binary_op): Adjust call to
1962 warn_logical_not_parentheses.
1963
1964 2014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
1965
1966 PR other/62008
1967 * c-parser.c (c_parser_array_notation): Check for correct
1968 type of an array added.
1969
1970 2014-08-19 Marek Polacek <polacek@redhat.com>
1971
1972 PR c++/62153
1973 * c-typeck.c (build_binary_op): If either operand of a comparison
1974 is a boolean expression, call maybe_warn_bool_compare.
1975
1976 2014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
1977
1978 PR c/45584
1979 * c-typeck.c (build_c_cast): Do a conversion even when the
1980 TYPE_MAIN_VARIANTs are the same.
1981
1982 2014-08-19 Marek Polacek <polacek@redhat.com>
1983
1984 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
1985 pedwarn_c99 instead of pedwarn.
1986 (grokfield): Likewise.
1987 (warn_defaults_to): New function.
1988 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
1989 Unconditionally call pedwarn_c99 instead of pedwarn.
1990 (start_function): Call warn_defaults_to instead of pedwarn_c99.
1991 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
1992 check flag_isoc11 before.
1993 * c-errors.c (pedwarn_c99): Change the return type to bool.
1994 Handle -Wc99-c11-compat.
1995 * c-parser.c (disable_extension_diagnostics): Handle
1996 warn_c99_c11_compat.
1997 (restore_extension_diagnostics): Likewise.
1998 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
1999 instead of pedwarn, don't check flag_isoc11 before.
2000 (c_parser_declspecs): Likewise.
2001 (c_parser_alignas_specifier): Likewise.
2002 (c_parser_alignof_expression): Likewise.
2003 (c_parser_generic_selection): Likewise.
2004 * c-tree.h (pedwarn_c99): Update declaration.
2005 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
2006 of pedwarn_c99.
2007
2008 2014-08-19 Marek Polacek <polacek@redhat.com>
2009
2010 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
2011 to pedwarn_c90.
2012 * c-errors.c: Include "opts.h".
2013 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
2014 * c-parser.c (disable_extension_diagnostics): Handle negative value
2015 of warn_c90_c99_compat, too.
2016 (restore_extension_diagnostics): Likewise.
2017 (c_parser_compound_statement_nostart): Pass
2018 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
2019
2020 2014-08-12 Marek Polacek <polacek@redhat.com>
2021
2022 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
2023 Add pedwarn.
2024 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
2025 Likewise.
2026 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
2027
2028 2014-08-10 Marek Polacek <polacek@redhat.com>
2029
2030 PR c/51849
2031 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
2032 Call pedwarn_c90 instead of pedwarn.
2033 (check_bitfield_type_and_width): Likewise.
2034 (declspecs_add_qual): Likewise.
2035 (declspecs_add_type): Likewise.
2036 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
2037 Adjust to only call pedwarn_c90.
2038 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
2039 pedwarn_c90 instead of pedwarn.
2040 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
2041 * c-parser.c (disable_extension_diagnostics): Handle
2042 warn_c90_c99_compat.
2043 (restore_extension_diagnostics): Likewise.
2044 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
2045 pedwarn_c90 instead of pedwarn.
2046 (c_parser_initelt): Likewise.
2047 (c_parser_postfix_expression): Likewise.
2048 (c_parser_postfix_expression_after_paren_type): Likewise.
2049 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
2050 * c-tree.h: Fix formatting.
2051 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
2052 pedwarn_c90 instead of pedwarn.
2053
2054 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
2055
2056 * c-typeck.c: Remove include of pointer-set.h.
2057
2058 2014-08-07 Marek Polacek <polacek@redhat.com>
2059
2060 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
2061
2062 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2063
2064 * c-typeck.c: Use hash_map instead of pointer_map.
2065
2066 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2067
2068 * c-decl.c: Use hash_set instead of pointer_set.
2069
2070 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
2071
2072 PR middle-end/61455
2073 * c-array-notation.c (expand_array_notations): Handling
2074 of DECL_EXPR added.
2075
2076 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
2077
2078 PR c++/60517
2079 * c-typeck.c (c_finish_return): Return 0 instead of the address of
2080 a local variable.
2081
2082 2014-07-30 Tom Tromey <tromey@redhat.com>
2083
2084 * c-typeck.c (struct constructor_stack) <designator_depth>: New
2085 field.
2086 (really_start_incremental_init, push_init_level): Initialize
2087 designator_depth.
2088 (pop_init_level): Set global designator_depth.
2089 (process_init_element): Check for designated_init attribute.
2090
2091 2014-07-20 Marek Polacek <polacek@redhat.com>
2092
2093 PR c/61852
2094 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
2095 (implicitly_declare): Pass location to implicit_decl_warning.
2096
2097 2014-07-14 Jakub Jelinek <jakub@redhat.com>
2098
2099 PR middle-end/61294
2100 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
2101 If non-NULL, call c_parser_check_literal_zero.
2102 (c_parser_check_literal_zero): New function.
2103 (c_parser_postfix_expression_after_primary): Adjust
2104 c_parser_expr_list caller, handle -Wmemset-transposed-args.
2105
2106 2014-07-06 Marek Polacek <polacek@redhat.com>
2107
2108 PR c/6940
2109 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
2110 * c-tree.h (C_ARRAY_PARAMETER): Define.
2111 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
2112 function parameter.
2113
2114 2014-07-02 Jan Hubicka <hubicka@ucw.cz>
2115 Chen Gang <gang.chen.5i5j@gmail.com>
2116
2117 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
2118 releasing symbol.
2119
2120 2014-07-01 Marek Polacek <polacek@redhat.com>
2121
2122 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
2123 instead of 0 to WARN_FOR_ASSIGNMENT.
2124
2125 2014-07-01 Marek Polacek <polacek@redhat.com>
2126
2127 PR c/58286
2128 * c-typeck.c (convert_for_assignment): Pass
2129 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
2130
2131 2014-06-30 Marek Polacek <polacek@redhat.com>
2132
2133 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
2134 has no_sanitize_undefined attribute.
2135
2136 2014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
2137
2138 PR middle-end/57541
2139 * c-array-notation.c (fix_builtin_array_notation_fn):
2140 Check for 0 arguments in builtin call. Check that bultin argument is
2141 correct.
2142 * c-parser.c (c_parser_array_notation): Check for incorrect initial
2143 index.
2144
2145 2014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
2146
2147 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
2148 qualifiers in __auto_type for atomic types.
2149 (c_parser_typeof_specifier): Discard all type qualifiers in
2150 __typeof__ for atomic types.
2151
2152 2014-06-25 Marek Polacek <polacek@redhat.com>
2153
2154 PR c/61162
2155 * c-parser.c (c_parser_statement_after_labels): Pass the location of
2156 the return expression to c_finish_return.
2157
2158 2014-06-25 Jakub Jelinek <jakub@redhat.com>
2159
2160 * c-typeck.c (c_finish_omp_clauses): Make sure
2161 OMP_CLAUSE_LINEAR_STEP has correct type.
2162
2163 2014-06-24 Trevor Saunders <tsaunders@mozilla.com>
2164
2165 * c-decl.c: Adjust.
2166
2167 2014-06-24 Jakub Jelinek <jakub@redhat.com>
2168
2169 * c-parser.c (c_parser_omp_for_loop): For
2170 #pragma omp parallel for simd move lastprivate clause from parallel
2171 to for rather than simd.
2172
2173 2014-06-23 Marek Polacek <polacek@redhat.com>
2174
2175 * c-typeck.c (parser_build_binary_op): Don't call
2176 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
2177
2178 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
2179
2180 * c-parser.c (c_parser_omp_threadprivate): Likewise.
2181 * c-decl.c (merge_decls): Likewise.
2182
2183 2014-06-09 Marek Polacek <polacek@redhat.com>
2184
2185 PR c/36446
2186 * c-typeck.c (error_init): Call inform instead of error_at.
2187 (pedwarn_init): Call inform instead of pedwarn.
2188 (warning_init): Call inform instead of warning_at.
2189
2190 2014-06-07 Jan Hubicka <hubicka@ucw.cz>
2191
2192 * c-decl.c (merge_decls): Use set_decl_section_name.
2193 (duplicate_decls): Remove node if it exists.
2194
2195 2014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
2196
2197 PR c/53119
2198 * c-typeck.c (push_init_level, process_init_element,
2199 pop_init_level): Correct check for zero initialization, move
2200 missing brace warning to respect zero initialization.
2201
2202 2014-06-05 Marek Polacek <polacek@redhat.com>
2203
2204 PR c/56724
2205 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
2206
2207 2014-06-05 Marek Polacek <polacek@redhat.com>
2208
2209 PR c/49706
2210 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
2211 on the left hand side operand of a comparison.
2212
2213 2014-06-05 Marek Polacek <polacek@redhat.com>
2214
2215 PR c/48062
2216 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
2217 Print note only if the warning was printed.
2218
2219 2014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
2220
2221 PR c/58942
2222 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
2223 with a pointer.
2224
2225 2014-06-03 Marek Polacek <polacek@redhat.com>
2226
2227 PR c/60439
2228 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
2229 c_start_case.
2230 * c-tree.h (c_start_case): Update.
2231 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
2232 switch condition has boolean value.
2233
2234 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
2235
2236 * c-decl.c: Include builtins.h.
2237 * c-parser.c: Likewise.
2238
2239 2014-05-27 Marek Polacek <polacek@redhat.com>
2240
2241 PR c/56724
2242 * c-typeck.c (convert_arguments): Get location of a parameter. Change
2243 error and warning calls to error_at and warning_at. Pass location of
2244 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
2245 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
2246 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
2247
2248 2014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
2249
2250 PR c/61191
2251 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
2252 function parameters.
2253
2254 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
2255
2256 * c-decl.c (merge_decls): Preserve symtab node pointers.
2257 (duplicate_decls): Free new decl.
2258
2259 2014-05-23 Thomas Schwinge <thomas@codesourcery.com>
2260
2261 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
2262 initialization.
2263
2264 * c-parser.c (c_parser_omp_target): Return bool values.
2265
2266 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
2267
2268 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
2269 num_teams_loc variable to num_thread_limit_loc.
2270
2271 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2272
2273 * c-array-notation.c (expand_array_notations): Use void_node
2274 instead of void_zero_node.
2275
2276 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2277
2278 * c-decl.c (finish_struct): Adjust.
2279 (finish_enum): Likewise.
2280 (bind): Adjust.
2281 (record_inline_static): Likewise.
2282 (push_scope): Likewise.
2283 (make_label): Likewise.
2284 (lookup_label_for_goto): Likewise.
2285 (finish_struct): Likewise.
2286 (finish_enum): Likewise.
2287 (store_parm_decls): Likewise.
2288 (c_push_function_context): Likewise.
2289 * c-lang.h: Remove usage of variable_size gty attribute.
2290 * c-parser.c (c_parse_init): Adjust.
2291 (c_parse_file): Likewise.
2292
2293 2014-05-13 Marek Polacek <polacek@redhat.com>
2294
2295 PR c/61162
2296 * c-typeck.c (convert_for_assignment): Pass location to
2297 WARN_FOR_ASSIGNMENT instead of input_location.
2298
2299 2014-05-10 Marek Polacek <polacek@redhat.com>
2300
2301 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
2302 maybe_warn_string_init.
2303 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
2304 maybe_warn_string_init.
2305 * c-tree.h (maybe_warn_string_init): Update declaration.
2306 * c-typeck.c (maybe_warn_string_init): Add location parameter.
2307 Call pedwarn_init with loc instead of with input_location.
2308 (digest_init): Pass init_loc to maybe_warn_string_init.
2309 (pop_init_level): Call pedwarn_init with loc instead of with
2310 input_location.
2311 (set_init_index): Likewise.
2312 (process_init_element): Likewise.
2313
2314 2014-05-09 Marek Polacek <polacek@redhat.com>
2315
2316 PR c/61096
2317 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
2318 (c_parser_initelt): Pass location to set_init_label. Pass array index
2319 location to set_init_index.
2320 * c-tree.h (push_init_level): Update declaration.
2321 (pop_init_level): Likewise.
2322 (set_init_index): Likewise.
2323 (set_init_label): Likewise.
2324 * c-typeck.c (error_init): Add location parameter. Call error_at
2325 instead of error.
2326 (digest_init): Pass init_loc to error_init.
2327 (really_start_incremental_init):
2328 (push_init_level): Add location parameter. Pass loc to pop_init_level
2329 and error_init.
2330 (pop_init_level): Likewise.
2331 (set_designator): Add location parameter. Pass loc to pop_init_level,
2332 push_init_level, and error_init.
2333 (set_init_index): Add location parameter. Pass loc to error_init and
2334 set_designator.
2335 (set_init_label): Likewise.
2336 (output_init_element): Pass loc to error_init.
2337 (process_init_element): Pass loc to error_init, pop_init_level,
2338 pedwarn_init, and push_init_level.
2339
2340 2014-05-09 Marek Polacek <polacek@redhat.com>
2341
2342 PR c/50459
2343 * c-parser.c (c_parser_attributes): Parse the arguments as an
2344 expression-list if the attribute takes identifier.
2345
2346 2014-05-08 Marek Polacek <polacek@redhat.com>
2347
2348 PR c/61053
2349 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
2350 TYPE_ALIGN_UNIT.
2351
2352 2014-05-08 Marek Polacek <polacek@redhat.com>
2353
2354 PR c/61077
2355 * c-decl.c (start_function): Warn for _Atomic-qualified return type
2356 of main.
2357
2358 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2359 Mike Stump <mikestump@comcast.net>
2360 Richard Sandiford <rdsandiford@googlemail.com>
2361
2362 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
2363 (finish_enum): Use wide-int interfaces.
2364 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
2365 * c-typeck.c (build_c_cast): Likewise.
2366 (set_nonincremental_init_from_string): Likewise.
2367 (c_tree_equal): Likewise.
2368
2369 2014-05-02 Marek Polacek <polacek@redhat.com>
2370
2371 PR c/25801
2372 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
2373 Return size_one_node when the type is not complete.
2374 (pointer_diff): Remove comment.
2375 (build_unary_op): Improve error messages.
2376
2377 2014-05-02 Marek Polacek <polacek@redhat.com>
2378
2379 * c-typeck.c (c_finish_return): Separate warning_at calls.
2380
2381 2014-05-02 Marek Polacek <polacek@redhat.com>
2382
2383 * c-tree.h (error_init): Remove declaration.
2384 (pedwarn_init): Likewise.
2385 * c-typeck.c (error_init): Make static and move above.
2386 (pedwarn_init): Likewise.
2387 (warning_init): Move above.
2388 (maybe_warn_string_init): Likewise.
2389
2390 2014-05-01 Jeff Law <law@redhat.com>
2391
2392 Revert:
2393
2394 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
2395 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
2396 avoid goto.
2397
2398 2014-05-02 Marek Polacek <polacek@redhat.com>
2399
2400 PR c/60784
2401 * c-typeck.c (push_init_level): Set constructor_designated to
2402 p->designated for structures.
2403
2404 2014-05-01 Marek Polacek <polacek@redhat.com>
2405
2406 PR c/60915
2407 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
2408 function-definition has an attribute after the declarator.
2409
2410 2014-05-01 Marek Polacek <polacek@redhat.com>
2411
2412 PR c/60257
2413 * c-typeck.c (warning_init): Add location_t parameter. Call
2414 warning_at instead of warning.
2415 (push_init_level): Pass input_location to warning_init.
2416 (add_pending_init): Add location_t parameter. Pass loc to
2417 warning_init.
2418 (set_nonincremental_init): Pass input_location to add_pending_init.
2419 (set_nonincremental_init_from_string): Likewise.
2420 (output_init_element): Pass loc to warning_init and to
2421 add_pending_init.
2422
2423 2014-05-01 Marek Polacek <polacek@redhat.com>
2424
2425 PR c/43395
2426 * c-typeck.c (c_finish_return): Distinguish between label and variable
2427 when warning about returning local address.
2428
2429 2014-05-01 Marek Polacek <polacek@redhat.com>
2430
2431 PR c/29467
2432 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
2433 in C89 mode.
2434
2435 2014-05-01 Marek Polacek <polacek@redhat.com>
2436
2437 PR c/43245
2438 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
2439 instead of 0 to WARN_FOR_QUALIFIERS.
2440
2441 2014-05-01 Marek Polacek <polacek@redhat.com>
2442
2443 PR c/56989
2444 * c-typeck.c (default_conversion): Use better location for
2445 error call.
2446
2447 2014-04-30 Marek Polacek <polacek@redhat.com>
2448
2449 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
2450 also when SANITIZE_FLOAT_DIVIDE is on.
2451
2452 2014-04-30 Marek Polacek <polacek@redhat.com>
2453
2454 PR c/60139
2455 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
2456 and pedwarn_init. Use loc insted of input_location.
2457
2458 2014-04-30 Marek Polacek <polacek@redhat.com>
2459
2460 PR c/60351
2461 * c-typeck.c (build_binary_op): Use location when warning about
2462 shift count.
2463
2464 2014-04-25 Marek Polacek <polacek@redhat.com>
2465
2466 PR c/18079
2467 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
2468 always_inline/noinline and hot/cold attributes.
2469
2470 2014-04-25 Marek Polacek <polacek@redhat.com>
2471
2472 PR c/60114
2473 * c-parser.c (c_parser_initelt): Pass input_location to
2474 process_init_element.
2475 (c_parser_initval): Pass loc to process_init_element.
2476 * c-tree.h (process_init_element): Adjust declaration.
2477 * c-typeck.c (push_init_level): Pass input_location to
2478 process_init_element.
2479 (pop_init_level): Likewise.
2480 (set_designator): Likewise.
2481 (output_init_element): Add location_t parameter. Pass loc to
2482 digest_init.
2483 (output_pending_init_elements): Pass input_location to
2484 output_init_element.
2485 (process_init_element): Add location_t parameter. Pass loc to
2486 output_init_element.
2487
2488 2014-04-24 Jakub Jelinek <jakub@redhat.com>
2489
2490 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
2491 atomic-clause, allow comma in between atomic-clause and
2492 seq_cst.
2493
2494 2014-04-22 Jakub Jelinek <jakub@redhat.com>
2495
2496 PR c/59073
2497 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
2498 fails, don't set OM_PARALLEL_COMBINED and return NULL.
2499
2500 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
2501
2502 PR middle-end/60469
2503 * c-array-notation.c (fix_builtin_array_notation_fn): Use
2504 create_tmp_var instead build_decl for creating temps.
2505 (build_array_notation_expr): Likewise.
2506 (fix_conditional_array_notations_1): Likewise.
2507 (fix_array_notation_expr): Likewise.
2508 (fix_array_notation_call_expr): Likewise.
2509
2510 2014-03-28 Jakub Jelinek <jakub@redhat.com>
2511
2512 PR c++/60689
2513 * c-tree.h (c_build_function_call_vec): New prototype.
2514 * c-typeck.c (build_function_call_vec): Don't call
2515 resolve_overloaded_builtin here.
2516 (c_build_function_call_vec): New wrapper function around
2517 build_function_call_vec. Call resolve_overloaded_builtin here.
2518 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
2519 Call c_build_function_call_vec instead of build_function_call_vec.
2520 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
2521 * c-decl.c (finish_decl): Likewise.
2522
2523 2014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2524
2525 PR c/55383
2526 * c-typeck.c: Use correct format string in cast-qual warning
2527
2528 2014-03-07 Thomas Schwinge <thomas@codesourcery.com>
2529
2530 * c-decl.c (c_decl_attributes): Use
2531 lang_hooks.types.omp_mappable_type.
2532 * c-typeck.c (c_finish_omp_clauses): Likewise.
2533
2534 2014-03-06 Marek Polacek <polacek@redhat.com>
2535
2536 PR c/60197
2537 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
2538 of checking tree code.
2539
2540 2014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
2541
2542 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
2543 (c_parser_parameter_declaration): Likewise.
2544
2545 2014-02-19 Marek Polacek <polacek@redhat.com>
2546
2547 PR c/60195
2548 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
2549 Call mark_exp_read on exp.value.
2550 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
2551 TREE_ADDRESSABLE on old instead of val.
2552 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
2553
2554 2014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
2555
2556 * c-parser.c (c_parser_get_builtin_args): Replace calls to
2557 C_EXPR_APPEND by vec_safe_push.
2558 * c-tree.h (C_EXPR_APPEND): Remove.
2559
2560 2014-01-31 Marek Polacek <polacek@redhat.com>
2561
2562 PR c/59963
2563 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
2564 build_function_call_vec.
2565 (build_function_call): Likewise.
2566 (build_atomic_assign): Likewise.
2567 (build_function_call_vec): Add arg_loc parameter. Use it.
2568 (convert_arguments): Likewise.
2569 (convert_for_assignment): Rename rhs_loc to expr_loc.
2570 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
2571 (c_parser_objc_keywordexpr): Likewise.
2572 (c_parser_postfix_expression_after_primary): Call
2573 build_function_call_vec with expr_loc rather than op_loc.
2574 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
2575 build_function_call_vec.
2576 (c_parser_expr_list): Add locations parameter. Fill it with locations
2577 of function arguments.
2578 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
2579
2580 2014-01-30 Marek Polacek <polacek@redhat.com>
2581
2582 PR c/59940
2583 * c-typeck.c (build_function_call_vec): Use loc parameter.
2584 (convert_arguments): Add location parameter. Use it.
2585 (ep_convert_and_check): Likewise.
2586 (build_atomic_assign): Adjust convert_for_assignment call.
2587 (build_modify_expr): Likewise.
2588 (digest_init): Likewise.
2589 (c_finish_return): Likewise.
2590 (build_conditional_expr): Adjust ep_convert_and_check calls.
2591 (convert_for_assignment): Add rhs_loc parameter. Use it.
2592 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
2593 calls.
2594
2595 2014-01-30 Richard Biener <rguenther@suse.de>
2596
2597 PR c/59905
2598 * c-typeck.c (build_function_call_vec): Do not replace calls
2599 to a function via an incompatible type with a runtime abort.
2600
2601 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2602
2603 * c-parser.c (c_parser_declaration_or_fndef): Replaced
2604 flag_enable_cilkplus with flag_cilkplus.
2605 (c_parser_direct_declarator_inner): Likewise.
2606 (c_parser_attribute_any_word): Likewise.
2607 (c_parser_attributes): Likewise.
2608 (c_parser_compound_statement): Likewise.
2609 (c_parser_statement_after_labels): Likewise.
2610 (c_parser_if_statement): Likewise.
2611 (c_parser_switch_statement): Likewise.
2612 (c_parser_do_statement): Likewise.
2613 (c_parser_for_statement): Likewise.
2614 (c_parser_unary_expression): Likewise.
2615 (c_parser_postfix_expression): Likewise.
2616 (c_parser_postfix_expression_after_primary): Likewise.
2617 (c_parser_postfix_expression_after_primary): Likewise.
2618 (c_parser_omp_clause_name): Likewise.
2619 (c_finish_omp_declare_simd): Likewise.
2620 (c_parser_cilk_verify_simd): Likewise.
2621 * c-typeck.c (build_array_ref): Likewise.
2622 (build_function_call_vec): Likewise.
2623 (convert_arguments): Likewise.
2624 (build_compound_expr): Likewise.
2625 (c_finish_return): Likewise.
2626 (c_finish_if_stmt): Likewise.
2627 (c_finish_loop): Likewise.
2628 (build_binary_op): Likewise.
2629
2630 2014-01-23 Marek Polacek <polacek@redhat.com>
2631
2632 PR c/59846
2633 * c-typeck.c (parser_build_binary_op): Use location instead of
2634 input_location.
2635 (build_binary_op): Pass location to shorten_compare.
2636
2637 2014-01-23 Marek Polacek <polacek@redhat.com>
2638
2639 PR c/58346
2640 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
2641 an empty aggregate.
2642
2643 2014-01-23 Marek Polacek <polacek@redhat.com>
2644
2645 PR c/59871
2646 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
2647 of a comma expression.
2648 (emit_side_effect_warnings): Likewise.
2649
2650 2014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
2651
2652 PR c/59825
2653 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
2654 function to use walk_tree and moved a lot of its functionality to
2655 expand_array_notations.
2656 (expand_array_notations): New function.
2657
2658 2014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
2659
2660 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
2661 attribute an attribute without value.
2662
2663 2014-01-23 Jakub Jelinek <jakub@redhat.com>
2664
2665 PR middle-end/58809
2666 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
2667 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
2668
2669 2014-01-22 Marek Polacek <polacek@redhat.com>
2670
2671 PR c/59891
2672 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
2673 of remove_c_maybe_const_expr on op1 and op2.
2674
2675 2014-01-15 Jakub Jelinek <jakub@redhat.com>
2676
2677 PR c/58943
2678 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
2679 effects, preevaluate rhs using SAVE_EXPR first.
2680
2681 2014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
2682
2683 PR c++/59631
2684 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
2685 statements with if-elseif statements.
2686
2687 2014-01-06 Marek Polacek <polacek@redhat.com>
2688
2689 PR c/57773
2690 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
2691 defined bit-field types only in ISO C.
2692
2693 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2694
2695 Update copyright years
2696
2697 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2698
2699 * c-array-notation.c: Use the standard form for the copyright notice.
2700
2701 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
2702
2703 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
2704 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
2705 field in parser is not empty. If not-empty, call the function
2706 c_parser_finish_omp_declare_simd.
2707 (c_parser_cilk_clause_vectorlength): Modified function to be shared
2708 between SIMD-enabled functions and #pragma simd. Added new parameter.
2709 (c_parser_cilk_all_clauses): Modified the usage of the function
2710 c_parser_cilk_clause_vectorlength as mentioned above.
2711 (c_parser_cilk_simd_fn_vector_attrs): New function.
2712 (c_finish_cilk_simd_fn_tokens): Likewise.
2713 (is_cilkplus_vector_p): Likewise.
2714 (c_parser_omp_clause_name): Added checking for "vectorlength,"
2715 "nomask," and "mask" strings in clause name.
2716 (c_parser_omp_all_clauses): Added 3 new case statements:
2717 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
2718 PRAGMA_CILK_CLAUSE_NOMASK.
2719 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
2720 check for vector attribute and if so call the function
2721 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
2722 called the function c_finish_cilk_simd_fn_tokens.
2723 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
2724 parser field is non-empty. If so, parse them as you would parse
2725 the omp declare simd pragma.
2726 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
2727 Added a check when step is a parameter and flag it as error.
2728 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
2729 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
2730 pragma_omp_clause.
2731
2732 2013-12-17 Thomas Schwinge <thomas@codesourcery.com>
2733
2734 * c-parser.c (c_parser_omp_parallel): Fix description.
2735
2736 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
2737
2738 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
2739 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
2740 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
2741 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
2742
2743 2013-12-04 Joseph Myers <joseph@codesourcery.com>
2744
2745 PR c/52023
2746 * c-parser.c (c_parser_alignas_specifier): Use
2747 c_sizeof_or_alignof_type instead of c_alignof.
2748 (c_parser_alignof_expression): Likewise, with min_alignof
2749 parameter depending on alignof spelling used.
2750
2751 2013-12-04 Marek Polacek <polacek@redhat.com>
2752
2753 PR c/54113
2754 * c-decl.c (start_function): Don't warn for missing prototype for
2755 inline functions.
2756
2757 2013-12-03 Marek Polacek <polacek@redhat.com>
2758
2759 PR c/59351
2760 * c-decl.c (build_compound_literal): Allow compound literals with
2761 empty initial value.
2762
2763 2013-12-02 Joseph Myers <joseph@codesourcery.com>
2764
2765 PR c/58235
2766 * c-typeck.c (build_modify_expr): Diagnose assignment to
2767 expression with array type.
2768
2769 2013-11-29 Joseph Myers <joseph@codesourcery.com>
2770
2771 PR c/42262
2772 * c-typeck.c (process_init_element): Do not treat a string as
2773 initializing a whole array when used with a designator for an
2774 individual element.
2775
2776 2013-11-29 Joseph Myers <joseph@codesourcery.com>
2777
2778 PR c/57574
2779 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
2780 an inline function following a static declaration.
2781
2782 2013-11-28 Jakub Jelinek <jakub@redhat.com>
2783
2784 PR c/59310
2785 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
2786 to p_name before calling c_parser_omp_teams instead of after.
2787 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
2788 argument. Remove unused p_name variable.
2789
2790 2013-11-27 Aldy Hernandez <aldyh@redhat.com>
2791 Jakub Jelinek <jakub@redhat.com>
2792
2793 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
2794 external_scope is NULL.
2795
2796 2013-11-27 Tom de Vries <tom@codesourcery.com>
2797 Marc Glisse <marc.glisse@inria.fr>
2798
2799 PR c++/59032
2800 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
2801
2802 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
2803
2804 * c-typeck.c: Add required include files from gimple.h.
2805
2806 2013-11-22 David Malcolm <dmalcolm@redhat.com>
2807
2808 * c-decl.c (define_label, shadow_tag_warned)
2809 (check_bitfield_type_and_width, grokdeclarator, grokparms,
2810 store_parm_decls_newstyle, store_parm_decls_oldstyle)
2811 (declspecs_add_type): Remove use of in_system_header macro.
2812 * c-parser.c (c_parser_unary_expression): Likewise.
2813 * c-typeck.c (store_init_value, process_init_element)
2814 (c_start_case): Likewise.
2815
2816 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
2817 macro.
2818
2819 * c-parser.c (c_parser_set_source_position_from_token): Remove
2820 reference to in_system_header from comment.
2821
2822 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2823
2824 * c-decl.c (grokdeclarator): Update comment to refer to
2825 tree_to_[su]hwi rather than tree_low_cst.
2826
2827 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2828
2829 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
2830 tree_to_uhwi throughout.
2831
2832 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2833
2834 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
2835 throughout.
2836
2837 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2838
2839 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
2840 throughout.
2841
2842 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
2843
2844 * c-parser.c (c_parser_cilk_simd): New.
2845 (c_parser_cilk_verify_simd): New.
2846 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
2847 (c_parser_omp_for_loop): Add case for NE_EXPR.
2848 Set c_break_label for CILK_SIMD.
2849 (c_parser_cilk_clause_vectorlength): New.
2850 (c_parser_cilk_clause_linear): New.
2851 (c_parser_cilk_clause_name): New.
2852 (c_parser_cilk_all_clauses): New.
2853 * c-typeck.c (build_unary_op): Pass location argument to
2854 readonly_error.
2855 (build_modify_expr): Same.
2856 (build_asm_expr): Same.
2857 (c_finish_bc_stmt): Error on break/continue in loops.
2858
2859 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
2860
2861 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
2862
2863 2013-11-14 Diego Novillo <dnovillo@google.com>
2864
2865 * c-decl.c: Include print-tree.h.
2866 Include stor-layout.h.
2867 Include varasm.h.
2868 Include attribs.h.
2869 Include stringpool.h.
2870 * c-lang.c: Include fold-const.h.
2871 * c-parser.c: Include stringpool.h.
2872 Include attribs.h.
2873 Include stor-layout.h.
2874 Include varasm.h.
2875 Include trans-mem.h.
2876 * c-typeck.c: Include stor-layout.h.
2877 Include trans-mem.h.
2878 Include varasm.h.
2879 Include stmt.h.
2880
2881 2013-11-13 Joseph Myers <joseph@codesourcery.com>
2882
2883 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
2884 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
2885 __auto_type.
2886 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
2887 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
2888 RID_AUTO_TYPE.
2889 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
2890 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
2891 (c_parser_declarator, c_parser_direct_declarator_inner)
2892 (c_parser_parameter_declaration, c_parser_type_name): All callers
2893 changed.
2894 (c_parser_declaration_or_fndef): Handle declarations with type
2895 determined from the initializer.
2896
2897 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
2898
2899 * c-typeck.c: Include gimplify.h.
2900
2901 2013-11-12 Joseph Myers <joseph@codesourcery.com>
2902
2903 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
2904 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
2905 comment.
2906 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
2907 or _Thread_local as appropriate in diagnostics.
2908 (build_null_declspecs): Initialize ret->thread_gnu_p.
2909 (declspecs_add_scspec): Handle either __thread or _Thread_local
2910 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
2911 pedantic. Do not disallow _Thread_local extern and _Thread_local
2912 static.
2913
2914 2013-11-07 Joseph Myers <joseph@codesourcery.com>
2915 Andrew MacLeod <amacleod@redhat.com>
2916
2917 * c-aux-info.c (gen_type): Handle atomic qualifier.
2918 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
2919 qualifiers when compating types.
2920 (shadow_tag_warned): Handle atomic_p in declspecs.
2921 (quals_from_declspecs): Likewise.
2922 (start_decl): Use c_type_promotes_to when promoting argument
2923 types.
2924 (grokdeclarator): Handle _Atomic.
2925 (get_parm_info): Diagnose any qualifier on "void" as only
2926 parameter.
2927 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
2928 comparing types. Use c_type_promotes_to when promoting argument
2929 types.
2930 (finish_function): Use c_type_promotes_to when promoting argument
2931 types.
2932 (build_null_declspecs): Handle atomic_p in declspecs.
2933 (declspecs_add_qual): Handle RID_ATOMIC.
2934 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
2935 (c_token_starts_declspecs): Handle RID_ATOMIC.
2936 (c_parser_declspecs): Handle atomic type specifiers and
2937 qualifiers.
2938 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
2939 from types of expressions with atomic type.
2940 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
2941 (c_parser_attribute_any_word): Handle RID_ATOMIC.
2942 (c_parser_initializer, c_parser_initelt, c_parser_initval)
2943 (c_parser_statement_after_labels, c_parser_switch_statement)
2944 (c_parser_for_statement, c_parser_expr_no_commas)
2945 (c_parser_conditional_expression, c_parser_binary_expression)
2946 (c_parser_cast_expression, c_parser_unary_expression)
2947 (c_parser_postfix_expression)
2948 (c_parser_postfix_expression_after_primary, c_parser_expression):
2949 Use convert_lvalue_to_rvalue.
2950 (c_parser_expression_conv, c_parser_expr_list): Document
2951 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
2952 (c_parser_objc_synchronized_statement): Use
2953 convert_lvalue_to_rvalue.
2954 (c_parser_objc_selector): Handle RID_ATOMIC.
2955 (c_parser_objc_receiver, c_parser_array_notation): Use
2956 convert_lvalue_to_rvalue.
2957 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
2958 _Atomic (type-name).
2959 (struct c_declspecs): Add atomic_p field.
2960 (convert_lvalue_to_rvalue): Declare.
2961 * c-typeck.c (c_type_promotes_to): Promote atomic types to
2962 corresponding atomic types.
2963 (qualify_type): Don't add _Atomic qualifiers from second argument.
2964 (comp_target_types): Do not allow _Atomic mismatches.
2965 (type_lists_compatible_p): Do not remove atomic qualifiers when
2966 comparing types.
2967 (really_atomic_lvalue, convert_lvalue_to_rvalue)
2968 (build_atomic_assign): New functions.
2969 (build_unary_op): Use build_atomic_assign for atomic increment and
2970 decrement.
2971 (build_conditional_expr): Do not treat _Atomic void as a qualified
2972 version of void.
2973 (build_modify_expr): Use build_atomic_assign for atomic LHS.
2974 (find_anonymous_field_with_type, convert_to_anonymous_field)
2975 (convert_for_assignment): Do not remove atomic qualifiers when
2976 comparing types.
2977 (digest_init): Do not accept initialization of arrays of atomic
2978 elements by string constants.
2979 (build_asm_expr): Use convert_lvalue_to_rvalue.
2980 (build_binary_op): Do not treat _Atomic void as a qualified
2981 version of void.
2982
2983 2013-11-06 DJ Delorie <dj@redhat.com>
2984
2985 * c-decl.c (locate_old_decl): If a previous conflicting decl is
2986 both explicit and builtin, print the location of the explicit one.
2987
2988 2013-11-05 Tobias Burnus <burnus@net-b.de>
2989
2990 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
2991 c_parser_omp_distribute, c_parser_omp_teams,
2992 c_parser_omp_target, c_parser_omp_declare): Handle
2993 -fopenmp-simd.
2994
2995 2013-11-03 Marek Polacek <polacek@redhat.com>
2996
2997 * c-decl.c (grokdeclarator): Add VLA instrumentation.
2998
2999 2013-11-01 Jakub Jelinek <jakub@redhat.com>
3000
3001 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
3002 check_dup_generic at the end, unless remove is true.
3003 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
3004 remove = true;.
3005 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
3006
3007 2013-10-31 Jakub Jelinek <jakub@redhat.com>
3008
3009 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
3010 with decl that is not pointer nor array.
3011
3012 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
3013
3014 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
3015 a spawning function is found.
3016 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
3017 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
3018 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
3019 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
3020 case.
3021 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
3022 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
3023 expr.
3024 (c_finish_return): Added a check to reject _Cilk_spawn in return
3025 expression.
3026 (build_cilk_spawn): New function.
3027 (build_cilk_sync): Likewise.
3028 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
3029
3030 2013-10-27 Tobias Burnus <burnus@net-b.de>
3031
3032 PR other/33426
3033 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
3034 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
3035 (c_parser_statement_after_labels): Update calls.
3036
3037 2013-10-24 Tobias Burnus <burnus@net-b.de>
3038
3039 PR other/33426
3040 * c-parser.c (c_parser_pragma, c_parser_for_statement):
3041 Handle PRAGMA_IVDEP.
3042 (c_parser_statement_after_labels): Update call.
3043
3044 2013-10-24 Marek Polacek <polacek@redhat.com>
3045
3046 * c-parser.c (c_parser_struct_declaration): Add a comment.
3047 (c_parser_declarator): Don't allow _Alignas here.
3048
3049 2013-10-17 Andrew MacLeod <amacleod@redhat.com>
3050
3051 * c-parser.c: Include omp-low.h.
3052 * c-typeck.c: Likewise.
3053
3054 2013-10-17 Marek Polacek <polacek@redhat.com>
3055
3056 PR c/58267
3057 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
3058 Document syntax of the array-declarator.
3059 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
3060 are not permitted.
3061 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
3062 (c_parser_struct_declaration): Likewise.
3063 (c_parser_declarator): Likewise.
3064 (c_parser_direct_declarator_inner): Likewise.
3065 (c_parser_parameter_declaration): Likewise.
3066 (c_parser_type_name): Likewise.
3067
3068 2013-10-11 Jakub Jelinek <jakub@redhat.com>
3069
3070 * c-lang.h (current_omp_declare_target_attribute): New extern
3071 decl.
3072 * c-parser.c: Include c-lang.h.
3073 (struct c_parser): Change tokens to c_token *.
3074 Add tokens_buf field. Change tokens_avail type to unsigned int.
3075 (c_parser_consume_token): If parser->tokens isn't
3076 &parser->tokens_buf[0], increment parser->tokens.
3077 (c_parser_consume_pragma): Likewise.
3078 (enum pragma_context): Add pragma_struct and pragma_param.
3079 (c_parser_external_declaration): Adjust
3080 c_parser_declaration_or_fndef caller.
3081 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
3082 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
3083 Adjust recursive call.
3084 (c_parser_struct_or_union_specifier): Use pragma_struct instead
3085 of pragma_external.
3086 (c_parser_parameter_declaration): Use pragma_param instead of
3087 pragma_external.
3088 (c_parser_compound_statement_nostart, c_parser_label,
3089 c_parser_for_statement): Adjust
3090 c_parser_declaration_or_fndef callers.
3091 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
3092 it through to c_parser_conditional_expression.
3093 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
3094 pass it through to c_parser_binary_expression. Adjust recursive
3095 call.
3096 (c_parser_binary_expression): Remove prec argument, add
3097 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
3098 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
3099 binop matches it, use build2 instead of parser_build_binary_op.
3100 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
3101 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
3102 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
3103 Handle pragma_struct and pragma_param the same as pragma_external.
3104 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
3105 (c_parser_omp_variable_list): Parse array sections for
3106 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
3107 (c_parser_omp_clause_collapse): Fully fold collapse expression.
3108 (c_parser_omp_clause_reduction): Handle user defined reductions.
3109 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
3110 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
3111 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
3112 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
3113 c_parser_omp_clause_depend, c_parser_omp_clause_map,
3114 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
3115 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
3116 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
3117 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
3118 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
3119 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
3120 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
3121 (c_parser_omp_for_loop): Add CODE argument, pass it through
3122 to c_finish_omp_for. Change last argument to cclauses,
3123 and adjust uses to grab parallel clauses from the array of all
3124 the split clauses. Adjust c_parser_binary_expression,
3125 c_parser_declaration_or_fndef and c_finish_omp_for callers.
3126 (omp_split_clauses): New function.
3127 (c_parser_omp_simd): New function.
3128 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
3129 Allow the function to be called also when parsing combined constructs,
3130 and call c_parser_omp_simd when parsing for simd.
3131 (c_parser_omp_sections_scope): If section-sequence doesn't start with
3132 #pragma omp section, require exactly one structured-block instead of
3133 sequence of statements.
3134 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
3135 Allow the function to be called also when parsing combined constructs.
3136 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
3137 Allow the function to be called also when parsing combined
3138 constructs.
3139 (c_parser_omp_taskgroup, c_parser_omp_cancel,
3140 c_parser_omp_cancellation_point, c_parser_omp_distribute,
3141 c_parser_omp_teams, c_parser_omp_target_data,
3142 c_parser_omp_target_update, c_parser_omp_target,
3143 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
3144 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
3145 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
3146 (c_parser_omp_construct): Add p_name and mask vars. Handle
3147 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
3148 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
3149 and c_parser_omp_sections callers.
3150 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
3151 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
3152 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
3153 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
3154 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
3155 OMP_CLAUSE_DEPEND.
3156 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
3157 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
3158 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
3159 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
3160 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
3161 * c-typeck.c: Include tree-inline.h.
3162 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
3163 handle_omp_array_sections_1, handle_omp_array_sections,
3164 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
3165 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
3166 user defined reductions.
3167 (c_tree_equal): New function.
3168 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
3169 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
3170 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
3171 c_check_omp_declare_reduction_r): New prototypes.
3172 * c-decl.c (current_omp_declare_target_attribute): New variable.
3173 (c_decl_attributes): New function.
3174 (start_decl, start_function): Use it instead of decl_attributes.
3175 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
3176 c_omp_reduction_decl, c_omp_reduction_lookup,
3177 c_check_omp_declare_reduction_r): New functions.
3178
3179 2013-09-25 Tom Tromey <tromey@redhat.com>
3180
3181 * Make-lang.in (c/gccspec.o): Remove.
3182 (CFLAGS-c/gccspec.o): New variable.
3183 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
3184 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
3185 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
3186
3187 2013-09-25 Tom Tromey <tromey@redhat.com>
3188
3189 * Make-lang.in (c/gccspec.o): Don't use subshell.
3190
3191 2013-09-18 Marek Polacek <polacek@redhat.com>
3192
3193 PR sanitize/58443
3194 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
3195 Remove unnecessary check.
3196
3197 2013-09-18 Marek Polacek <polacek@redhat.com>
3198
3199 PR sanitizer/58411
3200 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
3201 no_sanitize_undefined attribute.
3202
3203 2013-09-13 Kai Tietz <ktietz@redhat.com>
3204
3205 PR target/57848
3206 * c-decl.c (c_builtin_function_ext_scope): Remove
3207 wrong assumption that it is never called on prexisting
3208 symbol.
3209
3210 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
3211
3212 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
3213
3214 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3215
3216 * c-objc-common.c (c_tree_printer): Tidy.
3217
3218 2013-08-30 Marek Polacek <polacek@redhat.com>
3219
3220 * c-typeck.c (build_binary_op): Add division by zero and shift
3221 instrumentation.
3222
3223 2013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
3224 Joseph Myers <joseph@codesourcery.com>
3225
3226 PR c/35649
3227 * c-typeck.c (c_common_type): Prefer double_type_node over
3228 other REAL_TYPE types with the same precision.
3229 (convert_arguments): Likewise.
3230
3231 2013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
3232
3233 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
3234 (c_initialize_diagnostics): Call a destructor for the early printer.
3235
3236 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3237
3238 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
3239 printer initialization.
3240
3241 2013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
3242
3243 PR c/57490
3244 * c-array-notation.c (fix_conditional_array_notations_1): Added a
3245 check for truth values.
3246 (expand_array_notation_exprs): Added truth values case. Removed an
3247 unwanted else. Added for-loop to walk through subtrees in default
3248 case.
3249
3250 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3251
3252 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
3253
3254 2013-07-23 Joseph Myers <joseph@codesourcery.com>
3255
3256 * c-parser.c (struct c_generic_association): Fix typo.
3257
3258 2013-07-23 Tom Tromey <tromey@redhat.com>
3259 Joseph Myers <joseph@codesourcery.com>
3260
3261 * c-parser.c (struct c_generic_association): New.
3262 (c_generic_association_d): New typedef.
3263 (c_parser_generic_selection): New function.
3264 (c_parser_postfix_expression): Handle RID_GENERIC.
3265
3266 2013-07-13 Jason Merrill <jason@redhat.com>
3267
3268 PR c++/57793
3269 * c-decl.c (finish_struct): Check for too-large class.
3270
3271 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
3272
3273 PR c/57821
3274 * c-typeck.c (set_init_index): When folding, check for index overflow.
3275
3276 2013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3277
3278 * c-parser.c (c_parser_array_notation): Removed rejection of array
3279 notations in an array of function pointers.
3280
3281 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3282
3283 * c-array-notation.c (make_triplet_val_inv): New function.
3284 (create_cmp_incr): Likewise.
3285 (create_array_refs): Likewise.
3286 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
3287 Also modularized common parts between functions and called the function.
3288 (build_array_notation_expr): Likewise.
3289 (fix_conditional_array_notations_1): Likewise.
3290 (fix_array_notation_expr): Likewise.
3291 (fix_array_notation_call_expr): Likewise.
3292
3293 2013-06-18 Marek Polacek <polacek@redhat.com>
3294
3295 PR c/57630
3296 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
3297
3298 2013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
3299
3300 * c-array-notation.c (build_array_notation_expr): Reject array notation
3301 mismatch between LHS and RHS even inside a call_expr. Also, removed
3302 a couple while statements that were dead code.
3303
3304 2013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
3305
3306 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
3307 excessive precision expressions in function parameters. Also removed
3308 couple unwanted while statements.
3309
3310 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3311
3312 * c-array-notation.c (expand_array_notation_exprs): Added
3313 ARRAY_NOTATION_REF case.
3314
3315 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3316
3317 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
3318 function to c-family/array-notation-common.c.
3319 (is_cilkplus_reduce_builtin): Likewise.
3320 (find_rank): Likewise.
3321 (extract_array_notation_exprs): Likewise.
3322 (replace_array_notations): Likewise.
3323 (find_inv_trees): Likewise.
3324 (replace_inv_trees): Likewise.
3325 (contains_array_notation_expr): Likewise.
3326 (find_correct_array_notation_type): Likewise.
3327 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
3328 (struct inv_list): Moved this to c-family/array-notation-common.c.
3329 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
3330
3331 2013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
3332
3333 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
3334 reduction functions outside the for-loop. Added a check if the fundecl
3335 is non-NULL. Finally, removed an unwanted if-statement, and made the
3336 body unconditional.
3337
3338 2013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
3339
3340 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
3341 condition of the if-statement matches the rank of else-block and then-
3342 block when array notations are used.
3343 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
3344 expression after the entire function body is parsed.
3345 (c_parser_expr_no_commas): Delayed creating array notation expressions
3346 to the end of function parsing.
3347 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
3348 whole if-statement instead of just the condition.
3349 (expand_array_notation_exprs): Added MODIFY_EXPR case.
3350
3351 2013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
3352
3353 PR c/57474
3354 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
3355 array to NULL_TREE if they are unused. Also added a check for the
3356 field to be NULL before its fields are used in future.
3357
3358 2013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3359
3360 PR bootstrap/57450
3361 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
3362 (build_array_notation_expr): Likewise.
3363
3364 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3365
3366 * c-typeck.c (build_array_ref): Added a check to see if array's
3367 index is greater than one. If true, then emit an error.
3368 (build_function_call_vec): Exclude error reporting and checking
3369 for builtin array-notation functions.
3370 (convert_arguments): Likewise.
3371 (c_finish_return): Added a check for array notations as a return
3372 expression. If true, then emit an error.
3373 (c_finish_loop): Added a check for array notations in a loop
3374 condition. If true then emit an error.
3375 (lvalue_p): Added a ARRAY_NOTATION_REF case.
3376 (build_binary_op): Added a check for array notation expr inside
3377 op1 and op0. If present, we call another function to find correct
3378 type.
3379 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
3380 * c-parser.c (c_parser_compound_statement): Check if array
3381 notation code is used in tree, if so, then transform them into
3382 appropriate C code.
3383 (c_parser_expr_no_commas): Check if array notation is used in LHS
3384 or RHS, if so, then build array notation expression instead of
3385 regular modify.
3386 (c_parser_postfix_expression_after_primary): Added a check for
3387 colon(s) after square braces, if so then handle it like an array
3388 notation. Also, break up array notations in unary op if found.
3389 (c_parser_direct_declarator_inner): Added a check for array
3390 notation.
3391 (c_parser_compound_statement): Added a check for array notation in
3392 a stmt. If one is present, then expand array notation expr.
3393 (c_parser_if_statement): Likewise.
3394 (c_parser_switch_statement): Added a check for array notations in
3395 a switch statement's condition. If true, then output an error.
3396 (c_parser_while_statement): Similarly, but for a while.
3397 (c_parser_do_statement): Similarly, but for a do-while.
3398 (c_parser_for_statement): Similarly, but for a for-loop.
3399 (c_parser_unary_expression): Check if array notation is used in a
3400 pre-increment or pre-decrement expression. If true, then expand
3401 them.
3402 (c_parser_array_notation): New function.
3403 * c-array-notation.c: New file.
3404 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
3405
3406 2013-05-23 Mike Stump <mikestump@comcast.net>
3407
3408 * c-typeck.c (convert_for_assignment): Handle references to memory
3409 spaces better.
3410
3411 2013-05-16 Jason Merrill <jason@redhat.com>
3412
3413 * Make-lang.in (cc1$(exeext)): Use link mutex.
3414
3415 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3416
3417 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
3418 to simply use OPT_Wpointer_arith.
3419 (build_unary_op): Likewise.
3420
3421 2013-04-03 Jakub Jelinek <jakub@redhat.com>
3422
3423 PR c/19449
3424 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
3425 argument. If set, or it temporarily for parsing of the first
3426 argument into force_folding_builtin_constant_p.
3427 (c_parser_postfix_expression): Adjust callers.
3428
3429 2013-03-21 Richard Biener <rguenther@suse.de>
3430
3431 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
3432 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
3433
3434 2013-02-12 Marek Polacek <polacek@redhat.com>
3435
3436 PR c/44938
3437 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
3438 origtypes to NULL.
3439
3440 2013-01-24 Jakub Jelinek <jakub@redhat.com>
3441
3442 PR c/56078
3443 * c-typeck.c (set_nonincremental_init_from_string): If
3444 constructor_max_index is NULL, treat it as if tree_int_cst_lt
3445 returned false.
3446 (process_init_element): Likewise.
3447
3448 2012-12-20 Jakub Jelinek <jakub@redhat.com>
3449
3450 PR c++/55619
3451 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
3452 argument, don't call default_function_array_conversion
3453 nor c_fully_fold here.
3454 (c_parser_asm_statement): Adjust callers.
3455 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
3456 and outputs here, and call default_function_array_conversion
3457 on inputs that don't need to be addressable.
3458
3459 2012-12-18 Jakub Jelinek <jakub@redhat.com>
3460
3461 PR c/39464
3462 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
3463 warning require that both c_common_unsigned_type as well as
3464 c_common_signed_type is the same for both mvl and mvr types.
3465
3466 2012-11-16 Diego Novillo <dnovillo@google.com>
3467
3468 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
3469
3470 * c-common.c: Use new vec API in vec.h.
3471 * c-common.h: Likewise.
3472 * c-gimplify.c: Likewise.
3473 * c-pragma.c: Likewise.
3474 * c-pretty-print.c: Likewise.
3475 * c-pretty-print.h: Likewise.
3476 * c-semantics.c: Likewise.
3477 * c-decl.c: Likewise.
3478 * c-parser.c: Likewise.
3479 * c-tree.h: Likewise.
3480 * c-typeck.c: Likewise.
3481
3482 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3483
3484 PR c++/54930
3485 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
3486
3487 2012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3488
3489 PR c/53066
3490 * c-decl.c (warn_if_shadowing): Do not warn if a variable
3491 shadows a function, unless the variable is a function or a
3492 pointer-to-function.
3493
3494 2012-10-12 Jakub Jelinek <jakub@redhat.com>
3495
3496 PR c/54381
3497 * c-parser.c (struct c_tree_loc_pair): Removed.
3498 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
3499 add location_t * and tree * arguments, fill in array of 3
3500 sizeof_arg trees and corresponding locs.
3501 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
3502 c_parser_expr_list callers.
3503 (c_parser_postfix_expression_after_primary): Likewise. Pass
3504 array of 3 sizeof_arg trees and locs (corresponding to first
3505 3 arguments) to sizeof_pointer_memaccess_warning.
3506
3507 2012-10-09 Lawrence Crowl <crowl@google.com>
3508
3509 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
3510 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
3511 hash table.
3512
3513 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
3514
3515 PR c++/54194
3516 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
3517 call.
3518
3519 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
3520
3521 PR c++/54427
3522 * c-typeck.c: Include c-common.h.
3523 (enum stv_conv): Moved to c-common.h.
3524 (scalar_to_vector): Moved to c-common.c.
3525 (build_binary_op): Adapt to scalar_to_vector's new prototype.
3526 * Make-lang.in: c-typeck.c depends on c-common.h.
3527
3528 2012-10-04 Arnaud Charlet <charlet@adacore.com>
3529
3530 * c-decl.c (c_write_global_declarations): Fix handling of
3531 -fdump-ada-spec*.
3532
3533 2012-09-30 Sharad Singhai <singhai@google.com>
3534
3535 * c-decl.c (c_write_global_declarations): Use a different method
3536 to determine if the dump has ben initialized.
3537
3538 2012-09-14 Joseph Myers <joseph@codesourcery.com>
3539
3540 PR c/54552
3541 * c-typeck.c (c_cast_expr): When casting to a type requiring
3542 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
3543 c_fully_fold first.
3544
3545 2012-09-14 Joseph Myers <joseph@codesourcery.com>
3546
3547 PR c/54103
3548 * c-typeck.c (build_unary_op): Pass original argument of
3549 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
3550 any C_MAYBE_CONST_EXPR, if it has integer operands.
3551 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
3552 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
3553 to c_objc_common_truthvalue_conversion, then remove any
3554 C_MAYBE_CONST_EXPR, if they have integer operands. Use
3555 c_objc_common_truthvalue_conversion not
3556 c_common_truthvalue_conversion.
3557 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
3558 call note_integer_operands for arguments with integer operands
3559 that are not integer constants.
3560
3561 2012-09-13 Jakub Jelinek <jakub@redhat.com>
3562
3563 PR c/54559
3564 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
3565 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
3566
3567 2012-08-31 Jakub Jelinek <jakub@redhat.com>
3568
3569 PR c/54428
3570 * c-convert.c (convert): Don't call fold_convert_loc if
3571 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
3572 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
3573 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
3574
3575 2012-08-24 Jakub Jelinek <jakub@redhat.com>
3576
3577 PR c/54355
3578 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
3579 for nested and empty_ok arguments in the call to
3580 c_parser_declaration_or_fndef.
3581
3582 2012-08-17 Jakub Jelinek <jakub@redhat.com>
3583
3584 * c-tree.h (c_last_sizeof_arg): Declare.
3585 * c-parser.c (struct c_tree_loc_pair): New type.
3586 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
3587 non-NULL.
3588 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
3589 (c_parser_postfix_expression_after_primary): Likewise. Call
3590 sizeof_pointer_memaccess_warning if needed.
3591 (sizeof_ptr_memacc_comptypes): New function.
3592 * c-typeck.c (c_last_sizeof_arg): New global variable.
3593 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
3594
3595 2012-07-24 Uros Bizjak <ubizjak@gmail.com>
3596
3597 * c-lang.h (lang_decl): Add variable_size GTY option.
3598
3599 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
3600
3601 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
3602 * Make-lang.in: Fix dependencies.
3603
3604 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
3605
3606 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
3607 and add language Makefile hooks.
3608 * config-lang.in: New file.
3609 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
3610 add the required "normal" config-lang.in rules.
3611 * c-lang.h: Moved from gcc/ to here.
3612 * c-tree.h: Likewise.
3613 * c-objc-common.c: Likewise.
3614 * c-objc-common.h: Likewise.
3615 * c-typeck.c: Likewise.
3616 * c-convert.c: Likewise.
3617 * c-lang.c: Likewise.
3618 * c-aux-info.c: Likewise.
3619 * c-errors.c: Likewise.
3620 * gccspec.c: Likewise.
3621 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
3622 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
3623 \f
3624 Copyright (C) 2012-2016 Free Software Foundation, Inc.
3625
3626 Copying and distribution of this file, with or without modification,
3627 are permitted in any medium without royalty provided the copyright
3628 notice and this notice are preserved.