]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
[AARCH64][PATCH 1/3] Implementing the variants of the vmulx_ NEON intrinsic
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
4cba6f60 12015-10-29 Andrew MacLeod <amacleod@redhat.com>
2
3 * c-array-notation.c: Reorder #include's and remove duplicates.
4 * c-aux-info.c: Likewise.
5 * c-convert.c: Likewise.
6 * c-decl.c: Likewise.
7 * c-errors.c: Likewise.
8 * c-lang.c: Likewise.
9 * c-objc-common.c: Likewise.
10 * c-parser.c: Likewise.
11 * c-typeck.c: Likewise.
12
7b15d957 132015-10-26 Jim Wilson <jim.wilson@linaro.org>
14
15 PR debug/66068
16 * c-typeck.c (c_build_qualified_type): Clear C_TYPE_INCOMPLETE_VARS
17 after calling build_qualified_type.
18
62c48328 192015-10-27 Cesar Philippidis <cesar@codesourcery.com>
20 Thomas Schwinge <thomas@codesourcery.com>
21 James Norris <jnorris@codesourcery.com>
22 Joseph Myers <joseph@codesourcery.com>
23 Julian Brown <julian@codesourcery.com>
24 Bernd Schmidt <bschmidt@redhat.com>
25
26 * c-parser.c (c_parser_oacc_shape_clause): New.
27 (c_parser_oacc_simple_clause): New.
28 (c_parser_oacc_all_clauses): Add auto, gang, seq, vector, worker.
29 (OACC_LOOP_CLAUSE_MASK): Add gang, worker, vector, auto, seq.
30
2c4c8725 312015-10-27 Thomas Schwinge <thomas@codesourcery.com>
32 James Norris <jnorris@codesourcery.com>
33 Cesar Philippidis <cesar@codesourcery.com>
34
35 PR c/64765
36 PR c/64880
37 * c-parser.c (c_parser_oacc_loop): Add mask, cclauses formal
38 parameters, and handle these. Adjust all users.
39 (c_parser_oacc_kernels, c_parser_oacc_parallel): Merge functions
40 into...
41 (c_parser_oacc_kernels_parallel): ... this new function. Adjust
42 all users.
43 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels): Don't
44 declare functions.
45 (c_finish_omp_construct): Declare function.
46 * c-typeck.c (c_finish_oacc_parallel, c_finish_oacc_kernels):
47 Merge functions into...
48 (c_finish_omp_construct): ... this new function.
49
844cece0 502015-10-22 Richard Biener <rguenther@suse.de>
51
52 * c-typeck.c (c_finish_omp_clauses): Properly convert operands
53 before folding a MINUS_EXPR.
54
5ce1b137 552015-10-21 Marek Polacek <polacek@redhat.com>
56
57 PR c/68024
58 * c-decl.c (start_function): Warn about vararg functions without
59 a prototype.
60
1f137e6d 612015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
62
63 * c-typeck.c (build_conditional_expr): Use boolean vector
64 type for vector comparison.
65 (build_vec_cmp): New.
66 (build_binary_op): Use build_vec_cmp for comparison.
67
8523243e 682015-10-20 Marek Polacek <polacek@redhat.com>
69
70 * c-parser.c (is_cilkplus_vector_p): Don't define here.
71
3f73be3e 722015-10-20 Marek Polacek <polacek@redhat.com>
73
74 PR c/67964
75 * c-parser.c (c_parser_attributes): Break out of the loop if the
76 token after an attribute isn't a comma.
77
43895be5 782015-10-13 Jakub Jelinek <jakub@redhat.com>
79 Aldy Hernandez <aldyh@redhat.com>
80
81 * c-parser.c (c_parser_pragma): Handle PRAGMA_OMP_ORDERED here.
82 (c_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
83 (c_parser_omp_variable_list): Handle structure elements for
84 map, to and from clauses. Handle array sections in reduction
85 clause. Formatting fixes.
86 (c_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
87 if clause modifiers.
88 (c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
89 c_parser_omp_clause_priority, c_parser_omp_clause_hint,
90 c_parser_omp_clause_defaultmap, c_parser_omp_clause_use_device_ptr,
91 c_parser_omp_clause_is_device_ptr): New functions.
92 (c_parser_omp_clause_ordered): Parse optional parameter.
93 (c_parser_omp_clause_reduction): Handle array reductions.
94 (c_parser_omp_clause_schedule): Parse optional simd modifier.
95 (c_parser_omp_clause_nogroup, c_parser_omp_clause_orderedkind): New
96 functions.
97 (c_parser_omp_clause_linear): Parse linear clause modifiers.
98 (c_parser_omp_clause_depend_sink): New function.
99 (c_parser_omp_clause_depend): Parse source/sink depend kinds.
100 (c_parser_omp_clause_map): Parse release/delete map kinds and
101 optional always modifier.
102 (c_parser_oacc_all_clauses): Adjust c_parser_omp_clause_if
103 and c_finish_omp_clauses callers.
104 (c_parser_omp_all_clauses): Likewise. Parse OpenMP 4.5 clauses.
105 Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
106 (c_parser_oacc_cache): Adjust c_finish_omp_clauses caller.
107 (OMP_CRITICAL_CLAUSE_MASK): Define.
108 (c_parser_omp_critical): Parse critical clauses.
109 (c_parser_omp_for_loop): Handle doacross loops, adjust
110 c_finish_omp_for and c_finish_omp_clauses callers.
111 (OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
112 (c_parser_omp_simd): Allow ordered clause if it has no parameter.
113 (OMP_FOR_CLAUSE_MASK): Add linear clause.
114 (c_parser_omp_for): Disallow ordered clause when combined with
115 distribute. Disallow linear clause when combined with distribute
116 and not combined with simd.
117 (OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
118 (c_parser_omp_ordered): Add CONTEXT argument, remove LOC argument,
119 parse clauses and if depend clause is found, don't parse a body.
120 (c_parser_omp_parallel): Disallow copyin clause on target parallel.
121 Allow target parallel without for after it.
122 (OMP_TASK_CLAUSE_MASK): Add priority clause.
123 (OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
124 (c_parser_omp_target_data): Diagnose no map clauses or clauses with
125 invalid kinds.
126 (OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
127 (OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
128 OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
129 (c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): New
130 functions.
131 (OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
132 defaultmap and is_device_ptr clauses.
133 (c_parser_omp_target): Parse target parallel and target simd. Set
134 OMP_TARGET_COMBINED on combined constructs. Parse target enter data
135 and target exit data. Diagnose invalid map kinds.
136 (OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
137 (c_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
138 construct.
139 (c_parser_omp_declare_reduction): Use STRIP_NOPS when checking for
140 &omp_priv.
141 (OMP_TASKLOOP_CLAUSE_MASK): Define.
142 (c_parser_omp_taskloop): New function.
143 (c_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
144 handle PRAGMA_OMP_TASKLOOP.
145 (c_parser_cilk_for): Adjust c_finish_omp_clauses callers.
146 * c-tree.h (c_finish_omp_clauses): Add two new arguments.
147 * c-typeck.c (handle_omp_array_sections_1): Fix comment typo.
148 Add IS_OMP argument, handle structure element bases, diagnose
149 bitfields, pass IS_OMP recursively, diagnose known zero length
150 array sections in depend clauses, handle array sections in reduction
151 clause, diagnose negative length even for pointers.
152 (handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
153 types, pass IS_OMP down to handle_omp_array_sections_1, handle
154 array sections in reduction clause, set
155 OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
156 length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
157 (c_finish_omp_clauses): Add IS_OMP and DECLARE_SIMD arguments.
158 Handle new OpenMP 4.5 clauses and new restrictions for the old ones.
159
789fbb51 1602015-10-06 Marek Polacek <polacek@redhat.com>
161
162 * c-parser.c (c_parser_statement_after_labels): Use
163 protected_set_expr_location.
164 (c_parser_omp_clause_num_gangs): Likewise.
165 (c_parser_omp_clause_num_threads): Likewise.
166 (c_parser_omp_clause_num_workers): Likewise.
167 (c_parser_omp_clause_vector_length): Likewise.
168 (c_parser_omp_clause_num_teams): Likewise.
169 (c_parser_omp_clause_thread_limit): Likewise.
170 * c-typeck.c (build_c_cast): Likewise.
171 (c_cast_expr): Likewise.
172
20cb53c9 1732015-10-05 Richard Sandiford <richard.sandiford@arm.com>
174
175 * c-typeck.c (c_tree_equal): Use real_equal instead of
176 REAL_VALUES_EQUAL.
177
6d02e6b2 1782015-10-04 Jason Merrill <jason@redhat.com>
179
180 * c-parser.c (c_lex_one_token): Handle @synchronized.
181 * c-decl.c (match_builtin_function_types): A declaration of a built-in
182 can change whether the function is transaction_safe.
183
802c32cd 1842015-10-02 Marek Polacek <polacek@redhat.com>
185
186 PR c/67730
187 * c-typeck.c (convert_for_assignment): Use the expansion point
188 location throughout.
189
ef17a71a 1902015-10-02 Marek Polacek <polacek@redhat.com>
191
192 PR c/64249
193 * c-parser.c (c_parser_statement_after_labels): Add CHAIN parameter
194 and pass it down to c_parser_if_statement.
195 (c_parser_else_body): Add CHAIN parameter and pass it down to
196 c_parser_statement_after_labels.
197 (c_parser_if_statement): Add CHAIN parameter. Add code to warn about
198 duplicated if-else-if conditions.
199
7e93eb1a 2002015-10-01 Marek Polacek <polacek@redhat.com>
201
202 * c-typeck.c (convert_for_assignment): Improve commentary.
203
ab4c803c 2042015-09-30 Marek Polacek <polacek@redhat.com>
205
206 PR c/67730
207 * c-typeck.c (c_finish_return): Use the expansion point location for
208 certain "return with value" warnings.
209
ed536208 2102015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
211
212 * c-parser.c (pragma_lex): Add loc argument.
213
03e8b174 2142015-09-15 Marek Polacek <polacek@redhat.com>
215
216 PR c/67580
217 * c-decl.c (tag_exists_p): New function.
218 * c-parser.c (c_parser_declaration_or_fndef): Give a hint when
219 struct/union/enum keywords are missing.
220 * c-tree.h (tag_exists_p): Declare.
221
a39b4dc0 2222015-09-15 Marek Polacek <polacek@redhat.com>
223
224 * c-decl.c (lookup_label): Return NULL_TREE instead of 0.
225 (lookup_tag): Change the type of THISLEVEL_ONLY to bool.
226 Return NULL_TREE instead of 0.
227 (lookup_name): Return NULL_TREE instead of 0.
228 (lookup_name_in_scope): Likewise.
229 (shadow_tag_warned): Use true instead of 1 and NULL_TREE instead of 0.
230 (parser_xref_tag): Use false instead of 0.
231 (start_struct): Use true instead of 1.
232 (start_enum): Use true instead of 1 and NULL_TREE instead of 0.
233
85f5e2ee 2342015-09-14 Marek Polacek <polacek@redhat.com>
235
236 * c-typeck.c (set_nonincremental_init_from_string): Use
237 HOST_WIDE_INT_M1U when shifting a negative value.
238
739237d5 2392015-09-09 Mark Wielaard <mjw@redhat.com>
240
241 * c-typeck.c (build_binary_op): Check and warn when nonnull arg
242 parm against NULL.
243
d2b2788c 2442015-09-10 Jakub Jelinek <jakub@redhat.com>
245
246 PR c/67502
247 * c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts
248 into OMP_FOR_PRE_BODY rather than before the loop.
249
deef87db 2502015-09-09 Jakub Jelinek <jakub@redhat.com>
251
c43f93d7 252 PR c/67501
253 * c-parser.c (c_parser_oacc_all_clauses,
254 c_parser_omp_all_clauses): Remove invalid clause from
255 list of clauses even if parser->error is set.
256
0fdcfb93 257 PR c/67500
258 * c-parser.c (c_parser_omp_clause_aligned,
259 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen): Fix up
260 test for errors.
261 * c-decl.c (temp_pop_parm_decls): Allow b->decl equal to
262 error_mark_node.
263
deef87db 264 PR c/67495
265 * c-parser.c (c_parser_omp_atomic): Use c_parser_cast_expression
266 instead of c_parser_unary_expression. If the result is !lvalue_p,
267 wrap the result of c_fully_fold into NON_LVALUE_EXPR.
268
e96292e9 2692015-09-04 Marek Polacek <polacek@redhat.com>
270
271 PR sanitizer/67279
272 * c-typeck.c (build_binary_op): Don't instrument static initializers.
273
547c6b1f 2742015-09-03 Martin Sebor <msebor@redhat.com>
275
276 PR c/66516
6ccd7236 277 * c-typeck.c (convert_arguments, parser_build_unary_op,
278 build_conditional_expr, c_cast_expr, convert_for_assignment,
279 build_binary_op, _objc_common_truthvalue_conversion): Call
547c6b1f 280 reject_gcc_builtin.
281 (c_decl_implicit): Define.
282
bd66724c 2832015-09-02 Marek Polacek <polacek@redhat.com>
284
285 PR c/67432
286 * c-parser.c (c_parser_enum_specifier): Give a better error for
287 an empty enum.
288
6dc50383 2892015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
290
291 * c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.
292
7ad1d78d 2932015-08-12 Marek Polacek <polacek@redhat.com>
294
295 * c-decl.c (grokdeclarator): Call error_at instead of error and pass
296 LOC to it.
297
c9099388 2982015-08-03 Marek Polacek <polacek@redhat.com>
299
300 PR c/67088
301 * c-decl.c (check_bitfield_type_and_width): Add location parameter.
302 Use it.
303 (grokdeclarator): Pass LOC down to check_bitfield_type_and_width.
304
9255be07 3052015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
306
307 * c-parser.c (c_parser_if_body): Take token_indent_info
308 argument. Call warn_for_misleading_indentation even when the
309 body is a semicolon. Extract token_indent_infos corresponding
310 to the guard, body and next tokens. Adjust call to
311 warn_for_misleading_indentation accordingly.
312 (c_parser_else_body): Likewise.
313 (c_parser_if_statement): Likewise.
314 (c_parser_while_statement): Likewise.
315 (c_parser_for_statement): Likewise.
316
dbbd4c6d 3172015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
318 Manuel López-Ibáñez <manu@gcc.gnu.org>
319
320 * c-decl.c (get_parm_info): Remove static var. Update warning
321 message.
322
6784a472 3232015-07-27 Marek Polacek <polacek@redhat.com>
324
325 PR c++/66555
326 PR c/54979
327 * c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp.
328
8d669e79 3292015-07-20 Marek Polacek <polacek@redhat.com>
330
331 PR c++/55095
332 * c-typeck.c (digest_init): Pass OPT_Wpedantic to pedwarn_init.
333 (build_binary_op): Warn about left shift overflows.
334
1eacc14a 3352015-07-09 Andrew MacLeod <amacleod@redhat.com>
336
337 * c-array-notation.c: Adjust includes for flags.h changes.
338 * c-objc-common.c: Likewise.
339
9ef16211 3402015-07-07 Andrew MacLeod <amacleod@redhat.com>
341
342 * c-array-notation.c: Adjust includes.
343 * c-aux-info.c: Likewise.
344 * c-convert.c: Likewise.
345 * c-decl.c: Likewise.
346 * c-errors.c: Likewise.
347 * c-lang.c: Likewise.
348 * c-objc-common.c: Likewise.
349 * c-parser.c: Likewise.
350 * c-typeck.c: Likewise.
351
0949f227 3522015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
353
354 PR fortran/66605
355 * c-decl.c (finish_function): Call do_warn_unused_parameter.
356
be23b16f 3572015-06-29 Marek Polacek <polacek@redhat.com>
358
359 PR c/66322
360 * c-typeck.c (struct c_switch): Add BOOL_COND_P and OUTSIDE_RANGE_P.
361 (c_start_case): Set BOOL_COND_P and OUTSIDE_RANGE_P. Don't warn
362 about -Wswitch-bool here.
363 (do_case): Update c_add_case_label call.
364 (c_finish_case): Update c_do_switch_warnings call.
365
6290f0db 3662015-06-27 Marek Polacek <polacek@redhat.com>
367
368 * c-typeck.c: Use VECTOR_TYPE_P throughout.
369
aa3e402e 3702015-06-26 Marek Polacek <polacek@redhat.com>
371
372 * c-array-notation.c (fix_builtin_array_notation_fn): Use
373 INDIRECT_REF_P.
374 * c-typeck.c (array_to_pointer_conversion): Likewise.
375 (build_unary_op): Likewise.
376 (c_finish_return): Likewise.
377
ec2e0095 3782015-06-25 Andrew MacLeod <amacleod@redhat.com>
379
380 * c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
381 * c-parser.c: Likewise.
382
770ff93b 3832015-06-25 Richard Sandiford <richard.sandiford@arm.com>
384
385 * c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
386 instead of pointer_hash.
387 (detect_field_duplicates): Likewise.
388
f48c7f4a 3892015-06-25 Marek Polacek <polacek@redhat.com>
390
391 * c-array-notation.c: Use VAR_P throughout.
392 * c-decl.c: Likewise.
393 * c-objc-common.c: Likewise.
394 * c-parser.c: Likewise.
395 * c-typeck.c: Likewise.
396
ce41e81a 3972015-06-25 Marek Polacek <polacek@redhat.com>
398
399 * c-decl.c: Use is_global_var throughout.
400 * c-parser.c: Likewise.
401 * c-typeck.c: Likewise.
402
f2ab3bac 4032015-06-17 Andrew MacLeod <amacleod@redhat.com>
404
405 * c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
406 * c-aux-info.c: Likewise.
407 * c-convert.c: Likewise.
408 * c-decl.c: Likewise.
409 * c-errors.c: Likewise.
410 * c-lang.c: Likewise.
411 * c-objc-common.c: Likewise.
412 * c-parser.c: Likewise.
413 * c-typeck.c: Likewise.
414
647730ab 4152015-06-11 Jan Hubicka <hubicka@ucw.cz>
416
417 PR middle-end/66325
418 * c-decl.c (start_enum): Set TYPE_PACKED consistently among type
419 variants.
420
dd4b0a0d 4212015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
422
423 * c-decl.c (pop_scope): Register the main translation unit
424 through the new debug hook.
425
64486212 4262015-06-08 Andrew MacLeod <amacleod@redhat.com>
427
428 * c-array-notation.c : Adjust include files.
429 * c-aux-info.c : Likewise.
430 * c-convert.c : Likewise.
431 * c-decl.c : Likewise.
432 * c-errors.c : Likewise.
433 * c-lang.c : Likewise.
434 * c-lang.h : Likewise.
435 * c-objc-common.c : Likewise.
436 * c-parser.c : Likewise.
437 * c-typeck.c : Likewise.
438
3a1c9df2 4392015-06-05 Aldy Hernandez <aldyh@redhat.com>
440
441 * c-decl.c (finish_struct): Save C_TYPE_INCOMPLETE_VARS and
442 immediately clobber it.
443 (c_write_global_declarations_1): Remove call to
444 check_global_declaration_1.
445 (c_write_global_declarations_2): Remove.
446 (c_write_final_cleanups): Rename from c_write_global_declarations.
447 Remove call to finalize_compilation_unit.
448 Remove calls to debugging hooks.
449 * c-objc-common.c: Adjust comment for c_warn_unused_global_decl.
450 * c-objc-common.h: Remove LANG_HOOKS_WRITE_GLOBALS.
451 * c-tree.h: Remove c_write_global_declarations.
452
f77c0292 4532015-06-04 Andrew MacLeod <amacleod@redhat.com>
454
455 * c-array-notation.c: Adjust includes for restructured coretypes.h.
456 * c-aux-info.c: Likewise.
457 * c-convert.c: Likewise.
458 * c-decl.c: Likewise.
459 * c-errors.c: Likewise.
460 * c-lang.c: Likewise.
461 * c-objc-common.c: Likewise.
462 * c-parser.c: Likewise.
463 * c-typeck.c: Likewise.
464
b44134dc 4652015-06-04 Marek Polacek <polacek@redhat.com>
466
467 PR c/66341
468 * c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if
469 it is a lvalue.
470
d1df0bfc 4712015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
472
473 * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
474 Warn for empty struct.
475 (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct.
476
f8363c5d 4772015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
478
479 * c-decl.c (start_function): Call plugin before parsing.
480 (finish_function): Call plugin after parsing.
481
5b9761f5 4822015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
483
484 PR c/49551
485 * c-decl.c (merge_decls): Merge DECL_COMMON.
486
eeec71b4 4872015-05-22 Jim Wilson <jim.wilson@linaro.org>
488
489 * Make-lang.in (check_gcc_pallelize): Define.
490
5a4c69dd 4912015-05-22 Marek Polacek <polacek@redhat.com>
492
493 PR c/47043
494 * c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
495 attributes.
496
5650b4ff 4972015-05-21 Marek Polacek <polacek@redhat.com>
498
499 * c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
500 DECL_BUILT_IN.
501
b443c459 5022015-05-20 Marek Polacek <polacek@redhat.com>
503
504 * c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
505 * c-typeck.c: Likewise.
506
9e73638f 5072015-05-19 Marek Polacek <polacek@redhat.com>
508
509 * c-typeck.c (start_init): Use AGGREGATE_TYPE_P.
510
d7729e26 5112015-05-19 Jakub Jelinek <jakub@redhat.com>
512
513 PR middle-end/66199
514 * c-parser.c (c_parser_omp_for_loop): Don't add
515 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
516 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
517 (c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
518 constructs.
519
dfcf26a5 5202015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
521
522 * c-typeck.c (build_array_ref): Use std::swap instead of explicit
9e73638f 523 swaps.
dfcf26a5 524
09172322 5252015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
526
527 PR fortran/44054
528 * c-objc-common.c (c_tree_printer): Replace locus pointer with
529 accessor function.
530
aac24642 5312015-05-14 Marek Polacek <polacek@redhat.com>
532
533 PR c/66066
534 PR c/66127
535 * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
536 rather than with 0.
537
e5f01cba 5382015-05-12 David Malcolm <dmalcolm@redhat.com>
539
540 * c-parser.c (c_parser_if_body): Add param "if_loc", use it
541 to add a call to warn_for_misleading_indentation.
542 (c_parser_else_body): Likewise, adding param "else_loc".
543 (c_parser_if_statement): Check for misleading indentation.
544 (c_parser_while_statement): Likewise.
545 (c_parser_for_statement): Likewise.
546
dc5945dc 5472015-05-08 Marek Polacek <polacek@redhat.com>
548
549 PR c/64918
550 * c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
551 (output_init_element): Likewise.
552
cdc64059 5532015-05-07 Marek Polacek <polacek@redhat.com>
554
555 PR c/65179
556 * c-typeck.c (build_binary_op): Warn when left shifting a negative
557 value.
558
6fa7118e 5592015-04-30 Marek Polacek <polacek@redhat.com>
560
561 * c-typeck.c (set_init_label): Call error_at instead of error and
562 pass LOC to it.
563
98f44804 564 * c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print
565 the type of a decl.
566
2cd7caae 567 * c-typeck.c (c_build_va_arg): Clarify the error message.
568
95cfd391 5692015-04-29 Thomas Schwinge <thomas@codesourcery.com>
570
571 * c-parser.c (c_parser_oacc_enter_exit_data): Use
572 OMP_STANDALONE_CLAUSES.
573
e65e39f8 5742015-04-28 Marek Polacek <polacek@redhat.com>
575
576 * c-parser.c (c_parser_binary_expression): Remove duplicate line.
577
5580bf42 5782015-04-28 Marek Polacek <polacek@redhat.com>
579
580 PR c/65901
581 * c-typeck.c (c_build_va_arg): Require TYPE be a complete type.
582
c3468fc2 5832015-04-25 Marek Polacek <polacek@redhat.com>
584
585 PR c/52085
586 * c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode"
587 attribute.
588
0cd6b1b4 5892015-04-23 Marek Polacek <polacek@redhat.com>
590
591 PR c/65345
592 * c-decl.c (set_labels_context_r): New function.
593 (store_parm_decls): Call it via walk_tree_without_duplicates.
594 * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
595 instead of create_tmp_var. Build TARGET_EXPR instead of
596 COMPOUND_EXPR.
597 (build_atomic_assign): Use create_tmp_var_raw instead of
598 create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR.
599
05a827ce 6002015-04-20 Ilya Verbin <ilya.verbin@intel.com>
601
602 * c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon.
603 (c_parser_omp_target_update): Add missed %> to error_at ().
604
de801c28 6052015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
606
607 PR target/55143
608 * c-decl.c (c_default_pointer_mode): Remove definition.
609 * c-tree.h (c_default_pointer_mode): Remove declaration.
610
c3b1dca4 6112015-03-27 Tobias Burnus <burnus@net-b.de>
612
613 PR c/65586
614 * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
615 error out.
616 (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
617 c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
618 Update calls to not error for skipped omp pragmas with -fopenmp-simd.
619
1443772f 6202015-03-19 Jakub Jelinek <jakub@redhat.com>
621
622 * c-decl.c (c_decl_attributes): Also add "omp declare target"
623 attribute for DECL_EXTERNAL VAR_DECLs.
624
76738f56 6252015-03-11 Jakub Jelinek <jakub@redhat.com>
626
627 * c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
628 argument.
629
16f958b3 6302015-03-10 Jakub Jelinek <jakub@redhat.com>
631
632 PR c/65120
633 * c-typeck.c (parser_build_binary_op): Check for tcc_comparison
634 before preparing arguments to warn_logical_not_parentheses.
635
6054103a 6362015-03-09 Jakub Jelinek <jakub@redhat.com>
637
638 PR c/65120
639 * c-typeck.c (parser_build_binary_op): Don't warn for
640 !!x == y or !b == y where b is _Bool.
641
de3a1e03 6422015-03-09 Marek Polacek <polacek@redhat.com>
643
644 * c-convert.c (convert): Make use of do_ubsan_in_current_function.
645 * c-decl.c (grokdeclarator): Likewise.
646 * c-typeck.c (build_binary_op): Likewise.
647
084e6bf0 6482015-02-27 Marek Polacek <polacek@redhat.com>
649
650 PR c/65228
651 * c-decl.c (start_decl): Return NULL_TREE if decl is an error node.
652
4d7c4134 6532015-02-14 Marek Polacek <polacek@redhat.com>
654
655 PR c/64768
656 * c-decl.c (grokdeclarator): Set the range of a flexible array member
657 declared through a typedef name.
658
b1380826 6592015-02-13 Marek Polacek <polacek@redhat.com>
660
661 PR c/65050
662 * c-decl.c (grokdeclarator): Print also the type when giving
663 the error message about array's incomplete element type.
664
35ff54b5 6652015-02-11 Jakub Jelinek <jakub@redhat.com>
666
667 PR c/64824
668 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
669 check in the POP macro.
670
46861609 6712015-02-09 Marek Polacek <polacek@redhat.com>
672
673 PR c/64856
674 * c-typeck.c (process_init_element): Don't always wrap
675 COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
676 initializing a range of elements.
677
bbf8fbec 6782015-02-04 Jakub Jelinek <jakub@redhat.com>
679
680 PR c/64824
681 PR c/64868
682 * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
683
46861609 6842015-02-02 Bruno Loff <bruno.loff@gmail.com>
1f0ce3ac 685
686 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
687 processing enum declaration.
688
70279be9 6892015-01-29 Marek Polacek <polacek@redhat.com>
690
691 PR c/64709
692 * c-typeck.c (pop_init_level): If constructor_elements has
693 exactly one element with integer_zerop value, set constructor_zeroinit
694 to 1. Remove braces around warning_init call.
695
591970b4 6962015-01-27 Jakub Jelinek <jakub@redhat.com>
697
698 PR c/64766
699 * c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
700 of FUNCTION_DECLs with error_mark_node.
701
87778dc4 7022015-01-26 Jakub Jelinek <jakub@redhat.com>
703
704 PR c/64778
705 * c-typeck.c (convert_arguments): Return -1 if there are
706 error_args, even if we've diagnosed too many arguments.
707
cffdfb3d 7082015-01-21 Richard Biener <rguenther@suse.de>
709
710 PR middle-end/64313
711 * c-decl.c (merge_decls): Call set_builtin_decl_declared_p
712 for builtins the user declared correctly.
713
ca4c3545 7142015-01-15 Thomas Schwinge <thomas@codesourcery.com>
715 Bernd Schmidt <bernds@codesourcery.com>
716 Cesar Philippidis <cesar@codesourcery.com>
717 James Norris <jnorris@codesourcery.com>
718 Jakub Jelinek <jakub@redhat.com>
719 Ilmir Usmanov <i.usmanov@samsung.com>
720
721 * c-parser.c: Include "gomp-constants.h".
722 (c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
723 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
724 Use OMP_CLAUSE_SET_MAP_KIND.
725 (c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
726 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
727 (c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
728 PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
729 PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
730 (c_parser_omp_clause_name): Handle "auto", "async", "copy",
731 "copyout", "create", "delete", "deviceptr", "gang", "host",
732 "num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
733 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
734 "present_or_create", "pcreate", "seq", "self", "vector",
735 "vector_length", "wait", "worker".
736 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
737 (OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
738 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
739 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
740 (c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
741 (c_parser_oacc_wait_list, c_parser_oacc_data_clause)
742 (c_parser_oacc_data_clause_deviceptr)
743 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
744 (c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
745 (c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
746 (c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
747 (c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
748 (c_parser_oacc_parallel, c_parser_oacc_update)
749 (c_parser_oacc_wait): New functions.
750 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
751 (c_finish_oacc_data): New prototypes.
752 * c-typeck.c: Include "gomp-constants.h".
753 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
754 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
755 OMP_CLAUSE_SET_MAP_KIND.
756 (c_finish_oacc_parallel, c_finish_oacc_kernels)
757 (c_finish_oacc_data): New functions.
758 (c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
759 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
760 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
761 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
762 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
763 GOMP_MAP_FORCE_DEVICEPTR.
764
1f78217c 7652015-01-09 Michael Collison <michael.collison@linaro.org>
766
767 * c-array-notation.c: Include hash-set.h, machmode.h,
768 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
769 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
770 * c-aux-info.c: Ditto.
771 * c-convert.c: Ditto.
772 * c-decl.c: Ditto.
773 * c-errors.c: Ditto.
774 * c-lang.c: Dittoxs.
775 * c-objc-common.c: Ditto.
776 * c-parser.c: Ditto.
777 * c-typeck.c: Include hash-set.h, machmode.h,
778 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
779 fold-const.h, wide-int.h, inchash.h, real.h and
780 fixed-value.h due to flattening of tree.h.
781
15e18a8c 7822015-01-07 Marek Polacek <polacek@redhat.com>
783
784 PR c/64417
785 * c-typeck.c (process_init_element): Disallow initialization of
786 a flexible array member with a string constant if the structure
787 is in an array.
788
d353bf18 7892015-01-05 Jakub Jelinek <jakub@redhat.com>
790
823a9dd4 791 PR sanitizer/64344
792 * c-typeck.c (convert_for_assignment, c_finish_return): For
793 -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
794 types also set in_late_binary_op around convert call.
795 * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
796 to integral type casts, if not in_late_binary_op, pass c_fully_fold
797 result on expr as last argument to ubsan_instrument_float_cast,
798 if in_late_binary_op, don't use c_save_expr but save_expr.
799
d353bf18 800 Update copyright years.
801
92b63884 8022015-01-05 Marek Polacek <polacek@redhat.com>
803
804 PR c/64423
805 * c-typeck.c (build_array_ref): Pass loc down to
806 warn_array_subscript_with_type_char.
807
8a8211df 8082014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
809
810 * c-typeck.c: New behavious for pointers to arrays with qualifiers
811 (common-pointer-type): For pointers to arrays take qualifiers from
812 element type.
813 (build_conditional_expr): Add warnings for lost qualifiers.
814 (comp-target-types): Allow pointers to arrays with different qualifiers.
815 (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
816 WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
817 to PEDWARN_FOR_QUALIFIERS.
818
35ea0139 8192014-12-17 Jakub Jelinek <jakub@redhat.com>
820
821 PR sanitizer/64289
822 * c-convert.c: Include ubsan.h.
823 (convert): For real -> integral casts and
824 -fsanitize=float-cast-overflow don't call convert_to_integer, but
825 instead instrument the float cast directly.
826
f9e245b2 8272014-11-29 Jakub Jelinek <jakub@redhat.com>
828
829 * c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
830 c_finish_stmt_expr): Remove NULL last argument from
831 create_tmp_var_raw and create_tmp_var calls.
832 * c-array-notation.c (fix_builtin_array_notation_fn,
833 build_array_notation_expr, fix_conditional_array_notations_1,
834 fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
835
fce2dbd1 8362014-11-28 Marek Polacek <polacek@redhat.com>
837
838 PR c/63862
839 * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
840 convert the right operand to integer type.
841
396c36b7 8422014-11-25 Marek Polacek <polacek@redhat.com>
843
844 PR c/63877
845 * c-decl.c (start_function): Disable -Wmissing-declarations warning
846 for inline functions.
847
c61ef207 8482014-11-21 Jakub Jelinek <jakub@redhat.com>
849
850 PR target/63764
851 * c-typeck.c (build_array_ref): Adjust
852 convert_vector_to_pointer_for_subscript caller. If it returns true,
853 call non_lvalue_loc on the result.
854
565353e8 8552014-11-11 Richard Biener <rguenther@suse.de>
856
857 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
858 to true.
859
fdd735a7 8602014-11-10 Andi Kleen <ak@linux.intel.com>
861
862 PR c/60804
863 * c-parser.c (c_parser_statement_after_labels): Call
864 check_no_cilk.
865 (c_parser_if_statement): Dito.
866 (c_parser_switch_statement): Dito.
867 (c_parser_while_statement): Dito.
868 (c_parser_do_statement): Dito.
869 (c_parser_for_statement): Dito.
870 * c-typeck.c (c_finish_loop): Dito.
871
0feb4de1 8722014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
873
874 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
875 OPT_Wshift_count_overflow in the warnings.
876
a3fec48a 8772014-10-30 Marek Polacek <polacek@redhat.com>
878
879 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
880 print the stripped version as well, if they're not the same.
881
3754d046 8822014-10-29 Richard Sandiford <richard.sandiford@arm.com>
883
884 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
885 machine_mode.
886
1140c305 8872014-10-28 Andrew MacLeod <amacleod@redhat.com>
888
889 * c-decl.c: Adjust include files.
890 * c-parser.c: Ditto.
891
ab103e33 8922014-10-27 Phil Muldoon <pmuldoon@redhat.com>
893 Tom Tromey <tromey@redhat.com>
894
895 * c-tree.h (enum c_oracle_request): New.
896 (c_binding_oracle_function): New typedef.
897 (c_binding_oracle, c_pushtag, c_bind): Declare.
898 * c-decl.c (c_binding_oracle): New global.
899 (I_SYMBOL_CHECKED): New macro.
900 (i_symbol_binding): New function.
901 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
902 (I_TAG_CHECKED): New macro.
903 (i_tag_binding): New function.
904 (I_TAG_BINDING, I_TAG_DECL): Redefine.
905 (I_LABEL_CHECKED): New macro.
906 (i_label_binding): New function.
907 (I_LABEL_BINDING, I_LABEL_DECL): Redefine.
908 (c_print_identifier): Save and restore c_binding_oracle.
909 (c_pushtag, c_bind): New functions.
910
94ea8568 9112014-10-27 Andrew MacLeod <amacleod@redhat.com>
912
913 * c-typeck.c: Adjust include files.
914
32ecf960 9152014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
916
917 PR c++/53061
918 * c-objc-common.c (c_objc_common_init): Do not do diagnostics
919 initialization here...
920 (c_initialize_diagnostics): ... but here. Set defaults after
921 building pretty-printer.
922
2981340f 9232014-10-23 Marek Polacek <polacek@redhat.com>
924
925 PR c/63626
926 * c-decl.c (pop_scope): Don't print warning in external_scope.
927
d303aeaf 9282014-10-19 Marek Polacek <polacek@redhat.com>
929
930 PR c/63567
931 * c-typeck.c (output_init_element): Allow initializing objects with
932 static storage duration with compound literals even in C99 and add
933 pedwarn for it.
934
bccf97da 9352014-10-17 Marek Polacek <polacek@redhat.com>
936
937 PR c/63567
938 * c-typeck.c (digest_init): Allow initializing objects with static
939 storage duration with compound literals even in C99 and add pedwarn
940 for it.
941
d9c77450 9422014-10-17 Marek Polacek <polacek@redhat.com>
943
944 PR c/63543
945 * c-tree.h (C_TYPE_ERROR_REPORTED): Define.
946 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
947 error multiple times. Print the type.
948
a2bbd0a7 9492014-10-17 Marek Polacek <polacek@redhat.com>
950
951 PR c/63549
952 * c-typeck.c (build_array_ref): Bail if the index in an incomplete
953 type.
954
e610d2b2 9552014-10-17 Marek Polacek <polacek@redhat.com>
956
957 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
958 (start_function): Use OPT_Wimplicit_int instead of 0.
959 (store_parm_decls_oldstyle): Likewise.
960
6b6e56b6 9612014-10-17 Alan Modra <amodra@gmail.com>
962
963 PR middle-end/61848
964 * c-decl.c (merge_decls): Don't merge section name or tls model
965 to newdecl symtab node, instead merge to olddecl. Override
966 existing olddecl section name. Set tls_model for all thread-local
967 vars, not just OMP thread-private ones. Remove incorrect comment.
968
a3020f2f 9692014-10-16 Andrew MacLeod <amacleod@redhat.com>
970
971 * c-decl.c: Adjust include files.
972
9f75f026 9732014-10-14 DJ Delorie <dj@redhat.com>
974
975 * c-parser.c (c_parse_init): Add RID entries for each __intN.
976 (c_token_starts_typename): Check all __intN, not just __int128.
977 (c_token_starts_declspecs): Likewise.
978 (c_parser_declspecs): Likewise.
979 (c_parser_attribute_any_word): Likewise.
980 (c_parser_objc_selector): Likewise.
981 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
982 (struct c_declspecs): Add int_n_idx field to record *which* __intN
983 is specified.
984 * c-decl.c (declspecs_add_type): Check for all __intN, not just
985 __int128.
986 (finish_declspecs): Likewise.
987
4f284d4a 9882014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
989
990 * c-parser.c (c_parser_all_labels): New function to replace
991 the duplicate code.
992 (c_parser_statement): Call the new function.
993
61a892dc 9942014-10-09 Marek Polacek <polacek@redhat.com>
995
996 PR c/63480
997 * c-typeck.c (pop_init_level): Don't warn about initializing
998 with { }.
999
4e888fd9 10002014-10-07 Marek Polacek <polacek@redhat.com>
1001
1002 PR c/59717
1003 * c-decl.c (header_for_builtin_fn): New function.
1004 (implicitly_declare): Suggest which header to include.
1005
224bdd51 10062014-10-07 Marek Polacek <polacek@redhat.com>
1007
1008 * c-convert.c (convert): Use error_operand_p.
1009 * c-typeck.c (require_complete_type): Likewise.
1010 (really_atomic_lvalue): Likewise.
1011 (digest_init): Likewise.
1012 (handle_omp_array_sections_1): Likewise.
1013
a2bc79db 10142014-10-03 Marek Polacek <polacek@redhat.com>
1015
1016 PR c/63453
1017 * c-decl.c (pop_scope): Don't warn about "inline function declared
1018 but never defined" for functions marked with gnu_inline attribute.
1019
4fc4088b 10202014-09-25 Jakub Jelinek <jakub@redhat.com>
1021
1022 PR c++/63249
1023 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
1024 on low_bound and length.
1025
5213d6c9 10262014-09-24 Marek Polacek <polacek@redhat.com>
1027
1028 PR c/61405
1029 PR c/53874
1030 * c-parser.c: Don't define CPP_KEYWORD.
1031 (c_parser_switch_statement): Pass original type to c_finish_case.
1032 * c-tree.h (c_finish_case): Update declaration.
1033 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
1034 conditionally to c_do_switch_warnings.
1035
6ea2b1bc 10362014-09-03 Marek Polacek <polacek@redhat.com>
1037
1038 PR c/62024
1039 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
1040 conversions.
1041
40750995 10422014-09-02 Jakub Jelinek <jakub@redhat.com>
1043 Balaji V. Iyer <balaji.v.iyer@intel.com>
1044 Igor Zamyatin <igor.zamyatin@intel.com>
1045
1046 * c-parser.c (c_parser_cilk_for): New function.
1047 (c_parser_cilk_grainsize): Likewise.
1048 (c_get_temp_regvar): Likewise.
1049 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
1050 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
1051 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
1052 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
1053 case.
1054
8c583613 10552014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
1056
1057 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
1058 with using HOST_WIDE_INT without truncation to 'int'
1059
dc6229e8 10602014-08-22 Marek Polacek <polacek@redhat.com>
1061
1062 PR c++/62199
1063 * c-typeck.c (parser_build_binary_op): Adjust call to
1064 warn_logical_not_parentheses.
1065
5fdda74b 10662014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
1067
1068 PR other/62008
1069 * c-parser.c (c_parser_array_notation): Check for correct
1070 type of an array added.
1071
78bf4156 10722014-08-19 Marek Polacek <polacek@redhat.com>
1073
1074 PR c++/62153
1075 * c-typeck.c (build_binary_op): If either operand of a comparison
1076 is a boolean expression, call maybe_warn_bool_compare.
1077
005b8fe7 10782014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
1079
1080 PR c/45584
1081 * c-typeck.c (build_c_cast): Do a conversion even when the
1082 TYPE_MAIN_VARIANTs are the same.
1083
508ea33a 10842014-08-19 Marek Polacek <polacek@redhat.com>
1085
1086 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
1087 pedwarn_c99 instead of pedwarn.
1088 (grokfield): Likewise.
1089 (warn_defaults_to): New function.
1090 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
1091 Unconditionally call pedwarn_c99 instead of pedwarn.
1092 (start_function): Call warn_defaults_to instead of pedwarn_c99.
1093 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
1094 check flag_isoc11 before.
1095 * c-errors.c (pedwarn_c99): Change the return type to bool.
1096 Handle -Wc99-c11-compat.
1097 * c-parser.c (disable_extension_diagnostics): Handle
1098 warn_c99_c11_compat.
1099 (restore_extension_diagnostics): Likewise.
1100 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
1101 instead of pedwarn, don't check flag_isoc11 before.
1102 (c_parser_declspecs): Likewise.
1103 (c_parser_alignas_specifier): Likewise.
1104 (c_parser_alignof_expression): Likewise.
1105 (c_parser_generic_selection): Likewise.
1106 * c-tree.h (pedwarn_c99): Update declaration.
1107 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
1108 of pedwarn_c99.
1109
806fe15e 11102014-08-19 Marek Polacek <polacek@redhat.com>
1111
1112 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
1113 to pedwarn_c90.
1114 * c-errors.c: Include "opts.h".
1115 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
1116 * c-parser.c (disable_extension_diagnostics): Handle negative value
1117 of warn_c90_c99_compat, too.
1118 (restore_extension_diagnostics): Likewise.
1119 (c_parser_compound_statement_nostart): Pass
1120 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
1121
89868e45 11222014-08-12 Marek Polacek <polacek@redhat.com>
1123
1124 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
1125 Add pedwarn.
1126 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
1127 Likewise.
1128 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
1129
890c2e2f 11302014-08-10 Marek Polacek <polacek@redhat.com>
1131
1132 PR c/51849
1133 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
1134 Call pedwarn_c90 instead of pedwarn.
1135 (check_bitfield_type_and_width): Likewise.
1136 (declspecs_add_qual): Likewise.
1137 (declspecs_add_type): Likewise.
1138 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
1139 Adjust to only call pedwarn_c90.
1140 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
1141 pedwarn_c90 instead of pedwarn.
1142 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
1143 * c-parser.c (disable_extension_diagnostics): Handle
1144 warn_c90_c99_compat.
1145 (restore_extension_diagnostics): Likewise.
1146 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
1147 pedwarn_c90 instead of pedwarn.
1148 (c_parser_initelt): Likewise.
1149 (c_parser_postfix_expression): Likewise.
1150 (c_parser_postfix_expression_after_paren_type): Likewise.
1151 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
1152 * c-tree.h: Fix formatting.
1153 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
1154 pedwarn_c90 instead of pedwarn.
1155
7149db5f 11562014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1157
1158 * c-typeck.c: Remove include of pointer-set.h.
1159
1c75251e 11602014-08-07 Marek Polacek <polacek@redhat.com>
1161
1162 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
1163
06ecf488 11642014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1165
1166 * c-typeck.c: Use hash_map instead of pointer_map.
1167
431205b7 11682014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1169
1170 * c-decl.c: Use hash_set instead of pointer_set.
1171
3394c80c 11722014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
1173
1174 PR middle-end/61455
1175 * c-array-notation.c (expand_array_notations): Handling
1176 of DECL_EXPR added.
1177
f22a2cb7 11782014-07-31 Marc Glisse <marc.glisse@inria.fr>
1179
1180 PR c++/60517
1181 * c-typeck.c (c_finish_return): Return 0 instead of the address of
1182 a local variable.
1183
74691f46 11842014-07-30 Tom Tromey <tromey@redhat.com>
1185
1186 * c-typeck.c (struct constructor_stack) <designator_depth>: New
1187 field.
1188 (really_start_incremental_init, push_init_level): Initialize
1189 designator_depth.
1190 (pop_init_level): Set global designator_depth.
1191 (process_init_element): Check for designated_init attribute.
1192
f9767fb6 11932014-07-20 Marek Polacek <polacek@redhat.com>
1194
1195 PR c/61852
1196 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
1197 (implicitly_declare): Pass location to implicit_decl_warning.
1198
305d96bc 11992014-07-14 Jakub Jelinek <jakub@redhat.com>
1200
1201 PR middle-end/61294
1202 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
1203 If non-NULL, call c_parser_check_literal_zero.
1204 (c_parser_check_literal_zero): New function.
1205 (c_parser_postfix_expression_after_primary): Adjust
1206 c_parser_expr_list caller, handle -Wmemset-transposed-args.
1207
87d59e72 12082014-07-06 Marek Polacek <polacek@redhat.com>
1209
1210 PR c/6940
1211 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
1212 * c-tree.h (C_ARRAY_PARAMETER): Define.
1213 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
1214 function parameter.
1215
752098c8 12162014-07-02 Jan Hubicka <hubicka@ucw.cz>
1217 Chen Gang <gang.chen.5i5j@gmail.com>
1218
1219 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
1220 releasing symbol.
1221
1207866e 12222014-07-01 Marek Polacek <polacek@redhat.com>
1223
1224 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
1225 instead of 0 to WARN_FOR_ASSIGNMENT.
1226
7a6bbb76 12272014-07-01 Marek Polacek <polacek@redhat.com>
1228
1229 PR c/58286
1230 * c-typeck.c (convert_for_assignment): Pass
1231 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
1232
70575064 12332014-06-30 Marek Polacek <polacek@redhat.com>
1234
1235 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
1236 has no_sanitize_undefined attribute.
1237
4879e4cf 12382014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
1239
1240 PR middle-end/57541
1241 * c-array-notation.c (fix_builtin_array_notation_fn):
1242 Check for 0 arguments in builtin call. Check that bultin argument is
1243 correct.
1244 * c-parser.c (c_parser_array_notation): Check for incorrect initial
1245 index.
1246
45c5b823 12472014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
1248
1249 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
1250 qualifiers in __auto_type for atomic types.
1251 (c_parser_typeof_specifier): Discard all type qualifiers in
1252 __typeof__ for atomic types.
1253
430b73ee 12542014-06-25 Marek Polacek <polacek@redhat.com>
1255
1256 PR c/61162
1257 * c-parser.c (c_parser_statement_after_labels): Pass the location of
1258 the return expression to c_finish_return.
1259
9580cb79 12602014-06-25 Jakub Jelinek <jakub@redhat.com>
1261
1262 * c-typeck.c (c_finish_omp_clauses): Make sure
1263 OMP_CLAUSE_LINEAR_STEP has correct type.
1264
c1f445d2 12652014-06-24 Trevor Saunders <tsaunders@mozilla.com>
1266
1267 * c-decl.c: Adjust.
1268
e471cc6f 12692014-06-24 Jakub Jelinek <jakub@redhat.com>
1270
1271 * c-parser.c (c_parser_omp_for_loop): For
1272 #pragma omp parallel for simd move lastprivate clause from parallel
1273 to for rather than simd.
1274
499b7390 12752014-06-23 Marek Polacek <polacek@redhat.com>
1276
1277 * c-typeck.c (parser_build_binary_op): Don't call
1278 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
1279
5e68df57 12802014-06-15 Jan Hubicka <hubicka@ucw.cz>
1281
1282 * c-parser.c (c_parser_omp_threadprivate): Likewise.
1283 * c-decl.c (merge_decls): Likewise.
1284
064b0d02 12852014-06-09 Marek Polacek <polacek@redhat.com>
1286
1287 PR c/36446
1288 * c-typeck.c (error_init): Call inform instead of error_at.
1289 (pedwarn_init): Call inform instead of pedwarn.
1290 (warning_init): Call inform instead of warning_at.
1291
71e19e54 12922014-06-07 Jan Hubicka <hubicka@ucw.cz>
1293
1294 * c-decl.c (merge_decls): Use set_decl_section_name.
1295 (duplicate_decls): Remove node if it exists.
1296
95cdf3fd 12972014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
1298
1299 PR c/53119
1300 * c-typeck.c (push_init_level, process_init_element,
1301 pop_init_level): Correct check for zero initialization, move
1302 missing brace warning to respect zero initialization.
1303
a07f86a6 13042014-06-05 Marek Polacek <polacek@redhat.com>
1305
1306 PR c/56724
1307 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
1308
32dc1512 13092014-06-05 Marek Polacek <polacek@redhat.com>
1310
1311 PR c/49706
1312 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
1313 on the left hand side operand of a comparison.
1314
64cf1262 13152014-06-05 Marek Polacek <polacek@redhat.com>
1316
1317 PR c/48062
1318 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
1319 Print note only if the warning was printed.
1320
071f6d39 13212014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
1322
1323 PR c/58942
1324 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
1325 with a pointer.
1326
c69ec07d 13272014-06-03 Marek Polacek <polacek@redhat.com>
1328
1329 PR c/60439
1330 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
1331 c_start_case.
1332 * c-tree.h (c_start_case): Update.
1333 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
1334 switch condition has boolean value.
1335
f7715905 13362014-06-02 Andrew MacLeod <amacleod@redhat.com>
1337
1338 * c-decl.c: Include builtins.h.
1339 * c-parser.c: Likewise.
1340
dcfff6f9 13412014-05-27 Marek Polacek <polacek@redhat.com>
1342
1343 PR c/56724
1344 * c-typeck.c (convert_arguments): Get location of a parameter. Change
1345 error and warning calls to error_at and warning_at. Pass location of
1346 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
1347 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
1348 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
1349
c048c42c 13502014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
1351
1352 PR c/61191
1353 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
1354 function parameters.
1355
8c016392 13562014-05-23 Jan Hubicka <hubicka@ucw.cz>
1357
1358 * c-decl.c (merge_decls): Preserve symtab node pointers.
1359 (duplicate_decls): Free new decl.
1360
184a718f 13612014-05-23 Thomas Schwinge <thomas@codesourcery.com>
1362
6ce915ef 1363 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
1364 initialization.
1365
184a718f 1366 * c-parser.c (c_parser_omp_target): Return bool values.
1367
22ac3f78 13682014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1369
1370 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
1371 num_teams_loc variable to num_thread_limit_loc.
1372
3ab4693e 13732014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1374
1375 * c-array-notation.c (expand_array_notations): Use void_node
1376 instead of void_zero_node.
1377
25a27413 13782014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1379
1380 * c-decl.c (finish_struct): Adjust.
1381 (finish_enum): Likewise.
1382 (bind): Adjust.
1383 (record_inline_static): Likewise.
1384 (push_scope): Likewise.
1385 (make_label): Likewise.
1386 (lookup_label_for_goto): Likewise.
1387 (finish_struct): Likewise.
1388 (finish_enum): Likewise.
1389 (store_parm_decls): Likewise.
1390 (c_push_function_context): Likewise.
1391 * c-lang.h: Remove usage of variable_size gty attribute.
1392 * c-parser.c (c_parse_init): Adjust.
1393 (c_parse_file): Likewise.
1394
172b8440 13952014-05-13 Marek Polacek <polacek@redhat.com>
1396
1397 PR c/61162
1398 * c-typeck.c (convert_for_assignment): Pass location to
1399 WARN_FOR_ASSIGNMENT instead of input_location.
1400
c9e51d25 14012014-05-10 Marek Polacek <polacek@redhat.com>
1402
1403 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
1404 maybe_warn_string_init.
1405 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
1406 maybe_warn_string_init.
1407 * c-tree.h (maybe_warn_string_init): Update declaration.
1408 * c-typeck.c (maybe_warn_string_init): Add location parameter.
1409 Call pedwarn_init with loc instead of with input_location.
1410 (digest_init): Pass init_loc to maybe_warn_string_init.
1411 (pop_init_level): Call pedwarn_init with loc instead of with
1412 input_location.
1413 (set_init_index): Likewise.
1414 (process_init_element): Likewise.
1415
53de1631 14162014-05-09 Marek Polacek <polacek@redhat.com>
1417
1418 PR c/61096
1419 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
1420 (c_parser_initelt): Pass location to set_init_label. Pass array index
1421 location to set_init_index.
1422 * c-tree.h (push_init_level): Update declaration.
1423 (pop_init_level): Likewise.
1424 (set_init_index): Likewise.
1425 (set_init_label): Likewise.
1426 * c-typeck.c (error_init): Add location parameter. Call error_at
1427 instead of error.
1428 (digest_init): Pass init_loc to error_init.
1429 (really_start_incremental_init):
1430 (push_init_level): Add location parameter. Pass loc to pop_init_level
1431 and error_init.
1432 (pop_init_level): Likewise.
1433 (set_designator): Add location parameter. Pass loc to pop_init_level,
1434 push_init_level, and error_init.
1435 (set_init_index): Add location parameter. Pass loc to error_init and
1436 set_designator.
1437 (set_init_label): Likewise.
1438 (output_init_element): Pass loc to error_init.
1439 (process_init_element): Pass loc to error_init, pop_init_level,
1440 pedwarn_init, and push_init_level.
1441
3e5a8b00 14422014-05-09 Marek Polacek <polacek@redhat.com>
1443
1444 PR c/50459
1445 * c-parser.c (c_parser_attributes): Parse the arguments as an
1446 expression-list if the attribute takes identifier.
1447
c2c4ae8d 14482014-05-08 Marek Polacek <polacek@redhat.com>
1449
1450 PR c/61053
1451 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
1452 TYPE_ALIGN_UNIT.
1453
2026249a 14542014-05-08 Marek Polacek <polacek@redhat.com>
1455
1456 PR c/61077
1457 * c-decl.c (start_function): Warn for _Atomic-qualified return type
1458 of main.
1459
960d5a55 14602014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1461 Mike Stump <mikestump@comcast.net>
1462 Richard Sandiford <rdsandiford@googlemail.com>
1463
1464 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
1465 (finish_enum): Use wide-int interfaces.
1466 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
1467 * c-typeck.c (build_c_cast): Likewise.
1468 (set_nonincremental_init_from_string): Likewise.
1469 (c_tree_equal): Likewise.
1470
e0e14cbd 14712014-05-02 Marek Polacek <polacek@redhat.com>
1472
1473 PR c/25801
1474 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
1475 Return size_one_node when the type is not complete.
1476 (pointer_diff): Remove comment.
1477 (build_unary_op): Improve error messages.
1478
27ff10cb 14792014-05-02 Marek Polacek <polacek@redhat.com>
1480
1481 * c-typeck.c (c_finish_return): Separate warning_at calls.
1482
68410ce9 14832014-05-02 Marek Polacek <polacek@redhat.com>
1484
1485 * c-tree.h (error_init): Remove declaration.
1486 (pedwarn_init): Likewise.
1487 * c-typeck.c (error_init): Make static and move above.
1488 (pedwarn_init): Likewise.
1489 (warning_init): Move above.
1490 (maybe_warn_string_init): Likewise.
1491
e8e27117 14922014-05-01 Jeff Law <law@redhat.com>
1493
1494 Revert:
1495
1496 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1497 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
1498 avoid goto.
1499
971df357 15002014-05-02 Marek Polacek <polacek@redhat.com>
1501
1502 PR c/60784
1503 * c-typeck.c (push_init_level): Set constructor_designated to
1504 p->designated for structures.
1505
de548fe5 15062014-05-01 Marek Polacek <polacek@redhat.com>
1507
1508 PR c/60915
1509 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
1510 function-definition has an attribute after the declarator.
1511
053a0ded 15122014-05-01 Marek Polacek <polacek@redhat.com>
1513
1514 PR c/60257
1515 * c-typeck.c (warning_init): Add location_t parameter. Call
1516 warning_at instead of warning.
1517 (push_init_level): Pass input_location to warning_init.
1518 (add_pending_init): Add location_t parameter. Pass loc to
1519 warning_init.
1520 (set_nonincremental_init): Pass input_location to add_pending_init.
1521 (set_nonincremental_init_from_string): Likewise.
1522 (output_init_element): Pass loc to warning_init and to
1523 add_pending_init.
1524
694296f2 15252014-05-01 Marek Polacek <polacek@redhat.com>
1526
1527 PR c/43395
1528 * c-typeck.c (c_finish_return): Distinguish between label and variable
1529 when warning about returning local address.
1530
86bbd7f9 15312014-05-01 Marek Polacek <polacek@redhat.com>
1532
1533 PR c/29467
1534 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
1535 in C89 mode.
1536
e4ab2ef3 15372014-05-01 Marek Polacek <polacek@redhat.com>
1538
1539 PR c/43245
1540 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
1541 instead of 0 to WARN_FOR_QUALIFIERS.
1542
ca3999cb 15432014-05-01 Marek Polacek <polacek@redhat.com>
1544
1545 PR c/56989
1546 * c-typeck.c (default_conversion): Use better location for
1547 error call.
1548
52cc0072 15492014-04-30 Marek Polacek <polacek@redhat.com>
1550
1551 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
1552 also when SANITIZE_FLOAT_DIVIDE is on.
1553
af379dd3 15542014-04-30 Marek Polacek <polacek@redhat.com>
1555
1556 PR c/60139
1557 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
1558 and pedwarn_init. Use loc insted of input_location.
1559
b069c2a0 15602014-04-30 Marek Polacek <polacek@redhat.com>
1561
1562 PR c/60351
1563 * c-typeck.c (build_binary_op): Use location when warning about
1564 shift count.
1565
4a026b48 15662014-04-25 Marek Polacek <polacek@redhat.com>
1567
1568 PR c/18079
1569 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
1570 always_inline/noinline and hot/cold attributes.
1571
adc93f31 15722014-04-25 Marek Polacek <polacek@redhat.com>
1573
1574 PR c/60114
1575 * c-parser.c (c_parser_initelt): Pass input_location to
1576 process_init_element.
1577 (c_parser_initval): Pass loc to process_init_element.
1578 * c-tree.h (process_init_element): Adjust declaration.
1579 * c-typeck.c (push_init_level): Pass input_location to
1580 process_init_element.
1581 (pop_init_level): Likewise.
1582 (set_designator): Likewise.
1583 (output_init_element): Add location_t parameter. Pass loc to
1584 digest_init.
1585 (output_pending_init_elements): Pass input_location to
1586 output_init_element.
1587 (process_init_element): Add location_t parameter. Pass loc to
1588 output_init_element.
1589
e1029911 15902014-04-24 Jakub Jelinek <jakub@redhat.com>
1591
1592 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
1593 atomic-clause, allow comma in between atomic-clause and
1594 seq_cst.
1595
9f0a7bc6 15962014-04-22 Jakub Jelinek <jakub@redhat.com>
1597
1598 PR c/59073
1599 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
1600 fails, don't set OM_PARALLEL_COMBINED and return NULL.
1601
094da06d 16022014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1603
1604 PR middle-end/60469
1605 * c-array-notation.c (fix_builtin_array_notation_fn): Use
1606 create_tmp_var instead build_decl for creating temps.
1607 (build_array_notation_expr): Likewise.
1608 (fix_conditional_array_notations_1): Likewise.
1609 (fix_array_notation_expr): Likewise.
1610 (fix_array_notation_call_expr): Likewise.
1611
5a672e62 16122014-03-28 Jakub Jelinek <jakub@redhat.com>
1613
1614 PR c++/60689
1615 * c-tree.h (c_build_function_call_vec): New prototype.
1616 * c-typeck.c (build_function_call_vec): Don't call
1617 resolve_overloaded_builtin here.
1618 (c_build_function_call_vec): New wrapper function around
1619 build_function_call_vec. Call resolve_overloaded_builtin here.
1620 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
1621 Call c_build_function_call_vec instead of build_function_call_vec.
1622 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
1623 * c-decl.c (finish_decl): Likewise.
1624
f40f5e0e 16252014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
1626
1627 PR c/55383
1628 * c-typeck.c: Use correct format string in cast-qual warning
1629
9ec099a3 16302014-03-07 Thomas Schwinge <thomas@codesourcery.com>
1631
1632 * c-decl.c (c_decl_attributes): Use
1633 lang_hooks.types.omp_mappable_type.
1634 * c-typeck.c (c_finish_omp_clauses): Likewise.
1635
3bfdc94f 16362014-03-06 Marek Polacek <polacek@redhat.com>
1637
1638 PR c/60197
1639 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
1640 of checking tree code.
1641
8f1128f8 16422014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1643
1644 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
1645 (c_parser_parameter_declaration): Likewise.
1646
977b1853 16472014-02-19 Marek Polacek <polacek@redhat.com>
1648
1649 PR c/60195
1650 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
1651 Call mark_exp_read on exp.value.
1652 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
1653 TREE_ADDRESSABLE on old instead of val.
1654 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
1655
825cd6ef 16562014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
1657
1658 * c-parser.c (c_parser_get_builtin_args): Replace calls to
1659 C_EXPR_APPEND by vec_safe_push.
1660 * c-tree.h (C_EXPR_APPEND): Remove.
1661
ec761d5a 16622014-01-31 Marek Polacek <polacek@redhat.com>
1663
1664 PR c/59963
1665 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
1666 build_function_call_vec.
1667 (build_function_call): Likewise.
1668 (build_atomic_assign): Likewise.
1669 (build_function_call_vec): Add arg_loc parameter. Use it.
1670 (convert_arguments): Likewise.
1671 (convert_for_assignment): Rename rhs_loc to expr_loc.
1672 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
1673 (c_parser_objc_keywordexpr): Likewise.
1674 (c_parser_postfix_expression_after_primary): Call
1675 build_function_call_vec with expr_loc rather than op_loc.
1676 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
1677 build_function_call_vec.
1678 (c_parser_expr_list): Add locations parameter. Fill it with locations
1679 of function arguments.
1680 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
1681
22a75734 16822014-01-30 Marek Polacek <polacek@redhat.com>
1683
1684 PR c/59940
1685 * c-typeck.c (build_function_call_vec): Use loc parameter.
1686 (convert_arguments): Add location parameter. Use it.
1687 (ep_convert_and_check): Likewise.
1688 (build_atomic_assign): Adjust convert_for_assignment call.
1689 (build_modify_expr): Likewise.
1690 (digest_init): Likewise.
1691 (c_finish_return): Likewise.
1692 (build_conditional_expr): Adjust ep_convert_and_check calls.
1693 (convert_for_assignment): Add rhs_loc parameter. Use it.
1694 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
1695 calls.
1696
29f580ac 16972014-01-30 Richard Biener <rguenther@suse.de>
1698
1699 PR c/59905
1700 * c-typeck.c (build_function_call_vec): Do not replace calls
1701 to a function via an incompatible type with a runtime abort.
1702
a89e6c15 17032014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1704
1705 * c-parser.c (c_parser_declaration_or_fndef): Replaced
1706 flag_enable_cilkplus with flag_cilkplus.
1707 (c_parser_direct_declarator_inner): Likewise.
1708 (c_parser_attribute_any_word): Likewise.
1709 (c_parser_attributes): Likewise.
1710 (c_parser_compound_statement): Likewise.
1711 (c_parser_statement_after_labels): Likewise.
1712 (c_parser_if_statement): Likewise.
1713 (c_parser_switch_statement): Likewise.
1714 (c_parser_do_statement): Likewise.
1715 (c_parser_for_statement): Likewise.
1716 (c_parser_unary_expression): Likewise.
1717 (c_parser_postfix_expression): Likewise.
1718 (c_parser_postfix_expression_after_primary): Likewise.
1719 (c_parser_postfix_expression_after_primary): Likewise.
1720 (c_parser_omp_clause_name): Likewise.
1721 (c_finish_omp_declare_simd): Likewise.
1722 (c_parser_cilk_verify_simd): Likewise.
1723 * c-typeck.c (build_array_ref): Likewise.
1724 (build_function_call_vec): Likewise.
1725 (convert_arguments): Likewise.
1726 (build_compound_expr): Likewise.
1727 (c_finish_return): Likewise.
1728 (c_finish_if_stmt): Likewise.
1729 (c_finish_loop): Likewise.
1730 (build_binary_op): Likewise.
1731
2623625f 17322014-01-23 Marek Polacek <polacek@redhat.com>
1733
1734 PR c/59846
1735 * c-typeck.c (parser_build_binary_op): Use location instead of
1736 input_location.
1737 (build_binary_op): Pass location to shorten_compare.
1738
46da3601 17392014-01-23 Marek Polacek <polacek@redhat.com>
1740
1741 PR c/58346
1742 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
1743 an empty aggregate.
1744
9a9db3c1 17452014-01-23 Marek Polacek <polacek@redhat.com>
1746
1747 PR c/59871
1748 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
1749 of a comma expression.
1750 (emit_side_effect_warnings): Likewise.
1751
69c9b607 17522014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1753
1754 PR c/59825
1755 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
1756 function to use walk_tree and moved a lot of its functionality to
1757 expand_array_notations.
1758 (expand_array_notations): New function.
1759
7e005ab5 17602014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1761
1762 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
1763 attribute an attribute without value.
1764
d6779b5f 17652014-01-23 Jakub Jelinek <jakub@redhat.com>
1766
1767 PR middle-end/58809
1768 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
1769 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
1770
ec431042 17712014-01-22 Marek Polacek <polacek@redhat.com>
1772
1773 PR c/59891
1774 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
1775 of remove_c_maybe_const_expr on op1 and op2.
1776
1248c663 17772014-01-15 Jakub Jelinek <jakub@redhat.com>
1778
1779 PR c/58943
1780 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
1781 effects, preevaluate rhs using SAVE_EXPR first.
1782
0bc789fc 17832014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
1784
1785 PR c++/59631
1786 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
1787 statements with if-elseif statements.
1788
6685d11c 17892014-01-06 Marek Polacek <polacek@redhat.com>
1790
1791 PR c/57773
1792 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
1793 defined bit-field types only in ISO C.
1794
3aea1f79 17952014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1796
1797 Update copyright years
1798
e4f22041 17992014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1800
1801 * c-array-notation.c: Use the standard form for the copyright notice.
1802
74acc703 18032013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1804
1805 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
1806 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
1807 field in parser is not empty. If not-empty, call the function
1808 c_parser_finish_omp_declare_simd.
1809 (c_parser_cilk_clause_vectorlength): Modified function to be shared
1810 between SIMD-enabled functions and #pragma simd. Added new parameter.
1811 (c_parser_cilk_all_clauses): Modified the usage of the function
1812 c_parser_cilk_clause_vectorlength as mentioned above.
1813 (c_parser_cilk_simd_fn_vector_attrs): New function.
1814 (c_finish_cilk_simd_fn_tokens): Likewise.
1815 (is_cilkplus_vector_p): Likewise.
1816 (c_parser_omp_clause_name): Added checking for "vectorlength,"
1817 "nomask," and "mask" strings in clause name.
1818 (c_parser_omp_all_clauses): Added 3 new case statements:
1819 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
1820 PRAGMA_CILK_CLAUSE_NOMASK.
1821 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
1822 check for vector attribute and if so call the function
1823 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
1824 called the function c_finish_cilk_simd_fn_tokens.
1825 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
1826 parser field is non-empty. If so, parse them as you would parse
1827 the omp declare simd pragma.
1828 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
1829 Added a check when step is a parameter and flag it as error.
1830 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
1831 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
1832 pragma_omp_clause.
1833
395dc01c 18342013-12-17 Thomas Schwinge <thomas@codesourcery.com>
1835
1836 * c-parser.c (c_parser_omp_parallel): Fix description.
1837
433e804e 18382013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1839
1840 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
1841 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
1842 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
1843 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
1844
a179a7dc 18452013-12-04 Joseph Myers <joseph@codesourcery.com>
1846
1847 PR c/52023
1848 * c-parser.c (c_parser_alignas_specifier): Use
1849 c_sizeof_or_alignof_type instead of c_alignof.
1850 (c_parser_alignof_expression): Likewise, with min_alignof
1851 parameter depending on alignof spelling used.
1852
bdf1e3c7 18532013-12-04 Marek Polacek <polacek@redhat.com>
1854
1855 PR c/54113
1856 * c-decl.c (start_function): Don't warn for missing prototype for
1857 inline functions.
1858
05e8f674 18592013-12-03 Marek Polacek <polacek@redhat.com>
1860
1861 PR c/59351
1862 * c-decl.c (build_compound_literal): Allow compound literals with
1863 empty initial value.
1864
39f74d66 18652013-12-02 Joseph Myers <joseph@codesourcery.com>
1866
1867 PR c/58235
1868 * c-typeck.c (build_modify_expr): Diagnose assignment to
1869 expression with array type.
1870
f221adca 18712013-11-29 Joseph Myers <joseph@codesourcery.com>
1872
1873 PR c/42262
1874 * c-typeck.c (process_init_element): Do not treat a string as
1875 initializing a whole array when used with a designator for an
1876 individual element.
1877
75bce827 18782013-11-29 Joseph Myers <joseph@codesourcery.com>
1879
1880 PR c/57574
1881 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
1882 an inline function following a static declaration.
1883
dc133326 18842013-11-28 Jakub Jelinek <jakub@redhat.com>
1885
1886 PR c/59310
1887 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
1888 to p_name before calling c_parser_omp_teams instead of after.
1889 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
1890 argument. Remove unused p_name variable.
1891
d09768a4 18922013-11-27 Aldy Hernandez <aldyh@redhat.com>
1893 Jakub Jelinek <jakub@redhat.com>
1894
1895 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
1896 external_scope is NULL.
1897
73fd9cbe 18982013-11-27 Tom de Vries <tom@codesourcery.com>
1899 Marc Glisse <marc.glisse@inria.fr>
1900
1901 PR c++/59032
1902 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
1903
bc61cadb 19042013-11-22 Andrew MacLeod <amacleod@redhat.com>
1905
1906 * c-typeck.c: Add required include files from gimple.h.
1907
3df42822 19082013-11-22 David Malcolm <dmalcolm@redhat.com>
1909
1910 * c-decl.c (define_label, shadow_tag_warned)
1911 (check_bitfield_type_and_width, grokdeclarator, grokparms,
1912 store_parm_decls_newstyle, store_parm_decls_oldstyle)
1913 (declspecs_add_type): Remove use of in_system_header macro.
1914 * c-parser.c (c_parser_unary_expression): Likewise.
1915 * c-typeck.c (store_init_value, process_init_element)
1916 (c_start_case): Likewise.
1917
1918 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
1919 macro.
1920
1921 * c-parser.c (c_parser_set_source_position_from_token): Remove
1922 reference to in_system_header from comment.
1923
08f817b3 19242013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1925
1926 * c-decl.c (grokdeclarator): Update comment to refer to
1927 tree_to_[su]hwi rather than tree_low_cst.
1928
6a0712d4 19292013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1930
1931 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
1932 tree_to_uhwi throughout.
1933
fcb97e84 19342013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1935
1936 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
1937 throughout.
1938
35ec552a 19392013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1940
1941 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
1942 throughout.
1943
f2697631 19442013-11-15 Aldy Hernandez <aldyh@redhat.com>
1945
1946 * c-parser.c (c_parser_cilk_simd): New.
1947 (c_parser_cilk_verify_simd): New.
1948 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
1949 (c_parser_omp_for_loop): Add case for NE_EXPR.
1950 Set c_break_label for CILK_SIMD.
1951 (c_parser_cilk_clause_vectorlength): New.
1952 (c_parser_cilk_clause_linear): New.
1953 (c_parser_cilk_clause_name): New.
1954 (c_parser_cilk_all_clauses): New.
1955 * c-typeck.c (build_unary_op): Pass location argument to
1956 readonly_error.
1957 (build_modify_expr): Same.
1958 (build_asm_expr): Same.
1959 (c_finish_bc_stmt): Error on break/continue in loops.
1960
e795d6e1 19612013-11-14 Andrew MacLeod <amacleod@redhat.com>
1962
1963 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
1964
9ed99284 19652013-11-14 Diego Novillo <dnovillo@google.com>
1966
1967 * c-decl.c: Include print-tree.h.
1968 Include stor-layout.h.
1969 Include varasm.h.
1970 Include attribs.h.
1971 Include stringpool.h.
1972 * c-lang.c: Include fold-const.h.
1973 * c-parser.c: Include stringpool.h.
1974 Include attribs.h.
1975 Include stor-layout.h.
1976 Include varasm.h.
1977 Include trans-mem.h.
1978 * c-typeck.c: Include stor-layout.h.
1979 Include trans-mem.h.
1980 Include varasm.h.
1981 Include stmt.h.
1982
4fba5eb9 19832013-11-13 Joseph Myers <joseph@codesourcery.com>
1984
1985 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
1986 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
1987 __auto_type.
1988 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
1989 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
1990 RID_AUTO_TYPE.
1991 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
1992 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
1993 (c_parser_declarator, c_parser_direct_declarator_inner)
1994 (c_parser_parameter_declaration, c_parser_type_name): All callers
1995 changed.
1996 (c_parser_declaration_or_fndef): Handle declarations with type
1997 determined from the initializer.
1998
a8783bee 19992013-11-12 Andrew MacLeod <amacleod@redhat.com>
2000
e795d6e1 2001 * c-typeck.c: Include gimplify.h.
a8783bee 2002
d184e0c0 20032013-11-12 Joseph Myers <joseph@codesourcery.com>
2004
2005 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
2006 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
2007 comment.
2008 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
2009 or _Thread_local as appropriate in diagnostics.
2010 (build_null_declspecs): Initialize ret->thread_gnu_p.
2011 (declspecs_add_scspec): Handle either __thread or _Thread_local
2012 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
2013 pedantic. Do not disallow _Thread_local extern and _Thread_local
2014 static.
2015
b560fabd 20162013-11-07 Joseph Myers <joseph@codesourcery.com>
2017 Andrew MacLeod <amacleod@redhat.com>
2018
2019 * c-aux-info.c (gen_type): Handle atomic qualifier.
2020 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
2021 qualifiers when compating types.
2022 (shadow_tag_warned): Handle atomic_p in declspecs.
2023 (quals_from_declspecs): Likewise.
2024 (start_decl): Use c_type_promotes_to when promoting argument
2025 types.
2026 (grokdeclarator): Handle _Atomic.
2027 (get_parm_info): Diagnose any qualifier on "void" as only
2028 parameter.
2029 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
2030 comparing types. Use c_type_promotes_to when promoting argument
2031 types.
2032 (finish_function): Use c_type_promotes_to when promoting argument
2033 types.
2034 (build_null_declspecs): Handle atomic_p in declspecs.
2035 (declspecs_add_qual): Handle RID_ATOMIC.
2036 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
2037 (c_token_starts_declspecs): Handle RID_ATOMIC.
2038 (c_parser_declspecs): Handle atomic type specifiers and
2039 qualifiers.
2040 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
2041 from types of expressions with atomic type.
2042 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
2043 (c_parser_attribute_any_word): Handle RID_ATOMIC.
2044 (c_parser_initializer, c_parser_initelt, c_parser_initval)
2045 (c_parser_statement_after_labels, c_parser_switch_statement)
2046 (c_parser_for_statement, c_parser_expr_no_commas)
2047 (c_parser_conditional_expression, c_parser_binary_expression)
2048 (c_parser_cast_expression, c_parser_unary_expression)
2049 (c_parser_postfix_expression)
2050 (c_parser_postfix_expression_after_primary, c_parser_expression):
2051 Use convert_lvalue_to_rvalue.
2052 (c_parser_expression_conv, c_parser_expr_list): Document
2053 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
2054 (c_parser_objc_synchronized_statement): Use
2055 convert_lvalue_to_rvalue.
2056 (c_parser_objc_selector): Handle RID_ATOMIC.
2057 (c_parser_objc_receiver, c_parser_array_notation): Use
2058 convert_lvalue_to_rvalue.
2059 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
2060 _Atomic (type-name).
2061 (struct c_declspecs): Add atomic_p field.
2062 (convert_lvalue_to_rvalue): Declare.
2063 * c-typeck.c (c_type_promotes_to): Promote atomic types to
2064 corresponding atomic types.
2065 (qualify_type): Don't add _Atomic qualifiers from second argument.
2066 (comp_target_types): Do not allow _Atomic mismatches.
2067 (type_lists_compatible_p): Do not remove atomic qualifiers when
2068 comparing types.
2069 (really_atomic_lvalue, convert_lvalue_to_rvalue)
2070 (build_atomic_assign): New functions.
2071 (build_unary_op): Use build_atomic_assign for atomic increment and
2072 decrement.
2073 (build_conditional_expr): Do not treat _Atomic void as a qualified
2074 version of void.
2075 (build_modify_expr): Use build_atomic_assign for atomic LHS.
2076 (find_anonymous_field_with_type, convert_to_anonymous_field)
2077 (convert_for_assignment): Do not remove atomic qualifiers when
2078 comparing types.
2079 (digest_init): Do not accept initialization of arrays of atomic
2080 elements by string constants.
2081 (build_asm_expr): Use convert_lvalue_to_rvalue.
2082 (build_binary_op): Do not treat _Atomic void as a qualified
2083 version of void.
2084
8b023e7c 20852013-11-06 DJ Delorie <dj@redhat.com>
2086
2087 * c-decl.c (locate_old_decl): If a previous conflicting decl is
2088 both explicit and builtin, print the location of the explicit one.
2089
c630ef93 20902013-11-05 Tobias Burnus <burnus@net-b.de>
2091
2092 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
2093 c_parser_omp_distribute, c_parser_omp_teams,
2094 c_parser_omp_target, c_parser_omp_declare): Handle
2095 -fopenmp-simd.
2096
2c4c3477 20972013-11-03 Marek Polacek <polacek@redhat.com>
2098
2099 * c-decl.c (grokdeclarator): Add VLA instrumentation.
2100
df205251 21012013-11-01 Jakub Jelinek <jakub@redhat.com>
2102
2103 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
2104 check_dup_generic at the end, unless remove is true.
2105 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
2106 remove = true;.
2107 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
2108
23871d0c 21092013-10-31 Jakub Jelinek <jakub@redhat.com>
2110
2111 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
2112 with decl that is not pointer nor array.
2113
d037099f 21142013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2115
2116 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
2117 a spawning function is found.
2118 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
2119 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
2120 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
2121 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
2122 case.
2123 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
2124 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
2125 expr.
2126 (c_finish_return): Added a check to reject _Cilk_spawn in return
2127 expression.
2128 (build_cilk_spawn): New function.
2129 (build_cilk_sync): Likewise.
2130 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
2131
4c90c04c 21322013-10-27 Tobias Burnus <burnus@net-b.de>
2133
2134 PR other/33426
2135 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
2136 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
2137 (c_parser_statement_after_labels): Update calls.
2138
48a972c8 21392013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 2140
2141 PR other/33426
2142 * c-parser.c (c_parser_pragma, c_parser_for_statement):
2143 Handle PRAGMA_IVDEP.
2144 (c_parser_statement_after_labels): Update call.
2145
12f86df0 21462013-10-24 Marek Polacek <polacek@redhat.com>
2147
2148 * c-parser.c (c_parser_struct_declaration): Add a comment.
2149 (c_parser_declarator): Don't allow _Alignas here.
2150
7740abd8 21512013-10-17 Andrew MacLeod <amacleod@redhat.com>
2152
2153 * c-parser.c: Include omp-low.h.
2154 * c-typeck.c: Likewise.
2155
43d03c23 21562013-10-17 Marek Polacek <polacek@redhat.com>
2157
2158 PR c/58267
2159 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
2160 Document syntax of the array-declarator.
2161 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
2162 are not permitted.
2163 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
2164 (c_parser_struct_declaration): Likewise.
2165 (c_parser_declarator): Likewise.
2166 (c_parser_direct_declarator_inner): Likewise.
2167 (c_parser_parameter_declaration): Likewise.
2168 (c_parser_type_name): Likewise.
2169
bc7bff74 21702013-10-11 Jakub Jelinek <jakub@redhat.com>
2171
2172 * c-lang.h (current_omp_declare_target_attribute): New extern
2173 decl.
2174 * c-parser.c: Include c-lang.h.
2175 (struct c_parser): Change tokens to c_token *.
2176 Add tokens_buf field. Change tokens_avail type to unsigned int.
2177 (c_parser_consume_token): If parser->tokens isn't
2178 &parser->tokens_buf[0], increment parser->tokens.
2179 (c_parser_consume_pragma): Likewise.
2180 (enum pragma_context): Add pragma_struct and pragma_param.
2181 (c_parser_external_declaration): Adjust
2182 c_parser_declaration_or_fndef caller.
2183 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
2184 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
2185 Adjust recursive call.
2186 (c_parser_struct_or_union_specifier): Use pragma_struct instead
2187 of pragma_external.
2188 (c_parser_parameter_declaration): Use pragma_param instead of
2189 pragma_external.
2190 (c_parser_compound_statement_nostart, c_parser_label,
2191 c_parser_for_statement): Adjust
2192 c_parser_declaration_or_fndef callers.
2193 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
2194 it through to c_parser_conditional_expression.
2195 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
2196 pass it through to c_parser_binary_expression. Adjust recursive
2197 call.
2198 (c_parser_binary_expression): Remove prec argument, add
2199 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
2200 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
2201 binop matches it, use build2 instead of parser_build_binary_op.
2202 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
2203 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
2204 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
2205 Handle pragma_struct and pragma_param the same as pragma_external.
2206 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
2207 (c_parser_omp_variable_list): Parse array sections for
2208 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
2209 (c_parser_omp_clause_collapse): Fully fold collapse expression.
2210 (c_parser_omp_clause_reduction): Handle user defined reductions.
2211 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
2212 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
2213 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
2214 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
2215 c_parser_omp_clause_depend, c_parser_omp_clause_map,
2216 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
2217 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
2218 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
2219 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
2220 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
2221 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
2222 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
2223 (c_parser_omp_for_loop): Add CODE argument, pass it through
2224 to c_finish_omp_for. Change last argument to cclauses,
2225 and adjust uses to grab parallel clauses from the array of all
2226 the split clauses. Adjust c_parser_binary_expression,
2227 c_parser_declaration_or_fndef and c_finish_omp_for callers.
2228 (omp_split_clauses): New function.
2229 (c_parser_omp_simd): New function.
2230 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
2231 Allow the function to be called also when parsing combined constructs,
2232 and call c_parser_omp_simd when parsing for simd.
2233 (c_parser_omp_sections_scope): If section-sequence doesn't start with
2234 #pragma omp section, require exactly one structured-block instead of
2235 sequence of statements.
2236 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
2237 Allow the function to be called also when parsing combined constructs.
2238 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
2239 Allow the function to be called also when parsing combined
2240 constructs.
2241 (c_parser_omp_taskgroup, c_parser_omp_cancel,
2242 c_parser_omp_cancellation_point, c_parser_omp_distribute,
2243 c_parser_omp_teams, c_parser_omp_target_data,
2244 c_parser_omp_target_update, c_parser_omp_target,
2245 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
2246 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
2247 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
2248 (c_parser_omp_construct): Add p_name and mask vars. Handle
2249 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
2250 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
2251 and c_parser_omp_sections callers.
2252 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
2253 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
2254 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
2255 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
2256 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
2257 OMP_CLAUSE_DEPEND.
2258 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
2259 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
2260 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
2261 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
2262 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
2263 * c-typeck.c: Include tree-inline.h.
2264 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
2265 handle_omp_array_sections_1, handle_omp_array_sections,
2266 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
2267 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
2268 user defined reductions.
2269 (c_tree_equal): New function.
2270 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
2271 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
2272 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
2273 c_check_omp_declare_reduction_r): New prototypes.
2274 * c-decl.c (current_omp_declare_target_attribute): New variable.
2275 (c_decl_attributes): New function.
2276 (start_decl, start_function): Use it instead of decl_attributes.
2277 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
2278 c_omp_reduction_decl, c_omp_reduction_lookup,
2279 c_check_omp_declare_reduction_r): New functions.
2280
3ce7d1bd 22812013-09-25 Tom Tromey <tromey@redhat.com>
2282
2283 * Make-lang.in (c/gccspec.o): Remove.
2284 (CFLAGS-c/gccspec.o): New variable.
2285 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
2286 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
2287 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
2288
96da1c1d 22892013-09-25 Tom Tromey <tromey@redhat.com>
2290
2291 * Make-lang.in (c/gccspec.o): Don't use subshell.
2292
1b309377 22932013-09-18 Marek Polacek <polacek@redhat.com>
2294
2295 PR sanitize/58443
2296 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
2297 Remove unnecessary check.
2298
05f893e1 22992013-09-18 Marek Polacek <polacek@redhat.com>
2300
2301 PR sanitizer/58411
2302 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
2303 no_sanitize_undefined attribute.
2304
bda0b9d2 23052013-09-13 Kai Tietz <ktietz@redhat.com>
2306
2307 PR target/57848
2308 * c-decl.c (c_builtin_function_ext_scope): Remove
2309 wrong assumption that it is never called on prexisting
2310 symbol.
2311
73437615 23122013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
2313
2314 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
2315
eaab24b9 23162013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2317
2318 * c-objc-common.c (c_tree_printer): Tidy.
2319
9e46467d 23202013-08-30 Marek Polacek <polacek@redhat.com>
2321
2322 * c-typeck.c (build_binary_op): Add division by zero and shift
2323 instrumentation.
2324
f8234178 23252013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
f9086116 2326 Joseph Myers <joseph@codesourcery.com>
f8234178 2327
c90a7d10 2328 PR c/35649
f8234178 2329 * c-typeck.c (c_common_type): Prefer double_type_node over
2330 other REAL_TYPE types with the same precision.
2331 (convert_arguments): Likewise.
2332
6f07f480 23332013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
2334
2335 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
2336 (c_initialize_diagnostics): Call a destructor for the early printer.
2337
eed6bc21 23382013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2339
2340 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
2341 printer initialization.
2342
57717943 23432013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
eed6bc21 2344
57717943 2345 PR c/57490
2346 * c-array-notation.c (fix_conditional_array_notations_1): Added a
2347 check for truth values.
2348 (expand_array_notation_exprs): Added truth values case. Removed an
2349 unwanted else. Added for-loop to walk through subtrees in default
2350 case.
2351
a94db6b0 23522013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2353
2354 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
2355
e76163a9 23562013-07-23 Joseph Myers <joseph@codesourcery.com>
2357
2358 * c-parser.c (struct c_generic_association): Fix typo.
2359
7aa04c8d 23602013-07-23 Tom Tromey <tromey@redhat.com>
2361 Joseph Myers <joseph@codesourcery.com>
2362
2363 * c-parser.c (struct c_generic_association): New.
2364 (c_generic_association_d): New typedef.
2365 (c_parser_generic_selection): New function.
2366 (c_parser_postfix_expression): Handle RID_GENERIC.
2367
76bbe4ca 23682013-07-13 Jason Merrill <jason@redhat.com>
2369
2370 PR c++/57793
2371 * c-decl.c (finish_struct): Check for too-large class.
2372
21ebaa24 23732013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 2374
2375 PR c/57821
2376 * c-typeck.c (set_init_index): When folding, check for index overflow.
2377
936c3081 23782013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2379
2380 * c-parser.c (c_parser_array_notation): Removed rejection of array
2381 notations in an array of function pointers.
2382
50acebe0 23832013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2384
2385 * c-array-notation.c (make_triplet_val_inv): New function.
2386 (create_cmp_incr): Likewise.
2387 (create_array_refs): Likewise.
2388 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
2389 Also modularized common parts between functions and called the function.
2390 (build_array_notation_expr): Likewise.
2391 (fix_conditional_array_notations_1): Likewise.
2392 (fix_array_notation_expr): Likewise.
2393 (fix_array_notation_call_expr): Likewise.
2394
01e6cdb4 23952013-06-18 Marek Polacek <polacek@redhat.com>
2396
2397 PR c/57630
2398 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
2399
6a3adac6 24002013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
2401
2402 * c-array-notation.c (build_array_notation_expr): Reject array notation
2403 mismatch between LHS and RHS even inside a call_expr. Also, removed
2404 a couple while statements that were dead code.
2405
62aab3f3 24062013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
2407
2408 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
2409 excessive precision expressions in function parameters. Also removed
2410 couple unwanted while statements.
2411
bfc83720 24122013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2413
2414 * c-array-notation.c (expand_array_notation_exprs): Added
2415 ARRAY_NOTATION_REF case.
2416
09970d67 24172013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2418
2419 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
2420 function to c-family/array-notation-common.c.
2421 (is_cilkplus_reduce_builtin): Likewise.
2422 (find_rank): Likewise.
2423 (extract_array_notation_exprs): Likewise.
2424 (replace_array_notations): Likewise.
2425 (find_inv_trees): Likewise.
2426 (replace_inv_trees): Likewise.
2427 (contains_array_notation_expr): Likewise.
2428 (find_correct_array_notation_type): Likewise.
2429 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
2430 (struct inv_list): Moved this to c-family/array-notation-common.c.
2431 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
2432
6e13bc01 24332013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
2434
2435 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
2436 reduction functions outside the for-loop. Added a check if the fundecl
2437 is non-NULL. Finally, removed an unwanted if-statement, and made the
2438 body unconditional.
2439
cc92dddc 24402013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
2441
2442 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
2443 condition of the if-statement matches the rank of else-block and then-
2444 block when array notations are used.
2445 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
2446 expression after the entire function body is parsed.
2447 (c_parser_expr_no_commas): Delayed creating array notation expressions
2448 to the end of function parsing.
2449 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
2450 whole if-statement instead of just the condition.
2451 (expand_array_notation_exprs): Added MODIFY_EXPR case.
2452
eddc63fd 24532013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
2454
2455 PR c/57474
2456 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
2457 array to NULL_TREE if they are unused. Also added a check for the
2458 field to be NULL before its fields are used in future.
2459
a2115a4a 24602013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2461
2462 PR bootstrap/57450
2463 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
2464 (build_array_notation_expr): Likewise.
2465
3c6d4197 24662013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2467
2468 * c-typeck.c (build_array_ref): Added a check to see if array's
2469 index is greater than one. If true, then emit an error.
2470 (build_function_call_vec): Exclude error reporting and checking
2471 for builtin array-notation functions.
2472 (convert_arguments): Likewise.
2473 (c_finish_return): Added a check for array notations as a return
2474 expression. If true, then emit an error.
2475 (c_finish_loop): Added a check for array notations in a loop
2476 condition. If true then emit an error.
2477 (lvalue_p): Added a ARRAY_NOTATION_REF case.
2478 (build_binary_op): Added a check for array notation expr inside
2479 op1 and op0. If present, we call another function to find correct
2480 type.
2481 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
2482 * c-parser.c (c_parser_compound_statement): Check if array
2483 notation code is used in tree, if so, then transform them into
2484 appropriate C code.
2485 (c_parser_expr_no_commas): Check if array notation is used in LHS
2486 or RHS, if so, then build array notation expression instead of
2487 regular modify.
2488 (c_parser_postfix_expression_after_primary): Added a check for
2489 colon(s) after square braces, if so then handle it like an array
2490 notation. Also, break up array notations in unary op if found.
2491 (c_parser_direct_declarator_inner): Added a check for array
2492 notation.
2493 (c_parser_compound_statement): Added a check for array notation in
2494 a stmt. If one is present, then expand array notation expr.
2495 (c_parser_if_statement): Likewise.
2496 (c_parser_switch_statement): Added a check for array notations in
2497 a switch statement's condition. If true, then output an error.
2498 (c_parser_while_statement): Similarly, but for a while.
2499 (c_parser_do_statement): Similarly, but for a do-while.
2500 (c_parser_for_statement): Similarly, but for a for-loop.
2501 (c_parser_unary_expression): Check if array notation is used in a
2502 pre-increment or pre-decrement expression. If true, then expand
2503 them.
2504 (c_parser_array_notation): New function.
2505 * c-array-notation.c: New file.
2506 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
2507
2c1c8a2c 25082013-05-23 Mike Stump <mikestump@comcast.net>
2509
2510 * c-typeck.c (convert_for_assignment): Handle references to memory
2511 spaces better.
2512
be5f9e46 25132013-05-16 Jason Merrill <jason@redhat.com>
2514
2515 * Make-lang.in (cc1$(exeext)): Use link mutex.
2516
9205a6cc 25172013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2518
2519 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
2520 to simply use OPT_Wpointer_arith.
2521 (build_unary_op): Likewise.
2522
0b049e15 25232013-04-03 Jakub Jelinek <jakub@redhat.com>
2524
2525 PR c/19449
2526 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
2527 argument. If set, or it temporarily for parsing of the first
2528 argument into force_folding_builtin_constant_p.
2529 (c_parser_postfix_expression): Adjust callers.
2530
8e966116 25312013-03-21 Richard Biener <rguenther@suse.de>
2532
2533 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
2534 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
2535
b862f263 25362013-02-12 Marek Polacek <polacek@redhat.com>
2537
2538 PR c/44938
2539 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
2540 origtypes to NULL.
2541
54550ecb 25422013-01-24 Jakub Jelinek <jakub@redhat.com>
2543
2544 PR c/56078
2545 * c-typeck.c (set_nonincremental_init_from_string): If
2546 constructor_max_index is NULL, treat it as if tree_int_cst_lt
2547 returned false.
2548 (process_init_element): Likewise.
2549
035b65e2 25502012-12-20 Jakub Jelinek <jakub@redhat.com>
2551
2552 PR c++/55619
2553 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
2554 argument, don't call default_function_array_conversion
2555 nor c_fully_fold here.
2556 (c_parser_asm_statement): Adjust callers.
2557 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
2558 and outputs here, and call default_function_array_conversion
2559 on inputs that don't need to be addressable.
2560
7cbb7f1a 25612012-12-18 Jakub Jelinek <jakub@redhat.com>
2562
2563 PR c/39464
2564 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
2565 warning require that both c_common_unsigned_type as well as
2566 c_common_signed_type is the same for both mvl and mvr types.
2567
f1f41a6c 25682012-11-16 Diego Novillo <dnovillo@google.com>
2569
2570 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
2571
2572 * c-common.c: Use new vec API in vec.h.
2573 * c-common.h: Likewise.
2574 * c-gimplify.c: Likewise.
2575 * c-pragma.c: Likewise.
2576 * c-pretty-print.c: Likewise.
2577 * c-pretty-print.h: Likewise.
2578 * c-semantics.c: Likewise.
2579 * c-decl.c: Likewise.
2580 * c-parser.c: Likewise.
2581 * c-tree.h: Likewise.
2582 * c-typeck.c: Likewise.
2583
8b447d3f 25842012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2585
2586 PR c++/54930
2587 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
2588
08fc5390 25892012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2590
2591 PR c/53066
2592 * c-decl.c (warn_if_shadowing): Do not warn if a variable
2593 shadows a function, unless the variable is a function or a
2594 pointer-to-function.
2595
57f872a2 25962012-10-12 Jakub Jelinek <jakub@redhat.com>
2597
2598 PR c/54381
2599 * c-parser.c (struct c_tree_loc_pair): Removed.
2600 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
2601 add location_t * and tree * arguments, fill in array of 3
2602 sizeof_arg trees and corresponding locs.
2603 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
2604 c_parser_expr_list callers.
2605 (c_parser_postfix_expression_after_primary): Likewise. Pass
2606 array of 3 sizeof_arg trees and locs (corresponding to first
2607 3 arguments) to sizeof_pointer_memaccess_warning.
2608
d1455aa3 26092012-10-09 Lawrence Crowl <crowl@google.com>
2610
2611 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
2612 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
2613 hash table.
2614
b0e7825e 26152012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2616
2617 PR c++/54194
2618 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
2619 call.
2620
41ed701a 26212012-10-09 Marc Glisse <marc.glisse@inria.fr>
2622
2623 PR c++/54427
2624 * c-typeck.c: Include c-common.h.
2625 (enum stv_conv): Moved to c-common.h.
2626 (scalar_to_vector): Moved to c-common.c.
2627 (build_binary_op): Adapt to scalar_to_vector's new prototype.
2628 * Make-lang.in: c-typeck.c depends on c-common.h.
2629
ef34afc1 26302012-10-04 Arnaud Charlet <charlet@adacore.com>
2631
2632 * c-decl.c (c_write_global_declarations): Fix handling of
2633 -fdump-ada-spec*.
2634
7bd765d4 26352012-09-30 Sharad Singhai <singhai@google.com>
2636
2637 * c-decl.c (c_write_global_declarations): Use a different method
2638 to determine if the dump has ben initialized.
2639
c4b1a13a 26402012-09-14 Joseph Myers <joseph@codesourcery.com>
2641
2642 PR c/54552
2643 * c-typeck.c (c_cast_expr): When casting to a type requiring
2644 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
2645 c_fully_fold first.
2646
bb554051 26472012-09-14 Joseph Myers <joseph@codesourcery.com>
2648
2649 PR c/54103
2650 * c-typeck.c (build_unary_op): Pass original argument of
2651 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
2652 any C_MAYBE_CONST_EXPR, if it has integer operands.
2653 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
2654 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
2655 to c_objc_common_truthvalue_conversion, then remove any
2656 C_MAYBE_CONST_EXPR, if they have integer operands. Use
2657 c_objc_common_truthvalue_conversion not
2658 c_common_truthvalue_conversion.
2659 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2660 call note_integer_operands for arguments with integer operands
2661 that are not integer constants.
2662
c708c6ef 26632012-09-13 Jakub Jelinek <jakub@redhat.com>
2664
2665 PR c/54559
2666 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2667 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2668
cce20430 26692012-08-31 Jakub Jelinek <jakub@redhat.com>
2670
2671 PR c/54428
2672 * c-convert.c (convert): Don't call fold_convert_loc if
2673 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
2674 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
2675 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
2676
a90d57ed 26772012-08-24 Jakub Jelinek <jakub@redhat.com>
2678
2679 PR c/54355
2680 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
2681 for nested and empty_ok arguments in the call to
2682 c_parser_declaration_or_fndef.
2683
f003f5dc 26842012-08-17 Jakub Jelinek <jakub@redhat.com>
2685
2686 * c-tree.h (c_last_sizeof_arg): Declare.
2687 * c-parser.c (struct c_tree_loc_pair): New type.
2688 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
2689 non-NULL.
2690 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
2691 (c_parser_postfix_expression_after_primary): Likewise. Call
2692 sizeof_pointer_memaccess_warning if needed.
2693 (sizeof_ptr_memacc_comptypes): New function.
2694 * c-typeck.c (c_last_sizeof_arg): New global variable.
2695 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
2696
a5656b73 26972012-07-24 Uros Bizjak <ubizjak@gmail.com>
2698
2699 * c-lang.h (lang_decl): Add variable_size GTY option.
2700
b9ed1410 27012012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2702
2703 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
2704 * Make-lang.in: Fix dependencies.
2705
e53d55e7 27062012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2707
2708 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
2709 and add language Makefile hooks.
2710 * config-lang.in: New file.
2711 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
2712 add the required "normal" config-lang.in rules.
2713 * c-lang.h: Moved from gcc/ to here.
2714 * c-tree.h: Likewise.
2715 * c-objc-common.c: Likewise.
2716 * c-objc-common.h: Likewise.
2717 * c-typeck.c: Likewise.
2718 * c-convert.c: Likewise.
2719 * c-lang.c: Likewise.
2720 * c-aux-info.c: Likewise.
2721 * c-errors.c: Likewise.
2722 * gccspec.c: Likewise.
2723 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
2724 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
2725\f
d353bf18 2726Copyright (C) 2012-2015 Free Software Foundation, Inc.
e53d55e7 2727
2728Copying and distribution of this file, with or without modification,
2729are permitted in any medium without royalty provided the copyright
2730notice and this notice are preserved.