]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
c++/60049 - Right and left shift undefined behavior not an error in a constexpr
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
4f2e1536
MP
12016-05-12 Marek Polacek <polacek@redhat.com>
2
3 PR c/70756
4 * c-decl.c (build_compound_literal): Pass LOC down to
5 c_incomplete_type_error.
6 * c-tree.h (require_complete_type): Adjust declaration.
7 (c_incomplete_type_error): Likewise.
8 * c-typeck.c (require_complete_type): Add location parameter, pass it
9 down to c_incomplete_type_error.
10 (c_incomplete_type_error): Add location parameter, pass it down to
11 error_at.
12 (build_component_ref): Pass location down to c_incomplete_type_error.
13 (default_conversion): Pass location down to require_complete_type.
14 (build_array_ref): Likewise.
15 (build_function_call_vec): Likewise.
16 (convert_arguments): Likewise.
17 (build_unary_op): Likewise.
18 (build_c_cast): Likewise.
19 (build_modify_expr): Likewise.
20 (convert_for_assignment): Likewise.
21 (c_finish_omp_clauses): Likewise.
22
d6e83a8d
MM
232016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
24
25 PR c/43651
26 * c-decl.c (declspecs_add_qual): Warn when -Wduplicate-decl-specifier
27 is enabled.
28 * c-errors.c (pedwarn_c90): Return true if warned.
29 * c-tree.h (pedwarn_c90): Change return type to bool.
30 (enum c_declspec_word): Add new enumerator cdw_atomic.
31
5c3a10fb
MP
322016-05-11 Marek Polacek <polacek@redhat.com>
33
34 PR c++/71024
35 * c-decl.c (diagnose_mismatched_decls): Factor out code to
36 diagnose_mismatched_attributes and call it.
37
cf68d92c
MP
382016-05-10 Marek Polacek <polacek@redhat.com>
39
40 PR c/70255
41 * c-decl.c (diagnose_mismatched_decls): Warn for optimize attribute
42 on a declaration following the definition.
43
351f85c5
JJ
442016-05-05 Jakub Jelinek <jakub@redhat.com>
45
46 * c-parser.c (c_parser_switch_statement): Add IF_P argument,
47 parse it through to c_parser_c99_block_statement.
48 (c_parser_statement_after_labels): Adjust c_parser_switch_statement
49 caller.
50
deef7113
MP
512016-05-04 Marek Polacek <polacek@redhat.com>
52
53 * c-parser.c (c_parser_if_statement): Replace OPT_Wparentheses with
54 OPT_Wdangling_else.
55
de55efd5
MP
562016-05-04 Marek Polacek <polacek@redhat.com>
57
58 PR c/48778
59 * c-typeck.c (build_binary_op): Don't issue -Waddress warnings
60 for macro expansions.
61
79ce98bc
MP
622016-05-03 Marek Polacek <polacek@redhat.com>
63
64 PR c/70859
65 * c-typeck.c (build_function_call_vec): Pass LOC and ARG_LOC down to
66 check_builtin_function_arguments.
67
fb2647aa
RB
682016-05-03 Richard Biener <rguenther@suse.de>
69
70 * Make-lang.in (cc1-checksum.c): For stage-final re-use
71 the checksum from the previous stage.
72
77886428
CP
732016-05-02 Cesar Philippidis <cesar@codesourcery.com>
74
75 * c-parser.c (c_parser_oacc_all_clauses): Update call to
76 c_finish_omp_clauses.
77 (c_parser_omp_all_clauses): Likewise.
78 (c_parser_oacc_cache): Likewise.
79 (c_parser_oacc_loop): Likewise.
80 (omp_split_clauses): Likewise.
81 (c_parser_omp_declare_target): Likewise.
82 (c_parser_cilk_all_clauses): Likewise.
83 (c_parser_cilk_for): Likewise.
84 * c-typeck.c (c_finish_omp_clauses): Replace bool arguments
85 is_omp, declare_simd, and is_cilk with enum c_omp_region_type ort.
86
7176a4a0
MP
872016-05-02 Marek Polacek <polacek@redhat.com>
88
89 PR c/70851
90 * c-decl.c (grokdeclarator): Diagnose when array's size has an
91 incomplete type.
92
e7ff0319
CP
932016-04-29 Cesar Philippidis <cesar@codesourcery.com>
94
95 PR middle-end/70626
96 * c-parser.c (c_parser_oacc_loop): Don't augment mask with
97 OACC_LOOP_CLAUSE_MASK.
98 (c_parser_oacc_kernels_parallel): Update call to
99 c_oacc_split_loop_clauses.
100
9f405ce1
AM
1012016-04-28 Andrew MacLeod <amacleod@redhat.com>
102
103 * c-array-notation.c (fix_builtin_array_notation_fn): Fix final
104 argument to build_modify_expr in two cases.
105
c1e1f433
BS
1062016-04-27 Bernd Schmidt <bschmidt@redhat.com>
107
108 * c-parser.c (c_parser_postfix_expression_after_primary): Call
109 warn_for_memset instead of warning directly here.
110
2448a956
MP
1112016-04-26 Marek Polacek <polacek@redhat.com>
112
113 PR c/67784
114 * c-parser.c (c_parser_maybe_reclassify_token): New function factored
115 out of ...
116 (c_parser_for_statement): ... here.
117 (c_parser_if_statement): Use it.
118 (c_parser_switch_statement): Use it.
119 (c_parser_while_statement): Use it.
120
b02a5e26
MP
121 PR c/70791
122 * c-decl.c (pushdecl): Pass LOCUS down to warning.
123
477d4906
IV
1242016-04-20 Ilya Verbin <ilya.verbin@intel.com>
125
126 PR c++/69363
127 * c-parser.c (c_parser_cilk_all_clauses): Use c_finish_omp_clauses
128 instead of c_finish_cilk_clauses.
129 * c-tree.h (c_finish_omp_clauses): Add new default argument.
130 * c-typeck.c (c_finish_omp_clauses): Add new argument. Allow
131 floating-point variables in the linear clause for Cilk Plus.
132
fe37c7af
MM
1332016-04-18 Michael Matz <matz@suse.de>
134
135 * c-decl.c (merge_decls): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
136 (grokdeclarator, parser_xref_tag, finish_enum): Use SET_TYPE_ALIGN.
137
949505a9
MP
1382016-04-15 Marek Polacek <polacek@redhat.com>
139
140 PR c/70671
141 * c-typeck.c (build_unary_op): Pass location down to error and
142 warning call.
143
dda1bf61
JJ
1442016-04-15 Jakub Jelinek <jakub@redhat.com>
145
146 PR c/70436
147 * c-parser.c (c_parser_pragma): Add IF_P argument, pass it down
148 where needed.
149 (c_parser_external_declaration, c_parser_struct_or_union_specifier,
150 c_parser_parameter_declaration, c_parser_compound_statement_nostart,
151 c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist):
152 Adjust c_parser_pragma callers.
153 (c_parser_statement_after_labels): Likewise. Adjust c_parser_cilk_for
154 caller.
155 (c_parser_omp_structured_block): Add IF_P argument, pass it down to
156 c_parser_statement.
157 (c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop,
158 c_parser_oacc_kernels_parallel, c_parser_omp_critical,
159 c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master,
160 c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single,
161 c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute,
162 c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target,
163 c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize,
164 c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it
165 down where needed.
166 (c_parser_omp_for_loop): Likewise. Clear IF_P if nbraces.
167 (c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block
168 calls.
169
99cd9857
MP
1702016-04-13 Marek Polacek <polacek@redhat.com>
171
172 PR c/70436
173 * c-parser.c (c_parser_statement_after_labels): Add IF_P argument and
174 adjust callers.
175 (c_parser_statement): Likewise.
176 (c_parser_c99_block_statement): Likewise.
177 (c_parser_while_statement): Likewise.
178 (c_parser_for_statement): Likewise.
179 (c_parser_if_body): Don't set IF_P here.
180 (c_parser_if_statement): Add IF_P argument. Set IF_P here. Warn
181 about dangling else here.
182 * c-tree.h (c_finish_if_stmt): Adjust declaration.
183 * c-typeck.c (c_finish_if_stmt): Remove NESTED_IF parameter. Don't
184 warn about dangling else here.
185
f13355da
MP
1862016-04-04 Marek Polacek <polacek@redhat.com>
187
188 PR c/70307
189 * c-fold.c (c_fully_fold_internal): Handle VEC_COND_EXPR.
190
5fde6a45
MP
1912016-03-31 Marek Polacek <polacek@redhat.com>
192
193 PR c/70297
194 * c-decl.c (merge_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN.
195
4bbf545b
DM
1962016-03-18 David Malcolm <dmalcolm@redhat.com>
197
198 PR c/70281
199 * c-parser.c (c_parser_postfix_expression): Set the source range
200 for uses of "__builtin_types_compatible_p".
201
fcc2b74f
JJ
2022016-03-17 Jakub Jelinek <jakub@redhat.com>
203
204 PR c/70280
205 * c-typeck.c (composite_type): Don't count void_list_node
206 into len, if the list is terminated by void_list_node, start
207 with void_list_node instead of NULL for newargs. Stop
208 at void_list_node.
209
ab4c578f
MP
2102016-03-16 Marek Polacek <polacek@redhat.com>
211
212 PR c/70093
213 * c-typeck.c (build_function_call_vec): Create a TARGET_EXPR for
214 nested functions returning VM types.
215
96b3c82d
CP
2162016-03-09 Cesar Philippidis <cesar@codesourcery.com>
217
218 * c-parser.c (c_parser_oacc_loop): Update cclauses and clauses
219 when calling c_finish_omp_clauses.
220
29b9828f
BS
2212016-03-04 Bernd Schmidt <bschmidt@redhat.com>
222
223 PR c/69824
224 * c-decl.c (get_parm_info): Don't queue implicit function declarations
225 for later.
226
7ff6ca38
MP
2272016-03-04 Marek Polacek <polacek@redhat.com>
228
229 PR c/69798
230 * c-parser.c (c_parser_postfix_expression): Call
231 c_parser_cast_expression rather than c_parser_postfix_expression.
232
686e2237
JJ
2332016-03-01 Jakub Jelinek <jakub@redhat.com>
234
235 PR c/69796
236 PR c/69974
237 * c-parser.c (c_parser_translation_unit): Don't change TREE_TYPE
238 of incomplete decls to error_mark_node.
239
0b05329b
MP
2402016-02-24 Marek Polacek <polacek@redhat.com>
241
242 PR c/69819
243 * c-decl.c (finish_decl): Don't update the copy of the type of a
244 different decl type.
245
067fbd8b
JJ
2462016-02-23 Jakub Jelinek <jakub@redhat.com>
247
248 PR objc/69844
249 * c-parser.c (c_parser_for_statement): Properly handle ObjC classes
250 in id_kind reclassification.
251
bf14eba2
JJ
2522016-02-16 Jakub Jelinek <jakub@redhat.com>
253
254 PR c/69835
255 * c-typeck.c (build_binary_op): Revert 2015-09-09 change.
256
ba539195
JN
2572016-02-16 James Norris <jnorris@codesourcery.com>
258
259 PR c/64748
260 * c-parser.c (c_parser_oacc_data_clause_deviceptr): Allow parms.
261
16595a1f
BS
2622016-02-12 Bernd Schmidt <bschmidt@redhat.com>
263
f48dfe98
BS
264 * c-decl.c (build_null_declspecs): Zero the entire struct.
265
16595a1f
BS
266 PR c/69522
267 * c-parser.c (c_parser_braced_init): New arg outer_obstack. All
268 callers changed. If nested_p is true, use it to call
269 finish_implicit_inits.
270 * c-tree.h (finish_implicit_inits): Declare.
271 * c-typeck.c (finish_implicit_inits): New function. Move code
272 from ...
273 (push_init_level): ... here.
274 (set_designator, process_init_element): Call finish_implicit_inits.
275
66756373
JJ
2762016-02-11 Jakub Jelinek <jakub@redhat.com>
277
278 PR c/69768
279 * c-typeck.c (parser_build_binary_op): Strip nops from integer_zerop
280 arguments for -Waddress warning.
281
1066e9b5
JJ
2822016-02-04 Jakub Jelinek <jakub@redhat.com>
283
284 PR c/69669
285 * c-decl.c (finish_enum): When honoring mode attribute,
286 make sure to use proper TYPE_MIN_VALUE and TYPE_MAX_VALUE.
287
3a5d2ba4
JJ
2882016-01-29 Jakub Jelinek <jakub@redhat.com>
289
290 PR debug/69518
291 * c-decl.c (finish_struct): Clear C_TYPE_INCOMPLETE_VARS in
292 all type variants, not just TYPE_MAIN_VARIANT.
293
cbdd8ae0
JJ
2942016-01-27 Jakub Jelinek <jakub@redhat.com>
295
296 PR debug/66869
297 * c-decl.c (c_write_global_declarations_1): Warn with
298 warn_unused_function if static prototype without definition
299 is not C_DECL_USED.
300
fa74a4bc
MP
3012016-01-27 Marek Polacek <polacek@redhat.com>
302
303 PR c/68062
304 * c-typeck.c (build_binary_op) [EQ_EXPR, GE_EXPR]: Promote operand
305 to unsigned, if needed. Add -Wsign-compare warning.
306
13f92e8d
JJ
3072016-01-26 Jakub Jelinek <jakub@redhat.com>
308
309 PR tree-optimization/69483
310 * c-parser.c (c_parser_translation_unit): Use FOR_EACH_VEC_ELT.
311
cd8e73dc 3122016-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
d25c7690
PK
313
314 PR c/24293
315 * c-tree.h (incomplete_record_decls): Declare.
316 * c-parser.c (incomplete_record_decls): Define.
317 (c_parser_translation_unit): Iterate through incomplete_record_decls and
318 report error if any decl has zero size.
319 * c-decl.c (finish_decl): Append static decl with incomplete struct/union
320 or enum type to incomplete_record_decls.
321
e6d6ec9e
TV
3222016-01-14 Tom de Vries <tom@codesourcery.com>
323
324 PR tree-optimization/68773
325 * c-parser.c (c_parser_oacc_declare, c_parser_omp_declare_target): Don't
326 set force_output.
327
00083992
MP
3282016-01-14 Marek Polacek <polacek@redhat.com>
329
330 PR c/69262
331 * c-decl.c (grokdeclarator): Provide more information for invalid
332 array declarations.
333
7443cf13
DM
3342016-01-06 David Malcolm <dmalcolm@redhat.com>
335
336 * c-parser.c (c_parser_unary_expression): For dereferences, build
337 a combined location before calling build_indirect_ref, so that
338 error reports cover the full range, manually updating the c_expr
339 src_range.
340
6b131d5b
MP
3412016-01-06 Marek Polacek <polacek@redhat.com>
342
343 PR sanitizer/69099
344 * c-convert.c (convert) [INTEGER_TYPE]: Drop ARG. Don't pass ARG to
345 ubsan_instrument_float_cast. Fold EXPR. Use NULL_TREE instead of
346 NULL.
347
818ab71a
JJ
3482016-01-04 Jakub Jelinek <jakub@redhat.com>
349
350 Update copyright years.
351
2fe0a208
MP
3522016-01-04 Marek Polacek <polacek@redhat.com>
353
354 PR c/68908
355 * c-typeck.c (build_atomic_assign): Improve commentary. Add
356 optimization to use __atomic_fetch_* built-in if possible.
357
c7b48c8a
TS
3582015-12-23 Thomas Schwinge <thomas@codesourcery.com>
359
360 * c-parser.c (c_parser_oacc_clause_use_device): Merge function
361 into...
362 (c_parser_omp_clause_use_device_ptr): ... this function. Adjust
363 all users.
364
fda5652f
MP
3652015-12-22 Marek Polacek <polacek@redhat.com>
366
367 PR c/69002
368 * c-typeck.c (build_component_ref): Warn when acessing elements of
369 atomic structures or unions.
370
745e411d
DM
3712015-12-21 David Malcolm <dmalcolm@redhat.com>
372
373 * c-typeck.c: Include "gcc-rich-location.h".
374 (build_binary_op): In the two places that call binary_op_error,
375 create a gcc_rich_location and populate it with the location of
376 the binary op and its two operands.
377
94c40e19
DM
3782015-12-16 David Malcolm <dmalcolm@redhat.com>
379
380 * c-parser.c (c_parser_statement_after_labels): When calling
381 c_finish_return, Use the return expression's location if it has
382 one, falling back to the location of the first token within it.
383 * c-typeck.c (c_finish_return): When issuing warnings about
384 the incorrect presence/absence of a return value, issue a note
385 showing the declaration of the function.
386
de67c4c3
DM
3872015-12-16 David Malcolm <dmalcolm@redhat.com>
388
389 * c-parser.c (struct c_parser): Expand array "tokens_buf" from 2
390 to 4.
391 (c_parser_peek_nth_token): New function.
392 (c_parser_peek_conflict_marker): New function.
393 (c_parser_error): Detect conflict markers and report them as such.
394
a10704e1
DM
3952015-12-16 David Malcolm <dmalcolm@redhat.com>
396
397 * c-parser.c (c_parser_postfix_expression): Use EXPR_LOC_OR_LOC
398 to preserve range information for the primary expression
399 in the call to c_parser_postfix_expression_after_primary.
400
8062bca6
DM
4012015-12-16 David Malcolm <dmalcolm@redhat.com>
402
403 * c-parser.c (c_parser_static_assert_declaration_no_semi): Use the
404 expression location, falling back on the first token location,
405 rather than always using the latter.
406
d06f8b75
MP
4072015-12-16 Marek Polacek <polacek@redhat.com>
408
409 PR c/64637
410 * c-typeck.c (c_process_expr_stmt): Use location of the expression if
411 available.
412
2994fb91
MP
4132015-12-15 Marek Polacek <polacek@redhat.com>
414
415 PR c/68907
416 * c-typeck.c (build_atomic_assign): Set TREE_NO_WARNING on an
417 artificial decl.
418
a1b93f8d
DM
4192015-12-08 David Malcolm <dmalcolm@redhat.com>
420
421 * c-parser.c (c_parser_alignof_expression): Capture location of
422 closing parenthesis (if any), or of end of unary expression, and
423 use it to build a src_range for the expression.
424
46c6e1e2
DM
4252015-12-08 David Malcolm <dmalcolm@redhat.com>
426
427 PR c/68757
428 * c-parser.c (c_parser_get_builtin_args): Add
429 "out_close_paren_loc" param, and write back to it.
430 (c_parser_postfix_expression): Capture the closing
431 parenthesis location for RID_CHOOSE_EXPR,
432 RID_BUILTIN_CALL_WITH_STATIC_CHAIN, RID_BUILTIN_COMPLEX,
433 RID_BUILTIN_SHUFFLE and use it to set the source range
434 for such expressions; within RID_BUILTIN_COMPLEX set
435 the underlying location.
436
66189108
MP
4372015-12-07 Marek Polacek <polacek@redhat.com>
438
439 PR c/68668
440 * c-decl.c (grokdeclarator): If ORIG_QUAL_INDIRECT is indirect, use
441 TREE_TYPE of ORIG_QUAL_TYPE, otherwise decrement ORIG_QUAL_INDIRECT.
442
f187980b
EB
4432015-12-04 Eric Botcazou <ebotcazou@adacore.com>
444
445 * c-tree.h (c_build_va_arg): Adjust prototype.
446 * c-parser.c (c_parser_postfix_expression): Adjust call to above.
447 * c-typeck.c (c_build_va_arg): Rename LOC parameter to LOC2, add LOC1
448 parameter, adjust throughout and issue an error if EXPR is a component
449 with reverse storage order.
450
4250754e
JM
4512015-12-02 Jason Merrill <jason@redhat.com>
452
453 * c-fold.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
454 (c_fully_fold_internal, decl_constant_value_for_optimization):
455 Move from c-common.c.
456 * c-tree.h: Declare decl_constant_value_for_optimization.
457 * Make-lang.in (C_AND_OBJC_OBJS): Add c-fold.o.
458
e9e32ee6
JM
4592015-12-02 Joseph Myers <joseph@codesourcery.com>
460
461 PR c/68162
462 * c-decl.c (grokdeclarator): Set first_non_attr_kind before
463 following link from declarator to next declarator. Track original
464 qualified type and pass it to c_build_qualified_type.
465 * c-typeck.c (c_build_qualified_type): Add arguments
466 orig_qual_type and orig_qual_indirect.
467
ff7a55bf
TS
4682015-12-02 Thomas Schwinge <thomas@codesourcery.com>
469
470 * c-parser.c (c_parser_omp_clause_name)
471 (c_parser_oacc_all_clauses): Alphabetical sorting.
472
657e4e47
JJ
4732015-12-02 Jakub Jelinek <jakub@redhat.com>
474
475 PR c/68533
476 * c-decl.c (get_parm_info): Use b->locus instead of input_location
477 for diagnostics.
478
37d5ad46
JB
4792015-12-01 Julian Brown <julian@codesourcery.com>
480 Cesar Philippidis <cesar@codesourcery.com>
481 James Norris <James_Norris@mentor.com>
482
483 * c-parser.c (c_parser_omp_clause_name): Add use_device support.
484 (c_parser_oacc_clause_use_device): New function.
485 (c_parser_oacc_all_clauses): Add use_device support.
486 (OACC_HOST_DATA_CLAUSE_MASK): New macro.
487 (c_parser_oacc_host_data): New function.
488 (c_parser_omp_construct): Add host_data support.
489 * c-tree.h (c_finish_oacc_host_data): Add prototype.
490 * c-typeck.c (c_finish_oacc_host_data): New function.
491 (c_finish_omp_clauses): Add use_device support.
492
a4850ce9
JH
4932015-11-29 Jan Hubicka <hubicka@ucw.cz>
494
495 PR c/67106
496 * c-decl.c: Set TYPE_PACKED in variants.
497
b58d3df2
ML
4982015-11-27 Martin Liska <mliska@suse.cz>
499
500 PR c++/68312
501 * c-array-notation.c (fix_builtin_array_notation_fn):
502 Use release_vec_vec instead of vec::release.
503 (build_array_notation_expr): Likewise.
504 (fix_conditional_array_notations_1): Likewise.
505 (fix_array_notation_expr): Likewise.
506 (fix_array_notation_call_expr): Likewise.
507
aec17bfe
JJ
5082015-11-27 Jakub Jelinek <jakub@redhat.com>
509
510 PR c/63326
511 * c-parser.c (c_parser_compound_statement_nostart): If
512 last_label is true, use pragma_stmt instead of pragma_compound
513 as second c_parser_pragma argument.
514 (c_parser_omp_ordered, c_parser_omp_target_update,
515 c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Pass
516 false as second argument to c_parser_skip_to_pragma_eol after
517 diagnosing standalone directives used in pragma_stmt context.
518
688c4de0
IV
5192015-11-24 Ilya Verbin <ilya.verbin@intel.com>
520
521 * c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING"
522 with "if (ENABLE_OFFLOADING)".
523
cbd03aee
DM
5242015-11-23 David Malcolm <dmalcolm@redhat.com>
525
526 PR objc/68438
527 * c-parser.c (c_parser_postfix_expression): Set up source ranges
528 for various Objective-C constructs: Class.name syntax,
529 @selector(), @protocol(), @encode(), and [] message syntax.
530
a87a86e1
DM
5312015-11-20 David Malcolm <dmalcolm@redhat.com>
532
533 PR 62314
534 * c-typeck.c (should_suggest_deref_p): New function.
535 (build_component_ref): Special-case POINTER_TYPE when
536 generating a "not a structure of union" error message, and
537 suggest a "->" rather than a ".", providing a fix-it hint.
538
8ece8dfb
DM
5392015-11-19 David Malcolm <dmalcolm@redhat.com>
540
541 * c-typeck.c (lookup_field_fuzzy): Move determination of closest
542 candidate into a new function, find_closest_identifier.
543
433068cc
MP
5442015-11-19 Marek Polacek <polacek@redhat.com>
545
546 PR c/68412
547 * c-typeck.c (parser_build_binary_op): Properly handle
548 C_MAYBE_CONST_EXPR before calling warn_tautological_cmp.
549
bef08b71
DM
5502015-11-17 David Malcolm <dmalcolm@redhat.com>
551
552 * c-parser.c (set_c_expr_source_range): Bulletproof both
553 overloaded implementations against NULL expr->value.
554 (c_parser_braced_init): Set src_range for "ret" to a sane pair of
555 values.
556 (c_parser_unary_expression): Likewise when handling addresses of
557 labels.
558 (c_parser_postfix_expression): Likewise for statement expressions,
559 for __FUNCTION__, __PRETTY_FUNCTION_ and __func__ keywords, for
560 __builtin_va_arg, and for __builtin_offset_of.
561 (c_parser_postfix_expression_after_paren_type): Initialize expr's
562 src_range using the range of the braced initializer.
563 (c_parser_transaction_expression): Set src_range for "ret" to a
564 sane pair of values.
565
fff77217
KY
5662015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
567
568 * c-parser.c (c_finish_omp_declare_simd): Look for
569 "simd" attribute as well. Update error message.
570
1d899da2
TS
5712015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
572
573 * c-parser.c (c_parser_omp_declare_target): Adjust.
574
e4606348
JJ
5752015-11-14 Jakub Jelinek <jakub@redhat.com>
576
577 * c-typeck.c (c_finish_omp_clauses): Don't mark
578 GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
579
3e636daf
MP
5802015-11-14 Marek Polacek <polacek@redhat.com>
581
582 * c-decl.c: Use RECORD_OR_UNION_TYPE_P throughout.
583 * c-typeck.c: Likewise.
584
ebedc9a3
DM
5852015-11-13 David Malcolm <dmalcolm@redhat.com>
586
587 * c-decl.c (warn_defaults_to): Pass line_table to
588 rich_location ctor.
589 * c-errors.c (pedwarn_c99): Likewise.
590 (pedwarn_c90): Likewise.
591 * c-parser.c (set_c_expr_source_range): New functions.
592 (c_token::get_range): New method.
593 (c_token::get_finish): New method.
594 (c_parser_expr_no_commas): Call set_c_expr_source_range on the ret
595 based on the range from the start of the LHS to the end of the
596 RHS.
597 (c_parser_conditional_expression): Likewise, based on the range
598 from the start of the cond.value to the end of exp2.value.
599 (c_parser_binary_expression): Call set_c_expr_source_range on
600 the stack values for TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
601 (c_parser_cast_expression): Call set_c_expr_source_range on ret
602 based on the cast_loc through to the end of the expr.
603 (c_parser_unary_expression): Likewise, based on the
604 op_loc through to the end of op.
605 (c_parser_sizeof_expression) Likewise, based on the start of the
606 sizeof token through to either the closing paren or the end of
607 expr.
608 (c_parser_postfix_expression): Likewise, using the token range,
609 or from the open paren through to the close paren for
610 parenthesized expressions.
611 (c_parser_postfix_expression_after_primary): Likewise, for
612 various kinds of expression.
613 * c-tree.h (struct c_expr): Add field "src_range".
614 (c_expr::get_start): New method.
615 (c_expr::get_finish): New method.
616 (set_c_expr_source_range): New decls.
617 * c-typeck.c (parser_build_unary_op): Call set_c_expr_source_range
618 on ret for prefix unary ops.
619 (parser_build_binary_op): Likewise, running from the start of
620 arg1.value through to the end of arg2.value.
621
ec8b536f
MP
6222015-11-13 Marek Polacek <polacek@redhat.com>
623
624 PR c/68320
625 * c-parser.c (c_parser_for_statement): Treat unknown tokens as IDs.
626
277fe616
DM
6272015-11-13 David Malcolm <dmalcolm@redhat.com>
628
629 * c-typeck.c: Include spellcheck.h.
630 (lookup_field_fuzzy_find_candidates): New function.
631 (lookup_field_fuzzy): New function.
632 (build_component_ref): If the field was not found, try using
633 lookup_field_fuzzy and potentially offer a suggestion.
634
6e232ba4
JN
6352015-11-12 James Norris <jnorris@codesourcery.com>
636 Joseph Myers <joseph@codesourcery.com>
637
638 * c-parser.c (c_parser_pragma): Handle PRAGMA_OACC_DECLARE.
639 (c_parser_omp_clause_name): Handle 'device_resident' clause.
640 (c_parser_oacc_data_clause): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
641 and PRAGMA_OMP_CLAUSE_LINK.
642 (c_parser_oacc_all_clauses): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
643 and PRAGMA_OACC_CLAUSE_LINK.
644 (OACC_DECLARE_CLAUSE_MASK): New definition.
645 (c_parser_oacc_declare): New function.
646
9be4f715
MP
6472015-11-12 Marek Polacek <polacek@redhat.com>
648
649 PR c/67784
650 * c-parser.c (c_parser_for_statement): Reclassify the token in
651 a correct scope.
652
e78bede6
MP
6532015-11-11 Marek Polacek <polacek@redhat.com>
654
655 PR c/68107
656 PR c++/68266
657 * c-decl.c (grokdeclarator): Call valid_array_size_p. Remove code
658 checking the size of an array.
659
69f293c9
AM
6602015-11-11 Andrew MacLeod <amacleod@redhat.com>
661
662 * c-array-notation.c: Remove unused header files.
663 * c-aux-info.c: Likewise.
664 * c-convert.c: Likewise.
665 * c-decl.c: Likewise.
666 * c-errors.c: Likewise.
667 * c-lang.c: Likewise.
668 * c-objc-common.c: Likewise.
669 * c-parser.c: Likewise.
670 * c-typeck.c: Likewise.
671 * gccspec.c: Likewise.
672
3a40d81d
NS
6732015-11-09 Thomas Schwinge <thomas@codesourcery.com>
674 Cesar Philippidis <cesar@codesourcery.com>
675 James Norris <jnorris@codesourcery.com>
676 Julian Brown <julian@codesourcery.com>
677 Nathan Sidwell <nathan@codesourcery.com>
678
679 c/
680 * c-parser.c (c_parser_declaration_or_fndef): Add OpenACC
681 routine arg.
682 (c_parser_declaration_or_fndef): Call c_finish_oacc_routine.
683 (c_parser_pragma): Parse 'acc routine'.
684 (OACC_ROUTINE_CLAUSE_MARK): Define.
685 (c_parser_oacc_routine, (c_finish_oacc_routine): New.
686
fc402eec
AA
6872015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
688
689 PR debug/67192
690 * c-typeck.c (c_finish_loop): For unconditional loops, set the
691 location of the backward-goto to the start of the loop body.
692
f6b0b3db
AA
6932015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
694
695 PR debug/67192
696 * c-parser.c (c_parser_while_statement): Finish the loop before
697 parsing ahead for misleading indentation.
698 (c_parser_for_statement): Likewise.
699
ee45a32d
EB
7002015-11-08 Eric Botcazou <ebotcazou@adacore.com>
701
702 * c-decl.c (finish_struct): If the structure has reverse storage
703 order, rewrite the type of array fields with scalar component. Call
704 maybe_apply_pragma_scalar_storage_order on entry.
705 * c-typeck.c (build_unary_op) <ADDR_EXPR>: Remove left-overs. Issue
706 errors on bit-fields and reverse SSO here and not...
707 (c_mark_addressable): ...here.
708 (output_init_element): Adjust call to initializer_constant_valid_p.
709 (c_build_qualified_type): Propagate TYPE_REVERSE_STORAGE_ORDER.
710
8a645150
DM
7112015-11-06 David Malcolm <dmalcolm@redhat.com>
712
713 * c-decl.c (warn_defaults_to): Update for change in signature
714 of diagnostic_set_info.
715 * c-errors.c (pedwarn_c99): Likewise.
716 (pedwarn_c90): Likewise.
717 * c-objc-common.c (c_tree_printer): Update for new "caret_p" param
718 for textinfo::set_location.
719
7a5e4956
CP
7202015-11-05 Cesar Philippidis <cesar@codesourcery.com>
721 Thomas Schwinge <thomas@codesourcery.com>
722 James Norris <jnorris@codesourcery.com>
723
724 * c-parser.c (c_parser_omp_clause_name): Add support for
725 PRAGMA_OACC_CLAUSE_INDEPENDENT and PRAGMA_OACC_CLAUSE_TILE.
726 (c_parser_omp_clause_default): Add is_oacc argument. Handle
727 default(none) in OpenACC.
728 (c_parser_oacc_shape_clause): Allow pointer variables as gang static
729 arguments.
730 (c_parser_oacc_clause_tile): New function.
731 (c_parser_oacc_all_clauses): Add support for OMP_CLAUSE_DEFAULT,
732 OMP_CLAUSE_INDEPENDENT and OMP_CLAUSE_TILE.
733 (OACC_LOOP_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_{PRIVATE,INDEPENDENT,
734 TILE}.
735 (OACC_KERNELS_MASK): Add PRAGMA_OACC_CLAUSE_DEFAULT.
736 (OACC_PARALLEL_MASK): Add PRAGMA_OACC_CLAUSE_{DEFAULT,PRIVATE,
737 FIRSTPRIVATE}.
738 (c_parser_omp_all_clauses): Update call to c_parser_omp_clause_default.
739 (c_parser_oacc_update): Update the error message for missing clauses.
740 * c-typeck.c (c_finish_omp_clauses): Add support for OMP_CLAUSE_TILE
741 and OMP_CLAUSE_INDEPENDENT.
742
bfcfbfa0
MP
7432015-11-05 Marek Polacek <polacek@redhat.com>
744
745 PR c/68090
746 * c-parser.c (c_parser_postfix_expression_after_paren_type): Don't
747 deal with pre-evaluation on invalid types.
748
e01d41e5
JJ
7492015-11-05 Jakub Jelinek <jakub@redhat.com>
750 Ilya Verbin <ilya.verbin@intel.com>
751
752 * c-parser.c: Include context.h and gimple-expr.h.
753 (c_parser_omp_clause_schedule): Parse schedule modifiers, diagnose
754 monotonic together with nonmonotonic.
755 (c_parser_omp_for_loop): Call c_omp_check_loop_iv. Call add_stmt here.
756 (OMP_DISTRIBUTE_CLAUSE_MASK): Add lastprivate clause.
757 (c_parser_omp_target_data, c_parser_omp_target_enter_data,
758 c_parser_omp_target_exit_data): Allow GOMP_MAP_ALWAYS_POINTER.
759 (c_parser_omp_target): Likewise. Evaluate num_teams and thread_limit
760 expressions on combined target teams before the target.
761 (c_parser_omp_declare_target): If decl has "omp declare target" or
762 "omp declare target link" attribute, and cgraph or varpool node already
763 exists, then set corresponding flags. Call c_finish_omp_clauses
764 in the parenthesized extended-list syntax case.
765 * c-decl.c (c_decl_attributes): Don't diagnose block scope vars inside
766 declare target.
767 * c-typeck.c (handle_omp_array_sections_1): Allow non-zero low-bound
768 on OMP_CLAUSE_REDUCTION array sections.
769 (handle_omp_array_sections): Encode low-bound into the MEM_REF, either
770 into the constant offset, or for variable low-bound using
771 POINTER_PLUS_EXPR. For structure element based array sections use
772 GOMP_MAP_ALWAYS_POINTER instead of GOMP_MAP_FIRSTPRIVATE_POINTER.
773 (c_finish_omp_clauses): Drop generic_field_head, structure
774 elements are now always mapped even as array section bases,
775 diagnose same var in data sharing and mapping clauses. Diagnose if
776 linear step on declare simd is neither a constant nor a uniform
777 parameter. Look through POINTER_PLUS_EXPR for array section
778 reductions. Diagnose the same var or function appearing multiple
779 times on the same directive. Fix up wording for the to clause if t
780 is neither a FUNCTION_DECL nor a VAR_DECL. Diagnose nonmonotonic
781 modifier on kinds other than dynamic or guided or nonmonotonic
782 modifier together with ordered clause.
783
4bf9e5a8
TS
7842015-11-03 Thomas Schwinge <thomas@codesourcery.com>
785 Chung-Lin Tang <cltang@codesourcery.com>
786
787 * c-parser.c (c_parser_omp_construct): Handle PRAGMA_OACC_ATOMIC.
788
2adfab87
AM
7892015-10-29 Andrew MacLeod <amacleod@redhat.com>
790
791 * c-array-notation.c: Reorder #include's and remove duplicates.
792 * c-aux-info.c: Likewise.
793 * c-convert.c: Likewise.
794 * c-decl.c: Likewise.
795 * c-errors.c: Likewise.
796 * c-lang.c: Likewise.
797 * c-objc-common.c: Likewise.
798 * c-parser.c: Likewise.
799 * c-typeck.c: Likewise.
800
e922069e
JW
8012015-10-26 Jim Wilson <jim.wilson@linaro.org>
802
803 PR debug/66068
804 * c-typeck.c (c_build_qualified_type): Clear C_TYPE_INCOMPLETE_VARS
805 after calling build_qualified_type.
806
765dd391
CP
8072015-10-27 Cesar Philippidis <cesar@codesourcery.com>
808 Thomas Schwinge <thomas@codesourcery.com>
809 James Norris <jnorris@codesourcery.com>
810 Joseph Myers <joseph@codesourcery.com>
811 Julian Brown <julian@codesourcery.com>
812 Bernd Schmidt <bschmidt@redhat.com>
813
814 * c-parser.c (c_parser_oacc_shape_clause): New.
815 (c_parser_oacc_simple_clause): New.
816 (c_parser_oacc_all_clauses): Add auto, gang, seq, vector, worker.
817 (OACC_LOOP_CLAUSE_MASK): Add gang, worker, vector, auto, seq.
818
88bae6f4
TS
8192015-10-27 Thomas Schwinge <thomas@codesourcery.com>
820 James Norris <jnorris@codesourcery.com>
821 Cesar Philippidis <cesar@codesourcery.com>
822
823 PR c/64765
824 PR c/64880
825 * c-parser.c (c_parser_oacc_loop): Add mask, cclauses formal
826 parameters, and handle these. Adjust all users.
827 (c_parser_oacc_kernels, c_parser_oacc_parallel): Merge functions
828 into...
829 (c_parser_oacc_kernels_parallel): ... this new function. Adjust
830 all users.
831 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels): Don't
832 declare functions.
833 (c_finish_omp_construct): Declare function.
834 * c-typeck.c (c_finish_oacc_parallel, c_finish_oacc_kernels):
835 Merge functions into...
836 (c_finish_omp_construct): ... this new function.
837
a8fc2579
RB
8382015-10-22 Richard Biener <rguenther@suse.de>
839
840 * c-typeck.c (c_finish_omp_clauses): Properly convert operands
841 before folding a MINUS_EXPR.
842
e9122ef6
MP
8432015-10-21 Marek Polacek <polacek@redhat.com>
844
845 PR c/68024
846 * c-decl.c (start_function): Warn about vararg functions without
847 a prototype.
848
9f47c7e5
IE
8492015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
850
851 * c-typeck.c (build_conditional_expr): Use boolean vector
852 type for vector comparison.
853 (build_vec_cmp): New.
854 (build_binary_op): Use build_vec_cmp for comparison.
855
fa60eeb9
MP
8562015-10-20 Marek Polacek <polacek@redhat.com>
857
858 * c-parser.c (is_cilkplus_vector_p): Don't define here.
859
2c7020eb
MP
8602015-10-20 Marek Polacek <polacek@redhat.com>
861
862 PR c/67964
863 * c-parser.c (c_parser_attributes): Break out of the loop if the
864 token after an attribute isn't a comma.
865
d9a6bd32
JJ
8662015-10-13 Jakub Jelinek <jakub@redhat.com>
867 Aldy Hernandez <aldyh@redhat.com>
868
869 * c-parser.c (c_parser_pragma): Handle PRAGMA_OMP_ORDERED here.
870 (c_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
871 (c_parser_omp_variable_list): Handle structure elements for
872 map, to and from clauses. Handle array sections in reduction
873 clause. Formatting fixes.
874 (c_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
875 if clause modifiers.
876 (c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
877 c_parser_omp_clause_priority, c_parser_omp_clause_hint,
878 c_parser_omp_clause_defaultmap, c_parser_omp_clause_use_device_ptr,
879 c_parser_omp_clause_is_device_ptr): New functions.
880 (c_parser_omp_clause_ordered): Parse optional parameter.
881 (c_parser_omp_clause_reduction): Handle array reductions.
882 (c_parser_omp_clause_schedule): Parse optional simd modifier.
883 (c_parser_omp_clause_nogroup, c_parser_omp_clause_orderedkind): New
884 functions.
885 (c_parser_omp_clause_linear): Parse linear clause modifiers.
886 (c_parser_omp_clause_depend_sink): New function.
887 (c_parser_omp_clause_depend): Parse source/sink depend kinds.
888 (c_parser_omp_clause_map): Parse release/delete map kinds and
889 optional always modifier.
890 (c_parser_oacc_all_clauses): Adjust c_parser_omp_clause_if
891 and c_finish_omp_clauses callers.
892 (c_parser_omp_all_clauses): Likewise. Parse OpenMP 4.5 clauses.
893 Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
894 (c_parser_oacc_cache): Adjust c_finish_omp_clauses caller.
895 (OMP_CRITICAL_CLAUSE_MASK): Define.
896 (c_parser_omp_critical): Parse critical clauses.
897 (c_parser_omp_for_loop): Handle doacross loops, adjust
898 c_finish_omp_for and c_finish_omp_clauses callers.
899 (OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
900 (c_parser_omp_simd): Allow ordered clause if it has no parameter.
901 (OMP_FOR_CLAUSE_MASK): Add linear clause.
902 (c_parser_omp_for): Disallow ordered clause when combined with
903 distribute. Disallow linear clause when combined with distribute
904 and not combined with simd.
905 (OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
906 (c_parser_omp_ordered): Add CONTEXT argument, remove LOC argument,
907 parse clauses and if depend clause is found, don't parse a body.
908 (c_parser_omp_parallel): Disallow copyin clause on target parallel.
909 Allow target parallel without for after it.
910 (OMP_TASK_CLAUSE_MASK): Add priority clause.
911 (OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
912 (c_parser_omp_target_data): Diagnose no map clauses or clauses with
913 invalid kinds.
914 (OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
915 (OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
916 OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
917 (c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): New
918 functions.
919 (OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
920 defaultmap and is_device_ptr clauses.
921 (c_parser_omp_target): Parse target parallel and target simd. Set
922 OMP_TARGET_COMBINED on combined constructs. Parse target enter data
923 and target exit data. Diagnose invalid map kinds.
924 (OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
925 (c_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
926 construct.
927 (c_parser_omp_declare_reduction): Use STRIP_NOPS when checking for
928 &omp_priv.
929 (OMP_TASKLOOP_CLAUSE_MASK): Define.
930 (c_parser_omp_taskloop): New function.
931 (c_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
932 handle PRAGMA_OMP_TASKLOOP.
933 (c_parser_cilk_for): Adjust c_finish_omp_clauses callers.
934 * c-tree.h (c_finish_omp_clauses): Add two new arguments.
935 * c-typeck.c (handle_omp_array_sections_1): Fix comment typo.
936 Add IS_OMP argument, handle structure element bases, diagnose
937 bitfields, pass IS_OMP recursively, diagnose known zero length
938 array sections in depend clauses, handle array sections in reduction
939 clause, diagnose negative length even for pointers.
940 (handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
941 types, pass IS_OMP down to handle_omp_array_sections_1, handle
942 array sections in reduction clause, set
943 OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
944 length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
945 (c_finish_omp_clauses): Add IS_OMP and DECLARE_SIMD arguments.
946 Handle new OpenMP 4.5 clauses and new restrictions for the old ones.
947
21ba0cea
MP
9482015-10-06 Marek Polacek <polacek@redhat.com>
949
950 * c-parser.c (c_parser_statement_after_labels): Use
951 protected_set_expr_location.
952 (c_parser_omp_clause_num_gangs): Likewise.
953 (c_parser_omp_clause_num_threads): Likewise.
954 (c_parser_omp_clause_num_workers): Likewise.
955 (c_parser_omp_clause_vector_length): Likewise.
956 (c_parser_omp_clause_num_teams): Likewise.
957 (c_parser_omp_clause_thread_limit): Likewise.
958 * c-typeck.c (build_c_cast): Likewise.
959 (c_cast_expr): Likewise.
960
624d31fe
RS
9612015-10-05 Richard Sandiford <richard.sandiford@arm.com>
962
963 * c-typeck.c (c_tree_equal): Use real_equal instead of
964 REAL_VALUES_EQUAL.
965
b8fd7909
JM
9662015-10-04 Jason Merrill <jason@redhat.com>
967
968 * c-parser.c (c_lex_one_token): Handle @synchronized.
969 * c-decl.c (match_builtin_function_types): A declaration of a built-in
970 can change whether the function is transaction_safe.
971
1c7485af
MP
9722015-10-02 Marek Polacek <polacek@redhat.com>
973
974 PR c/67730
975 * c-typeck.c (convert_for_assignment): Use the expansion point
976 location throughout.
977
3e3b8d63
MP
9782015-10-02 Marek Polacek <polacek@redhat.com>
979
980 PR c/64249
981 * c-parser.c (c_parser_statement_after_labels): Add CHAIN parameter
982 and pass it down to c_parser_if_statement.
983 (c_parser_else_body): Add CHAIN parameter and pass it down to
984 c_parser_statement_after_labels.
985 (c_parser_if_statement): Add CHAIN parameter. Add code to warn about
986 duplicated if-else-if conditions.
987
aabef2de
MP
9882015-10-01 Marek Polacek <polacek@redhat.com>
989
990 * c-typeck.c (convert_for_assignment): Improve commentary.
991
de8ddd5f
MP
9922015-09-30 Marek Polacek <polacek@redhat.com>
993
994 PR c/67730
995 * c-typeck.c (c_finish_return): Use the expansion point location for
996 certain "return with value" warnings.
997
c4914de6
MLI
9982015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
999
1000 * c-parser.c (pragma_lex): Add loc argument.
1001
0e36f5c7
MP
10022015-09-15 Marek Polacek <polacek@redhat.com>
1003
1004 PR c/67580
1005 * c-decl.c (tag_exists_p): New function.
1006 * c-parser.c (c_parser_declaration_or_fndef): Give a hint when
1007 struct/union/enum keywords are missing.
1008 * c-tree.h (tag_exists_p): Declare.
1009
2f3bb934
MP
10102015-09-15 Marek Polacek <polacek@redhat.com>
1011
1012 * c-decl.c (lookup_label): Return NULL_TREE instead of 0.
1013 (lookup_tag): Change the type of THISLEVEL_ONLY to bool.
1014 Return NULL_TREE instead of 0.
1015 (lookup_name): Return NULL_TREE instead of 0.
1016 (lookup_name_in_scope): Likewise.
1017 (shadow_tag_warned): Use true instead of 1 and NULL_TREE instead of 0.
1018 (parser_xref_tag): Use false instead of 0.
1019 (start_struct): Use true instead of 1.
1020 (start_enum): Use true instead of 1 and NULL_TREE instead of 0.
1021
aa256c4a
MP
10222015-09-14 Marek Polacek <polacek@redhat.com>
1023
1024 * c-typeck.c (set_nonincremental_init_from_string): Use
1025 HOST_WIDE_INT_M1U when shifting a negative value.
1026
dbb68221
MW
10272015-09-09 Mark Wielaard <mjw@redhat.com>
1028
1029 * c-typeck.c (build_binary_op): Check and warn when nonnull arg
1030 parm against NULL.
1031
a8a098ac
JJ
10322015-09-10 Jakub Jelinek <jakub@redhat.com>
1033
1034 PR c/67502
1035 * c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts
1036 into OMP_FOR_PRE_BODY rather than before the loop.
1037
f4b189d5
JJ
10382015-09-09 Jakub Jelinek <jakub@redhat.com>
1039
0bb99c11
JJ
1040 PR c/67501
1041 * c-parser.c (c_parser_oacc_all_clauses,
1042 c_parser_omp_all_clauses): Remove invalid clause from
1043 list of clauses even if parser->error is set.
1044
fce5e5e3
JJ
1045 PR c/67500
1046 * c-parser.c (c_parser_omp_clause_aligned,
1047 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen): Fix up
1048 test for errors.
1049 * c-decl.c (temp_pop_parm_decls): Allow b->decl equal to
1050 error_mark_node.
1051
f4b189d5
JJ
1052 PR c/67495
1053 * c-parser.c (c_parser_omp_atomic): Use c_parser_cast_expression
1054 instead of c_parser_unary_expression. If the result is !lvalue_p,
1055 wrap the result of c_fully_fold into NON_LVALUE_EXPR.
1056
b2aaf235
MP
10572015-09-04 Marek Polacek <polacek@redhat.com>
1058
1059 PR sanitizer/67279
1060 * c-typeck.c (build_binary_op): Don't instrument static initializers.
1061
1807ffc1
MS
10622015-09-03 Martin Sebor <msebor@redhat.com>
1063
1064 PR c/66516
8b652e65
JJ
1065 * c-typeck.c (convert_arguments, parser_build_unary_op,
1066 build_conditional_expr, c_cast_expr, convert_for_assignment,
1067 build_binary_op, _objc_common_truthvalue_conversion): Call
1807ffc1
MS
1068 reject_gcc_builtin.
1069 (c_decl_implicit): Define.
1070
d04ff417
MP
10712015-09-02 Marek Polacek <polacek@redhat.com>
1072
1073 PR c/67432
1074 * c-parser.c (c_parser_enum_specifier): Give a better error for
1075 an empty enum.
1076
a79683d5
TS
10772015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1078
1079 * c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.
1080
191a6b94
MP
10812015-08-12 Marek Polacek <polacek@redhat.com>
1082
1083 * c-decl.c (grokdeclarator): Call error_at instead of error and pass
1084 LOC to it.
1085
420a9d9b
MP
10862015-08-03 Marek Polacek <polacek@redhat.com>
1087
1088 PR c/67088
1089 * c-decl.c (check_bitfield_type_and_width): Add location parameter.
1090 Use it.
1091 (grokdeclarator): Pass LOC down to check_bitfield_type_and_width.
1092
992118a1
PP
10932015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1094
1095 * c-parser.c (c_parser_if_body): Take token_indent_info
1096 argument. Call warn_for_misleading_indentation even when the
1097 body is a semicolon. Extract token_indent_infos corresponding
1098 to the guard, body and next tokens. Adjust call to
1099 warn_for_misleading_indentation accordingly.
1100 (c_parser_else_body): Likewise.
1101 (c_parser_if_statement): Likewise.
1102 (c_parser_while_statement): Likewise.
1103 (c_parser_for_statement): Likewise.
1104
46308474
LFSM
11052015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
1106 Manuel López-Ibáñez <manu@gcc.gnu.org>
1107
1108 * c-decl.c (get_parm_info): Remove static var. Update warning
1109 message.
1110
05b28fd6
MP
11112015-07-27 Marek Polacek <polacek@redhat.com>
1112
1113 PR c++/66555
1114 PR c/54979
1115 * c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp.
1116
451b5e48
MP
11172015-07-20 Marek Polacek <polacek@redhat.com>
1118
1119 PR c++/55095
1120 * c-typeck.c (digest_init): Pass OPT_Wpedantic to pedwarn_init.
1121 (build_binary_op): Warn about left shift overflows.
1122
1916bcb5
AM
11232015-07-09 Andrew MacLeod <amacleod@redhat.com>
1124
1125 * c-array-notation.c: Adjust includes for flags.h changes.
1126 * c-objc-common.c: Likewise.
1127
c7131fb2
AM
11282015-07-07 Andrew MacLeod <amacleod@redhat.com>
1129
1130 * c-array-notation.c: Adjust includes.
1131 * c-aux-info.c: Likewise.
1132 * c-convert.c: Likewise.
1133 * c-decl.c: Likewise.
1134 * c-errors.c: Likewise.
1135 * c-lang.c: Likewise.
1136 * c-objc-common.c: Likewise.
1137 * c-parser.c: Likewise.
1138 * c-typeck.c: Likewise.
1139
da2e71c9
MLI
11402015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1141
1142 PR fortran/66605
1143 * c-decl.c (finish_function): Call do_warn_unused_parameter.
1144
b155cfd9
MP
11452015-06-29 Marek Polacek <polacek@redhat.com>
1146
1147 PR c/66322
1148 * c-typeck.c (struct c_switch): Add BOOL_COND_P and OUTSIDE_RANGE_P.
1149 (c_start_case): Set BOOL_COND_P and OUTSIDE_RANGE_P. Don't warn
1150 about -Wswitch-bool here.
1151 (do_case): Update c_add_case_label call.
1152 (c_finish_case): Update c_do_switch_warnings call.
1153
31521951
MP
11542015-06-27 Marek Polacek <polacek@redhat.com>
1155
1156 * c-typeck.c: Use VECTOR_TYPE_P throughout.
1157
22d03525
MP
11582015-06-26 Marek Polacek <polacek@redhat.com>
1159
1160 * c-array-notation.c (fix_builtin_array_notation_fn): Use
1161 INDIRECT_REF_P.
1162 * c-typeck.c (array_to_pointer_conversion): Likewise.
1163 (build_unary_op): Likewise.
1164 (c_finish_return): Likewise.
1165
f0889939
AM
11662015-06-25 Andrew MacLeod <amacleod@redhat.com>
1167
1168 * c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
1169 * c-parser.c: Likewise.
1170
8d67ee55
RS
11712015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1172
1173 * c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
1174 instead of pointer_hash.
1175 (detect_field_duplicates): Likewise.
1176
0ae9bd27
MP
11772015-06-25 Marek Polacek <polacek@redhat.com>
1178
1179 * c-array-notation.c: Use VAR_P throughout.
1180 * c-decl.c: Likewise.
1181 * c-objc-common.c: Likewise.
1182 * c-parser.c: Likewise.
1183 * c-typeck.c: Likewise.
1184
62f9079a
MP
11852015-06-25 Marek Polacek <polacek@redhat.com>
1186
1187 * c-decl.c: Use is_global_var throughout.
1188 * c-parser.c: Likewise.
1189 * c-typeck.c: Likewise.
1190
abb226c9
AM
11912015-06-17 Andrew MacLeod <amacleod@redhat.com>
1192
1193 * c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
1194 * c-aux-info.c: Likewise.
1195 * c-convert.c: Likewise.
1196 * c-decl.c: Likewise.
1197 * c-errors.c: Likewise.
1198 * c-lang.c: Likewise.
1199 * c-objc-common.c: Likewise.
1200 * c-parser.c: Likewise.
1201 * c-typeck.c: Likewise.
1202
8cbababc
JH
12032015-06-11 Jan Hubicka <hubicka@ucw.cz>
1204
1205 PR middle-end/66325
1206 * c-decl.c (start_enum): Set TYPE_PACKED consistently among type
1207 variants.
1208
a0349665
PMR
12092015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
1210
1211 * c-decl.c (pop_scope): Register the main translation unit
1212 through the new debug hook.
1213
13fdf2e2
AM
12142015-06-08 Andrew MacLeod <amacleod@redhat.com>
1215
1216 * c-array-notation.c : Adjust include files.
1217 * c-aux-info.c : Likewise.
1218 * c-convert.c : Likewise.
1219 * c-decl.c : Likewise.
1220 * c-errors.c : Likewise.
1221 * c-lang.c : Likewise.
1222 * c-lang.h : Likewise.
1223 * c-objc-common.c : Likewise.
1224 * c-parser.c : Likewise.
1225 * c-typeck.c : Likewise.
1226
d7438551
AH
12272015-06-05 Aldy Hernandez <aldyh@redhat.com>
1228
1229 * c-decl.c (finish_struct): Save C_TYPE_INCOMPLETE_VARS and
1230 immediately clobber it.
1231 (c_write_global_declarations_1): Remove call to
1232 check_global_declaration_1.
1233 (c_write_global_declarations_2): Remove.
1234 (c_write_final_cleanups): Rename from c_write_global_declarations.
1235 Remove call to finalize_compilation_unit.
1236 Remove calls to debugging hooks.
1237 * c-objc-common.c: Adjust comment for c_warn_unused_global_decl.
1238 * c-objc-common.h: Remove LANG_HOOKS_WRITE_GLOBALS.
1239 * c-tree.h: Remove c_write_global_declarations.
1240
ecb9f223
AM
12412015-06-04 Andrew MacLeod <amacleod@redhat.com>
1242
1243 * c-array-notation.c: Adjust includes for restructured coretypes.h.
1244 * c-aux-info.c: Likewise.
1245 * c-convert.c: Likewise.
1246 * c-decl.c: Likewise.
1247 * c-errors.c: Likewise.
1248 * c-lang.c: Likewise.
1249 * c-objc-common.c: Likewise.
1250 * c-parser.c: Likewise.
1251 * c-typeck.c: Likewise.
1252
9482b620
MP
12532015-06-04 Marek Polacek <polacek@redhat.com>
1254
1255 PR c/66341
1256 * c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if
1257 it is a lvalue.
1258
bc51ace3
PK
12592015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1260
1261 * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
1262 Warn for empty struct.
1263 (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct.
1264
ea5b45b6
AT
12652015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
1266
1267 * c-decl.c (start_function): Call plugin before parsing.
1268 (finish_function): Call plugin after parsing.
1269
c2d47482
PK
12702015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1271
1272 PR c/49551
1273 * c-decl.c (merge_decls): Merge DECL_COMMON.
1274
a95492ab
JW
12752015-05-22 Jim Wilson <jim.wilson@linaro.org>
1276
1277 * Make-lang.in (check_gcc_pallelize): Define.
1278
fd5c817a
MP
12792015-05-22 Marek Polacek <polacek@redhat.com>
1280
1281 PR c/47043
1282 * c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
1283 attributes.
1284
c7b70a3c
MP
12852015-05-21 Marek Polacek <polacek@redhat.com>
1286
1287 * c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
1288 DECL_BUILT_IN.
1289
21b634ae
MP
12902015-05-20 Marek Polacek <polacek@redhat.com>
1291
1292 * c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
1293 * c-typeck.c: Likewise.
1294
296a8c2f
MP
12952015-05-19 Marek Polacek <polacek@redhat.com>
1296
1297 * c-typeck.c (start_init): Use AGGREGATE_TYPE_P.
1298
41b37d5e
JJ
12992015-05-19 Jakub Jelinek <jakub@redhat.com>
1300
1301 PR middle-end/66199
1302 * c-parser.c (c_parser_omp_for_loop): Don't add
1303 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
1304 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
1305 (c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
1306 constructs.
1307
fab27f52
MM
13082015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
1309
1310 * c-typeck.c (build_array_ref): Use std::swap instead of explicit
296a8c2f 1311 swaps.
fab27f52 1312
40de31cf
MLI
13132015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1314
1315 PR fortran/44054
1316 * c-objc-common.c (c_tree_printer): Replace locus pointer with
1317 accessor function.
1318
3aa3c9fc
MP
13192015-05-14 Marek Polacek <polacek@redhat.com>
1320
1321 PR c/66066
1322 PR c/66127
1323 * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
1324 rather than with 0.
1325
c3388e62
DM
13262015-05-12 David Malcolm <dmalcolm@redhat.com>
1327
1328 * c-parser.c (c_parser_if_body): Add param "if_loc", use it
1329 to add a call to warn_for_misleading_indentation.
1330 (c_parser_else_body): Likewise, adding param "else_loc".
1331 (c_parser_if_statement): Check for misleading indentation.
1332 (c_parser_while_statement): Likewise.
1333 (c_parser_for_statement): Likewise.
1334
755e528f
MP
13352015-05-08 Marek Polacek <polacek@redhat.com>
1336
1337 PR c/64918
1338 * c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
1339 (output_init_element): Likewise.
1340
0173bd2a
MP
13412015-05-07 Marek Polacek <polacek@redhat.com>
1342
1343 PR c/65179
1344 * c-typeck.c (build_binary_op): Warn when left shifting a negative
1345 value.
1346
9babc352
MP
13472015-04-30 Marek Polacek <polacek@redhat.com>
1348
1349 * c-typeck.c (set_init_label): Call error_at instead of error and
1350 pass LOC to it.
1351
ac9f18db
MP
1352 * c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print
1353 the type of a decl.
1354
ec3fba51
MP
1355 * c-typeck.c (c_build_va_arg): Clarify the error message.
1356
b811915d
TS
13572015-04-29 Thomas Schwinge <thomas@codesourcery.com>
1358
1359 * c-parser.c (c_parser_oacc_enter_exit_data): Use
1360 OMP_STANDALONE_CLAUSES.
1361
f3075008
MP
13622015-04-28 Marek Polacek <polacek@redhat.com>
1363
1364 * c-parser.c (c_parser_binary_expression): Remove duplicate line.
1365
4e81b788
MP
13662015-04-28 Marek Polacek <polacek@redhat.com>
1367
1368 PR c/65901
1369 * c-typeck.c (c_build_va_arg): Require TYPE be a complete type.
1370
6c1db78e
MP
13712015-04-25 Marek Polacek <polacek@redhat.com>
1372
1373 PR c/52085
1374 * c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode"
1375 attribute.
1376
5c4abbb8
MP
13772015-04-23 Marek Polacek <polacek@redhat.com>
1378
1379 PR c/65345
1380 * c-decl.c (set_labels_context_r): New function.
1381 (store_parm_decls): Call it via walk_tree_without_duplicates.
1382 * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
1383 instead of create_tmp_var. Build TARGET_EXPR instead of
1384 COMPOUND_EXPR.
1385 (build_atomic_assign): Use create_tmp_var_raw instead of
1386 create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR.
1387
06aca1d5
IV
13882015-04-20 Ilya Verbin <ilya.verbin@intel.com>
1389
1390 * c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon.
1391 (c_parser_omp_target_update): Add missed %> to error_at ().
1392
8fba1830
BRF
13932015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1394
1395 PR target/55143
1396 * c-decl.c (c_default_pointer_mode): Remove definition.
1397 * c-tree.h (c_default_pointer_mode): Remove declaration.
1398
62021f64
TB
13992015-03-27 Tobias Burnus <burnus@net-b.de>
1400
1401 PR c/65586
1402 * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
1403 error out.
1404 (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
1405 c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
1406 Update calls to not error for skipped omp pragmas with -fopenmp-simd.
1407
9b65e171
JJ
14082015-03-19 Jakub Jelinek <jakub@redhat.com>
1409
1410 * c-decl.c (c_decl_attributes): Also add "omp declare target"
1411 attribute for DECL_EXTERNAL VAR_DECLs.
1412
17958621
JJ
14132015-03-11 Jakub Jelinek <jakub@redhat.com>
1414
1415 * c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
1416 argument.
1417
7ccb1a11
JJ
14182015-03-10 Jakub Jelinek <jakub@redhat.com>
1419
1420 PR c/65120
1421 * c-typeck.c (parser_build_binary_op): Check for tcc_comparison
1422 before preparing arguments to warn_logical_not_parentheses.
1423
01177669
JJ
14242015-03-09 Jakub Jelinek <jakub@redhat.com>
1425
1426 PR c/65120
1427 * c-typeck.c (parser_build_binary_op): Don't warn for
1428 !!x == y or !b == y where b is _Bool.
1429
802ac282
MP
14302015-03-09 Marek Polacek <polacek@redhat.com>
1431
1432 * c-convert.c (convert): Make use of do_ubsan_in_current_function.
1433 * c-decl.c (grokdeclarator): Likewise.
1434 * c-typeck.c (build_binary_op): Likewise.
1435
e5165b60
MP
14362015-02-27 Marek Polacek <polacek@redhat.com>
1437
1438 PR c/65228
1439 * c-decl.c (start_decl): Return NULL_TREE if decl is an error node.
1440
065d214c
MP
14412015-02-14 Marek Polacek <polacek@redhat.com>
1442
1443 PR c/64768
1444 * c-decl.c (grokdeclarator): Set the range of a flexible array member
1445 declared through a typedef name.
1446
e5d9235b
MP
14472015-02-13 Marek Polacek <polacek@redhat.com>
1448
1449 PR c/65050
1450 * c-decl.c (grokdeclarator): Print also the type when giving
1451 the error message about array's incomplete element type.
1452
fa01ffcc
JJ
14532015-02-11 Jakub Jelinek <jakub@redhat.com>
1454
1455 PR c/64824
1456 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
1457 check in the POP macro.
1458
c3e38a03
MP
14592015-02-09 Marek Polacek <polacek@redhat.com>
1460
1461 PR c/64856
1462 * c-typeck.c (process_init_element): Don't always wrap
1463 COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
1464 initializing a range of elements.
1465
4886ec8e
JJ
14662015-02-04 Jakub Jelinek <jakub@redhat.com>
1467
1468 PR c/64824
1469 PR c/64868
1470 * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
1471
c3e38a03 14722015-02-02 Bruno Loff <bruno.loff@gmail.com>
a4bb6959
BL
1473
1474 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
1475 processing enum declaration.
1476
7b33f0c8
MP
14772015-01-29 Marek Polacek <polacek@redhat.com>
1478
1479 PR c/64709
1480 * c-typeck.c (pop_init_level): If constructor_elements has
1481 exactly one element with integer_zerop value, set constructor_zeroinit
1482 to 1. Remove braces around warning_init call.
1483
dea63e49
JJ
14842015-01-27 Jakub Jelinek <jakub@redhat.com>
1485
1486 PR c/64766
1487 * c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
1488 of FUNCTION_DECLs with error_mark_node.
1489
d38f7dce
JJ
14902015-01-26 Jakub Jelinek <jakub@redhat.com>
1491
1492 PR c/64778
1493 * c-typeck.c (convert_arguments): Return -1 if there are
1494 error_args, even if we've diagnosed too many arguments.
1495
cbf5d0e7
RB
14962015-01-21 Richard Biener <rguenther@suse.de>
1497
1498 PR middle-end/64313
1499 * c-decl.c (merge_decls): Call set_builtin_decl_declared_p
1500 for builtins the user declared correctly.
1501
41dbbb37
TS
15022015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1503 Bernd Schmidt <bernds@codesourcery.com>
1504 Cesar Philippidis <cesar@codesourcery.com>
1505 James Norris <jnorris@codesourcery.com>
1506 Jakub Jelinek <jakub@redhat.com>
1507 Ilmir Usmanov <i.usmanov@samsung.com>
1508
1509 * c-parser.c: Include "gomp-constants.h".
1510 (c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
1511 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
1512 Use OMP_CLAUSE_SET_MAP_KIND.
1513 (c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
1514 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
1515 (c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
1516 PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
1517 PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
1518 (c_parser_omp_clause_name): Handle "auto", "async", "copy",
1519 "copyout", "create", "delete", "deviceptr", "gang", "host",
1520 "num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
1521 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
1522 "present_or_create", "pcreate", "seq", "self", "vector",
1523 "vector_length", "wait", "worker".
1524 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
1525 (OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
1526 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
1527 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
1528 (c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
1529 (c_parser_oacc_wait_list, c_parser_oacc_data_clause)
1530 (c_parser_oacc_data_clause_deviceptr)
1531 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
1532 (c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
1533 (c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
1534 (c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
1535 (c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
1536 (c_parser_oacc_parallel, c_parser_oacc_update)
1537 (c_parser_oacc_wait): New functions.
1538 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
1539 (c_finish_oacc_data): New prototypes.
1540 * c-typeck.c: Include "gomp-constants.h".
1541 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
1542 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
1543 OMP_CLAUSE_SET_MAP_KIND.
1544 (c_finish_oacc_parallel, c_finish_oacc_kernels)
1545 (c_finish_oacc_data): New functions.
1546 (c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
1547 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
1548 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
1549 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
1550 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
1551 GOMP_MAP_FORCE_DEVICEPTR.
1552
adfac8df
JJ
15532015-01-09 Michael Collison <michael.collison@linaro.org>
1554
1555 * c-array-notation.c: Include hash-set.h, machmode.h,
1556 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1557 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1558 * c-aux-info.c: Ditto.
1559 * c-convert.c: Ditto.
1560 * c-decl.c: Ditto.
1561 * c-errors.c: Ditto.
1562 * c-lang.c: Dittoxs.
1563 * c-objc-common.c: Ditto.
1564 * c-parser.c: Ditto.
1565 * c-typeck.c: Include hash-set.h, machmode.h,
1566 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1567 fold-const.h, wide-int.h, inchash.h, real.h and
1568 fixed-value.h due to flattening of tree.h.
1569
2cc901dc
MP
15702015-01-07 Marek Polacek <polacek@redhat.com>
1571
1572 PR c/64417
1573 * c-typeck.c (process_init_element): Disallow initialization of
1574 a flexible array member with a string constant if the structure
1575 is in an array.
1576
5624e564
JJ
15772015-01-05 Jakub Jelinek <jakub@redhat.com>
1578
e5341100
JJ
1579 PR sanitizer/64344
1580 * c-typeck.c (convert_for_assignment, c_finish_return): For
1581 -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
1582 types also set in_late_binary_op around convert call.
1583 * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
1584 to integral type casts, if not in_late_binary_op, pass c_fully_fold
1585 result on expr as last argument to ubsan_instrument_float_cast,
1586 if in_late_binary_op, don't use c_save_expr but save_expr.
1587
5624e564
JJ
1588 Update copyright years.
1589
5bd012f8
MP
15902015-01-05 Marek Polacek <polacek@redhat.com>
1591
1592 PR c/64423
1593 * c-typeck.c (build_array_ref): Pass loc down to
1594 warn_array_subscript_with_type_char.
1595
768952be
MU
15962014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1597
1598 * c-typeck.c: New behavious for pointers to arrays with qualifiers
1599 (common-pointer-type): For pointers to arrays take qualifiers from
1600 element type.
1601 (build_conditional_expr): Add warnings for lost qualifiers.
1602 (comp-target-types): Allow pointers to arrays with different qualifiers.
1603 (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
1604 WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
1605 to PEDWARN_FOR_QUALIFIERS.
1606
8f94a8c4
JJ
16072014-12-17 Jakub Jelinek <jakub@redhat.com>
1608
1609 PR sanitizer/64289
1610 * c-convert.c: Include ubsan.h.
1611 (convert): For real -> integral casts and
1612 -fsanitize=float-cast-overflow don't call convert_to_integer, but
1613 instead instrument the float cast directly.
1614
b731b390
JJ
16152014-11-29 Jakub Jelinek <jakub@redhat.com>
1616
1617 * c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
1618 c_finish_stmt_expr): Remove NULL last argument from
1619 create_tmp_var_raw and create_tmp_var calls.
1620 * c-array-notation.c (fix_builtin_array_notation_fn,
1621 build_array_notation_expr, fix_conditional_array_notations_1,
1622 fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
1623
541e35a6
MP
16242014-11-28 Marek Polacek <polacek@redhat.com>
1625
1626 PR c/63862
1627 * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
1628 convert the right operand to integer type.
1629
b286be94
MP
16302014-11-25 Marek Polacek <polacek@redhat.com>
1631
1632 PR c/63877
1633 * c-decl.c (start_function): Disable -Wmissing-declarations warning
1634 for inline functions.
1635
aa7da51a
JJ
16362014-11-21 Jakub Jelinek <jakub@redhat.com>
1637
1638 PR target/63764
1639 * c-typeck.c (build_array_ref): Adjust
1640 convert_vector_to_pointer_for_subscript caller. If it returns true,
1641 call non_lvalue_loc on the result.
1642
d876207f
RB
16432014-11-11 Richard Biener <rguenther@suse.de>
1644
1645 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
1646 to true.
1647
e5e44252
AK
16482014-11-10 Andi Kleen <ak@linux.intel.com>
1649
1650 PR c/60804
1651 * c-parser.c (c_parser_statement_after_labels): Call
1652 check_no_cilk.
1653 (c_parser_if_statement): Dito.
1654 (c_parser_switch_statement): Dito.
1655 (c_parser_while_statement): Dito.
1656 (c_parser_do_statement): Dito.
1657 (c_parser_for_statement): Dito.
1658 * c-typeck.c (c_finish_loop): Dito.
1659
13c21655
PC
16602014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1661
1662 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
1663 OPT_Wshift_count_overflow in the warnings.
1664
2d51fcef
MP
16652014-10-30 Marek Polacek <polacek@redhat.com>
1666
1667 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
1668 print the stripped version as well, if they're not the same.
1669
ef4bddc2
RS
16702014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1671
1672 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
1673 machine_mode.
1674
c582198b
AM
16752014-10-28 Andrew MacLeod <amacleod@redhat.com>
1676
1677 * c-decl.c: Adjust include files.
1678 * c-parser.c: Ditto.
1679
ddc8de03
PM
16802014-10-27 Phil Muldoon <pmuldoon@redhat.com>
1681 Tom Tromey <tromey@redhat.com>
1682
1683 * c-tree.h (enum c_oracle_request): New.
1684 (c_binding_oracle_function): New typedef.
1685 (c_binding_oracle, c_pushtag, c_bind): Declare.
1686 * c-decl.c (c_binding_oracle): New global.
1687 (I_SYMBOL_CHECKED): New macro.
1688 (i_symbol_binding): New function.
1689 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
1690 (I_TAG_CHECKED): New macro.
1691 (i_tag_binding): New function.
1692 (I_TAG_BINDING, I_TAG_DECL): Redefine.
1693 (I_LABEL_CHECKED): New macro.
1694 (i_label_binding): New function.
1695 (I_LABEL_BINDING, I_LABEL_DECL): Redefine.
1696 (c_print_identifier): Save and restore c_binding_oracle.
1697 (c_pushtag, c_bind): New functions.
1698
60393bbc
AM
16992014-10-27 Andrew MacLeod <amacleod@redhat.com>
1700
1701 * c-typeck.c: Adjust include files.
1702
d723bb7c
MLI
17032014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1704
1705 PR c++/53061
1706 * c-objc-common.c (c_objc_common_init): Do not do diagnostics
1707 initialization here...
1708 (c_initialize_diagnostics): ... but here. Set defaults after
1709 building pretty-printer.
1710
1bc5a451
MP
17112014-10-23 Marek Polacek <polacek@redhat.com>
1712
1713 PR c/63626
1714 * c-decl.c (pop_scope): Don't print warning in external_scope.
1715
4435bb92
MP
17162014-10-19 Marek Polacek <polacek@redhat.com>
1717
1718 PR c/63567
1719 * c-typeck.c (output_init_element): Allow initializing objects with
1720 static storage duration with compound literals even in C99 and add
1721 pedwarn for it.
1722
7278465e
MP
17232014-10-17 Marek Polacek <polacek@redhat.com>
1724
1725 PR c/63567
1726 * c-typeck.c (digest_init): Allow initializing objects with static
1727 storage duration with compound literals even in C99 and add pedwarn
1728 for it.
1729
d9b7be2e
MP
17302014-10-17 Marek Polacek <polacek@redhat.com>
1731
1732 PR c/63543
1733 * c-tree.h (C_TYPE_ERROR_REPORTED): Define.
1734 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
1735 error multiple times. Print the type.
1736
f406ae1f
MP
17372014-10-17 Marek Polacek <polacek@redhat.com>
1738
1739 PR c/63549
1740 * c-typeck.c (build_array_ref): Bail if the index in an incomplete
1741 type.
1742
92574c7c
MP
17432014-10-17 Marek Polacek <polacek@redhat.com>
1744
1745 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
1746 (start_function): Use OPT_Wimplicit_int instead of 0.
1747 (store_parm_decls_oldstyle): Likewise.
1748
1bc4a978
MT
17492014-10-17 Alan Modra <amodra@gmail.com>
1750
1751 PR middle-end/61848
1752 * c-decl.c (merge_decls): Don't merge section name or tls model
1753 to newdecl symtab node, instead merge to olddecl. Override
1754 existing olddecl section name. Set tls_model for all thread-local
1755 vars, not just OMP thread-private ones. Remove incorrect comment.
1756
83685514
AM
17572014-10-16 Andrew MacLeod <amacleod@redhat.com>
1758
1759 * c-decl.c: Adjust include files.
1760
78a7c317
DD
17612014-10-14 DJ Delorie <dj@redhat.com>
1762
1763 * c-parser.c (c_parse_init): Add RID entries for each __intN.
1764 (c_token_starts_typename): Check all __intN, not just __int128.
1765 (c_token_starts_declspecs): Likewise.
1766 (c_parser_declspecs): Likewise.
1767 (c_parser_attribute_any_word): Likewise.
1768 (c_parser_objc_selector): Likewise.
1769 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
1770 (struct c_declspecs): Add int_n_idx field to record *which* __intN
1771 is specified.
1772 * c-decl.c (declspecs_add_type): Check for all __intN, not just
1773 __int128.
1774 (finish_declspecs): Likewise.
1775
74d98c1e
AB
17762014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
1777
1778 * c-parser.c (c_parser_all_labels): New function to replace
1779 the duplicate code.
1780 (c_parser_statement): Call the new function.
1781
84937de2
MP
17822014-10-09 Marek Polacek <polacek@redhat.com>
1783
1784 PR c/63480
1785 * c-typeck.c (pop_init_level): Don't warn about initializing
1786 with { }.
1787
0382aaa0
MP
17882014-10-07 Marek Polacek <polacek@redhat.com>
1789
1790 PR c/59717
1791 * c-decl.c (header_for_builtin_fn): New function.
1792 (implicitly_declare): Suggest which header to include.
1793
7a0ca710
MP
17942014-10-07 Marek Polacek <polacek@redhat.com>
1795
1796 * c-convert.c (convert): Use error_operand_p.
1797 * c-typeck.c (require_complete_type): Likewise.
1798 (really_atomic_lvalue): Likewise.
1799 (digest_init): Likewise.
1800 (handle_omp_array_sections_1): Likewise.
1801
6bc8a126
MP
18022014-10-03 Marek Polacek <polacek@redhat.com>
1803
1804 PR c/63453
1805 * c-decl.c (pop_scope): Don't warn about "inline function declared
1806 but never defined" for functions marked with gnu_inline attribute.
1807
d90c0a59
JJ
18082014-09-25 Jakub Jelinek <jakub@redhat.com>
1809
1810 PR c++/63249
1811 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
1812 on low_bound and length.
1813
083e891e
MP
18142014-09-24 Marek Polacek <polacek@redhat.com>
1815
1816 PR c/61405
1817 PR c/53874
1818 * c-parser.c: Don't define CPP_KEYWORD.
1819 (c_parser_switch_statement): Pass original type to c_finish_case.
1820 * c-tree.h (c_finish_case): Update declaration.
1821 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
1822 conditionally to c_do_switch_warnings.
1823
8d95fe25
MP
18242014-09-03 Marek Polacek <polacek@redhat.com>
1825
1826 PR c/62024
1827 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
1828 conversions.
1829
9a771876
JJ
18302014-09-02 Jakub Jelinek <jakub@redhat.com>
1831 Balaji V. Iyer <balaji.v.iyer@intel.com>
1832 Igor Zamyatin <igor.zamyatin@intel.com>
1833
1834 * c-parser.c (c_parser_cilk_for): New function.
1835 (c_parser_cilk_grainsize): Likewise.
1836 (c_get_temp_regvar): Likewise.
1837 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
1838 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
1839 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
1840 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
1841 case.
1842
b7679d96
CG
18432014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
1844
1845 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
1846 with using HOST_WIDE_INT without truncation to 'int'
1847
59ea0364
MP
18482014-08-22 Marek Polacek <polacek@redhat.com>
1849
1850 PR c++/62199
1851 * c-typeck.c (parser_build_binary_op): Adjust call to
1852 warn_logical_not_parentheses.
1853
671a475e
IZ
18542014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
1855
1856 PR other/62008
1857 * c-parser.c (c_parser_array_notation): Check for correct
1858 type of an array added.
1859
04159acf
MP
18602014-08-19 Marek Polacek <polacek@redhat.com>
1861
1862 PR c++/62153
1863 * c-typeck.c (build_binary_op): If either operand of a comparison
1864 is a boolean expression, call maybe_warn_bool_compare.
1865
c77935ee
PP
18662014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
1867
1868 PR c/45584
1869 * c-typeck.c (build_c_cast): Do a conversion even when the
1870 TYPE_MAIN_VARIANTs are the same.
1871
35aff4fb
MP
18722014-08-19 Marek Polacek <polacek@redhat.com>
1873
1874 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
1875 pedwarn_c99 instead of pedwarn.
1876 (grokfield): Likewise.
1877 (warn_defaults_to): New function.
1878 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
1879 Unconditionally call pedwarn_c99 instead of pedwarn.
1880 (start_function): Call warn_defaults_to instead of pedwarn_c99.
1881 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
1882 check flag_isoc11 before.
1883 * c-errors.c (pedwarn_c99): Change the return type to bool.
1884 Handle -Wc99-c11-compat.
1885 * c-parser.c (disable_extension_diagnostics): Handle
1886 warn_c99_c11_compat.
1887 (restore_extension_diagnostics): Likewise.
1888 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
1889 instead of pedwarn, don't check flag_isoc11 before.
1890 (c_parser_declspecs): Likewise.
1891 (c_parser_alignas_specifier): Likewise.
1892 (c_parser_alignof_expression): Likewise.
1893 (c_parser_generic_selection): Likewise.
1894 * c-tree.h (pedwarn_c99): Update declaration.
1895 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
1896 of pedwarn_c99.
1897
177cce46
MP
18982014-08-19 Marek Polacek <polacek@redhat.com>
1899
1900 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
1901 to pedwarn_c90.
1902 * c-errors.c: Include "opts.h".
1903 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
1904 * c-parser.c (disable_extension_diagnostics): Handle negative value
1905 of warn_c90_c99_compat, too.
1906 (restore_extension_diagnostics): Likewise.
1907 (c_parser_compound_statement_nostart): Pass
1908 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
1909
6dc99c33
MP
19102014-08-12 Marek Polacek <polacek@redhat.com>
1911
1912 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
1913 Add pedwarn.
1914 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
1915 Likewise.
1916 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
1917
f3bede71
MP
19182014-08-10 Marek Polacek <polacek@redhat.com>
1919
1920 PR c/51849
1921 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
1922 Call pedwarn_c90 instead of pedwarn.
1923 (check_bitfield_type_and_width): Likewise.
1924 (declspecs_add_qual): Likewise.
1925 (declspecs_add_type): Likewise.
1926 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
1927 Adjust to only call pedwarn_c90.
1928 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
1929 pedwarn_c90 instead of pedwarn.
1930 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
1931 * c-parser.c (disable_extension_diagnostics): Handle
1932 warn_c90_c99_compat.
1933 (restore_extension_diagnostics): Likewise.
1934 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
1935 pedwarn_c90 instead of pedwarn.
1936 (c_parser_initelt): Likewise.
1937 (c_parser_postfix_expression): Likewise.
1938 (c_parser_postfix_expression_after_paren_type): Likewise.
1939 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
1940 * c-tree.h: Fix formatting.
1941 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
1942 pedwarn_c90 instead of pedwarn.
1943
9f25a338
TS
19442014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1945
1946 * c-typeck.c: Remove include of pointer-set.h.
1947
044331a8
MP
19482014-08-07 Marek Polacek <polacek@redhat.com>
1949
1950 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
1951
b787e7a2
TS
19522014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1953
1954 * c-typeck.c: Use hash_map instead of pointer_map.
1955
6e2830c3
TS
19562014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1957
1958 * c-decl.c: Use hash_set instead of pointer_set.
1959
a7ee52fb
IZ
19602014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
1961
1962 PR middle-end/61455
1963 * c-array-notation.c (expand_array_notations): Handling
1964 of DECL_EXPR added.
1965
b4dfdc11
MG
19662014-07-31 Marc Glisse <marc.glisse@inria.fr>
1967
1968 PR c++/60517
1969 * c-typeck.c (c_finish_return): Return 0 instead of the address of
1970 a local variable.
1971
976d5a22
TT
19722014-07-30 Tom Tromey <tromey@redhat.com>
1973
1974 * c-typeck.c (struct constructor_stack) <designator_depth>: New
1975 field.
1976 (really_start_incremental_init, push_init_level): Initialize
1977 designator_depth.
1978 (pop_init_level): Set global designator_depth.
1979 (process_init_element): Check for designated_init attribute.
1980
30281de2
MP
19812014-07-20 Marek Polacek <polacek@redhat.com>
1982
1983 PR c/61852
1984 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
1985 (implicitly_declare): Pass location to implicit_decl_warning.
1986
b108f48f
JJ
19872014-07-14 Jakub Jelinek <jakub@redhat.com>
1988
1989 PR middle-end/61294
1990 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
1991 If non-NULL, call c_parser_check_literal_zero.
1992 (c_parser_check_literal_zero): New function.
1993 (c_parser_postfix_expression_after_primary): Adjust
1994 c_parser_expr_list caller, handle -Wmemset-transposed-args.
1995
773ec47f
MP
19962014-07-06 Marek Polacek <polacek@redhat.com>
1997
1998 PR c/6940
1999 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
2000 * c-tree.h (C_ARRAY_PARAMETER): Define.
2001 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
2002 function parameter.
2003
22e1cf1c
JH
20042014-07-02 Jan Hubicka <hubicka@ucw.cz>
2005 Chen Gang <gang.chen.5i5j@gmail.com>
2006
2007 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
2008 releasing symbol.
2009
52ec0ea3
MP
20102014-07-01 Marek Polacek <polacek@redhat.com>
2011
2012 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
2013 instead of 0 to WARN_FOR_ASSIGNMENT.
2014
d5c3d343
MP
20152014-07-01 Marek Polacek <polacek@redhat.com>
2016
2017 PR c/58286
2018 * c-typeck.c (convert_for_assignment): Pass
2019 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
2020
6a7253a4
MP
20212014-06-30 Marek Polacek <polacek@redhat.com>
2022
2023 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
2024 has no_sanitize_undefined attribute.
2025
5e88a8f4
IZ
20262014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
2027
2028 PR middle-end/57541
2029 * c-array-notation.c (fix_builtin_array_notation_fn):
2030 Check for 0 arguments in builtin call. Check that bultin argument is
2031 correct.
2032 * c-parser.c (c_parser_array_notation): Check for incorrect initial
2033 index.
2034
9698b078
SH
20352014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
2036
2037 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
2038 qualifiers in __auto_type for atomic types.
2039 (c_parser_typeof_specifier): Discard all type qualifiers in
2040 __typeof__ for atomic types.
2041
6e07c515
MP
20422014-06-25 Marek Polacek <polacek@redhat.com>
2043
2044 PR c/61162
2045 * c-parser.c (c_parser_statement_after_labels): Pass the location of
2046 the return expression to c_finish_return.
2047
da6f124d
JJ
20482014-06-25 Jakub Jelinek <jakub@redhat.com>
2049
2050 * c-typeck.c (c_finish_omp_clauses): Make sure
2051 OMP_CLAUSE_LINEAR_STEP has correct type.
2052
c203e8a7
TS
20532014-06-24 Trevor Saunders <tsaunders@mozilla.com>
2054
2055 * c-decl.c: Adjust.
2056
56ad0e38
JJ
20572014-06-24 Jakub Jelinek <jakub@redhat.com>
2058
2059 * c-parser.c (c_parser_omp_for_loop): For
2060 #pragma omp parallel for simd move lastprivate clause from parallel
2061 to for rather than simd.
2062
47c2554f
MP
20632014-06-23 Marek Polacek <polacek@redhat.com>
2064
2065 * c-typeck.c (parser_build_binary_op): Don't call
2066 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
2067
56363ffd
JH
20682014-06-15 Jan Hubicka <hubicka@ucw.cz>
2069
2070 * c-parser.c (c_parser_omp_threadprivate): Likewise.
2071 * c-decl.c (merge_decls): Likewise.
2072
d7ff7ae5
MP
20732014-06-09 Marek Polacek <polacek@redhat.com>
2074
2075 PR c/36446
2076 * c-typeck.c (error_init): Call inform instead of error_at.
2077 (pedwarn_init): Call inform instead of pedwarn.
2078 (warning_init): Call inform instead of warning_at.
2079
24d047a3
JH
20802014-06-07 Jan Hubicka <hubicka@ucw.cz>
2081
2082 * c-decl.c (merge_decls): Use set_decl_section_name.
2083 (duplicate_decls): Remove node if it exists.
2084
9bac5cbb
G
20852014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
2086
2087 PR c/53119
2088 * c-typeck.c (push_init_level, process_init_element,
2089 pop_init_level): Correct check for zero initialization, move
2090 missing brace warning to respect zero initialization.
2091
8ffcdea8
MP
20922014-06-05 Marek Polacek <polacek@redhat.com>
2093
2094 PR c/56724
2095 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
2096
742938c9
MP
20972014-06-05 Marek Polacek <polacek@redhat.com>
2098
2099 PR c/49706
2100 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
2101 on the left hand side operand of a comparison.
2102
6447c55d
MP
21032014-06-05 Marek Polacek <polacek@redhat.com>
2104
2105 PR c/48062
2106 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
2107 Print note only if the warning was printed.
2108
9dc7743c
IZ
21092014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
2110
2111 PR c/58942
2112 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
2113 with a pointer.
2114
fedfecef
MP
21152014-06-03 Marek Polacek <polacek@redhat.com>
2116
2117 PR c/60439
2118 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
2119 c_start_case.
2120 * c-tree.h (c_start_case): Update.
2121 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
2122 switch condition has boolean value.
2123
9b2b7279
AM
21242014-06-02 Andrew MacLeod <amacleod@redhat.com>
2125
2126 * c-decl.c: Include builtins.h.
2127 * c-parser.c: Likewise.
2128
5c1bc275
MP
21292014-05-27 Marek Polacek <polacek@redhat.com>
2130
2131 PR c/56724
2132 * c-typeck.c (convert_arguments): Get location of a parameter. Change
2133 error and warning calls to error_at and warning_at. Pass location of
2134 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
2135 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
2136 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
2137
97563bc8
IZ
21382014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
2139
2140 PR c/61191
2141 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
2142 function parameters.
2143
aede2c10
JH
21442014-05-23 Jan Hubicka <hubicka@ucw.cz>
2145
2146 * c-decl.c (merge_decls): Preserve symtab node pointers.
2147 (duplicate_decls): Free new decl.
2148
edbba2ce
TS
21492014-05-23 Thomas Schwinge <thomas@codesourcery.com>
2150
f3316c6d
TS
2151 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
2152 initialization.
2153
edbba2ce
TS
2154 * c-parser.c (c_parser_omp_target): Return bool values.
2155
68c81f24
TS
21562014-05-22 Thomas Schwinge <thomas@codesourcery.com>
2157
2158 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
2159 num_teams_loc variable to num_thread_limit_loc.
2160
632f2871
RS
21612014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2162
2163 * c-array-notation.c (expand_array_notations): Use void_node
2164 instead of void_zero_node.
2165
766090c2
TS
21662014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2167
2168 * c-decl.c (finish_struct): Adjust.
2169 (finish_enum): Likewise.
2170 (bind): Adjust.
2171 (record_inline_static): Likewise.
2172 (push_scope): Likewise.
2173 (make_label): Likewise.
2174 (lookup_label_for_goto): Likewise.
2175 (finish_struct): Likewise.
2176 (finish_enum): Likewise.
2177 (store_parm_decls): Likewise.
2178 (c_push_function_context): Likewise.
2179 * c-lang.h: Remove usage of variable_size gty attribute.
2180 * c-parser.c (c_parse_init): Adjust.
2181 (c_parse_file): Likewise.
2182
2b107f6b
MP
21832014-05-13 Marek Polacek <polacek@redhat.com>
2184
2185 PR c/61162
2186 * c-typeck.c (convert_for_assignment): Pass location to
2187 WARN_FOR_ASSIGNMENT instead of input_location.
2188
d033409e
MP
21892014-05-10 Marek Polacek <polacek@redhat.com>
2190
2191 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
2192 maybe_warn_string_init.
2193 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
2194 maybe_warn_string_init.
2195 * c-tree.h (maybe_warn_string_init): Update declaration.
2196 * c-typeck.c (maybe_warn_string_init): Add location parameter.
2197 Call pedwarn_init with loc instead of with input_location.
2198 (digest_init): Pass init_loc to maybe_warn_string_init.
2199 (pop_init_level): Call pedwarn_init with loc instead of with
2200 input_location.
2201 (set_init_index): Likewise.
2202 (process_init_element): Likewise.
2203
ea58ef42
MP
22042014-05-09 Marek Polacek <polacek@redhat.com>
2205
2206 PR c/61096
2207 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
2208 (c_parser_initelt): Pass location to set_init_label. Pass array index
2209 location to set_init_index.
2210 * c-tree.h (push_init_level): Update declaration.
2211 (pop_init_level): Likewise.
2212 (set_init_index): Likewise.
2213 (set_init_label): Likewise.
2214 * c-typeck.c (error_init): Add location parameter. Call error_at
2215 instead of error.
2216 (digest_init): Pass init_loc to error_init.
2217 (really_start_incremental_init):
2218 (push_init_level): Add location parameter. Pass loc to pop_init_level
2219 and error_init.
2220 (pop_init_level): Likewise.
2221 (set_designator): Add location parameter. Pass loc to pop_init_level,
2222 push_init_level, and error_init.
2223 (set_init_index): Add location parameter. Pass loc to error_init and
2224 set_designator.
2225 (set_init_label): Likewise.
2226 (output_init_element): Pass loc to error_init.
2227 (process_init_element): Pass loc to error_init, pop_init_level,
2228 pedwarn_init, and push_init_level.
2229
661a0813
MP
22302014-05-09 Marek Polacek <polacek@redhat.com>
2231
2232 PR c/50459
2233 * c-parser.c (c_parser_attributes): Parse the arguments as an
2234 expression-list if the attribute takes identifier.
2235
2793eeab
MP
22362014-05-08 Marek Polacek <polacek@redhat.com>
2237
2238 PR c/61053
2239 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
2240 TYPE_ALIGN_UNIT.
2241
f827930a
MP
22422014-05-08 Marek Polacek <polacek@redhat.com>
2243
2244 PR c/61077
2245 * c-decl.c (start_function): Warn for _Atomic-qualified return type
2246 of main.
2247
1d60af08
KZ
22482014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2249 Mike Stump <mikestump@comcast.net>
2250 Richard Sandiford <rdsandiford@googlemail.com>
2251
2252 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
2253 (finish_enum): Use wide-int interfaces.
2254 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
2255 * c-typeck.c (build_c_cast): Likewise.
2256 (set_nonincremental_init_from_string): Likewise.
2257 (c_tree_equal): Likewise.
2258
a0e24419
MP
22592014-05-02 Marek Polacek <polacek@redhat.com>
2260
2261 PR c/25801
2262 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
2263 Return size_one_node when the type is not complete.
2264 (pointer_diff): Remove comment.
2265 (build_unary_op): Improve error messages.
2266
19fc9faa
MP
22672014-05-02 Marek Polacek <polacek@redhat.com>
2268
2269 * c-typeck.c (c_finish_return): Separate warning_at calls.
2270
63bc4e87
MP
22712014-05-02 Marek Polacek <polacek@redhat.com>
2272
2273 * c-tree.h (error_init): Remove declaration.
2274 (pedwarn_init): Likewise.
2275 * c-typeck.c (error_init): Make static and move above.
2276 (pedwarn_init): Likewise.
2277 (warning_init): Move above.
2278 (maybe_warn_string_init): Likewise.
2279
4bd2511b
JL
22802014-05-01 Jeff Law <law@redhat.com>
2281
2282 Revert:
2283
2284 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
2285 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
2286 avoid goto.
2287
6a358dcb
MP
22882014-05-02 Marek Polacek <polacek@redhat.com>
2289
2290 PR c/60784
2291 * c-typeck.c (push_init_level): Set constructor_designated to
2292 p->designated for structures.
2293
ae5ebda4
MP
22942014-05-01 Marek Polacek <polacek@redhat.com>
2295
2296 PR c/60915
2297 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
2298 function-definition has an attribute after the declarator.
2299
96b40f8d
MP
23002014-05-01 Marek Polacek <polacek@redhat.com>
2301
2302 PR c/60257
2303 * c-typeck.c (warning_init): Add location_t parameter. Call
2304 warning_at instead of warning.
2305 (push_init_level): Pass input_location to warning_init.
2306 (add_pending_init): Add location_t parameter. Pass loc to
2307 warning_init.
2308 (set_nonincremental_init): Pass input_location to add_pending_init.
2309 (set_nonincremental_init_from_string): Likewise.
2310 (output_init_element): Pass loc to warning_init and to
2311 add_pending_init.
2312
32e00768
MP
23132014-05-01 Marek Polacek <polacek@redhat.com>
2314
2315 PR c/43395
2316 * c-typeck.c (c_finish_return): Distinguish between label and variable
2317 when warning about returning local address.
2318
c9379ce2
MP
23192014-05-01 Marek Polacek <polacek@redhat.com>
2320
2321 PR c/29467
2322 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
2323 in C89 mode.
2324
d00887e8
MP
23252014-05-01 Marek Polacek <polacek@redhat.com>
2326
2327 PR c/43245
2328 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
2329 instead of 0 to WARN_FOR_QUALIFIERS.
2330
5436fa2e
MP
23312014-05-01 Marek Polacek <polacek@redhat.com>
2332
2333 PR c/56989
2334 * c-typeck.c (default_conversion): Use better location for
2335 error call.
2336
f8ed5150
MP
23372014-04-30 Marek Polacek <polacek@redhat.com>
2338
2339 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
2340 also when SANITIZE_FLOAT_DIVIDE is on.
2341
8337d1db
MP
23422014-04-30 Marek Polacek <polacek@redhat.com>
2343
2344 PR c/60139
2345 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
2346 and pedwarn_init. Use loc insted of input_location.
2347
c4bdc42f
MP
23482014-04-30 Marek Polacek <polacek@redhat.com>
2349
2350 PR c/60351
2351 * c-typeck.c (build_binary_op): Use location when warning about
2352 shift count.
2353
45484dcf
MP
23542014-04-25 Marek Polacek <polacek@redhat.com>
2355
2356 PR c/18079
2357 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
2358 always_inline/noinline and hot/cold attributes.
2359
34cf811f
MP
23602014-04-25 Marek Polacek <polacek@redhat.com>
2361
2362 PR c/60114
2363 * c-parser.c (c_parser_initelt): Pass input_location to
2364 process_init_element.
2365 (c_parser_initval): Pass loc to process_init_element.
2366 * c-tree.h (process_init_element): Adjust declaration.
2367 * c-typeck.c (push_init_level): Pass input_location to
2368 process_init_element.
2369 (pop_init_level): Likewise.
2370 (set_designator): Likewise.
2371 (output_init_element): Add location_t parameter. Pass loc to
2372 digest_init.
2373 (output_pending_init_elements): Pass input_location to
2374 output_init_element.
2375 (process_init_element): Add location_t parameter. Pass loc to
2376 output_init_element.
2377
42056eac
JJ
23782014-04-24 Jakub Jelinek <jakub@redhat.com>
2379
2380 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
2381 atomic-clause, allow comma in between atomic-clause and
2382 seq_cst.
2383
e162a134
JJ
23842014-04-22 Jakub Jelinek <jakub@redhat.com>
2385
2386 PR c/59073
2387 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
2388 fails, don't set OM_PARALLEL_COMBINED and return NULL.
2389
2f6babac
IZ
23902014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
2391
2392 PR middle-end/60469
2393 * c-array-notation.c (fix_builtin_array_notation_fn): Use
2394 create_tmp_var instead build_decl for creating temps.
2395 (build_array_notation_expr): Likewise.
2396 (fix_conditional_array_notations_1): Likewise.
2397 (fix_array_notation_expr): Likewise.
2398 (fix_array_notation_call_expr): Likewise.
2399
8edbfaa6
JJ
24002014-03-28 Jakub Jelinek <jakub@redhat.com>
2401
2402 PR c++/60689
2403 * c-tree.h (c_build_function_call_vec): New prototype.
2404 * c-typeck.c (build_function_call_vec): Don't call
2405 resolve_overloaded_builtin here.
2406 (c_build_function_call_vec): New wrapper function around
2407 build_function_call_vec. Call resolve_overloaded_builtin here.
2408 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
2409 Call c_build_function_call_vec instead of build_function_call_vec.
2410 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
2411 * c-decl.c (finish_decl): Likewise.
2412
7485aeea
MLI
24132014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2414
2415 PR c/55383
2416 * c-typeck.c: Use correct format string in cast-qual warning
2417
b17a8b07
TS
24182014-03-07 Thomas Schwinge <thomas@codesourcery.com>
2419
2420 * c-decl.c (c_decl_attributes): Use
2421 lang_hooks.types.omp_mappable_type.
2422 * c-typeck.c (c_finish_omp_clauses): Likewise.
2423
3af9c5e9
MP
24242014-03-06 Marek Polacek <polacek@redhat.com>
2425
2426 PR c/60197
2427 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
2428 of checking tree code.
2429
1c9f5f33
PK
24302014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
2431
2432 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
2433 (c_parser_parameter_declaration): Likewise.
2434
cc28fc7f
MP
24352014-02-19 Marek Polacek <polacek@redhat.com>
2436
2437 PR c/60195
2438 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
2439 Call mark_exp_read on exp.value.
2440 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
2441 TREE_ADDRESSABLE on old instead of val.
2442 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
2443
b581c05c
PK
24442014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
2445
2446 * c-parser.c (c_parser_get_builtin_args): Replace calls to
2447 C_EXPR_APPEND by vec_safe_push.
2448 * c-tree.h (C_EXPR_APPEND): Remove.
2449
81e5eca8
MP
24502014-01-31 Marek Polacek <polacek@redhat.com>
2451
2452 PR c/59963
2453 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
2454 build_function_call_vec.
2455 (build_function_call): Likewise.
2456 (build_atomic_assign): Likewise.
2457 (build_function_call_vec): Add arg_loc parameter. Use it.
2458 (convert_arguments): Likewise.
2459 (convert_for_assignment): Rename rhs_loc to expr_loc.
2460 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
2461 (c_parser_objc_keywordexpr): Likewise.
2462 (c_parser_postfix_expression_after_primary): Call
2463 build_function_call_vec with expr_loc rather than op_loc.
2464 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
2465 build_function_call_vec.
2466 (c_parser_expr_list): Add locations parameter. Fill it with locations
2467 of function arguments.
2468 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
2469
68fca595
MP
24702014-01-30 Marek Polacek <polacek@redhat.com>
2471
2472 PR c/59940
2473 * c-typeck.c (build_function_call_vec): Use loc parameter.
2474 (convert_arguments): Add location parameter. Use it.
2475 (ep_convert_and_check): Likewise.
2476 (build_atomic_assign): Adjust convert_for_assignment call.
2477 (build_modify_expr): Likewise.
2478 (digest_init): Likewise.
2479 (c_finish_return): Likewise.
2480 (build_conditional_expr): Adjust ep_convert_and_check calls.
2481 (convert_for_assignment): Add rhs_loc parameter. Use it.
2482 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
2483 calls.
2484
fa337f3a
RB
24852014-01-30 Richard Biener <rguenther@suse.de>
2486
2487 PR c/59905
2488 * c-typeck.c (build_function_call_vec): Do not replace calls
2489 to a function via an incompatible type with a runtime abort.
2490
b72271b9
BI
24912014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2492
2493 * c-parser.c (c_parser_declaration_or_fndef): Replaced
2494 flag_enable_cilkplus with flag_cilkplus.
2495 (c_parser_direct_declarator_inner): Likewise.
2496 (c_parser_attribute_any_word): Likewise.
2497 (c_parser_attributes): Likewise.
2498 (c_parser_compound_statement): Likewise.
2499 (c_parser_statement_after_labels): Likewise.
2500 (c_parser_if_statement): Likewise.
2501 (c_parser_switch_statement): Likewise.
2502 (c_parser_do_statement): Likewise.
2503 (c_parser_for_statement): Likewise.
2504 (c_parser_unary_expression): Likewise.
2505 (c_parser_postfix_expression): Likewise.
2506 (c_parser_postfix_expression_after_primary): Likewise.
2507 (c_parser_postfix_expression_after_primary): Likewise.
2508 (c_parser_omp_clause_name): Likewise.
2509 (c_finish_omp_declare_simd): Likewise.
2510 (c_parser_cilk_verify_simd): Likewise.
2511 * c-typeck.c (build_array_ref): Likewise.
2512 (build_function_call_vec): Likewise.
2513 (convert_arguments): Likewise.
2514 (build_compound_expr): Likewise.
2515 (c_finish_return): Likewise.
2516 (c_finish_if_stmt): Likewise.
2517 (c_finish_loop): Likewise.
2518 (build_binary_op): Likewise.
2519
393e8e8b
MP
25202014-01-23 Marek Polacek <polacek@redhat.com>
2521
2522 PR c/59846
2523 * c-typeck.c (parser_build_binary_op): Use location instead of
2524 input_location.
2525 (build_binary_op): Pass location to shorten_compare.
2526
f04dda30
MP
25272014-01-23 Marek Polacek <polacek@redhat.com>
2528
2529 PR c/58346
2530 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
2531 an empty aggregate.
2532
789eadcd
MP
25332014-01-23 Marek Polacek <polacek@redhat.com>
2534
2535 PR c/59871
2536 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
2537 of a comma expression.
2538 (emit_side_effect_warnings): Likewise.
2539
40f14e9f
BI
25402014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
2541
2542 PR c/59825
2543 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
2544 function to use walk_tree and moved a lot of its functionality to
2545 expand_array_notations.
2546 (expand_array_notations): New function.
2547
74558dd9
BI
25482014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
2549
2550 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
2551 attribute an attribute without value.
2552
652fea39
JJ
25532014-01-23 Jakub Jelinek <jakub@redhat.com>
2554
2555 PR middle-end/58809
2556 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
2557 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
2558
f34f1c87
MP
25592014-01-22 Marek Polacek <polacek@redhat.com>
2560
2561 PR c/59891
2562 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
2563 of remove_c_maybe_const_expr on op1 and op2.
2564
241f845a
JJ
25652014-01-15 Jakub Jelinek <jakub@redhat.com>
2566
2567 PR c/58943
2568 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
2569 effects, preevaluate rhs using SAVE_EXPR first.
2570
9a74f20c
BI
25712014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
2572
2573 PR c++/59631
2574 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
2575 statements with if-elseif statements.
2576
96066ce1
MP
25772014-01-06 Marek Polacek <polacek@redhat.com>
2578
2579 PR c/57773
2580 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
2581 defined bit-field types only in ISO C.
2582
23a5b65a
RS
25832014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2584
2585 Update copyright years
2586
f9030485
RS
25872014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2588
2589 * c-array-notation.c: Use the standard form for the copyright notice.
2590
41958c28
BI
25912013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
2592
2593 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
2594 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
2595 field in parser is not empty. If not-empty, call the function
2596 c_parser_finish_omp_declare_simd.
2597 (c_parser_cilk_clause_vectorlength): Modified function to be shared
2598 between SIMD-enabled functions and #pragma simd. Added new parameter.
2599 (c_parser_cilk_all_clauses): Modified the usage of the function
2600 c_parser_cilk_clause_vectorlength as mentioned above.
2601 (c_parser_cilk_simd_fn_vector_attrs): New function.
2602 (c_finish_cilk_simd_fn_tokens): Likewise.
2603 (is_cilkplus_vector_p): Likewise.
2604 (c_parser_omp_clause_name): Added checking for "vectorlength,"
2605 "nomask," and "mask" strings in clause name.
2606 (c_parser_omp_all_clauses): Added 3 new case statements:
2607 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
2608 PRAGMA_CILK_CLAUSE_NOMASK.
2609 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
2610 check for vector attribute and if so call the function
2611 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
2612 called the function c_finish_cilk_simd_fn_tokens.
2613 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
2614 parser field is non-empty. If so, parse them as you would parse
2615 the omp declare simd pragma.
2616 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
2617 Added a check when step is a parameter and flag it as error.
2618 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
2619 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
2620 pragma_omp_clause.
2621
cef0fd0e
TS
26222013-12-17 Thomas Schwinge <thomas@codesourcery.com>
2623
2624 * c-parser.c (c_parser_omp_parallel): Fix description.
2625
12893402
BI
26262013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
2627
2628 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
2629 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
2630 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
2631 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
2632
296674db
JM
26332013-12-04 Joseph Myers <joseph@codesourcery.com>
2634
2635 PR c/52023
2636 * c-parser.c (c_parser_alignas_specifier): Use
2637 c_sizeof_or_alignof_type instead of c_alignof.
2638 (c_parser_alignof_expression): Likewise, with min_alignof
2639 parameter depending on alignof spelling used.
2640
edd28054
MP
26412013-12-04 Marek Polacek <polacek@redhat.com>
2642
2643 PR c/54113
2644 * c-decl.c (start_function): Don't warn for missing prototype for
2645 inline functions.
2646
da0fc454
MP
26472013-12-03 Marek Polacek <polacek@redhat.com>
2648
2649 PR c/59351
2650 * c-decl.c (build_compound_literal): Allow compound literals with
2651 empty initial value.
2652
4c2ecab0
JM
26532013-12-02 Joseph Myers <joseph@codesourcery.com>
2654
2655 PR c/58235
2656 * c-typeck.c (build_modify_expr): Diagnose assignment to
2657 expression with array type.
2658
340baef7
JM
26592013-11-29 Joseph Myers <joseph@codesourcery.com>
2660
2661 PR c/42262
2662 * c-typeck.c (process_init_element): Do not treat a string as
2663 initializing a whole array when used with a designator for an
2664 individual element.
2665
6763b9f7
JM
26662013-11-29 Joseph Myers <joseph@codesourcery.com>
2667
2668 PR c/57574
2669 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
2670 an inline function following a static declaration.
2671
e7bd1de1
JJ
26722013-11-28 Jakub Jelinek <jakub@redhat.com>
2673
2674 PR c/59310
2675 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
2676 to p_name before calling c_parser_omp_teams instead of after.
2677 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
2678 argument. Remove unused p_name variable.
2679
0136f8f0
AH
26802013-11-27 Aldy Hernandez <aldyh@redhat.com>
2681 Jakub Jelinek <jakub@redhat.com>
2682
2683 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
2684 external_scope is NULL.
2685
241b71bb
TV
26862013-11-27 Tom de Vries <tom@codesourcery.com>
2687 Marc Glisse <marc.glisse@inria.fr>
2688
2689 PR c++/59032
2690 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
2691
2fb9a547
AM
26922013-11-22 Andrew MacLeod <amacleod@redhat.com>
2693
2694 * c-typeck.c: Add required include files from gimple.h.
2695
8400e75e
DM
26962013-11-22 David Malcolm <dmalcolm@redhat.com>
2697
2698 * c-decl.c (define_label, shadow_tag_warned)
2699 (check_bitfield_type_and_width, grokdeclarator, grokparms,
2700 store_parm_decls_newstyle, store_parm_decls_oldstyle)
2701 (declspecs_add_type): Remove use of in_system_header macro.
2702 * c-parser.c (c_parser_unary_expression): Likewise.
2703 * c-typeck.c (store_init_value, process_init_element)
2704 (c_start_case): Likewise.
2705
2706 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
2707 macro.
2708
2709 * c-parser.c (c_parser_set_source_position_from_token): Remove
2710 reference to in_system_header from comment.
2711
386b1f1f
RS
27122013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2713
2714 * c-decl.c (grokdeclarator): Update comment to refer to
2715 tree_to_[su]hwi rather than tree_low_cst.
2716
ae7e9ddd
RS
27172013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2718
2719 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
2720 tree_to_uhwi throughout.
2721
9439e9a1
RS
27222013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2723
2724 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
2725 throughout.
2726
9541ffee
RS
27272013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2728
2729 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
2730 throughout.
2731
c02065fc
AH
27322013-11-15 Aldy Hernandez <aldyh@redhat.com>
2733
2734 * c-parser.c (c_parser_cilk_simd): New.
2735 (c_parser_cilk_verify_simd): New.
2736 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
2737 (c_parser_omp_for_loop): Add case for NE_EXPR.
2738 Set c_break_label for CILK_SIMD.
2739 (c_parser_cilk_clause_vectorlength): New.
2740 (c_parser_cilk_clause_linear): New.
2741 (c_parser_cilk_clause_name): New.
2742 (c_parser_cilk_all_clauses): New.
2743 * c-typeck.c (build_unary_op): Pass location argument to
2744 readonly_error.
2745 (build_modify_expr): Same.
2746 (build_asm_expr): Same.
2747 (c_finish_bc_stmt): Error on break/continue in loops.
2748
18f429e2
AM
27492013-11-14 Andrew MacLeod <amacleod@redhat.com>
2750
2751 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
2752
d8a2d370
DN
27532013-11-14 Diego Novillo <dnovillo@google.com>
2754
2755 * c-decl.c: Include print-tree.h.
2756 Include stor-layout.h.
2757 Include varasm.h.
2758 Include attribs.h.
2759 Include stringpool.h.
2760 * c-lang.c: Include fold-const.h.
2761 * c-parser.c: Include stringpool.h.
2762 Include attribs.h.
2763 Include stor-layout.h.
2764 Include varasm.h.
2765 Include trans-mem.h.
2766 * c-typeck.c: Include stor-layout.h.
2767 Include trans-mem.h.
2768 Include varasm.h.
2769 Include stmt.h.
2770
38b7bc7f
JM
27712013-11-13 Joseph Myers <joseph@codesourcery.com>
2772
2773 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
2774 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
2775 __auto_type.
2776 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
2777 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
2778 RID_AUTO_TYPE.
2779 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
2780 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
2781 (c_parser_declarator, c_parser_direct_declarator_inner)
2782 (c_parser_parameter_declaration, c_parser_type_name): All callers
2783 changed.
2784 (c_parser_declaration_or_fndef): Handle declarations with type
2785 determined from the initializer.
2786
45b0be94
AM
27872013-11-12 Andrew MacLeod <amacleod@redhat.com>
2788
18f429e2 2789 * c-typeck.c: Include gimplify.h.
45b0be94 2790
582d9b50
JM
27912013-11-12 Joseph Myers <joseph@codesourcery.com>
2792
2793 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
2794 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
2795 comment.
2796 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
2797 or _Thread_local as appropriate in diagnostics.
2798 (build_null_declspecs): Initialize ret->thread_gnu_p.
2799 (declspecs_add_scspec): Handle either __thread or _Thread_local
2800 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
2801 pedantic. Do not disallow _Thread_local extern and _Thread_local
2802 static.
2803
267bac10
JM
28042013-11-07 Joseph Myers <joseph@codesourcery.com>
2805 Andrew MacLeod <amacleod@redhat.com>
2806
2807 * c-aux-info.c (gen_type): Handle atomic qualifier.
2808 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
2809 qualifiers when compating types.
2810 (shadow_tag_warned): Handle atomic_p in declspecs.
2811 (quals_from_declspecs): Likewise.
2812 (start_decl): Use c_type_promotes_to when promoting argument
2813 types.
2814 (grokdeclarator): Handle _Atomic.
2815 (get_parm_info): Diagnose any qualifier on "void" as only
2816 parameter.
2817 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
2818 comparing types. Use c_type_promotes_to when promoting argument
2819 types.
2820 (finish_function): Use c_type_promotes_to when promoting argument
2821 types.
2822 (build_null_declspecs): Handle atomic_p in declspecs.
2823 (declspecs_add_qual): Handle RID_ATOMIC.
2824 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
2825 (c_token_starts_declspecs): Handle RID_ATOMIC.
2826 (c_parser_declspecs): Handle atomic type specifiers and
2827 qualifiers.
2828 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
2829 from types of expressions with atomic type.
2830 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
2831 (c_parser_attribute_any_word): Handle RID_ATOMIC.
2832 (c_parser_initializer, c_parser_initelt, c_parser_initval)
2833 (c_parser_statement_after_labels, c_parser_switch_statement)
2834 (c_parser_for_statement, c_parser_expr_no_commas)
2835 (c_parser_conditional_expression, c_parser_binary_expression)
2836 (c_parser_cast_expression, c_parser_unary_expression)
2837 (c_parser_postfix_expression)
2838 (c_parser_postfix_expression_after_primary, c_parser_expression):
2839 Use convert_lvalue_to_rvalue.
2840 (c_parser_expression_conv, c_parser_expr_list): Document
2841 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
2842 (c_parser_objc_synchronized_statement): Use
2843 convert_lvalue_to_rvalue.
2844 (c_parser_objc_selector): Handle RID_ATOMIC.
2845 (c_parser_objc_receiver, c_parser_array_notation): Use
2846 convert_lvalue_to_rvalue.
2847 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
2848 _Atomic (type-name).
2849 (struct c_declspecs): Add atomic_p field.
2850 (convert_lvalue_to_rvalue): Declare.
2851 * c-typeck.c (c_type_promotes_to): Promote atomic types to
2852 corresponding atomic types.
2853 (qualify_type): Don't add _Atomic qualifiers from second argument.
2854 (comp_target_types): Do not allow _Atomic mismatches.
2855 (type_lists_compatible_p): Do not remove atomic qualifiers when
2856 comparing types.
2857 (really_atomic_lvalue, convert_lvalue_to_rvalue)
2858 (build_atomic_assign): New functions.
2859 (build_unary_op): Use build_atomic_assign for atomic increment and
2860 decrement.
2861 (build_conditional_expr): Do not treat _Atomic void as a qualified
2862 version of void.
2863 (build_modify_expr): Use build_atomic_assign for atomic LHS.
2864 (find_anonymous_field_with_type, convert_to_anonymous_field)
2865 (convert_for_assignment): Do not remove atomic qualifiers when
2866 comparing types.
2867 (digest_init): Do not accept initialization of arrays of atomic
2868 elements by string constants.
2869 (build_asm_expr): Use convert_lvalue_to_rvalue.
2870 (build_binary_op): Do not treat _Atomic void as a qualified
2871 version of void.
2872
0c249d4b
DD
28732013-11-06 DJ Delorie <dj@redhat.com>
2874
2875 * c-decl.c (locate_old_decl): If a previous conflicting decl is
2876 both explicit and builtin, print the location of the explicit one.
2877
6d7f7e0a
TB
28782013-11-05 Tobias Burnus <burnus@net-b.de>
2879
2880 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
2881 c_parser_omp_distribute, c_parser_omp_teams,
2882 c_parser_omp_target, c_parser_omp_declare): Handle
2883 -fopenmp-simd.
2884
b906f4ca
MP
28852013-11-03 Marek Polacek <polacek@redhat.com>
2886
2887 * c-decl.c (grokdeclarator): Add VLA instrumentation.
2888
ee1d5a02
JJ
28892013-11-01 Jakub Jelinek <jakub@redhat.com>
2890
2891 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
2892 check_dup_generic at the end, unless remove is true.
2893 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
2894 remove = true;.
2895 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
2896
5a9785fb
JJ
28972013-10-31 Jakub Jelinek <jakub@redhat.com>
2898
2899 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
2900 with decl that is not pointer nor array.
2901
939b37da
BI
29022013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2903
2904 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
2905 a spawning function is found.
2906 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
2907 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
2908 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
2909 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
2910 case.
2911 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
2912 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
2913 expr.
2914 (c_finish_return): Added a check to reject _Cilk_spawn in return
2915 expression.
2916 (build_cilk_spawn): New function.
2917 (build_cilk_sync): Likewise.
2918 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
2919
d4af74d4
TB
29202013-10-27 Tobias Burnus <burnus@net-b.de>
2921
2922 PR other/33426
2923 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
2924 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
2925 (c_parser_statement_after_labels): Update calls.
2926
d73749df 29272013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
2928
2929 PR other/33426
2930 * c-parser.c (c_parser_pragma, c_parser_for_statement):
2931 Handle PRAGMA_IVDEP.
2932 (c_parser_statement_after_labels): Update call.
2933
f28aa681
MP
29342013-10-24 Marek Polacek <polacek@redhat.com>
2935
2936 * c-parser.c (c_parser_struct_declaration): Add a comment.
2937 (c_parser_declarator): Don't allow _Alignas here.
2938
0645c1a2
AM
29392013-10-17 Andrew MacLeod <amacleod@redhat.com>
2940
2941 * c-parser.c: Include omp-low.h.
2942 * c-typeck.c: Likewise.
2943
568a31f2
MP
29442013-10-17 Marek Polacek <polacek@redhat.com>
2945
2946 PR c/58267
2947 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
2948 Document syntax of the array-declarator.
2949 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
2950 are not permitted.
2951 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
2952 (c_parser_struct_declaration): Likewise.
2953 (c_parser_declarator): Likewise.
2954 (c_parser_direct_declarator_inner): Likewise.
2955 (c_parser_parameter_declaration): Likewise.
2956 (c_parser_type_name): Likewise.
2957
acf0174b
JJ
29582013-10-11 Jakub Jelinek <jakub@redhat.com>
2959
2960 * c-lang.h (current_omp_declare_target_attribute): New extern
2961 decl.
2962 * c-parser.c: Include c-lang.h.
2963 (struct c_parser): Change tokens to c_token *.
2964 Add tokens_buf field. Change tokens_avail type to unsigned int.
2965 (c_parser_consume_token): If parser->tokens isn't
2966 &parser->tokens_buf[0], increment parser->tokens.
2967 (c_parser_consume_pragma): Likewise.
2968 (enum pragma_context): Add pragma_struct and pragma_param.
2969 (c_parser_external_declaration): Adjust
2970 c_parser_declaration_or_fndef caller.
2971 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
2972 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
2973 Adjust recursive call.
2974 (c_parser_struct_or_union_specifier): Use pragma_struct instead
2975 of pragma_external.
2976 (c_parser_parameter_declaration): Use pragma_param instead of
2977 pragma_external.
2978 (c_parser_compound_statement_nostart, c_parser_label,
2979 c_parser_for_statement): Adjust
2980 c_parser_declaration_or_fndef callers.
2981 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
2982 it through to c_parser_conditional_expression.
2983 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
2984 pass it through to c_parser_binary_expression. Adjust recursive
2985 call.
2986 (c_parser_binary_expression): Remove prec argument, add
2987 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
2988 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
2989 binop matches it, use build2 instead of parser_build_binary_op.
2990 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
2991 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
2992 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
2993 Handle pragma_struct and pragma_param the same as pragma_external.
2994 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
2995 (c_parser_omp_variable_list): Parse array sections for
2996 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
2997 (c_parser_omp_clause_collapse): Fully fold collapse expression.
2998 (c_parser_omp_clause_reduction): Handle user defined reductions.
2999 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
3000 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
3001 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
3002 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
3003 c_parser_omp_clause_depend, c_parser_omp_clause_map,
3004 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
3005 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
3006 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
3007 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
3008 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
3009 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
3010 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
3011 (c_parser_omp_for_loop): Add CODE argument, pass it through
3012 to c_finish_omp_for. Change last argument to cclauses,
3013 and adjust uses to grab parallel clauses from the array of all
3014 the split clauses. Adjust c_parser_binary_expression,
3015 c_parser_declaration_or_fndef and c_finish_omp_for callers.
3016 (omp_split_clauses): New function.
3017 (c_parser_omp_simd): New function.
3018 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
3019 Allow the function to be called also when parsing combined constructs,
3020 and call c_parser_omp_simd when parsing for simd.
3021 (c_parser_omp_sections_scope): If section-sequence doesn't start with
3022 #pragma omp section, require exactly one structured-block instead of
3023 sequence of statements.
3024 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
3025 Allow the function to be called also when parsing combined constructs.
3026 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
3027 Allow the function to be called also when parsing combined
3028 constructs.
3029 (c_parser_omp_taskgroup, c_parser_omp_cancel,
3030 c_parser_omp_cancellation_point, c_parser_omp_distribute,
3031 c_parser_omp_teams, c_parser_omp_target_data,
3032 c_parser_omp_target_update, c_parser_omp_target,
3033 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
3034 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
3035 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
3036 (c_parser_omp_construct): Add p_name and mask vars. Handle
3037 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
3038 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
3039 and c_parser_omp_sections callers.
3040 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
3041 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
3042 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
3043 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
3044 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
3045 OMP_CLAUSE_DEPEND.
3046 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
3047 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
3048 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
3049 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
3050 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
3051 * c-typeck.c: Include tree-inline.h.
3052 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
3053 handle_omp_array_sections_1, handle_omp_array_sections,
3054 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
3055 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
3056 user defined reductions.
3057 (c_tree_equal): New function.
3058 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
3059 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
3060 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
3061 c_check_omp_declare_reduction_r): New prototypes.
3062 * c-decl.c (current_omp_declare_target_attribute): New variable.
3063 (c_decl_attributes): New function.
3064 (start_decl, start_function): Use it instead of decl_attributes.
3065 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
3066 c_omp_reduction_decl, c_omp_reduction_lookup,
3067 c_check_omp_declare_reduction_r): New functions.
3068
0a6c2227
TT
30692013-09-25 Tom Tromey <tromey@redhat.com>
3070
3071 * Make-lang.in (c/gccspec.o): Remove.
3072 (CFLAGS-c/gccspec.o): New variable.
3073 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
3074 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
3075 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
3076
f3bc55f0
TT
30772013-09-25 Tom Tromey <tromey@redhat.com>
3078
3079 * Make-lang.in (c/gccspec.o): Don't use subshell.
3080
a24d975c
MP
30812013-09-18 Marek Polacek <polacek@redhat.com>
3082
3083 PR sanitize/58443
3084 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
3085 Remove unnecessary check.
3086
ce6923c5
MP
30872013-09-18 Marek Polacek <polacek@redhat.com>
3088
3089 PR sanitizer/58411
3090 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
3091 no_sanitize_undefined attribute.
3092
a1e51df9
KT
30932013-09-13 Kai Tietz <ktietz@redhat.com>
3094
3095 PR target/57848
3096 * c-decl.c (c_builtin_function_ext_scope): Remove
3097 wrong assumption that it is never called on prexisting
3098 symbol.
3099
0af94e6f
JR
31002013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
3101
3102 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
3103
20059c8b
GDR
31042013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3105
3106 * c-objc-common.c (c_tree_printer): Tidy.
3107
de5a5fa1
MP
31082013-08-30 Marek Polacek <polacek@redhat.com>
3109
3110 * c-typeck.c (build_binary_op): Add division by zero and shift
3111 instrumentation.
3112
2531a1d9 31132013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
0fdd4508 3114 Joseph Myers <joseph@codesourcery.com>
2531a1d9 3115
6e2bcc98 3116 PR c/35649
2531a1d9
JR
3117 * c-typeck.c (c_common_type): Prefer double_type_node over
3118 other REAL_TYPE types with the same precision.
3119 (convert_arguments): Likewise.
3120
025311c4
GDR
31212013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
3122
3123 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
3124 (c_initialize_diagnostics): Call a destructor for the early printer.
3125
da6ca2b5
GDR
31262013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3127
3128 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
3129 printer initialization.
3130
318cda85 31312013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
da6ca2b5 3132
318cda85
BI
3133 PR c/57490
3134 * c-array-notation.c (fix_conditional_array_notations_1): Added a
3135 check for truth values.
3136 (expand_array_notation_exprs): Added truth values case. Removed an
3137 unwanted else. Added for-loop to walk through subtrees in default
3138 case.
3139
b066401f
GDR
31402013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3141
3142 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
3143
fb48aadc
JM
31442013-07-23 Joseph Myers <joseph@codesourcery.com>
3145
3146 * c-parser.c (struct c_generic_association): Fix typo.
3147
433cc7b0
TT
31482013-07-23 Tom Tromey <tromey@redhat.com>
3149 Joseph Myers <joseph@codesourcery.com>
3150
3151 * c-parser.c (struct c_generic_association): New.
3152 (c_generic_association_d): New typedef.
3153 (c_parser_generic_selection): New function.
3154 (c_parser_postfix_expression): Handle RID_GENERIC.
3155
26d40c3d
JM
31562013-07-13 Jason Merrill <jason@redhat.com>
3157
3158 PR c++/57793
3159 * c-decl.c (finish_struct): Check for too-large class.
3160
ecdbd01a 31612013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
3162
3163 PR c/57821
3164 * c-typeck.c (set_init_index): When folding, check for index overflow.
3165
1141ed3f
BI
31662013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3167
3168 * c-parser.c (c_parser_array_notation): Removed rejection of array
3169 notations in an array of function pointers.
3170
713b46fa
BI
31712013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3172
3173 * c-array-notation.c (make_triplet_val_inv): New function.
3174 (create_cmp_incr): Likewise.
3175 (create_array_refs): Likewise.
3176 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
3177 Also modularized common parts between functions and called the function.
3178 (build_array_notation_expr): Likewise.
3179 (fix_conditional_array_notations_1): Likewise.
3180 (fix_array_notation_expr): Likewise.
3181 (fix_array_notation_call_expr): Likewise.
3182
92f20202
MP
31832013-06-18 Marek Polacek <polacek@redhat.com>
3184
3185 PR c/57630
3186 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
3187
73a23b06
BI
31882013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
3189
3190 * c-array-notation.c (build_array_notation_expr): Reject array notation
3191 mismatch between LHS and RHS even inside a call_expr. Also, removed
3192 a couple while statements that were dead code.
3193
00b8517d
BI
31942013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
3195
3196 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
3197 excessive precision expressions in function parameters. Also removed
3198 couple unwanted while statements.
3199
1509bdda
BI
32002013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3201
3202 * c-array-notation.c (expand_array_notation_exprs): Added
3203 ARRAY_NOTATION_REF case.
3204
d60f1706
BI
32052013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3206
3207 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
3208 function to c-family/array-notation-common.c.
3209 (is_cilkplus_reduce_builtin): Likewise.
3210 (find_rank): Likewise.
3211 (extract_array_notation_exprs): Likewise.
3212 (replace_array_notations): Likewise.
3213 (find_inv_trees): Likewise.
3214 (replace_inv_trees): Likewise.
3215 (contains_array_notation_expr): Likewise.
3216 (find_correct_array_notation_type): Likewise.
3217 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
3218 (struct inv_list): Moved this to c-family/array-notation-common.c.
3219 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
3220
6d6efbb3
BI
32212013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
3222
3223 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
3224 reduction functions outside the for-loop. Added a check if the fundecl
3225 is non-NULL. Finally, removed an unwanted if-statement, and made the
3226 body unconditional.
3227
25c22937
BI
32282013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
3229
3230 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
3231 condition of the if-statement matches the rank of else-block and then-
3232 block when array notations are used.
3233 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
3234 expression after the entire function body is parsed.
3235 (c_parser_expr_no_commas): Delayed creating array notation expressions
3236 to the end of function parsing.
3237 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
3238 whole if-statement instead of just the condition.
3239 (expand_array_notation_exprs): Added MODIFY_EXPR case.
3240
edd25645
BI
32412013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
3242
3243 PR c/57474
3244 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
3245 array to NULL_TREE if they are unused. Also added a check for the
3246 field to be NULL before its fields are used in future.
3247
065ce7f1
RO
32482013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3249
3250 PR bootstrap/57450
3251 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
3252 (build_array_notation_expr): Likewise.
3253
36536d79
BI
32542013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3255
3256 * c-typeck.c (build_array_ref): Added a check to see if array's
3257 index is greater than one. If true, then emit an error.
3258 (build_function_call_vec): Exclude error reporting and checking
3259 for builtin array-notation functions.
3260 (convert_arguments): Likewise.
3261 (c_finish_return): Added a check for array notations as a return
3262 expression. If true, then emit an error.
3263 (c_finish_loop): Added a check for array notations in a loop
3264 condition. If true then emit an error.
3265 (lvalue_p): Added a ARRAY_NOTATION_REF case.
3266 (build_binary_op): Added a check for array notation expr inside
3267 op1 and op0. If present, we call another function to find correct
3268 type.
3269 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
3270 * c-parser.c (c_parser_compound_statement): Check if array
3271 notation code is used in tree, if so, then transform them into
3272 appropriate C code.
3273 (c_parser_expr_no_commas): Check if array notation is used in LHS
3274 or RHS, if so, then build array notation expression instead of
3275 regular modify.
3276 (c_parser_postfix_expression_after_primary): Added a check for
3277 colon(s) after square braces, if so then handle it like an array
3278 notation. Also, break up array notations in unary op if found.
3279 (c_parser_direct_declarator_inner): Added a check for array
3280 notation.
3281 (c_parser_compound_statement): Added a check for array notation in
3282 a stmt. If one is present, then expand array notation expr.
3283 (c_parser_if_statement): Likewise.
3284 (c_parser_switch_statement): Added a check for array notations in
3285 a switch statement's condition. If true, then output an error.
3286 (c_parser_while_statement): Similarly, but for a while.
3287 (c_parser_do_statement): Similarly, but for a do-while.
3288 (c_parser_for_statement): Similarly, but for a for-loop.
3289 (c_parser_unary_expression): Check if array notation is used in a
3290 pre-increment or pre-decrement expression. If true, then expand
3291 them.
3292 (c_parser_array_notation): New function.
3293 * c-array-notation.c: New file.
3294 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
3295
cd192ccc
MS
32962013-05-23 Mike Stump <mikestump@comcast.net>
3297
3298 * c-typeck.c (convert_for_assignment): Handle references to memory
3299 spaces better.
3300
427b248d
JM
33012013-05-16 Jason Merrill <jason@redhat.com>
3302
3303 * Make-lang.in (cc1$(exeext)): Use link mutex.
3304
44d90fe1
PC
33052013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3306
3307 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
3308 to simply use OPT_Wpointer_arith.
3309 (build_unary_op): Likewise.
3310
4e7d7b3d
JJ
33112013-04-03 Jakub Jelinek <jakub@redhat.com>
3312
3313 PR c/19449
3314 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
3315 argument. If set, or it temporarily for parsing of the first
3316 argument into force_folding_builtin_constant_p.
3317 (c_parser_postfix_expression): Adjust callers.
3318
839b422f
RB
33192013-03-21 Richard Biener <rguenther@suse.de>
3320
3321 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
3322 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
3323
2ee028f1
MP
33242013-02-12 Marek Polacek <polacek@redhat.com>
3325
3326 PR c/44938
3327 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
3328 origtypes to NULL.
3329
8824edff
JJ
33302013-01-24 Jakub Jelinek <jakub@redhat.com>
3331
3332 PR c/56078
3333 * c-typeck.c (set_nonincremental_init_from_string): If
3334 constructor_max_index is NULL, treat it as if tree_int_cst_lt
3335 returned false.
3336 (process_init_element): Likewise.
3337
eadd3d0d
JJ
33382012-12-20 Jakub Jelinek <jakub@redhat.com>
3339
3340 PR c++/55619
3341 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
3342 argument, don't call default_function_array_conversion
3343 nor c_fully_fold here.
3344 (c_parser_asm_statement): Adjust callers.
3345 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
3346 and outputs here, and call default_function_array_conversion
3347 on inputs that don't need to be addressable.
3348
f8a93a2e
JJ
33492012-12-18 Jakub Jelinek <jakub@redhat.com>
3350
3351 PR c/39464
3352 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
3353 warning require that both c_common_unsigned_type as well as
3354 c_common_signed_type is the same for both mvl and mvr types.
3355
9771b263
DN
33562012-11-16 Diego Novillo <dnovillo@google.com>
3357
3358 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
3359
3360 * c-common.c: Use new vec API in vec.h.
3361 * c-common.h: Likewise.
3362 * c-gimplify.c: Likewise.
3363 * c-pragma.c: Likewise.
3364 * c-pretty-print.c: Likewise.
3365 * c-pretty-print.h: Likewise.
3366 * c-semantics.c: Likewise.
3367 * c-decl.c: Likewise.
3368 * c-parser.c: Likewise.
3369 * c-tree.h: Likewise.
3370 * c-typeck.c: Likewise.
3371
880661a4
JW
33722012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3373
3374 PR c++/54930
3375 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
3376
077d1abe
MLI
33772012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3378
3379 PR c/53066
3380 * c-decl.c (warn_if_shadowing): Do not warn if a variable
3381 shadows a function, unless the variable is a function or a
3382 pointer-to-function.
3383
3a785c97
JJ
33842012-10-12 Jakub Jelinek <jakub@redhat.com>
3385
3386 PR c/54381
3387 * c-parser.c (struct c_tree_loc_pair): Removed.
3388 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
3389 add location_t * and tree * arguments, fill in array of 3
3390 sizeof_arg trees and corresponding locs.
3391 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
3392 c_parser_expr_list callers.
3393 (c_parser_postfix_expression_after_primary): Likewise. Pass
3394 array of 3 sizeof_arg trees and locs (corresponding to first
3395 3 arguments) to sizeof_pointer_memaccess_warning.
3396
703c8606
LC
33972012-10-09 Lawrence Crowl <crowl@google.com>
3398
3399 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
3400 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
3401 hash table.
3402
5d9de0d0
PC
34032012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
3404
3405 PR c++/54194
3406 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
3407 call.
3408
a212e43f
MG
34092012-10-09 Marc Glisse <marc.glisse@inria.fr>
3410
3411 PR c++/54427
3412 * c-typeck.c: Include c-common.h.
3413 (enum stv_conv): Moved to c-common.h.
3414 (scalar_to_vector): Moved to c-common.c.
3415 (build_binary_op): Adapt to scalar_to_vector's new prototype.
3416 * Make-lang.in: c-typeck.c depends on c-common.h.
3417
3b78de56
AC
34182012-10-04 Arnaud Charlet <charlet@adacore.com>
3419
3420 * c-decl.c (c_write_global_declarations): Fix handling of
3421 -fdump-ada-spec*.
3422
78c60e3d
SS
34232012-09-30 Sharad Singhai <singhai@google.com>
3424
3425 * c-decl.c (c_write_global_declarations): Use a different method
3426 to determine if the dump has ben initialized.
3427
9f33203d
JM
34282012-09-14 Joseph Myers <joseph@codesourcery.com>
3429
3430 PR c/54552
3431 * c-typeck.c (c_cast_expr): When casting to a type requiring
3432 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
3433 c_fully_fold first.
3434
a27d595d
JM
34352012-09-14 Joseph Myers <joseph@codesourcery.com>
3436
3437 PR c/54103
3438 * c-typeck.c (build_unary_op): Pass original argument of
3439 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
3440 any C_MAYBE_CONST_EXPR, if it has integer operands.
3441 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
3442 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
3443 to c_objc_common_truthvalue_conversion, then remove any
3444 C_MAYBE_CONST_EXPR, if they have integer operands. Use
3445 c_objc_common_truthvalue_conversion not
3446 c_common_truthvalue_conversion.
3447 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
3448 call note_integer_operands for arguments with integer operands
3449 that are not integer constants.
3450
9feb29df
JJ
34512012-09-13 Jakub Jelinek <jakub@redhat.com>
3452
3453 PR c/54559
3454 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
3455 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
3456
d409320c
JJ
34572012-08-31 Jakub Jelinek <jakub@redhat.com>
3458
3459 PR c/54428
3460 * c-convert.c (convert): Don't call fold_convert_loc if
3461 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
3462 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
3463 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
3464
6265d07c
JJ
34652012-08-24 Jakub Jelinek <jakub@redhat.com>
3466
3467 PR c/54355
3468 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
3469 for nested and empty_ok arguments in the call to
3470 c_parser_declaration_or_fndef.
3471
1a4049e7
JJ
34722012-08-17 Jakub Jelinek <jakub@redhat.com>
3473
3474 * c-tree.h (c_last_sizeof_arg): Declare.
3475 * c-parser.c (struct c_tree_loc_pair): New type.
3476 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
3477 non-NULL.
3478 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
3479 (c_parser_postfix_expression_after_primary): Likewise. Call
3480 sizeof_pointer_memaccess_warning if needed.
3481 (sizeof_ptr_memacc_comptypes): New function.
3482 * c-typeck.c (c_last_sizeof_arg): New global variable.
3483 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
3484
0229aee9
UB
34852012-07-24 Uros Bizjak <ubizjak@gmail.com>
3486
3487 * c-lang.h (lang_decl): Add variable_size GTY option.
3488
7ee2468b
SB
34892012-07-16 Steven Bosscher <steven@gcc.gnu.org>
3490
3491 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
3492 * Make-lang.in: Fix dependencies.
3493
d4a10d0a
SB
34942012-06-29 Steven Bosscher <steven@gcc.gnu.org>
3495
3496 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
3497 and add language Makefile hooks.
3498 * config-lang.in: New file.
3499 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
3500 add the required "normal" config-lang.in rules.
3501 * c-lang.h: Moved from gcc/ to here.
3502 * c-tree.h: Likewise.
3503 * c-objc-common.c: Likewise.
3504 * c-objc-common.h: Likewise.
3505 * c-typeck.c: Likewise.
3506 * c-convert.c: Likewise.
3507 * c-lang.c: Likewise.
3508 * c-aux-info.c: Likewise.
3509 * c-errors.c: Likewise.
3510 * gccspec.c: Likewise.
3511 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
3512 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
3513\f
818ab71a 3514Copyright (C) 2012-2016 Free Software Foundation, Inc.
d4a10d0a
SB
3515
3516Copying and distribution of this file, with or without modification,
3517are permitted in any medium without royalty provided the copyright
3518notice and this notice are preserved.