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