]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
C++: provide macro used-before-defined hint (PR c++/72786)
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
dd008336 12017-11-20 David Malcolm <dmalcolm@redhat.com>
2
3 * c-decl.c: Define INCLUDE_UNIQUE_PTR before including system.h.
4 Include "c-family/name-hint.h"
5 (implicit_decl_warning): Convert "hint" from
6 const char * to name_hint. Pass location to
7 lookup_name_fuzzy. Suppress any deferred diagnostic if the
8 warning was not printed.
9 (undeclared_variable): Likewise for "guessed_id".
10 (lookup_name_fuzzy): Convert return type from const char *
11 to name_hint. Add location_t param.
12 * c-parser.c: Define INCLUDE_UNIQUE_PTR before including system.h.
13 Include "c-family/name-hint.h"
14 (c_parser_declaration_or_fndef): Convert "hint" from
15 const char * to name_hint. Pass location to lookup_name_fuzzy.
16 (c_parser_parameter_declaration): Likewise.
17
69cd03b2 182017-11-19 Jakub Jelinek <jakub@redhat.com>
19
20 PR c/66618
21 PR c/69960
22 * c-parser.c (c_parser_omp_atomic): Pass true as LVAL to c_fully_fold
23 where needed.
24 * c-typeck.c (build_unary_op, build_modify_expr, build_asm_expr,
25 handle_omp_array_sections): Likewise.
26 (digest_init): Don't call decl_constant_value_for_optimization.
27 * c-tree.h (decl_constant_value_for_optimization): Removed.
28 * c-fold.c (c_fold_array_ref): New function.
29 (c_fully_fold_internal): Add LVAL argument, propagate it through
30 recursive calls. For VAR_P call decl_constant_value and
31 unshare if not LVAL and either optimizing or IN_INIT. Remove
32 decl_constant_value_for_optimization calls. If IN_INIT and not LVAL,
33 fold ARRAY_REF with STRING_CST and INTEGER_CST operands.
34 (c_fully_fold): Add LVAL argument, pass it through to
35 c_fully_fold_internal.
36 (decl_constant_value_for_optimization): Removed.
37
aac64699 382017-11-15 Joseph Myers <joseph@codesourcery.com>
39
40 PR c/81156
41 * c-parser.c (check_tgmath_function): New function.
42 (enum tgmath_parm_kind): New enum.
43 (c_parser_postfix_expression): Handle __builtin_tgmath.
44
3b6578b3 452017-10-31 David Malcolm <dmalcolm@redhat.com>
46
47 * c-decl.c (implicit_decl_warning): Update for renaming of
48 pedwarn_at_rich_loc and warning_at_rich_loc.
49 (implicitly_declare): Likewise for renaming of inform_at_rich_loc.
50 (undeclared_variable): Likewise for renaming of error_at_rich_loc.
51 * c-parser.c (c_parser_declaration_or_fndef): Likewise.
52 (c_parser_struct_or_union_specifier): Likewise for renaming of
53 pedwarn_at_rich_loc.
54 (c_parser_parameter_declaration): Likewise for renaming of
55 error_at_rich_loc.
56 * c-typeck.c (build_component_ref): Likewise.
57 (build_unary_op): Likewise for renaming of inform_at_rich_loc.
58 (pop_init_level): Likewise for renaming of warning_at_rich_loc.
59 (set_init_label): Likewise for renaming of error_at_rich_loc.
60
c22b2783 612017-10-30 Richard Biener <rguenther@suse.de>
62
63 * gimple-parser.c (c_parser_gimple_statement): Parse conditional
64 stmts.
65
8c32188e 662017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
67
68 * c-decl.c (header_for_builtin_fn): Add support for copysign, fma,
69 fmax, fmin, and sqrt _Float<N> and _Float<N>X variants.
70
133bd9b8 712017-10-25 David Malcolm <dmalcolm@redhat.com>
72
73 PR c/7356
74 * c-parser.c (c_parser_declaration_or_fndef): Detect missing
75 semicolons.
76
ac50cb09 772017-10-25 Jakub Jelinek <jakub@redhat.com>
78
79 PR libstdc++/81706
80 * c-decl.c (merge_decls): Copy "omp declare simd" attributes from
81 newdecl to corresponding __builtin_ if any.
82
41ca0095 832017-10-24 Paolo Carlini <paolo.carlini@oracle.com>
84
85 PR c++/82466
86 * c-decl.c (diagnose_mismatched_decls): Use
87 OPT_Wbuiltin_declaration_mismatch.
88
74578794 892017-10-12 David Malcolm <dmalcolm@redhat.com>
90
91 * c-parser.c (c_parser_require): Add "type_is_unique" param and
92 use it to guard calls to maybe_suggest_missing_token_insertion.
93 (c_parser_parms_list_declarator): Override default value of new
94 "type_is_unique" param to c_parser_require.
95 (c_parser_asm_statement): Likewise.
96 * c-parser.h (c_parser_require): Add "type_is_unique" param,
97 defaulting to true.
98
3bdf5a5d 992017-10-11 Nathan Sidwell <nathan@acm.org>
100
101 * c-decl.c (grokdeclarator): Check HAS_DECL_ASSEMBLER_NAME_P too.
102
e3d0f65c 1032017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
104
105 * c-parser.c (c_parser_cilk_clause_vectorlength): Use wi::to_wide when
106 operating on trees as wide_ints.
107 * c-typeck.c (build_c_cast, c_finish_omp_clauses): Likewise.
108 (c_tree_equal): Likewise.
109
b6fde48e 1102017-10-04 David Malcolm <dmalcolm@redhat.com>
111
112 * c-decl.c (push_parm_decl): Store c_parm's location into the
113 PARAM_DECL.
114 (build_c_parm): Add "loc" param and store it within the c_parm.
115 * c-parser.c (struct c_parser): Add "last_token_location" field.
116 (c_parser_consume_token): Store location of the token into the
117 new field.
118 (c_parser_declaration_or_fndef): Store params into DECL_ARGUMENTS
119 when handling a FUNCTION_DECL, if it doesn't already have them.
120 (c_parser_parameter_declaration): Generate a location for the
121 parameter, and pass it to the call to build_c_parm.
122 * c-tree.h (struct c_parm): Add field "loc".
123 (build_c_parm): Add location_t param.
124 * c-typeck.c (get_fndecl_argument_location): New function.
125 (inform_for_arg): New function.
126 (convert_for_assignment): Use inform_for_arg when dealing with
127 ic_argpass.
128
e786f452 1292017-09-29 Jakub Jelinek <jakub@redhat.com>
130
52f26f82 131 * c-decl.c (grokfield): Use SET_DECL_C_BIT_FIELD here if
132 width is non-NULL.
133 (finish_struct): Test DECL_C_BIT_FIELD instead of DECL_INITIAL,
134 don't SET_DECL_C_BIT_FIELD here.
135
e786f452 136 PR c/82340
137 * c-decl.c (build_compound_literal): Use c_apply_type_quals_to_decl
138 instead of trying to set just TREE_READONLY manually.
139
93b7a91b 1402017-09-16 Tom de Vries <tom@codesourcery.com>
141
142 PR c/81875
143 * c-parser.c (c_parser_omp_for_loop): Fold only operands of cond, not
144 cond itself.
145
3507457a 1462017-09-15 Joseph Myers <joseph@codesourcery.com>
147
148 PR c/82071
149 * c-typeck.c (ep_convert_and_check): Just call convert_and_check
150 for C11.
151 (build_conditional_expr): For C11, generate result with excess
152 precision when one argument is an integer and the other is of a
153 type using excess precision.
154
7ceee42d 1552017-09-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
156
157 * c-typeck.c (build_c_cast): Implement -Wcast-align=strict.
158
2be90a05 1592017-09-13 Marek Polacek <polacek@redhat.com>
160
161 PR c/82167
162 * c-typeck.c (c_expr_sizeof_expr): Use the type of expr.value rather
163 than expr.original_type.
164
daf40ee6 1652017-09-12 Nathan Sidwell <nathan@acm.org>
166
167 * c-decl.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
168 resort_sorted_fields): Moved from c-family/c-common.c.
169 * c-lang.h (struct sorted_fields_type): Moved from c-family/c-common.h.
170
de7757ed 1712017-09-01 Joseph Myers <joseph@codesourcery.com>
172
173 PR c/82071
174 * c-typeck.c (build_atomic_assign): Handle argument with excess
175 precision. Ensure any EXCESS_PRECISION_EXPR is present in
176 argument passed to build_binary_op and convert_for_assignment but
177 not for call to c_fully_fold.
178 (build_modify_expr): Do not remove EXCESS_PRECISION_EXPR early.
179 Ensure build_binary_op is called with argument with original
180 semantic type. Avoid calling c_fully_fold with an
181 EXCESS_PRECISION_EXPR from build_binary_op.
182
1e52a582 1832017-09-01 Jakub Jelinek <jakub@redhat.com>
184
185 PR c/81887
186 * c-parser.c (c_parser_omp_ordered): Handle -fopenmp-simd.
187
3d2b0034 1882017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
189 Alan Hayward <alan.hayward@arm.com>
190 David Sherwood <david.sherwood@arm.com>
191
192 * c-typeck.c (build_binary_op): Use SCALAR_TYPE_MODE.
193 (c_common_type): Likewise. Use as_a <scalar_mode> when setting
194 m1 and m2 to the signed equivalent of a fixed-point
195 SCALAR_TYPE_MODE.
196
0bdd7941 1972017-08-24 David Malcolm <dmalcolm@redhat.com>
198
199 * c-tree.h (c_expr::get_location) Use EXPR_HAS_LOCATION rather
200 than CAN_HAVE_LOCATION_P when determining whether to use the
201 location_t value within "value".
202
43f0de17 2032017-08-21 David Malcolm <dmalcolm@redhat.com>
204
205 * c-parser.c (c_parser_expr_list): Use c_expr::get_location ()
206 rather than peeking the location of the first token.
207 * c-tree.h (c_expr::get_location): New method.
208
a115c319 2092017-08-21 David Malcolm <dmalcolm@redhat.com>
210
211 * c-typeck.c (build_function_call_vec): Pass arg_loc to call
212 to check_function_arguments.
213
23bafc2f 2142017-08-18 Marek Polacek <polacek@redhat.com>
215
216 * c-parser.c (c_parser_postfix_expression): Remove unused code. Update
217 commentary.
218
4bec7283 2192017-08-18 H.J. Lu <hongjiu.lu@intel.com>
220
221 PR c/53037
222 * c-decl.c (merge_decls): Also merge DECL_WARN_IF_NOT_ALIGN.
223 (check_bitfield_type_and_width): Don't allow bit-field with
224 warn_if_not_aligned type.
225
c8616982 2262017-08-14 Martin Sebor <msebor@redhat.com>
227
228 PR c/81117
229 * c-objc-common.c (c_objc_common_init): Handle 'G'.
230
0eb79e8b 2312017-08-11 Marek Polacek <polacek@redhat.com>
232
233 PR c/81795
234 * c-decl.c (pushtag): Only print inform if the warning was printed.
235 (grokdeclarator): Likewise.
236
3fe34694 2372017-08-10 David Malcolm <dmalcolm@redhat.com>
238
239 * c-parser.c (c_parser_error): Rename to...
240 (c_parser_error_richloc): ...this, making static, and adding
241 "richloc" parameter, passing it to the c_parse_error call,
242 rather than calling c_parser_set_source_position_from_token.
243 (c_parser_error): Reintroduce, reimplementing in terms of the
244 above, converting return type from void to bool.
245 (class token_pair): New class.
246 (struct matching_paren_traits): New struct.
247 (matching_parens): New typedef.
248 (struct matching_brace_traits): New struct.
249 (matching_braces): New typedef.
250 (get_matching_symbol): New function.
251 (c_parser_require): Add param MATCHING_LOCATION, using it to
252 highlight matching "opening" tokens for missing "closing" tokens.
253 (c_parser_skip_until_found): Likewise.
254 (c_parser_static_assert_declaration_no_semi): Convert explicit
255 parsing of CPP_OPEN_PAREN and CPP_CLOSE_PAREN to use of
256 class matching_parens, so that the pertinent open parenthesis is
257 highlighted when there are problems locating the close
258 parenthesis.
259 (c_parser_struct_or_union_specifier): Likewise.
260 (c_parser_typeof_specifier): Likewise.
261 (c_parser_alignas_specifier): Likewise.
262 (c_parser_simple_asm_expr): Likewise.
263 (c_parser_braced_init): Likewise, for matching_braces.
264 (c_parser_paren_condition): Likewise, for matching_parens.
265 (c_parser_switch_statement): Likewise.
266 (c_parser_for_statement): Likewise.
267 (c_parser_asm_statement): Likewise.
268 (c_parser_asm_operands): Likewise.
269 (c_parser_cast_expression): Likewise.
270 (c_parser_sizeof_expression): Likewise.
271 (c_parser_alignof_expression): Likewise.
272 (c_parser_generic_selection): Likewise.
273 (c_parser_postfix_expression): Likewise for cases RID_VA_ARG,
274 RID_OFFSETOF, RID_TYPES_COMPATIBLE_P, RID_AT_SELECTOR,
275 RID_AT_PROTOCOL, RID_AT_ENCODE, reindenting as necessary.
276 In case CPP_OPEN_PAREN, pass loc_open_paren to the
277 c_parser_skip_until_found call.
278 (c_parser_objc_class_definition): Use class matching_parens as
279 above.
280 (c_parser_objc_method_decl): Likewise.
281 (c_parser_objc_try_catch_finally_statement): Likewise.
282 (c_parser_objc_synchronized_statement): Likewise.
283 (c_parser_objc_at_property_declaration): Likewise.
284 (c_parser_oacc_wait_list): Likewise.
285 (c_parser_omp_var_list_parens): Likewise.
286 (c_parser_omp_clause_collapse): Likewise.
287 (c_parser_omp_clause_default): Likewise.
288 (c_parser_omp_clause_if): Likewise.
289 (c_parser_omp_clause_num_threads): Likewise.
290 (c_parser_omp_clause_num_tasks): Likewise.
291 (c_parser_omp_clause_grainsize): Likewise.
292 (c_parser_omp_clause_priority): Likewise.
293 (c_parser_omp_clause_hint): Likewise.
294 (c_parser_omp_clause_defaultmap): Likewise.
295 (c_parser_oacc_single_int_clause): Likewise.
296 (c_parser_omp_clause_ordered): Likewise.
297 (c_parser_omp_clause_reduction): Likewise.
298 (c_parser_omp_clause_schedule): Likewise.
299 (c_parser_omp_clause_num_teams): Likewise.
300 (c_parser_omp_clause_thread_limit): Likewise.
301 (c_parser_omp_clause_aligned): Likewise.
302 (c_parser_omp_clause_linear): Likewise.
303 (c_parser_omp_clause_safelen): Likewise.
304 (c_parser_omp_clause_simdlen): Likewise.
305 (c_parser_omp_clause_depend): Likewise.
306 (c_parser_omp_clause_map): Likewise.
307 (c_parser_omp_clause_device): Likewise.
308 (c_parser_omp_clause_dist_schedule): Likewise.
309 (c_parser_omp_clause_proc_bind): Likewise.
310 (c_parser_omp_clause_uniform): Likewise.
311 (c_parser_omp_for_loop): Likewise.
312 (c_parser_cilk_clause_vectorlength): Likewise.
313 (c_parser_cilk_clause_linear): Likewise.
314 (c_parser_transaction_expression): Likewise.
315 * c-parser.h (c_parser_require): Add param matching_location with
316 default UNKNOWN_LOCATION.
317 (c_parser_error): Convert return type from void to bool.
318 (c_parser_skip_until_found): Add param matching_location with
319 default UNKNOWN_LOCATION.
320
623ee358 3212017-08-09 Marek Polacek <polacek@redhat.com>
322
323 * c-decl.c (build_enumerator): Use true/false instead of 1/0.
324 * c-tree.h (build_external_ref): Update declaration.
325 * c-typeck.c (build_array_ref): Use true/false instead of 1/0.
326 (build_external_ref): Change the type of a parameter to bool.
327 (parser_build_binary_op): Use true/false instead of 1/0.
328 (pointer_diff): Likewise.
329 (build_modify_expr): Likewise.
330 (set_designator): Change the type of a parameter to bool.
331 (set_init_index): Use true/false instead of 1/0.
332 (set_init_label): Likewise.
333 (output_init_element): Change the type of a parameter to bool.
334 (output_pending_init_elements): Use true/false instead of 1/0.
335 (process_init_element): Likewise.
336 (build_binary_op): Change the type of a parameter to bool.
337
88539b96 3382017-08-09 Marek Polacek <polacek@redhat.com>
339
340 PR c/81233
341 * c-typeck.c (pedwarn_init): Make the function take a variable list.
342 Call emit_diagnostic_valist instead of pedwarn.
343 (convert_for_assignment): Unroll the PEDWARN_FOR_ASSIGNMENT macro.
344 Print the relevant types in diagnostics.
345
cb4d9ee2 3462017-08-09 Marek Polacek <polacek@redhat.com>
347
348 PR c/81417
349 * c-array-notation.c (fix_builtin_array_notation_fn): Update calls to
350 build_conditional_expr.
351 * c-parser.c (c_parser_conditional_expression): Create locations for
352 EXP1 and EXP2 from their source ranges. Pass the locations down to
353 build_conditional_expr.
354 * c-tree.h (build_conditional_expr): Update declaration.
355 * c-typeck.c (build_conditional_expr): Add location_t parameters.
356 For -Wsign-compare, also print the types.
357
30a86690 3582017-08-08 Martin Liska <mliska@suse.cz>
359
360 * c-convert.c: Include header files.
361 * c-typeck.c: Likewise.
362
1610e7fb 3632017-08-07 Martin Liska <mliska@suse.cz>
364
365 * c-parser.c (c_parser_attributes): Canonicalize name of an
366 attribute.
367
9b184593 3682017-08-02 Marek Polacek <polacek@redhat.com>
369
370 PR c/81289
371 * c-parser.c (c_parser_unary_expression): Use set_error.
372
ef85bba9 373 PR c/81448
374 PR c/81306
375 * c-warn.c (warn_for_multistatement_macros): Prevent bogus
376 warnings. Avoid walking MACRO_MAP_LOCATIONS.
377
38ef3642 3782017-07-31 Jan Hubicka <hubicka@ucw.cz>
379 Martin Liska <mliska@suse.cz>
380
381 * c-typeck.c (c_finish_goto_label): Build gimple predict
9b184593 382 statement.
38ef3642 383
dadc219c 3842017-07-31 Martin Liska <mliska@suse.cz>
385
386 PR sanitize/81530
387 * c-convert.c (convert): Guard condition with flag_sanitize_p
388 also with current_function_decl non-null equality.
389 * c-decl.c (grokdeclarator): Likewise.
390 * c-typeck.c (build_binary_op): Likewise.
391
abec4134 3922017-07-25 Marek Polacek <polacek@redhat.com>
393
394 * c-decl.c (grokfield): Remove local variable.
395
662c96a9 3962017-07-25 Marek Polacek <polacek@redhat.com>
397
398 PR c/81364
399 * c-parser.c (c_parser_else_body): Don't warn about multistatement
400 macro expansion if the body is in { }.
401 (c_parser_while_statement): Likewise.
402 (c_parser_for_statement): Likewise.
403
a8de6c92 4042017-07-18 Nathan Sidwell <nathan@acm.org>
405
406 * c-parser.c (c_parser_array_notation): Use TYPE_{MIN,MAX}_VALUE.
407
7f9c8569 4082017-07-14 David Malcolm <dmalcolm@redhat.com>
409
410 * c-decl.c (implicitly_declare): When suggesting a missing
411 #include, provide a fix-it hint.
412
7051d239 4132017-07-06 David Malcolm <dmalcolm@redhat.com>
414
415 * c-lang.c (selftest::run_c_tests): Move body to c_family_tests,
416 and call that instead.
417 * c-tree.h (selftest::run_c_tests): New decl.
418
2bfb0686 4192017-06-26 Marek Polacek <polacek@redhat.com>
420
421 PR c/80116
422 * c-parser.c (c_parser_if_body): Set the location of the
423 body of the conditional after parsing all the labels. Call
424 warn_for_multistatement_macros.
425 (c_parser_else_body): Likewise.
426 (c_parser_switch_statement): Likewise.
427 (c_parser_while_statement): Likewise.
428 (c_parser_for_statement): Likewise.
429 (c_parser_statement): Add a default argument. Save the location
430 after labels have been parsed.
431 (c_parser_c99_block_statement): Likewise.
432
edd07ff6 4332017-06-19 Richard Biener <rguenther@suse.de>
434
435 * gimple-parser.c (c_parser_gimple_postfix_expression): Handle
436 negated _Literals to parse _Literal (int) -1.
437
9917317a 4382017-06-13 Martin Liska <mliska@suse.cz>
439
440 PR sanitize/78204
441 * c-convert.c (convert): Use sanitize_flags_p.
442 * c-decl.c (grokdeclarator): Likewise.
443 * c-typeck.c (convert_for_assignment): Likewise.
444 (c_finish_return): Likewise.
445 (build_binary_op): Likewise.
446
37ce62dc 4472017-06-08 Jakub Jelinek <jakub@redhat.com>
448
449 PR c/81006
450 * c-typeck.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE
451 to sizetype before size_binop.
452
73714718 4532017-06-07 Jakub Jelinek <jakub@redhat.com>
454
455 * gimple-parser.c (c_parser_parse_gimple_body): Use TDI_gimple instead
456 of TDI_generic.
457
1d1d0f37 4582017-06-06 Marek Polacek <polacek@redhat.com>
459
460 PR c/79983
461 * c-decl.c (start_struct): Use the location of TYPE_STUB_DECL of
462 ref.
463 (start_enum): Use the location of TYPE_STUB_DECL of enumtype.
464
0ca70bfd 4652017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
466
467 * c-parser.c (c_parser_binary_expression): Implement the
468 -Wsizeof_pointer_div warning.
469 (c_parser_postfix_expression): Allow SIZEOF_EXPR as expr.original_code
470 from a parenthesized expression.
471 (c_parser_expr_list): Use c_last_sizeof_loc.
472 * c-tree.h (c_last_sizeof_loc): New external.
473 * c-typeck.c (c_last_sizeof_loc): New variable.
474 (c_expr_sizeof_expr, c_expr_sizeof_type): Assign c_last_sizeof_loc.
475
8c7a5be5 4762017-05-31 Mikhail Maltsev <maltsevm@gmail.com>
477
478 PR testsuite/80580
479 * gimple-parser.c (c_parser_gimple_if_stmt): Check for empty labels.
480
4d1eda3a 4812017-05-30 David Malcolm <dmalcolm@redhat.com>
482
483 * c-objc-common.c (c_tree_printer): Gain bool and const char **
484 parameters.
485
645b0f8d 4862017-05-24 Martin Sebor <msebor@redhat.com>
487
488 PR c/80731
489 * c-fold.c (c_fully_fold_internal): Adjust.
490 * c-typeck.c (parser_build_unary_op): Adjust.
491
9d5c2cca 4922017-05-23 Thomas Schwinge <thomas@codesourcery.com>
493
494 * c-parser.c (OACC_KERNELS_CLAUSE_MASK): Add
495 "PRAGMA_OACC_CLAUSE_NUM_GANGS", "PRAGMA_OACC_CLAUSE_NUM_WORKERS",
496 "VECTOR_LENGTH".
497
50253e07 4982017-05-23 Marek Polacek <polacek@redhat.com>
499
500 * c-parser.c (c_parser_compound_statement_nostart): Remove redundant
501 quotes.
502
5c05c939 5032017-05-22 Jakub Jelinek <jakub@redhat.com>
504
505 * c-fold.c (c_fully_fold_internal): Save the c_fully_fold_internal
506 result for SAVE_EXPR operand and set SAVE_EXPR_FOLDED_P even if
507 it returned invariant. Call tree_invariant_p unconditionally
508 afterwards to decide whether to return expr or op0.
509
88df6264 5102017-05-22 Nathan Sidwell <nathan@acm.org>
511
512 * c-decl.c (c_parse_final_cleanups): Drop TDI_tu handling.
513
6acf639f 5142017-05-19 Thomas Schwinge <thomas@codesourcery.com>
515
516 * c-parser.c (c_parser_omp_clause_default): Handle
517 "OMP_CLAUSE_DEFAULT_PRESENT".
518
1bccae6b 5192017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
520
521 * config-lang.in (gtfiles): Add c-family/c-format.c.
522
8eb8a179 5232017-05-18 Nathan Sidwell <nathan@acm.org>
524
525 * c-decl.c (pushdecl_top_level): Delete unused function.
526
78173203 5272017-05-18 Marek Polacek <polacek@redhat.com>
528
529 * c-decl.c (match_builtin_function_types): Use NULL_TREE instead of 0.
530 (check_earlier_gotos): Likewise.
531 (define_label): Likewise.
532 (pending_xref_error): Likewise.
533 (smallest_type_quals_location): Likewise.
534 (grokdeclarator): Likewise.
535 (grokparms): Likewise.
536 (identifier_global_value): Likewise.
537 * c-typeck.c (set_nonincremental_init_from_string): Likewise.
538 (find_init_member): Likewise.
539
2823920b 5402017-05-18 Marek Polacek <polacek@redhat.com>
541
542 * c-decl.c (start_decl): Use false/true instead of 0/1.
543 (grokdeclarator): Likewise.
544 (finish_struct): Likewise.
545 (start_function): Change the return type to bool. Use false/true
546 instead of 0/1.
547 (declspecs_add_qual): Use UNKNOWN_LOCATION instead of 0.
548 * c-tree.h (start_function): Update.
549 * c-typeck.c (same_translation_unit_p): Change the return type to bool.
550 (set_designator): Change the return type to bool. Use false/true
551 instead of 0/1.
552
72749341 5532017-05-17 Marek Polacek <polacek@redhat.com>
554
555 * c-decl.c: Use NULL_TREE instead of 0 where appropriate.
556 * c-typeck.c: Likewise.
557
63b8aca5 5582017-05-17 Marek Polacek <polacek@redhat.com>
559
560 PR sanitizer/80659
561 * c-decl.c (build_compound_literal): Set DECL_ARTIFICIAL and
562 DECL_IGNORED_P even for non-static compound literals.
563
3f6e5ced 5642017-05-17 Martin Liska <mliska@suse.cz>
565
566 * c-decl.c (c_parse_final_cleanups): Introduce dump_flags_t type and
567 use it instead of int type.
568
d0869ea4 5692017-05-17 Marek Polacek <polacek@redhat.com>
570
571 * c-convert.c (convert): Replace c_save_expr with save_expr. Don't
572 call c_fully_fold.
573 (convert) <case COMPLEX_TYPE>: Remove special handling of COMPLEX_TYPEs.
574 * c-decl.c (grokdeclarator): Replace c_save_expr with save_expr.
575 * c-fold.c (c_fully_fold_internal): Handle SAVE_EXPR.
576 * c-parser.c (c_parser_declaration_or_fndef): Replace c_save_expr with
577 save_expr.
578 (c_parser_conditional_expression): Likewise.
579 * c-tree.h (SAVE_EXPR_FOLDED_P): Define.
580 * c-typeck.c (build_modify_expr): Replace c_save_expr with save_expr.
581 (process_init_element): Likewise.
582 (build_binary_op): Likewise.
583 (handle_omp_array_sections_1): Likewise.
584
641fc3ae 5852017-05-12 Thomas Schwinge <thomas@codesourcery.com>
586
587 * c-parser.c (c_parser_omp_clause_num_gangs)
588 (c_parser_omp_clause_num_workers)
589 (c_parser_omp_clause_vector_length): Merge functions into...
590 (c_parser_oacc_single_int_clause): ... this new function. Adjust
591 all users.
592
930c75f4 5932017-05-11 Nathan Sidwell <nathan@acm.org>
594
595 * gimple-parser.c: Don't #include tree-dump.h.
596
22ba59df 5972017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
598
599 PR testsuite/80580
600 * gimple-parser.c (c_parser_parse_ssa_name): Validate SSA name base.
601
e58d47fc 6022017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
603
604 PR testsuite/80580
605 * gimple-parser.c (c_parser_gimple_postfix_expression): Handle
606 incorrect __MEM syntax.
607
a38eda85 6082017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
609
610 PR testsuite/80580
611 * gimple-parser.c (c_parser_gimple_unary_expression): Check argument
612 type of unary '*'.
613
cdf05a3f 6142017-05-09 Nathan Sidwell <nathan@acm.org>
615
616 * c-tree.h (pushdecl): Declare.
617
56b8400f 6182017-05-05 David Malcolm <dmalcolm@redhat.com>
619
620 * c-decl.c (warn_defaults_to): Replace report_diagnostic
621 with diagnostic_report_diagnostic.
622 * c-errors.c (pedwarn_c99): Likewise.
623 (pedwarn_c90): Likewise.
624
92bc38e7 6252017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
626
627 PR c++/80038
628 * c-gimplify.c (c_gimplify_expr): Remove calls to
629 cilk_gimplifY_call_params_in_spawned_fn.
630
112e1c2c 6312017-04-25 David Malcolm <dmalcolm@redhat.com>
632
633 * c-parser.c (c_parser_struct_or_union_specifier): Add fix-it
634 hint for removing extra semicolon.
635
0b515531 6362017-04-21 Jakub Jelinek <jakub@redhat.com>
637
638 PR c/80468
639 * c-decl.c (finish_declspecs) <case cts_int_n>: If int_n_idx is not
640 enabled, set specs->type to integer_type_node.
641
2fbe7a32 6422017-04-03 Jonathan Wakely <jwakely@redhat.com>
643
644 * c-array-notation.c: Fix typo in comment.
645
3582b9a6 6462017-03-29 Marek Polacek <polacek@redhat.com>
647
648 PR c/79730
649 * c-decl.c (finish_decl): Check VAR_P.
650
3385a573 6512017-03-27 Jakub Jelinek <jakub@redhat.com>
652
653 PR middle-end/80162
654 * c-tree.h (c_mark_addressable): Add array_ref_p argument.
655 * c-typeck.c (c_mark_addressable): Likewise. Look through
656 VIEW_CONVERT_EXPR unless array_ref_p and VCE is from VECTOR_TYPE
657 to ARRAY_TYPE.
658 (build_array_ref): Pass true as array_ref_p to c_mark_addressable.
659
5c1d51e3 6602017-03-23 Marek Polacek <polacek@redhat.com>
661
662 * c-tree.h: Remove a C_RID_YYCODE reference.
663
048100df 6642017-03-21 Jakub Jelinek <jakub@redhat.com>
665
666 PR c/80097
667 * c-typeck.c (build_binary_op): Add EXCESS_PRECISION_EXPR only around
668 optional COMPOUND_EXPR with ubsan instrumentation.
669
c153c724 6702017-03-17 Marek Polacek <polacek@redhat.com>
671
672 * c-parser.c: Add C11 references.
673
51eb47a0 6742017-03-15 Marek Polacek <polacek@redhat.com>
675
676 * c-parser.c (c_parser_enum_specifier): Remove redundant line.
677
726add0b 6782017-03-11 Marek Polacek <polacek@redhat.com>
679
680 * c-decl.c (implicit_decl_warning): Add a comment. Fix formatting.
681
ca1f4c7a 6822017-03-10 David Malcolm <dmalcolm@redhat.com>
683
684 PR translation/79848
685 * c-decl.c (declspecs_add_type): Simplify uses of "%<%s%>" to
686 "%qs".
687 * c-parser.c (c_parser_oacc_shape_clause): Likewise.
688
e14b765f 6892017-03-09 Marek Polacek <polacek@redhat.com>
690
691 PR sanitizer/79757
692 * c-parser.c (c_parser_declaration_or_fndef): Don't sanitize old-style
693 parameter declarations with initializers.
694
7ad571b2 6952017-03-09 Jakub Jelinek <jakub@redhat.com>
696
697 PR c/79969
698 * c-decl.c (start_enum): Adjust DECL_SOURCE_LOCATION of
699 TYPE_STUB_DECL.
700
d87f668a 7012017-03-07 Jakub Jelinek <jakub@redhat.com>
702
703 PR c/79834
704 * c-parser.c (c_parser_pragma): Use error_at instead of c_parser_error
705 for "may only be used in compound statements" diagnostics, change it
706 such that the same translatable string is used for all pragmas. For
707 PRAGMA_OACC_WAIT use "acc wait" rather than "acc enter data" in the
708 diagnostics.
709 (c_parser_omp_cancellation_point, c_parser_omp_target_update,
710 c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Change
711 "may only be used in compound statements" diagnostics, such that the
712 same translatable string is used for all pragmas.
713
16b0e324 7142017-03-04 Marek Polacek <polacek@redhat.com>
715
716 PR c/79847
717 * c-decl.c (implicit_decl_warning): Add missing space.
718
f2360ea5 7192017-03-03 Marek Polacek <polacek@redhat.com>
720
721 PR c/79758
722 * c-decl.c (store_parm_decls_oldstyle): Check if the element of
723 current_function_prototype_arg_types is error_mark_node. Fix
724 formatting. Use TREE_VALUE instead of TREE_TYPE.
725
d33f5911 7262017-03-03 Jakub Jelinek <jakub@redhat.com>
727
408a47b2 728 PR c/79837
729 * c-parser.c (c_parser_omp_clause_reduction): Don't mention
730 %<min%> or %<max%> in the diagnostics, instead mention identifier.
731 (c_parser_omp_declare_reduction): Don't mention %<min%> in the
732 diagnostics.
733
d33f5911 734 PR c/79836
735 * c-parser.c (c_parser_generic_selection): Use %<_Generic%>
736 instead of %<_Generic>.
737 (c_parser_omp_ordered): Use %<depend%> instead of %<depend>.
738 (c_parser_omp_target_exit_data): Use %<release%> instead of
739 %<release>.
740
1caf9cb4 7412017-02-28 Jakub Jelinek <jakub@redhat.com>
742
743 * c-parser.c (c_parser_asm_statement): Use cond ? G_("...") : G_("...")
744 instead of just cond ? "..." : "...".
745 (c_parser_oacc_enter_exit_data): Use %s and ternary operator only
746 for "enter"/"exit" keyword.
747 (c_finish_oacc_routine): Don't use %s to supply portions of the
748 message.
749
bbd5521e 7502017-02-24 Jakub Jelinek <jakub@redhat.com>
751
752 PR c++/79588
753 * c-parser.c (c_parser_postfix_expression_after_primary): Don't
754 handle -Wrestrict here.
755 * c-typeck.c (build_function_call_vec): Adjust
756 check_function_arguments caller.
757
a450df95 7582017-02-23 Richard Biener <rguenther@suse.de>
759
760 PR c/79684
761 * gimple-parser.c (c_parser_gimple_statement): Use set_error
762 to initialize c_exprs to return.
763 (c_parser_gimple_binary_expression): Likewise.
764 (c_parser_gimple_unary_expression): Likewise.
765 (c_parser_gimple_postfix_expression): Likewise.
766
2567d975 7672017-02-22 Marek Polacek <polacek@redhat.com>
768
769 PR c/79662
770 * c-typeck.c (convert_arguments): Handle error_mark_node.
771
21bfe0d4 7722017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
773
774 * gimple-parser.c (c_parser_gimple_postfix_expression): Check return
775 value of c_parser_parse_ssa_name against error_mark_node and emit
776 error if ssa name is anonymous and written as default definition.
777
a8deddc8 7782017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
779
780 * gimple-parser.c (c_parser_gimple_postfix_expression): Handle
781 FMA_EXPR.
782
79878c89 7832017-02-16 Jakub Jelinek <jakub@redhat.com>
784
785 PR c++/79512
786 * c-parser.c (c_parser_omp_target): For -fopenmp-simd
787 ignore #pragma omp target even when not followed by identifier.
788
78c6d67e 7892017-02-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
790
791 * gimpler-parser.c (c_parser_gimple_statement): Handle ABS_EXPR.
792 (c_parser_gimple_unary_expression): Likewise.
793
19efce70 7942017-02-13 Jakub Jelinek <jakub@redhat.com>
795
796 * c-parser.c (c_parser_oacc_declare): Add missing space in
797 diagnostics.
798
32b8484d 7992017-02-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
800
801 PR c/79478
802 * gimple-parser.c (c_parser_gimple_postfix_expression): Call
803 set_c_expr_source_range when parsing ssa-name.
804
b91919ba 8052017-02-10 Prasad Ghangal <prasad.ghangal@gmail.com>
806 Richard Biener <rguenther@suse.de>
807
808 * gimple-parser.c (c_parser_gimple_binary_expression): Avoid
809 building IL when arguments are error_mark_node.
810 (c_parser_gimple_unary_expression): Likewise.
811 (c_parser_gimple_if_stmt): Likewise.
812 (c_parser_gimple_switch_stmt): Likewise.
813 (c_parser_gimple_return_stmt): Likewise.
814 (c_parser_parse_ssa_name): When name lookup fails do not build
815 an SSA name. Use undeclared rather than not declared in error
816 reporting.
817
127144a0 8182017-02-09 Marek Polacek <polacek@redhat.com>
819
820 PR c/79428
821 * c-parser.c (c_parser_omp_ordered): Call c_parser_skip_to_pragma_eol
822 instead of c_parser_skip_until_found.
823
b5c83b44 8242017-02-09 Jakub Jelinek <jakub@redhat.com>
825
826 PR c/79431
827 * c-parser.c (c_parser_omp_declare_target): Don't invoke
828 symtab_node::get on automatic variables.
829
719a7570 8302016-02-09 Nathan Sidwell <nathan@codesourcery.com>
831 Chung-Lin Tang <cltang@codesourcery.com>
832
833 * c-parser.c (c_parser_omp_clause_collapse): Disallow tile.
834 (c_parser_oacc_clause_tile): Disallow collapse. Fix parsing and
835 semantic checking.
836 * c-parser.c (c_parser_omp_for_loop): Accept tiling constructs.
837
29beab79 8382017-02-07 Richard Biener <rguenther@suse.de>
839
840 * gimple-parser.c (c_parser_gimple_expr_list): Simplify.
841 (c_parser_gimple_postfix_expression_after_primary):
842 Do not use c_build_function_call_vec to avoid folding and promotion.
843 Simplify.
844
96afa092 8452017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
846
847 PR lto/79061
848 * c-decl.c (pop_scope): Pass main_input_filename to
849 build_translation_unit_decl.
850
175e0d6b 8512017-01-24 David Malcolm <dmalcolm@redhat.com>
852
853 * c-parser.c: Include "read-rtl-function.h" and
854 "run-rtl-passes.h".
855 (c_parser_declaration_or_fndef): Rename "gimple-pass-list" in
856 grammar to gimple-or-rtl-pass-list. Add rtl-function-definition
857 production. Update for renaming of field "gimple_pass" to
858 "gimple_or_rtl_pass". If __RTL was seen, call
859 c_parser_parse_rtl_body. Convert a timevar_push/pop pair
860 to an auto_timevar, to cope with early exit.
861 (c_parser_declspecs): Update RID_GIMPLE handling for renaming of
862 field "gimple_pass" to "gimple_or_rtl_pass", and for renaming of
863 c_parser_gimple_pass_list to c_parser_gimple_or_rtl_pass_list.
864 Handle RID_RTL.
865 (c_parser_parse_rtl_body): New function.
866 * c-tree.h (enum c_declspec_word): Add cdw_rtl.
867 (struct c_declspecs): Rename field "gimple_pass" to
868 "gimple_or_rtl_pass". Add field "rtl_p".
869 * gimple-parser.c (c_parser_gimple_pass_list): Rename to...
870 (c_parser_gimple_or_rtl_pass_list): ...this, updating accordingly.
871 * gimple-parser.h (c_parser_gimple_pass_list): Rename to...
872 (c_parser_gimple_or_rtl_pass_list): ...this.
873
3ef7eab1 8742017-01-20 Marek Polacek <polacek@redhat.com>
875
876 PR c/64279
877 * c-typeck.c (build_conditional_expr): Warn about duplicated branches.
878
785353b9 8792017-01-13 Richard Biener <rguenther@suse.de>
880
881 * gimple-parser.c (c_parser_gimple_compound_statement): Handle
882 nops.
883
ac5f04c1 8842017-01-13 Richard Biener <rguenther@suse.de>
885
886 * gimple-parser.c (c_parser_gimple_postfix_expression): Parse
887 _Literal ( type-name ) number.
888
2b11c996 8892017-01-12 Richard Biener <rguenther@suse.de>
890
891 * gimple-parser.c (c_parser_gimple_postfix_expression): Parse
892 __MEM.
893
9a26d403 8942017-01-11 Jakub Jelinek <jakub@redhat.com>
895
896 PR c++/72813
897 * c-decl.c (pop_file_scope): Set flag_syntax_only to 1 after writing
898 PCH file.
899
a19c4dc1 9002017-01-11 Richard Biener <rguenther@suse.de>
901
902 PR bootstrap/79052
903 * gimple-parser.c (c_parser_gimple_switch_stmt): Add missing
904 returns on parse errors.
905
6124217c 9062017-01-04 Marek Polacek <polacek@redhat.com>
907
908 PR c++/64767
909 * c-parser.c (c_parser_postfix_expression): Mark zero character
910 constants by setting original_type in c_expr.
911 * c-typeck.c (parser_build_binary_op): Warn when a pointer is compared
912 with a zero character constant.
913 (char_type_p): New function.
914
8ccda24a 9152017-01-04 David Malcolm <dmalcolm@redhat.com>
916
917 * c-parser.c (c_parser_declaration_or_fndef): Create a
918 rich_location at init_loc and parse it to start_init.
919 (last_init_list_comma): New global.
920 (c_parser_braced_init): Update last_init_list_comma when parsing
921 commas. Pass it to pop_init_level. Pass location of closing
922 brace to pop_init_level.
923 (c_parser_postfix_expression_after_paren_type): Create a
924 rich_location at type_loc and parse it to start_init.
925 (c_parser_omp_declare_reduction): Likewise for loc.
926 * c-tree.h (start_init): Add rich_location * param.
927 (pop_init_level): Add location_t param.
928 * c-typeck.c (struct initializer_stack): Add field
929 "missing_brace_richloc".
930 (start_init): Add richloc param, use it to initialize
931 the stack node's missing_brace_richloc.
932 (last_init_list_comma): New decl.
933 (finish_implicit_inits): Pass last_init_list_comma to
934 pop_init_level.
935 (push_init_level): When finding missing open braces, add fix-it
936 hints to the richloc.
937 (pop_init_level): Add "insert_before" param and pass it
938 when calling pop_init_level. Add fixits about missing
939 close braces to any richloc. Use the richloc for the
940 -Wmissing-braces warning.
941 (set_designator): Pass last_init_list_comma to pop_init_level.
942 (process_init_element): Likewise.
943
aad93da1 9442017-01-01 Jakub Jelinek <jakub@redhat.com>
945
946 Update copyright years.
947
3713d2e2 9482016-12-21 Jakub Jelinek <jakub@redhat.com>
949
184fac50 950 PR bootstrap/78817
951 * c-typeck.c (build_function_call_vec): If check_function_arguments
952 returns true, set TREE_NO_WARNING on CALL_EXPR.
953
3713d2e2 954 PR c/77767
955 * c-decl.c (grokdeclarator): If *expr is non-NULL, append expression
956 to *expr instead of overwriting it.
957
3e677d45 9582016-12-20 Richard Biener <rguenther@suse.de>
959
960 * gimple-parser.c (c_parser_gimple_compound_statement): Improve
961 error recovery.
962 (c_parser_gimple_statement): Only build assigns for non-error
963 stmts.
964 (c_parser_gimple_postfix_expression_after): Improve error recovery.
965
4954efd4 9662016-12-14 Martin Jambor <mjambor@suse.cz>
967
968 * c-parser.c: Include omp-general.h and omp-offload.h instead of
969 omp-low.h.
970 (c_finish_oacc_routine): Adjusted call to
971 get_oacc_fn_attrib, build_oacc_routine_dims and replace_oacc_fn_attrib
972 to use their new names.
973 (c_parser_oacc_enter_exit_data): Adjusted call to find_omp_clause to
974 use its new name.
975 (c_parser_oacc_update): Likewise.
976 (c_parser_omp_simd): Likewise.
977 (c_parser_omp_target_update): Likewise.
978 * c-typeck.c: Include omp-general.h instead of omp-low.h.
979 (c_finish_omp_cancel): Adjusted call to find_omp_clause to use its new
980 name.
981 (c_finish_omp_cancellation_point): Likewise.
982 * gimple-parser.c: Do not include omp-low.h
983
4c50b884 9842016-12-02 Cesar Philippidis <cesar@codesourcery.com>
985 James Norris <jnorris@codesourcery.com>
986
987 * c-parser.c (c_parser_pragma): Error when PRAGMA_OACC_{ENTER_DATA,
988 EXIT_DATA,WAIT} are not used in compound statements.
989 (c_parser_oacc_enter_exit_data): Update diagnostics.
990
f1b3e1c9 9912016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
992
993 PR c++/71973
994 * c-decl.c (diagnose_mismatched_decls): Use
995 OPT_Wbuiltin_declaration_mismatch here too.
996
adc78298 9972016-11-18 Richard Sandiford <richard.sandiford@arm.com>
f1b3e1c9 998 Alan Hayward <alan.hayward@arm.com>
999 David Sherwood <david.sherwood@arm.com>
adc78298 1000
1001 * c-decl.c (merge_decls): Use SET_DECL_MODE.
1002 (make_label, finish_struct): Likewise.
1003
b1f04d34 10042016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
a49621cf 1005 Richard Biener <rguenther@suse.de>
9b8f3aa1 1006
a49621cf 1007 * Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o.
1008 * config-lang.in (gtfiles): Add c/c-parser.h.
1009 * c-tree.h (enum c_declspec_word): Add cdw_gimple.
1010 (struct c_declspecs): Add gimple_pass member and gimple_p flag.
1011 * c-parser.c (enum c_id_kind, struct c_token,
1012 c_parser_next_token_is, c_parser_next_token_is_not,
1013 c_parser_next_token_is_keyword,
1014 enum c_lookahead_kind, enum c_dtr_syn, enum c_parser_prec):
1015 Split out to ...
1016 * c-parser.h: ... new header.
1017 * c-parser.c: Include c-parser.h and gimple-parser.h.
b1f04d34 1018 (c_parser_peek_token, c_parser_peek_2nd_token,
a49621cf 1019 c_token_starts_typename, c_parser_next_token_starts_declspecs,
1020 c_parser_next_tokens_start_declaration, c_parser_consume_token,
1021 c_parser_error, c_parser_require, c_parser_skip_until_found,
1022 c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token,
1023 c_parser_type_name): Export.
1024 (c_parser_tokens_buf): New function.
1025 (c_parser_error): Likewise.
1026 (c_parser_set_error): Likewise.
1027 (c_parser_declspecs): Handle RID_GIMPLE.
b1f04d34 1028 (c_parser_declaration_or_fndef): Parse __GIMPLE marked body
1029 via c_parser_parse_gimple_body.
a49621cf 1030 * c-parser.h (c_parser_peek_token, c_parser_peek_2nd_token,
1031 c_token_starts_typename, c_parser_next_token_starts_declspecs,
1032 c_parser_next_tokens_start_declaration, c_parser_consume_token,
1033 c_parser_error, c_parser_require, c_parser_skip_until_found,
1034 c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token,
1035 c_parser_type_name): Declare.
b1f04d34 1036 (struct c_parser): Declare forward.
1037 (c_parser_tokens_buf): Declare.
a49621cf 1038 (c_parser_error): Likewise.
1039 (c_parser_set_error): Likewise.
1040 * gimple-parser.c: New file.
1041 * gimple-parser.h: Likewise.
b1f04d34 1042
9b8f3aa1 10432016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1044
1045 PR c/35503
1046 * c-parser.c (c_parser_postfix_expression_after_primary): Call
1047 warn_for_restrict.
1048
50d3ad71 10492016-09-11 Le-Chun Wu <lcwu@google.com>
1050 Mark Wielaard <mjw@redhat.com>
1051
1052 * c-decl.c (warn_if_shadowing): Use the warning code corresponding
1053 to the given -Wshadow= variant.
1054
ad7b10a2 10552016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
1056
1057 * c-typeck.c: Include memmodel.h.
1058
8a23256f 10592016-10-13 Jakub Jelinek <jakub@redhat.com>
1060
1061 PR target/77957
1062 * c-objc-common.h (LANG_HOOKS_GETDECLS): Use hook_tree_void_null
1063 instead of lhd_return_null_tree_v.
1064
30ac4925 10652016-10-07 Bernd Schmidt <bschmidt@redhat.com>
1066
1067 PR c++/69733
1068 * c-decl.c (smallest_type_quals_location): New static function.
1069 (grokdeclarator): Try to find the correct location for an ignored
1070 qualifier.
1071
3c77f69c 10722016-09-26 Marek Polacek <polacek@redhat.com>
1073
1074 PR c/7652
1075 * c-decl.c (pop_scope): Add gcc_fallthrough.
1076
10772016-09-26 Marek Polacek <polacek@redhat.com>
1078
1079 PR c/7652
1080 * c-parser.c (struct c_token): Add flags field.
1081 (c_lex_one_token): Pass it to c_lex_with_flags.
1082 (c_parser_declaration_or_fndef): Turn __attribute__((fallthrough));
1083 into IFN_FALLTHROUGH.
1084 (c_parser_label): Set FALLTHROUGH_LABEL_P on labels. Handle
1085 attribute fallthrough after a case label or default label.
1086 (c_parser_statement_after_labels): Handle RID_ATTRIBUTE.
1087
481ce481 10882016-09-24 Marek Polacek <polacek@redhat.com>
1089
1090 PR c/77490
1091 * c-typeck.c (build_unary_op): Warn about bit not on expressions that
1092 have boolean value. Warn about ++/-- on booleans.
1093
16fb756f 10942016-09-23 Jakub Jelinek <jakub@redhat.com>
1095
1096 * c-parser.c (incomplete_record_decls): Remove unnecessary
1097 = vNULL initialization of file scope vec.
1098
d80c1c6c 10992016-09-16 Marek Polacek <polacek@redhat.com>
1100
1101 * c-typeck.c (lvalue_p): Use true and false instead of 1 and 0.
1102
b99cc6da 11032016-09-14 Marek Polacek <polacek@redhat.com>
1104
1105 * c-array-notation.c (create_cmp_incr): Use false instead of 0.
1106 (fix_array_notation_expr): Likewise.
1107 * c-decl.c (finish_decl): Likewise.
1108 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
1109 * c-typeck.c (array_to_pointer_conversion): Use true instead of 1.
1110 (function_to_pointer_conversion): Use false instead of 0.
1111 (convert_lvalue_to_rvalue): Likewise.
1112 (parser_build_unary_op): Likewise.
1113 (build_atomic_assign): Likewise.
1114 (build_unary_op): Change nonconvert parameter type to bool, use
1115 true/false instead of 1/0.
1116 (build_binary_op): Use true instead of 1.
1117
68ef907c 11182016-09-13 David Malcolm <dmalcolm@redhat.com>
1119
1120 * c-parser.c (c_parser_declaration_or_fndef): Update for renaming
1121 of add_fixit_insert to add_fixit_insert_before.
1122
89bcb5a3 11232016-09-13 Marek Polacek <polacek@redhat.com>
1124
1125 * c-typeck.c (build_unary_op): Rename FLAG parameter to NOCONVERT. Use
1126 it.
1127
7a21b590 11282016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
1129
1130 PR c++/77496
1131 * c-parser.c (c_parser_conditional_expression): Pass the rightmost
1132 COMPOUND_EXPR to warn_for_omitted_condop.
1133
3da97ff7 11342016-09-07 David Malcolm <dmalcolm@redhat.com>
1135
1136 * c-lang.c (LANG_HOOKS_GET_SUBSTRING_LOCATION): Use
1137 c_get_substring_location for this new langhook.
1138
0b80c4b2 11392016-09-02 Jakub Jelinek <jakub@redhat.com>
1140
1141 PR c/65467
1142 * c-parser.c (c_parser_declspecs): Don't sorry about _Atomic if
1143 flag_openmp.
1144 (c_parser_omp_variable_list): Use convert_lvalue_to_rvalue
1145 instead of mark_exp_read on low_bound/length expression.
1146 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_threads,
1147 c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
1148 c_parser_omp_clause_priority, c_parser_omp_clause_hint,
1149 c_parser_omp_clause_num_workers, c_parser_oacc_shape_clause,
1150 c_parser_oacc_clause_tile, c_parser_omp_clause_schedule,
1151 c_parser_omp_clause_vector_length, c_parser_omp_clause_num_teams,
1152 c_parser_omp_clause_thread_limit, c_parser_omp_clause_aligned,
1153 c_parser_omp_clause_linear, c_parser_omp_clause_safelen,
1154 c_parser_omp_clause_simdlen, c_parser_omp_clause_device,
1155 c_parser_omp_clause_dist_schedule): Use convert_lvalue_to_rvalue
1156 instead of mark_expr_read.
1157 (c_parser_omp_declare_reduction): Reject _Atomic qualified types.
1158 * c-objc-common.h (LANG_HOOKS_OMP_CLAUSE_COPY_CTOR,
1159 LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP): Redefine.
1160 * c-tree.h (c_omp_clause_copy_ctor): New prototype.
1161 * c-typeck.c (handle_omp_array_sections_1): Diagnose _Atomic qualified
1162 array section bases outside of depend clause, for depend clause
1163 use convert_lvalue_to_rvalue on the base.
1164 (c_finish_omp_clauses): Reject _Atomic qualified vars in reduction,
1165 linear, aligned, map, to and from clauses.
1166 (c_omp_clause_copy_ctor): New function.
1167
c7afb782 11682016-09-01 Marek Polacek <polacek@redhat.com>
1169
1170 PR c/7652
1171 * c-typeck.c (composite_type): Add FALLTHRU comment.
1172
986530da 11732016-08-31 David Malcolm <dmalcolm@redhat.com>
1174
1175 * c-parser.c (c_parser_declaration_or_fndef): Add trailing space
1176 to the insertion fixits for "struct", "union", and "enum".
1177
850c2009 11782016-08-30 David Malcolm <dmalcolm@redhat.com>
1179
1180 * c-decl.c (implicit_decl_warning): Use add_fixit_replace
1181 rather than add_fixit_misspelled_id.
1182 (undeclared_variable): Likewise.
1183 * c-parser.c (c_parser_declaration_or_fndef): Likewise. Remove
1184 now-redundant "here" params from add_fixit_insert method calls.
1185 (c_parser_parameter_declaration): Likewise.
1186 * c-typeck.c (build_component_ref): Remove now-redundant range
1187 param from add_fixit_replace method calls.
1188
c4963714 11892016-08-25 Marek Polacek <polacek@redhat.com>
1190
1191 * c-typeck.c (parser_build_binary_op): Pass LHS to
1192 warn_logical_not_parentheses.
1193
49e1f4eb 11942016-08-25 Marek Polacek <polacek@redhat.com>
1195
1196 PR c/77323
1197 * c-decl.c (declspecs_add_type): Set typespec_word even when __intN
1198 or _FloatN or _FloatNx is not supported.
1199 (finish_declspecs): Set type to integer_type_node when _FloatN or
1200 _FloatNx is not supported.
1201
82c85aba 12022016-08-19 Joseph Myers <joseph@codesourcery.com>
1203
1204 PR c/32187
1205 * c-tree.h (cts_floatn_nx): New enum c_typespec_keyword value.
1206 (struct c_declspecs): Add field floatn_nx_idx.
1207 * c-decl.c (declspecs_add_type, finish_declspecs): Handle _FloatN
1208 and _FloatNx type specifiers.
1209 * c-parser.c (c_keyword_starts_typename, c_token_starts_declspecs)
1210 (c_parser_declspecs, c_parser_attribute_any_word)
1211 (c_parser_objc_selector): Use CASE_RID_FLOATN_NX.
1212 * c-typeck.c (c_common_type): Handle _FloatN and _FloatNx types.
1213 (convert_arguments): Avoid promoting _FloatN and _FloatNx types
1214 narrower than double.
1215
7175bb2a 12162016-08-12 Jakub Jelinek <jakub@redhat.com>
1217 Martin Liska <mliska@suse.cz>
1218
1219 PR c/67410
1220 * c-typeck.c (set_nonincremental_init_from_string): Use / instead of
1221 % to determine val element to change. Assert that
1222 wchar_bytes * charwidth fits into val array.
1223
e3533433 12242016-08-12 Marek Polacek <polacek@redhat.com>
1225
1226 PR c/7652
1227 * c-parser.c (c_parser_external_declaration): Add FALLTHRU.
1228 (c_parser_postfix_expression): Likewise.
1229 * c-typeck.c (build_unary_op): Adjust fall through comment.
1230 (c_mark_addressable): Likewise.
1231
74be5bc1 12322016-08-11 Jakub Jelinek <jakub@redhat.com>
1233
1234 PR c/72816
1235 * c-decl.c (grokdeclarator): When adding TYPE_DOMAIN for flexible
1236 array member through typedef, for orig_qual_indirect == 0 clear
1237 orig_qual_type.
1238
7af4d06b 12392016-08-08 David Malcolm <dmalcolm@redhat.com>
1240
1241 PR c/64955
1242 * c-lang.c (LANG_HOOKS_RUN_LANG_SELFTESTS): If CHECKING_P, wire
1243 this up to selftest::run_c_tests.
1244 (selftest::run_c_tests): New function.
1245
5f429ee2 12462016-08-04 Thomas Schwinge <thomas@codesourcery.com>
1247
1fa5d8ba 1248 * c-parser.c (struct oacc_routine_data): Add error_seen and
1249 fndecl_seen members.
1250 (c_finish_oacc_routine): Use these.
1251 (c_parser_declaration_or_fndef): Adjust.
1252 (c_parser_oacc_routine): Likewise. Support more C language
1253 constructs, and improve diagnostics. Move pragma context
1254 checking...
1255 (c_parser_pragma): ... here.
1256
5f429ee2 1257 * c-parser.c (struct oacc_routine_data): New.
1258 (c_parser_declaration_or_fndef, c_parser_oacc_routine): Use it.
1259 Simplify code.
1260 (c_finish_oacc_routine): Likewise. Don't attach clauses to "omp
1261 declare target" attribute.
1262
f3c032a4 12632016-08-01 Jan Beulich <jbeulich@suse.com>
1264
1265 * c-fold.c (c_fully_fold_internal): Also emit shift count
1266 warnings for vector types.
1267 * c-typeck.c (build_binary_op): Likewise.
1268
4ebf85be 12692016-07-29 Marek Polacek <polacek@redhat.com>
1270
1271 PR c/71742
1272 * c-decl.c (finish_struct): Rephrase an error message.
1273
9efe5be6 1274 PR c/71853
1275 * c-parser.c (c_parser_switch_statement): Initialize ce.original_type
1276 to error node for invalid code.
1277
4c4548bb 1278 PR c/71573
1279 * c-decl.c (implicitly_declare): Return decl early not only for
1280 error_mark_nodes, but for anything that is not a FUNCTION_DECL.
1281
322d4184 12822016-07-29 Jakub Jelinek <jakub@redhat.com>
1283
1284 PR c/71969
1285 * c-decl.c (finish_function): Only set DECL_DISREGARD_INLINE_LIMITS
1286 on GNU extern inline functions.
1287
35fddbd6 12882016-07-29 Marek Polacek <polacek@redhat.com>
1289
1290 PR c/71583
1291 * c-parser.c (c_parser_postfix_expression_after_paren_type): Also
1292 check expr.value.
1293
59c1507a 12942016-07-22 Uros Bizjak <ubizjak@gmail.com>
1295
1296 * c-typeck.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
1297
d0f11d68 12982016-07-20 David Malcolm <dmalcolm@redhat.com>
1299
1300 * c-decl.c (struct edit_distance_traits<cpp_hashnode *>): Move to
1301 spellcheck-tree.h
1302 (best_macro_match): Likewise, converting from a typedef to a
1303 subclass.
1304 (find_closest_macro_cpp_cb): Move to spellcheck-tree.c.
1305 (lookup_name_fuzzy): Update for change of best_macro_match to a
1306 subclass with a ctor that calls cpp_forall_identifiers.
1307
d208f6e6 13082016-07-20 David Malcolm <dmalcolm@redhat.com>
1309
1310 * c-decl.c (implicit_decl_warning): Update for conversion of
1311 return type of lookup_name_fuzzy to const char *.
1312 (undeclared_variable): Likewise.
1313 (lookup_name_fuzzy): Convert return type from tree to
1314 const char *.
1315 * c-parser.c (c_parser_declaration_or_fndef): Update for
1316 conversion of return type of lookup_name_fuzzy to const char *.
1317 (c_parser_parameter_declaration): Likewise.
1318
0ef9358d 13192016-07-15 Cesar Philippidis <cesar@codesourcery.com>
1320
1321 * c-parser.c (c_parser_oacc_declare): Don't scan for
1322 GOMP_MAP_POINTER.
1323 * c-typeck.c (handle_omp_array_sections): Mark data clauses with
1324 GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
1325 zero-length subarrays.
1326
0dd7db3b 13272016-07-15 Jakub Jelinek <jakub@redhat.com>
1328
1329 PR c/71858
1330 * c-decl.c (implicit_decl_warning): Use FUZZY_LOOKUP_FUNCTION_NAME
1331 instead of FUZZY_LOOKUP_NAME.
1332 (lookup_name_fuzzy): For FUZZY_LOOKUP_FUNCTION_NAME consider
1333 FUNCTION_DECLs, {VAR,PARM}_DECLs function pointers and macros.
1334
28413b15 13352016-07-14 Jakub Jelinek <jakub@redhat.com>
1336
1337 PR c/71858
1338 * c-decl.c (lookup_name_fuzzy): Ignore binding->invisible.
1339
e9258aee 13402016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1341
1342 * c-parser.c (c_parser_generic_selection): Make type of variable
1343 auto_vec.
1344 (c_parser_omp_declare_simd): Likewise.
1345
57f91a55 13462016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1347
1348 * c-decl.c (struct c_struct_parse_info): Change member types
1349 from vec to auto_vec.
1350 (start_struct): Adjust.
1351 (finish_struct): Likewise.
1352
c364d0f3 13532016-07-02 Jakub Jelinek <jakub@redhat.com>
1354
1355 PR c/71719
1356 * c-typeck.c (mark_exp_read): Handle VIEW_CONVERT_EXPR.
1357
44e775d8 13582016-06-29 Thomas Schwinge <thomas@codesourcery.com>
1359
1360 * c-parser.c (c_parser_pragma) <PRAGMA_OMP_CANCELLATION_POINT>:
1361 Move pragma context checking into...
1362 (c_parser_omp_cancellation_point): ... here, and improve
1363 diagnostic messages.
1364 * c-typeck.c (c_finish_omp_cancel)
1365 (c_finish_omp_cancellation_point): Improve diagnostic messages.
1366
1af10ce6 13672016-06-29 Jakub Jelinek <jakub@redhat.com>
1368
1369 PR c/71685
1370 * c-typeck.c (c_build_qualified_type): Don't clear
1371 C_TYPE_INCOMPLETE_VARS for the main variant.
1372
13732016-06-28 Martin Sebor <msebor@redhat.com>
9c3ffbcb 1374
1375 PR c/71552
1376 * c-typeck.c (output_init_element): Diagnose incompatible types
1377 before non-constant initializers.
1378
6eb2402f 13792016-06-28 Jakub Jelinek <jakub@redhat.com>
1380
1381 * Make-lang.in: Don't cat ../stage_current if it does not exist.
1382
b4c71cbb 13832016-06-23 Andi Kleen <ak@linux.intel.com>
1384
1385 * Make-lang.in: Add support for autofdo.
1386
8469aece 13872016-06-22 David Malcolm <dmalcolm@redhat.com>
1388
1389 PR c/70339
1390 * c-decl.c: Include spellcheck-tree.h and gcc-rich-location.h.
1391 (implicit_decl_warning): When issuing warnings for implicit
1392 declarations, attempt to provide a suggestion via
1393 lookup_name_fuzzy.
1394 (undeclared_variable): Likewise when issuing errors.
1395 (lookup_name_in_scope): Likewise.
1396 (struct edit_distance_traits<cpp_hashnode *>): New struct.
1397 (best_macro_match): New typedef.
1398 (find_closest_macro_cpp_cb): New function.
1399 (lookup_name_fuzzy): New function.
1400 * c-parser.c: Include gcc-rich-location.h.
1401 (c_token_starts_typename): Split out case CPP_KEYWORD into...
1402 (c_keyword_starts_typename): ...this new function.
1403 (c_parser_declaration_or_fndef): When issuing errors about
1404 missing "struct" etc, add a fixit. For other kinds of errors,
1405 attempt to provide a suggestion via lookup_name_fuzzy.
1406 (c_parser_parms_declarator): When looking ahead to detect typos in
1407 type names, also reject CPP_KEYWORD.
1408 (c_parser_parameter_declaration): When issuing errors about
1409 unknown type names, attempt to provide a suggestion via
1410 lookup_name_fuzzy.
1411 * c-tree.h (c_keyword_starts_typename): New prototype.
1412
e218d07f 14132016-06-20 Joseph Myers <joseph@codesourcery.com>
1414
1415 PR c/71601
1416 * c-typeck.c (build_conditional_expr): Return error_mark_node if
1417 c_common_type returns error_mark_node.
1418
92a44a68 14192016-06-19 Martin Sebor <msebor@redhat.com>
21897f47 1420
1421 PR c/69507
1422 * c-parser.c (c_parser_alignof_expression): Avoid diagnosing
1423 __alignof__ (expression).
1424
f0d77991 14252016-06-14 David Malcolm <dmalcolm@redhat.com>
1426
1427 * c-typeck.c: Include spellcheck-tree.h rather than spellcheck.h.
1428
2a990300 14292016-06-14 David Malcolm <dmalcolm@redhat.com>
1430
1431 * c-typeck.c (build_component_ref): Simplify fixit code by
1432 using gcc_rich_location::add_fixit_misspelled_id.
1433 (set_init_label): Likewise.
1434
527790c1 14352016-06-13 David Malcolm <dmalcolm@redhat.com>
1436
1437 * c-parser.c (c_parser_initelt): Provide location of name for new
1438 location_t param of set_init_label.
1439 * c-tree.h (set_init_label): Add location_t param.
1440 * c-typeck.c (set_init_index): Add "fieldname_loc" location_t
1441 param and use it when issuing error messages about unrecognized
1442 field names. Attempt to provide a fixit hint if appropriate,
1443 otherwise update the error message to provide the type name.
1444
ccfa030f 14452016-06-10 Thomas Schwinge <thomas@codesourcery.com>
1446
1447 PR c/71381
1448 * c-parser.c (c_parser_omp_variable_list) <OMP_CLAUSE__CACHE_>:
1449 Loosen checking.
1450
732905bb 14512016-06-08 Martin Sebor <msebor@redhat.com>
1452 Jakub Jelinek <jakub@redhat.com>
1453
1454 PR c++/70507
1455 PR c/68120
1456 * c-typeck.c (convert_arguments): Don't promote last argument
1457 of BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
1458
bafc7b1d 14592016-06-08 Marek Polacek <polacek@redhat.com>
1460
1461 PR c/71418
1462 * c-decl.c (grokdeclarator): Check TYPE_P.
1463
06e590e7 1464 PR c/71426
1465 * c-decl.c (get_parm_info): Don't crash on an assert on invalid
1466 code.
1467
7cfde92a 14682016-06-07 David Malcolm <dmalcolm@redhat.com>
1469
1470 * c-parser.c (c_parser_postfix_expression): In __builtin_offsetof
1471 and structure element reference, capture the location of the
1472 element name token and pass it to build_component_ref.
1473 (c_parser_postfix_expression_after_primary): Likewise for
1474 structure element dereference.
1475 (c_parser_omp_variable_list): Likewise for
1476 OMP_CLAUSE_{_CACHE, MAP, FROM, TO},
1477 * c-tree.h (build_component_ref): Add location_t param.
1478 * c-typeck.c (build_component_ref): Add location_t param
1479 COMPONENT_LOC. Use it, if available, when issuing hints about
1480 mispelled member names to provide a fixit replacement hint.
1481
61f1f80c 14822016-06-06 Marek Polacek <polacek@redhat.com>
1483
1484 PR c/71362
1485 * c-parser.c (c_parser_direct_declarator): Set location.
1486
e4b92538 14872016-06-06 Marek Polacek <polacek@redhat.com>
1488
1489 * c-typeck.c (comptypes_internal): Handle comparisons of
1490 INTEGER_TYPE, FIXED_POINT_TYPE, and REAL_TYPE nodes. Don't check
1491 TYPE_REF_CAN_ALIAS_ALL.
1492
2234363c 14932016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
1494
1495 * c-typeck.c (c_finish_omp_clauses): Mark OpenACC reduction
1496 arguments as addressable when async clause exists.
1497
b6431756 14982016-05-30 Jakub Jelinek <jakub@redhat.com>
1499
1500 PR c++/71349
1501 * c-parser.c (c_parser_omp_for): Don't disallow nowait clause
1502 when combined with target construct.
1503
6feab9ce 15042016-05-26 Jakub Jelinek <jakub@redhat.com>
1505
1506 * c-parser.c (c_parser_omp_clause_schedule): Warn if
1507 OMP_CLAUSE_SCHEDULE_CHUNK_EXPR is known not to be positive.
1508
2c995da9 15092016-05-25 Marek Polacek <polacek@redhat.com>
1510
1511 PR c/71265
1512 * c-decl.c (c_make_fname_decl): Don't check seen_error.
1513
abfbb5b5 1514 PR c/71266
1515 * c-decl.c (store_parm_decls_oldstyle): Skip non-PARM_DECLs.
1516
6d6a3fc3 15172016-05-24 Cesar Philippidis <cesar@codesourcery.com>
1518
1519 * c-parser.c (c_parser_oacc_declare): Add support for
1520 GOMP_MAP_FIRSTPRIVATE_POINTER.
1521 * c-typeck.c (handle_omp_array_sections_1): Replace bool is_omp
1522 argument with enum c_omp_region_type ort.
1523 (handle_omp_array_sections): Likewise. Update call to
1524 handle_omp_array_sections_1.
1525 (c_finish_omp_clauses): Add specific errors and warning messages for
1526 OpenACC. Use firsrtprivate pointers for OpenACC subarrays. Update
1527 call to handle_omp_array_sections.
1528
c9d624bd 15292016-05-24 Thomas Schwinge <thomas@codesourcery.com>
1530
1531 * c-parser.c (c_parser_oacc_routine): Tighten syntax checks.
1532
7345b977 15332016-05-24 Richard Biener <rguenther@suse.de>
1534
1535 PR middle-end/70434
1536 PR c/69504
1537 * c-typeck.c (build_array_ref): Do not complain about indexing
1538 non-lvalue vectors. Adjust for function name change.
1539
8bdfbc08 15402016-05-20 Martin Sebor <msebor@redhat.com>
1541
1542 PR c/71115
1543 * c-typeck.c (error_init): Use
1544 expansion_point_location_if_in_system_header.
1545 (warning_init): Same.
1546
97c71d71 15472016-05-19 David Malcolm <dmalcolm@redhat.com>
1548
1549 PR c/71171
1550 * c-parser.c (c_parser_generic_selection): Use c_expr::set_error
1551 in error-handling.
1552 (c_parser_postfix_expression): Likewise.
1553 * c-tree.h (c_expr::set_error): New method.
1554 * c-typeck.c (parser_build_binary_op): In error-handling, ensure
1555 that result's range is initialized.
1556
e68d7b49 15572016-05-17 James Greenhalgh <james.greenhalgh@arm.com>
1558
1559 * c-typeck.c (parser_build_unary_op): Fix formatting.
1560
624115b4 15612016-05-16 Matthew Wahab <matthew.wahab@arm.com>
1562
1563 * c-decl.c (grokdeclarator): Remove errmsg and use of
1564 targetm.invalid_return_type.
1565 (grokparms): Remove errmsg and use of
1566 targetm.invalid_parameter_type.
1567
90c88567 15682016-05-13 Joseph Myers <joseph@codesourcery.com>
1569
1570 * c-decl.c (grokdeclarator): For C11, discard qualifiers on
1571 function return type.
1572
22a3f7bd 15732016-05-12 Marek Polacek <polacek@redhat.com>
1574
1575 PR c/70756
1576 * c-decl.c (build_compound_literal): Pass LOC down to
1577 c_incomplete_type_error.
1578 * c-tree.h (require_complete_type): Adjust declaration.
1579 (c_incomplete_type_error): Likewise.
1580 * c-typeck.c (require_complete_type): Add location parameter, pass it
1581 down to c_incomplete_type_error.
1582 (c_incomplete_type_error): Add location parameter, pass it down to
1583 error_at.
1584 (build_component_ref): Pass location down to c_incomplete_type_error.
1585 (default_conversion): Pass location down to require_complete_type.
1586 (build_array_ref): Likewise.
1587 (build_function_call_vec): Likewise.
1588 (convert_arguments): Likewise.
1589 (build_unary_op): Likewise.
1590 (build_c_cast): Likewise.
1591 (build_modify_expr): Likewise.
1592 (convert_for_assignment): Likewise.
1593 (c_finish_omp_clauses): Likewise.
1594
54c4d22e 15952016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
1596
1597 PR c/43651
1598 * c-decl.c (declspecs_add_qual): Warn when -Wduplicate-decl-specifier
1599 is enabled.
1600 * c-errors.c (pedwarn_c90): Return true if warned.
1601 * c-tree.h (pedwarn_c90): Change return type to bool.
1602 (enum c_declspec_word): Add new enumerator cdw_atomic.
1603
7f8012a5 16042016-05-11 Marek Polacek <polacek@redhat.com>
1605
1606 PR c++/71024
1607 * c-decl.c (diagnose_mismatched_decls): Factor out code to
1608 diagnose_mismatched_attributes and call it.
1609
3fa82609 16102016-05-10 Marek Polacek <polacek@redhat.com>
1611
1612 PR c/70255
1613 * c-decl.c (diagnose_mismatched_decls): Warn for optimize attribute
1614 on a declaration following the definition.
1615
871164c4 16162016-05-05 Jakub Jelinek <jakub@redhat.com>
1617
1618 * c-parser.c (c_parser_switch_statement): Add IF_P argument,
1619 parse it through to c_parser_c99_block_statement.
1620 (c_parser_statement_after_labels): Adjust c_parser_switch_statement
1621 caller.
1622
1d52c456 16232016-05-04 Marek Polacek <polacek@redhat.com>
1624
1625 * c-parser.c (c_parser_if_statement): Replace OPT_Wparentheses with
1626 OPT_Wdangling_else.
1627
a64030fe 16282016-05-04 Marek Polacek <polacek@redhat.com>
1629
1630 PR c/48778
1631 * c-typeck.c (build_binary_op): Don't issue -Waddress warnings
1632 for macro expansions.
1633
5d4db8ef 16342016-05-03 Marek Polacek <polacek@redhat.com>
1635
1636 PR c/70859
1637 * c-typeck.c (build_function_call_vec): Pass LOC and ARG_LOC down to
1638 check_builtin_function_arguments.
1639
0bd2fc6e 16402016-05-03 Richard Biener <rguenther@suse.de>
1641
1642 * Make-lang.in (cc1-checksum.c): For stage-final re-use
1643 the checksum from the previous stage.
1644
b5e88f74 16452016-05-02 Cesar Philippidis <cesar@codesourcery.com>
1646
1647 * c-parser.c (c_parser_oacc_all_clauses): Update call to
1648 c_finish_omp_clauses.
1649 (c_parser_omp_all_clauses): Likewise.
1650 (c_parser_oacc_cache): Likewise.
1651 (c_parser_oacc_loop): Likewise.
1652 (omp_split_clauses): Likewise.
1653 (c_parser_omp_declare_target): Likewise.
1654 (c_parser_cilk_all_clauses): Likewise.
1655 (c_parser_cilk_for): Likewise.
1656 * c-typeck.c (c_finish_omp_clauses): Replace bool arguments
1657 is_omp, declare_simd, and is_cilk with enum c_omp_region_type ort.
1658
dd185f6e 16592016-05-02 Marek Polacek <polacek@redhat.com>
1660
1661 PR c/70851
1662 * c-decl.c (grokdeclarator): Diagnose when array's size has an
1663 incomplete type.
1664
4d0a8bac 16652016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1666
1667 PR middle-end/70626
1668 * c-parser.c (c_parser_oacc_loop): Don't augment mask with
1669 OACC_LOOP_CLAUSE_MASK.
1670 (c_parser_oacc_kernels_parallel): Update call to
1671 c_oacc_split_loop_clauses.
1672
d215eeca 16732016-04-28 Andrew MacLeod <amacleod@redhat.com>
1674
1675 * c-array-notation.c (fix_builtin_array_notation_fn): Fix final
1676 argument to build_modify_expr in two cases.
1677
40385231 16782016-04-27 Bernd Schmidt <bschmidt@redhat.com>
1679
1680 * c-parser.c (c_parser_postfix_expression_after_primary): Call
1681 warn_for_memset instead of warning directly here.
1682
fa20ebd3 16832016-04-26 Marek Polacek <polacek@redhat.com>
1684
1685 PR c/67784
1686 * c-parser.c (c_parser_maybe_reclassify_token): New function factored
1687 out of ...
1688 (c_parser_for_statement): ... here.
1689 (c_parser_if_statement): Use it.
1690 (c_parser_switch_statement): Use it.
1691 (c_parser_while_statement): Use it.
1692
9db47803 1693 PR c/70791
1694 * c-decl.c (pushdecl): Pass LOCUS down to warning.
1695
70574e60 16962016-04-20 Ilya Verbin <ilya.verbin@intel.com>
1697
1698 PR c++/69363
1699 * c-parser.c (c_parser_cilk_all_clauses): Use c_finish_omp_clauses
1700 instead of c_finish_cilk_clauses.
1701 * c-tree.h (c_finish_omp_clauses): Add new default argument.
1702 * c-typeck.c (c_finish_omp_clauses): Add new argument. Allow
1703 floating-point variables in the linear clause for Cilk Plus.
1704
5d4b30ea 17052016-04-18 Michael Matz <matz@suse.de>
1706
1707 * c-decl.c (merge_decls): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
1708 (grokdeclarator, parser_xref_tag, finish_enum): Use SET_TYPE_ALIGN.
1709
eac243e7 17102016-04-15 Marek Polacek <polacek@redhat.com>
1711
1712 PR c/70671
1713 * c-typeck.c (build_unary_op): Pass location down to error and
1714 warning call.
1715
b4ba8358 17162016-04-15 Jakub Jelinek <jakub@redhat.com>
1717
1718 PR c/70436
1719 * c-parser.c (c_parser_pragma): Add IF_P argument, pass it down
1720 where needed.
1721 (c_parser_external_declaration, c_parser_struct_or_union_specifier,
1722 c_parser_parameter_declaration, c_parser_compound_statement_nostart,
1723 c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist):
1724 Adjust c_parser_pragma callers.
1725 (c_parser_statement_after_labels): Likewise. Adjust c_parser_cilk_for
1726 caller.
1727 (c_parser_omp_structured_block): Add IF_P argument, pass it down to
1728 c_parser_statement.
1729 (c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop,
1730 c_parser_oacc_kernels_parallel, c_parser_omp_critical,
1731 c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master,
1732 c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single,
1733 c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute,
1734 c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target,
1735 c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize,
1736 c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it
1737 down where needed.
1738 (c_parser_omp_for_loop): Likewise. Clear IF_P if nbraces.
1739 (c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block
1740 calls.
1741
0241e4dc 17422016-04-13 Marek Polacek <polacek@redhat.com>
1743
1744 PR c/70436
1745 * c-parser.c (c_parser_statement_after_labels): Add IF_P argument and
1746 adjust callers.
1747 (c_parser_statement): Likewise.
1748 (c_parser_c99_block_statement): Likewise.
1749 (c_parser_while_statement): Likewise.
1750 (c_parser_for_statement): Likewise.
1751 (c_parser_if_body): Don't set IF_P here.
1752 (c_parser_if_statement): Add IF_P argument. Set IF_P here. Warn
1753 about dangling else here.
1754 * c-tree.h (c_finish_if_stmt): Adjust declaration.
1755 * c-typeck.c (c_finish_if_stmt): Remove NESTED_IF parameter. Don't
1756 warn about dangling else here.
1757
c4f5465d 17582016-04-04 Marek Polacek <polacek@redhat.com>
1759
1760 PR c/70307
1761 * c-fold.c (c_fully_fold_internal): Handle VEC_COND_EXPR.
1762
7952b661 17632016-03-31 Marek Polacek <polacek@redhat.com>
1764
1765 PR c/70297
1766 * c-decl.c (merge_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN.
1767
5539bc70 17682016-03-18 David Malcolm <dmalcolm@redhat.com>
1769
1770 PR c/70281
1771 * c-parser.c (c_parser_postfix_expression): Set the source range
1772 for uses of "__builtin_types_compatible_p".
1773
29a514fa 17742016-03-17 Jakub Jelinek <jakub@redhat.com>
1775
1776 PR c/70280
1777 * c-typeck.c (composite_type): Don't count void_list_node
1778 into len, if the list is terminated by void_list_node, start
1779 with void_list_node instead of NULL for newargs. Stop
1780 at void_list_node.
1781
462ca422 17822016-03-16 Marek Polacek <polacek@redhat.com>
1783
1784 PR c/70093
1785 * c-typeck.c (build_function_call_vec): Create a TARGET_EXPR for
1786 nested functions returning VM types.
1787
27dcb7a8 17882016-03-09 Cesar Philippidis <cesar@codesourcery.com>
1789
1790 * c-parser.c (c_parser_oacc_loop): Update cclauses and clauses
1791 when calling c_finish_omp_clauses.
1792
2d1d2e55 17932016-03-04 Bernd Schmidt <bschmidt@redhat.com>
1794
1795 PR c/69824
1796 * c-decl.c (get_parm_info): Don't queue implicit function declarations
1797 for later.
1798
6560d1ad 17992016-03-04 Marek Polacek <polacek@redhat.com>
1800
1801 PR c/69798
1802 * c-parser.c (c_parser_postfix_expression): Call
1803 c_parser_cast_expression rather than c_parser_postfix_expression.
1804
40e9ce2d 18052016-03-01 Jakub Jelinek <jakub@redhat.com>
1806
1807 PR c/69796
1808 PR c/69974
1809 * c-parser.c (c_parser_translation_unit): Don't change TREE_TYPE
1810 of incomplete decls to error_mark_node.
1811
f0ea75d1 18122016-02-24 Marek Polacek <polacek@redhat.com>
1813
1814 PR c/69819
1815 * c-decl.c (finish_decl): Don't update the copy of the type of a
1816 different decl type.
1817
d41ab738 18182016-02-23 Jakub Jelinek <jakub@redhat.com>
1819
1820 PR objc/69844
1821 * c-parser.c (c_parser_for_statement): Properly handle ObjC classes
1822 in id_kind reclassification.
1823
7675e968 18242016-02-16 Jakub Jelinek <jakub@redhat.com>
1825
1826 PR c/69835
1827 * c-typeck.c (build_binary_op): Revert 2015-09-09 change.
1828
28072426 18292016-02-16 James Norris <jnorris@codesourcery.com>
1830
1831 PR c/64748
1832 * c-parser.c (c_parser_oacc_data_clause_deviceptr): Allow parms.
1833
74a4140f 18342016-02-12 Bernd Schmidt <bschmidt@redhat.com>
1835
7c25ed5c 1836 * c-decl.c (build_null_declspecs): Zero the entire struct.
1837
74a4140f 1838 PR c/69522
1839 * c-parser.c (c_parser_braced_init): New arg outer_obstack. All
1840 callers changed. If nested_p is true, use it to call
1841 finish_implicit_inits.
1842 * c-tree.h (finish_implicit_inits): Declare.
1843 * c-typeck.c (finish_implicit_inits): New function. Move code
1844 from ...
1845 (push_init_level): ... here.
1846 (set_designator, process_init_element): Call finish_implicit_inits.
1847
40b38ace 18482016-02-11 Jakub Jelinek <jakub@redhat.com>
1849
1850 PR c/69768
1851 * c-typeck.c (parser_build_binary_op): Strip nops from integer_zerop
1852 arguments for -Waddress warning.
1853
6b098e91 18542016-02-04 Jakub Jelinek <jakub@redhat.com>
1855
1856 PR c/69669
1857 * c-decl.c (finish_enum): When honoring mode attribute,
1858 make sure to use proper TYPE_MIN_VALUE and TYPE_MAX_VALUE.
1859
ff5e28e9 18602016-01-29 Jakub Jelinek <jakub@redhat.com>
1861
1862 PR debug/69518
1863 * c-decl.c (finish_struct): Clear C_TYPE_INCOMPLETE_VARS in
1864 all type variants, not just TYPE_MAIN_VARIANT.
1865
78e516eb 18662016-01-27 Jakub Jelinek <jakub@redhat.com>
1867
1868 PR debug/66869
1869 * c-decl.c (c_write_global_declarations_1): Warn with
1870 warn_unused_function if static prototype without definition
1871 is not C_DECL_USED.
1872
fee5e491 18732016-01-27 Marek Polacek <polacek@redhat.com>
1874
1875 PR c/68062
1876 * c-typeck.c (build_binary_op) [EQ_EXPR, GE_EXPR]: Promote operand
1877 to unsigned, if needed. Add -Wsign-compare warning.
1878
9bbfd060 18792016-01-26 Jakub Jelinek <jakub@redhat.com>
1880
1881 PR tree-optimization/69483
1882 * c-parser.c (c_parser_translation_unit): Use FOR_EACH_VEC_ELT.
1883
6ebc6587 18842016-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16d4186f 1885
1886 PR c/24293
1887 * c-tree.h (incomplete_record_decls): Declare.
1888 * c-parser.c (incomplete_record_decls): Define.
1889 (c_parser_translation_unit): Iterate through incomplete_record_decls and
1890 report error if any decl has zero size.
1891 * c-decl.c (finish_decl): Append static decl with incomplete struct/union
1892 or enum type to incomplete_record_decls.
1893
4c39e3a5 18942016-01-14 Tom de Vries <tom@codesourcery.com>
1895
1896 PR tree-optimization/68773
1897 * c-parser.c (c_parser_oacc_declare, c_parser_omp_declare_target): Don't
1898 set force_output.
1899
77f35cec 19002016-01-14 Marek Polacek <polacek@redhat.com>
1901
1902 PR c/69262
1903 * c-decl.c (grokdeclarator): Provide more information for invalid
1904 array declarations.
1905
d74214f3 19062016-01-06 David Malcolm <dmalcolm@redhat.com>
1907
1908 * c-parser.c (c_parser_unary_expression): For dereferences, build
1909 a combined location before calling build_indirect_ref, so that
1910 error reports cover the full range, manually updating the c_expr
1911 src_range.
1912
be3c9981 19132016-01-06 Marek Polacek <polacek@redhat.com>
1914
1915 PR sanitizer/69099
1916 * c-convert.c (convert) [INTEGER_TYPE]: Drop ARG. Don't pass ARG to
1917 ubsan_instrument_float_cast. Fold EXPR. Use NULL_TREE instead of
1918 NULL.
1919
f1717362 19202016-01-04 Jakub Jelinek <jakub@redhat.com>
1921
1922 Update copyright years.
1923
d7d6a3ab 19242016-01-04 Marek Polacek <polacek@redhat.com>
1925
1926 PR c/68908
1927 * c-typeck.c (build_atomic_assign): Improve commentary. Add
1928 optimization to use __atomic_fetch_* built-in if possible.
1929
9d5fd7c6 19302015-12-23 Thomas Schwinge <thomas@codesourcery.com>
1931
1932 * c-parser.c (c_parser_oacc_clause_use_device): Merge function
1933 into...
1934 (c_parser_omp_clause_use_device_ptr): ... this function. Adjust
1935 all users.
1936
37e2d32f 19372015-12-22 Marek Polacek <polacek@redhat.com>
1938
1939 PR c/69002
1940 * c-typeck.c (build_component_ref): Warn when acessing elements of
1941 atomic structures or unions.
1942
c0bf500c 19432015-12-21 David Malcolm <dmalcolm@redhat.com>
1944
1945 * c-typeck.c: Include "gcc-rich-location.h".
1946 (build_binary_op): In the two places that call binary_op_error,
1947 create a gcc_rich_location and populate it with the location of
1948 the binary op and its two operands.
1949
b9f9586a 19502015-12-16 David Malcolm <dmalcolm@redhat.com>
1951
1952 * c-parser.c (c_parser_statement_after_labels): When calling
1953 c_finish_return, Use the return expression's location if it has
1954 one, falling back to the location of the first token within it.
1955 * c-typeck.c (c_finish_return): When issuing warnings about
1956 the incorrect presence/absence of a return value, issue a note
1957 showing the declaration of the function.
1958
dbd79382 19592015-12-16 David Malcolm <dmalcolm@redhat.com>
1960
1961 * c-parser.c (struct c_parser): Expand array "tokens_buf" from 2
1962 to 4.
1963 (c_parser_peek_nth_token): New function.
1964 (c_parser_peek_conflict_marker): New function.
1965 (c_parser_error): Detect conflict markers and report them as such.
1966
e2093e02 19672015-12-16 David Malcolm <dmalcolm@redhat.com>
1968
1969 * c-parser.c (c_parser_postfix_expression): Use EXPR_LOC_OR_LOC
1970 to preserve range information for the primary expression
1971 in the call to c_parser_postfix_expression_after_primary.
1972
b49f1fbb 19732015-12-16 David Malcolm <dmalcolm@redhat.com>
1974
1975 * c-parser.c (c_parser_static_assert_declaration_no_semi): Use the
1976 expression location, falling back on the first token location,
1977 rather than always using the latter.
1978
1d65bac2 19792015-12-16 Marek Polacek <polacek@redhat.com>
1980
1981 PR c/64637
1982 * c-typeck.c (c_process_expr_stmt): Use location of the expression if
1983 available.
1984
75e722a6 19852015-12-15 Marek Polacek <polacek@redhat.com>
1986
1987 PR c/68907
1988 * c-typeck.c (build_atomic_assign): Set TREE_NO_WARNING on an
1989 artificial decl.
1990
7063d45b 19912015-12-08 David Malcolm <dmalcolm@redhat.com>
1992
1993 * c-parser.c (c_parser_alignof_expression): Capture location of
1994 closing parenthesis (if any), or of end of unary expression, and
1995 use it to build a src_range for the expression.
1996
f73b4782 19972015-12-08 David Malcolm <dmalcolm@redhat.com>
1998
1999 PR c/68757
2000 * c-parser.c (c_parser_get_builtin_args): Add
2001 "out_close_paren_loc" param, and write back to it.
2002 (c_parser_postfix_expression): Capture the closing
2003 parenthesis location for RID_CHOOSE_EXPR,
2004 RID_BUILTIN_CALL_WITH_STATIC_CHAIN, RID_BUILTIN_COMPLEX,
2005 RID_BUILTIN_SHUFFLE and use it to set the source range
2006 for such expressions; within RID_BUILTIN_COMPLEX set
2007 the underlying location.
2008
1b062945 20092015-12-07 Marek Polacek <polacek@redhat.com>
2010
2011 PR c/68668
2012 * c-decl.c (grokdeclarator): If ORIG_QUAL_INDIRECT is indirect, use
2013 TREE_TYPE of ORIG_QUAL_TYPE, otherwise decrement ORIG_QUAL_INDIRECT.
2014
a4ab54ac 20152015-12-04 Eric Botcazou <ebotcazou@adacore.com>
2016
2017 * c-tree.h (c_build_va_arg): Adjust prototype.
2018 * c-parser.c (c_parser_postfix_expression): Adjust call to above.
2019 * c-typeck.c (c_build_va_arg): Rename LOC parameter to LOC2, add LOC1
2020 parameter, adjust throughout and issue an error if EXPR is a component
2021 with reverse storage order.
2022
da562e32 20232015-12-02 Jason Merrill <jason@redhat.com>
2024
2025 * c-fold.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
2026 (c_fully_fold_internal, decl_constant_value_for_optimization):
2027 Move from c-common.c.
2028 * c-tree.h: Declare decl_constant_value_for_optimization.
2029 * Make-lang.in (C_AND_OBJC_OBJS): Add c-fold.o.
2030
89f16034 20312015-12-02 Joseph Myers <joseph@codesourcery.com>
2032
2033 PR c/68162
2034 * c-decl.c (grokdeclarator): Set first_non_attr_kind before
2035 following link from declarator to next declarator. Track original
2036 qualified type and pass it to c_build_qualified_type.
2037 * c-typeck.c (c_build_qualified_type): Add arguments
2038 orig_qual_type and orig_qual_indirect.
2039
2a7545d5 20402015-12-02 Thomas Schwinge <thomas@codesourcery.com>
2041
2042 * c-parser.c (c_parser_omp_clause_name)
2043 (c_parser_oacc_all_clauses): Alphabetical sorting.
2044
ad80582d 20452015-12-02 Jakub Jelinek <jakub@redhat.com>
2046
2047 PR c/68533
2048 * c-decl.c (get_parm_info): Use b->locus instead of input_location
2049 for diagnostics.
2050
571b3486 20512015-12-01 Julian Brown <julian@codesourcery.com>
2052 Cesar Philippidis <cesar@codesourcery.com>
2053 James Norris <James_Norris@mentor.com>
2054
2055 * c-parser.c (c_parser_omp_clause_name): Add use_device support.
2056 (c_parser_oacc_clause_use_device): New function.
2057 (c_parser_oacc_all_clauses): Add use_device support.
2058 (OACC_HOST_DATA_CLAUSE_MASK): New macro.
2059 (c_parser_oacc_host_data): New function.
2060 (c_parser_omp_construct): Add host_data support.
2061 * c-tree.h (c_finish_oacc_host_data): Add prototype.
2062 * c-typeck.c (c_finish_oacc_host_data): New function.
2063 (c_finish_omp_clauses): Add use_device support.
2064
c4848393 20652015-11-29 Jan Hubicka <hubicka@ucw.cz>
2066
2067 PR c/67106
2068 * c-decl.c: Set TYPE_PACKED in variants.
2069
d4e328e9 20702015-11-27 Martin Liska <mliska@suse.cz>
2071
2072 PR c++/68312
2073 * c-array-notation.c (fix_builtin_array_notation_fn):
2074 Use release_vec_vec instead of vec::release.
2075 (build_array_notation_expr): Likewise.
2076 (fix_conditional_array_notations_1): Likewise.
2077 (fix_array_notation_expr): Likewise.
2078 (fix_array_notation_call_expr): Likewise.
2079
c5e4f591 20802015-11-27 Jakub Jelinek <jakub@redhat.com>
2081
2082 PR c/63326
2083 * c-parser.c (c_parser_compound_statement_nostart): If
2084 last_label is true, use pragma_stmt instead of pragma_compound
2085 as second c_parser_pragma argument.
2086 (c_parser_omp_ordered, c_parser_omp_target_update,
2087 c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Pass
2088 false as second argument to c_parser_skip_to_pragma_eol after
2089 diagnosing standalone directives used in pragma_stmt context.
2090
c954a5bd 20912015-11-24 Ilya Verbin <ilya.verbin@intel.com>
2092
2093 * c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING"
2094 with "if (ENABLE_OFFLOADING)".
2095
daebf4f3 20962015-11-23 David Malcolm <dmalcolm@redhat.com>
2097
2098 PR objc/68438
2099 * c-parser.c (c_parser_postfix_expression): Set up source ranges
2100 for various Objective-C constructs: Class.name syntax,
2101 @selector(), @protocol(), @encode(), and [] message syntax.
2102
734caf84 21032015-11-20 David Malcolm <dmalcolm@redhat.com>
2104
2105 PR 62314
2106 * c-typeck.c (should_suggest_deref_p): New function.
2107 (build_component_ref): Special-case POINTER_TYPE when
2108 generating a "not a structure of union" error message, and
2109 suggest a "->" rather than a ".", providing a fix-it hint.
2110
11d8dd6f 21112015-11-19 David Malcolm <dmalcolm@redhat.com>
2112
2113 * c-typeck.c (lookup_field_fuzzy): Move determination of closest
2114 candidate into a new function, find_closest_identifier.
2115
62efaf6b 21162015-11-19 Marek Polacek <polacek@redhat.com>
2117
2118 PR c/68412
2119 * c-typeck.c (parser_build_binary_op): Properly handle
2120 C_MAYBE_CONST_EXPR before calling warn_tautological_cmp.
2121
9dfffd6d 21222015-11-17 David Malcolm <dmalcolm@redhat.com>
2123
2124 * c-parser.c (set_c_expr_source_range): Bulletproof both
2125 overloaded implementations against NULL expr->value.
2126 (c_parser_braced_init): Set src_range for "ret" to a sane pair of
2127 values.
2128 (c_parser_unary_expression): Likewise when handling addresses of
2129 labels.
2130 (c_parser_postfix_expression): Likewise for statement expressions,
2131 for __FUNCTION__, __PRETTY_FUNCTION_ and __func__ keywords, for
2132 __builtin_va_arg, and for __builtin_offset_of.
2133 (c_parser_postfix_expression_after_paren_type): Initialize expr's
2134 src_range using the range of the braced initializer.
2135 (c_parser_transaction_expression): Set src_range for "ret" to a
2136 sane pair of values.
2137
c58a4cfd 21382015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
2139
2140 * c-parser.c (c_finish_omp_declare_simd): Look for
2141 "simd" attribute as well. Update error message.
2142
5f3001a9 21432015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2144
2145 * c-parser.c (c_parser_omp_declare_target): Adjust.
2146
a9833286 21472015-11-14 Jakub Jelinek <jakub@redhat.com>
2148
2149 * c-typeck.c (c_finish_omp_clauses): Don't mark
2150 GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
2151
ef61516b 21522015-11-14 Marek Polacek <polacek@redhat.com>
2153
2154 * c-decl.c: Use RECORD_OR_UNION_TYPE_P throughout.
2155 * c-typeck.c: Likewise.
2156
a96cefb2 21572015-11-13 David Malcolm <dmalcolm@redhat.com>
2158
2159 * c-decl.c (warn_defaults_to): Pass line_table to
2160 rich_location ctor.
2161 * c-errors.c (pedwarn_c99): Likewise.
2162 (pedwarn_c90): Likewise.
2163 * c-parser.c (set_c_expr_source_range): New functions.
2164 (c_token::get_range): New method.
2165 (c_token::get_finish): New method.
2166 (c_parser_expr_no_commas): Call set_c_expr_source_range on the ret
2167 based on the range from the start of the LHS to the end of the
2168 RHS.
2169 (c_parser_conditional_expression): Likewise, based on the range
2170 from the start of the cond.value to the end of exp2.value.
2171 (c_parser_binary_expression): Call set_c_expr_source_range on
2172 the stack values for TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
2173 (c_parser_cast_expression): Call set_c_expr_source_range on ret
2174 based on the cast_loc through to the end of the expr.
2175 (c_parser_unary_expression): Likewise, based on the
2176 op_loc through to the end of op.
2177 (c_parser_sizeof_expression) Likewise, based on the start of the
2178 sizeof token through to either the closing paren or the end of
2179 expr.
2180 (c_parser_postfix_expression): Likewise, using the token range,
2181 or from the open paren through to the close paren for
2182 parenthesized expressions.
2183 (c_parser_postfix_expression_after_primary): Likewise, for
2184 various kinds of expression.
2185 * c-tree.h (struct c_expr): Add field "src_range".
2186 (c_expr::get_start): New method.
2187 (c_expr::get_finish): New method.
2188 (set_c_expr_source_range): New decls.
2189 * c-typeck.c (parser_build_unary_op): Call set_c_expr_source_range
2190 on ret for prefix unary ops.
2191 (parser_build_binary_op): Likewise, running from the start of
2192 arg1.value through to the end of arg2.value.
2193
7a810b2f 21942015-11-13 Marek Polacek <polacek@redhat.com>
2195
2196 PR c/68320
2197 * c-parser.c (c_parser_for_statement): Treat unknown tokens as IDs.
2198
b67f0560 21992015-11-13 David Malcolm <dmalcolm@redhat.com>
2200
2201 * c-typeck.c: Include spellcheck.h.
2202 (lookup_field_fuzzy_find_candidates): New function.
2203 (lookup_field_fuzzy): New function.
2204 (build_component_ref): If the field was not found, try using
2205 lookup_field_fuzzy and potentially offer a suggestion.
2206
2fc5e987 22072015-11-12 James Norris <jnorris@codesourcery.com>
2208 Joseph Myers <joseph@codesourcery.com>
2209
2210 * c-parser.c (c_parser_pragma): Handle PRAGMA_OACC_DECLARE.
2211 (c_parser_omp_clause_name): Handle 'device_resident' clause.
2212 (c_parser_oacc_data_clause): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
2213 and PRAGMA_OMP_CLAUSE_LINK.
2214 (c_parser_oacc_all_clauses): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
2215 and PRAGMA_OACC_CLAUSE_LINK.
2216 (OACC_DECLARE_CLAUSE_MASK): New definition.
2217 (c_parser_oacc_declare): New function.
2218
28a70e29 22192015-11-12 Marek Polacek <polacek@redhat.com>
2220
2221 PR c/67784
2222 * c-parser.c (c_parser_for_statement): Reclassify the token in
2223 a correct scope.
2224
81b1b2a8 22252015-11-11 Marek Polacek <polacek@redhat.com>
2226
2227 PR c/68107
2228 PR c++/68266
2229 * c-decl.c (grokdeclarator): Call valid_array_size_p. Remove code
2230 checking the size of an array.
2231
6e803544 22322015-11-11 Andrew MacLeod <amacleod@redhat.com>
2233
2234 * c-array-notation.c: Remove unused header files.
2235 * c-aux-info.c: Likewise.
2236 * c-convert.c: Likewise.
2237 * c-decl.c: Likewise.
2238 * c-errors.c: Likewise.
2239 * c-lang.c: Likewise.
2240 * c-objc-common.c: Likewise.
2241 * c-parser.c: Likewise.
2242 * c-typeck.c: Likewise.
2243 * gccspec.c: Likewise.
2244
a1b7fe4b 22452015-11-09 Thomas Schwinge <thomas@codesourcery.com>
2246 Cesar Philippidis <cesar@codesourcery.com>
2247 James Norris <jnorris@codesourcery.com>
2248 Julian Brown <julian@codesourcery.com>
2249 Nathan Sidwell <nathan@codesourcery.com>
2250
2251 c/
2252 * c-parser.c (c_parser_declaration_or_fndef): Add OpenACC
2253 routine arg.
2254 (c_parser_declaration_or_fndef): Call c_finish_oacc_routine.
2255 (c_parser_pragma): Parse 'acc routine'.
2256 (OACC_ROUTINE_CLAUSE_MARK): Define.
2257 (c_parser_oacc_routine, (c_finish_oacc_routine): New.
2258
7758d608 22592015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
2260
2261 PR debug/67192
2262 * c-typeck.c (c_finish_loop): For unconditional loops, set the
2263 location of the backward-goto to the start of the loop body.
2264
c2bf2fb2 22652015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
2266
2267 PR debug/67192
2268 * c-parser.c (c_parser_while_statement): Finish the loop before
2269 parsing ahead for misleading indentation.
2270 (c_parser_for_statement): Likewise.
2271
292237f3 22722015-11-08 Eric Botcazou <ebotcazou@adacore.com>
2273
2274 * c-decl.c (finish_struct): If the structure has reverse storage
2275 order, rewrite the type of array fields with scalar component. Call
2276 maybe_apply_pragma_scalar_storage_order on entry.
2277 * c-typeck.c (build_unary_op) <ADDR_EXPR>: Remove left-overs. Issue
2278 errors on bit-fields and reverse SSO here and not...
2279 (c_mark_addressable): ...here.
2280 (output_init_element): Adjust call to initializer_constant_valid_p.
2281 (c_build_qualified_type): Propagate TYPE_REVERSE_STORAGE_ORDER.
2282
f0479000 22832015-11-06 David Malcolm <dmalcolm@redhat.com>
2284
2285 * c-decl.c (warn_defaults_to): Update for change in signature
2286 of diagnostic_set_info.
2287 * c-errors.c (pedwarn_c99): Likewise.
2288 (pedwarn_c90): Likewise.
2289 * c-objc-common.c (c_tree_printer): Update for new "caret_p" param
2290 for textinfo::set_location.
2291
ef014f95 22922015-11-05 Cesar Philippidis <cesar@codesourcery.com>
2293 Thomas Schwinge <thomas@codesourcery.com>
2294 James Norris <jnorris@codesourcery.com>
2295
2296 * c-parser.c (c_parser_omp_clause_name): Add support for
2297 PRAGMA_OACC_CLAUSE_INDEPENDENT and PRAGMA_OACC_CLAUSE_TILE.
2298 (c_parser_omp_clause_default): Add is_oacc argument. Handle
2299 default(none) in OpenACC.
2300 (c_parser_oacc_shape_clause): Allow pointer variables as gang static
2301 arguments.
2302 (c_parser_oacc_clause_tile): New function.
2303 (c_parser_oacc_all_clauses): Add support for OMP_CLAUSE_DEFAULT,
2304 OMP_CLAUSE_INDEPENDENT and OMP_CLAUSE_TILE.
2305 (OACC_LOOP_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_{PRIVATE,INDEPENDENT,
2306 TILE}.
2307 (OACC_KERNELS_MASK): Add PRAGMA_OACC_CLAUSE_DEFAULT.
2308 (OACC_PARALLEL_MASK): Add PRAGMA_OACC_CLAUSE_{DEFAULT,PRIVATE,
2309 FIRSTPRIVATE}.
2310 (c_parser_omp_all_clauses): Update call to c_parser_omp_clause_default.
2311 (c_parser_oacc_update): Update the error message for missing clauses.
2312 * c-typeck.c (c_finish_omp_clauses): Add support for OMP_CLAUSE_TILE
2313 and OMP_CLAUSE_INDEPENDENT.
2314
f480ca9a 23152015-11-05 Marek Polacek <polacek@redhat.com>
2316
2317 PR c/68090
2318 * c-parser.c (c_parser_postfix_expression_after_paren_type): Don't
2319 deal with pre-evaluation on invalid types.
2320
9561765e 23212015-11-05 Jakub Jelinek <jakub@redhat.com>
2322 Ilya Verbin <ilya.verbin@intel.com>
2323
2324 * c-parser.c: Include context.h and gimple-expr.h.
2325 (c_parser_omp_clause_schedule): Parse schedule modifiers, diagnose
2326 monotonic together with nonmonotonic.
2327 (c_parser_omp_for_loop): Call c_omp_check_loop_iv. Call add_stmt here.
2328 (OMP_DISTRIBUTE_CLAUSE_MASK): Add lastprivate clause.
2329 (c_parser_omp_target_data, c_parser_omp_target_enter_data,
2330 c_parser_omp_target_exit_data): Allow GOMP_MAP_ALWAYS_POINTER.
2331 (c_parser_omp_target): Likewise. Evaluate num_teams and thread_limit
2332 expressions on combined target teams before the target.
2333 (c_parser_omp_declare_target): If decl has "omp declare target" or
2334 "omp declare target link" attribute, and cgraph or varpool node already
2335 exists, then set corresponding flags. Call c_finish_omp_clauses
2336 in the parenthesized extended-list syntax case.
2337 * c-decl.c (c_decl_attributes): Don't diagnose block scope vars inside
2338 declare target.
2339 * c-typeck.c (handle_omp_array_sections_1): Allow non-zero low-bound
2340 on OMP_CLAUSE_REDUCTION array sections.
2341 (handle_omp_array_sections): Encode low-bound into the MEM_REF, either
2342 into the constant offset, or for variable low-bound using
2343 POINTER_PLUS_EXPR. For structure element based array sections use
2344 GOMP_MAP_ALWAYS_POINTER instead of GOMP_MAP_FIRSTPRIVATE_POINTER.
2345 (c_finish_omp_clauses): Drop generic_field_head, structure
2346 elements are now always mapped even as array section bases,
2347 diagnose same var in data sharing and mapping clauses. Diagnose if
2348 linear step on declare simd is neither a constant nor a uniform
2349 parameter. Look through POINTER_PLUS_EXPR for array section
2350 reductions. Diagnose the same var or function appearing multiple
2351 times on the same directive. Fix up wording for the to clause if t
2352 is neither a FUNCTION_DECL nor a VAR_DECL. Diagnose nonmonotonic
2353 modifier on kinds other than dynamic or guided or nonmonotonic
2354 modifier together with ordered clause.
2355
9e10bfb7 23562015-11-03 Thomas Schwinge <thomas@codesourcery.com>
2357 Chung-Lin Tang <cltang@codesourcery.com>
2358
2359 * c-parser.c (c_parser_omp_construct): Handle PRAGMA_OACC_ATOMIC.
2360
4cba6f60 23612015-10-29 Andrew MacLeod <amacleod@redhat.com>
2362
2363 * c-array-notation.c: Reorder #include's and remove duplicates.
2364 * c-aux-info.c: Likewise.
2365 * c-convert.c: Likewise.
2366 * c-decl.c: Likewise.
2367 * c-errors.c: Likewise.
2368 * c-lang.c: Likewise.
2369 * c-objc-common.c: Likewise.
2370 * c-parser.c: Likewise.
2371 * c-typeck.c: Likewise.
2372
7b15d957 23732015-10-26 Jim Wilson <jim.wilson@linaro.org>
2374
2375 PR debug/66068
2376 * c-typeck.c (c_build_qualified_type): Clear C_TYPE_INCOMPLETE_VARS
2377 after calling build_qualified_type.
2378
62c48328 23792015-10-27 Cesar Philippidis <cesar@codesourcery.com>
2380 Thomas Schwinge <thomas@codesourcery.com>
2381 James Norris <jnorris@codesourcery.com>
2382 Joseph Myers <joseph@codesourcery.com>
2383 Julian Brown <julian@codesourcery.com>
2384 Bernd Schmidt <bschmidt@redhat.com>
2385
2386 * c-parser.c (c_parser_oacc_shape_clause): New.
2387 (c_parser_oacc_simple_clause): New.
2388 (c_parser_oacc_all_clauses): Add auto, gang, seq, vector, worker.
2389 (OACC_LOOP_CLAUSE_MASK): Add gang, worker, vector, auto, seq.
2390
2c4c8725 23912015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2392 James Norris <jnorris@codesourcery.com>
2393 Cesar Philippidis <cesar@codesourcery.com>
2394
2395 PR c/64765
2396 PR c/64880
2397 * c-parser.c (c_parser_oacc_loop): Add mask, cclauses formal
2398 parameters, and handle these. Adjust all users.
2399 (c_parser_oacc_kernels, c_parser_oacc_parallel): Merge functions
2400 into...
2401 (c_parser_oacc_kernels_parallel): ... this new function. Adjust
2402 all users.
2403 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels): Don't
2404 declare functions.
2405 (c_finish_omp_construct): Declare function.
2406 * c-typeck.c (c_finish_oacc_parallel, c_finish_oacc_kernels):
2407 Merge functions into...
2408 (c_finish_omp_construct): ... this new function.
2409
844cece0 24102015-10-22 Richard Biener <rguenther@suse.de>
2411
2412 * c-typeck.c (c_finish_omp_clauses): Properly convert operands
2413 before folding a MINUS_EXPR.
2414
5ce1b137 24152015-10-21 Marek Polacek <polacek@redhat.com>
2416
2417 PR c/68024
2418 * c-decl.c (start_function): Warn about vararg functions without
2419 a prototype.
2420
1f137e6d 24212015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
2422
2423 * c-typeck.c (build_conditional_expr): Use boolean vector
2424 type for vector comparison.
2425 (build_vec_cmp): New.
2426 (build_binary_op): Use build_vec_cmp for comparison.
2427
8523243e 24282015-10-20 Marek Polacek <polacek@redhat.com>
2429
2430 * c-parser.c (is_cilkplus_vector_p): Don't define here.
2431
3f73be3e 24322015-10-20 Marek Polacek <polacek@redhat.com>
2433
2434 PR c/67964
2435 * c-parser.c (c_parser_attributes): Break out of the loop if the
2436 token after an attribute isn't a comma.
2437
43895be5 24382015-10-13 Jakub Jelinek <jakub@redhat.com>
2439 Aldy Hernandez <aldyh@redhat.com>
2440
2441 * c-parser.c (c_parser_pragma): Handle PRAGMA_OMP_ORDERED here.
2442 (c_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
2443 (c_parser_omp_variable_list): Handle structure elements for
2444 map, to and from clauses. Handle array sections in reduction
2445 clause. Formatting fixes.
2446 (c_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
2447 if clause modifiers.
2448 (c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
2449 c_parser_omp_clause_priority, c_parser_omp_clause_hint,
2450 c_parser_omp_clause_defaultmap, c_parser_omp_clause_use_device_ptr,
2451 c_parser_omp_clause_is_device_ptr): New functions.
2452 (c_parser_omp_clause_ordered): Parse optional parameter.
2453 (c_parser_omp_clause_reduction): Handle array reductions.
2454 (c_parser_omp_clause_schedule): Parse optional simd modifier.
2455 (c_parser_omp_clause_nogroup, c_parser_omp_clause_orderedkind): New
2456 functions.
2457 (c_parser_omp_clause_linear): Parse linear clause modifiers.
2458 (c_parser_omp_clause_depend_sink): New function.
2459 (c_parser_omp_clause_depend): Parse source/sink depend kinds.
2460 (c_parser_omp_clause_map): Parse release/delete map kinds and
2461 optional always modifier.
2462 (c_parser_oacc_all_clauses): Adjust c_parser_omp_clause_if
2463 and c_finish_omp_clauses callers.
2464 (c_parser_omp_all_clauses): Likewise. Parse OpenMP 4.5 clauses.
2465 Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
2466 (c_parser_oacc_cache): Adjust c_finish_omp_clauses caller.
2467 (OMP_CRITICAL_CLAUSE_MASK): Define.
2468 (c_parser_omp_critical): Parse critical clauses.
2469 (c_parser_omp_for_loop): Handle doacross loops, adjust
2470 c_finish_omp_for and c_finish_omp_clauses callers.
2471 (OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
2472 (c_parser_omp_simd): Allow ordered clause if it has no parameter.
2473 (OMP_FOR_CLAUSE_MASK): Add linear clause.
2474 (c_parser_omp_for): Disallow ordered clause when combined with
2475 distribute. Disallow linear clause when combined with distribute
2476 and not combined with simd.
2477 (OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
2478 (c_parser_omp_ordered): Add CONTEXT argument, remove LOC argument,
2479 parse clauses and if depend clause is found, don't parse a body.
2480 (c_parser_omp_parallel): Disallow copyin clause on target parallel.
2481 Allow target parallel without for after it.
2482 (OMP_TASK_CLAUSE_MASK): Add priority clause.
2483 (OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
2484 (c_parser_omp_target_data): Diagnose no map clauses or clauses with
2485 invalid kinds.
2486 (OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
2487 (OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
2488 OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
2489 (c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): New
2490 functions.
2491 (OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
2492 defaultmap and is_device_ptr clauses.
2493 (c_parser_omp_target): Parse target parallel and target simd. Set
2494 OMP_TARGET_COMBINED on combined constructs. Parse target enter data
2495 and target exit data. Diagnose invalid map kinds.
2496 (OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
2497 (c_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
2498 construct.
2499 (c_parser_omp_declare_reduction): Use STRIP_NOPS when checking for
2500 &omp_priv.
2501 (OMP_TASKLOOP_CLAUSE_MASK): Define.
2502 (c_parser_omp_taskloop): New function.
2503 (c_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
2504 handle PRAGMA_OMP_TASKLOOP.
2505 (c_parser_cilk_for): Adjust c_finish_omp_clauses callers.
2506 * c-tree.h (c_finish_omp_clauses): Add two new arguments.
2507 * c-typeck.c (handle_omp_array_sections_1): Fix comment typo.
2508 Add IS_OMP argument, handle structure element bases, diagnose
2509 bitfields, pass IS_OMP recursively, diagnose known zero length
2510 array sections in depend clauses, handle array sections in reduction
2511 clause, diagnose negative length even for pointers.
2512 (handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
2513 types, pass IS_OMP down to handle_omp_array_sections_1, handle
2514 array sections in reduction clause, set
2515 OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
2516 length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
2517 (c_finish_omp_clauses): Add IS_OMP and DECLARE_SIMD arguments.
2518 Handle new OpenMP 4.5 clauses and new restrictions for the old ones.
2519
789fbb51 25202015-10-06 Marek Polacek <polacek@redhat.com>
2521
2522 * c-parser.c (c_parser_statement_after_labels): Use
2523 protected_set_expr_location.
2524 (c_parser_omp_clause_num_gangs): Likewise.
2525 (c_parser_omp_clause_num_threads): Likewise.
2526 (c_parser_omp_clause_num_workers): Likewise.
2527 (c_parser_omp_clause_vector_length): Likewise.
2528 (c_parser_omp_clause_num_teams): Likewise.
2529 (c_parser_omp_clause_thread_limit): Likewise.
2530 * c-typeck.c (build_c_cast): Likewise.
2531 (c_cast_expr): Likewise.
2532
20cb53c9 25332015-10-05 Richard Sandiford <richard.sandiford@arm.com>
2534
2535 * c-typeck.c (c_tree_equal): Use real_equal instead of
2536 REAL_VALUES_EQUAL.
2537
6d02e6b2 25382015-10-04 Jason Merrill <jason@redhat.com>
2539
2540 * c-parser.c (c_lex_one_token): Handle @synchronized.
2541 * c-decl.c (match_builtin_function_types): A declaration of a built-in
2542 can change whether the function is transaction_safe.
2543
802c32cd 25442015-10-02 Marek Polacek <polacek@redhat.com>
2545
2546 PR c/67730
2547 * c-typeck.c (convert_for_assignment): Use the expansion point
2548 location throughout.
2549
ef17a71a 25502015-10-02 Marek Polacek <polacek@redhat.com>
2551
2552 PR c/64249
2553 * c-parser.c (c_parser_statement_after_labels): Add CHAIN parameter
2554 and pass it down to c_parser_if_statement.
2555 (c_parser_else_body): Add CHAIN parameter and pass it down to
2556 c_parser_statement_after_labels.
2557 (c_parser_if_statement): Add CHAIN parameter. Add code to warn about
2558 duplicated if-else-if conditions.
2559
7e93eb1a 25602015-10-01 Marek Polacek <polacek@redhat.com>
2561
2562 * c-typeck.c (convert_for_assignment): Improve commentary.
2563
ab4c803c 25642015-09-30 Marek Polacek <polacek@redhat.com>
2565
2566 PR c/67730
2567 * c-typeck.c (c_finish_return): Use the expansion point location for
2568 certain "return with value" warnings.
2569
ed536208 25702015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2571
2572 * c-parser.c (pragma_lex): Add loc argument.
2573
03e8b174 25742015-09-15 Marek Polacek <polacek@redhat.com>
2575
2576 PR c/67580
2577 * c-decl.c (tag_exists_p): New function.
2578 * c-parser.c (c_parser_declaration_or_fndef): Give a hint when
2579 struct/union/enum keywords are missing.
2580 * c-tree.h (tag_exists_p): Declare.
2581
a39b4dc0 25822015-09-15 Marek Polacek <polacek@redhat.com>
2583
2584 * c-decl.c (lookup_label): Return NULL_TREE instead of 0.
2585 (lookup_tag): Change the type of THISLEVEL_ONLY to bool.
2586 Return NULL_TREE instead of 0.
2587 (lookup_name): Return NULL_TREE instead of 0.
2588 (lookup_name_in_scope): Likewise.
2589 (shadow_tag_warned): Use true instead of 1 and NULL_TREE instead of 0.
2590 (parser_xref_tag): Use false instead of 0.
2591 (start_struct): Use true instead of 1.
2592 (start_enum): Use true instead of 1 and NULL_TREE instead of 0.
2593
85f5e2ee 25942015-09-14 Marek Polacek <polacek@redhat.com>
2595
2596 * c-typeck.c (set_nonincremental_init_from_string): Use
2597 HOST_WIDE_INT_M1U when shifting a negative value.
2598
739237d5 25992015-09-09 Mark Wielaard <mjw@redhat.com>
2600
2601 * c-typeck.c (build_binary_op): Check and warn when nonnull arg
2602 parm against NULL.
2603
d2b2788c 26042015-09-10 Jakub Jelinek <jakub@redhat.com>
2605
2606 PR c/67502
2607 * c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts
2608 into OMP_FOR_PRE_BODY rather than before the loop.
2609
deef87db 26102015-09-09 Jakub Jelinek <jakub@redhat.com>
2611
c43f93d7 2612 PR c/67501
2613 * c-parser.c (c_parser_oacc_all_clauses,
2614 c_parser_omp_all_clauses): Remove invalid clause from
2615 list of clauses even if parser->error is set.
2616
0fdcfb93 2617 PR c/67500
2618 * c-parser.c (c_parser_omp_clause_aligned,
2619 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen): Fix up
2620 test for errors.
2621 * c-decl.c (temp_pop_parm_decls): Allow b->decl equal to
2622 error_mark_node.
2623
deef87db 2624 PR c/67495
2625 * c-parser.c (c_parser_omp_atomic): Use c_parser_cast_expression
2626 instead of c_parser_unary_expression. If the result is !lvalue_p,
2627 wrap the result of c_fully_fold into NON_LVALUE_EXPR.
2628
e96292e9 26292015-09-04 Marek Polacek <polacek@redhat.com>
2630
2631 PR sanitizer/67279
2632 * c-typeck.c (build_binary_op): Don't instrument static initializers.
2633
547c6b1f 26342015-09-03 Martin Sebor <msebor@redhat.com>
2635
2636 PR c/66516
6ccd7236 2637 * c-typeck.c (convert_arguments, parser_build_unary_op,
2638 build_conditional_expr, c_cast_expr, convert_for_assignment,
2639 build_binary_op, _objc_common_truthvalue_conversion): Call
547c6b1f 2640 reject_gcc_builtin.
2641 (c_decl_implicit): Define.
2642
bd66724c 26432015-09-02 Marek Polacek <polacek@redhat.com>
2644
2645 PR c/67432
2646 * c-parser.c (c_parser_enum_specifier): Give a better error for
2647 an empty enum.
2648
6dc50383 26492015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
2650
2651 * c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.
2652
7ad1d78d 26532015-08-12 Marek Polacek <polacek@redhat.com>
2654
2655 * c-decl.c (grokdeclarator): Call error_at instead of error and pass
2656 LOC to it.
2657
c9099388 26582015-08-03 Marek Polacek <polacek@redhat.com>
2659
2660 PR c/67088
2661 * c-decl.c (check_bitfield_type_and_width): Add location parameter.
2662 Use it.
2663 (grokdeclarator): Pass LOC down to check_bitfield_type_and_width.
2664
9255be07 26652015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2666
2667 * c-parser.c (c_parser_if_body): Take token_indent_info
2668 argument. Call warn_for_misleading_indentation even when the
2669 body is a semicolon. Extract token_indent_infos corresponding
2670 to the guard, body and next tokens. Adjust call to
2671 warn_for_misleading_indentation accordingly.
2672 (c_parser_else_body): Likewise.
2673 (c_parser_if_statement): Likewise.
2674 (c_parser_while_statement): Likewise.
2675 (c_parser_for_statement): Likewise.
2676
dbbd4c6d 26772015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
2678 Manuel López-Ibáñez <manu@gcc.gnu.org>
2679
2680 * c-decl.c (get_parm_info): Remove static var. Update warning
2681 message.
2682
6784a472 26832015-07-27 Marek Polacek <polacek@redhat.com>
2684
2685 PR c++/66555
2686 PR c/54979
2687 * c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp.
2688
8d669e79 26892015-07-20 Marek Polacek <polacek@redhat.com>
2690
2691 PR c++/55095
2692 * c-typeck.c (digest_init): Pass OPT_Wpedantic to pedwarn_init.
2693 (build_binary_op): Warn about left shift overflows.
2694
1eacc14a 26952015-07-09 Andrew MacLeod <amacleod@redhat.com>
2696
2697 * c-array-notation.c: Adjust includes for flags.h changes.
2698 * c-objc-common.c: Likewise.
2699
9ef16211 27002015-07-07 Andrew MacLeod <amacleod@redhat.com>
2701
2702 * c-array-notation.c: Adjust includes.
2703 * c-aux-info.c: Likewise.
2704 * c-convert.c: Likewise.
2705 * c-decl.c: Likewise.
2706 * c-errors.c: Likewise.
2707 * c-lang.c: Likewise.
2708 * c-objc-common.c: Likewise.
2709 * c-parser.c: Likewise.
2710 * c-typeck.c: Likewise.
2711
0949f227 27122015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2713
2714 PR fortran/66605
2715 * c-decl.c (finish_function): Call do_warn_unused_parameter.
2716
be23b16f 27172015-06-29 Marek Polacek <polacek@redhat.com>
2718
2719 PR c/66322
2720 * c-typeck.c (struct c_switch): Add BOOL_COND_P and OUTSIDE_RANGE_P.
2721 (c_start_case): Set BOOL_COND_P and OUTSIDE_RANGE_P. Don't warn
2722 about -Wswitch-bool here.
2723 (do_case): Update c_add_case_label call.
2724 (c_finish_case): Update c_do_switch_warnings call.
2725
6290f0db 27262015-06-27 Marek Polacek <polacek@redhat.com>
2727
2728 * c-typeck.c: Use VECTOR_TYPE_P throughout.
2729
aa3e402e 27302015-06-26 Marek Polacek <polacek@redhat.com>
2731
2732 * c-array-notation.c (fix_builtin_array_notation_fn): Use
2733 INDIRECT_REF_P.
2734 * c-typeck.c (array_to_pointer_conversion): Likewise.
2735 (build_unary_op): Likewise.
2736 (c_finish_return): Likewise.
2737
ec2e0095 27382015-06-25 Andrew MacLeod <amacleod@redhat.com>
2739
2740 * c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
2741 * c-parser.c: Likewise.
2742
770ff93b 27432015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2744
2745 * c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
2746 instead of pointer_hash.
2747 (detect_field_duplicates): Likewise.
2748
f48c7f4a 27492015-06-25 Marek Polacek <polacek@redhat.com>
2750
2751 * c-array-notation.c: Use VAR_P throughout.
2752 * c-decl.c: Likewise.
2753 * c-objc-common.c: Likewise.
2754 * c-parser.c: Likewise.
2755 * c-typeck.c: Likewise.
2756
ce41e81a 27572015-06-25 Marek Polacek <polacek@redhat.com>
2758
2759 * c-decl.c: Use is_global_var throughout.
2760 * c-parser.c: Likewise.
2761 * c-typeck.c: Likewise.
2762
f2ab3bac 27632015-06-17 Andrew MacLeod <amacleod@redhat.com>
2764
2765 * c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
2766 * c-aux-info.c: Likewise.
2767 * c-convert.c: Likewise.
2768 * c-decl.c: Likewise.
2769 * c-errors.c: Likewise.
2770 * c-lang.c: Likewise.
2771 * c-objc-common.c: Likewise.
2772 * c-parser.c: Likewise.
2773 * c-typeck.c: Likewise.
2774
647730ab 27752015-06-11 Jan Hubicka <hubicka@ucw.cz>
2776
2777 PR middle-end/66325
2778 * c-decl.c (start_enum): Set TYPE_PACKED consistently among type
2779 variants.
2780
dd4b0a0d 27812015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
2782
2783 * c-decl.c (pop_scope): Register the main translation unit
2784 through the new debug hook.
2785
64486212 27862015-06-08 Andrew MacLeod <amacleod@redhat.com>
2787
2788 * c-array-notation.c : Adjust include files.
2789 * c-aux-info.c : Likewise.
2790 * c-convert.c : Likewise.
2791 * c-decl.c : Likewise.
2792 * c-errors.c : Likewise.
2793 * c-lang.c : Likewise.
2794 * c-lang.h : Likewise.
2795 * c-objc-common.c : Likewise.
2796 * c-parser.c : Likewise.
2797 * c-typeck.c : Likewise.
2798
3a1c9df2 27992015-06-05 Aldy Hernandez <aldyh@redhat.com>
2800
2801 * c-decl.c (finish_struct): Save C_TYPE_INCOMPLETE_VARS and
2802 immediately clobber it.
2803 (c_write_global_declarations_1): Remove call to
2804 check_global_declaration_1.
2805 (c_write_global_declarations_2): Remove.
2806 (c_write_final_cleanups): Rename from c_write_global_declarations.
2807 Remove call to finalize_compilation_unit.
2808 Remove calls to debugging hooks.
2809 * c-objc-common.c: Adjust comment for c_warn_unused_global_decl.
2810 * c-objc-common.h: Remove LANG_HOOKS_WRITE_GLOBALS.
2811 * c-tree.h: Remove c_write_global_declarations.
2812
f77c0292 28132015-06-04 Andrew MacLeod <amacleod@redhat.com>
2814
2815 * c-array-notation.c: Adjust includes for restructured coretypes.h.
2816 * c-aux-info.c: Likewise.
2817 * c-convert.c: Likewise.
2818 * c-decl.c: Likewise.
2819 * c-errors.c: Likewise.
2820 * c-lang.c: Likewise.
2821 * c-objc-common.c: Likewise.
2822 * c-parser.c: Likewise.
2823 * c-typeck.c: Likewise.
2824
b44134dc 28252015-06-04 Marek Polacek <polacek@redhat.com>
2826
2827 PR c/66341
2828 * c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if
2829 it is a lvalue.
2830
d1df0bfc 28312015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2832
2833 * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
2834 Warn for empty struct.
2835 (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct.
2836
f8363c5d 28372015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
2838
2839 * c-decl.c (start_function): Call plugin before parsing.
2840 (finish_function): Call plugin after parsing.
2841
5b9761f5 28422015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2843
2844 PR c/49551
2845 * c-decl.c (merge_decls): Merge DECL_COMMON.
2846
eeec71b4 28472015-05-22 Jim Wilson <jim.wilson@linaro.org>
2848
2849 * Make-lang.in (check_gcc_pallelize): Define.
2850
5a4c69dd 28512015-05-22 Marek Polacek <polacek@redhat.com>
2852
2853 PR c/47043
2854 * c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
2855 attributes.
2856
5650b4ff 28572015-05-21 Marek Polacek <polacek@redhat.com>
2858
2859 * c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
2860 DECL_BUILT_IN.
2861
b443c459 28622015-05-20 Marek Polacek <polacek@redhat.com>
2863
2864 * c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
2865 * c-typeck.c: Likewise.
2866
9e73638f 28672015-05-19 Marek Polacek <polacek@redhat.com>
2868
2869 * c-typeck.c (start_init): Use AGGREGATE_TYPE_P.
2870
d7729e26 28712015-05-19 Jakub Jelinek <jakub@redhat.com>
2872
2873 PR middle-end/66199
2874 * c-parser.c (c_parser_omp_for_loop): Don't add
2875 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
2876 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
2877 (c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
2878 constructs.
2879
dfcf26a5 28802015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
2881
2882 * c-typeck.c (build_array_ref): Use std::swap instead of explicit
9e73638f 2883 swaps.
dfcf26a5 2884
09172322 28852015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2886
2887 PR fortran/44054
2888 * c-objc-common.c (c_tree_printer): Replace locus pointer with
2889 accessor function.
2890
aac24642 28912015-05-14 Marek Polacek <polacek@redhat.com>
2892
2893 PR c/66066
2894 PR c/66127
2895 * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
2896 rather than with 0.
2897
e5f01cba 28982015-05-12 David Malcolm <dmalcolm@redhat.com>
2899
2900 * c-parser.c (c_parser_if_body): Add param "if_loc", use it
2901 to add a call to warn_for_misleading_indentation.
2902 (c_parser_else_body): Likewise, adding param "else_loc".
2903 (c_parser_if_statement): Check for misleading indentation.
2904 (c_parser_while_statement): Likewise.
2905 (c_parser_for_statement): Likewise.
2906
dc5945dc 29072015-05-08 Marek Polacek <polacek@redhat.com>
2908
2909 PR c/64918
2910 * c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
2911 (output_init_element): Likewise.
2912
cdc64059 29132015-05-07 Marek Polacek <polacek@redhat.com>
2914
2915 PR c/65179
2916 * c-typeck.c (build_binary_op): Warn when left shifting a negative
2917 value.
2918
6fa7118e 29192015-04-30 Marek Polacek <polacek@redhat.com>
2920
2921 * c-typeck.c (set_init_label): Call error_at instead of error and
2922 pass LOC to it.
2923
98f44804 2924 * c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print
2925 the type of a decl.
2926
2cd7caae 2927 * c-typeck.c (c_build_va_arg): Clarify the error message.
2928
95cfd391 29292015-04-29 Thomas Schwinge <thomas@codesourcery.com>
2930
2931 * c-parser.c (c_parser_oacc_enter_exit_data): Use
2932 OMP_STANDALONE_CLAUSES.
2933
e65e39f8 29342015-04-28 Marek Polacek <polacek@redhat.com>
2935
2936 * c-parser.c (c_parser_binary_expression): Remove duplicate line.
2937
5580bf42 29382015-04-28 Marek Polacek <polacek@redhat.com>
2939
2940 PR c/65901
2941 * c-typeck.c (c_build_va_arg): Require TYPE be a complete type.
2942
c3468fc2 29432015-04-25 Marek Polacek <polacek@redhat.com>
2944
2945 PR c/52085
2946 * c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode"
2947 attribute.
2948
0cd6b1b4 29492015-04-23 Marek Polacek <polacek@redhat.com>
2950
2951 PR c/65345
2952 * c-decl.c (set_labels_context_r): New function.
2953 (store_parm_decls): Call it via walk_tree_without_duplicates.
2954 * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
2955 instead of create_tmp_var. Build TARGET_EXPR instead of
2956 COMPOUND_EXPR.
2957 (build_atomic_assign): Use create_tmp_var_raw instead of
2958 create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR.
2959
05a827ce 29602015-04-20 Ilya Verbin <ilya.verbin@intel.com>
2961
2962 * c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon.
2963 (c_parser_omp_target_update): Add missed %> to error_at ().
2964
de801c28 29652015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2966
2967 PR target/55143
2968 * c-decl.c (c_default_pointer_mode): Remove definition.
2969 * c-tree.h (c_default_pointer_mode): Remove declaration.
2970
c3b1dca4 29712015-03-27 Tobias Burnus <burnus@net-b.de>
2972
2973 PR c/65586
2974 * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
2975 error out.
2976 (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
2977 c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
2978 Update calls to not error for skipped omp pragmas with -fopenmp-simd.
2979
1443772f 29802015-03-19 Jakub Jelinek <jakub@redhat.com>
2981
2982 * c-decl.c (c_decl_attributes): Also add "omp declare target"
2983 attribute for DECL_EXTERNAL VAR_DECLs.
2984
76738f56 29852015-03-11 Jakub Jelinek <jakub@redhat.com>
2986
2987 * c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
2988 argument.
2989
16f958b3 29902015-03-10 Jakub Jelinek <jakub@redhat.com>
2991
2992 PR c/65120
2993 * c-typeck.c (parser_build_binary_op): Check for tcc_comparison
2994 before preparing arguments to warn_logical_not_parentheses.
2995
6054103a 29962015-03-09 Jakub Jelinek <jakub@redhat.com>
2997
2998 PR c/65120
2999 * c-typeck.c (parser_build_binary_op): Don't warn for
3000 !!x == y or !b == y where b is _Bool.
3001
de3a1e03 30022015-03-09 Marek Polacek <polacek@redhat.com>
3003
3004 * c-convert.c (convert): Make use of do_ubsan_in_current_function.
3005 * c-decl.c (grokdeclarator): Likewise.
3006 * c-typeck.c (build_binary_op): Likewise.
3007
084e6bf0 30082015-02-27 Marek Polacek <polacek@redhat.com>
3009
3010 PR c/65228
3011 * c-decl.c (start_decl): Return NULL_TREE if decl is an error node.
3012
4d7c4134 30132015-02-14 Marek Polacek <polacek@redhat.com>
3014
3015 PR c/64768
3016 * c-decl.c (grokdeclarator): Set the range of a flexible array member
3017 declared through a typedef name.
3018
b1380826 30192015-02-13 Marek Polacek <polacek@redhat.com>
3020
3021 PR c/65050
3022 * c-decl.c (grokdeclarator): Print also the type when giving
3023 the error message about array's incomplete element type.
3024
35ff54b5 30252015-02-11 Jakub Jelinek <jakub@redhat.com>
3026
3027 PR c/64824
3028 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
3029 check in the POP macro.
3030
46861609 30312015-02-09 Marek Polacek <polacek@redhat.com>
3032
3033 PR c/64856
3034 * c-typeck.c (process_init_element): Don't always wrap
3035 COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
3036 initializing a range of elements.
3037
bbf8fbec 30382015-02-04 Jakub Jelinek <jakub@redhat.com>
3039
3040 PR c/64824
3041 PR c/64868
3042 * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
3043
46861609 30442015-02-02 Bruno Loff <bruno.loff@gmail.com>
1f0ce3ac 3045
3046 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
3047 processing enum declaration.
3048
70279be9 30492015-01-29 Marek Polacek <polacek@redhat.com>
3050
3051 PR c/64709
3052 * c-typeck.c (pop_init_level): If constructor_elements has
3053 exactly one element with integer_zerop value, set constructor_zeroinit
3054 to 1. Remove braces around warning_init call.
3055
591970b4 30562015-01-27 Jakub Jelinek <jakub@redhat.com>
3057
3058 PR c/64766
3059 * c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
3060 of FUNCTION_DECLs with error_mark_node.
3061
87778dc4 30622015-01-26 Jakub Jelinek <jakub@redhat.com>
3063
3064 PR c/64778
3065 * c-typeck.c (convert_arguments): Return -1 if there are
3066 error_args, even if we've diagnosed too many arguments.
3067
cffdfb3d 30682015-01-21 Richard Biener <rguenther@suse.de>
3069
3070 PR middle-end/64313
3071 * c-decl.c (merge_decls): Call set_builtin_decl_declared_p
3072 for builtins the user declared correctly.
3073
ca4c3545 30742015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3075 Bernd Schmidt <bernds@codesourcery.com>
3076 Cesar Philippidis <cesar@codesourcery.com>
3077 James Norris <jnorris@codesourcery.com>
3078 Jakub Jelinek <jakub@redhat.com>
3079 Ilmir Usmanov <i.usmanov@samsung.com>
3080
3081 * c-parser.c: Include "gomp-constants.h".
3082 (c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
3083 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
3084 Use OMP_CLAUSE_SET_MAP_KIND.
3085 (c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
3086 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
3087 (c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
3088 PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
3089 PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
3090 (c_parser_omp_clause_name): Handle "auto", "async", "copy",
3091 "copyout", "create", "delete", "deviceptr", "gang", "host",
3092 "num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
3093 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
3094 "present_or_create", "pcreate", "seq", "self", "vector",
3095 "vector_length", "wait", "worker".
3096 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
3097 (OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
3098 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
3099 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
3100 (c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
3101 (c_parser_oacc_wait_list, c_parser_oacc_data_clause)
3102 (c_parser_oacc_data_clause_deviceptr)
3103 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
3104 (c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
3105 (c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
3106 (c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
3107 (c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
3108 (c_parser_oacc_parallel, c_parser_oacc_update)
3109 (c_parser_oacc_wait): New functions.
3110 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
3111 (c_finish_oacc_data): New prototypes.
3112 * c-typeck.c: Include "gomp-constants.h".
3113 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
3114 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
3115 OMP_CLAUSE_SET_MAP_KIND.
3116 (c_finish_oacc_parallel, c_finish_oacc_kernels)
3117 (c_finish_oacc_data): New functions.
3118 (c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
3119 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
3120 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
3121 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
3122 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
3123 GOMP_MAP_FORCE_DEVICEPTR.
3124
1f78217c 31252015-01-09 Michael Collison <michael.collison@linaro.org>
3126
3127 * c-array-notation.c: Include hash-set.h, machmode.h,
3128 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3129 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
3130 * c-aux-info.c: Ditto.
3131 * c-convert.c: Ditto.
3132 * c-decl.c: Ditto.
3133 * c-errors.c: Ditto.
3134 * c-lang.c: Dittoxs.
3135 * c-objc-common.c: Ditto.
3136 * c-parser.c: Ditto.
3137 * c-typeck.c: Include hash-set.h, machmode.h,
3138 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3139 fold-const.h, wide-int.h, inchash.h, real.h and
3140 fixed-value.h due to flattening of tree.h.
3141
15e18a8c 31422015-01-07 Marek Polacek <polacek@redhat.com>
3143
3144 PR c/64417
3145 * c-typeck.c (process_init_element): Disallow initialization of
3146 a flexible array member with a string constant if the structure
3147 is in an array.
3148
d353bf18 31492015-01-05 Jakub Jelinek <jakub@redhat.com>
3150
823a9dd4 3151 PR sanitizer/64344
3152 * c-typeck.c (convert_for_assignment, c_finish_return): For
3153 -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
3154 types also set in_late_binary_op around convert call.
3155 * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
3156 to integral type casts, if not in_late_binary_op, pass c_fully_fold
3157 result on expr as last argument to ubsan_instrument_float_cast,
3158 if in_late_binary_op, don't use c_save_expr but save_expr.
3159
d353bf18 3160 Update copyright years.
3161
92b63884 31622015-01-05 Marek Polacek <polacek@redhat.com>
3163
3164 PR c/64423
3165 * c-typeck.c (build_array_ref): Pass loc down to
3166 warn_array_subscript_with_type_char.
3167
92a44a68 31682014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
8a8211df 3169
3170 * c-typeck.c: New behavious for pointers to arrays with qualifiers
a49621cf 3171 (common-pointer-type): For pointers to arrays take qualifiers from
8a8211df 3172 element type.
a49621cf 3173 (build_conditional_expr): Add warnings for lost qualifiers.
8a8211df 3174 (comp-target-types): Allow pointers to arrays with different qualifiers.
a49621cf 3175 (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
8a8211df 3176 WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
a49621cf 3177 to PEDWARN_FOR_QUALIFIERS.
8a8211df 3178
35ea0139 31792014-12-17 Jakub Jelinek <jakub@redhat.com>
3180
3181 PR sanitizer/64289
3182 * c-convert.c: Include ubsan.h.
3183 (convert): For real -> integral casts and
3184 -fsanitize=float-cast-overflow don't call convert_to_integer, but
3185 instead instrument the float cast directly.
3186
f9e245b2 31872014-11-29 Jakub Jelinek <jakub@redhat.com>
3188
3189 * c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
3190 c_finish_stmt_expr): Remove NULL last argument from
3191 create_tmp_var_raw and create_tmp_var calls.
3192 * c-array-notation.c (fix_builtin_array_notation_fn,
3193 build_array_notation_expr, fix_conditional_array_notations_1,
3194 fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
3195
fce2dbd1 31962014-11-28 Marek Polacek <polacek@redhat.com>
3197
3198 PR c/63862
3199 * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
3200 convert the right operand to integer type.
3201
396c36b7 32022014-11-25 Marek Polacek <polacek@redhat.com>
3203
3204 PR c/63877
3205 * c-decl.c (start_function): Disable -Wmissing-declarations warning
3206 for inline functions.
3207
c61ef207 32082014-11-21 Jakub Jelinek <jakub@redhat.com>
3209
3210 PR target/63764
3211 * c-typeck.c (build_array_ref): Adjust
3212 convert_vector_to_pointer_for_subscript caller. If it returns true,
3213 call non_lvalue_loc on the result.
3214
565353e8 32152014-11-11 Richard Biener <rguenther@suse.de>
3216
3217 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
3218 to true.
3219
fdd735a7 32202014-11-10 Andi Kleen <ak@linux.intel.com>
3221
3222 PR c/60804
3223 * c-parser.c (c_parser_statement_after_labels): Call
3224 check_no_cilk.
3225 (c_parser_if_statement): Dito.
3226 (c_parser_switch_statement): Dito.
3227 (c_parser_while_statement): Dito.
3228 (c_parser_do_statement): Dito.
3229 (c_parser_for_statement): Dito.
3230 * c-typeck.c (c_finish_loop): Dito.
3231
0feb4de1 32322014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
3233
3234 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
3235 OPT_Wshift_count_overflow in the warnings.
3236
a3fec48a 32372014-10-30 Marek Polacek <polacek@redhat.com>
3238
3239 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
3240 print the stripped version as well, if they're not the same.
3241
3754d046 32422014-10-29 Richard Sandiford <richard.sandiford@arm.com>
3243
3244 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
3245 machine_mode.
3246
1140c305 32472014-10-28 Andrew MacLeod <amacleod@redhat.com>
3248
3249 * c-decl.c: Adjust include files.
3250 * c-parser.c: Ditto.
3251
ab103e33 32522014-10-27 Phil Muldoon <pmuldoon@redhat.com>
3253 Tom Tromey <tromey@redhat.com>
3254
3255 * c-tree.h (enum c_oracle_request): New.
3256 (c_binding_oracle_function): New typedef.
3257 (c_binding_oracle, c_pushtag, c_bind): Declare.
3258 * c-decl.c (c_binding_oracle): New global.
3259 (I_SYMBOL_CHECKED): New macro.
3260 (i_symbol_binding): New function.
3261 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
3262 (I_TAG_CHECKED): New macro.
3263 (i_tag_binding): New function.
3264 (I_TAG_BINDING, I_TAG_DECL): Redefine.
3265 (I_LABEL_CHECKED): New macro.
3266 (i_label_binding): New function.
3267 (I_LABEL_BINDING, I_LABEL_DECL): Redefine.
3268 (c_print_identifier): Save and restore c_binding_oracle.
3269 (c_pushtag, c_bind): New functions.
3270
94ea8568 32712014-10-27 Andrew MacLeod <amacleod@redhat.com>
3272
3273 * c-typeck.c: Adjust include files.
3274
32ecf960 32752014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
3276
3277 PR c++/53061
3278 * c-objc-common.c (c_objc_common_init): Do not do diagnostics
3279 initialization here...
3280 (c_initialize_diagnostics): ... but here. Set defaults after
3281 building pretty-printer.
3282
2981340f 32832014-10-23 Marek Polacek <polacek@redhat.com>
3284
3285 PR c/63626
3286 * c-decl.c (pop_scope): Don't print warning in external_scope.
3287
d303aeaf 32882014-10-19 Marek Polacek <polacek@redhat.com>
3289
3290 PR c/63567
3291 * c-typeck.c (output_init_element): Allow initializing objects with
3292 static storage duration with compound literals even in C99 and add
3293 pedwarn for it.
3294
bccf97da 32952014-10-17 Marek Polacek <polacek@redhat.com>
3296
3297 PR c/63567
3298 * c-typeck.c (digest_init): Allow initializing objects with static
3299 storage duration with compound literals even in C99 and add pedwarn
3300 for it.
3301
d9c77450 33022014-10-17 Marek Polacek <polacek@redhat.com>
3303
3304 PR c/63543
3305 * c-tree.h (C_TYPE_ERROR_REPORTED): Define.
3306 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
3307 error multiple times. Print the type.
3308
a2bbd0a7 33092014-10-17 Marek Polacek <polacek@redhat.com>
3310
3311 PR c/63549
3312 * c-typeck.c (build_array_ref): Bail if the index in an incomplete
3313 type.
3314
e610d2b2 33152014-10-17 Marek Polacek <polacek@redhat.com>
3316
3317 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
3318 (start_function): Use OPT_Wimplicit_int instead of 0.
3319 (store_parm_decls_oldstyle): Likewise.
3320
6b6e56b6 33212014-10-17 Alan Modra <amodra@gmail.com>
3322
3323 PR middle-end/61848
3324 * c-decl.c (merge_decls): Don't merge section name or tls model
3325 to newdecl symtab node, instead merge to olddecl. Override
3326 existing olddecl section name. Set tls_model for all thread-local
3327 vars, not just OMP thread-private ones. Remove incorrect comment.
3328
a3020f2f 33292014-10-16 Andrew MacLeod <amacleod@redhat.com>
3330
3331 * c-decl.c: Adjust include files.
3332
9f75f026 33332014-10-14 DJ Delorie <dj@redhat.com>
3334
3335 * c-parser.c (c_parse_init): Add RID entries for each __intN.
3336 (c_token_starts_typename): Check all __intN, not just __int128.
3337 (c_token_starts_declspecs): Likewise.
3338 (c_parser_declspecs): Likewise.
3339 (c_parser_attribute_any_word): Likewise.
3340 (c_parser_objc_selector): Likewise.
3341 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
3342 (struct c_declspecs): Add int_n_idx field to record *which* __intN
3343 is specified.
3344 * c-decl.c (declspecs_add_type): Check for all __intN, not just
3345 __int128.
3346 (finish_declspecs): Likewise.
3347
4f284d4a 33482014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
3349
a49621cf 3350 * c-parser.c (c_parser_all_labels): New function to replace
4f284d4a 3351 the duplicate code.
a49621cf 3352 (c_parser_statement): Call the new function.
4f284d4a 3353
61a892dc 33542014-10-09 Marek Polacek <polacek@redhat.com>
3355
3356 PR c/63480
3357 * c-typeck.c (pop_init_level): Don't warn about initializing
3358 with { }.
3359
4e888fd9 33602014-10-07 Marek Polacek <polacek@redhat.com>
3361
3362 PR c/59717
3363 * c-decl.c (header_for_builtin_fn): New function.
3364 (implicitly_declare): Suggest which header to include.
3365
224bdd51 33662014-10-07 Marek Polacek <polacek@redhat.com>
3367
3368 * c-convert.c (convert): Use error_operand_p.
3369 * c-typeck.c (require_complete_type): Likewise.
3370 (really_atomic_lvalue): Likewise.
3371 (digest_init): Likewise.
3372 (handle_omp_array_sections_1): Likewise.
3373
a2bc79db 33742014-10-03 Marek Polacek <polacek@redhat.com>
3375
3376 PR c/63453
3377 * c-decl.c (pop_scope): Don't warn about "inline function declared
3378 but never defined" for functions marked with gnu_inline attribute.
3379
4fc4088b 33802014-09-25 Jakub Jelinek <jakub@redhat.com>
3381
3382 PR c++/63249
3383 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
3384 on low_bound and length.
3385
5213d6c9 33862014-09-24 Marek Polacek <polacek@redhat.com>
3387
3388 PR c/61405
3389 PR c/53874
3390 * c-parser.c: Don't define CPP_KEYWORD.
3391 (c_parser_switch_statement): Pass original type to c_finish_case.
3392 * c-tree.h (c_finish_case): Update declaration.
3393 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
3394 conditionally to c_do_switch_warnings.
3395
6ea2b1bc 33962014-09-03 Marek Polacek <polacek@redhat.com>
3397
3398 PR c/62024
3399 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
3400 conversions.
3401
40750995 34022014-09-02 Jakub Jelinek <jakub@redhat.com>
3403 Balaji V. Iyer <balaji.v.iyer@intel.com>
3404 Igor Zamyatin <igor.zamyatin@intel.com>
3405
3406 * c-parser.c (c_parser_cilk_for): New function.
3407 (c_parser_cilk_grainsize): Likewise.
3408 (c_get_temp_regvar): Likewise.
3409 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
3410 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
3411 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
3412 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
3413 case.
3414
8c583613 34152014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
3416
3417 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
3418 with using HOST_WIDE_INT without truncation to 'int'
3419
dc6229e8 34202014-08-22 Marek Polacek <polacek@redhat.com>
3421
3422 PR c++/62199
3423 * c-typeck.c (parser_build_binary_op): Adjust call to
3424 warn_logical_not_parentheses.
3425
5fdda74b 34262014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
3427
3428 PR other/62008
3429 * c-parser.c (c_parser_array_notation): Check for correct
3430 type of an array added.
3431
78bf4156 34322014-08-19 Marek Polacek <polacek@redhat.com>
3433
3434 PR c++/62153
3435 * c-typeck.c (build_binary_op): If either operand of a comparison
3436 is a boolean expression, call maybe_warn_bool_compare.
3437
005b8fe7 34382014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
3439
3440 PR c/45584
3441 * c-typeck.c (build_c_cast): Do a conversion even when the
3442 TYPE_MAIN_VARIANTs are the same.
3443
508ea33a 34442014-08-19 Marek Polacek <polacek@redhat.com>
3445
3446 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
3447 pedwarn_c99 instead of pedwarn.
3448 (grokfield): Likewise.
3449 (warn_defaults_to): New function.
3450 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
3451 Unconditionally call pedwarn_c99 instead of pedwarn.
3452 (start_function): Call warn_defaults_to instead of pedwarn_c99.
3453 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
3454 check flag_isoc11 before.
3455 * c-errors.c (pedwarn_c99): Change the return type to bool.
3456 Handle -Wc99-c11-compat.
3457 * c-parser.c (disable_extension_diagnostics): Handle
3458 warn_c99_c11_compat.
3459 (restore_extension_diagnostics): Likewise.
3460 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
3461 instead of pedwarn, don't check flag_isoc11 before.
3462 (c_parser_declspecs): Likewise.
3463 (c_parser_alignas_specifier): Likewise.
3464 (c_parser_alignof_expression): Likewise.
3465 (c_parser_generic_selection): Likewise.
3466 * c-tree.h (pedwarn_c99): Update declaration.
3467 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
3468 of pedwarn_c99.
3469
806fe15e 34702014-08-19 Marek Polacek <polacek@redhat.com>
3471
3472 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
3473 to pedwarn_c90.
3474 * c-errors.c: Include "opts.h".
3475 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
3476 * c-parser.c (disable_extension_diagnostics): Handle negative value
3477 of warn_c90_c99_compat, too.
3478 (restore_extension_diagnostics): Likewise.
3479 (c_parser_compound_statement_nostart): Pass
3480 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
3481
89868e45 34822014-08-12 Marek Polacek <polacek@redhat.com>
3483
3484 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
3485 Add pedwarn.
3486 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
3487 Likewise.
3488 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
3489
92a44a68 34902014-08-10 Marek Polacek <polacek@redhat.com>
890c2e2f 3491
3492 PR c/51849
3493 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
3494 Call pedwarn_c90 instead of pedwarn.
3495 (check_bitfield_type_and_width): Likewise.
3496 (declspecs_add_qual): Likewise.
3497 (declspecs_add_type): Likewise.
3498 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
3499 Adjust to only call pedwarn_c90.
3500 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
3501 pedwarn_c90 instead of pedwarn.
3502 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
3503 * c-parser.c (disable_extension_diagnostics): Handle
3504 warn_c90_c99_compat.
3505 (restore_extension_diagnostics): Likewise.
3506 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
3507 pedwarn_c90 instead of pedwarn.
3508 (c_parser_initelt): Likewise.
3509 (c_parser_postfix_expression): Likewise.
3510 (c_parser_postfix_expression_after_paren_type): Likewise.
3511 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
3512 * c-tree.h: Fix formatting.
3513 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
3514 pedwarn_c90 instead of pedwarn.
3515
7149db5f 35162014-08-07 Trevor Saunders <tsaunders@mozilla.com>
3517
3518 * c-typeck.c: Remove include of pointer-set.h.
3519
1c75251e 35202014-08-07 Marek Polacek <polacek@redhat.com>
3521
3522 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
3523
06ecf488 35242014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3525
3526 * c-typeck.c: Use hash_map instead of pointer_map.
3527
431205b7 35282014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3529
3530 * c-decl.c: Use hash_set instead of pointer_set.
3531
3394c80c 35322014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
3533
3534 PR middle-end/61455
3535 * c-array-notation.c (expand_array_notations): Handling
3536 of DECL_EXPR added.
3537
f22a2cb7 35382014-07-31 Marc Glisse <marc.glisse@inria.fr>
3539
3540 PR c++/60517
3541 * c-typeck.c (c_finish_return): Return 0 instead of the address of
3542 a local variable.
3543
74691f46 35442014-07-30 Tom Tromey <tromey@redhat.com>
3545
3546 * c-typeck.c (struct constructor_stack) <designator_depth>: New
3547 field.
3548 (really_start_incremental_init, push_init_level): Initialize
3549 designator_depth.
3550 (pop_init_level): Set global designator_depth.
3551 (process_init_element): Check for designated_init attribute.
3552
f9767fb6 35532014-07-20 Marek Polacek <polacek@redhat.com>
3554
3555 PR c/61852
3556 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
3557 (implicitly_declare): Pass location to implicit_decl_warning.
3558
305d96bc 35592014-07-14 Jakub Jelinek <jakub@redhat.com>
3560
3561 PR middle-end/61294
3562 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
3563 If non-NULL, call c_parser_check_literal_zero.
3564 (c_parser_check_literal_zero): New function.
3565 (c_parser_postfix_expression_after_primary): Adjust
3566 c_parser_expr_list caller, handle -Wmemset-transposed-args.
3567
87d59e72 35682014-07-06 Marek Polacek <polacek@redhat.com>
3569
3570 PR c/6940
3571 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
3572 * c-tree.h (C_ARRAY_PARAMETER): Define.
3573 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
3574 function parameter.
3575
752098c8 35762014-07-02 Jan Hubicka <hubicka@ucw.cz>
92a44a68 3577 Chen Gang <gang.chen.5i5j@gmail.com>
752098c8 3578
3579 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
3580 releasing symbol.
3581
1207866e 35822014-07-01 Marek Polacek <polacek@redhat.com>
3583
3584 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
3585 instead of 0 to WARN_FOR_ASSIGNMENT.
3586
7a6bbb76 35872014-07-01 Marek Polacek <polacek@redhat.com>
3588
3589 PR c/58286
3590 * c-typeck.c (convert_for_assignment): Pass
3591 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
3592
70575064 35932014-06-30 Marek Polacek <polacek@redhat.com>
3594
3595 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
3596 has no_sanitize_undefined attribute.
3597
4879e4cf 35982014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
3599
3600 PR middle-end/57541
3601 * c-array-notation.c (fix_builtin_array_notation_fn):
3602 Check for 0 arguments in builtin call. Check that bultin argument is
3603 correct.
3604 * c-parser.c (c_parser_array_notation): Check for incorrect initial
3605 index.
3606
45c5b823 36072014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
3608
3609 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
3610 qualifiers in __auto_type for atomic types.
3611 (c_parser_typeof_specifier): Discard all type qualifiers in
3612 __typeof__ for atomic types.
3613
430b73ee 36142014-06-25 Marek Polacek <polacek@redhat.com>
3615
3616 PR c/61162
3617 * c-parser.c (c_parser_statement_after_labels): Pass the location of
3618 the return expression to c_finish_return.
3619
9580cb79 36202014-06-25 Jakub Jelinek <jakub@redhat.com>
3621
3622 * c-typeck.c (c_finish_omp_clauses): Make sure
3623 OMP_CLAUSE_LINEAR_STEP has correct type.
3624
c1f445d2 36252014-06-24 Trevor Saunders <tsaunders@mozilla.com>
3626
3627 * c-decl.c: Adjust.
3628
e471cc6f 36292014-06-24 Jakub Jelinek <jakub@redhat.com>
3630
3631 * c-parser.c (c_parser_omp_for_loop): For
3632 #pragma omp parallel for simd move lastprivate clause from parallel
3633 to for rather than simd.
3634
499b7390 36352014-06-23 Marek Polacek <polacek@redhat.com>
3636
3637 * c-typeck.c (parser_build_binary_op): Don't call
3638 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
3639
5e68df57 36402014-06-15 Jan Hubicka <hubicka@ucw.cz>
3641
3642 * c-parser.c (c_parser_omp_threadprivate): Likewise.
3643 * c-decl.c (merge_decls): Likewise.
3644
064b0d02 36452014-06-09 Marek Polacek <polacek@redhat.com>
3646
3647 PR c/36446
3648 * c-typeck.c (error_init): Call inform instead of error_at.
3649 (pedwarn_init): Call inform instead of pedwarn.
3650 (warning_init): Call inform instead of warning_at.
3651
71e19e54 36522014-06-07 Jan Hubicka <hubicka@ucw.cz>
3653
3654 * c-decl.c (merge_decls): Use set_decl_section_name.
3655 (duplicate_decls): Remove node if it exists.
3656
95cdf3fd 36572014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
3658
3659 PR c/53119
3660 * c-typeck.c (push_init_level, process_init_element,
3661 pop_init_level): Correct check for zero initialization, move
3662 missing brace warning to respect zero initialization.
3663
a07f86a6 36642014-06-05 Marek Polacek <polacek@redhat.com>
3665
3666 PR c/56724
3667 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
3668
32dc1512 36692014-06-05 Marek Polacek <polacek@redhat.com>
3670
3671 PR c/49706
3672 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
3673 on the left hand side operand of a comparison.
3674
64cf1262 36752014-06-05 Marek Polacek <polacek@redhat.com>
3676
3677 PR c/48062
3678 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
3679 Print note only if the warning was printed.
3680
071f6d39 36812014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
3682
3683 PR c/58942
3684 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
3685 with a pointer.
3686
c69ec07d 36872014-06-03 Marek Polacek <polacek@redhat.com>
3688
3689 PR c/60439
3690 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
3691 c_start_case.
3692 * c-tree.h (c_start_case): Update.
3693 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
3694 switch condition has boolean value.
3695
f7715905 36962014-06-02 Andrew MacLeod <amacleod@redhat.com>
3697
3698 * c-decl.c: Include builtins.h.
3699 * c-parser.c: Likewise.
3700
dcfff6f9 37012014-05-27 Marek Polacek <polacek@redhat.com>
3702
3703 PR c/56724
3704 * c-typeck.c (convert_arguments): Get location of a parameter. Change
3705 error and warning calls to error_at and warning_at. Pass location of
3706 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
3707 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
3708 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
3709
c048c42c 37102014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
3711
3712 PR c/61191
3713 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
3714 function parameters.
3715
8c016392 37162014-05-23 Jan Hubicka <hubicka@ucw.cz>
3717
3718 * c-decl.c (merge_decls): Preserve symtab node pointers.
3719 (duplicate_decls): Free new decl.
3720
184a718f 37212014-05-23 Thomas Schwinge <thomas@codesourcery.com>
3722
6ce915ef 3723 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
3724 initialization.
3725
184a718f 3726 * c-parser.c (c_parser_omp_target): Return bool values.
3727
22ac3f78 37282014-05-22 Thomas Schwinge <thomas@codesourcery.com>
3729
3730 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
3731 num_teams_loc variable to num_thread_limit_loc.
3732
3ab4693e 37332014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3734
3735 * c-array-notation.c (expand_array_notations): Use void_node
3736 instead of void_zero_node.
3737
25a27413 37382014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3739
3740 * c-decl.c (finish_struct): Adjust.
3741 (finish_enum): Likewise.
3742 (bind): Adjust.
3743 (record_inline_static): Likewise.
3744 (push_scope): Likewise.
3745 (make_label): Likewise.
3746 (lookup_label_for_goto): Likewise.
3747 (finish_struct): Likewise.
3748 (finish_enum): Likewise.
3749 (store_parm_decls): Likewise.
3750 (c_push_function_context): Likewise.
3751 * c-lang.h: Remove usage of variable_size gty attribute.
3752 * c-parser.c (c_parse_init): Adjust.
3753 (c_parse_file): Likewise.
3754
172b8440 37552014-05-13 Marek Polacek <polacek@redhat.com>
3756
3757 PR c/61162
3758 * c-typeck.c (convert_for_assignment): Pass location to
3759 WARN_FOR_ASSIGNMENT instead of input_location.
3760
c9e51d25 37612014-05-10 Marek Polacek <polacek@redhat.com>
3762
3763 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
3764 maybe_warn_string_init.
3765 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
3766 maybe_warn_string_init.
3767 * c-tree.h (maybe_warn_string_init): Update declaration.
3768 * c-typeck.c (maybe_warn_string_init): Add location parameter.
3769 Call pedwarn_init with loc instead of with input_location.
3770 (digest_init): Pass init_loc to maybe_warn_string_init.
3771 (pop_init_level): Call pedwarn_init with loc instead of with
3772 input_location.
3773 (set_init_index): Likewise.
3774 (process_init_element): Likewise.
3775
53de1631 37762014-05-09 Marek Polacek <polacek@redhat.com>
3777
3778 PR c/61096
3779 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
3780 (c_parser_initelt): Pass location to set_init_label. Pass array index
3781 location to set_init_index.
3782 * c-tree.h (push_init_level): Update declaration.
3783 (pop_init_level): Likewise.
3784 (set_init_index): Likewise.
3785 (set_init_label): Likewise.
3786 * c-typeck.c (error_init): Add location parameter. Call error_at
3787 instead of error.
3788 (digest_init): Pass init_loc to error_init.
3789 (really_start_incremental_init):
3790 (push_init_level): Add location parameter. Pass loc to pop_init_level
3791 and error_init.
3792 (pop_init_level): Likewise.
3793 (set_designator): Add location parameter. Pass loc to pop_init_level,
3794 push_init_level, and error_init.
3795 (set_init_index): Add location parameter. Pass loc to error_init and
3796 set_designator.
3797 (set_init_label): Likewise.
3798 (output_init_element): Pass loc to error_init.
3799 (process_init_element): Pass loc to error_init, pop_init_level,
3800 pedwarn_init, and push_init_level.
3801
3e5a8b00 38022014-05-09 Marek Polacek <polacek@redhat.com>
3803
3804 PR c/50459
3805 * c-parser.c (c_parser_attributes): Parse the arguments as an
3806 expression-list if the attribute takes identifier.
3807
c2c4ae8d 38082014-05-08 Marek Polacek <polacek@redhat.com>
3809
3810 PR c/61053
3811 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
3812 TYPE_ALIGN_UNIT.
3813
2026249a 38142014-05-08 Marek Polacek <polacek@redhat.com>
3815
3816 PR c/61077
3817 * c-decl.c (start_function): Warn for _Atomic-qualified return type
3818 of main.
3819
960d5a55 38202014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
3821 Mike Stump <mikestump@comcast.net>
3822 Richard Sandiford <rdsandiford@googlemail.com>
3823
3824 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
3825 (finish_enum): Use wide-int interfaces.
3826 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
3827 * c-typeck.c (build_c_cast): Likewise.
3828 (set_nonincremental_init_from_string): Likewise.
3829 (c_tree_equal): Likewise.
3830
e0e14cbd 38312014-05-02 Marek Polacek <polacek@redhat.com>
3832
3833 PR c/25801
3834 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
3835 Return size_one_node when the type is not complete.
3836 (pointer_diff): Remove comment.
3837 (build_unary_op): Improve error messages.
3838
27ff10cb 38392014-05-02 Marek Polacek <polacek@redhat.com>
3840
3841 * c-typeck.c (c_finish_return): Separate warning_at calls.
3842
68410ce9 38432014-05-02 Marek Polacek <polacek@redhat.com>
3844
3845 * c-tree.h (error_init): Remove declaration.
3846 (pedwarn_init): Likewise.
3847 * c-typeck.c (error_init): Make static and move above.
3848 (pedwarn_init): Likewise.
3849 (warning_init): Move above.
3850 (maybe_warn_string_init): Likewise.
3851
e8e27117 38522014-05-01 Jeff Law <law@redhat.com>
3853
3854 Revert:
3855
3856 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
3857 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
3858 avoid goto.
3859
971df357 38602014-05-02 Marek Polacek <polacek@redhat.com>
3861
3862 PR c/60784
3863 * c-typeck.c (push_init_level): Set constructor_designated to
3864 p->designated for structures.
3865
de548fe5 38662014-05-01 Marek Polacek <polacek@redhat.com>
3867
3868 PR c/60915
3869 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
3870 function-definition has an attribute after the declarator.
3871
053a0ded 38722014-05-01 Marek Polacek <polacek@redhat.com>
3873
3874 PR c/60257
3875 * c-typeck.c (warning_init): Add location_t parameter. Call
3876 warning_at instead of warning.
3877 (push_init_level): Pass input_location to warning_init.
3878 (add_pending_init): Add location_t parameter. Pass loc to
3879 warning_init.
3880 (set_nonincremental_init): Pass input_location to add_pending_init.
3881 (set_nonincremental_init_from_string): Likewise.
3882 (output_init_element): Pass loc to warning_init and to
3883 add_pending_init.
3884
694296f2 38852014-05-01 Marek Polacek <polacek@redhat.com>
3886
3887 PR c/43395
3888 * c-typeck.c (c_finish_return): Distinguish between label and variable
3889 when warning about returning local address.
3890
86bbd7f9 38912014-05-01 Marek Polacek <polacek@redhat.com>
3892
3893 PR c/29467
3894 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
3895 in C89 mode.
3896
e4ab2ef3 38972014-05-01 Marek Polacek <polacek@redhat.com>
3898
3899 PR c/43245
3900 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
3901 instead of 0 to WARN_FOR_QUALIFIERS.
3902
ca3999cb 39032014-05-01 Marek Polacek <polacek@redhat.com>
3904
3905 PR c/56989
3906 * c-typeck.c (default_conversion): Use better location for
3907 error call.
3908
52cc0072 39092014-04-30 Marek Polacek <polacek@redhat.com>
3910
3911 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
3912 also when SANITIZE_FLOAT_DIVIDE is on.
3913
af379dd3 39142014-04-30 Marek Polacek <polacek@redhat.com>
3915
3916 PR c/60139
3917 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
3918 and pedwarn_init. Use loc insted of input_location.
3919
b069c2a0 39202014-04-30 Marek Polacek <polacek@redhat.com>
3921
3922 PR c/60351
3923 * c-typeck.c (build_binary_op): Use location when warning about
3924 shift count.
3925
4a026b48 39262014-04-25 Marek Polacek <polacek@redhat.com>
3927
3928 PR c/18079
3929 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
3930 always_inline/noinline and hot/cold attributes.
3931
adc93f31 39322014-04-25 Marek Polacek <polacek@redhat.com>
3933
3934 PR c/60114
3935 * c-parser.c (c_parser_initelt): Pass input_location to
3936 process_init_element.
3937 (c_parser_initval): Pass loc to process_init_element.
3938 * c-tree.h (process_init_element): Adjust declaration.
3939 * c-typeck.c (push_init_level): Pass input_location to
3940 process_init_element.
3941 (pop_init_level): Likewise.
3942 (set_designator): Likewise.
3943 (output_init_element): Add location_t parameter. Pass loc to
3944 digest_init.
3945 (output_pending_init_elements): Pass input_location to
3946 output_init_element.
3947 (process_init_element): Add location_t parameter. Pass loc to
3948 output_init_element.
3949
e1029911 39502014-04-24 Jakub Jelinek <jakub@redhat.com>
3951
3952 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
3953 atomic-clause, allow comma in between atomic-clause and
3954 seq_cst.
3955
9f0a7bc6 39562014-04-22 Jakub Jelinek <jakub@redhat.com>
3957
3958 PR c/59073
3959 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
3960 fails, don't set OM_PARALLEL_COMBINED and return NULL.
3961
094da06d 39622014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
3963
3964 PR middle-end/60469
3965 * c-array-notation.c (fix_builtin_array_notation_fn): Use
3966 create_tmp_var instead build_decl for creating temps.
3967 (build_array_notation_expr): Likewise.
3968 (fix_conditional_array_notations_1): Likewise.
3969 (fix_array_notation_expr): Likewise.
3970 (fix_array_notation_call_expr): Likewise.
3971
5a672e62 39722014-03-28 Jakub Jelinek <jakub@redhat.com>
3973
3974 PR c++/60689
3975 * c-tree.h (c_build_function_call_vec): New prototype.
3976 * c-typeck.c (build_function_call_vec): Don't call
3977 resolve_overloaded_builtin here.
3978 (c_build_function_call_vec): New wrapper function around
3979 build_function_call_vec. Call resolve_overloaded_builtin here.
3980 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
3981 Call c_build_function_call_vec instead of build_function_call_vec.
3982 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
3983 * c-decl.c (finish_decl): Likewise.
3984
f40f5e0e 39852014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
3986
3987 PR c/55383
3988 * c-typeck.c: Use correct format string in cast-qual warning
3989
9ec099a3 39902014-03-07 Thomas Schwinge <thomas@codesourcery.com>
3991
3992 * c-decl.c (c_decl_attributes): Use
3993 lang_hooks.types.omp_mappable_type.
3994 * c-typeck.c (c_finish_omp_clauses): Likewise.
3995
3bfdc94f 39962014-03-06 Marek Polacek <polacek@redhat.com>
3997
3998 PR c/60197
3999 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
4000 of checking tree code.
4001
8f1128f8 40022014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
4003
4004 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
4005 (c_parser_parameter_declaration): Likewise.
4006
977b1853 40072014-02-19 Marek Polacek <polacek@redhat.com>
4008
4009 PR c/60195
4010 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
4011 Call mark_exp_read on exp.value.
4012 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
4013 TREE_ADDRESSABLE on old instead of val.
4014 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
4015
825cd6ef 40162014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
4017
4018 * c-parser.c (c_parser_get_builtin_args): Replace calls to
4019 C_EXPR_APPEND by vec_safe_push.
4020 * c-tree.h (C_EXPR_APPEND): Remove.
4021
ec761d5a 40222014-01-31 Marek Polacek <polacek@redhat.com>
4023
4024 PR c/59963
4025 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
4026 build_function_call_vec.
4027 (build_function_call): Likewise.
4028 (build_atomic_assign): Likewise.
4029 (build_function_call_vec): Add arg_loc parameter. Use it.
4030 (convert_arguments): Likewise.
4031 (convert_for_assignment): Rename rhs_loc to expr_loc.
4032 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
4033 (c_parser_objc_keywordexpr): Likewise.
4034 (c_parser_postfix_expression_after_primary): Call
4035 build_function_call_vec with expr_loc rather than op_loc.
4036 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
4037 build_function_call_vec.
4038 (c_parser_expr_list): Add locations parameter. Fill it with locations
4039 of function arguments.
4040 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
4041
22a75734 40422014-01-30 Marek Polacek <polacek@redhat.com>
4043
4044 PR c/59940
4045 * c-typeck.c (build_function_call_vec): Use loc parameter.
4046 (convert_arguments): Add location parameter. Use it.
4047 (ep_convert_and_check): Likewise.
4048 (build_atomic_assign): Adjust convert_for_assignment call.
4049 (build_modify_expr): Likewise.
4050 (digest_init): Likewise.
4051 (c_finish_return): Likewise.
4052 (build_conditional_expr): Adjust ep_convert_and_check calls.
4053 (convert_for_assignment): Add rhs_loc parameter. Use it.
4054 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
4055 calls.
4056
29f580ac 40572014-01-30 Richard Biener <rguenther@suse.de>
4058
4059 PR c/59905
4060 * c-typeck.c (build_function_call_vec): Do not replace calls
4061 to a function via an incompatible type with a runtime abort.
4062
a89e6c15 40632014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
4064
4065 * c-parser.c (c_parser_declaration_or_fndef): Replaced
4066 flag_enable_cilkplus with flag_cilkplus.
4067 (c_parser_direct_declarator_inner): Likewise.
4068 (c_parser_attribute_any_word): Likewise.
4069 (c_parser_attributes): Likewise.
4070 (c_parser_compound_statement): Likewise.
4071 (c_parser_statement_after_labels): Likewise.
4072 (c_parser_if_statement): Likewise.
4073 (c_parser_switch_statement): Likewise.
4074 (c_parser_do_statement): Likewise.
4075 (c_parser_for_statement): Likewise.
4076 (c_parser_unary_expression): Likewise.
4077 (c_parser_postfix_expression): Likewise.
4078 (c_parser_postfix_expression_after_primary): Likewise.
4079 (c_parser_postfix_expression_after_primary): Likewise.
4080 (c_parser_omp_clause_name): Likewise.
4081 (c_finish_omp_declare_simd): Likewise.
4082 (c_parser_cilk_verify_simd): Likewise.
4083 * c-typeck.c (build_array_ref): Likewise.
4084 (build_function_call_vec): Likewise.
4085 (convert_arguments): Likewise.
4086 (build_compound_expr): Likewise.
4087 (c_finish_return): Likewise.
4088 (c_finish_if_stmt): Likewise.
4089 (c_finish_loop): Likewise.
4090 (build_binary_op): Likewise.
4091
2623625f 40922014-01-23 Marek Polacek <polacek@redhat.com>
4093
4094 PR c/59846
4095 * c-typeck.c (parser_build_binary_op): Use location instead of
4096 input_location.
4097 (build_binary_op): Pass location to shorten_compare.
4098
46da3601 40992014-01-23 Marek Polacek <polacek@redhat.com>
4100
4101 PR c/58346
4102 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
4103 an empty aggregate.
4104
9a9db3c1 41052014-01-23 Marek Polacek <polacek@redhat.com>
4106
4107 PR c/59871
4108 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
4109 of a comma expression.
4110 (emit_side_effect_warnings): Likewise.
4111
69c9b607 41122014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
4113
4114 PR c/59825
4115 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
4116 function to use walk_tree and moved a lot of its functionality to
4117 expand_array_notations.
4118 (expand_array_notations): New function.
4119
7e005ab5 41202014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
4121
4122 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
4123 attribute an attribute without value.
4124
d6779b5f 41252014-01-23 Jakub Jelinek <jakub@redhat.com>
4126
4127 PR middle-end/58809
4128 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
4129 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
4130
ec431042 41312014-01-22 Marek Polacek <polacek@redhat.com>
4132
4133 PR c/59891
4134 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
4135 of remove_c_maybe_const_expr on op1 and op2.
4136
1248c663 41372014-01-15 Jakub Jelinek <jakub@redhat.com>
4138
4139 PR c/58943
4140 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
4141 effects, preevaluate rhs using SAVE_EXPR first.
4142
0bc789fc 41432014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
4144
4145 PR c++/59631
4146 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
4147 statements with if-elseif statements.
4148
6685d11c 41492014-01-06 Marek Polacek <polacek@redhat.com>
4150
4151 PR c/57773
4152 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
4153 defined bit-field types only in ISO C.
4154
3aea1f79 41552014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4156
4157 Update copyright years
4158
e4f22041 41592014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4160
4161 * c-array-notation.c: Use the standard form for the copyright notice.
4162
74acc703 41632013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
4164
4165 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
4166 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
4167 field in parser is not empty. If not-empty, call the function
4168 c_parser_finish_omp_declare_simd.
4169 (c_parser_cilk_clause_vectorlength): Modified function to be shared
4170 between SIMD-enabled functions and #pragma simd. Added new parameter.
4171 (c_parser_cilk_all_clauses): Modified the usage of the function
4172 c_parser_cilk_clause_vectorlength as mentioned above.
4173 (c_parser_cilk_simd_fn_vector_attrs): New function.
4174 (c_finish_cilk_simd_fn_tokens): Likewise.
4175 (is_cilkplus_vector_p): Likewise.
4176 (c_parser_omp_clause_name): Added checking for "vectorlength,"
4177 "nomask," and "mask" strings in clause name.
4178 (c_parser_omp_all_clauses): Added 3 new case statements:
4179 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
4180 PRAGMA_CILK_CLAUSE_NOMASK.
4181 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
4182 check for vector attribute and if so call the function
4183 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
4184 called the function c_finish_cilk_simd_fn_tokens.
4185 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
4186 parser field is non-empty. If so, parse them as you would parse
4187 the omp declare simd pragma.
4188 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
4189 Added a check when step is a parameter and flag it as error.
4190 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
4191 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
4192 pragma_omp_clause.
4193
395dc01c 41942013-12-17 Thomas Schwinge <thomas@codesourcery.com>
4195
4196 * c-parser.c (c_parser_omp_parallel): Fix description.
4197
433e804e 41982013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
4199
4200 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
4201 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
4202 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
4203 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
4204
a179a7dc 42052013-12-04 Joseph Myers <joseph@codesourcery.com>
4206
4207 PR c/52023
4208 * c-parser.c (c_parser_alignas_specifier): Use
4209 c_sizeof_or_alignof_type instead of c_alignof.
4210 (c_parser_alignof_expression): Likewise, with min_alignof
4211 parameter depending on alignof spelling used.
4212
bdf1e3c7 42132013-12-04 Marek Polacek <polacek@redhat.com>
4214
4215 PR c/54113
4216 * c-decl.c (start_function): Don't warn for missing prototype for
4217 inline functions.
4218
05e8f674 42192013-12-03 Marek Polacek <polacek@redhat.com>
4220
4221 PR c/59351
4222 * c-decl.c (build_compound_literal): Allow compound literals with
4223 empty initial value.
4224
39f74d66 42252013-12-02 Joseph Myers <joseph@codesourcery.com>
4226
4227 PR c/58235
4228 * c-typeck.c (build_modify_expr): Diagnose assignment to
4229 expression with array type.
4230
f221adca 42312013-11-29 Joseph Myers <joseph@codesourcery.com>
4232
4233 PR c/42262
4234 * c-typeck.c (process_init_element): Do not treat a string as
4235 initializing a whole array when used with a designator for an
4236 individual element.
4237
75bce827 42382013-11-29 Joseph Myers <joseph@codesourcery.com>
4239
4240 PR c/57574
4241 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
4242 an inline function following a static declaration.
4243
dc133326 42442013-11-28 Jakub Jelinek <jakub@redhat.com>
4245
4246 PR c/59310
4247 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
4248 to p_name before calling c_parser_omp_teams instead of after.
4249 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
4250 argument. Remove unused p_name variable.
4251
d09768a4 42522013-11-27 Aldy Hernandez <aldyh@redhat.com>
4253 Jakub Jelinek <jakub@redhat.com>
4254
4255 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
4256 external_scope is NULL.
4257
73fd9cbe 42582013-11-27 Tom de Vries <tom@codesourcery.com>
4259 Marc Glisse <marc.glisse@inria.fr>
4260
4261 PR c++/59032
4262 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
4263
bc61cadb 42642013-11-22 Andrew MacLeod <amacleod@redhat.com>
4265
4266 * c-typeck.c: Add required include files from gimple.h.
4267
3df42822 42682013-11-22 David Malcolm <dmalcolm@redhat.com>
4269
4270 * c-decl.c (define_label, shadow_tag_warned)
4271 (check_bitfield_type_and_width, grokdeclarator, grokparms,
4272 store_parm_decls_newstyle, store_parm_decls_oldstyle)
4273 (declspecs_add_type): Remove use of in_system_header macro.
4274 * c-parser.c (c_parser_unary_expression): Likewise.
4275 * c-typeck.c (store_init_value, process_init_element)
4276 (c_start_case): Likewise.
4277
4278 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
4279 macro.
4280
4281 * c-parser.c (c_parser_set_source_position_from_token): Remove
4282 reference to in_system_header from comment.
4283
08f817b3 42842013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4285
4286 * c-decl.c (grokdeclarator): Update comment to refer to
4287 tree_to_[su]hwi rather than tree_low_cst.
4288
6a0712d4 42892013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4290
4291 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
4292 tree_to_uhwi throughout.
4293
fcb97e84 42942013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4295
4296 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
4297 throughout.
4298
35ec552a 42992013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4300
4301 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
4302 throughout.
4303
f2697631 43042013-11-15 Aldy Hernandez <aldyh@redhat.com>
4305
4306 * c-parser.c (c_parser_cilk_simd): New.
4307 (c_parser_cilk_verify_simd): New.
4308 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
4309 (c_parser_omp_for_loop): Add case for NE_EXPR.
4310 Set c_break_label for CILK_SIMD.
4311 (c_parser_cilk_clause_vectorlength): New.
4312 (c_parser_cilk_clause_linear): New.
4313 (c_parser_cilk_clause_name): New.
4314 (c_parser_cilk_all_clauses): New.
4315 * c-typeck.c (build_unary_op): Pass location argument to
4316 readonly_error.
4317 (build_modify_expr): Same.
4318 (build_asm_expr): Same.
4319 (c_finish_bc_stmt): Error on break/continue in loops.
4320
e795d6e1 43212013-11-14 Andrew MacLeod <amacleod@redhat.com>
4322
4323 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
4324
9ed99284 43252013-11-14 Diego Novillo <dnovillo@google.com>
4326
4327 * c-decl.c: Include print-tree.h.
4328 Include stor-layout.h.
4329 Include varasm.h.
4330 Include attribs.h.
4331 Include stringpool.h.
4332 * c-lang.c: Include fold-const.h.
4333 * c-parser.c: Include stringpool.h.
4334 Include attribs.h.
4335 Include stor-layout.h.
4336 Include varasm.h.
4337 Include trans-mem.h.
4338 * c-typeck.c: Include stor-layout.h.
4339 Include trans-mem.h.
4340 Include varasm.h.
4341 Include stmt.h.
4342
4fba5eb9 43432013-11-13 Joseph Myers <joseph@codesourcery.com>
4344
4345 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
4346 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
4347 __auto_type.
4348 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
4349 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
4350 RID_AUTO_TYPE.
4351 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
4352 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
4353 (c_parser_declarator, c_parser_direct_declarator_inner)
4354 (c_parser_parameter_declaration, c_parser_type_name): All callers
4355 changed.
4356 (c_parser_declaration_or_fndef): Handle declarations with type
4357 determined from the initializer.
4358
a8783bee 43592013-11-12 Andrew MacLeod <amacleod@redhat.com>
4360
e795d6e1 4361 * c-typeck.c: Include gimplify.h.
a8783bee 4362
d184e0c0 43632013-11-12 Joseph Myers <joseph@codesourcery.com>
4364
4365 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
4366 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
4367 comment.
4368 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
4369 or _Thread_local as appropriate in diagnostics.
4370 (build_null_declspecs): Initialize ret->thread_gnu_p.
4371 (declspecs_add_scspec): Handle either __thread or _Thread_local
4372 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
4373 pedantic. Do not disallow _Thread_local extern and _Thread_local
4374 static.
4375
b560fabd 43762013-11-07 Joseph Myers <joseph@codesourcery.com>
4377 Andrew MacLeod <amacleod@redhat.com>
4378
4379 * c-aux-info.c (gen_type): Handle atomic qualifier.
4380 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
4381 qualifiers when compating types.
4382 (shadow_tag_warned): Handle atomic_p in declspecs.
4383 (quals_from_declspecs): Likewise.
4384 (start_decl): Use c_type_promotes_to when promoting argument
4385 types.
4386 (grokdeclarator): Handle _Atomic.
4387 (get_parm_info): Diagnose any qualifier on "void" as only
4388 parameter.
4389 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
4390 comparing types. Use c_type_promotes_to when promoting argument
4391 types.
4392 (finish_function): Use c_type_promotes_to when promoting argument
4393 types.
4394 (build_null_declspecs): Handle atomic_p in declspecs.
4395 (declspecs_add_qual): Handle RID_ATOMIC.
4396 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
4397 (c_token_starts_declspecs): Handle RID_ATOMIC.
4398 (c_parser_declspecs): Handle atomic type specifiers and
4399 qualifiers.
4400 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
4401 from types of expressions with atomic type.
4402 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
4403 (c_parser_attribute_any_word): Handle RID_ATOMIC.
4404 (c_parser_initializer, c_parser_initelt, c_parser_initval)
4405 (c_parser_statement_after_labels, c_parser_switch_statement)
4406 (c_parser_for_statement, c_parser_expr_no_commas)
4407 (c_parser_conditional_expression, c_parser_binary_expression)
4408 (c_parser_cast_expression, c_parser_unary_expression)
4409 (c_parser_postfix_expression)
4410 (c_parser_postfix_expression_after_primary, c_parser_expression):
4411 Use convert_lvalue_to_rvalue.
4412 (c_parser_expression_conv, c_parser_expr_list): Document
4413 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
4414 (c_parser_objc_synchronized_statement): Use
4415 convert_lvalue_to_rvalue.
4416 (c_parser_objc_selector): Handle RID_ATOMIC.
4417 (c_parser_objc_receiver, c_parser_array_notation): Use
4418 convert_lvalue_to_rvalue.
4419 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
4420 _Atomic (type-name).
4421 (struct c_declspecs): Add atomic_p field.
4422 (convert_lvalue_to_rvalue): Declare.
4423 * c-typeck.c (c_type_promotes_to): Promote atomic types to
4424 corresponding atomic types.
4425 (qualify_type): Don't add _Atomic qualifiers from second argument.
4426 (comp_target_types): Do not allow _Atomic mismatches.
4427 (type_lists_compatible_p): Do not remove atomic qualifiers when
4428 comparing types.
4429 (really_atomic_lvalue, convert_lvalue_to_rvalue)
4430 (build_atomic_assign): New functions.
4431 (build_unary_op): Use build_atomic_assign for atomic increment and
4432 decrement.
4433 (build_conditional_expr): Do not treat _Atomic void as a qualified
4434 version of void.
4435 (build_modify_expr): Use build_atomic_assign for atomic LHS.
4436 (find_anonymous_field_with_type, convert_to_anonymous_field)
4437 (convert_for_assignment): Do not remove atomic qualifiers when
4438 comparing types.
4439 (digest_init): Do not accept initialization of arrays of atomic
4440 elements by string constants.
4441 (build_asm_expr): Use convert_lvalue_to_rvalue.
4442 (build_binary_op): Do not treat _Atomic void as a qualified
4443 version of void.
4444
8b023e7c 44452013-11-06 DJ Delorie <dj@redhat.com>
4446
4447 * c-decl.c (locate_old_decl): If a previous conflicting decl is
4448 both explicit and builtin, print the location of the explicit one.
4449
c630ef93 44502013-11-05 Tobias Burnus <burnus@net-b.de>
4451
4452 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
4453 c_parser_omp_distribute, c_parser_omp_teams,
4454 c_parser_omp_target, c_parser_omp_declare): Handle
4455 -fopenmp-simd.
4456
2c4c3477 44572013-11-03 Marek Polacek <polacek@redhat.com>
4458
4459 * c-decl.c (grokdeclarator): Add VLA instrumentation.
4460
df205251 44612013-11-01 Jakub Jelinek <jakub@redhat.com>
4462
4463 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
4464 check_dup_generic at the end, unless remove is true.
4465 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
4466 remove = true;.
4467 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
4468
23871d0c 44692013-10-31 Jakub Jelinek <jakub@redhat.com>
4470
4471 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
4472 with decl that is not pointer nor array.
4473
d037099f 44742013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
4475
4476 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
4477 a spawning function is found.
4478 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
4479 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
4480 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
4481 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
4482 case.
4483 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
4484 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
4485 expr.
4486 (c_finish_return): Added a check to reject _Cilk_spawn in return
4487 expression.
4488 (build_cilk_spawn): New function.
4489 (build_cilk_sync): Likewise.
4490 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
4491
4c90c04c 44922013-10-27 Tobias Burnus <burnus@net-b.de>
4493
4494 PR other/33426
4495 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
4496 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
4497 (c_parser_statement_after_labels): Update calls.
4498
48a972c8 44992013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 4500
4501 PR other/33426
4502 * c-parser.c (c_parser_pragma, c_parser_for_statement):
4503 Handle PRAGMA_IVDEP.
4504 (c_parser_statement_after_labels): Update call.
4505
12f86df0 45062013-10-24 Marek Polacek <polacek@redhat.com>
4507
4508 * c-parser.c (c_parser_struct_declaration): Add a comment.
4509 (c_parser_declarator): Don't allow _Alignas here.
4510
7740abd8 45112013-10-17 Andrew MacLeod <amacleod@redhat.com>
4512
4513 * c-parser.c: Include omp-low.h.
4514 * c-typeck.c: Likewise.
4515
43d03c23 45162013-10-17 Marek Polacek <polacek@redhat.com>
4517
4518 PR c/58267
4519 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
4520 Document syntax of the array-declarator.
4521 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
4522 are not permitted.
4523 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
4524 (c_parser_struct_declaration): Likewise.
4525 (c_parser_declarator): Likewise.
4526 (c_parser_direct_declarator_inner): Likewise.
4527 (c_parser_parameter_declaration): Likewise.
4528 (c_parser_type_name): Likewise.
4529
bc7bff74 45302013-10-11 Jakub Jelinek <jakub@redhat.com>
4531
4532 * c-lang.h (current_omp_declare_target_attribute): New extern
4533 decl.
4534 * c-parser.c: Include c-lang.h.
4535 (struct c_parser): Change tokens to c_token *.
4536 Add tokens_buf field. Change tokens_avail type to unsigned int.
4537 (c_parser_consume_token): If parser->tokens isn't
4538 &parser->tokens_buf[0], increment parser->tokens.
4539 (c_parser_consume_pragma): Likewise.
4540 (enum pragma_context): Add pragma_struct and pragma_param.
4541 (c_parser_external_declaration): Adjust
4542 c_parser_declaration_or_fndef caller.
4543 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
4544 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
4545 Adjust recursive call.
4546 (c_parser_struct_or_union_specifier): Use pragma_struct instead
4547 of pragma_external.
4548 (c_parser_parameter_declaration): Use pragma_param instead of
4549 pragma_external.
4550 (c_parser_compound_statement_nostart, c_parser_label,
4551 c_parser_for_statement): Adjust
4552 c_parser_declaration_or_fndef callers.
4553 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
4554 it through to c_parser_conditional_expression.
4555 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
4556 pass it through to c_parser_binary_expression. Adjust recursive
4557 call.
4558 (c_parser_binary_expression): Remove prec argument, add
4559 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
4560 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
4561 binop matches it, use build2 instead of parser_build_binary_op.
4562 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
4563 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
4564 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
4565 Handle pragma_struct and pragma_param the same as pragma_external.
4566 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
4567 (c_parser_omp_variable_list): Parse array sections for
4568 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
4569 (c_parser_omp_clause_collapse): Fully fold collapse expression.
4570 (c_parser_omp_clause_reduction): Handle user defined reductions.
4571 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
4572 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
4573 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
4574 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
4575 c_parser_omp_clause_depend, c_parser_omp_clause_map,
4576 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
4577 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
4578 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
4579 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
4580 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
4581 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
4582 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
4583 (c_parser_omp_for_loop): Add CODE argument, pass it through
4584 to c_finish_omp_for. Change last argument to cclauses,
4585 and adjust uses to grab parallel clauses from the array of all
4586 the split clauses. Adjust c_parser_binary_expression,
4587 c_parser_declaration_or_fndef and c_finish_omp_for callers.
4588 (omp_split_clauses): New function.
4589 (c_parser_omp_simd): New function.
4590 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
4591 Allow the function to be called also when parsing combined constructs,
4592 and call c_parser_omp_simd when parsing for simd.
4593 (c_parser_omp_sections_scope): If section-sequence doesn't start with
4594 #pragma omp section, require exactly one structured-block instead of
4595 sequence of statements.
4596 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
4597 Allow the function to be called also when parsing combined constructs.
4598 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
4599 Allow the function to be called also when parsing combined
4600 constructs.
4601 (c_parser_omp_taskgroup, c_parser_omp_cancel,
4602 c_parser_omp_cancellation_point, c_parser_omp_distribute,
4603 c_parser_omp_teams, c_parser_omp_target_data,
4604 c_parser_omp_target_update, c_parser_omp_target,
4605 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
4606 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
4607 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
4608 (c_parser_omp_construct): Add p_name and mask vars. Handle
4609 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
4610 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
4611 and c_parser_omp_sections callers.
4612 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
4613 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
4614 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
4615 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
4616 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
4617 OMP_CLAUSE_DEPEND.
4618 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
4619 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
4620 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
4621 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
4622 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
4623 * c-typeck.c: Include tree-inline.h.
4624 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
4625 handle_omp_array_sections_1, handle_omp_array_sections,
4626 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
4627 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
4628 user defined reductions.
4629 (c_tree_equal): New function.
4630 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
4631 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
4632 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
4633 c_check_omp_declare_reduction_r): New prototypes.
4634 * c-decl.c (current_omp_declare_target_attribute): New variable.
4635 (c_decl_attributes): New function.
4636 (start_decl, start_function): Use it instead of decl_attributes.
4637 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
4638 c_omp_reduction_decl, c_omp_reduction_lookup,
4639 c_check_omp_declare_reduction_r): New functions.
4640
3ce7d1bd 46412013-09-25 Tom Tromey <tromey@redhat.com>
4642
4643 * Make-lang.in (c/gccspec.o): Remove.
4644 (CFLAGS-c/gccspec.o): New variable.
4645 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
4646 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
4647 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
4648
96da1c1d 46492013-09-25 Tom Tromey <tromey@redhat.com>
4650
4651 * Make-lang.in (c/gccspec.o): Don't use subshell.
4652
1b309377 46532013-09-18 Marek Polacek <polacek@redhat.com>
4654
4655 PR sanitize/58443
4656 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
4657 Remove unnecessary check.
4658
05f893e1 46592013-09-18 Marek Polacek <polacek@redhat.com>
4660
4661 PR sanitizer/58411
4662 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
4663 no_sanitize_undefined attribute.
4664
bda0b9d2 46652013-09-13 Kai Tietz <ktietz@redhat.com>
4666
4667 PR target/57848
4668 * c-decl.c (c_builtin_function_ext_scope): Remove
4669 wrong assumption that it is never called on prexisting
4670 symbol.
4671
73437615 46722013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
4673
4674 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
4675
eaab24b9 46762013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4677
4678 * c-objc-common.c (c_tree_printer): Tidy.
4679
9e46467d 46802013-08-30 Marek Polacek <polacek@redhat.com>
4681
4682 * c-typeck.c (build_binary_op): Add division by zero and shift
4683 instrumentation.
4684
f8234178 46852013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
f9086116 4686 Joseph Myers <joseph@codesourcery.com>
f8234178 4687
c90a7d10 4688 PR c/35649
f8234178 4689 * c-typeck.c (c_common_type): Prefer double_type_node over
4690 other REAL_TYPE types with the same precision.
4691 (convert_arguments): Likewise.
4692
6f07f480 46932013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
4694
4695 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
4696 (c_initialize_diagnostics): Call a destructor for the early printer.
4697
eed6bc21 46982013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4699
4700 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
4701 printer initialization.
4702
57717943 47032013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
eed6bc21 4704
57717943 4705 PR c/57490
4706 * c-array-notation.c (fix_conditional_array_notations_1): Added a
4707 check for truth values.
4708 (expand_array_notation_exprs): Added truth values case. Removed an
4709 unwanted else. Added for-loop to walk through subtrees in default
4710 case.
4711
a94db6b0 47122013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4713
4714 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
4715
e76163a9 47162013-07-23 Joseph Myers <joseph@codesourcery.com>
4717
4718 * c-parser.c (struct c_generic_association): Fix typo.
4719
7aa04c8d 47202013-07-23 Tom Tromey <tromey@redhat.com>
4721 Joseph Myers <joseph@codesourcery.com>
4722
4723 * c-parser.c (struct c_generic_association): New.
4724 (c_generic_association_d): New typedef.
4725 (c_parser_generic_selection): New function.
4726 (c_parser_postfix_expression): Handle RID_GENERIC.
4727
76bbe4ca 47282013-07-13 Jason Merrill <jason@redhat.com>
4729
4730 PR c++/57793
4731 * c-decl.c (finish_struct): Check for too-large class.
4732
21ebaa24 47332013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 4734
4735 PR c/57821
4736 * c-typeck.c (set_init_index): When folding, check for index overflow.
4737
936c3081 47382013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
4739
4740 * c-parser.c (c_parser_array_notation): Removed rejection of array
4741 notations in an array of function pointers.
4742
50acebe0 47432013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
4744
4745 * c-array-notation.c (make_triplet_val_inv): New function.
4746 (create_cmp_incr): Likewise.
4747 (create_array_refs): Likewise.
4748 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
4749 Also modularized common parts between functions and called the function.
4750 (build_array_notation_expr): Likewise.
4751 (fix_conditional_array_notations_1): Likewise.
4752 (fix_array_notation_expr): Likewise.
4753 (fix_array_notation_call_expr): Likewise.
4754
01e6cdb4 47552013-06-18 Marek Polacek <polacek@redhat.com>
4756
4757 PR c/57630
4758 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
4759
6a3adac6 47602013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
4761
4762 * c-array-notation.c (build_array_notation_expr): Reject array notation
4763 mismatch between LHS and RHS even inside a call_expr. Also, removed
4764 a couple while statements that were dead code.
4765
62aab3f3 47662013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
4767
4768 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
4769 excessive precision expressions in function parameters. Also removed
4770 couple unwanted while statements.
4771
bfc83720 47722013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
4773
4774 * c-array-notation.c (expand_array_notation_exprs): Added
4775 ARRAY_NOTATION_REF case.
4776
09970d67 47772013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
4778
4779 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
4780 function to c-family/array-notation-common.c.
4781 (is_cilkplus_reduce_builtin): Likewise.
4782 (find_rank): Likewise.
4783 (extract_array_notation_exprs): Likewise.
4784 (replace_array_notations): Likewise.
4785 (find_inv_trees): Likewise.
4786 (replace_inv_trees): Likewise.
4787 (contains_array_notation_expr): Likewise.
4788 (find_correct_array_notation_type): Likewise.
4789 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
4790 (struct inv_list): Moved this to c-family/array-notation-common.c.
4791 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
4792
6e13bc01 47932013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
4794
4795 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
4796 reduction functions outside the for-loop. Added a check if the fundecl
4797 is non-NULL. Finally, removed an unwanted if-statement, and made the
4798 body unconditional.
4799
cc92dddc 48002013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
4801
4802 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
4803 condition of the if-statement matches the rank of else-block and then-
4804 block when array notations are used.
4805 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
4806 expression after the entire function body is parsed.
4807 (c_parser_expr_no_commas): Delayed creating array notation expressions
4808 to the end of function parsing.
4809 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
4810 whole if-statement instead of just the condition.
4811 (expand_array_notation_exprs): Added MODIFY_EXPR case.
4812
eddc63fd 48132013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
4814
4815 PR c/57474
4816 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
4817 array to NULL_TREE if they are unused. Also added a check for the
4818 field to be NULL before its fields are used in future.
4819
a2115a4a 48202013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4821
4822 PR bootstrap/57450
4823 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
4824 (build_array_notation_expr): Likewise.
4825
3c6d4197 48262013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
4827
4828 * c-typeck.c (build_array_ref): Added a check to see if array's
4829 index is greater than one. If true, then emit an error.
4830 (build_function_call_vec): Exclude error reporting and checking
4831 for builtin array-notation functions.
4832 (convert_arguments): Likewise.
4833 (c_finish_return): Added a check for array notations as a return
4834 expression. If true, then emit an error.
4835 (c_finish_loop): Added a check for array notations in a loop
4836 condition. If true then emit an error.
4837 (lvalue_p): Added a ARRAY_NOTATION_REF case.
4838 (build_binary_op): Added a check for array notation expr inside
4839 op1 and op0. If present, we call another function to find correct
4840 type.
4841 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
4842 * c-parser.c (c_parser_compound_statement): Check if array
4843 notation code is used in tree, if so, then transform them into
4844 appropriate C code.
4845 (c_parser_expr_no_commas): Check if array notation is used in LHS
4846 or RHS, if so, then build array notation expression instead of
4847 regular modify.
4848 (c_parser_postfix_expression_after_primary): Added a check for
4849 colon(s) after square braces, if so then handle it like an array
4850 notation. Also, break up array notations in unary op if found.
4851 (c_parser_direct_declarator_inner): Added a check for array
4852 notation.
4853 (c_parser_compound_statement): Added a check for array notation in
4854 a stmt. If one is present, then expand array notation expr.
4855 (c_parser_if_statement): Likewise.
4856 (c_parser_switch_statement): Added a check for array notations in
4857 a switch statement's condition. If true, then output an error.
4858 (c_parser_while_statement): Similarly, but for a while.
4859 (c_parser_do_statement): Similarly, but for a do-while.
4860 (c_parser_for_statement): Similarly, but for a for-loop.
4861 (c_parser_unary_expression): Check if array notation is used in a
4862 pre-increment or pre-decrement expression. If true, then expand
4863 them.
4864 (c_parser_array_notation): New function.
4865 * c-array-notation.c: New file.
4866 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
4867
2c1c8a2c 48682013-05-23 Mike Stump <mikestump@comcast.net>
4869
4870 * c-typeck.c (convert_for_assignment): Handle references to memory
4871 spaces better.
4872
be5f9e46 48732013-05-16 Jason Merrill <jason@redhat.com>
4874
4875 * Make-lang.in (cc1$(exeext)): Use link mutex.
4876
9205a6cc 48772013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4878
4879 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
4880 to simply use OPT_Wpointer_arith.
4881 (build_unary_op): Likewise.
4882
0b049e15 48832013-04-03 Jakub Jelinek <jakub@redhat.com>
4884
4885 PR c/19449
4886 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
4887 argument. If set, or it temporarily for parsing of the first
4888 argument into force_folding_builtin_constant_p.
4889 (c_parser_postfix_expression): Adjust callers.
4890
8e966116 48912013-03-21 Richard Biener <rguenther@suse.de>
4892
4893 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
4894 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
4895
b862f263 48962013-02-12 Marek Polacek <polacek@redhat.com>
4897
4898 PR c/44938
4899 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
4900 origtypes to NULL.
4901
54550ecb 49022013-01-24 Jakub Jelinek <jakub@redhat.com>
4903
4904 PR c/56078
4905 * c-typeck.c (set_nonincremental_init_from_string): If
4906 constructor_max_index is NULL, treat it as if tree_int_cst_lt
4907 returned false.
4908 (process_init_element): Likewise.
4909
035b65e2 49102012-12-20 Jakub Jelinek <jakub@redhat.com>
4911
4912 PR c++/55619
4913 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
4914 argument, don't call default_function_array_conversion
4915 nor c_fully_fold here.
4916 (c_parser_asm_statement): Adjust callers.
4917 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
4918 and outputs here, and call default_function_array_conversion
4919 on inputs that don't need to be addressable.
4920
7cbb7f1a 49212012-12-18 Jakub Jelinek <jakub@redhat.com>
4922
4923 PR c/39464
4924 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
4925 warning require that both c_common_unsigned_type as well as
4926 c_common_signed_type is the same for both mvl and mvr types.
4927
f1f41a6c 49282012-11-16 Diego Novillo <dnovillo@google.com>
4929
4930 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
4931
4932 * c-common.c: Use new vec API in vec.h.
4933 * c-common.h: Likewise.
4934 * c-gimplify.c: Likewise.
4935 * c-pragma.c: Likewise.
4936 * c-pretty-print.c: Likewise.
4937 * c-pretty-print.h: Likewise.
4938 * c-semantics.c: Likewise.
4939 * c-decl.c: Likewise.
4940 * c-parser.c: Likewise.
4941 * c-tree.h: Likewise.
4942 * c-typeck.c: Likewise.
4943
8b447d3f 49442012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
4945
4946 PR c++/54930
4947 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
4948
08fc5390 49492012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4950
4951 PR c/53066
4952 * c-decl.c (warn_if_shadowing): Do not warn if a variable
4953 shadows a function, unless the variable is a function or a
4954 pointer-to-function.
4955
57f872a2 49562012-10-12 Jakub Jelinek <jakub@redhat.com>
4957
4958 PR c/54381
4959 * c-parser.c (struct c_tree_loc_pair): Removed.
4960 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
4961 add location_t * and tree * arguments, fill in array of 3
4962 sizeof_arg trees and corresponding locs.
4963 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
4964 c_parser_expr_list callers.
4965 (c_parser_postfix_expression_after_primary): Likewise. Pass
4966 array of 3 sizeof_arg trees and locs (corresponding to first
4967 3 arguments) to sizeof_pointer_memaccess_warning.
4968
d1455aa3 49692012-10-09 Lawrence Crowl <crowl@google.com>
4970
4971 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
4972 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
4973 hash table.
4974
b0e7825e 49752012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
4976
4977 PR c++/54194
4978 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
4979 call.
4980
41ed701a 49812012-10-09 Marc Glisse <marc.glisse@inria.fr>
4982
4983 PR c++/54427
4984 * c-typeck.c: Include c-common.h.
4985 (enum stv_conv): Moved to c-common.h.
4986 (scalar_to_vector): Moved to c-common.c.
4987 (build_binary_op): Adapt to scalar_to_vector's new prototype.
4988 * Make-lang.in: c-typeck.c depends on c-common.h.
4989
ef34afc1 49902012-10-04 Arnaud Charlet <charlet@adacore.com>
4991
4992 * c-decl.c (c_write_global_declarations): Fix handling of
4993 -fdump-ada-spec*.
4994
7bd765d4 49952012-09-30 Sharad Singhai <singhai@google.com>
4996
4997 * c-decl.c (c_write_global_declarations): Use a different method
4998 to determine if the dump has ben initialized.
4999
c4b1a13a 50002012-09-14 Joseph Myers <joseph@codesourcery.com>
5001
5002 PR c/54552
5003 * c-typeck.c (c_cast_expr): When casting to a type requiring
5004 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
5005 c_fully_fold first.
5006
bb554051 50072012-09-14 Joseph Myers <joseph@codesourcery.com>
5008
5009 PR c/54103
5010 * c-typeck.c (build_unary_op): Pass original argument of
5011 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
5012 any C_MAYBE_CONST_EXPR, if it has integer operands.
5013 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
5014 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
5015 to c_objc_common_truthvalue_conversion, then remove any
5016 C_MAYBE_CONST_EXPR, if they have integer operands. Use
5017 c_objc_common_truthvalue_conversion not
5018 c_common_truthvalue_conversion.
5019 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
5020 call note_integer_operands for arguments with integer operands
5021 that are not integer constants.
5022
c708c6ef 50232012-09-13 Jakub Jelinek <jakub@redhat.com>
5024
5025 PR c/54559
5026 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
5027 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
5028
cce20430 50292012-08-31 Jakub Jelinek <jakub@redhat.com>
5030
5031 PR c/54428
5032 * c-convert.c (convert): Don't call fold_convert_loc if
5033 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
5034 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
5035 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
5036
a90d57ed 50372012-08-24 Jakub Jelinek <jakub@redhat.com>
5038
5039 PR c/54355
5040 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
5041 for nested and empty_ok arguments in the call to
5042 c_parser_declaration_or_fndef.
5043
f003f5dc 50442012-08-17 Jakub Jelinek <jakub@redhat.com>
5045
5046 * c-tree.h (c_last_sizeof_arg): Declare.
5047 * c-parser.c (struct c_tree_loc_pair): New type.
5048 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
5049 non-NULL.
5050 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
5051 (c_parser_postfix_expression_after_primary): Likewise. Call
5052 sizeof_pointer_memaccess_warning if needed.
5053 (sizeof_ptr_memacc_comptypes): New function.
5054 * c-typeck.c (c_last_sizeof_arg): New global variable.
5055 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
5056
a5656b73 50572012-07-24 Uros Bizjak <ubizjak@gmail.com>
5058
5059 * c-lang.h (lang_decl): Add variable_size GTY option.
5060
b9ed1410 50612012-07-16 Steven Bosscher <steven@gcc.gnu.org>
5062
5063 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
5064 * Make-lang.in: Fix dependencies.
5065
e53d55e7 50662012-06-29 Steven Bosscher <steven@gcc.gnu.org>
5067
5068 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
5069 and add language Makefile hooks.
5070 * config-lang.in: New file.
5071 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
5072 add the required "normal" config-lang.in rules.
5073 * c-lang.h: Moved from gcc/ to here.
5074 * c-tree.h: Likewise.
5075 * c-objc-common.c: Likewise.
5076 * c-objc-common.h: Likewise.
5077 * c-typeck.c: Likewise.
5078 * c-convert.c: Likewise.
5079 * c-lang.c: Likewise.
5080 * c-aux-info.c: Likewise.
5081 * c-errors.c: Likewise.
5082 * gccspec.c: Likewise.
5083 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
5084 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
5085\f
aad93da1 5086Copyright (C) 2012-2017 Free Software Foundation, Inc.
e53d55e7 5087
5088Copying and distribution of this file, with or without modification,
5089are permitted in any medium without royalty provided the copyright
5090notice and this notice are preserved.