]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
Correct an attribute access example.
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
bacdd5e9
JJ
12020-02-13 Jakub Jelinek <jakub@redhat.com>
2
3 PR c/93576
4 * c-decl.c (grokdeclarator): If this_size_varies, only push size into
5 *expr if it has side effects.
6
f9eb0973
JL
72020-01-30 Jeff Law <law@redhat.com>
8
9 PR c/88660
10 * c-parser.c (c_parser_switch_statement): Make sure to request
11 marking the switch expr as used.
12
ac68e287
JM
132020-01-22 Joseph Myers <joseph@codesourcery.com>
14
15 PR c/93348
16 * c-typeck.c (build_c_cast): Call remove_c_maybe_const_expr on
17 argument with integer operands.
18
852f0ae8
KK
192020-01-16 Kerem Kat <keremkat@gmail.com>
20
21 PR c/92833
22 * c-parser.c (c_parser_consume_token): Fix peeked token stack pop
23 to support 4 available tokens.
24
e2346a33
JM
252020-01-15 Joseph Myers <joseph@codesourcery.com>
26
27 PR c/93072
28 * c-decl.c (pushdecl): Use TREE_PUBLIC, not DECL_EXTERNAL, to
29 determine whether to set DECL_CONTEXT.
30
3d77686d
JM
312020-01-13 Joseph Myers <joseph@codesourcery.com>
32
33 PR c/93241
34 * c-typeck.c (build_c_cast): Check for expressions with integer
35 operands that can occur in an unevaluated part of an integer
36 constant expression and call note_integer_operands as needed.
37
f74c4b2c
RB
382019-01-08 Richard Biener <rguenther@suse.de>
39
40 PR middle-end/93199
41 * gimple-parser.c (c_parser_parse_gimple_body): Remove __PHI IFN
42 permanently.
43
8d9254fc
JJ
442020-01-01 Jakub Jelinek <jakub@redhat.com>
45
46 Update copyright years.
47
39292e25
EB
482019-12-20 Eric Botcazou <ebotcazou@adacore.com>
49
50 * c-decl.c (collect_source_ref_cb): Delete.
51 (for_each_global_decl): Rename into...
52 (collect_source_refs): ...this. Call collect_source_ref directly.
53 (c_parse_final_cleanups): Always call collect_source_ref on the main
54 input filename.
55
519d7496
JB
562019-12-19 Julian Brown <julian@codesourcery.com>
57 Cesar Philippidis <cesar@codesourcery.com>
58
59 * c-parser.c (c_parser_omp_clause_name): Add parsing of attach and
60 detach clauses.
61 (c_parser_omp_variable_list): Add ALLOW_DEREF optional parameter.
62 Allow deref (->) in variable lists if true.
63 (c_parser_omp_var_list_parens): Add ALLOW_DEREF optional parameter.
64 Pass to c_parser_omp_variable_list.
65 (c_parser_oacc_data_clause): Support attach and detach clauses. Update
66 call to c_parser_omp_variable_list.
67 (c_parser_oacc_all_clauses): Support attach and detach clauses.
68 (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK,
69 OACC_KERNELS_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK,
70 OACC_SERIAL_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_ATTACH.
71 (OACC_EXIT_DATA_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_DETACH.
72 * c-typeck.c (handle_omp_array_sections_1): Reject subarrays for attach
73 and detach. Support deref.
74 (handle_omp_array_sections): Use GOMP_MAP_ATTACH_DETACH instead of
75 GOMP_MAP_ALWAYS_POINTER for OpenACC.
76 (c_oacc_check_attachments): New function.
77 (c_finish_omp_clauses): Check attach/detach arguments for being
78 pointers using above. Support deref.
79
a6163563
JB
802019-12-19 Julian Brown <julian@codesourcery.com>
81 Maciej W. Rozycki <macro@codesourcery.com>
82 Tobias Burnus <tobias@codesourcery.com>
83 Thomas Schwinge <thomas@codesourcery.com>
84
85 * c-parser.c (c_parser_omp_clause_name): Support no_create.
86 (c_parser_oacc_data_clause): Likewise.
87 (c_parser_oacc_all_clauses): Likewise.
88 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
89 (OACC_PARALLEL_CLAUSE_MASK, OACC_SERIAL_CLAUSE_MASK): Add
90 PRAGMA_OACC_CLAUSE_NO_CREATE.
91 * c-typeck.c (handle_omp_array_sections): Support
92 GOMP_MAP_NO_ALLOC.
93
d68f5d45
DM
942019-12-09 David Malcolm <dmalcolm@redhat.com>
95
96 * c-objc-common.c (range_label_for_type_mismatch::get_text):
97 Replace label_text ctor calls.
98
4691bf46
JM
992019-12-04 Joseph Myers <joseph@codesourcery.com>
100
101 PR c/36941
102 PR c/88827
103 * c-typeck.c (convert_lvalue_to_rvalue): Call
104 require_complete_type for arguments not of void types.
105 (build_indirect_ref): Do not diagnose dereferencing pointers to
106 incomplete types.
107 * c-tree.h (C_TYPE_ERROR_REPORTED): Remove.
108
85d11957
JM
1092019-12-03 Joseph Myers <joseph@codesourcery.com>
110
111 PR c/88704
112 * c-decl.c (store_parm_decls_oldstyle): Diagnose use of [*] in
113 old-style parameter definitions.
114
4569f8b3
SL
1152019-12-01 Sandra Loosemore <sandra@codesourcery.com>
116
117 PR target/92499
118
119 * c-decl.c (flexible_array_type_p): Move to common code.
120
65ef05d0
RS
1212019-11-30 Richard Sandiford <richard.sandiford@arm.com>
122
123 * c-decl.c (start_decl): Allow initialization of variables whose
124 size is a POLY_INT_CST.
125 (finish_decl): Use verify_type_context to check whether the target
126 allows variables with a particular type to have static or thread-local
127 storage duration. Don't raise a second error if such variables do
128 not have a constant size.
129 (grokdeclarator): Use verify_type_context to check whether the
130 target allows fields or array elements to have a particular type.
131 * c-typeck.c (pointer_diff): Use verify_type_context to test whether
132 the target allows pointer difference for the types involved.
133 (build_unary_op): Likewise for pointer increment and decrement.
134
34b43828
JM
1352019-11-29 Joseph Myers <joseph@codesourcery.com>
136
137 * c-parser.c (struct c_parser): Add members raw_tokens and
138 raw_tokens_used.
139 (c_lex_one_token): Add argument raw. Handle lexing raw tokens and
140 using previously-lexed raw tokens.
141 (c_parser_peek_nth_token_raw)
142 (c_parser_check_balanced_raw_token_sequence): New functions.
143 (c_parser_nth_token_starts_std_attributes): Use
144 c_parser_check_balanced_raw_token_sequence for Objective-C.
145
5b8d9367
JM
1462019-11-25 Joseph Myers <joseph@codesourcery.com>
147
148 PR c/91985
149 * c-decl.c (finish_declspecs): Use int instead of decimal
150 floating-point types if decimal floating-point not supported.
151
1723e1be
JM
1522019-11-25 Joseph Myers <joseph@codesourcery.com>
153
154 * c-tree.h (struct c_declarator): Use a structure for id member.
155 * c-decl.c (grokdeclarator): Extract attributes from cdk_id
156 declarators at the start, not when handling individual declarators
157 later. Use u.id.id instead of u.id.
158 (grokfield): Use u.id.id instead of u.id.
159 (build_id_declarator): Set u.id.id and u.id.attrs.
160 (finish_declspecs): Handle postfix attributes in case of typedef
161 name or typeof used.
162 * c-parser.c (c_parser_direct_declarator)
163 (c_parser_direct_declarator_inner): Place declarator for
164 attributes inside that for function or array, not outside. Set
165 u.id.attrs for identifiers.
166 (c_parser_parameter_declaration): Use u.id.id instead of u.id.
167 * gimple-parser.c (c_parser_gimple_declaration): Use u.id.id
168 instead of u.id.
169
bdaf8be1
JJ
1702019-11-22 Jakub Jelinek <jakub@redhat.com>
171
172 PR c/90677
173 * c-decl.c (identifier_global_tag): Define.
174
3e00ba47
RB
1752019-11-20 Richard Biener <rguenther@suse.de>
176
177 PR c/92088
178 * c-decl.c (grokdeclarator): Prevent inlining of nested
179 function with VLA arguments.
180
8c5b727a
JM
1812019-11-20 Joseph Myers <joseph@codesourcery.com>
182
183 * c-decl.c (c_warn_type_attributes): New function.
184 (groktypename, grokdeclarator, finish_declspecs): Call
185 c_warn_type_attributes before applying attributes to types.
186 * c-tree.h (c_warn_type_attributes): Declare.
187
192961ff
JM
1882019-11-19 Joseph Myers <joseph@codesourcery.com>
189
190 * c-decl.c (c_warn_unused_attributes): Use pedwarn not warning for
191 standard attributes.
192 * c-parser.c (c_parser_std_attribute): Take argument for_tm. Use
193 pedwarn for unknown standard attributes and return error_mark_node
194 for them.
195
20a38017
MM
1962019-11-18 Matthew Malcomson <matthew.malcomson@arm.com>
197
198 * c-parser.c (c_parser_parse_rtl_body): Always call
199 run_rtl_passes, even if startwith pass is not provided.
200
d5fbe5e0
JM
2012019-11-15 Joseph Myers <joseph@codesourcery.com>
202
203 * c-parser.c (c_parser_std_attribute_specifier): Diagnose
204 duplicate standard attributes.
205
97cc1187
JM
2062019-11-15 Joseph Myers <joseph@codesourcery.com>
207
208 * c-decl.c (std_attribute_table): Add maybe_unused.
209
f8aea5e3
JM
2102019-11-15 Joseph Myers <joseph@codesourcery.com>
211
212 * c-decl.c (std_attribute_table): Add fallthrough.
213 * c-parser.c (c_parser_declaration_or_fndef): Diagnose fallthrough
214 attribute at top level.
215
2cc94aa8
JM
2162019-11-15 Joseph Myers <joseph@codesourcery.com>
217
218 * c-decl.c (std_attribute_table): New.
219 (c_init_decl_processing): Register attributes from
220 std_attribute_table.
221 * c-parser.c (c_parser_attribute_arguments): Add arguments
222 require_string and allow_empty_args. All callers changed.
223 (c_parser_std_attribute): Set require_string argument for
224 "deprecated" attribute.
225
7c5890cc
JM
2262019-11-14 Joseph Myers <joseph@codesourcery.com>
227
228 * c-parser.c (c_parser_postfix_expression)
229 (c_parser_check_literal_zero): Handle CPP_UTF8CHAR.
230 * gimple-parser.c (c_parser_gimple_postfix_expression): Likewise.
231
e8738f4e
RS
2322019-11-14 Richard Sandiford <richard.sandiford@arm.com>
233
234 * c-typeck.c (build_conditional_expr): Use truth_type_for instead
235 of build_same_sized_truth_vector_type.
236 (build_vec_cmp): Likewise.
237
b2417b59
JJ
2382019-11-14 Jakub Jelinek <jakub@redhat.com>
239
bedb7f04
JJ
240 * c-parser.c (c_parser_omp_context_selector): Don't require score
241 argument to fit into shwi, just to be INTEGER_CST. Diagnose
242 negative score.
243
b2417b59
JJ
244 * c-parser.c (c_parser_omp_context_selector): Rename
245 CTX_PROPERTY_IDLIST to CTX_PROPERTY_NAME_LIST, add CTX_PROPERTY_ID.
246 Use CTX_PROPERTY_ID for atomic_default_mem_order, only allow a single
247 identifier in that. For CTX_PROPERTY_NAME_LIST, allow identifiers
248 and string literals.
249
4e03c3a7
JM
2502019-11-14 Joseph Myers <joseph@codesourcery.com>
251
252 * c-tree.h (enum c_typespec_kind): Add ctsk_tagref_attrs and
253 ctsk_tagfirstref_attrs.
254 (struct c_declspecs): Update description of attrs. Add
255 postfix_attrs and non_std_attrs_seen_p. Increase size of
256 typespec_kind bit-field.
257 (c_warn_unused_attributes): New declaration.
258 (parser_xref_tag): Update prototype.
259 * c-decl.c (c_warn_unused_attributes): New function.
260 (shadow_tag_warned): Handle ctsk_tagfirstref_attrs and
261 ctsk_tagref_attrs. Handle attribute declarations.
262 (check_compound_literal_type): Handle ctsk_tagfirstref_attrs.
263 (grokdeclarator): Handle standard attributes.
264 (parser_xref_tag): Add arguments have_std_attrs and attrs. Apply
265 attributes to incomplete type reference.
266 (xref_tag): Update call to parser_xref_tag.
267 (declspecs_add_addrspace, declspecs_add_type)
268 (declspecs_add_scspec, declspecs_add_attrs): Set
269 non_std_attrs_seen_p.
270 (finish_declspecs): Apply postfix standard attributes to type.
271 * c-parser.c (c_token_starts_declspecs)
272 (c_token_starts_declaration, c_parser_next_token_starts_declspecs)
273 (c_parser_next_tokens_start_declaration): Update comments.
274 (c_parser_consume_token, c_parser_consume_pragma): Handle moving
275 parser->tokens[2] to parser->tokens[1].
276 (c_parser_nth_token_starts_std_attributes)
277 (c_parser_std_attribute_specifier_sequence): New functions.
278 (c_parser_declaration_or_fndef): Add arguments have_attrs and
279 attrs. All callers changed. Handle standard attributes.
280 (c_parser_parms_declarator, c_parser_parms_list_declarator)
281 (c_parser_parameter_declaration): Add argument have_gnu_attrs.
282 All callers changed.
283 (c_parser_declspecs): Add arguments start_std_attr_ok and
284 end_std_attr_ok. All callers changed. Handle standard
285 attributes.
286 (c_parser_enum_specifier, c_parser_struct_or_union_specifier)
287 (c_parser_direct_declarator, c_parser_direct_declarator_inner)
288 (c_parser_compound_statement_nostart, c_parser_all_labels)
289 (c_parser_label, c_parser_statement, c_parser_for_statement):
290 Handle standard attributes.
291 * c-parser.h (c_parser_declspecs): Update prototype.
292 * gimple-parser.c (c_parser_gimple_declaration): Update call to
293 c_parser_declspecs.
294
0c29cac4
ML
2952019-11-12 Martin Liska <mliska@suse.cz>
296
297 * gimple-parser.c: Do not include params.h.
298
028d4092
ML
2992019-11-12 Martin Liska <mliska@suse.cz>
300
301 * gimple-parser.c (c_parser_parse_gimple_body): Replace old parameter syntax
302 with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET
303 macro.
304
62aee289
MR
3052019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
306 Frederik Harwath <frederik@codesourcery.com>
307
308 gcc/c/
309 * c-parser.c (OACC_SERIAL_CLAUSE_MASK): New macro.
310 (c_parser_oacc_kernels_parallel): Rename function to...
311 (c_parser_oacc_compute): ... this. Handle PRAGMA_OACC_SERIAL.
312 (c_parser_omp_construct): Update accordingly.
313
314
7cec9588
JJ
3152019-11-11 Jakub Jelinek <jakub@redhat.com>
316
317 * c-parser.c (c_parser_translation_unit): Diagnose declare target
318 without corresponding end declare target.
319
f486280c
RS
3202019-11-08 Richard Sandiford <richard.sandiford@arm.com>
321
322 * c-convert.c (convert): Only handle vector conversions if one of
323 the types satisfies gnu_vector_type_p or if -flax-vector-conversions
324 allows it.
325 * c-typeck.c (build_array_ref): Only allow vector indexing if the
326 vectors satisfy gnu_vector_type_p.
327 (build_unary_op): Only allow unary operators to be applied to
328 vectors if they satisfy gnu_vector_type_p.
329 (digest_init): Only allow by-element initialization of vectors
330 if they satisfy gnu_vector_type_p.
331 (really_start_incremental_init): Likewise.
332 (push_init_level): Likewise.
333 (pop_init_level): Likewise.
334 (process_init_element): Likewise.
335 (build_binary_op): Only allow binary operators to be applied to
336 vectors if they satisfy gnu_vector_type_p.
337
017c6491
JM
3382019-11-08 Joseph Myers <joseph@codesourcery.com>
339
340 * c-decl.c (grokparms): Convert () in a function definition to
341 (void) for C2x.
342 (store_parm_decls_oldstyle): Pedwarn for C2x.
343 (store_parm_decls): Update comment about () not generating a
344 prototype.
345
c01bd174
JM
3462019-11-07 Joseph Myers <joseph@codesourcery.com>
347
348 * c-parser.c (c_parser_attribute_arguments): New function.
349 Factored out of c_parser_gnu_attribute.
350 (c_parser_gnu_attribute): Use c_parser_attribute_arguments.
351 (c_parser_balanced_token_sequence, c_parser_std_attribute)
352 (c_parser_std_attribute_specifier): New functions.
353 (c_parser_transaction_attributes): Use
354 c_parser_std_attribute_specifier.
355
471c5330
JM
3562019-11-07 Joseph Myers <joseph@codesourcery.com>
357
358 * c-parser.c (c_parser): Remove lex_untranslated_string. Add
359 lex_joined_string and translate_strings_p.
360 (c_lex_one_token): Pass 0 or C_LEX_STRING_NO_JOIN to
361 c_lex_with_flags.
362 (c_parser_string_literal): New function.
363 (c_parser_static_assert_declaration_no_semi): Use
364 c_parser_string_literal. Do not set lex_untranslated_string.
365 (c_parser_asm_string_literal): Use c_parser_string_literal.
366 (c_parser_simple_asm_expr): Do not set lex_untranslated_string.
367 (c_parser_gnu_attributes): Set and restore translate_strings_p
368 instead of lex_untranslated_string.
369 (c_parser_asm_statement): Do not set lex_untranslated_string.
370 (c_parser_asm_operands): Likewise.
371 (c_parser_has_attribute_expression): Set and restore
372 translate_strings_p instead of lex_untranslated_string.
373 (c_parser_postfix_expression): Use c_parser_string_literal.
374 (pragma_lex): Likewise.
375 (c_parser_pragma_pch_preprocess): Set lex_joined_string.
376 (c_parse_file): Set translate_strings_p.
377 * gimple-parser.c (c_parser_gimple_postfix_expression)
378 (c_parser_gimple_or_rtl_pass_list): Use c_parser_string_literal.
379 * c-parser.c (c_parser_string_literal): Declare function.
380
d0c464d2
JJ
3812019-11-02 Jakub Jelinek <jakub@redhat.com>
382
383 * c-parser.c (c_finish_omp_declare_variant): Use
384 omp_get_context_selector instead of c_omp_get_context_selector.
385
ac2cfa6c
RS
3862019-10-29 Richard Sandiford <richard.sandiford@arm.com>
387
388 * c-tree.h (c_simulate_enum_decl): Declare.
389 * c-decl.c (c_simulate_enum_decl): New function.
390 * c-objc-common.h (LANG_HOOKS_SIMULATE_ENUM_DECL): Define to the above.
391
74078538
RS
3922019-10-29 Richard Sandiford <richard.sandiford@arm.com>
393
394 * c-tree.h (c_simulate_builtin_function_decl): Declare.
395 * c-decl.c (c_simulate_builtin_function_decl): New function.
396 * c-objc-common.h (LANG_HOOKS_SIMULATE_BUILTIN_FUNCTION_DECL): Define
397 to the above.
398
ad1539d5
MS
3992019-10-28 Martin Sebor <msebor@redhat.com>
400
401 PR c/66970
402 * c-decl.c (names_builtin_p): Define a new function.
403
cb73e4e7
RB
4042019-10-28 Richard Biener <rguenther@suse.de>
405
406 PR c/92249
407 * gimple-parser.c (c_parser_parse_gimple_body): Make
408 current_bb the entry block initially to easier recover
409 from errors.
410 (c_parser_gimple_compound_statement): Adjust.
411
135df52c
JJ
4122019-10-24 Jakub Jelinek <jakub@redhat.com>
413
414 * c-parser.c (c_finish_omp_declare_variant): Use
415 omp_context_selector_matches instead of
416 c_omp_context_selector_matches.
417 * c-decl.c (c_decl_attributes): Add "omp declare target block"
418 attribute in between declare target and end declare target
419 pragmas.
420
783bfe5e
JM
4212019-10-15 Joseph Myers <joseph@codesourcery.com>
422
423 * c-parser.c (c_parser_attribute_any_word): Rename to
424 c_parser_gnu_attribute_any_word. All callers changed.
425 (c_parser_attribute): Rename to c_parser_gnu_attribute. All
426 callers changed.
427 (c_parser_attributes): Rename to c_parser_gnu_attributes. All
428 callers changed.
429 (c_parser_declaration_or_fndef, c_parser_declspecs)
430 (c_parser_enum_specifier, c_parser_struct_or_union_specifier)
431 (c_parser_struct_declaration, c_parser_declarator)
432 (c_parser_gnu_attribute, c_parser_compound_statement)
433 (c_parser_label, c_parser_statement, c_parser_objc_method_decl)
434 (c_parser_transaction_attributes): Add "gnu-" prefix to names of
435 attribute-related syntax productions.
436
56898e43
RS
4372019-10-14 Richard Sandiford <richard.sandiford@arm.com>
438
439 * c-objc-common.c (useful_aka_type_p): Replace with...
440 (get_aka_type): ...this new function. Given the original type,
441 decide which aka type to print (if any). Only look through typedefs
442 if user_facing_original_type_p.
443 (print_type): Update accordingly.
444
b9424661
JJ
4452019-10-14 Jakub Jelinek <jakub@redhat.com>
446
447 * c-parser.c (c_parser_omp_all_clauses): Change bool NESTED_P argument
448 into int NESTED, if it is 2, diagnose missing commas in between
449 clauses.
450 (c_parser_omp_context_selector): Pass 2 as last argument to
451 c_parser_omp_all_clauses.
452
20de9568
JJ
4532019-10-12 Jakub Jelinek <jakub@redhat.com>
454
455 * c-parser.c (c_parser_omp_context_selector): Improve error recovery.
456 For simd properties, put them directly into TREE_VALUE.
457 (c_finish_omp_declare_variant): Call c_omp_mark_declare_variant.
458 If c_omp_context_selector_matches is 0, don't add attribute, otherwise
459 add "omp declare variant base" attribute rather than
460 "omp declare variant".
461
fe2bc27c
JM
4622019-10-11 Joseph Myers <joseph@codesourcery.com>
463
464 * c-decl.c (declspecs_add_type): Use pedwarn_c11 for DFP types.
465
94e7f906
JJ
4662019-10-10 Jakub Jelinek <jakub@redhat.com>
467
468 * c-parser.c (c_parser_omp_all_clauses): Add NESTED_P argument, if
469 true, terminate processing on closing paren and don't skip to end of
470 pragma line.
471 (c_parser_omp_declare_simd): Handle also declare variant.
472 (omp_construct_selectors, omp_device_selectors,
473 omp_implementation_selectors, omp_user_selectors): New variables.
474 (c_parser_omp_context_selector,
475 c_parser_omp_context_selector_specification,
476 c_finish_omp_declare_variant): New functions.
477 (c_finish_omp_declare_simd): Handle both declare simd and
478 declare variant.
479 (c_parser_omp_declare): Handle declare variant.
480
93313b94
JM
4812019-10-02 Joseph Myers <joseph@codesourcery.com>
482
483 * c-parser.c (c_parser_asm_statement): Handle CPP_SCOPE like two
484 CPP_COLON tokens.
485
55879815
RS
4862019-10-01 Richard Sandiford <richard.sandiford@arm.com>
487
488 * c-objc-common.c (useful_aka_type_p): New function.
489 (print_type): Use it to decide whether an aka type is worth printing.
490
59bc434a
JJ
4912019-09-27 Jakub Jelinek <jakub@redhat.com>
492
493 PR c++/88203
494 * c-parser.c (c_parser_predefined_identifier): New function.
495 (c_parser_postfix_expression): Use it.
496 (c_parser_omp_variable_list): Parse predefined identifiers.
497 * c-typeck.c (c_finish_omp_clauses): Allow predefined variables
498 in shared and firstprivate clauses, even when they are predetermined
499 shared.
500
c6447c20
RS
5012019-09-27 Richard Sandiford <richard.sandiford@arm.com>
502
503 * c-typeck.c (build_function_call_vec): Take the original function
504 decl as an optional final parameter. Pass all built-in calls to
505 check_builtin_function_arguments.
506
522da4c2
EB
5072019-09-20 Eric Botcazou <ebotcazou@adacore.com>
508
509 PR c/91815
510 * c-decl.c (pushdecl): In C detect duplicate declarations across scopes
511 of identifiers in the external scope only for variables and functions.
512
68e2c199
PK
5132019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
514
515 PR c/78736
516 * c-typeck.c (convert_for_assignment): Handle Wenum-conversion.
517
22f8849d
IS
5182019-08-23 Iain Sandoe <iain@sandoe.co.uk>
519
520 PR pch/61250
521 * c-parser.c (c_parse_file): Call c_common_no_more_pch ()
522 after determining that the first token is not
523 PRAGMA_GCC_PCH_PREPROCESS.
524
db376f45
EB
5252019-08-22 Eric Botcazou <ebotcazou@adacore.com>
526
527 * c-parser.c (c_parser_declaration_or_fndef): Set DECL_ARGUMENTS of a
528 FUNCTION_DECL to the right value in the presence of nested declarators.
529
4d732405
RS
5302019-08-13 Richard Sandiford <richard.sandiford@arm.com>
531
532 PR middle-end/91421
533 * c-decl.c (merge_decls): Use copy_decl_built_in_function.
534
cb1180d5
RS
5352019-08-13 Richard Sandiford <richard.sandiford@arm.com>
536
537 PR middle-end/91421
538 * c-decl.c (header_for_builtin_fn): Take a FUNCTION_DECL instead
539 of a built_in_function.
540 (diagnose_mismatched_decls, implicitly_declare): Update accordingly.
541
77eb117f
JJ
5422019-08-10 Jakub Jelinek <jakub@redhat.com>
543
544 * c-parser.c (c_parser_omp_clause_name): Parse device_type.
545 (c_parser_omp_clause_device_type): New function.
546 (c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
547 (OMP_DECLARE_TARGET_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
548 (c_parser_omp_declare_target): Handle device_type clauses. Remove
549 diagnostics for declare target with clauses nested in clause-less
550 declare target declaration-definition-seq.
551 * c-typeck.c (c_finish_omp_clauses): Handle OMP_CLAUSE_DEVICE_TYPE.
552
2c3b8bad
JJ
5532019-08-09 Jakub Jelinek <jakub@redhat.com>
554
bb522e2e
JJ
555 * c-parser.c (check_no_duplicate_clause): Simplify using
556 omp_find_clause.
557 (c_parser_omp_clause_if): Fix up printing of target {enter,exit} data
558 directive name modifiers.
559 (c_parser_omp_clause_proc_bind): Check for duplicate proc_bind clause.
560
2c3b8bad
JJ
561 PR c/91401
562 * c-parser.c (c_parser_omp_clause_dist_schedule): Fix up typos in the
563 check_no_duplicate_clause call. Comment it out, instead emit a
564 warning for duplicate dist_schedule clauses.
565
99769e7f
RS
5662019-08-08 Richard Sandiford <richard.sandiford@arm.com>
567
568 * c-decl.c (finish_enum): Clear C_TYPE_BEING_DEFINED.
569
8860d270
JJ
5702019-08-08 Jakub Jelinek <jakub@redhat.com>
571
572 * c-typeck.c (c_finish_omp_clauses): For C_ORT_OMP
573 OMP_CLAUSE_USE_DEVICE_* clauses use oacc_reduction_head bitmap
574 instead of generic_head to track duplicates.
575
398e3feb
JJ
5762019-08-07 Jakub Jelinek <jakub@redhat.com>
577
578 * c-parser.c (c_parser_omp_clause_name): Parse use_device_addr clause.
579 (c_parser_omp_clause_use_device_addr): New function.
580 (c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR.
581 (OMP_TARGET_DATA_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR.
582 (c_parser_omp_target_data): Handle PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR
583 like PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR, adjust diagnostics about no
584 map or use_device_* clauses.
585 * c-typeck.c (c_finish_omp_clauses): For OMP_CLAUSE_USE_DEVICE_PTR
586 in OpenMP, require pointer type rather than pointer or array type.
587 Handle OMP_CLAUSE_USE_DEVICE_ADDR.
588
a28351e7
JJ
5892019-07-31 Jakub Jelinek <jakub@redhat.com>
590
591 PR c/91192
592 * c-parser.c (c_parser_sizeof_expression): Call set_c_expr_source_range
593 even if finish is UNKNOWN_LOCATION, just use start as finish in that
594 case.
595
6343b6bf
ML
5962019-07-25 Martin Liska <mliska@suse.cz>
597 Dominik Infuhr <dominik.infuehr@theobroma-systems.com>
598
599 PR c++/23383
600 * c-decl.c (merge_decls): Merge OPERATOR_DELETE flag.
601
cb50701e
ML
6022019-07-25 Martin Liska <mliska@suse.cz>
603
604 * c-decl.c (merge_decls): Use new macros
605 (e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
606
62e3e66f
RB
6072019-07-23 Richard Biener <rguenther@suse.de>
608
609 PR tree-optimization/83518
610 * gimple-parser.c (c_parser_parse_gimple_body): When we have
611 a CFG also rebuild cgraph edges.
612
554a530f
JJ
6132019-07-20 Jakub Jelinek <jakub@redhat.com>
614
615 * c-parser.c (c_parser_omp_clause_name): Handle bind clause.
616 (c_parser_omp_clause_bind): New function.
617 (c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_BIND.
618 (OMP_LOOP_CLAUSE_MASK): Define.
619 (c_parser_omp_loop): New function.
620 (c_parser_omp_parallel, c_parser_omp_teams): Handle parsing of
621 loop combined with parallel or teams.
622 (c_parser_omp_construct): Handle PRAGMA_OMP_LOOP.
623 * c-typeck.c (c_finish_omp_clauses): Handle OMP_CLAUSE_BIND.
624
d119bf79
RS
6252019-07-18 Richard Sandiford <richard.sandiford@arm.com>
626
627 PR c/53633
628 * c-decl.c (finish_function): Check targetm.warn_func_return
629 before issuing a -Wreturn-type warning.
630
ab20d992 6312019-07-12 Alexandre Oliva <oliva@adacore.com>
fdc1f343
AO
632
633 * gimple-parser.c (c_parser_gimple_try_stmt): New.
634 (c_parser_compound_statement): Call it.
635
1fdd6f04
JJ
6362019-07-12 Jakub Jelinek <jakub@redhat.com>
637
638 * c-parser.c (c_parser_omp_clause_name): Handle order clause.
639 (c_parser_omp_clause_order): New function.
640 (c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_ORDER.
641 (OMP_SIMD_CLAUSE_MASK, OMP_FOR_CLAUSE_MASK): Add
642 PRAGMA_OMP_CLAUSE_ORDER.
643 * c-typeck.c (c_finish_omp_clauses): Handle OMP_CLAUSE_ORDER.
644
8389386c
RB
6452019-07-10 Richard Biener <rguenther@suse.de>
646
647 * gimple-parser.c (c_parser_gimple_postfix_expression): Support
648 _Literal (int *) &x for address literals.
649
99b1c316
MS
6502019-07-09 Martin Sebor <msebor@redhat.com>
651
652 PR c++/61339
653 * c-decl.c (xref_tag): Change class-key of PODs to struct and others
654 to class.
655 (field_decl_cmp): Same.
656 * c-parser.c (c_parser_struct_or_union_specifier): Same.
657 * c-tree.h: Same.
658 * gimple-parser.c (c_parser_gimple_compound_statement): Same.
659
6c1dae73
MS
6602019-07-09 Martin Sebor <msebor@redhat.com>
661
662 PR c++/61339
663 * c-decl.c: Change class-key from class to struct and vice versa
664 to match convention and avoid -Wclass-is-pod and -Wstruct-no-pod.
665 * gimple-parser.c: Same.
666
69b5279e
RB
6672019-07-01 Richard Biener <rguenther@suse.de>
668
669 * gimple-parser.c (c_parser_gimple_postfix_expression): Handle
670 _Literal (char *) &"foo" for address literals pointing to
671 STRING_CSTs.
672
ab20d992
JJ
6732019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
674
675 * c-parser.c (c_parse_init): Create keyword for "__intN__" type.
676 * c-decl.c (declspecs_add_type): Don't pedwarn about "__intN" ISO
677 C incompatibility if alternate "__intN__" form is used.
678
1e3d475e
MS
6792019-06-24 Martin Sebor <msebor@redhat.com>
680
681 * c-typeck.c (build_binary_op): Hyphenate floating-point.
682
bf38f7e9
JJ
6832019-06-10 Jakub Jelinek <jakub@redhat.com>
684
685 * c-parser.c (c_parser_pragma): Reject PRAGMA_OMP_SCAN.
686 (c_parser_omp_clause_reduction): Don't sorry_at on inscan reductions.
687 (c_parser_omp_scan_loop_body): New function.
688 (c_parser_omp_for_loop): Call c_parser_omp_scan_loop_body if there are
689 inscan reduction clauses.
690 * c-typeck.c (c_finish_omp_clauses): Reject mixing inscan with
691 non-inscan reductions on the same construct, or inscan reductions with
692 ordered or schedule clauses, or inscan array reductions.
693
65985d78
MS
6942019-06-05 Martin Sebor <msebor@redhat.com>
695
696 PR c/90737
697 * c-typeck.c (c_finish_return): Only consider functions returning
698 pointers as candidates for -Wreturn-local-addr.
699
0ecf545c
MS
7002019-06-05 Martin Sebor <msebor@redhat.com>
701
702 * c-decl.c (start_decl): Adjust quoting and hyphenation
703 in diagnostics.
704 (finish_decl): Same.
705 (finish_enum): Same.
706 (start_function): Same.
707 (declspecs_add_type): Same.
708 * c-parser.c (warn_for_abs): Same.
709 * c-typeck.c (build_binary_op): Same.
710
e03436e7
TS
7112019-05-17 Thomas Schwinge <thomas@codesourcery.com>
712
b48f44bf
TS
713 PR c/89433
714 * c-parser.c (c_finish_oacc_routine): Rework checking if already
715 marked with an OpenACC 'routine' directive.
716
5bf04509
TS
717 PR c/89433
718 * c-parser.c (c_parser_oacc_routine): Normalize order of clauses.
719 (c_finish_oacc_routine): Call oacc_verify_routine_clauses.
720
e03436e7
TS
721 PR c/89433
722 * c-parser.c (c_finish_oacc_routine): Refer to OpenACC 'routine'
723 clauses from "omp declare target" attribute.
724
a9c697b8
MS
7252019-05-16 Martin Sebor <msebor@redhat.com>
726
ab20d992
JJ
727 * c-decl.c (start_decl): Quote keywords, operators, and
728 types in diagnostics.
729 (finish_decl): Same.
730 * c-parser.c (c_parser_asm_statement): Same.
731 (c_parser_conditional_expression): Same.
732 (c_parser_transaction_cancel): Same.
733 * c-typeck.c (c_common_type): Same.
734 (build_conditional_expr): Same.
735 (digest_init): Same.
736 (process_init_element): Same.
737 (build_binary_op): Same.
a9c697b8 738
c4499192
RB
7392019-05-17 Richard Biener <rguenther@suse.de>
740
741 * gimple-parser.c (c_parser_gimple_statement): Handle __VEC_PERM.
742 (c_parser_gimple_unary_expression): Likewise.
743 (c_parser_gimple_parentized_ternary_expression): New function.
744
adfe6e4b
RB
7452019-05-16 Richard Biener <rguenther@suse.de>
746
747 * gimple-parser.c (c_parser_gimple_statement): Handle __BIT_INSERT.
748 (c_parser_gimple_unary_expression): Likewise.
749
186dabf2
RB
7502019-05-15 Richard Biener <rguenther@suse.de>
751
752 * gimple-parser.c (c_parser_gimple_postfix_expression): Handle
753 __BIT_FIELD_REF.
754
1158c5b4
RB
7552019-05-14 Richard Biener <rguenther@suse.de>
756
757 * gimple-parser.c (c_parser_gimple_statement): Remove
758 questionable auto-promotion to VIEW_CONVERT_EXPR.
759 (c_parser_gimple_typespec): Split out from __MEM parsing.
760 (c_parser_gimple_postfix_expression): Handle __VIEW_CONVERT.
761 * tree-pretty-print.c (dump_generic_node): Dump VIEW_CONVERT_EXPR
762 as __VIEW_CONVERT with -gimple.
763
fd4485aa
ML
7642019-05-09 Martin Liska <mliska@suse.cz>
765
766 * gimple-parser.c (c_parser_gimple_statement): Support __MIN and
767 __MAX.
768 (c_parser_gimple_unary_expression): Parse also binary expression
769 __MIN and __MAX.
770 (c_parser_gimple_parentized_binary_expression): New function.
771
d276406a
ML
7722019-05-09 Martin Liska <mliska@suse.cz>
773
774 * gimple-parser.c (struct gimple_parser): Add probability.
775 for gimple_parser_edge.
776 (gimple_parser::push_edge): Add new argument probability.
777 (c_parser_gimple_parse_bb_spec): Parse also probability
778 if present.
779 (c_parser_parse_gimple_body): Set edge probability.
780 (c_parser_gimple_compound_statement): Consume token
781 before calling c_parser_gimple_goto_stmt.
782 Parse BB counts.
783 (c_parser_gimple_statement): Pass new argument.
784 (c_parser_gimple_goto_stmt): Likewise.
785 (c_parser_gimple_if_stmt): Likewise.
786 (c_parser_gimple_or_rtl_pass_list): Parse hot_bb_threshold.
787 * c-parser.c (c_parser_declaration_or_fndef): Pass
788 hot_bb_threshold argument.
789 * c-tree.h (struct c_declspecs): Add hot_bb_threshold
790 field.
791 (c_parser_gimple_parse_bb_spec_edge_probability): New.
792
f179b64e
JJ
7932019-04-26 Jakub Jelinek <jakub@redhat.com>
794
795 PR debug/90197
796 * c-tree.h (c_finish_loop): Add 2 further location_t arguments.
797 * c-parser.c (c_parser_while_statement): Adjust c_finish_loop caller.
798 (c_parser_do_statement): Likewise.
799 (c_parser_for_statement): Likewise. Formatting fixes.
800 * c-typeck.c (c_finish_loop): Add COND_LOCUS and INCR_LOCUS arguments,
801 emit DEBUG_BEGIN_STMTs if needed.
802
e7178413
JJ
8032019-04-19 Jakub Jelinek <jakub@redhat.com>
804
c280b7ee
JJ
805 PR c/89888
806 * c-typeck.c (struct c_switch): Remove outside_range_p member.
807 (c_start_case): Don't clear it.
808 (do_case): Adjust c_add_case_label caller.
809 (c_finish_case): Adjust c_do_switch_warnings caller.
810
e7178413
JJ
811 PR c++/90108
812 * c-decl.c (merge_decls): If remove is main variant and
813 DECL_ORIGINAL_TYPE is some other type, remove a DECL_ORIGINAL_TYPE
814 variant that has newdecl as TYPE_NAME if any.
815
60a2c645
JJ
8162019-04-12 Jakub Jelinek <jakub@redhat.com>
817
818 PR c/89933
819 * c-decl.c (merge_decls): When newdecl's type is its main variant,
820 don't try to remove it from the variant list, but instead assert
821 it has no variants.
822
2a82beaa
RB
8232019-04-01 Richard Biener <rguenther@suse.de>
824
825 PR c/71598
826 * c-tree.h (c_get_alias_set): Declare.
827 * c-objc-common.h (LANG_HOOKS_GET_ALIAS_SET): Use c_get_alias_set.
828 * c-objc-common.c (c_get_alias_set): Treat enumeral types
829 as the underlying integer type.
830
bec1da64
MS
8312019-03-19 Martin Sebor <msebor@redhat.com>
832
833 PR tree-optimization/89688
834 * c-decl.c (finish_decl): Call braced_lists_to_string for more
835 kinds of initializers.
836
855cd9b1
JJ
8372019-03-19 Jakub Jelinek <jakub@redhat.com>
838
839 PR c/89734
840 * c-decl.c (grokdeclarator): Call c_build_qualified_type on function
841 return type even if quals_used is 0. Formatting fixes.
842
baa09dc5
RB
8432019-03-14 Richard Biener <rguenther@suse.de>
844
845 * c-tree.h (enum c_declspec_il): New.
846 (struct c_declspecs): Merge gimple_p and rtl_p into declspec_il
847 enum bitfield.
848 * c-parser.c (c_parser_declaration_or_fndef): Adjust accordingly.
849 Pass start pass and declspec_il to c_parser_parse_gimple_body.
850 (c_parser_declspecs): Adjust.
851 * gimple-parser.c: Include cfg.h, cfghooks.h, cfganal.h, tree-cfg.h,
852 gimple-iterator.h, cfgloop.h, tree-phinodes.h, tree-into-ssa.h
853 and bitmap.h.
854 (struct gimple_parser): New.
855 (gimple_parser::push_edge): New method.
856 (c_parser_gimple_parse_bb_spec): New helper.
857 (c_parser_parse_gimple_body): Get start pass and IL specification.
858 Initialize SSA and CFG.
859 (c_parser_gimple_compound_statement): Handle CFG and SSA build.
860 Build a gimple_parser parsing state and pass it along.
861 (c_parser_gimple_statement): Change intermittend __PHI internal
862 function argument for the edge.
863 (c_parser_gimple_or_rtl_pass_list): Handle ssa, cfg flags.
864 (c_parser_gimple_goto_stmt): Record edges to build.
865 (c_parser_gimple_if_stmt): Likewise.
866 * gimple-parser.h (c_parser_parse_gimple_body): Adjust.
867 (c_parser_gimple_or_rtl_pass_list): Likewise.
868
a3f9f006
ML
8692019-03-11 Martin Liska <mliska@suse.cz>
870
871 * c-decl.c (check_for_loop_decls): Wrap an option name
872 in a string format message and fix GNU coding style.
873 * c-parser.c (c_parser_declspecs): Likewise.
874
1db01ff9
JJ
8752019-03-08 Jakub Jelinek <jakub@redhat.com>
876
877 PR tree-optimization/89550
878 * c-decl.c (finish_function): Only set TREE_NO_WARNING if warning_at
879 returned true.
880 (c_write_global_declarations_1): Only set TREE_NO_WARNING if pedwarn
881 or warning returned true.
882
66dcb747
JJ
8832019-02-28 Jakub Jelinek <jakub@redhat.com>
884
885 PR c/89525
886 * c-typeck.c (convert_arguments): Call inform_declaration only if
887 the previous warning_at call returned true.
888
2263c9f2
TS
8892019-02-22 Thomas Schwinge <thomas@codesourcery.com>
890
891 * c-parser.c (c_parser_oacc_shape_clause): Add loc formal
892 parameter. Adjust all users.
893 (c_parser_oacc_simple_clause): Replace parser with loc formal
894 parameter. Adjust all users.
895
ab20d992 8962019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
19695f4d
CLT
897
898 PR c/87924
899 * c-parser.c (c_parser_oacc_clause_wait): Add representation of wait
900 clause without argument as 'wait (GOMP_ASYNC_NOVAL)', adjust comments.
901
5f88ba10
JJ
9022019-02-15 Jakub Jelinek <jakub@redhat.com>
903
904 PR c/89340
905 * c-decl.c (start_function): Clear TREE_PUBLIC on nested functions
906 before c_decl_attributes rather than after it.
907
cfc30fd1
JJ
9082019-02-06 Jakub Jelinek <jakub@redhat.com>
909
910 PR c/89211
911 * c-parser.c (c_parser_declaration_or_fndef): Don't update
912 DECL_ARGUMENTS of d if it has been defined already. Use a single if
913 instead of 3 nested ifs.
914
fbe83e6b
JM
9152019-02-06 Joseph Myers <joseph@codesourcery.com>
916
917 PR c/88584
918 * c-decl.c (finish_decl): Do not complete array types for arrays
919 with external linkage not at file scope.
920
f461f938
RB
9212019-02-05 Richard Biener <rguenther@suse.de>
922
923 PR c/88606
924 * c-decl.c (finish_struct): Reset TYPE_TRANSPARENT_AGGR on
925 all type variants when not supported.
926
fe509359
JJ
9272019-01-30 Jakub Jelinek <jakub@redhat.com>
928
929 PR c/89061
930 * c-tree.h (C_DECL_COMPOUND_LITERAL_P): Define.
931 * c-decl.c (decl_jump_unsafe): Return false for
932 C_DECL_COMPOUND_LITERAL_P decls.
933 (build_compound_literal): Set C_DECL_COMPOUND_LITERAL_P.
934
6a335b96
JJ
9352019-01-29 Jakub Jelinek <jakub@redhat.com>
936
f4b7e754
JJ
937 PR c/89045
938 * c-decl.c (build_compound_literal): Don't pushdecl if in parameter
939 scope.
940
6a335b96
JJ
941 PR c/86125
942 * c-decl.c (last_fileptr_type): Remove.
943 (last_structptr_types): New variable.
944 (match_builtin_function_types): Compare TYPE_MAIN_VARIANT of
945 {old,new}rettype instead of the types themselves. Assert
946 last_structptr_types array has the same number of elements
947 as builtin_structptr_types array. Use TYPE_MAIN_VARIANT for
948 argument oldtype and newtype. Instead of handling
949 just fileptr_type_node specially, handle all builtin_structptr_types
950 pointer nodes. Formatting fix.
951
d8b5a1a0
MS
9522019-01-24 Martin Sebor <msebor@redhat.com>
953
954 PR c/86125
955 PR c/88886
956 PR middle-end/86308
957 * c-decl.c (match_builtin_function_types): Add arguments.
958 (diagnose_mismatched_decls): Diagnose mismatched declarations
959 of built-ins more strictly.
960
e21c4491
JJ
9612019-01-24 Jakub Jelinek <jakub@redhat.com>
962
963 PR c++/88976
964 * c-typeck.c (c_finish_omp_cancel): Diagnose more than one if
965 on #pragma omp cancel with different modifiers.
966
420183d9
L
9672019-01-18 H.J. Lu <hongjiu.lu@intel.com>
968
969 PR c/51628
970 PR c/88664
971 * c-typeck.c (convert_for_assignment): Upate the
972 warn_for_address_or_pointer_of_packed_member call.
973
17ad43dd
TH
9742019-01-16 Tom Honermann <tom@honermann.net>
975 Jason Merrill <jason@redhat.com>
976
977 * c-typeck.c (digest_init): Revised the error message produced for
978 ill-formed cases of array initialization with a string literal.
979 (error_init): Make variadic.
980
5f07d78a
JJ
9812019-01-12 Jakub Jelinek <jakub@redhat.com>
982
983 * c-typeck.c (convert_for_assignment): Fix a comment typo.
984
c4581bbf
JJ
9852019-01-07 Jakub Jelinek <jakub@redhat.com>
986
987 PR c/88701
988 * c-decl.c (build_compound_literal): If not TREE_STATIC, only pushdecl
989 if current_function_decl is non-NULL.
990
65c5b1eb
JM
9912019-01-07 Joseph Myers <joseph@codesourcery.com>
992
993 PR c/88720
994 PR c/88726
995 * c-decl.c (pop_scope): Use TREE_PUBLIC and b->nested to determine
996 whether a function is nested, not DECL_EXTERNAL. Diagnose inline
997 functions declared but never defined only for external scope, not
998 for other scopes.
999
d8fcab68
JJ
10002019-01-07 Jakub Jelinek <jakub@redhat.com>
1001
1002 PR c++/85052
1003 * c-parser.c (c_parser_postfix_expression): Parse
1004 __builtin_convertvector.
1005
a5544970
JJ
10062019-01-01 Jakub Jelinek <jakub@redhat.com>
1007
1008 Update copyright years.
1009
da77eace
L
10102018-12-20 H.J. Lu <hongjiu.lu@intel.com>
1011
1012 PR c/51628
1013 * c-typeck.c (convert_for_assignment): Call
1014 warn_for_address_or_pointer_of_packed_member.
1015
1edf8866
SB
10162018-12-19 Segher Boessenkool <segher@kernel.crashing.org>
1017
1018 * c-parser.c (c_parser_asm_statement) <RID_CONST, RID_RESTRICT>: Give
1019 a more specific error message (instead of just falling through).
1020
db4fd626
SB
10212018-12-19 Segher Boessenkool <segher@kernel.crashing.org>
1022
1023 * c-parser.c (c_parser_asm_statement): Keep track of the location each
1024 asm qualifier is first seen; use that to give nicer "duplicate asm
1025 qualifier" messages. Delete 'quals" variable, instead pass the
1026 "is_volatile_ flag to build_asm_stmt directly.
1027 * c-tree.h (build_asm_stmt): Make the first arg bool instead of tree.
1028 * c-typeck.c (build_asm_stmt): Ditto; adjust.
1029
9c9cfcbb
SB
10302018-12-19 Segher Boessenkool <segher@kernel.crashing.org>
1031
1032 * c-parser.c (c_parser_asm_statement): Rewrite the loop to work without
1033 "done" boolean variable.
1034
a14feb3c
DM
10352018-12-19 David Malcolm <dmalcolm@redhat.com>
1036
1037 PR c++/87504
1038 * c-typeck.c (class maybe_range_label_for_tree_type_mismatch):
1039 Move from here to gcc-rich-location.h and gcc-rich-location.c.
1040 (build_binary_op): Use struct op_location_t and
1041 class binary_op_rich_location.
1042
6d939173
JJ
10432018-12-11 Jakub Jelinek <jakub@redhat.com>
1044
1045 PR sanitizer/88426
1046 * c-convert.c (convert): Call c_fully_fold before calling
1047 ubsan_instrument_float_cast.
1048
b7055028
SB
10492018-12-08 Segher Boessenkool <segher@kernel.crashing.org>
1050
1051 * c-parser (c_parser_asm_statement) [RID_INLINE]: Delete stray line
1052 setting "quals".
1053
5b76e75f
SB
10542018-12-06 Segher Boessenkool <segher@kernel.crashing.org>
1055
1056 * c-parser.c (c_parser_asm_statement): Detect the inline keyword
1057 after asm. Pass a flag for it to build_asm_expr.
1058 * c-tree.h (build_asm_expr): Update declaration.
1059 * c-typeck.c (build_asm_stmt): Add is_inline parameter. Use it to
1060 set ASM_INLINE_P.
1061
30bd42b9
SB
10622018-12-06 Segher Boessenkool <segher@kernel.crashing.org>
1063
1064 PR inline-asm/55681
1065 * c-parser.c (c_parser_asm_statement): Update grammar. Allow any
1066 combination of volatile and goto, in any order, without repetitions.
1067
9df6c0e4
JB
10682018-12-04 James Norris <jnorris@codesourcery.com>
1069 Cesar Philippidis <cesar@codesourcery.com>
1070 Julian Brown <julian@codesourcery.com>
1071
1072 * c-parser.c (c_parser_oacc_wait_list): Remove dead diagnostic
1073 code.
1074
f44697b7
RB
10752018-11-30 Richard Biener <rguenther@suse.de>
1076
1077 * gimple-parser.c (c_parser_gimple_postfix_expression): Parse
1078 _Literal (type) { ... } as empty aggregate or vector constructor.
1079
550dfbdc
MS
10802018-11-29 Martin Sebor <msebor@redhat.com>
1081
1082 PR c/88091
1083 * c-typeck.c (convert_argument): Add a parameter. Adjust indentation.
1084 (convert_arguments): Add comments. Pass additional argument to
1085 the function above.
1086
673670da
MS
10872018-11-29 Martin Sebor <msebor@redhat.com>
1088
1089 PR c/88172
1090 PR testsuite/88208
1091 * c-decl.c (declspec_add_alignas): Adjust call to check_user_alignment.
1092
db1d09b0
MS
10932018-11-23 Martin Sebor <msebor@redhat.com>
1094
1095 PR testsuite/88098
1096 * c-typeck.c (convert_arguments): Call builtin_decl_explicit instead.
1097 (maybe_warn_builtin_no_proto_arg): Handle short enum to int promotion.
1098
98f08eb8
MS
10992018-11-20 Martin Sebor <msebor@redhat.com>
1100
1101 * c-parser.c (c_parser_has_attribute_expression): New function.
1102 (c_parser_attribute): New function.
1103 (c_parser_attributes): Move code into c_parser_attribute.
1104 (c_parser_unary_expression): Handle RID_HAS_ATTRIBUTE_EXPRESSION.
1105
cd5da983
MS
11062018-11-15 Martin Sebor <msebor@redhat.com>
1107
1108 PR c/83656
1109 * c-decl.c (header_for_builtin_fn): Declare.
1110 (diagnose_mismatched_decls): Diagnose declarations of built-in
1111 functions without a prototype.
1112 * c-typeck.c (maybe_warn_builtin_no_proto_arg): New function.
1113 (convert_argument): Same.
1114 (convert_arguments): Factor code out into convert_argument.
1115 Detect mismatches between built-in formal arguments in calls
1116 to built-in without prototype.
1117 (build_conditional_expr): Same.
1118 (type_or_builtin_type): New function.
1119 (convert_for_assignment): Add argument. Conditionally issue
1120 warnings instead of errors for mismatches.
1121
620e594b
DM
11222018-11-13 David Malcolm <dmalcolm@redhat.com>
1123
1124 * c-decl.c: Replace "source_location" with "location_t".
1125 * c-tree.h: Likewise.
1126 * c-typeck.c: Likewise.
1127 * gimple-parser.c: Likewise.
1128
3179ebae
JJ
11292018-11-09 Jakub Jelinek <jakub@redhat.com>
1130
81a227c6
JJ
1131 * c-parser.c (c_parser_omp_clause_final): Use
1132 c_parser_expr_no_commas, convert_lvalue_to_rvalue,
1133 c_objc_common_truthvalue_conversion, c_fully_fold and parentheses
1134 parsing instead of c_parser_paren_condition.
1135 (c_parser_omp_clause_if): Use c_parser_expr_no_commas,
1136 convert_lvalue_to_rvalue, c_objc_common_truthvalue_conversion and
1137 c_fully_fold instead of c_parser_condition.
1138 (c_parser_omp_clause_num_threads, c_parser_omp_clause_num_tasks,
1139 c_parser_omp_clause_grainsize, c_parser_omp_clause_priority,
1140 c_parser_omp_clause_hint, c_parser_omp_clause_num_teams,
1141 c_parser_omp_clause_thread_limit, c_parser_omp_clause_linear): Use
1142 c_parser_expr_no_commas instead of c_parser_expression.
1143
98c91c56
JJ
1144 * c-parser.c (c_parser_omp_clause_reduction): Call sorry_at on
1145 reduction clause with inscan modifier.
1146
3179ebae
JJ
1147 * c-parser.c (c_parser_omp_requires): Call sorry_at on requires
1148 clauses other than atomic_default_mem_order.
1149
28567c40
JJ
11502018-11-08 Jakub Jelinek <jakub@redhat.com>
1151
1152 * c-parser.c: Include memmode.h.
1153 (c_parser_omp_depobj, c_parser_omp_requires): New functions.
1154 (c_parser_pragma): Handle PRAGMA_OMP_DEPOBJ and PRAGMA_OMP_REQUIRES.
1155 (c_parser_omp_clause_name): Handle nontemporal, in_reduction and
1156 task_reduction clauses.
1157 (c_parser_omp_variable_list): Handle OMP_CLAUSE_{IN,TASK}_REDUCTION.
1158 For OMP_CLAUSE_DEPEND, parse clause operands as either an array
1159 section, or lvalue assignment expression.
1160 (c_parser_omp_clause_if): Handle cancel and simd modifiers.
1161 (c_parser_omp_clause_lastprivate): Parse optional
1162 conditional: modifier.
1163 (c_parser_omp_clause_hint): Require constant integer expression rather
1164 than just integer expression.
1165 (c_parser_omp_clause_defaultmap): Parse new kinds of defaultmap
1166 clause.
1167 (c_parser_omp_clause_reduction): Add IS_OMP and KIND arguments.
1168 Parse reduction modifiers. Pass KIND to c_parser_omp_variable_list.
1169 (c_parser_omp_clause_nontemporal, c_parser_omp_iterators): New
1170 functions.
1171 (c_parser_omp_clause_depend): Parse iterator modifier and handle
1172 iterators. Parse mutexinoutset and depobj kinds.
1173 (c_parser_oacc_all_clauses): Adjust c_parser_omp_clause_reduction
1174 callers.
1175 (c_parser_omp_all_clauses): Likewise. Handle
1176 PRAGMA_OMP_CLAUSE_NONTEMPORAL and
1177 PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
1178 (c_parser_omp_atomic): Parse hint and memory order clauses. Handle
1179 default memory order from requires directive if any. Adjust
1180 c_finish_omp_atomic caller.
1181 (c_parser_omp_critical): Allow comma in between (name) and hint clause.
1182 (c_parser_omp_flush): Parse flush with memory-order-clause.
1183 (c_parser_omp_for_loop): Allow NE_EXPR even in
1184 OpenMP loops, adjust c_finish_omp_for caller.
1185 (OMP_SIMD_CLAUSE_MASK): Add if and nontemporal clauses.
1186 (c_parser_omp_master): Add p_name, mask and cclauses arguments.
1187 Allow to be called while parsing combined parallel master.
1188 Parse combined master taskloop{, simd}.
1189 (c_parser_omp_parallel): Parse combined
1190 parallel master{, taskloop{, simd}} constructs.
1191 (OMP_TASK_CLAUSE_MASK): Add in_reduction clause.
1192 (OMP_TASKGROUP_CLAUSE_MASK): Define.
1193 (c_parser_omp_taskgroup): Add LOC argument. Parse taskgroup clauses.
1194 (OMP_TASKWAIT_CLAUSE_MASK): Define.
1195 (c_parser_omp_taskwait): Handle taskwait with depend clauses.
1196 (c_parser_omp_teams): Force a BIND_EXPR with BLOCK
1197 around teams body. Use SET_EXPR_LOCATION.
1198 (c_parser_omp_target_data): Allow target data
1199 with only use_device_ptr clauses.
1200 (c_parser_omp_target): Use SET_EXPR_LOCATION. Set
1201 OMP_REQUIRES_TARGET_USED bit in omp_requires_mask.
1202 (c_parser_omp_requires): New function.
1203 (c_finish_taskloop_clauses): New function.
1204 (OMP_TASKLOOP_CLAUSE_MASK): Add reduction and in_reduction clauses.
1205 (c_parser_omp_taskloop): Use c_finish_taskloop_clauses. Add forward
1206 declaration. Disallow in_reduction clause when combined with parallel
1207 master.
1208 (c_parser_omp_construct): Adjust c_parser_omp_master and
1209 c_parser_omp_taskgroup callers.
1210 * c-typeck.c (c_finish_omp_cancel): Diagnose if clause with modifier
1211 other than cancel.
1212 (handle_omp_array_sections_1): Handle OMP_CLAUSE_{IN,TASK}_REDUCTION
1213 like OMP_CLAUSE_REDUCTION.
1214 (handle_omp_array_sections): Likewise. Call save_expr on array
1215 reductions before calling build_index_type. Handle depend clauses
1216 with iterators.
1217 (struct c_find_omp_var_s): New type.
1218 (c_find_omp_var_r, c_omp_finish_iterators): New functions.
1219 (c_finish_omp_clauses): Don't diagnose nonmonotonic clause
1220 with static, runtime or auto schedule kinds. Call save_expr for whole
1221 array reduction sizes. Diagnose reductions with zero sized elements
1222 or variable length structures. Diagnose nogroup clause used with
1223 reduction clause(s). Handle depend clause with
1224 OMP_CLAUSE_DEPEND_DEPOBJ. Diagnose bit-fields. Require
1225 omp_depend_t type for OMP_CLAUSE_DEPEND_DEPOBJ kinds and
1226 some different type for other kinds. Use build_unary_op with
1227 ADDR_EXPR and build_indirect_ref instead of c_mark_addressable.
1228 Handle depend clauses with iterators. Remove no longer needed special
1229 case that predetermined const qualified vars may be specified in
1230 firstprivate clause. Complain if const qualified vars are mentioned
1231 in data-sharing clauses other than firstprivate or shared. Use
1232 error_at with OMP_CLAUSE_LOCATION (c) as first argument instead of
1233 error. Formatting fix. Handle OMP_CLAUSE_NONTEMPORAL and
1234 OMP_CLAUSE_{IN,TASK}_REDUCTION. Allow any lvalue as
1235 OMP_CLAUSE_DEPEND operand (besides array section), adjust diagnostics.
1236
7e2de6df
DM
12372018-10-29 David Malcolm <dmalcolm@redhat.com>
1238
1239 * c-decl.c (implicit_decl_warning): Update "is there a suggestion"
1240 logic for change to name_hint::operator bool.
1241 (undeclared_variable): Likewise.
1242 * c-parser.c (c_parser_declaration_or_fndef): Likewise.
1243 (c_parser_parameter_declaration): Likewise.
1244
9f936c86
JM
12452018-10-17 Joseph Myers <joseph@codesourcery.com>
1246
1247 * c-errors.c (pedwarn_c11): New function.
1248 * c-parser.c (disable_extension_diagnostics): Save
1249 warn_c11_c2x_compat and set it to 0.
1250 (restore_extension_diagnostics): Restore warn_c11_c2x_compat.
1251 (c_parser_static_assert_declaration_no_semi): Handle
1252 _Static_assert without string constant.
1253 * c-tree.h (pedwarn_c11): New prototype.
1254
033eb567
DM
12552018-10-17 David Malcolm <dmalcolm@redhat.com>
1256
1257 * Make-lang.in (selftest-c): New.
1258 (C_SELFTEST_FLAGS, C_SELFTEST_DEPS, s-selftest-c, selftest-c-gdb)
1259 (selftest-gdb, selftest-c-valgrind, selftest-valgrind): Move here
1260 from gcc/Makefile.in.
1261
0edf3afe
RB
12622018-10-02 Richard Biener <rguenther@suse.de>
1263
1264 * c-decl.c (warn_if_shadowing): Do not test DECL_FROM_INLINE.
1265
8313a764
JM
12662018-09-26 Joseph Myers <joseph@codesourcery.com>
1267
1268 PR c/87390
1269 * c-typeck.c (build_binary_op): Use excess precision for
1270 comparisons of integers and floating-point for C11 and later.
1271
ce6f0888
MJ
12722018-09-26 Martin Jambor <mjambor@suse.cz>
1273
1274 PR c/87347
1275 * c-parser.c (warn_for_abs): Bail out if TYPE_ARG_TYPES is NULL. Fix
ab20d992 1276 comment.
ce6f0888 1277
9c4a4b3c
DM
12782018-09-17 David Malcolm <dmalcolm@redhat.com>
1279
1280 * c-objc-common.c (range_label_for_type_mismatch::get_text):
1281 Update for new param.
1282 * c-typeck.c (maybe_range_label_for_tree_type_mismatch::get_text):
1283 Likewise.
1284
80c6d1f4
MJ
12852018-09-17 Martin Jambor <mjambor@suse.cz>
1286
1287 PR c/63886
1288 * c-parser.c: (warn_for_abs): New function.
1289 (c_parser_postfix_expression_after_primary): Call it.
1290
4a426e36
BE
12912018-09-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
1292
1293 * c-typeck.c (digest_init): Shorten overlength strings.
1294
6d900107
BE
12952018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
1296
1297 * c-decl.c (finish_decl): Call complete_flexible_array_elts.
1298
b5764229
BE
12992018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1300
1301 * c-decl.c (finish_decl): Call braced_list_to_string here ...
1302 * c-parser.c (c_parser_declaration_or_fndef): ... instead of here.
1303
22eea6b2
AM
13042018-08-30 Alexander Monakov <amonakov@ispras.ru>
1305
1306 * gimple-parser.c (c_parser_gimple_binary_expression): Accept infix
1307 "__MULT_HIGHPART" for MULT_HIGHPART_EXPR.
1308
85204e23
DM
13092018-08-27 David Malcolm <dmalcolm@redhat.com>
1310
1311 PR 87091
1312 * c-decl.c (implicitly_declare): Update call to
1313 maybe_add_include_fixit to suggest overriding the location, as it
1314 is for a note.
1315 * c-objc-common.c (c_tree_printer): Update for conversion of
1316 show_caret_p to a tri-state.
1317
3d78e008
ML
13182018-08-27 Martin Liska <mliska@suse.cz>
1319
1320 * c-decl.c (locate_old_decl): Use new function
92a285c1
ML
1321 fndecl_built_in_p and remove check for FUNCTION_DECL if
1322 possible.
3d78e008
ML
1323 (diagnose_mismatched_decls): Likewise.
1324 (merge_decls): Likewise.
1325 (warn_if_shadowing): Likewise.
1326 (pushdecl): Likewise.
1327 (implicitly_declare): Likewise.
1328 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
1329 * c-tree.h (C_DECL_ISNT_PROTOTYPE): Likewise.
1330 * c-typeck.c (build_function_call_vec): Likewise.
1331 (convert_arguments): Likewise.
1332
097f82ec
DM
13332018-08-20 David Malcolm <dmalcolm@redhat.com>
1334
1335 PR other/84889
1336 * c-decl.c (pushtag): Add auto_diagnostic_group instance.
1337 (diagnose_mismatched_decls): Likewise, in various places.
1338 (warn_if_shadowing): Likewise.
1339 (implicit_decl_warning): Likewise.
1340 (implicitly_declare): Likewise.
1341 (undeclared_variable): Likewise.
1342 (declare_label): Likewise.
1343 (grokdeclarator): Likewise.
1344 (start_function): Likewise.
1345 * c-parser.c (c_parser_declaration_or_fndef): Likewise.
1346 (c_parser_parameter_declaration): Likewise.
1347 (c_parser_binary_expression): Likewise.
1348 * c-typeck.c (c_expr_sizeof_expr): Likewise.
1349 (parser_build_binary_op): Likewise.
1350 (build_unary_op): Likewise.
1351 (error_init): Likewise.
1352 (pedwarn_init): Likewise.
1353 (warning_init): Likewise.
1354 (convert_for_assignment): Likewise.
1355
96e6ae57
DM
13562018-08-15 David Malcolm <dmalcolm@redhat.com>
1357
1358 * c-objc-common.c: Include "gcc-rich-location.h".
1359 (c_tree_printer): Move implemenation of '%T' to...
1360 (print_type): ...this new function.
1361 (range_label_for_type_mismatch::get_text): New function.
1362 * c-typeck.c (convert_for_assignment): Add type labels to the rhs
1363 range for the various ic_argpass cases.
1364 (class maybe_range_label_for_tree_type_mismatch): New class.
1365 (build_binary_op): Use it when calling binary_op_error.
1366
0cd020ae 13672018-08-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
ab20d992 1368
0cd020ae
PK
1369 * c-decl.c (start_decl): Do not warn if variables is named as main
1370 and is a local variable.
1371
72733314
IS
13722018-08-15 Iain Sandoe <iain@sandoe.co.uk>
1373
1374 PR c/19315
1375 * c-decl.c (finish_decl): Don't add the 'extern' storage class to
1376 objects of unknown size.
1377
23aa9f7c
MS
13782018-08-13 Martin Sebor <msebor@redhat.com>
1379
1380 PR tree-optimization/71625
1381 * c-parser.c (c_parser_declaration_or_fndef): Call
1382 braced_list_to_string.
1383
e5e7e50d
BH
13842018-08-03 Bogdan Harjoc <harjoc@gmail.com>
1385
1386 PR c/86690
1387 * c-typeck.c (lookup_field): Do not use TYPE_LANG_SPECIFIC after
1388 errors.
1389
8a45b051
MS
13902018-08-01 Martin Sebor <msebor@redhat.com>
1391
1392 PR tree-optimization/86650
1393 * c-objc-common.c (c_tree_printer): Move usage of EXPR_LOCATION (t)
1394 and TREE_BLOCK (t) from within percent_K_format to this callsite.
1395
5922dcb5
JJ
13962018-08-01 Jakub Jelinek <jakub@redhat.com>
1397
1398 PR c/85704
1399 * c-typeck.c (init_field_decl_cmp): New function.
1400 (output_pending_init_elements): Use it for field comparisons
1401 instead of pure bit_position comparisons.
1402
9b452033
JJ
14032018-07-12 Jakub Jelinek <jakub@redhat.com>
1404
1405 * c-decl.c (c_decl_attributes): Don't diagnose vars without mappable
1406 type here, instead add "omp declare target implicit" attribute.
1407 (finish_decl): Diagnose vars without mappable type here.
1408
ab20d992
JJ
14092018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1410 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
1411 Cesar Philippidis <cesar@codesourcery.com>
1412
1413 * c-parser.c (c_parser_omp_clause_name): Add support for finalize
1414 and if_present. Make present_or_{copy,copyin,copyout,create} aliases
1415 to their non-present_or_* counterparts. Make 'self' an alias to
1416 PRAGMA_OACC_CLAUSE_HOST.
1417 (c_parser_oacc_data_clause): Update GOMP mappings for
1418 PRAGMA_OACC_CLAUSE_{COPY,COPYIN,COPYOUT,CREATE,DELETE}. Remove
1419 PRAGMA_OACC_CLAUSE_{SELF,PRESENT_OR_*}.
1420 (c_parser_oacc_all_clauses): Handle finalize and if_present clauses.
1421 Remove support for present_or_* clauses.
1422 (OACC_KERNELS_CLAUSE_MASK): Remove PRESENT_OR_* clauses.
1423 (OACC_PARALLEL_CLAUSE_MASK): Likewise.
1424 (OACC_DECLARE_CLAUSE_MASK): Likewise.
1425 (OACC_DATA_CLAUSE_MASK): Likewise.
1426 (OACC_ENTER_DATA_CLAUSE_MASK): Remove PRESENT_OR_* clauses.
1427 (OACC_EXIT_DATA_CLAUSE_MASK): Add FINALIZE clause.
1428 (OACC_UPDATE_CLAUSE_MASK): Remove SELF, add IF_PRESENT.
1429 (c_parser_oacc_declare): Remove PRESENT_OR_* clauses.
1430 * c-typeck.c (c_finish_omp_clauses): Handle IF_PRESENT and FINALIZE.
1431
e197e64e
KV
14322018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
1433
1434 * c-typeck.c (build_unary_op): Handle ABSU_EXPR;
1435 * gimple-parser.c (c_parser_gimple_statement): Likewise.
1436 (c_parser_gimple_unary_expression): Likewise.
1437
487f2f61
JJ
14382018-06-15 Jakub Jelinek <jakub@redhat.com>
1439
1440 PR c/86093
1441 * c-typeck.c (pointer_diff): Cast both pointers to unqualified types
1442 before doing POINTER_DIFF_EXPR.
1443
e4d44a37
MP
14442018-06-07 Marek Polacek <polacek@redhat.com>
1445
1446 PR c/85318
1447 * c-decl.c (check_for_loop_decls): Add -Wc90-c99-compat warning about
1448 for loop initial declarations.
1449
b67b9225
DP
14502018-05-30 David Pagan <dave.pagan@oracle.com>
1451
1452 PR c/55976
1453 * c-decl.c (grokdeclarator): Update check for return type warnings.
1454 (start_function): Likewise.
1455 (finish_function): Likewise.
1456 * c-typeck.c (c_finish_return): Update check for return type warnings.
1457 Pass OPT_Wreturn_type to pedwarn when appropriate.
1458
c566cc9f
RS
14592018-05-18 Richard Sandiford <richard.sandiford@linaro.org>
1460
1461 * gimple-parser.c (c_parser_gimple_postfix_expression): Remove
1462 __FMA_EXPR handlng.
1463
e4f81565
RS
14642018-05-17 Richard Sandiford <richard.sandiford@linaro.org>
1465
1466 * gimple-parser.c: Include internal-fn.h.
1467 (c_parser_gimple_statement): Treat a leading CPP_DOT as a call.
1468 (c_parser_gimple_call_internal): New function.
1469 (c_parser_gimple_postfix_expression): Use it to handle CPP_DOT.
1470 Fix typos in comment.
1471
79e7b1fe
JJ
14722018-05-10 Jakub Jelinek <jakub@redhat.com>
1473
1474 PR c++/85662
1475 * c-fold.c (c_fully_fold_internal): Use fold_offsetof rather than
1476 fold_offsetof_1, pass TREE_TYPE (expr) as TYPE to it and drop the
1477 fold_convert_loc.
1478 * c-typeck.c (build_unary_op): Use fold_offsetof rather than
1479 fold_offsetof_1, pass argtype as TYPE to it and drop the
1480 fold_convert_loc.
1481
f7584c81
DP
14822018-05-02 David Pagan <dave.pagan@oracle.com>
1483
1484 PR c/30552
1485 * c-decl.c (old_style_parameter_scope): New function.
1486 * c-parser.c (c_parser_postfix_expression): Check for statement
1487 expressions in old-style function parameter list declarations.
1488 * c-parser.h (old_style_parameter_scope): New extern declaration.
1489
b33a0cb3
JJ
14902018-04-25 Jakub Jelinek <jakub@redhat.com>
1491
1492 PR sanitizer/84307
1493 * c-decl.c (build_compound_literal): Call pushdecl (decl) even when
1494 it is not TREE_STATIC.
1495 * c-typeck.c (c_mark_addressable) <case COMPOUND_LITERAL_EXPR>: Mark
1496 not just the COMPOUND_LITERAL_EXPR node itself addressable, but also
1497 its COMPOUND_LITERAL_EXPR_DECL.
1498
c5c5822a
JM
14992018-03-21 Joseph Myers <joseph@codesourcery.com>
1500
1501 * c-parser.c (c_parser_postfix_expression): For __builtin_tgmath
1502 where all functions return the same _FloatN or _FloatNx type,
1503 treat integer types as _Float64 instead of double.
1504
aa1c9429
JJ
15052018-03-21 Jakub Jelinek <jakub@redhat.com>
1506
1507 PR c/84999
1508 * c-typeck.c (build_binary_op): If c_common_type_for_size fails when
1509 building vector comparison, diagnose it and return error_mark_node.
1510
9bb45a95
JJ
15112018-03-15 Jakub Jelinek <jakub@redhat.com>
1512
1513 PR c/84853
1514 * c-typeck.c (build_binary_op) <case RSHIFT_EXPR, case LSHIFT_EXPR>:
1515 If code1 is INTEGER_TYPE, only allow code0 VECTOR_TYPE if it has
1516 INTEGER_TYPE element type.
1517
ada6bad9
DP
15182018-03-13 David Pagan <dave.pagan@oracle.com>
1519
1520 PR c/46921
1521 * c-typeck.c (output_init_element): Ensure field initializer
1522 expression is always evaluated if there are side effects.
1523
849bbdb9
JJ
15242018-03-06 Jakub Jelinek <jakub@redhat.com>
1525
1526 PR c/84721
1527 * c-parser.c (add_debug_begin_stmt): Don't add DEBUG_BEGIN_STMT if
1528 !building_stmt_list_p ().
1529
d74641bd
RS
15302018-02-13 Richard Sandiford <richard.sandiford@linaro.org>
1531
1532 PR c/84305
1533 * c-decl.c (grokdeclarator): Create an anonymous TYPE_DECL
1534 in PARM and TYPENAME contexts too, but attach it to a BIND_EXPR
1535 and include the BIND_EXPR in the list of things that need to be
1536 pre-evaluated.
1537
0444aa9c
NS
15382018-02-09 Nathan Sidwell <nathan@acm.org>
1539
1540 PR c/84293
1541 * c-typeck.c (build_indirect_ref, build_c_cast): Pass expr location
1542 to strict_aliasing_warning.
1543
7c30b12a
PC
15442018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
1545
1546 * c-typeck.c (really_start_incremental_init, push_init_level,
1547 set_nonincremental_init, output_init_element, process_init_element):
1548 Use DECL_UNNAMED_BIT_FIELD.
1549
2be4dfcb
MP
15502018-01-31 Marek Polacek <polacek@redhat.com>
1551
1552 PR c/81779
1553 * c-parser.c (c_parser_compound_statement_nostart): Call
1554 expansion_point_location_if_in_system_header.
1555
bb9869d5
DM
15562018-01-17 David Malcolm <dmalcolm@redhat.com>
1557
1558 PR c++/83814
1559 * c-fold.c (fold_for_warn): Move from c-common.c, reducing to just
1560 the C part.
1561
b4923738
JJ
15622018-01-13 Jakub Jelinek <jakub@redhat.com>
1563
1564 PR c/83801
1565 * c-tree.h (decl_constant_value_1): Add a bool argument.
1566 * c-typeck.c (decl_constant_value_1): Add IN_INIT argument, allow
1567 returning a CONSTRUCTOR if it is true. Use error_operand_p.
1568 (decl_constant_value): Adjust caller.
1569 * c-fold.c (c_fully_fold_internal): If in_init, pass true to
1570 decl_constant_value_1 as IN_INIT. Otherwise, punt if
1571 decl_constant_value returns initializer that has BLKmode or
1572 array type.
1573 (c_fully_fold_internal) <case COMPONENT_REF>: Fold if !lval.
1574
928686b1
RS
15752018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1576 Alan Hayward <alan.hayward@arm.com>
1577 David Sherwood <david.sherwood@arm.com>
1578
1579 * c-typeck.c (comptypes_internal, build_binary_op): Handle polynomial
1580 TYPE_VECTOR_SUBPARTS.
1581
85ec4feb
JJ
15822018-01-03 Jakub Jelinek <jakub@redhat.com>
1583
1584 Update copyright years.
1585
913884f7
JJ
15862018-01-01 Jakub Jelinek <jakub@redhat.com>
1587
1588 PR c/83595
1589 * c-parser.c (c_parser_braced_init, c_parser_initelt,
1590 c_parser_conditional_expression, c_parser_cast_expression,
1591 c_parser_sizeof_expression, c_parser_alignof_expression,
1592 c_parser_postfix_expression, c_parser_omp_declare_reduction,
1593 c_parser_transaction_expression): Use set_error () method instead
1594 of setting value member to error_mark_node.
1595
c6cfa2bf
MM
15962017-12-28 Michael Meissner <meissner@linux.vnet.ibm.com>
1597
1598 * c-decl.c (header_for_builtin_fn): Add integer rounding _Float<N>
1599 and _Float<N>X built-in functions.
1600
11d29d63
JJ
16012017-12-22 Jakub Jelinek <jakub@redhat.com>
1602
14ec014e
JJ
1603 PR debug/83550
1604 * c-decl.c (finish_struct): Set DECL_SOURCE_LOCATION on
1605 TYPE_STUB_DECL and call rest_of_type_compilation before processing
1606 incomplete vars rather than after it.
1607
11d29d63
JJ
1608 PR debug/83547
1609 * c-typeck.c (c_finish_stmt_expr): Ignore !TREE_SIDE_EFFECTS as
1610 indicator of ({ }), instead skip all trailing DEBUG_BEGIN_STMTs first,
1611 and consider empty ones if there are no other stmts. For
1612 -Wunused-value walk all statements before the one only followed by
1613 DEBUG_BEGIN_STMTs.
1614
170a8bd6 16152017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 1616 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
1617
1618 * c-parser.c (c_parser_while_statement): Add unroll parameter and
1619 build ANNOTATE_EXPR if present. Add 3rd operand to ANNOTATE_EXPR.
1620 (c_parser_do_statement): Likewise.
1621 (c_parser_for_statement): Likewise.
1622 (c_parser_statement_after_labels): Adjust calls to above.
1623 (c_parse_pragma_ivdep): New static function.
1624 (c_parser_pragma_unroll): Likewise.
1625 (c_parser_pragma) <PRAGMA_IVDEP>: Add support for pragma Unroll.
1626 <PRAGMA_UNROLL>: New case.
1627
01512446
JJ
16282017-12-19 Jakub Jelinek <jakub@redhat.com>
1629
1630 * c-typeck.c (comptypes_internal, function_types_compatible_p,
1631 perform_integral_promotions, digest_init): Replace Yoda conditions
1632 with typical order conditions.
1633 * c-decl.c (check_bitfield_type_and_width): Likewise.
1634
c65e18d3
BE
16352017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
1636
1637 * c-typeck.c (c_safe_arg_type_equiv_p,
1638 c_safe_function_type_cast_p): New function.
1639 (build_c_cast): Implement -Wcast-function-type.
1640
b7280579
RB
16412017-12-14 Richard Biener <rguenther@suse.de>
1642
1643 PR c/83415
1644 * c-fold.c (c_fully_fold_internal): Treat VIEW_CONVERT_EXPR
1645 like REALPART_EXPR for the behavior of whether its operand
1646 is an lvalue.
1647
49e6a6c0
MP
16482017-12-12 Marek Polacek <polacek@redhat.com>
1649
1650 PR c/82679
1651 * c-decl.c (grokdeclarator): Check declspecs insted of atomicp.
1652
ab20d992 16532017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
1654
1655 * c-objc-common.h (LANG_HOOKS_EMITS_BEGIN_STMT): Redefine as true.
1656 * c-parser.c (add_debug_begin_stmt): New.
1657 (c_parser_declaration_or_fndef): Call it.
1658 (c_parser_compound_statement_nostart): Likewise.
1659 (c_parser_statement_after_labels): Likewise.
1660 * c-typeck (c_finish_stmt_expr): Skip begin stmts markers.
1661
4b2b493f
JM
16622017-12-07 Joseph Myers <joseph@codesourcery.com>
1663
1664 * c-decl.c (build_compound_literal): Add parameter alignas_align
1665 and set alignment of decl if nonzero.
1666 * c-parser.c (c_keyword_starts_typename): Allow RID_ALIGNAS.
1667 (c_parser_declspecs): Allow RID_ALIGNAS to follow a type, like a
1668 qualifier.
1669 (c_parser_struct_declaration): Update syntax comment.
1670 (c_parser_type_name): Add alignas_ok argument and pass it to
1671 c_parser_declspecs.
1672 (c_parser_cast_expression): Pass true to c_parser_type_name and
1673 give error if a cast used an _Alignas specifier.
1674 (c_parser_sizeof_expression): Pass true to c_parser_type_name and
1675 give error if sizeof (type-name) used an _Alignas specifier.
1676 (c_parser_alignof_expression): Pass true to c_parser_type_name and
1677 give error if _Alignof (type-name) used an _Alignas specifier.
1678 (c_parser_postfix_expression_after_paren_type): Check specified
1679 alignment for a compound literal and pass it to
1680 build_compound_literal.
1681 * c-parser.h (c_parser_type_name): Update prototype.
1682 * c-tree.h (build_compound_literal): Update prototype.
1683
5d9ae53d
MS
16842017-12-07 Martin Sebor <msebor@redhat.com>
1685
1686 PR c/81544
1687 * c-decl.c (c_decl_attributes): Look up existing declaration and
1688 pass it to decl_attributes.
1689
c79144f8
DM
16902017-12-06 David Malcolm <dmalcolm@redhat.com>
1691
1692 PR c/83236
1693 * c-decl.c (lookup_name_fuzzy): Don't suggest names that are
1694 reserved for use by the implementation.
1695
613bc14f
DM
16962017-12-06 David Malcolm <dmalcolm@redhat.com>
1697
1698 * c-decl.c: Include "c-family/c-spellcheck.h".
1699
05abad4c
ML
17002017-12-05 Martin Liska <mliska@suse.cz>
1701 Jakub Jelinek <jakub@redhat.com>
1702
1703 * c-typeck.c (pointer_diff): Add new argument and instrument
1704 pointer subtraction.
1705 (build_binary_op): Similar for pointer comparison.
1706
cc6534d4
JJ
17072017-12-01 Jakub Jelinek <jakub@redhat.com>
1708
65791f42
JJ
1709 PR c/79153
1710 * c-parser.c: Include tree-iterator.h.
1711 (c_parser_switch_statement): Emit LABEL_EXPR for the break label
1712 into SWITCH_BODY instead of after it and set SWITCH_BREAK_LABEL_P
1713 on it.
1714
cc6534d4
JJ
1715 PR c/83222
1716 * c-tree.h (decl_constant_value_1): Declare.
1717 * c-typeck.c (decl_constant_value_1): New function.
1718 (decl_constant_value): Use it.
1719 * c-fold.c (c_fully_fold_internal): If in_init, use
1720 decl_constant_value_1 instead of decl_constant_value.
1721
5de73c05
JJ
17222017-11-30 Jakub Jelinek <jakub@redhat.com>
1723
1724 * c-parser.c (c_parser_postfix_expression): Use ; instead of ;;.
1725
058f0b9e
JJ
17262017-11-28 Jakub Jelinek <jakub@redhat.com>
1727
1728 PR sanitizer/81275
1729 * c-typeck.c (c_finish_case): Set SWITCH_ALL_CASES_P if
1730 c_switch_covers_all_cases_p returns true.
1731
5e9d6aa4 17322017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 1733 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
1734
1735 * Make-lang.in (c/c-array-notation.o): Remove.
1736 * c-array-notation.c: Delete.
1737 * c-decl.c: Remove cilkplus condition.
1738 * c-parser.c (c_parser_cilk_simd, c_parser_cilk_for,
1739 c_parser_cilk_verify_simd, c_parser_array_notation,
1740 c_parser_cilk_clause_vectorlength, c_parser_cilk_grainsize,
1741 c_parser_cilk_simd_fn_vector_attrs,
1742 c_finish_cilk_simd_fn_tokens): Delete.
1743 (c_parser_declaration_or_fndef): Remove cilkplus condition.
1744 (c_parser_direct_declarator_inner): Ditto.
1745 (CILK_SIMD_FN_CLAUSE_MASK): Delete.
1746 (c_parser_attributes, c_parser_compound_statement,
1747 c_parser_statement_after_labels, c_parser_if_statement,
1748 c_parser_switch_statement, c_parser_while_statement,
1749 c_parser_do_statement, c_parser_for_statement,
1750 c_parser_unary_expression, c_parser_postfix_expression,
1751 c_parser_postfix_expression_after_primary,
1752 c_parser_pragma, c_parser_omp_clause_name, c_parser_omp_all_clauses,
1753 c_parser_omp_for_loop, c_finish_omp_declare_simd): Remove cilkplus
1754 support.
1755 * c-typeck.c (build_array_ref, build_function_call_vec,
1756 convert_arguments,
1757 lvalue_p, build_compound_expr, c_finish_return, c_finish_if_stmt,
1758 c_finish_loop, build_binary_op): Remove cilkplus support.
1759
9e851845
JJ
17602017-11-28 Jakub Jelinek <jakub@redhat.com>
1761
1762 * c-typeck.c (c_start_case): Build SWITCH_EXPR using build2 instead
1763 of build3.
1764
ab20d992 17652017-11-14 Boris Kolpackov <boris@codesynthesis.com>
8c7dbea9
BK
1766
1767 * Make-lang.in (c.install-plugin): Install backend import library.
1768
41521dee
JJ
17692017-11-23 Jakub Jelinek <jakub@redhat.com>
1770
1771 * c-parser.c (c_parser_omp_declare_simd): Reject declare simd in
1772 pragma_stmt context.
1773
ac9effed
EB
17742017-11-23 Mike Stump <mikestump@comcast.net>
1775 Eric Botcazou <ebotcazou@adacore.com>
1776
1777 * c-parser.c (c_parser_while_statement): Pass 3rd operand to
1778 ANNOTATE_EXPR.
1779 (c_parser_do_statement): Likewise.
1780 (c_parser_for_statement): Likewise.
1781
ce95abc4
DM
17822017-11-22 David Malcolm <dmalcolm@redhat.com>
1783
1784 PR c++/62170
1785 * c-objc-common.c (c_tree_printer): Convert penultimate param from
1786 bool to bool *. Within '%T' handling, if showing an "aka", use
1787 "quoted" param to add appropriate quoting.
1788
974aedcc
MP
17892017-11-22 Marek Polacek <polacek@redhat.com>
1790
1791 PR c++/60336
1792 PR middle-end/67239
1793 PR target/68355
1794 * c-decl.c (grokdeclarator): Set DECL_PADDING_P on unnamed bit-fields.
1795
d4300cc6
DM
17962017-11-21 David Malcolm <dmalcolm@redhat.com>
1797
1798 PR c/83056
1799 * c-decl.c (lookup_name_fuzzy): Don't suggest names that came from
1800 earlier failed lookups.
1801
1af4ebf5
MG
18022017-11-21 Marc Glisse <marc.glisse@inria.fr>
1803
1804 * c-fold.c (c_fully_fold_internal): Handle POINTER_DIFF_EXPR.
1805 * c-typeck.c (pointer_diff): Use POINTER_DIFF_EXPR.
1806
26edace6
DM
18072017-11-20 David Malcolm <dmalcolm@redhat.com>
1808
1809 PR c/81404
1810 * c-decl.c: Include "c-family/known-headers.h".
1811 (get_c_name_hint): Rename to get_stdlib_header_for_name and move
1812 to known-headers.cc.
1813 (class suggest_missing_header): Move to known-header.h.
1814 (lookup_name_fuzzy): Call get_c_stdlib_header_for_name rather
1815 than get_c_name_hint.
1816
b1212255
DM
18172017-11-20 David Malcolm <dmalcolm@redhat.com>
1818
1819 * c-decl.c (get_c_name_hint): New function.
1820 (class suggest_missing_header): New class.
1821 (lookup_name_fuzzy): Call get_c_name_hint and use it to
1822 suggest missing headers to the user.
1823
6c7a259b
DM
18242017-11-20 David Malcolm <dmalcolm@redhat.com>
1825
1826 * c-decl.c: Define INCLUDE_UNIQUE_PTR before including system.h.
1827 Include "c-family/name-hint.h"
1828 (implicit_decl_warning): Convert "hint" from
1829 const char * to name_hint. Pass location to
1830 lookup_name_fuzzy. Suppress any deferred diagnostic if the
1831 warning was not printed.
1832 (undeclared_variable): Likewise for "guessed_id".
1833 (lookup_name_fuzzy): Convert return type from const char *
1834 to name_hint. Add location_t param.
1835 * c-parser.c: Define INCLUDE_UNIQUE_PTR before including system.h.
1836 Include "c-family/name-hint.h"
1837 (c_parser_declaration_or_fndef): Convert "hint" from
1838 const char * to name_hint. Pass location to lookup_name_fuzzy.
1839 (c_parser_parameter_declaration): Likewise.
1840
f9c59f7e
JJ
18412017-11-19 Jakub Jelinek <jakub@redhat.com>
1842
1843 PR c/66618
1844 PR c/69960
1845 * c-parser.c (c_parser_omp_atomic): Pass true as LVAL to c_fully_fold
1846 where needed.
1847 * c-typeck.c (build_unary_op, build_modify_expr, build_asm_expr,
1848 handle_omp_array_sections): Likewise.
1849 (digest_init): Don't call decl_constant_value_for_optimization.
1850 * c-tree.h (decl_constant_value_for_optimization): Removed.
1851 * c-fold.c (c_fold_array_ref): New function.
1852 (c_fully_fold_internal): Add LVAL argument, propagate it through
1853 recursive calls. For VAR_P call decl_constant_value and
1854 unshare if not LVAL and either optimizing or IN_INIT. Remove
1855 decl_constant_value_for_optimization calls. If IN_INIT and not LVAL,
1856 fold ARRAY_REF with STRING_CST and INTEGER_CST operands.
1857 (c_fully_fold): Add LVAL argument, pass it through to
1858 c_fully_fold_internal.
1859 (decl_constant_value_for_optimization): Removed.
1860
3ca0dc60
JM
18612017-11-15 Joseph Myers <joseph@codesourcery.com>
1862
1863 PR c/81156
1864 * c-parser.c (check_tgmath_function): New function.
1865 (enum tgmath_parm_kind): New enum.
1866 (c_parser_postfix_expression): Handle __builtin_tgmath.
1867
64a5912c
DM
18682017-10-31 David Malcolm <dmalcolm@redhat.com>
1869
1870 * c-decl.c (implicit_decl_warning): Update for renaming of
1871 pedwarn_at_rich_loc and warning_at_rich_loc.
1872 (implicitly_declare): Likewise for renaming of inform_at_rich_loc.
1873 (undeclared_variable): Likewise for renaming of error_at_rich_loc.
1874 * c-parser.c (c_parser_declaration_or_fndef): Likewise.
1875 (c_parser_struct_or_union_specifier): Likewise for renaming of
1876 pedwarn_at_rich_loc.
1877 (c_parser_parameter_declaration): Likewise for renaming of
1878 error_at_rich_loc.
1879 * c-typeck.c (build_component_ref): Likewise.
1880 (build_unary_op): Likewise for renaming of inform_at_rich_loc.
1881 (pop_init_level): Likewise for renaming of warning_at_rich_loc.
1882 (set_init_label): Likewise for renaming of error_at_rich_loc.
1883
c1136864
RB
18842017-10-30 Richard Biener <rguenther@suse.de>
1885
1886 * gimple-parser.c (c_parser_gimple_statement): Parse conditional
1887 stmts.
1888
ee5fd23a
MM
18892017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
1890
1891 * c-decl.c (header_for_builtin_fn): Add support for copysign, fma,
1892 fmax, fmin, and sqrt _Float<N> and _Float<N>X variants.
1893
1a59ccf2
DM
18942017-10-25 David Malcolm <dmalcolm@redhat.com>
1895
1896 PR c/7356
1897 * c-parser.c (c_parser_declaration_or_fndef): Detect missing
1898 semicolons.
1899
bc1a75dd
JJ
19002017-10-25 Jakub Jelinek <jakub@redhat.com>
1901
1902 PR libstdc++/81706
1903 * c-decl.c (merge_decls): Copy "omp declare simd" attributes from
1904 newdecl to corresponding __builtin_ if any.
1905
ff1ff960
PC
19062017-10-24 Paolo Carlini <paolo.carlini@oracle.com>
1907
1908 PR c++/82466
1909 * c-decl.c (diagnose_mismatched_decls): Use
1910 OPT_Wbuiltin_declaration_mismatch.
1911
62e1c678
DM
19122017-10-12 David Malcolm <dmalcolm@redhat.com>
1913
1914 * c-parser.c (c_parser_require): Add "type_is_unique" param and
1915 use it to guard calls to maybe_suggest_missing_token_insertion.
1916 (c_parser_parms_list_declarator): Override default value of new
1917 "type_is_unique" param to c_parser_require.
1918 (c_parser_asm_statement): Likewise.
1919 * c-parser.h (c_parser_require): Add "type_is_unique" param,
1920 defaulting to true.
1921
a92f6726
NS
19222017-10-11 Nathan Sidwell <nathan@acm.org>
1923
1924 * c-decl.c (grokdeclarator): Check HAS_DECL_ASSEMBLER_NAME_P too.
1925
8e6cdc90
RS
19262017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
1927
1928 * c-parser.c (c_parser_cilk_clause_vectorlength): Use wi::to_wide when
1929 operating on trees as wide_ints.
1930 * c-typeck.c (build_c_cast, c_finish_omp_clauses): Likewise.
1931 (c_tree_equal): Likewise.
1932
8139a48e
DM
19332017-10-04 David Malcolm <dmalcolm@redhat.com>
1934
1935 * c-decl.c (push_parm_decl): Store c_parm's location into the
1936 PARAM_DECL.
1937 (build_c_parm): Add "loc" param and store it within the c_parm.
1938 * c-parser.c (struct c_parser): Add "last_token_location" field.
1939 (c_parser_consume_token): Store location of the token into the
1940 new field.
1941 (c_parser_declaration_or_fndef): Store params into DECL_ARGUMENTS
1942 when handling a FUNCTION_DECL, if it doesn't already have them.
1943 (c_parser_parameter_declaration): Generate a location for the
1944 parameter, and pass it to the call to build_c_parm.
1945 * c-tree.h (struct c_parm): Add field "loc".
1946 (build_c_parm): Add location_t param.
1947 * c-typeck.c (get_fndecl_argument_location): New function.
1948 (inform_for_arg): New function.
1949 (convert_for_assignment): Use inform_for_arg when dealing with
1950 ic_argpass.
1951
2a389958
JJ
19522017-09-29 Jakub Jelinek <jakub@redhat.com>
1953
7d386d45
JJ
1954 * c-decl.c (grokfield): Use SET_DECL_C_BIT_FIELD here if
1955 width is non-NULL.
1956 (finish_struct): Test DECL_C_BIT_FIELD instead of DECL_INITIAL,
1957 don't SET_DECL_C_BIT_FIELD here.
1958
2a389958
JJ
1959 PR c/82340
1960 * c-decl.c (build_compound_literal): Use c_apply_type_quals_to_decl
1961 instead of trying to set just TREE_READONLY manually.
1962
ebc6a85e
TV
19632017-09-16 Tom de Vries <tom@codesourcery.com>
1964
1965 PR c/81875
1966 * c-parser.c (c_parser_omp_for_loop): Fold only operands of cond, not
1967 cond itself.
1968
bb75facd
JM
19692017-09-15 Joseph Myers <joseph@codesourcery.com>
1970
1971 PR c/82071
1972 * c-typeck.c (ep_convert_and_check): Just call convert_and_check
1973 for C11.
1974 (build_conditional_expr): For C11, generate result with excess
1975 precision when one argument is an integer and the other is of a
1976 type using excess precision.
1977
1d933576
BE
19782017-09-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
1979
1980 * c-typeck.c (build_c_cast): Implement -Wcast-align=strict.
1981
267bbb6f
MP
19822017-09-13 Marek Polacek <polacek@redhat.com>
1983
1984 PR c/82167
1985 * c-typeck.c (c_expr_sizeof_expr): Use the type of expr.value rather
1986 than expr.original_type.
1987
6836632e
NS
19882017-09-12 Nathan Sidwell <nathan@acm.org>
1989
1990 * c-decl.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
1991 resort_sorted_fields): Moved from c-family/c-common.c.
1992 * c-lang.h (struct sorted_fields_type): Moved from c-family/c-common.h.
1993
e035be33
JM
19942017-09-01 Joseph Myers <joseph@codesourcery.com>
1995
1996 PR c/82071
1997 * c-typeck.c (build_atomic_assign): Handle argument with excess
1998 precision. Ensure any EXCESS_PRECISION_EXPR is present in
1999 argument passed to build_binary_op and convert_for_assignment but
2000 not for call to c_fully_fold.
2001 (build_modify_expr): Do not remove EXCESS_PRECISION_EXPR early.
2002 Ensure build_binary_op is called with argument with original
2003 semantic type. Avoid calling c_fully_fold with an
2004 EXCESS_PRECISION_EXPR from build_binary_op.
2005
d2e05fcb
JJ
20062017-09-01 Jakub Jelinek <jakub@redhat.com>
2007
2008 PR c/81887
2009 * c-parser.c (c_parser_omp_ordered): Handle -fopenmp-simd.
2010
b397965c
RS
20112017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2012 Alan Hayward <alan.hayward@arm.com>
2013 David Sherwood <david.sherwood@arm.com>
2014
2015 * c-typeck.c (build_binary_op): Use SCALAR_TYPE_MODE.
2016 (c_common_type): Likewise. Use as_a <scalar_mode> when setting
2017 m1 and m2 to the signed equivalent of a fixed-point
2018 SCALAR_TYPE_MODE.
2019
14e18d71
DM
20202017-08-24 David Malcolm <dmalcolm@redhat.com>
2021
2022 * c-tree.h (c_expr::get_location) Use EXPR_HAS_LOCATION rather
2023 than CAN_HAVE_LOCATION_P when determining whether to use the
2024 location_t value within "value".
2025
7f204c0f
DM
20262017-08-21 David Malcolm <dmalcolm@redhat.com>
2027
2028 * c-parser.c (c_parser_expr_list): Use c_expr::get_location ()
2029 rather than peeking the location of the first token.
2030 * c-tree.h (c_expr::get_location): New method.
2031
2f687306
DM
20322017-08-21 David Malcolm <dmalcolm@redhat.com>
2033
2034 * c-typeck.c (build_function_call_vec): Pass arg_loc to call
2035 to check_function_arguments.
2036
3e7b80d7
MP
20372017-08-18 Marek Polacek <polacek@redhat.com>
2038
2039 * c-parser.c (c_parser_postfix_expression): Remove unused code. Update
2040 commentary.
2041
00aa1fa2
L
20422017-08-18 H.J. Lu <hongjiu.lu@intel.com>
2043
2044 PR c/53037
2045 * c-decl.c (merge_decls): Also merge DECL_WARN_IF_NOT_ALIGN.
2046 (check_bitfield_type_and_width): Don't allow bit-field with
2047 warn_if_not_aligned type.
2048
da67acb9
MS
20492017-08-14 Martin Sebor <msebor@redhat.com>
2050
2051 PR c/81117
2052 * c-objc-common.c (c_objc_common_init): Handle 'G'.
2053
bb85aa74
MP
20542017-08-11 Marek Polacek <polacek@redhat.com>
2055
2056 PR c/81795
2057 * c-decl.c (pushtag): Only print inform if the warning was printed.
2058 (grokdeclarator): Likewise.
2059
32129a17
DM
20602017-08-10 David Malcolm <dmalcolm@redhat.com>
2061
2062 * c-parser.c (c_parser_error): Rename to...
2063 (c_parser_error_richloc): ...this, making static, and adding
2064 "richloc" parameter, passing it to the c_parse_error call,
2065 rather than calling c_parser_set_source_position_from_token.
2066 (c_parser_error): Reintroduce, reimplementing in terms of the
2067 above, converting return type from void to bool.
2068 (class token_pair): New class.
2069 (struct matching_paren_traits): New struct.
2070 (matching_parens): New typedef.
2071 (struct matching_brace_traits): New struct.
2072 (matching_braces): New typedef.
2073 (get_matching_symbol): New function.
2074 (c_parser_require): Add param MATCHING_LOCATION, using it to
2075 highlight matching "opening" tokens for missing "closing" tokens.
2076 (c_parser_skip_until_found): Likewise.
2077 (c_parser_static_assert_declaration_no_semi): Convert explicit
2078 parsing of CPP_OPEN_PAREN and CPP_CLOSE_PAREN to use of
2079 class matching_parens, so that the pertinent open parenthesis is
2080 highlighted when there are problems locating the close
2081 parenthesis.
2082 (c_parser_struct_or_union_specifier): Likewise.
2083 (c_parser_typeof_specifier): Likewise.
2084 (c_parser_alignas_specifier): Likewise.
2085 (c_parser_simple_asm_expr): Likewise.
2086 (c_parser_braced_init): Likewise, for matching_braces.
2087 (c_parser_paren_condition): Likewise, for matching_parens.
2088 (c_parser_switch_statement): Likewise.
2089 (c_parser_for_statement): Likewise.
2090 (c_parser_asm_statement): Likewise.
2091 (c_parser_asm_operands): Likewise.
2092 (c_parser_cast_expression): Likewise.
2093 (c_parser_sizeof_expression): Likewise.
2094 (c_parser_alignof_expression): Likewise.
2095 (c_parser_generic_selection): Likewise.
2096 (c_parser_postfix_expression): Likewise for cases RID_VA_ARG,
2097 RID_OFFSETOF, RID_TYPES_COMPATIBLE_P, RID_AT_SELECTOR,
2098 RID_AT_PROTOCOL, RID_AT_ENCODE, reindenting as necessary.
2099 In case CPP_OPEN_PAREN, pass loc_open_paren to the
2100 c_parser_skip_until_found call.
2101 (c_parser_objc_class_definition): Use class matching_parens as
2102 above.
2103 (c_parser_objc_method_decl): Likewise.
2104 (c_parser_objc_try_catch_finally_statement): Likewise.
2105 (c_parser_objc_synchronized_statement): Likewise.
2106 (c_parser_objc_at_property_declaration): Likewise.
2107 (c_parser_oacc_wait_list): Likewise.
2108 (c_parser_omp_var_list_parens): Likewise.
2109 (c_parser_omp_clause_collapse): Likewise.
2110 (c_parser_omp_clause_default): Likewise.
2111 (c_parser_omp_clause_if): Likewise.
2112 (c_parser_omp_clause_num_threads): Likewise.
2113 (c_parser_omp_clause_num_tasks): Likewise.
2114 (c_parser_omp_clause_grainsize): Likewise.
2115 (c_parser_omp_clause_priority): Likewise.
2116 (c_parser_omp_clause_hint): Likewise.
2117 (c_parser_omp_clause_defaultmap): Likewise.
2118 (c_parser_oacc_single_int_clause): Likewise.
2119 (c_parser_omp_clause_ordered): Likewise.
2120 (c_parser_omp_clause_reduction): Likewise.
2121 (c_parser_omp_clause_schedule): Likewise.
2122 (c_parser_omp_clause_num_teams): Likewise.
2123 (c_parser_omp_clause_thread_limit): Likewise.
2124 (c_parser_omp_clause_aligned): Likewise.
2125 (c_parser_omp_clause_linear): Likewise.
2126 (c_parser_omp_clause_safelen): Likewise.
2127 (c_parser_omp_clause_simdlen): Likewise.
2128 (c_parser_omp_clause_depend): Likewise.
2129 (c_parser_omp_clause_map): Likewise.
2130 (c_parser_omp_clause_device): Likewise.
2131 (c_parser_omp_clause_dist_schedule): Likewise.
2132 (c_parser_omp_clause_proc_bind): Likewise.
2133 (c_parser_omp_clause_uniform): Likewise.
2134 (c_parser_omp_for_loop): Likewise.
2135 (c_parser_cilk_clause_vectorlength): Likewise.
2136 (c_parser_cilk_clause_linear): Likewise.
2137 (c_parser_transaction_expression): Likewise.
2138 * c-parser.h (c_parser_require): Add param matching_location with
2139 default UNKNOWN_LOCATION.
2140 (c_parser_error): Convert return type from void to bool.
2141 (c_parser_skip_until_found): Add param matching_location with
2142 default UNKNOWN_LOCATION.
2143
30af3a2b
MP
21442017-08-09 Marek Polacek <polacek@redhat.com>
2145
2146 * c-decl.c (build_enumerator): Use true/false instead of 1/0.
2147 * c-tree.h (build_external_ref): Update declaration.
2148 * c-typeck.c (build_array_ref): Use true/false instead of 1/0.
2149 (build_external_ref): Change the type of a parameter to bool.
2150 (parser_build_binary_op): Use true/false instead of 1/0.
2151 (pointer_diff): Likewise.
2152 (build_modify_expr): Likewise.
2153 (set_designator): Change the type of a parameter to bool.
2154 (set_init_index): Use true/false instead of 1/0.
2155 (set_init_label): Likewise.
2156 (output_init_element): Change the type of a parameter to bool.
2157 (output_pending_init_elements): Use true/false instead of 1/0.
2158 (process_init_element): Likewise.
2159 (build_binary_op): Change the type of a parameter to bool.
2160
296c53ac
MP
21612017-08-09 Marek Polacek <polacek@redhat.com>
2162
2163 PR c/81233
2164 * c-typeck.c (pedwarn_init): Make the function take a variable list.
2165 Call emit_diagnostic_valist instead of pedwarn.
2166 (convert_for_assignment): Unroll the PEDWARN_FOR_ASSIGNMENT macro.
2167 Print the relevant types in diagnostics.
2168
a32c8316
MP
21692017-08-09 Marek Polacek <polacek@redhat.com>
2170
2171 PR c/81417
2172 * c-array-notation.c (fix_builtin_array_notation_fn): Update calls to
ab20d992 2173 build_conditional_expr.
a32c8316
MP
2174 * c-parser.c (c_parser_conditional_expression): Create locations for
2175 EXP1 and EXP2 from their source ranges. Pass the locations down to
2176 build_conditional_expr.
2177 * c-tree.h (build_conditional_expr): Update declaration.
2178 * c-typeck.c (build_conditional_expr): Add location_t parameters.
2179 For -Wsign-compare, also print the types.
2180
314e6352
ML
21812017-08-08 Martin Liska <mliska@suse.cz>
2182
2183 * c-convert.c: Include header files.
2184 * c-typeck.c: Likewise.
2185
577eec56
ML
21862017-08-07 Martin Liska <mliska@suse.cz>
2187
2188 * c-parser.c (c_parser_attributes): Canonicalize name of an
2189 attribute.
2190
f7b6353a
MP
21912017-08-02 Marek Polacek <polacek@redhat.com>
2192
2193 PR c/81289
2194 * c-parser.c (c_parser_unary_expression): Use set_error.
2195
8a6eab34
MP
2196 PR c/81448
2197 PR c/81306
2198 * c-warn.c (warn_for_multistatement_macros): Prevent bogus
2199 warnings. Avoid walking MACRO_MAP_LOCATIONS.
2200
ab20d992 22012017-07-31 Jan Hubicka <hubicka@ucw.cz>
7fef86d3
JH
2202 Martin Liska <mliska@suse.cz>
2203
2204 * c-typeck.c (c_finish_goto_label): Build gimple predict
f7b6353a 2205 statement.
7fef86d3 2206
f34ebeb2
ML
22072017-07-31 Martin Liska <mliska@suse.cz>
2208
2209 PR sanitize/81530
2210 * c-convert.c (convert): Guard condition with flag_sanitize_p
2211 also with current_function_decl non-null equality.
2212 * c-decl.c (grokdeclarator): Likewise.
2213 * c-typeck.c (build_binary_op): Likewise.
2214
8595f67b
MP
22152017-07-25 Marek Polacek <polacek@redhat.com>
2216
2217 * c-decl.c (grokfield): Remove local variable.
2218
d49718d6
MP
22192017-07-25 Marek Polacek <polacek@redhat.com>
2220
2221 PR c/81364
2222 * c-parser.c (c_parser_else_body): Don't warn about multistatement
2223 macro expansion if the body is in { }.
2224 (c_parser_while_statement): Likewise.
2225 (c_parser_for_statement): Likewise.
2226
ff22eb12
NS
22272017-07-18 Nathan Sidwell <nathan@acm.org>
2228
2229 * c-parser.c (c_parser_array_notation): Use TYPE_{MIN,MAX}_VALUE.
2230
eea77d1f
DM
22312017-07-14 David Malcolm <dmalcolm@redhat.com>
2232
2233 * c-decl.c (implicitly_declare): When suggesting a missing
2234 #include, provide a fix-it hint.
2235
b6f43128
DM
22362017-07-06 David Malcolm <dmalcolm@redhat.com>
2237
2238 * c-lang.c (selftest::run_c_tests): Move body to c_family_tests,
2239 and call that instead.
2240 * c-tree.h (selftest::run_c_tests): New decl.
2241
3e2becc4
MP
22422017-06-26 Marek Polacek <polacek@redhat.com>
2243
2244 PR c/80116
2245 * c-parser.c (c_parser_if_body): Set the location of the
2246 body of the conditional after parsing all the labels. Call
2247 warn_for_multistatement_macros.
2248 (c_parser_else_body): Likewise.
2249 (c_parser_switch_statement): Likewise.
2250 (c_parser_while_statement): Likewise.
2251 (c_parser_for_statement): Likewise.
2252 (c_parser_statement): Add a default argument. Save the location
2253 after labels have been parsed.
2254 (c_parser_c99_block_statement): Likewise.
2255
343ae898
RB
22562017-06-19 Richard Biener <rguenther@suse.de>
2257
2258 * gimple-parser.c (c_parser_gimple_postfix_expression): Handle
2259 negated _Literals to parse _Literal (int) -1.
2260
45b2222a
ML
22612017-06-13 Martin Liska <mliska@suse.cz>
2262
2263 PR sanitize/78204
2264 * c-convert.c (convert): Use sanitize_flags_p.
2265 * c-decl.c (grokdeclarator): Likewise.
2266 * c-typeck.c (convert_for_assignment): Likewise.
2267 (c_finish_return): Likewise.
2268 (build_binary_op): Likewise.
2269
8ab7005b
JJ
22702017-06-08 Jakub Jelinek <jakub@redhat.com>
2271
2272 PR c/81006
2273 * c-typeck.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE
2274 to sizetype before size_binop.
2275
363dc72c
JJ
22762017-06-07 Jakub Jelinek <jakub@redhat.com>
2277
2278 * gimple-parser.c (c_parser_parse_gimple_body): Use TDI_gimple instead
2279 of TDI_generic.
2280
dc949728
MP
22812017-06-06 Marek Polacek <polacek@redhat.com>
2282
2283 PR c/79983
2284 * c-decl.c (start_struct): Use the location of TYPE_STUB_DECL of
2285 ref.
2286 (start_enum): Use the location of TYPE_STUB_DECL of enumtype.
2287
40ffd95f
BE
22882017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2289
2290 * c-parser.c (c_parser_binary_expression): Implement the
2291 -Wsizeof_pointer_div warning.
2292 (c_parser_postfix_expression): Allow SIZEOF_EXPR as expr.original_code
2293 from a parenthesized expression.
2294 (c_parser_expr_list): Use c_last_sizeof_loc.
2295 * c-tree.h (c_last_sizeof_loc): New external.
2296 * c-typeck.c (c_last_sizeof_loc): New variable.
2297 (c_expr_sizeof_expr, c_expr_sizeof_type): Assign c_last_sizeof_loc.
2298
9fc5e7a4
MM
22992017-05-31 Mikhail Maltsev <maltsevm@gmail.com>
2300
2301 PR testsuite/80580
2302 * gimple-parser.c (c_parser_gimple_if_stmt): Check for empty labels.
2303
f012c8ef
DM
23042017-05-30 David Malcolm <dmalcolm@redhat.com>
2305
2306 * c-objc-common.c (c_tree_printer): Gain bool and const char **
2307 parameters.
2308
3cd211af
MS
23092017-05-24 Martin Sebor <msebor@redhat.com>
2310
2311 PR c/80731
2312 * c-fold.c (c_fully_fold_internal): Adjust.
2313 * c-typeck.c (parser_build_unary_op): Adjust.
2314
fd71a9a2
TS
23152017-05-23 Thomas Schwinge <thomas@codesourcery.com>
2316
2317 * c-parser.c (OACC_KERNELS_CLAUSE_MASK): Add
2318 "PRAGMA_OACC_CLAUSE_NUM_GANGS", "PRAGMA_OACC_CLAUSE_NUM_WORKERS",
2319 "VECTOR_LENGTH".
2320
92fa0f9e
MP
23212017-05-23 Marek Polacek <polacek@redhat.com>
2322
2323 * c-parser.c (c_parser_compound_statement_nostart): Remove redundant
2324 quotes.
2325
d11c168a
JJ
23262017-05-22 Jakub Jelinek <jakub@redhat.com>
2327
2328 * c-fold.c (c_fully_fold_internal): Save the c_fully_fold_internal
2329 result for SAVE_EXPR operand and set SAVE_EXPR_FOLDED_P even if
2330 it returned invariant. Call tree_invariant_p unconditionally
2331 afterwards to decide whether to return expr or op0.
2332
58aca9d9
NS
23332017-05-22 Nathan Sidwell <nathan@acm.org>
2334
2335 * c-decl.c (c_parse_final_cleanups): Drop TDI_tu handling.
2336
7fd549d2
TS
23372017-05-19 Thomas Schwinge <thomas@codesourcery.com>
2338
2339 * c-parser.c (c_parser_omp_clause_default): Handle
2340 "OMP_CLAUSE_DEFAULT_PRESENT".
2341
6ecd2339
BE
23422017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
2343
2344 * config-lang.in (gtfiles): Add c-family/c-format.c.
2345
8a57ecff
NS
23462017-05-18 Nathan Sidwell <nathan@acm.org>
2347
2348 * c-decl.c (pushdecl_top_level): Delete unused function.
2349
6574d78e
MP
23502017-05-18 Marek Polacek <polacek@redhat.com>
2351
2352 * c-decl.c (match_builtin_function_types): Use NULL_TREE instead of 0.
2353 (check_earlier_gotos): Likewise.
2354 (define_label): Likewise.
2355 (pending_xref_error): Likewise.
2356 (smallest_type_quals_location): Likewise.
2357 (grokdeclarator): Likewise.
2358 (grokparms): Likewise.
2359 (identifier_global_value): Likewise.
2360 * c-typeck.c (set_nonincremental_init_from_string): Likewise.
2361 (find_init_member): Likewise.
2362
e3455240
MP
23632017-05-18 Marek Polacek <polacek@redhat.com>
2364
2365 * c-decl.c (start_decl): Use false/true instead of 0/1.
2366 (grokdeclarator): Likewise.
2367 (finish_struct): Likewise.
2368 (start_function): Change the return type to bool. Use false/true
2369 instead of 0/1.
2370 (declspecs_add_qual): Use UNKNOWN_LOCATION instead of 0.
2371 * c-tree.h (start_function): Update.
2372 * c-typeck.c (same_translation_unit_p): Change the return type to bool.
2373 (set_designator): Change the return type to bool. Use false/true
2374 instead of 0/1.
2375
3fa8871b
MP
23762017-05-17 Marek Polacek <polacek@redhat.com>
2377
2378 * c-decl.c: Use NULL_TREE instead of 0 where appropriate.
2379 * c-typeck.c: Likewise.
2380
142473df
MP
23812017-05-17 Marek Polacek <polacek@redhat.com>
2382
2383 PR sanitizer/80659
2384 * c-decl.c (build_compound_literal): Set DECL_ARTIFICIAL and
2385 DECL_IGNORED_P even for non-static compound literals.
2386
1a817418
ML
23872017-05-17 Martin Liska <mliska@suse.cz>
2388
2389 * c-decl.c (c_parse_final_cleanups): Introduce dump_flags_t type and
2390 use it instead of int type.
2391
b2fa0a8b
MP
23922017-05-17 Marek Polacek <polacek@redhat.com>
2393
2394 * c-convert.c (convert): Replace c_save_expr with save_expr. Don't
2395 call c_fully_fold.
2396 (convert) <case COMPLEX_TYPE>: Remove special handling of COMPLEX_TYPEs.
ab20d992 2397 * c-decl.c (grokdeclarator): Replace c_save_expr with save_expr.
b2fa0a8b
MP
2398 * c-fold.c (c_fully_fold_internal): Handle SAVE_EXPR.
2399 * c-parser.c (c_parser_declaration_or_fndef): Replace c_save_expr with
2400 save_expr.
2401 (c_parser_conditional_expression): Likewise.
2402 * c-tree.h (SAVE_EXPR_FOLDED_P): Define.
2403 * c-typeck.c (build_modify_expr): Replace c_save_expr with save_expr.
2404 (process_init_element): Likewise.
2405 (build_binary_op): Likewise.
2406 (handle_omp_array_sections_1): Likewise.
2407
1e47f02b
TS
24082017-05-12 Thomas Schwinge <thomas@codesourcery.com>
2409
2410 * c-parser.c (c_parser_omp_clause_num_gangs)
2411 (c_parser_omp_clause_num_workers)
2412 (c_parser_omp_clause_vector_length): Merge functions into...
2413 (c_parser_oacc_single_int_clause): ... this new function. Adjust
2414 all users.
2415
c24e924f
NS
24162017-05-11 Nathan Sidwell <nathan@acm.org>
2417
2418 * gimple-parser.c: Don't #include tree-dump.h.
2419
c587104e
MM
24202017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
2421
2422 PR testsuite/80580
2423 * gimple-parser.c (c_parser_parse_ssa_name): Validate SSA name base.
2424
67ac9a9d
MM
24252017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
2426
2427 PR testsuite/80580
2428 * gimple-parser.c (c_parser_gimple_postfix_expression): Handle
2429 incorrect __MEM syntax.
2430
ac4eb40f
MM
24312017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
2432
2433 PR testsuite/80580
2434 * gimple-parser.c (c_parser_gimple_unary_expression): Check argument
2435 type of unary '*'.
2436
641da50a
NS
24372017-05-09 Nathan Sidwell <nathan@acm.org>
2438
2439 * c-tree.h (pushdecl): Declare.
2440
56d35585
DM
24412017-05-05 David Malcolm <dmalcolm@redhat.com>
2442
2443 * c-decl.c (warn_defaults_to): Replace report_diagnostic
2444 with diagnostic_report_diagnostic.
2445 * c-errors.c (pedwarn_c99): Likewise.
2446 (pedwarn_c90): Likewise.
2447
815d9cc6
XR
24482017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
2449
92a285c1 2450 PR c++/80038
815d9cc6
XR
2451 * c-gimplify.c (c_gimplify_expr): Remove calls to
2452 cilk_gimplifY_call_params_in_spawned_fn.
2453
1c4ea66f
DM
24542017-04-25 David Malcolm <dmalcolm@redhat.com>
2455
2456 * c-parser.c (c_parser_struct_or_union_specifier): Add fix-it
2457 hint for removing extra semicolon.
2458
666f7903
JJ
24592017-04-21 Jakub Jelinek <jakub@redhat.com>
2460
2461 PR c/80468
2462 * c-decl.c (finish_declspecs) <case cts_int_n>: If int_n_idx is not
2463 enabled, set specs->type to integer_type_node.
2464
5764ee3c
JW
24652017-04-03 Jonathan Wakely <jwakely@redhat.com>
2466
2467 * c-array-notation.c: Fix typo in comment.
2468
10fa8dfb
MP
24692017-03-29 Marek Polacek <polacek@redhat.com>
2470
2471 PR c/79730
2472 * c-decl.c (finish_decl): Check VAR_P.
2473
a9e4a1a5
JJ
24742017-03-27 Jakub Jelinek <jakub@redhat.com>
2475
2476 PR middle-end/80162
2477 * c-tree.h (c_mark_addressable): Add array_ref_p argument.
2478 * c-typeck.c (c_mark_addressable): Likewise. Look through
2479 VIEW_CONVERT_EXPR unless array_ref_p and VCE is from VECTOR_TYPE
2480 to ARRAY_TYPE.
2481 (build_array_ref): Pass true as array_ref_p to c_mark_addressable.
2482
ee3ff394
MP
24832017-03-23 Marek Polacek <polacek@redhat.com>
2484
2485 * c-tree.h: Remove a C_RID_YYCODE reference.
2486
4d1b8e70
JJ
24872017-03-21 Jakub Jelinek <jakub@redhat.com>
2488
2489 PR c/80097
2490 * c-typeck.c (build_binary_op): Add EXCESS_PRECISION_EXPR only around
2491 optional COMPOUND_EXPR with ubsan instrumentation.
2492
31dc71a8
MP
24932017-03-17 Marek Polacek <polacek@redhat.com>
2494
2495 * c-parser.c: Add C11 references.
2496
d579c385
MP
24972017-03-15 Marek Polacek <polacek@redhat.com>
2498
2499 * c-parser.c (c_parser_enum_specifier): Remove redundant line.
2500
85059a38
MP
25012017-03-11 Marek Polacek <polacek@redhat.com>
2502
2503 * c-decl.c (implicit_decl_warning): Add a comment. Fix formatting.
2504
2f6f187a
DM
25052017-03-10 David Malcolm <dmalcolm@redhat.com>
2506
2507 PR translation/79848
2508 * c-decl.c (declspecs_add_type): Simplify uses of "%<%s%>" to
2509 "%qs".
2510 * c-parser.c (c_parser_oacc_shape_clause): Likewise.
2511
36618428
MP
25122017-03-09 Marek Polacek <polacek@redhat.com>
2513
2514 PR sanitizer/79757
2515 * c-parser.c (c_parser_declaration_or_fndef): Don't sanitize old-style
2516 parameter declarations with initializers.
2517
01e5af5a
JJ
25182017-03-09 Jakub Jelinek <jakub@redhat.com>
2519
2520 PR c/79969
2521 * c-decl.c (start_enum): Adjust DECL_SOURCE_LOCATION of
2522 TYPE_STUB_DECL.
2523
a71dbc63
JJ
25242017-03-07 Jakub Jelinek <jakub@redhat.com>
2525
2526 PR c/79834
2527 * c-parser.c (c_parser_pragma): Use error_at instead of c_parser_error
2528 for "may only be used in compound statements" diagnostics, change it
2529 such that the same translatable string is used for all pragmas. For
2530 PRAGMA_OACC_WAIT use "acc wait" rather than "acc enter data" in the
2531 diagnostics.
2532 (c_parser_omp_cancellation_point, c_parser_omp_target_update,
2533 c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Change
2534 "may only be used in compound statements" diagnostics, such that the
2535 same translatable string is used for all pragmas.
2536
1ff4bae6
MP
25372017-03-04 Marek Polacek <polacek@redhat.com>
2538
2539 PR c/79847
2540 * c-decl.c (implicit_decl_warning): Add missing space.
2541
7f5a7d78
MP
25422017-03-03 Marek Polacek <polacek@redhat.com>
2543
2544 PR c/79758
2545 * c-decl.c (store_parm_decls_oldstyle): Check if the element of
2546 current_function_prototype_arg_types is error_mark_node. Fix
2547 formatting. Use TREE_VALUE instead of TREE_TYPE.
2548
883c8f06
JJ
25492017-03-03 Jakub Jelinek <jakub@redhat.com>
2550
79c9b7a8
JJ
2551 PR c/79837
2552 * c-parser.c (c_parser_omp_clause_reduction): Don't mention
2553 %<min%> or %<max%> in the diagnostics, instead mention identifier.
2554 (c_parser_omp_declare_reduction): Don't mention %<min%> in the
2555 diagnostics.
2556
883c8f06
JJ
2557 PR c/79836
2558 * c-parser.c (c_parser_generic_selection): Use %<_Generic%>
2559 instead of %<_Generic>.
2560 (c_parser_omp_ordered): Use %<depend%> instead of %<depend>.
2561 (c_parser_omp_target_exit_data): Use %<release%> instead of
2562 %<release>.
2563
324ff1a0
JJ
25642017-02-28 Jakub Jelinek <jakub@redhat.com>
2565
2566 * c-parser.c (c_parser_asm_statement): Use cond ? G_("...") : G_("...")
2567 instead of just cond ? "..." : "...".
2568 (c_parser_oacc_enter_exit_data): Use %s and ternary operator only
2569 for "enter"/"exit" keyword.
2570 (c_finish_oacc_routine): Don't use %s to supply portions of the
2571 message.
2572
4227c9ad
JJ
25732017-02-24 Jakub Jelinek <jakub@redhat.com>
2574
2575 PR c++/79588
2576 * c-parser.c (c_parser_postfix_expression_after_primary): Don't
2577 handle -Wrestrict here.
2578 * c-typeck.c (build_function_call_vec): Adjust
2579 check_function_arguments caller.
2580
5d972e66
RB
25812017-02-23 Richard Biener <rguenther@suse.de>
2582
2583 PR c/79684
2584 * gimple-parser.c (c_parser_gimple_statement): Use set_error
2585 to initialize c_exprs to return.
2586 (c_parser_gimple_binary_expression): Likewise.
2587 (c_parser_gimple_unary_expression): Likewise.
2588 (c_parser_gimple_postfix_expression): Likewise.
2589
61ac5ebe
MP
25902017-02-22 Marek Polacek <polacek@redhat.com>
2591
2592 PR c/79662
2593 * c-typeck.c (convert_arguments): Handle error_mark_node.
2594
41d1b0b1
PK
25952017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2596
2597 * gimple-parser.c (c_parser_gimple_postfix_expression): Check return
2598 value of c_parser_parse_ssa_name against error_mark_node and emit
2599 error if ssa name is anonymous and written as default definition.
2600
eab1f169
PK
26012017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2602
2603 * gimple-parser.c (c_parser_gimple_postfix_expression): Handle
2604 FMA_EXPR.
2605
bcac0b4d
JJ
26062017-02-16 Jakub Jelinek <jakub@redhat.com>
2607
2608 PR c++/79512
2609 * c-parser.c (c_parser_omp_target): For -fopenmp-simd
2610 ignore #pragma omp target even when not followed by identifier.
2611
1be33173
PK
26122017-02-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2613
2614 * gimpler-parser.c (c_parser_gimple_statement): Handle ABS_EXPR.
2615 (c_parser_gimple_unary_expression): Likewise.
2616
aa326bfb
JJ
26172017-02-13 Jakub Jelinek <jakub@redhat.com>
2618
2619 * c-parser.c (c_parser_oacc_declare): Add missing space in
2620 diagnostics.
2621
8a398bc5
PK
26222017-02-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2623
2624 PR c/79478
2625 * gimple-parser.c (c_parser_gimple_postfix_expression): Call
2626 set_c_expr_source_range when parsing ssa-name.
2627
3dcde5ef 26282017-02-10 Prasad Ghangal <prasad.ghangal@gmail.com>
ab20d992 2629 Richard Biener <rguenther@suse.de>
3dcde5ef
PG
2630
2631 * gimple-parser.c (c_parser_gimple_binary_expression): Avoid
2632 building IL when arguments are error_mark_node.
2633 (c_parser_gimple_unary_expression): Likewise.
2634 (c_parser_gimple_if_stmt): Likewise.
2635 (c_parser_gimple_switch_stmt): Likewise.
2636 (c_parser_gimple_return_stmt): Likewise.
2637 (c_parser_parse_ssa_name): When name lookup fails do not build
2638 an SSA name. Use undeclared rather than not declared in error
2639 reporting.
2640
192b048b
MP
26412017-02-09 Marek Polacek <polacek@redhat.com>
2642
2643 PR c/79428
2644 * c-parser.c (c_parser_omp_ordered): Call c_parser_skip_to_pragma_eol
2645 instead of c_parser_skip_until_found.
2646
56f71478
JJ
26472017-02-09 Jakub Jelinek <jakub@redhat.com>
2648
2649 PR c/79431
2650 * c-parser.c (c_parser_omp_declare_target): Don't invoke
2651 symtab_node::get on automatic variables.
2652
02889d23
CLT
26532016-02-09 Nathan Sidwell <nathan@codesourcery.com>
2654 Chung-Lin Tang <cltang@codesourcery.com>
2655
2656 * c-parser.c (c_parser_omp_clause_collapse): Disallow tile.
2657 (c_parser_oacc_clause_tile): Disallow collapse. Fix parsing and
2658 semantic checking.
2659 * c-parser.c (c_parser_omp_for_loop): Accept tiling constructs.
2660
7af4b20d
RB
26612017-02-07 Richard Biener <rguenther@suse.de>
2662
2663 * gimple-parser.c (c_parser_gimple_expr_list): Simplify.
2664 (c_parser_gimple_postfix_expression_after_primary):
2665 Do not use c_build_function_call_vec to avoid folding and promotion.
2666 Simplify.
2667
e5e391d6
MO
26682017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
2669
2670 PR lto/79061
2671 * c-decl.c (pop_scope): Pass main_input_filename to
2672 build_translation_unit_decl.
2673
c2e84327
DM
26742017-01-24 David Malcolm <dmalcolm@redhat.com>
2675
2676 * c-parser.c: Include "read-rtl-function.h" and
2677 "run-rtl-passes.h".
2678 (c_parser_declaration_or_fndef): Rename "gimple-pass-list" in
2679 grammar to gimple-or-rtl-pass-list. Add rtl-function-definition
2680 production. Update for renaming of field "gimple_pass" to
2681 "gimple_or_rtl_pass". If __RTL was seen, call
2682 c_parser_parse_rtl_body. Convert a timevar_push/pop pair
2683 to an auto_timevar, to cope with early exit.
2684 (c_parser_declspecs): Update RID_GIMPLE handling for renaming of
2685 field "gimple_pass" to "gimple_or_rtl_pass", and for renaming of
2686 c_parser_gimple_pass_list to c_parser_gimple_or_rtl_pass_list.
2687 Handle RID_RTL.
2688 (c_parser_parse_rtl_body): New function.
2689 * c-tree.h (enum c_declspec_word): Add cdw_rtl.
2690 (struct c_declspecs): Rename field "gimple_pass" to
2691 "gimple_or_rtl_pass". Add field "rtl_p".
2692 * gimple-parser.c (c_parser_gimple_pass_list): Rename to...
2693 (c_parser_gimple_or_rtl_pass_list): ...this, updating accordingly.
2694 * gimple-parser.h (c_parser_gimple_pass_list): Rename to...
2695 (c_parser_gimple_or_rtl_pass_list): ...this.
2696
2ebd93e1
MP
26972017-01-20 Marek Polacek <polacek@redhat.com>
2698
2699 PR c/64279
2700 * c-typeck.c (build_conditional_expr): Warn about duplicated branches.
2701
b1c95bb5
RB
27022017-01-13 Richard Biener <rguenther@suse.de>
2703
2704 * gimple-parser.c (c_parser_gimple_compound_statement): Handle
2705 nops.
2706
25329913
RB
27072017-01-13 Richard Biener <rguenther@suse.de>
2708
2709 * gimple-parser.c (c_parser_gimple_postfix_expression): Parse
2710 _Literal ( type-name ) number.
2711
6bb4ea5c
RB
27122017-01-12 Richard Biener <rguenther@suse.de>
2713
2714 * gimple-parser.c (c_parser_gimple_postfix_expression): Parse
2715 __MEM.
2716
6b5b4e9c
JJ
27172017-01-11 Jakub Jelinek <jakub@redhat.com>
2718
2719 PR c++/72813
2720 * c-decl.c (pop_file_scope): Set flag_syntax_only to 1 after writing
2721 PCH file.
2722
e3252775
RB
27232017-01-11 Richard Biener <rguenther@suse.de>
2724
2725 PR bootstrap/79052
2726 * gimple-parser.c (c_parser_gimple_switch_stmt): Add missing
2727 returns on parse errors.
2728
a9342885
MP
27292017-01-04 Marek Polacek <polacek@redhat.com>
2730
2731 PR c++/64767
2732 * c-parser.c (c_parser_postfix_expression): Mark zero character
2733 constants by setting original_type in c_expr.
2734 * c-typeck.c (parser_build_binary_op): Warn when a pointer is compared
2735 with a zero character constant.
2736 (char_type_p): New function.
2737
5dd9a9d0
DM
27382017-01-04 David Malcolm <dmalcolm@redhat.com>
2739
2740 * c-parser.c (c_parser_declaration_or_fndef): Create a
2741 rich_location at init_loc and parse it to start_init.
2742 (last_init_list_comma): New global.
2743 (c_parser_braced_init): Update last_init_list_comma when parsing
2744 commas. Pass it to pop_init_level. Pass location of closing
2745 brace to pop_init_level.
2746 (c_parser_postfix_expression_after_paren_type): Create a
2747 rich_location at type_loc and parse it to start_init.
2748 (c_parser_omp_declare_reduction): Likewise for loc.
2749 * c-tree.h (start_init): Add rich_location * param.
2750 (pop_init_level): Add location_t param.
2751 * c-typeck.c (struct initializer_stack): Add field
2752 "missing_brace_richloc".
2753 (start_init): Add richloc param, use it to initialize
2754 the stack node's missing_brace_richloc.
2755 (last_init_list_comma): New decl.
2756 (finish_implicit_inits): Pass last_init_list_comma to
2757 pop_init_level.
2758 (push_init_level): When finding missing open braces, add fix-it
2759 hints to the richloc.
2760 (pop_init_level): Add "insert_before" param and pass it
2761 when calling pop_init_level. Add fixits about missing
2762 close braces to any richloc. Use the richloc for the
2763 -Wmissing-braces warning.
2764 (set_designator): Pass last_init_list_comma to pop_init_level.
2765 (process_init_element): Likewise.
2766
cbe34bb5
JJ
27672017-01-01 Jakub Jelinek <jakub@redhat.com>
2768
2769 Update copyright years.
2770
d17680f3
JJ
27712016-12-21 Jakub Jelinek <jakub@redhat.com>
2772
0dba7960
JJ
2773 PR bootstrap/78817
2774 * c-typeck.c (build_function_call_vec): If check_function_arguments
2775 returns true, set TREE_NO_WARNING on CALL_EXPR.
2776
d17680f3
JJ
2777 PR c/77767
2778 * c-decl.c (grokdeclarator): If *expr is non-NULL, append expression
2779 to *expr instead of overwriting it.
2780
aa90531e
RB
27812016-12-20 Richard Biener <rguenther@suse.de>
2782
2783 * gimple-parser.c (c_parser_gimple_compound_statement): Improve
2784 error recovery.
2785 (c_parser_gimple_statement): Only build assigns for non-error
2786 stmts.
2787 (c_parser_gimple_postfix_expression_after): Improve error recovery.
2788
629b3d75
MJ
27892016-12-14 Martin Jambor <mjambor@suse.cz>
2790
2791 * c-parser.c: Include omp-general.h and omp-offload.h instead of
2792 omp-low.h.
2793 (c_finish_oacc_routine): Adjusted call to
2794 get_oacc_fn_attrib, build_oacc_routine_dims and replace_oacc_fn_attrib
2795 to use their new names.
2796 (c_parser_oacc_enter_exit_data): Adjusted call to find_omp_clause to
2797 use its new name.
2798 (c_parser_oacc_update): Likewise.
2799 (c_parser_omp_simd): Likewise.
2800 (c_parser_omp_target_update): Likewise.
2801 * c-typeck.c: Include omp-general.h instead of omp-low.h.
2802 (c_finish_omp_cancel): Adjusted call to find_omp_clause to use its new
2803 name.
2804 (c_finish_omp_cancellation_point): Likewise.
2805 * gimple-parser.c: Do not include omp-low.h
2806
c5af52eb
CP
28072016-12-02 Cesar Philippidis <cesar@codesourcery.com>
2808 James Norris <jnorris@codesourcery.com>
2809
2810 * c-parser.c (c_parser_pragma): Error when PRAGMA_OACC_{ENTER_DATA,
2811 EXIT_DATA,WAIT} are not used in compound statements.
2812 (c_parser_oacc_enter_exit_data): Update diagnostics.
2813
48330c93
BE
28142016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2815
2816 PR c++/71973
2817 * c-decl.c (diagnose_mismatched_decls): Use
2818 OPT_Wbuiltin_declaration_mismatch here too.
2819
899ca90e 28202016-11-18 Richard Sandiford <richard.sandiford@arm.com>
48330c93
BE
2821 Alan Hayward <alan.hayward@arm.com>
2822 David Sherwood <david.sherwood@arm.com>
899ca90e
RS
2823
2824 * c-decl.c (merge_decls): Use SET_DECL_MODE.
2825 (make_label, finish_struct): Likewise.
2826
1ee62b92 28272016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17 2828 Richard Biener <rguenther@suse.de>
22b15758 2829
8e745a17
JJ
2830 * Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o.
2831 * config-lang.in (gtfiles): Add c/c-parser.h.
2832 * c-tree.h (enum c_declspec_word): Add cdw_gimple.
2833 (struct c_declspecs): Add gimple_pass member and gimple_p flag.
2834 * c-parser.c (enum c_id_kind, struct c_token,
2835 c_parser_next_token_is, c_parser_next_token_is_not,
2836 c_parser_next_token_is_keyword,
2837 enum c_lookahead_kind, enum c_dtr_syn, enum c_parser_prec):
2838 Split out to ...
2839 * c-parser.h: ... new header.
2840 * c-parser.c: Include c-parser.h and gimple-parser.h.
1ee62b92 2841 (c_parser_peek_token, c_parser_peek_2nd_token,
8e745a17
JJ
2842 c_token_starts_typename, c_parser_next_token_starts_declspecs,
2843 c_parser_next_tokens_start_declaration, c_parser_consume_token,
2844 c_parser_error, c_parser_require, c_parser_skip_until_found,
2845 c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token,
2846 c_parser_type_name): Export.
2847 (c_parser_tokens_buf): New function.
2848 (c_parser_error): Likewise.
2849 (c_parser_set_error): Likewise.
2850 (c_parser_declspecs): Handle RID_GIMPLE.
1ee62b92
PG
2851 (c_parser_declaration_or_fndef): Parse __GIMPLE marked body
2852 via c_parser_parse_gimple_body.
8e745a17
JJ
2853 * c-parser.h (c_parser_peek_token, c_parser_peek_2nd_token,
2854 c_token_starts_typename, c_parser_next_token_starts_declspecs,
2855 c_parser_next_tokens_start_declaration, c_parser_consume_token,
2856 c_parser_error, c_parser_require, c_parser_skip_until_found,
2857 c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token,
2858 c_parser_type_name): Declare.
1ee62b92
PG
2859 (struct c_parser): Declare forward.
2860 (c_parser_tokens_buf): Declare.
8e745a17
JJ
2861 (c_parser_error): Likewise.
2862 (c_parser_set_error): Likewise.
2863 * gimple-parser.c: New file.
2864 * gimple-parser.h: Likewise.
1ee62b92 2865
22b15758
UB
28662016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2867
2868 PR c/35503
2869 * c-parser.c (c_parser_postfix_expression_after_primary): Call
2870 warn_for_restrict.
2871
84ff4775
LCW
28722016-09-11 Le-Chun Wu <lcwu@google.com>
2873 Mark Wielaard <mjw@redhat.com>
2874
2875 * c-decl.c (warn_if_shadowing): Use the warning code corresponding
2876 to the given -Wshadow= variant.
2877
4d0cdd0c
TP
28782016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2879
2880 * c-typeck.c: Include memmodel.h.
2881
1202f33e
JJ
28822016-10-13 Jakub Jelinek <jakub@redhat.com>
2883
2884 PR target/77957
2885 * c-objc-common.h (LANG_HOOKS_GETDECLS): Use hook_tree_void_null
2886 instead of lhd_return_null_tree_v.
2887
8a14afd0
BS
28882016-10-07 Bernd Schmidt <bschmidt@redhat.com>
2889
2890 PR c++/69733
2891 * c-decl.c (smallest_type_quals_location): New static function.
2892 (grokdeclarator): Try to find the correct location for an ignored
2893 qualifier.
2894
81fea426
MP
28952016-09-26 Marek Polacek <polacek@redhat.com>
2896
2897 PR c/7652
2898 * c-decl.c (pop_scope): Add gcc_fallthrough.
2899
29002016-09-26 Marek Polacek <polacek@redhat.com>
2901
2902 PR c/7652
2903 * c-parser.c (struct c_token): Add flags field.
2904 (c_lex_one_token): Pass it to c_lex_with_flags.
2905 (c_parser_declaration_or_fndef): Turn __attribute__((fallthrough));
2906 into IFN_FALLTHROUGH.
2907 (c_parser_label): Set FALLTHROUGH_LABEL_P on labels. Handle
2908 attribute fallthrough after a case label or default label.
2909 (c_parser_statement_after_labels): Handle RID_ATTRIBUTE.
2910
9a2300e9
MP
29112016-09-24 Marek Polacek <polacek@redhat.com>
2912
2913 PR c/77490
2914 * c-typeck.c (build_unary_op): Warn about bit not on expressions that
2915 have boolean value. Warn about ++/-- on booleans.
2916
7de76362
JJ
29172016-09-23 Jakub Jelinek <jakub@redhat.com>
2918
2919 * c-parser.c (incomplete_record_decls): Remove unnecessary
2920 = vNULL initialization of file scope vec.
2921
5b73d2ab
MP
29222016-09-16 Marek Polacek <polacek@redhat.com>
2923
2924 * c-typeck.c (lvalue_p): Use true and false instead of 1 and 0.
2925
e51fbec3
MP
29262016-09-14 Marek Polacek <polacek@redhat.com>
2927
2928 * c-array-notation.c (create_cmp_incr): Use false instead of 0.
2929 (fix_array_notation_expr): Likewise.
2930 * c-decl.c (finish_decl): Likewise.
2931 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
2932 * c-typeck.c (array_to_pointer_conversion): Use true instead of 1.
2933 (function_to_pointer_conversion): Use false instead of 0.
2934 (convert_lvalue_to_rvalue): Likewise.
2935 (parser_build_unary_op): Likewise.
2936 (build_atomic_assign): Likewise.
2937 (build_unary_op): Change nonconvert parameter type to bool, use
2938 true/false instead of 1/0.
2939 (build_binary_op): Use true instead of 1.
2940
254830ba
DM
29412016-09-13 David Malcolm <dmalcolm@redhat.com>
2942
2943 * c-parser.c (c_parser_declaration_or_fndef): Update for renaming
2944 of add_fixit_insert to add_fixit_insert_before.
2945
4c13ba17
MP
29462016-09-13 Marek Polacek <polacek@redhat.com>
2947
2948 * c-typeck.c (build_unary_op): Rename FLAG parameter to NOCONVERT. Use
2949 it.
2950
54dcdb88
BE
29512016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
2952
2953 PR c++/77496
2954 * c-parser.c (c_parser_conditional_expression): Pass the rightmost
2955 COMPOUND_EXPR to warn_for_omitted_condop.
2956
e5106e27
DM
29572016-09-07 David Malcolm <dmalcolm@redhat.com>
2958
2959 * c-lang.c (LANG_HOOKS_GET_SUBSTRING_LOCATION): Use
2960 c_get_substring_location for this new langhook.
2961
9dc5773f
JJ
29622016-09-02 Jakub Jelinek <jakub@redhat.com>
2963
2964 PR c/65467
2965 * c-parser.c (c_parser_declspecs): Don't sorry about _Atomic if
2966 flag_openmp.
2967 (c_parser_omp_variable_list): Use convert_lvalue_to_rvalue
2968 instead of mark_exp_read on low_bound/length expression.
2969 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_threads,
2970 c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
2971 c_parser_omp_clause_priority, c_parser_omp_clause_hint,
2972 c_parser_omp_clause_num_workers, c_parser_oacc_shape_clause,
2973 c_parser_oacc_clause_tile, c_parser_omp_clause_schedule,
2974 c_parser_omp_clause_vector_length, c_parser_omp_clause_num_teams,
2975 c_parser_omp_clause_thread_limit, c_parser_omp_clause_aligned,
2976 c_parser_omp_clause_linear, c_parser_omp_clause_safelen,
2977 c_parser_omp_clause_simdlen, c_parser_omp_clause_device,
2978 c_parser_omp_clause_dist_schedule): Use convert_lvalue_to_rvalue
2979 instead of mark_expr_read.
2980 (c_parser_omp_declare_reduction): Reject _Atomic qualified types.
2981 * c-objc-common.h (LANG_HOOKS_OMP_CLAUSE_COPY_CTOR,
2982 LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP): Redefine.
2983 * c-tree.h (c_omp_clause_copy_ctor): New prototype.
2984 * c-typeck.c (handle_omp_array_sections_1): Diagnose _Atomic qualified
2985 array section bases outside of depend clause, for depend clause
2986 use convert_lvalue_to_rvalue on the base.
2987 (c_finish_omp_clauses): Reject _Atomic qualified vars in reduction,
2988 linear, aligned, map, to and from clauses.
2989 (c_omp_clause_copy_ctor): New function.
2990
295844f6
MP
29912016-09-01 Marek Polacek <polacek@redhat.com>
2992
2993 PR c/7652
2994 * c-typeck.c (composite_type): Add FALLTHRU comment.
2995
089af25c
DM
29962016-08-31 David Malcolm <dmalcolm@redhat.com>
2997
2998 * c-parser.c (c_parser_declaration_or_fndef): Add trailing space
2999 to the insertion fixits for "struct", "union", and "enum".
3000
f9087798
DM
30012016-08-30 David Malcolm <dmalcolm@redhat.com>
3002
3003 * c-decl.c (implicit_decl_warning): Use add_fixit_replace
3004 rather than add_fixit_misspelled_id.
3005 (undeclared_variable): Likewise.
3006 * c-parser.c (c_parser_declaration_or_fndef): Likewise. Remove
3007 now-redundant "here" params from add_fixit_insert method calls.
3008 (c_parser_parameter_declaration): Likewise.
3009 * c-typeck.c (build_component_ref): Remove now-redundant range
3010 param from add_fixit_replace method calls.
3011
ebef225f
MP
30122016-08-25 Marek Polacek <polacek@redhat.com>
3013
3014 * c-typeck.c (parser_build_binary_op): Pass LHS to
3015 warn_logical_not_parentheses.
3016
fe377a48
MP
30172016-08-25 Marek Polacek <polacek@redhat.com>
3018
3019 PR c/77323
3020 * c-decl.c (declspecs_add_type): Set typespec_word even when __intN
3021 or _FloatN or _FloatNx is not supported.
3022 (finish_declspecs): Set type to integer_type_node when _FloatN or
3023 _FloatNx is not supported.
3024
c65699ef
JM
30252016-08-19 Joseph Myers <joseph@codesourcery.com>
3026
3027 PR c/32187
3028 * c-tree.h (cts_floatn_nx): New enum c_typespec_keyword value.
3029 (struct c_declspecs): Add field floatn_nx_idx.
3030 * c-decl.c (declspecs_add_type, finish_declspecs): Handle _FloatN
3031 and _FloatNx type specifiers.
3032 * c-parser.c (c_keyword_starts_typename, c_token_starts_declspecs)
3033 (c_parser_declspecs, c_parser_attribute_any_word)
3034 (c_parser_objc_selector): Use CASE_RID_FLOATN_NX.
3035 * c-typeck.c (c_common_type): Handle _FloatN and _FloatNx types.
3036 (convert_arguments): Avoid promoting _FloatN and _FloatNx types
3037 narrower than double.
3038
2f1364c2
JJ
30392016-08-12 Jakub Jelinek <jakub@redhat.com>
3040 Martin Liska <mliska@suse.cz>
3041
3042 PR c/67410
3043 * c-typeck.c (set_nonincremental_init_from_string): Use / instead of
3044 % to determine val element to change. Assert that
3045 wchar_bytes * charwidth fits into val array.
3046
191816a3
MP
30472016-08-12 Marek Polacek <polacek@redhat.com>
3048
3049 PR c/7652
3050 * c-parser.c (c_parser_external_declaration): Add FALLTHRU.
3051 (c_parser_postfix_expression): Likewise.
3052 * c-typeck.c (build_unary_op): Adjust fall through comment.
3053 (c_mark_addressable): Likewise.
3054
b95a64bb
JJ
30552016-08-11 Jakub Jelinek <jakub@redhat.com>
3056
3057 PR c/72816
3058 * c-decl.c (grokdeclarator): When adding TYPE_DOMAIN for flexible
3059 array member through typedef, for orig_qual_indirect == 0 clear
3060 orig_qual_type.
3061
895aa8e1
DM
30622016-08-08 David Malcolm <dmalcolm@redhat.com>
3063
3064 PR c/64955
3065 * c-lang.c (LANG_HOOKS_RUN_LANG_SELFTESTS): If CHECKING_P, wire
3066 this up to selftest::run_c_tests.
3067 (selftest::run_c_tests): New function.
3068
0b212d8c
TS
30692016-08-04 Thomas Schwinge <thomas@codesourcery.com>
3070
ae9281fc
TS
3071 * c-parser.c (struct oacc_routine_data): Add error_seen and
3072 fndecl_seen members.
3073 (c_finish_oacc_routine): Use these.
3074 (c_parser_declaration_or_fndef): Adjust.
3075 (c_parser_oacc_routine): Likewise. Support more C language
3076 constructs, and improve diagnostics. Move pragma context
3077 checking...
3078 (c_parser_pragma): ... here.
3079
0b212d8c
TS
3080 * c-parser.c (struct oacc_routine_data): New.
3081 (c_parser_declaration_or_fndef, c_parser_oacc_routine): Use it.
3082 Simplify code.
3083 (c_finish_oacc_routine): Likewise. Don't attach clauses to "omp
3084 declare target" attribute.
3085
76e2c821
JB
30862016-08-01 Jan Beulich <jbeulich@suse.com>
3087
3088 * c-fold.c (c_fully_fold_internal): Also emit shift count
3089 warnings for vector types.
3090 * c-typeck.c (build_binary_op): Likewise.
3091
f618a472
MP
30922016-07-29 Marek Polacek <polacek@redhat.com>
3093
3094 PR c/71742
3095 * c-decl.c (finish_struct): Rephrase an error message.
3096
efd0786f
MP
3097 PR c/71853
3098 * c-parser.c (c_parser_switch_statement): Initialize ce.original_type
3099 to error node for invalid code.
3100
e00dceaf
MP
3101 PR c/71573
3102 * c-decl.c (implicitly_declare): Return decl early not only for
3103 error_mark_nodes, but for anything that is not a FUNCTION_DECL.
3104
673a107a
JJ
31052016-07-29 Jakub Jelinek <jakub@redhat.com>
3106
3107 PR c/71969
3108 * c-decl.c (finish_function): Only set DECL_DISREGARD_INLINE_LIMITS
3109 on GNU extern inline functions.
3110
a5b5c8b6
MP
31112016-07-29 Marek Polacek <polacek@redhat.com>
3112
3113 PR c/71583
3114 * c-parser.c (c_parser_postfix_expression_after_paren_type): Also
3115 check expr.value.
3116
e3fe09c1
UB
31172016-07-22 Uros Bizjak <ubizjak@gmail.com>
3118
3119 * c-typeck.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
3120
7c8f7eaa
DM
31212016-07-20 David Malcolm <dmalcolm@redhat.com>
3122
3123 * c-decl.c (struct edit_distance_traits<cpp_hashnode *>): Move to
3124 spellcheck-tree.h
3125 (best_macro_match): Likewise, converting from a typedef to a
3126 subclass.
3127 (find_closest_macro_cpp_cb): Move to spellcheck-tree.c.
3128 (lookup_name_fuzzy): Update for change of best_macro_match to a
3129 subclass with a ctor that calls cpp_forall_identifiers.
3130
de6a69ee
DM
31312016-07-20 David Malcolm <dmalcolm@redhat.com>
3132
3133 * c-decl.c (implicit_decl_warning): Update for conversion of
3134 return type of lookup_name_fuzzy to const char *.
3135 (undeclared_variable): Likewise.
3136 (lookup_name_fuzzy): Convert return type from tree to
3137 const char *.
3138 * c-parser.c (c_parser_declaration_or_fndef): Update for
3139 conversion of return type of lookup_name_fuzzy to const char *.
3140 (c_parser_parameter_declaration): Likewise.
3141
b1c9c068
CP
31422016-07-15 Cesar Philippidis <cesar@codesourcery.com>
3143
3144 * c-parser.c (c_parser_oacc_declare): Don't scan for
3145 GOMP_MAP_POINTER.
3146 * c-typeck.c (handle_omp_array_sections): Mark data clauses with
3147 GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
3148 zero-length subarrays.
3149
ddbbcb19
JJ
31502016-07-15 Jakub Jelinek <jakub@redhat.com>
3151
3152 PR c/71858
3153 * c-decl.c (implicit_decl_warning): Use FUZZY_LOOKUP_FUNCTION_NAME
3154 instead of FUZZY_LOOKUP_NAME.
3155 (lookup_name_fuzzy): For FUZZY_LOOKUP_FUNCTION_NAME consider
3156 FUNCTION_DECLs, {VAR,PARM}_DECLs function pointers and macros.
3157
dd36b877
JJ
31582016-07-14 Jakub Jelinek <jakub@redhat.com>
3159
3160 PR c/71858
3161 * c-decl.c (lookup_name_fuzzy): Ignore binding->invisible.
3162
8c681247
TS
31632016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3164
3165 * c-parser.c (c_parser_generic_selection): Make type of variable
3166 auto_vec.
3167 (c_parser_omp_declare_simd): Likewise.
3168
bf4fa671
TS
31692016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3170
3171 * c-decl.c (struct c_struct_parse_info): Change member types
3172 from vec to auto_vec.
3173 (start_struct): Adjust.
3174 (finish_struct): Likewise.
3175
557e8c49
JJ
31762016-07-02 Jakub Jelinek <jakub@redhat.com>
3177
3178 PR c/71719
3179 * c-typeck.c (mark_exp_read): Handle VIEW_CONVERT_EXPR.
3180
54d19c3b
TS
31812016-06-29 Thomas Schwinge <thomas@codesourcery.com>
3182
3183 * c-parser.c (c_parser_pragma) <PRAGMA_OMP_CANCELLATION_POINT>:
3184 Move pragma context checking into...
3185 (c_parser_omp_cancellation_point): ... here, and improve
3186 diagnostic messages.
3187 * c-typeck.c (c_finish_omp_cancel)
3188 (c_finish_omp_cancellation_point): Improve diagnostic messages.
3189
152ef731
JJ
31902016-06-29 Jakub Jelinek <jakub@redhat.com>
3191
3192 PR c/71685
3193 * c-typeck.c (c_build_qualified_type): Don't clear
3194 C_TYPE_INCOMPLETE_VARS for the main variant.
3195
31962016-06-28 Martin Sebor <msebor@redhat.com>
4378d117
MS
3197
3198 PR c/71552
3199 * c-typeck.c (output_init_element): Diagnose incompatible types
3200 before non-constant initializers.
3201
e9ac1f86
JJ
32022016-06-28 Jakub Jelinek <jakub@redhat.com>
3203
3204 * Make-lang.in: Don't cat ../stage_current if it does not exist.
3205
277d7ee0
AK
32062016-06-23 Andi Kleen <ak@linux.intel.com>
3207
3208 * Make-lang.in: Add support for autofdo.
3209
1a4f11c8
DM
32102016-06-22 David Malcolm <dmalcolm@redhat.com>
3211
3212 PR c/70339
3213 * c-decl.c: Include spellcheck-tree.h and gcc-rich-location.h.
3214 (implicit_decl_warning): When issuing warnings for implicit
3215 declarations, attempt to provide a suggestion via
3216 lookup_name_fuzzy.
3217 (undeclared_variable): Likewise when issuing errors.
3218 (lookup_name_in_scope): Likewise.
3219 (struct edit_distance_traits<cpp_hashnode *>): New struct.
3220 (best_macro_match): New typedef.
3221 (find_closest_macro_cpp_cb): New function.
3222 (lookup_name_fuzzy): New function.
3223 * c-parser.c: Include gcc-rich-location.h.
3224 (c_token_starts_typename): Split out case CPP_KEYWORD into...
3225 (c_keyword_starts_typename): ...this new function.
3226 (c_parser_declaration_or_fndef): When issuing errors about
3227 missing "struct" etc, add a fixit. For other kinds of errors,
3228 attempt to provide a suggestion via lookup_name_fuzzy.
3229 (c_parser_parms_declarator): When looking ahead to detect typos in
3230 type names, also reject CPP_KEYWORD.
3231 (c_parser_parameter_declaration): When issuing errors about
3232 unknown type names, attempt to provide a suggestion via
3233 lookup_name_fuzzy.
3234 * c-tree.h (c_keyword_starts_typename): New prototype.
3235
5a578671
JM
32362016-06-20 Joseph Myers <joseph@codesourcery.com>
3237
3238 PR c/71601
3239 * c-typeck.c (build_conditional_expr): Return error_mark_node if
3240 c_common_type returns error_mark_node.
3241
3f8257db 32422016-06-19 Martin Sebor <msebor@redhat.com>
aa0db437
MS
3243
3244 PR c/69507
3245 * c-parser.c (c_parser_alignof_expression): Avoid diagnosing
3246 __alignof__ (expression).
3247
6a3f203c
DM
32482016-06-14 David Malcolm <dmalcolm@redhat.com>
3249
3250 * c-typeck.c: Include spellcheck-tree.h rather than spellcheck.h.
3251
264757fb
DM
32522016-06-14 David Malcolm <dmalcolm@redhat.com>
3253
3254 * c-typeck.c (build_component_ref): Simplify fixit code by
3255 using gcc_rich_location::add_fixit_misspelled_id.
3256 (set_init_label): Likewise.
3257
f7e4f2e3
DM
32582016-06-13 David Malcolm <dmalcolm@redhat.com>
3259
3260 * c-parser.c (c_parser_initelt): Provide location of name for new
3261 location_t param of set_init_label.
3262 * c-tree.h (set_init_label): Add location_t param.
3263 * c-typeck.c (set_init_index): Add "fieldname_loc" location_t
3264 param and use it when issuing error messages about unrecognized
3265 field names. Attempt to provide a fixit hint if appropriate,
3266 otherwise update the error message to provide the type name.
3267
4b1ffdb1
TS
32682016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3269
3270 PR c/71381
3271 * c-parser.c (c_parser_omp_variable_list) <OMP_CLAUSE__CACHE_>:
3272 Loosen checking.
3273
44a845ca
MS
32742016-06-08 Martin Sebor <msebor@redhat.com>
3275 Jakub Jelinek <jakub@redhat.com>
3276
3277 PR c++/70507
3278 PR c/68120
3279 * c-typeck.c (convert_arguments): Don't promote last argument
3280 of BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
3281
92a5f2ba
MP
32822016-06-08 Marek Polacek <polacek@redhat.com>
3283
3284 PR c/71418
3285 * c-decl.c (grokdeclarator): Check TYPE_P.
3286
08203f73
MP
3287 PR c/71426
3288 * c-decl.c (get_parm_info): Don't crash on an assert on invalid
3289 code.
3290
6ffd47b7
DM
32912016-06-07 David Malcolm <dmalcolm@redhat.com>
3292
3293 * c-parser.c (c_parser_postfix_expression): In __builtin_offsetof
3294 and structure element reference, capture the location of the
3295 element name token and pass it to build_component_ref.
3296 (c_parser_postfix_expression_after_primary): Likewise for
3297 structure element dereference.
3298 (c_parser_omp_variable_list): Likewise for
3299 OMP_CLAUSE_{_CACHE, MAP, FROM, TO},
3300 * c-tree.h (build_component_ref): Add location_t param.
3301 * c-typeck.c (build_component_ref): Add location_t param
3302 COMPONENT_LOC. Use it, if available, when issuing hints about
3303 mispelled member names to provide a fixit replacement hint.
3304
1f40cff3
MP
33052016-06-06 Marek Polacek <polacek@redhat.com>
3306
3307 PR c/71362
3308 * c-parser.c (c_parser_direct_declarator): Set location.
3309
5545a907
MP
33102016-06-06 Marek Polacek <polacek@redhat.com>
3311
3312 * c-typeck.c (comptypes_internal): Handle comparisons of
3313 INTEGER_TYPE, FIXED_POINT_TYPE, and REAL_TYPE nodes. Don't check
3314 TYPE_REF_CAN_ALIAS_ALL.
3315
b605f663
CLT
33162016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
3317
3318 * c-typeck.c (c_finish_omp_clauses): Mark OpenACC reduction
3319 arguments as addressable when async clause exists.
3320
00631022
JJ
33212016-05-30 Jakub Jelinek <jakub@redhat.com>
3322
3323 PR c++/71349
3324 * c-parser.c (c_parser_omp_for): Don't disallow nowait clause
3325 when combined with target construct.
3326
7211a097
JJ
33272016-05-26 Jakub Jelinek <jakub@redhat.com>
3328
3329 * c-parser.c (c_parser_omp_clause_schedule): Warn if
3330 OMP_CLAUSE_SCHEDULE_CHUNK_EXPR is known not to be positive.
3331
95efe6b6
MP
33322016-05-25 Marek Polacek <polacek@redhat.com>
3333
3334 PR c/71265
3335 * c-decl.c (c_make_fname_decl): Don't check seen_error.
3336
a23faf7a
MP
3337 PR c/71266
3338 * c-decl.c (store_parm_decls_oldstyle): Skip non-PARM_DECLs.
3339
e46c7770
CP
33402016-05-24 Cesar Philippidis <cesar@codesourcery.com>
3341
3342 * c-parser.c (c_parser_oacc_declare): Add support for
3343 GOMP_MAP_FIRSTPRIVATE_POINTER.
3344 * c-typeck.c (handle_omp_array_sections_1): Replace bool is_omp
3345 argument with enum c_omp_region_type ort.
3346 (handle_omp_array_sections): Likewise. Update call to
3347 handle_omp_array_sections_1.
3348 (c_finish_omp_clauses): Add specific errors and warning messages for
3349 OpenACC. Use firsrtprivate pointers for OpenACC subarrays. Update
3350 call to handle_omp_array_sections.
3351
a04e69c0
TS
33522016-05-24 Thomas Schwinge <thomas@codesourcery.com>
3353
3354 * c-parser.c (c_parser_oacc_routine): Tighten syntax checks.
3355
f17a223d
RB
33562016-05-24 Richard Biener <rguenther@suse.de>
3357
3358 PR middle-end/70434
3359 PR c/69504
3360 * c-typeck.c (build_array_ref): Do not complain about indexing
3361 non-lvalue vectors. Adjust for function name change.
3362
79063edd
MS
33632016-05-20 Martin Sebor <msebor@redhat.com>
3364
3365 PR c/71115
3366 * c-typeck.c (error_init): Use
3367 expansion_point_location_if_in_system_header.
3368 (warning_init): Same.
3369
8a40fef3
DM
33702016-05-19 David Malcolm <dmalcolm@redhat.com>
3371
3372 PR c/71171
3373 * c-parser.c (c_parser_generic_selection): Use c_expr::set_error
3374 in error-handling.
3375 (c_parser_postfix_expression): Likewise.
3376 * c-tree.h (c_expr::set_error): New method.
3377 * c-typeck.c (parser_build_binary_op): In error-handling, ensure
3378 that result's range is initialized.
3379
e9892350
JG
33802016-05-17 James Greenhalgh <james.greenhalgh@arm.com>
3381
3382 * c-typeck.c (parser_build_unary_op): Fix formatting.
3383
8fad45f5
MW
33842016-05-16 Matthew Wahab <matthew.wahab@arm.com>
3385
3386 * c-decl.c (grokdeclarator): Remove errmsg and use of
3387 targetm.invalid_return_type.
3388 (grokparms): Remove errmsg and use of
3389 targetm.invalid_parameter_type.
3390
aa4b467b
JM
33912016-05-13 Joseph Myers <joseph@codesourcery.com>
3392
3393 * c-decl.c (grokdeclarator): For C11, discard qualifiers on
3394 function return type.
3395
4f2e1536
MP
33962016-05-12 Marek Polacek <polacek@redhat.com>
3397
3398 PR c/70756
3399 * c-decl.c (build_compound_literal): Pass LOC down to
3400 c_incomplete_type_error.
3401 * c-tree.h (require_complete_type): Adjust declaration.
3402 (c_incomplete_type_error): Likewise.
3403 * c-typeck.c (require_complete_type): Add location parameter, pass it
3404 down to c_incomplete_type_error.
3405 (c_incomplete_type_error): Add location parameter, pass it down to
3406 error_at.
3407 (build_component_ref): Pass location down to c_incomplete_type_error.
3408 (default_conversion): Pass location down to require_complete_type.
3409 (build_array_ref): Likewise.
3410 (build_function_call_vec): Likewise.
3411 (convert_arguments): Likewise.
3412 (build_unary_op): Likewise.
3413 (build_c_cast): Likewise.
3414 (build_modify_expr): Likewise.
3415 (convert_for_assignment): Likewise.
3416 (c_finish_omp_clauses): Likewise.
3417
d6e83a8d
MM
34182016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
3419
3420 PR c/43651
3421 * c-decl.c (declspecs_add_qual): Warn when -Wduplicate-decl-specifier
3422 is enabled.
3423 * c-errors.c (pedwarn_c90): Return true if warned.
3424 * c-tree.h (pedwarn_c90): Change return type to bool.
3425 (enum c_declspec_word): Add new enumerator cdw_atomic.
3426
5c3a10fb
MP
34272016-05-11 Marek Polacek <polacek@redhat.com>
3428
3429 PR c++/71024
3430 * c-decl.c (diagnose_mismatched_decls): Factor out code to
3431 diagnose_mismatched_attributes and call it.
3432
cf68d92c
MP
34332016-05-10 Marek Polacek <polacek@redhat.com>
3434
3435 PR c/70255
3436 * c-decl.c (diagnose_mismatched_decls): Warn for optimize attribute
3437 on a declaration following the definition.
3438
351f85c5
JJ
34392016-05-05 Jakub Jelinek <jakub@redhat.com>
3440
3441 * c-parser.c (c_parser_switch_statement): Add IF_P argument,
3442 parse it through to c_parser_c99_block_statement.
3443 (c_parser_statement_after_labels): Adjust c_parser_switch_statement
3444 caller.
3445
deef7113
MP
34462016-05-04 Marek Polacek <polacek@redhat.com>
3447
3448 * c-parser.c (c_parser_if_statement): Replace OPT_Wparentheses with
3449 OPT_Wdangling_else.
3450
de55efd5
MP
34512016-05-04 Marek Polacek <polacek@redhat.com>
3452
3453 PR c/48778
3454 * c-typeck.c (build_binary_op): Don't issue -Waddress warnings
3455 for macro expansions.
3456
79ce98bc
MP
34572016-05-03 Marek Polacek <polacek@redhat.com>
3458
3459 PR c/70859
3460 * c-typeck.c (build_function_call_vec): Pass LOC and ARG_LOC down to
3461 check_builtin_function_arguments.
3462
fb2647aa
RB
34632016-05-03 Richard Biener <rguenther@suse.de>
3464
3465 * Make-lang.in (cc1-checksum.c): For stage-final re-use
3466 the checksum from the previous stage.
3467
77886428
CP
34682016-05-02 Cesar Philippidis <cesar@codesourcery.com>
3469
3470 * c-parser.c (c_parser_oacc_all_clauses): Update call to
3471 c_finish_omp_clauses.
3472 (c_parser_omp_all_clauses): Likewise.
3473 (c_parser_oacc_cache): Likewise.
3474 (c_parser_oacc_loop): Likewise.
3475 (omp_split_clauses): Likewise.
3476 (c_parser_omp_declare_target): Likewise.
3477 (c_parser_cilk_all_clauses): Likewise.
3478 (c_parser_cilk_for): Likewise.
3479 * c-typeck.c (c_finish_omp_clauses): Replace bool arguments
3480 is_omp, declare_simd, and is_cilk with enum c_omp_region_type ort.
3481
7176a4a0
MP
34822016-05-02 Marek Polacek <polacek@redhat.com>
3483
3484 PR c/70851
3485 * c-decl.c (grokdeclarator): Diagnose when array's size has an
3486 incomplete type.
3487
e7ff0319
CP
34882016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3489
3490 PR middle-end/70626
3491 * c-parser.c (c_parser_oacc_loop): Don't augment mask with
3492 OACC_LOOP_CLAUSE_MASK.
3493 (c_parser_oacc_kernels_parallel): Update call to
3494 c_oacc_split_loop_clauses.
3495
9f405ce1
AM
34962016-04-28 Andrew MacLeod <amacleod@redhat.com>
3497
3498 * c-array-notation.c (fix_builtin_array_notation_fn): Fix final
3499 argument to build_modify_expr in two cases.
3500
c1e1f433
BS
35012016-04-27 Bernd Schmidt <bschmidt@redhat.com>
3502
3503 * c-parser.c (c_parser_postfix_expression_after_primary): Call
3504 warn_for_memset instead of warning directly here.
3505
2448a956
MP
35062016-04-26 Marek Polacek <polacek@redhat.com>
3507
3508 PR c/67784
3509 * c-parser.c (c_parser_maybe_reclassify_token): New function factored
3510 out of ...
3511 (c_parser_for_statement): ... here.
3512 (c_parser_if_statement): Use it.
3513 (c_parser_switch_statement): Use it.
3514 (c_parser_while_statement): Use it.
3515
b02a5e26
MP
3516 PR c/70791
3517 * c-decl.c (pushdecl): Pass LOCUS down to warning.
3518
477d4906
IV
35192016-04-20 Ilya Verbin <ilya.verbin@intel.com>
3520
3521 PR c++/69363
3522 * c-parser.c (c_parser_cilk_all_clauses): Use c_finish_omp_clauses
3523 instead of c_finish_cilk_clauses.
3524 * c-tree.h (c_finish_omp_clauses): Add new default argument.
3525 * c-typeck.c (c_finish_omp_clauses): Add new argument. Allow
3526 floating-point variables in the linear clause for Cilk Plus.
3527
fe37c7af
MM
35282016-04-18 Michael Matz <matz@suse.de>
3529
3530 * c-decl.c (merge_decls): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
3531 (grokdeclarator, parser_xref_tag, finish_enum): Use SET_TYPE_ALIGN.
3532
949505a9
MP
35332016-04-15 Marek Polacek <polacek@redhat.com>
3534
3535 PR c/70671
3536 * c-typeck.c (build_unary_op): Pass location down to error and
3537 warning call.
3538
dda1bf61
JJ
35392016-04-15 Jakub Jelinek <jakub@redhat.com>
3540
3541 PR c/70436
3542 * c-parser.c (c_parser_pragma): Add IF_P argument, pass it down
3543 where needed.
3544 (c_parser_external_declaration, c_parser_struct_or_union_specifier,
3545 c_parser_parameter_declaration, c_parser_compound_statement_nostart,
3546 c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist):
3547 Adjust c_parser_pragma callers.
3548 (c_parser_statement_after_labels): Likewise. Adjust c_parser_cilk_for
3549 caller.
3550 (c_parser_omp_structured_block): Add IF_P argument, pass it down to
3551 c_parser_statement.
3552 (c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop,
3553 c_parser_oacc_kernels_parallel, c_parser_omp_critical,
3554 c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master,
3555 c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single,
3556 c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute,
3557 c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target,
3558 c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize,
3559 c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it
3560 down where needed.
3561 (c_parser_omp_for_loop): Likewise. Clear IF_P if nbraces.
3562 (c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block
3563 calls.
3564
99cd9857
MP
35652016-04-13 Marek Polacek <polacek@redhat.com>
3566
3567 PR c/70436
3568 * c-parser.c (c_parser_statement_after_labels): Add IF_P argument and
3569 adjust callers.
3570 (c_parser_statement): Likewise.
3571 (c_parser_c99_block_statement): Likewise.
3572 (c_parser_while_statement): Likewise.
3573 (c_parser_for_statement): Likewise.
3574 (c_parser_if_body): Don't set IF_P here.
3575 (c_parser_if_statement): Add IF_P argument. Set IF_P here. Warn
3576 about dangling else here.
3577 * c-tree.h (c_finish_if_stmt): Adjust declaration.
3578 * c-typeck.c (c_finish_if_stmt): Remove NESTED_IF parameter. Don't
3579 warn about dangling else here.
3580
f13355da
MP
35812016-04-04 Marek Polacek <polacek@redhat.com>
3582
3583 PR c/70307
3584 * c-fold.c (c_fully_fold_internal): Handle VEC_COND_EXPR.
3585
5fde6a45
MP
35862016-03-31 Marek Polacek <polacek@redhat.com>
3587
3588 PR c/70297
3589 * c-decl.c (merge_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN.
3590
4bbf545b
DM
35912016-03-18 David Malcolm <dmalcolm@redhat.com>
3592
3593 PR c/70281
3594 * c-parser.c (c_parser_postfix_expression): Set the source range
3595 for uses of "__builtin_types_compatible_p".
3596
fcc2b74f
JJ
35972016-03-17 Jakub Jelinek <jakub@redhat.com>
3598
3599 PR c/70280
3600 * c-typeck.c (composite_type): Don't count void_list_node
3601 into len, if the list is terminated by void_list_node, start
3602 with void_list_node instead of NULL for newargs. Stop
3603 at void_list_node.
3604
ab4c578f
MP
36052016-03-16 Marek Polacek <polacek@redhat.com>
3606
3607 PR c/70093
3608 * c-typeck.c (build_function_call_vec): Create a TARGET_EXPR for
3609 nested functions returning VM types.
3610
96b3c82d
CP
36112016-03-09 Cesar Philippidis <cesar@codesourcery.com>
3612
3613 * c-parser.c (c_parser_oacc_loop): Update cclauses and clauses
3614 when calling c_finish_omp_clauses.
3615
29b9828f
BS
36162016-03-04 Bernd Schmidt <bschmidt@redhat.com>
3617
3618 PR c/69824
3619 * c-decl.c (get_parm_info): Don't queue implicit function declarations
3620 for later.
3621
7ff6ca38
MP
36222016-03-04 Marek Polacek <polacek@redhat.com>
3623
3624 PR c/69798
3625 * c-parser.c (c_parser_postfix_expression): Call
3626 c_parser_cast_expression rather than c_parser_postfix_expression.
3627
686e2237
JJ
36282016-03-01 Jakub Jelinek <jakub@redhat.com>
3629
3630 PR c/69796
3631 PR c/69974
3632 * c-parser.c (c_parser_translation_unit): Don't change TREE_TYPE
3633 of incomplete decls to error_mark_node.
3634
0b05329b
MP
36352016-02-24 Marek Polacek <polacek@redhat.com>
3636
3637 PR c/69819
3638 * c-decl.c (finish_decl): Don't update the copy of the type of a
3639 different decl type.
3640
067fbd8b
JJ
36412016-02-23 Jakub Jelinek <jakub@redhat.com>
3642
3643 PR objc/69844
3644 * c-parser.c (c_parser_for_statement): Properly handle ObjC classes
3645 in id_kind reclassification.
3646
bf14eba2
JJ
36472016-02-16 Jakub Jelinek <jakub@redhat.com>
3648
3649 PR c/69835
3650 * c-typeck.c (build_binary_op): Revert 2015-09-09 change.
3651
ba539195
JN
36522016-02-16 James Norris <jnorris@codesourcery.com>
3653
3654 PR c/64748
3655 * c-parser.c (c_parser_oacc_data_clause_deviceptr): Allow parms.
3656
16595a1f
BS
36572016-02-12 Bernd Schmidt <bschmidt@redhat.com>
3658
f48dfe98
BS
3659 * c-decl.c (build_null_declspecs): Zero the entire struct.
3660
16595a1f
BS
3661 PR c/69522
3662 * c-parser.c (c_parser_braced_init): New arg outer_obstack. All
3663 callers changed. If nested_p is true, use it to call
3664 finish_implicit_inits.
3665 * c-tree.h (finish_implicit_inits): Declare.
3666 * c-typeck.c (finish_implicit_inits): New function. Move code
3667 from ...
3668 (push_init_level): ... here.
3669 (set_designator, process_init_element): Call finish_implicit_inits.
3670
66756373
JJ
36712016-02-11 Jakub Jelinek <jakub@redhat.com>
3672
3673 PR c/69768
3674 * c-typeck.c (parser_build_binary_op): Strip nops from integer_zerop
3675 arguments for -Waddress warning.
3676
1066e9b5
JJ
36772016-02-04 Jakub Jelinek <jakub@redhat.com>
3678
3679 PR c/69669
3680 * c-decl.c (finish_enum): When honoring mode attribute,
3681 make sure to use proper TYPE_MIN_VALUE and TYPE_MAX_VALUE.
3682
3a5d2ba4
JJ
36832016-01-29 Jakub Jelinek <jakub@redhat.com>
3684
3685 PR debug/69518
3686 * c-decl.c (finish_struct): Clear C_TYPE_INCOMPLETE_VARS in
3687 all type variants, not just TYPE_MAIN_VARIANT.
3688
cbdd8ae0
JJ
36892016-01-27 Jakub Jelinek <jakub@redhat.com>
3690
3691 PR debug/66869
3692 * c-decl.c (c_write_global_declarations_1): Warn with
3693 warn_unused_function if static prototype without definition
3694 is not C_DECL_USED.
3695
fa74a4bc
MP
36962016-01-27 Marek Polacek <polacek@redhat.com>
3697
3698 PR c/68062
3699 * c-typeck.c (build_binary_op) [EQ_EXPR, GE_EXPR]: Promote operand
3700 to unsigned, if needed. Add -Wsign-compare warning.
3701
13f92e8d
JJ
37022016-01-26 Jakub Jelinek <jakub@redhat.com>
3703
3704 PR tree-optimization/69483
3705 * c-parser.c (c_parser_translation_unit): Use FOR_EACH_VEC_ELT.
3706
cd8e73dc 37072016-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
d25c7690
PK
3708
3709 PR c/24293
3710 * c-tree.h (incomplete_record_decls): Declare.
3711 * c-parser.c (incomplete_record_decls): Define.
3712 (c_parser_translation_unit): Iterate through incomplete_record_decls and
3713 report error if any decl has zero size.
3714 * c-decl.c (finish_decl): Append static decl with incomplete struct/union
3715 or enum type to incomplete_record_decls.
3716
e6d6ec9e
TV
37172016-01-14 Tom de Vries <tom@codesourcery.com>
3718
3719 PR tree-optimization/68773
3720 * c-parser.c (c_parser_oacc_declare, c_parser_omp_declare_target): Don't
3721 set force_output.
3722
00083992
MP
37232016-01-14 Marek Polacek <polacek@redhat.com>
3724
3725 PR c/69262
3726 * c-decl.c (grokdeclarator): Provide more information for invalid
3727 array declarations.
3728
7443cf13
DM
37292016-01-06 David Malcolm <dmalcolm@redhat.com>
3730
3731 * c-parser.c (c_parser_unary_expression): For dereferences, build
3732 a combined location before calling build_indirect_ref, so that
3733 error reports cover the full range, manually updating the c_expr
3734 src_range.
3735
6b131d5b
MP
37362016-01-06 Marek Polacek <polacek@redhat.com>
3737
3738 PR sanitizer/69099
3739 * c-convert.c (convert) [INTEGER_TYPE]: Drop ARG. Don't pass ARG to
3740 ubsan_instrument_float_cast. Fold EXPR. Use NULL_TREE instead of
3741 NULL.
3742
818ab71a
JJ
37432016-01-04 Jakub Jelinek <jakub@redhat.com>
3744
3745 Update copyright years.
3746
2fe0a208
MP
37472016-01-04 Marek Polacek <polacek@redhat.com>
3748
3749 PR c/68908
3750 * c-typeck.c (build_atomic_assign): Improve commentary. Add
3751 optimization to use __atomic_fetch_* built-in if possible.
3752
c7b48c8a
TS
37532015-12-23 Thomas Schwinge <thomas@codesourcery.com>
3754
3755 * c-parser.c (c_parser_oacc_clause_use_device): Merge function
3756 into...
3757 (c_parser_omp_clause_use_device_ptr): ... this function. Adjust
3758 all users.
3759
fda5652f
MP
37602015-12-22 Marek Polacek <polacek@redhat.com>
3761
3762 PR c/69002
3763 * c-typeck.c (build_component_ref): Warn when acessing elements of
3764 atomic structures or unions.
3765
745e411d
DM
37662015-12-21 David Malcolm <dmalcolm@redhat.com>
3767
3768 * c-typeck.c: Include "gcc-rich-location.h".
3769 (build_binary_op): In the two places that call binary_op_error,
3770 create a gcc_rich_location and populate it with the location of
3771 the binary op and its two operands.
3772
94c40e19
DM
37732015-12-16 David Malcolm <dmalcolm@redhat.com>
3774
3775 * c-parser.c (c_parser_statement_after_labels): When calling
3776 c_finish_return, Use the return expression's location if it has
3777 one, falling back to the location of the first token within it.
3778 * c-typeck.c (c_finish_return): When issuing warnings about
3779 the incorrect presence/absence of a return value, issue a note
3780 showing the declaration of the function.
3781
de67c4c3
DM
37822015-12-16 David Malcolm <dmalcolm@redhat.com>
3783
3784 * c-parser.c (struct c_parser): Expand array "tokens_buf" from 2
3785 to 4.
3786 (c_parser_peek_nth_token): New function.
3787 (c_parser_peek_conflict_marker): New function.
3788 (c_parser_error): Detect conflict markers and report them as such.
3789
a10704e1
DM
37902015-12-16 David Malcolm <dmalcolm@redhat.com>
3791
3792 * c-parser.c (c_parser_postfix_expression): Use EXPR_LOC_OR_LOC
3793 to preserve range information for the primary expression
3794 in the call to c_parser_postfix_expression_after_primary.
3795
8062bca6
DM
37962015-12-16 David Malcolm <dmalcolm@redhat.com>
3797
3798 * c-parser.c (c_parser_static_assert_declaration_no_semi): Use the
3799 expression location, falling back on the first token location,
3800 rather than always using the latter.
3801
d06f8b75
MP
38022015-12-16 Marek Polacek <polacek@redhat.com>
3803
3804 PR c/64637
3805 * c-typeck.c (c_process_expr_stmt): Use location of the expression if
3806 available.
3807
2994fb91
MP
38082015-12-15 Marek Polacek <polacek@redhat.com>
3809
3810 PR c/68907
3811 * c-typeck.c (build_atomic_assign): Set TREE_NO_WARNING on an
3812 artificial decl.
3813
a1b93f8d
DM
38142015-12-08 David Malcolm <dmalcolm@redhat.com>
3815
3816 * c-parser.c (c_parser_alignof_expression): Capture location of
3817 closing parenthesis (if any), or of end of unary expression, and
3818 use it to build a src_range for the expression.
3819
46c6e1e2
DM
38202015-12-08 David Malcolm <dmalcolm@redhat.com>
3821
3822 PR c/68757
3823 * c-parser.c (c_parser_get_builtin_args): Add
3824 "out_close_paren_loc" param, and write back to it.
3825 (c_parser_postfix_expression): Capture the closing
3826 parenthesis location for RID_CHOOSE_EXPR,
3827 RID_BUILTIN_CALL_WITH_STATIC_CHAIN, RID_BUILTIN_COMPLEX,
3828 RID_BUILTIN_SHUFFLE and use it to set the source range
3829 for such expressions; within RID_BUILTIN_COMPLEX set
3830 the underlying location.
3831
66189108
MP
38322015-12-07 Marek Polacek <polacek@redhat.com>
3833
3834 PR c/68668
3835 * c-decl.c (grokdeclarator): If ORIG_QUAL_INDIRECT is indirect, use
3836 TREE_TYPE of ORIG_QUAL_TYPE, otherwise decrement ORIG_QUAL_INDIRECT.
3837
f187980b
EB
38382015-12-04 Eric Botcazou <ebotcazou@adacore.com>
3839
3840 * c-tree.h (c_build_va_arg): Adjust prototype.
3841 * c-parser.c (c_parser_postfix_expression): Adjust call to above.
3842 * c-typeck.c (c_build_va_arg): Rename LOC parameter to LOC2, add LOC1
3843 parameter, adjust throughout and issue an error if EXPR is a component
3844 with reverse storage order.
3845
4250754e
JM
38462015-12-02 Jason Merrill <jason@redhat.com>
3847
3848 * c-fold.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
3849 (c_fully_fold_internal, decl_constant_value_for_optimization):
3850 Move from c-common.c.
3851 * c-tree.h: Declare decl_constant_value_for_optimization.
3852 * Make-lang.in (C_AND_OBJC_OBJS): Add c-fold.o.
3853
e9e32ee6
JM
38542015-12-02 Joseph Myers <joseph@codesourcery.com>
3855
3856 PR c/68162
3857 * c-decl.c (grokdeclarator): Set first_non_attr_kind before
3858 following link from declarator to next declarator. Track original
3859 qualified type and pass it to c_build_qualified_type.
3860 * c-typeck.c (c_build_qualified_type): Add arguments
3861 orig_qual_type and orig_qual_indirect.
3862
ff7a55bf
TS
38632015-12-02 Thomas Schwinge <thomas@codesourcery.com>
3864
3865 * c-parser.c (c_parser_omp_clause_name)
3866 (c_parser_oacc_all_clauses): Alphabetical sorting.
3867
657e4e47
JJ
38682015-12-02 Jakub Jelinek <jakub@redhat.com>
3869
3870 PR c/68533
3871 * c-decl.c (get_parm_info): Use b->locus instead of input_location
3872 for diagnostics.
3873
37d5ad46
JB
38742015-12-01 Julian Brown <julian@codesourcery.com>
3875 Cesar Philippidis <cesar@codesourcery.com>
3876 James Norris <James_Norris@mentor.com>
3877
3878 * c-parser.c (c_parser_omp_clause_name): Add use_device support.
3879 (c_parser_oacc_clause_use_device): New function.
3880 (c_parser_oacc_all_clauses): Add use_device support.
3881 (OACC_HOST_DATA_CLAUSE_MASK): New macro.
3882 (c_parser_oacc_host_data): New function.
3883 (c_parser_omp_construct): Add host_data support.
3884 * c-tree.h (c_finish_oacc_host_data): Add prototype.
3885 * c-typeck.c (c_finish_oacc_host_data): New function.
3886 (c_finish_omp_clauses): Add use_device support.
3887
a4850ce9
JH
38882015-11-29 Jan Hubicka <hubicka@ucw.cz>
3889
3890 PR c/67106
3891 * c-decl.c: Set TYPE_PACKED in variants.
3892
b58d3df2
ML
38932015-11-27 Martin Liska <mliska@suse.cz>
3894
3895 PR c++/68312
3896 * c-array-notation.c (fix_builtin_array_notation_fn):
3897 Use release_vec_vec instead of vec::release.
3898 (build_array_notation_expr): Likewise.
3899 (fix_conditional_array_notations_1): Likewise.
3900 (fix_array_notation_expr): Likewise.
3901 (fix_array_notation_call_expr): Likewise.
3902
aec17bfe
JJ
39032015-11-27 Jakub Jelinek <jakub@redhat.com>
3904
3905 PR c/63326
3906 * c-parser.c (c_parser_compound_statement_nostart): If
3907 last_label is true, use pragma_stmt instead of pragma_compound
3908 as second c_parser_pragma argument.
3909 (c_parser_omp_ordered, c_parser_omp_target_update,
3910 c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Pass
3911 false as second argument to c_parser_skip_to_pragma_eol after
3912 diagnosing standalone directives used in pragma_stmt context.
3913
688c4de0
IV
39142015-11-24 Ilya Verbin <ilya.verbin@intel.com>
3915
3916 * c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING"
3917 with "if (ENABLE_OFFLOADING)".
3918
cbd03aee
DM
39192015-11-23 David Malcolm <dmalcolm@redhat.com>
3920
3921 PR objc/68438
3922 * c-parser.c (c_parser_postfix_expression): Set up source ranges
3923 for various Objective-C constructs: Class.name syntax,
3924 @selector(), @protocol(), @encode(), and [] message syntax.
3925
a87a86e1
DM
39262015-11-20 David Malcolm <dmalcolm@redhat.com>
3927
3928 PR 62314
3929 * c-typeck.c (should_suggest_deref_p): New function.
3930 (build_component_ref): Special-case POINTER_TYPE when
3931 generating a "not a structure of union" error message, and
3932 suggest a "->" rather than a ".", providing a fix-it hint.
3933
8ece8dfb
DM
39342015-11-19 David Malcolm <dmalcolm@redhat.com>
3935
3936 * c-typeck.c (lookup_field_fuzzy): Move determination of closest
3937 candidate into a new function, find_closest_identifier.
3938
433068cc
MP
39392015-11-19 Marek Polacek <polacek@redhat.com>
3940
3941 PR c/68412
3942 * c-typeck.c (parser_build_binary_op): Properly handle
3943 C_MAYBE_CONST_EXPR before calling warn_tautological_cmp.
3944
bef08b71
DM
39452015-11-17 David Malcolm <dmalcolm@redhat.com>
3946
3947 * c-parser.c (set_c_expr_source_range): Bulletproof both
3948 overloaded implementations against NULL expr->value.
3949 (c_parser_braced_init): Set src_range for "ret" to a sane pair of
3950 values.
3951 (c_parser_unary_expression): Likewise when handling addresses of
3952 labels.
3953 (c_parser_postfix_expression): Likewise for statement expressions,
3954 for __FUNCTION__, __PRETTY_FUNCTION_ and __func__ keywords, for
3955 __builtin_va_arg, and for __builtin_offset_of.
3956 (c_parser_postfix_expression_after_paren_type): Initialize expr's
3957 src_range using the range of the braced initializer.
3958 (c_parser_transaction_expression): Set src_range for "ret" to a
3959 sane pair of values.
3960
fff77217
KY
39612015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
3962
3963 * c-parser.c (c_finish_omp_declare_simd): Look for
3964 "simd" attribute as well. Update error message.
3965
1d899da2
TS
39662015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3967
3968 * c-parser.c (c_parser_omp_declare_target): Adjust.
3969
e4606348
JJ
39702015-11-14 Jakub Jelinek <jakub@redhat.com>
3971
3972 * c-typeck.c (c_finish_omp_clauses): Don't mark
3973 GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
3974
3e636daf
MP
39752015-11-14 Marek Polacek <polacek@redhat.com>
3976
3977 * c-decl.c: Use RECORD_OR_UNION_TYPE_P throughout.
3978 * c-typeck.c: Likewise.
3979
ebedc9a3
DM
39802015-11-13 David Malcolm <dmalcolm@redhat.com>
3981
3982 * c-decl.c (warn_defaults_to): Pass line_table to
3983 rich_location ctor.
3984 * c-errors.c (pedwarn_c99): Likewise.
3985 (pedwarn_c90): Likewise.
3986 * c-parser.c (set_c_expr_source_range): New functions.
3987 (c_token::get_range): New method.
3988 (c_token::get_finish): New method.
3989 (c_parser_expr_no_commas): Call set_c_expr_source_range on the ret
3990 based on the range from the start of the LHS to the end of the
3991 RHS.
3992 (c_parser_conditional_expression): Likewise, based on the range
3993 from the start of the cond.value to the end of exp2.value.
3994 (c_parser_binary_expression): Call set_c_expr_source_range on
3995 the stack values for TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
3996 (c_parser_cast_expression): Call set_c_expr_source_range on ret
3997 based on the cast_loc through to the end of the expr.
3998 (c_parser_unary_expression): Likewise, based on the
3999 op_loc through to the end of op.
4000 (c_parser_sizeof_expression) Likewise, based on the start of the
4001 sizeof token through to either the closing paren or the end of
4002 expr.
4003 (c_parser_postfix_expression): Likewise, using the token range,
4004 or from the open paren through to the close paren for
4005 parenthesized expressions.
4006 (c_parser_postfix_expression_after_primary): Likewise, for
4007 various kinds of expression.
4008 * c-tree.h (struct c_expr): Add field "src_range".
4009 (c_expr::get_start): New method.
4010 (c_expr::get_finish): New method.
4011 (set_c_expr_source_range): New decls.
4012 * c-typeck.c (parser_build_unary_op): Call set_c_expr_source_range
4013 on ret for prefix unary ops.
4014 (parser_build_binary_op): Likewise, running from the start of
4015 arg1.value through to the end of arg2.value.
4016
ec8b536f
MP
40172015-11-13 Marek Polacek <polacek@redhat.com>
4018
4019 PR c/68320
4020 * c-parser.c (c_parser_for_statement): Treat unknown tokens as IDs.
4021
277fe616
DM
40222015-11-13 David Malcolm <dmalcolm@redhat.com>
4023
4024 * c-typeck.c: Include spellcheck.h.
4025 (lookup_field_fuzzy_find_candidates): New function.
4026 (lookup_field_fuzzy): New function.
4027 (build_component_ref): If the field was not found, try using
4028 lookup_field_fuzzy and potentially offer a suggestion.
4029
6e232ba4
JN
40302015-11-12 James Norris <jnorris@codesourcery.com>
4031 Joseph Myers <joseph@codesourcery.com>
4032
4033 * c-parser.c (c_parser_pragma): Handle PRAGMA_OACC_DECLARE.
4034 (c_parser_omp_clause_name): Handle 'device_resident' clause.
4035 (c_parser_oacc_data_clause): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
4036 and PRAGMA_OMP_CLAUSE_LINK.
4037 (c_parser_oacc_all_clauses): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
4038 and PRAGMA_OACC_CLAUSE_LINK.
4039 (OACC_DECLARE_CLAUSE_MASK): New definition.
4040 (c_parser_oacc_declare): New function.
4041
9be4f715
MP
40422015-11-12 Marek Polacek <polacek@redhat.com>
4043
4044 PR c/67784
4045 * c-parser.c (c_parser_for_statement): Reclassify the token in
4046 a correct scope.
4047
e78bede6
MP
40482015-11-11 Marek Polacek <polacek@redhat.com>
4049
4050 PR c/68107
4051 PR c++/68266
4052 * c-decl.c (grokdeclarator): Call valid_array_size_p. Remove code
4053 checking the size of an array.
4054
69f293c9
AM
40552015-11-11 Andrew MacLeod <amacleod@redhat.com>
4056
4057 * c-array-notation.c: Remove unused header files.
4058 * c-aux-info.c: Likewise.
4059 * c-convert.c: Likewise.
4060 * c-decl.c: Likewise.
4061 * c-errors.c: Likewise.
4062 * c-lang.c: Likewise.
4063 * c-objc-common.c: Likewise.
4064 * c-parser.c: Likewise.
4065 * c-typeck.c: Likewise.
4066 * gccspec.c: Likewise.
4067
3a40d81d
NS
40682015-11-09 Thomas Schwinge <thomas@codesourcery.com>
4069 Cesar Philippidis <cesar@codesourcery.com>
4070 James Norris <jnorris@codesourcery.com>
4071 Julian Brown <julian@codesourcery.com>
4072 Nathan Sidwell <nathan@codesourcery.com>
4073
3a40d81d
NS
4074 * c-parser.c (c_parser_declaration_or_fndef): Add OpenACC
4075 routine arg.
4076 (c_parser_declaration_or_fndef): Call c_finish_oacc_routine.
4077 (c_parser_pragma): Parse 'acc routine'.
4078 (OACC_ROUTINE_CLAUSE_MARK): Define.
4079 (c_parser_oacc_routine, (c_finish_oacc_routine): New.
4080
fc402eec
AA
40812015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
4082
4083 PR debug/67192
4084 * c-typeck.c (c_finish_loop): For unconditional loops, set the
4085 location of the backward-goto to the start of the loop body.
4086
f6b0b3db
AA
40872015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
4088
4089 PR debug/67192
4090 * c-parser.c (c_parser_while_statement): Finish the loop before
4091 parsing ahead for misleading indentation.
4092 (c_parser_for_statement): Likewise.
4093
ee45a32d
EB
40942015-11-08 Eric Botcazou <ebotcazou@adacore.com>
4095
4096 * c-decl.c (finish_struct): If the structure has reverse storage
4097 order, rewrite the type of array fields with scalar component. Call
4098 maybe_apply_pragma_scalar_storage_order on entry.
4099 * c-typeck.c (build_unary_op) <ADDR_EXPR>: Remove left-overs. Issue
4100 errors on bit-fields and reverse SSO here and not...
4101 (c_mark_addressable): ...here.
4102 (output_init_element): Adjust call to initializer_constant_valid_p.
4103 (c_build_qualified_type): Propagate TYPE_REVERSE_STORAGE_ORDER.
4104
8a645150
DM
41052015-11-06 David Malcolm <dmalcolm@redhat.com>
4106
4107 * c-decl.c (warn_defaults_to): Update for change in signature
4108 of diagnostic_set_info.
4109 * c-errors.c (pedwarn_c99): Likewise.
4110 (pedwarn_c90): Likewise.
4111 * c-objc-common.c (c_tree_printer): Update for new "caret_p" param
4112 for textinfo::set_location.
4113
7a5e4956
CP
41142015-11-05 Cesar Philippidis <cesar@codesourcery.com>
4115 Thomas Schwinge <thomas@codesourcery.com>
4116 James Norris <jnorris@codesourcery.com>
4117
4118 * c-parser.c (c_parser_omp_clause_name): Add support for
4119 PRAGMA_OACC_CLAUSE_INDEPENDENT and PRAGMA_OACC_CLAUSE_TILE.
4120 (c_parser_omp_clause_default): Add is_oacc argument. Handle
4121 default(none) in OpenACC.
4122 (c_parser_oacc_shape_clause): Allow pointer variables as gang static
4123 arguments.
4124 (c_parser_oacc_clause_tile): New function.
4125 (c_parser_oacc_all_clauses): Add support for OMP_CLAUSE_DEFAULT,
4126 OMP_CLAUSE_INDEPENDENT and OMP_CLAUSE_TILE.
4127 (OACC_LOOP_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_{PRIVATE,INDEPENDENT,
4128 TILE}.
4129 (OACC_KERNELS_MASK): Add PRAGMA_OACC_CLAUSE_DEFAULT.
4130 (OACC_PARALLEL_MASK): Add PRAGMA_OACC_CLAUSE_{DEFAULT,PRIVATE,
4131 FIRSTPRIVATE}.
4132 (c_parser_omp_all_clauses): Update call to c_parser_omp_clause_default.
4133 (c_parser_oacc_update): Update the error message for missing clauses.
4134 * c-typeck.c (c_finish_omp_clauses): Add support for OMP_CLAUSE_TILE
4135 and OMP_CLAUSE_INDEPENDENT.
4136
bfcfbfa0
MP
41372015-11-05 Marek Polacek <polacek@redhat.com>
4138
4139 PR c/68090
4140 * c-parser.c (c_parser_postfix_expression_after_paren_type): Don't
4141 deal with pre-evaluation on invalid types.
4142
e01d41e5
JJ
41432015-11-05 Jakub Jelinek <jakub@redhat.com>
4144 Ilya Verbin <ilya.verbin@intel.com>
4145
4146 * c-parser.c: Include context.h and gimple-expr.h.
4147 (c_parser_omp_clause_schedule): Parse schedule modifiers, diagnose
4148 monotonic together with nonmonotonic.
4149 (c_parser_omp_for_loop): Call c_omp_check_loop_iv. Call add_stmt here.
4150 (OMP_DISTRIBUTE_CLAUSE_MASK): Add lastprivate clause.
4151 (c_parser_omp_target_data, c_parser_omp_target_enter_data,
4152 c_parser_omp_target_exit_data): Allow GOMP_MAP_ALWAYS_POINTER.
4153 (c_parser_omp_target): Likewise. Evaluate num_teams and thread_limit
4154 expressions on combined target teams before the target.
4155 (c_parser_omp_declare_target): If decl has "omp declare target" or
4156 "omp declare target link" attribute, and cgraph or varpool node already
4157 exists, then set corresponding flags. Call c_finish_omp_clauses
4158 in the parenthesized extended-list syntax case.
4159 * c-decl.c (c_decl_attributes): Don't diagnose block scope vars inside
4160 declare target.
4161 * c-typeck.c (handle_omp_array_sections_1): Allow non-zero low-bound
4162 on OMP_CLAUSE_REDUCTION array sections.
4163 (handle_omp_array_sections): Encode low-bound into the MEM_REF, either
4164 into the constant offset, or for variable low-bound using
4165 POINTER_PLUS_EXPR. For structure element based array sections use
4166 GOMP_MAP_ALWAYS_POINTER instead of GOMP_MAP_FIRSTPRIVATE_POINTER.
4167 (c_finish_omp_clauses): Drop generic_field_head, structure
4168 elements are now always mapped even as array section bases,
4169 diagnose same var in data sharing and mapping clauses. Diagnose if
4170 linear step on declare simd is neither a constant nor a uniform
4171 parameter. Look through POINTER_PLUS_EXPR for array section
4172 reductions. Diagnose the same var or function appearing multiple
4173 times on the same directive. Fix up wording for the to clause if t
4174 is neither a FUNCTION_DECL nor a VAR_DECL. Diagnose nonmonotonic
4175 modifier on kinds other than dynamic or guided or nonmonotonic
4176 modifier together with ordered clause.
4177
4bf9e5a8
TS
41782015-11-03 Thomas Schwinge <thomas@codesourcery.com>
4179 Chung-Lin Tang <cltang@codesourcery.com>
4180
4181 * c-parser.c (c_parser_omp_construct): Handle PRAGMA_OACC_ATOMIC.
4182
2adfab87
AM
41832015-10-29 Andrew MacLeod <amacleod@redhat.com>
4184
4185 * c-array-notation.c: Reorder #include's and remove duplicates.
4186 * c-aux-info.c: Likewise.
4187 * c-convert.c: Likewise.
4188 * c-decl.c: Likewise.
4189 * c-errors.c: Likewise.
4190 * c-lang.c: Likewise.
4191 * c-objc-common.c: Likewise.
4192 * c-parser.c: Likewise.
4193 * c-typeck.c: Likewise.
4194
e922069e
JW
41952015-10-26 Jim Wilson <jim.wilson@linaro.org>
4196
4197 PR debug/66068
4198 * c-typeck.c (c_build_qualified_type): Clear C_TYPE_INCOMPLETE_VARS
4199 after calling build_qualified_type.
4200
765dd391
CP
42012015-10-27 Cesar Philippidis <cesar@codesourcery.com>
4202 Thomas Schwinge <thomas@codesourcery.com>
4203 James Norris <jnorris@codesourcery.com>
4204 Joseph Myers <joseph@codesourcery.com>
4205 Julian Brown <julian@codesourcery.com>
4206 Bernd Schmidt <bschmidt@redhat.com>
4207
4208 * c-parser.c (c_parser_oacc_shape_clause): New.
4209 (c_parser_oacc_simple_clause): New.
4210 (c_parser_oacc_all_clauses): Add auto, gang, seq, vector, worker.
4211 (OACC_LOOP_CLAUSE_MASK): Add gang, worker, vector, auto, seq.
4212
88bae6f4
TS
42132015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4214 James Norris <jnorris@codesourcery.com>
4215 Cesar Philippidis <cesar@codesourcery.com>
4216
4217 PR c/64765
4218 PR c/64880
4219 * c-parser.c (c_parser_oacc_loop): Add mask, cclauses formal
4220 parameters, and handle these. Adjust all users.
4221 (c_parser_oacc_kernels, c_parser_oacc_parallel): Merge functions
4222 into...
4223 (c_parser_oacc_kernels_parallel): ... this new function. Adjust
4224 all users.
4225 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels): Don't
4226 declare functions.
4227 (c_finish_omp_construct): Declare function.
4228 * c-typeck.c (c_finish_oacc_parallel, c_finish_oacc_kernels):
4229 Merge functions into...
4230 (c_finish_omp_construct): ... this new function.
4231
a8fc2579
RB
42322015-10-22 Richard Biener <rguenther@suse.de>
4233
4234 * c-typeck.c (c_finish_omp_clauses): Properly convert operands
4235 before folding a MINUS_EXPR.
4236
e9122ef6
MP
42372015-10-21 Marek Polacek <polacek@redhat.com>
4238
4239 PR c/68024
4240 * c-decl.c (start_function): Warn about vararg functions without
4241 a prototype.
4242
9f47c7e5
IE
42432015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
4244
4245 * c-typeck.c (build_conditional_expr): Use boolean vector
4246 type for vector comparison.
4247 (build_vec_cmp): New.
4248 (build_binary_op): Use build_vec_cmp for comparison.
4249
fa60eeb9
MP
42502015-10-20 Marek Polacek <polacek@redhat.com>
4251
4252 * c-parser.c (is_cilkplus_vector_p): Don't define here.
4253
2c7020eb
MP
42542015-10-20 Marek Polacek <polacek@redhat.com>
4255
4256 PR c/67964
4257 * c-parser.c (c_parser_attributes): Break out of the loop if the
4258 token after an attribute isn't a comma.
4259
d9a6bd32
JJ
42602015-10-13 Jakub Jelinek <jakub@redhat.com>
4261 Aldy Hernandez <aldyh@redhat.com>
4262
4263 * c-parser.c (c_parser_pragma): Handle PRAGMA_OMP_ORDERED here.
4264 (c_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
4265 (c_parser_omp_variable_list): Handle structure elements for
4266 map, to and from clauses. Handle array sections in reduction
4267 clause. Formatting fixes.
4268 (c_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
4269 if clause modifiers.
4270 (c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
4271 c_parser_omp_clause_priority, c_parser_omp_clause_hint,
4272 c_parser_omp_clause_defaultmap, c_parser_omp_clause_use_device_ptr,
4273 c_parser_omp_clause_is_device_ptr): New functions.
4274 (c_parser_omp_clause_ordered): Parse optional parameter.
4275 (c_parser_omp_clause_reduction): Handle array reductions.
4276 (c_parser_omp_clause_schedule): Parse optional simd modifier.
4277 (c_parser_omp_clause_nogroup, c_parser_omp_clause_orderedkind): New
4278 functions.
4279 (c_parser_omp_clause_linear): Parse linear clause modifiers.
4280 (c_parser_omp_clause_depend_sink): New function.
4281 (c_parser_omp_clause_depend): Parse source/sink depend kinds.
4282 (c_parser_omp_clause_map): Parse release/delete map kinds and
4283 optional always modifier.
4284 (c_parser_oacc_all_clauses): Adjust c_parser_omp_clause_if
4285 and c_finish_omp_clauses callers.
4286 (c_parser_omp_all_clauses): Likewise. Parse OpenMP 4.5 clauses.
4287 Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
4288 (c_parser_oacc_cache): Adjust c_finish_omp_clauses caller.
4289 (OMP_CRITICAL_CLAUSE_MASK): Define.
4290 (c_parser_omp_critical): Parse critical clauses.
4291 (c_parser_omp_for_loop): Handle doacross loops, adjust
4292 c_finish_omp_for and c_finish_omp_clauses callers.
4293 (OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
4294 (c_parser_omp_simd): Allow ordered clause if it has no parameter.
4295 (OMP_FOR_CLAUSE_MASK): Add linear clause.
4296 (c_parser_omp_for): Disallow ordered clause when combined with
4297 distribute. Disallow linear clause when combined with distribute
4298 and not combined with simd.
4299 (OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
4300 (c_parser_omp_ordered): Add CONTEXT argument, remove LOC argument,
4301 parse clauses and if depend clause is found, don't parse a body.
4302 (c_parser_omp_parallel): Disallow copyin clause on target parallel.
4303 Allow target parallel without for after it.
4304 (OMP_TASK_CLAUSE_MASK): Add priority clause.
4305 (OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
4306 (c_parser_omp_target_data): Diagnose no map clauses or clauses with
4307 invalid kinds.
4308 (OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
4309 (OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
4310 OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
4311 (c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): New
4312 functions.
4313 (OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
4314 defaultmap and is_device_ptr clauses.
4315 (c_parser_omp_target): Parse target parallel and target simd. Set
4316 OMP_TARGET_COMBINED on combined constructs. Parse target enter data
4317 and target exit data. Diagnose invalid map kinds.
4318 (OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
4319 (c_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
4320 construct.
4321 (c_parser_omp_declare_reduction): Use STRIP_NOPS when checking for
4322 &omp_priv.
4323 (OMP_TASKLOOP_CLAUSE_MASK): Define.
4324 (c_parser_omp_taskloop): New function.
4325 (c_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
4326 handle PRAGMA_OMP_TASKLOOP.
4327 (c_parser_cilk_for): Adjust c_finish_omp_clauses callers.
4328 * c-tree.h (c_finish_omp_clauses): Add two new arguments.
4329 * c-typeck.c (handle_omp_array_sections_1): Fix comment typo.
4330 Add IS_OMP argument, handle structure element bases, diagnose
4331 bitfields, pass IS_OMP recursively, diagnose known zero length
4332 array sections in depend clauses, handle array sections in reduction
4333 clause, diagnose negative length even for pointers.
4334 (handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
4335 types, pass IS_OMP down to handle_omp_array_sections_1, handle
4336 array sections in reduction clause, set
4337 OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
4338 length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
4339 (c_finish_omp_clauses): Add IS_OMP and DECLARE_SIMD arguments.
4340 Handle new OpenMP 4.5 clauses and new restrictions for the old ones.
4341
21ba0cea
MP
43422015-10-06 Marek Polacek <polacek@redhat.com>
4343
4344 * c-parser.c (c_parser_statement_after_labels): Use
4345 protected_set_expr_location.
4346 (c_parser_omp_clause_num_gangs): Likewise.
4347 (c_parser_omp_clause_num_threads): Likewise.
4348 (c_parser_omp_clause_num_workers): Likewise.
4349 (c_parser_omp_clause_vector_length): Likewise.
4350 (c_parser_omp_clause_num_teams): Likewise.
4351 (c_parser_omp_clause_thread_limit): Likewise.
4352 * c-typeck.c (build_c_cast): Likewise.
4353 (c_cast_expr): Likewise.
4354
624d31fe
RS
43552015-10-05 Richard Sandiford <richard.sandiford@arm.com>
4356
4357 * c-typeck.c (c_tree_equal): Use real_equal instead of
4358 REAL_VALUES_EQUAL.
4359
b8fd7909
JM
43602015-10-04 Jason Merrill <jason@redhat.com>
4361
4362 * c-parser.c (c_lex_one_token): Handle @synchronized.
4363 * c-decl.c (match_builtin_function_types): A declaration of a built-in
4364 can change whether the function is transaction_safe.
4365
1c7485af
MP
43662015-10-02 Marek Polacek <polacek@redhat.com>
4367
4368 PR c/67730
4369 * c-typeck.c (convert_for_assignment): Use the expansion point
4370 location throughout.
4371
3e3b8d63
MP
43722015-10-02 Marek Polacek <polacek@redhat.com>
4373
4374 PR c/64249
4375 * c-parser.c (c_parser_statement_after_labels): Add CHAIN parameter
4376 and pass it down to c_parser_if_statement.
4377 (c_parser_else_body): Add CHAIN parameter and pass it down to
4378 c_parser_statement_after_labels.
4379 (c_parser_if_statement): Add CHAIN parameter. Add code to warn about
4380 duplicated if-else-if conditions.
4381
aabef2de
MP
43822015-10-01 Marek Polacek <polacek@redhat.com>
4383
4384 * c-typeck.c (convert_for_assignment): Improve commentary.
4385
de8ddd5f
MP
43862015-09-30 Marek Polacek <polacek@redhat.com>
4387
4388 PR c/67730
4389 * c-typeck.c (c_finish_return): Use the expansion point location for
4390 certain "return with value" warnings.
4391
c4914de6
MLI
43922015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
4393
4394 * c-parser.c (pragma_lex): Add loc argument.
4395
0e36f5c7
MP
43962015-09-15 Marek Polacek <polacek@redhat.com>
4397
4398 PR c/67580
4399 * c-decl.c (tag_exists_p): New function.
4400 * c-parser.c (c_parser_declaration_or_fndef): Give a hint when
4401 struct/union/enum keywords are missing.
4402 * c-tree.h (tag_exists_p): Declare.
4403
2f3bb934
MP
44042015-09-15 Marek Polacek <polacek@redhat.com>
4405
4406 * c-decl.c (lookup_label): Return NULL_TREE instead of 0.
4407 (lookup_tag): Change the type of THISLEVEL_ONLY to bool.
4408 Return NULL_TREE instead of 0.
4409 (lookup_name): Return NULL_TREE instead of 0.
4410 (lookup_name_in_scope): Likewise.
4411 (shadow_tag_warned): Use true instead of 1 and NULL_TREE instead of 0.
4412 (parser_xref_tag): Use false instead of 0.
4413 (start_struct): Use true instead of 1.
4414 (start_enum): Use true instead of 1 and NULL_TREE instead of 0.
4415
aa256c4a
MP
44162015-09-14 Marek Polacek <polacek@redhat.com>
4417
4418 * c-typeck.c (set_nonincremental_init_from_string): Use
4419 HOST_WIDE_INT_M1U when shifting a negative value.
4420
dbb68221
MW
44212015-09-09 Mark Wielaard <mjw@redhat.com>
4422
4423 * c-typeck.c (build_binary_op): Check and warn when nonnull arg
4424 parm against NULL.
4425
a8a098ac
JJ
44262015-09-10 Jakub Jelinek <jakub@redhat.com>
4427
4428 PR c/67502
4429 * c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts
4430 into OMP_FOR_PRE_BODY rather than before the loop.
4431
f4b189d5
JJ
44322015-09-09 Jakub Jelinek <jakub@redhat.com>
4433
0bb99c11
JJ
4434 PR c/67501
4435 * c-parser.c (c_parser_oacc_all_clauses,
4436 c_parser_omp_all_clauses): Remove invalid clause from
4437 list of clauses even if parser->error is set.
4438
fce5e5e3
JJ
4439 PR c/67500
4440 * c-parser.c (c_parser_omp_clause_aligned,
4441 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen): Fix up
4442 test for errors.
4443 * c-decl.c (temp_pop_parm_decls): Allow b->decl equal to
4444 error_mark_node.
4445
f4b189d5
JJ
4446 PR c/67495
4447 * c-parser.c (c_parser_omp_atomic): Use c_parser_cast_expression
4448 instead of c_parser_unary_expression. If the result is !lvalue_p,
4449 wrap the result of c_fully_fold into NON_LVALUE_EXPR.
4450
b2aaf235
MP
44512015-09-04 Marek Polacek <polacek@redhat.com>
4452
4453 PR sanitizer/67279
4454 * c-typeck.c (build_binary_op): Don't instrument static initializers.
4455
1807ffc1
MS
44562015-09-03 Martin Sebor <msebor@redhat.com>
4457
4458 PR c/66516
8b652e65
JJ
4459 * c-typeck.c (convert_arguments, parser_build_unary_op,
4460 build_conditional_expr, c_cast_expr, convert_for_assignment,
4461 build_binary_op, _objc_common_truthvalue_conversion): Call
1807ffc1
MS
4462 reject_gcc_builtin.
4463 (c_decl_implicit): Define.
4464
d04ff417
MP
44652015-09-02 Marek Polacek <polacek@redhat.com>
4466
4467 PR c/67432
4468 * c-parser.c (c_parser_enum_specifier): Give a better error for
4469 an empty enum.
4470
a79683d5
TS
44712015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
4472
4473 * c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.
4474
191a6b94
MP
44752015-08-12 Marek Polacek <polacek@redhat.com>
4476
4477 * c-decl.c (grokdeclarator): Call error_at instead of error and pass
4478 LOC to it.
4479
420a9d9b
MP
44802015-08-03 Marek Polacek <polacek@redhat.com>
4481
4482 PR c/67088
4483 * c-decl.c (check_bitfield_type_and_width): Add location parameter.
4484 Use it.
4485 (grokdeclarator): Pass LOC down to check_bitfield_type_and_width.
4486
992118a1
PP
44872015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4488
4489 * c-parser.c (c_parser_if_body): Take token_indent_info
4490 argument. Call warn_for_misleading_indentation even when the
4491 body is a semicolon. Extract token_indent_infos corresponding
4492 to the guard, body and next tokens. Adjust call to
4493 warn_for_misleading_indentation accordingly.
4494 (c_parser_else_body): Likewise.
4495 (c_parser_if_statement): Likewise.
4496 (c_parser_while_statement): Likewise.
4497 (c_parser_for_statement): Likewise.
4498
46308474
LFSM
44992015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
4500 Manuel López-Ibáñez <manu@gcc.gnu.org>
4501
4502 * c-decl.c (get_parm_info): Remove static var. Update warning
4503 message.
4504
05b28fd6
MP
45052015-07-27 Marek Polacek <polacek@redhat.com>
4506
4507 PR c++/66555
4508 PR c/54979
4509 * c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp.
4510
451b5e48
MP
45112015-07-20 Marek Polacek <polacek@redhat.com>
4512
4513 PR c++/55095
4514 * c-typeck.c (digest_init): Pass OPT_Wpedantic to pedwarn_init.
4515 (build_binary_op): Warn about left shift overflows.
4516
1916bcb5
AM
45172015-07-09 Andrew MacLeod <amacleod@redhat.com>
4518
4519 * c-array-notation.c: Adjust includes for flags.h changes.
4520 * c-objc-common.c: Likewise.
4521
c7131fb2
AM
45222015-07-07 Andrew MacLeod <amacleod@redhat.com>
4523
4524 * c-array-notation.c: Adjust includes.
4525 * c-aux-info.c: Likewise.
4526 * c-convert.c: Likewise.
4527 * c-decl.c: Likewise.
4528 * c-errors.c: Likewise.
4529 * c-lang.c: Likewise.
4530 * c-objc-common.c: Likewise.
4531 * c-parser.c: Likewise.
4532 * c-typeck.c: Likewise.
4533
da2e71c9
MLI
45342015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4535
4536 PR fortran/66605
4537 * c-decl.c (finish_function): Call do_warn_unused_parameter.
4538
b155cfd9
MP
45392015-06-29 Marek Polacek <polacek@redhat.com>
4540
4541 PR c/66322
4542 * c-typeck.c (struct c_switch): Add BOOL_COND_P and OUTSIDE_RANGE_P.
4543 (c_start_case): Set BOOL_COND_P and OUTSIDE_RANGE_P. Don't warn
4544 about -Wswitch-bool here.
4545 (do_case): Update c_add_case_label call.
4546 (c_finish_case): Update c_do_switch_warnings call.
4547
31521951
MP
45482015-06-27 Marek Polacek <polacek@redhat.com>
4549
4550 * c-typeck.c: Use VECTOR_TYPE_P throughout.
4551
22d03525
MP
45522015-06-26 Marek Polacek <polacek@redhat.com>
4553
4554 * c-array-notation.c (fix_builtin_array_notation_fn): Use
4555 INDIRECT_REF_P.
4556 * c-typeck.c (array_to_pointer_conversion): Likewise.
4557 (build_unary_op): Likewise.
4558 (c_finish_return): Likewise.
4559
f0889939
AM
45602015-06-25 Andrew MacLeod <amacleod@redhat.com>
4561
4562 * c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
4563 * c-parser.c: Likewise.
4564
8d67ee55
RS
45652015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4566
4567 * c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
4568 instead of pointer_hash.
4569 (detect_field_duplicates): Likewise.
4570
0ae9bd27
MP
45712015-06-25 Marek Polacek <polacek@redhat.com>
4572
4573 * c-array-notation.c: Use VAR_P throughout.
4574 * c-decl.c: Likewise.
4575 * c-objc-common.c: Likewise.
4576 * c-parser.c: Likewise.
4577 * c-typeck.c: Likewise.
4578
62f9079a
MP
45792015-06-25 Marek Polacek <polacek@redhat.com>
4580
4581 * c-decl.c: Use is_global_var throughout.
4582 * c-parser.c: Likewise.
4583 * c-typeck.c: Likewise.
4584
abb226c9
AM
45852015-06-17 Andrew MacLeod <amacleod@redhat.com>
4586
4587 * c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
4588 * c-aux-info.c: Likewise.
4589 * c-convert.c: Likewise.
4590 * c-decl.c: Likewise.
4591 * c-errors.c: Likewise.
4592 * c-lang.c: Likewise.
4593 * c-objc-common.c: Likewise.
4594 * c-parser.c: Likewise.
4595 * c-typeck.c: Likewise.
4596
8cbababc
JH
45972015-06-11 Jan Hubicka <hubicka@ucw.cz>
4598
4599 PR middle-end/66325
4600 * c-decl.c (start_enum): Set TYPE_PACKED consistently among type
4601 variants.
4602
a0349665
PMR
46032015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
4604
4605 * c-decl.c (pop_scope): Register the main translation unit
4606 through the new debug hook.
4607
13fdf2e2
AM
46082015-06-08 Andrew MacLeod <amacleod@redhat.com>
4609
4610 * c-array-notation.c : Adjust include files.
4611 * c-aux-info.c : Likewise.
4612 * c-convert.c : Likewise.
4613 * c-decl.c : Likewise.
4614 * c-errors.c : Likewise.
4615 * c-lang.c : Likewise.
4616 * c-lang.h : Likewise.
4617 * c-objc-common.c : Likewise.
4618 * c-parser.c : Likewise.
4619 * c-typeck.c : Likewise.
4620
d7438551
AH
46212015-06-05 Aldy Hernandez <aldyh@redhat.com>
4622
4623 * c-decl.c (finish_struct): Save C_TYPE_INCOMPLETE_VARS and
4624 immediately clobber it.
4625 (c_write_global_declarations_1): Remove call to
4626 check_global_declaration_1.
4627 (c_write_global_declarations_2): Remove.
4628 (c_write_final_cleanups): Rename from c_write_global_declarations.
4629 Remove call to finalize_compilation_unit.
4630 Remove calls to debugging hooks.
4631 * c-objc-common.c: Adjust comment for c_warn_unused_global_decl.
4632 * c-objc-common.h: Remove LANG_HOOKS_WRITE_GLOBALS.
4633 * c-tree.h: Remove c_write_global_declarations.
4634
ecb9f223
AM
46352015-06-04 Andrew MacLeod <amacleod@redhat.com>
4636
4637 * c-array-notation.c: Adjust includes for restructured coretypes.h.
4638 * c-aux-info.c: Likewise.
4639 * c-convert.c: Likewise.
4640 * c-decl.c: Likewise.
4641 * c-errors.c: Likewise.
4642 * c-lang.c: Likewise.
4643 * c-objc-common.c: Likewise.
4644 * c-parser.c: Likewise.
4645 * c-typeck.c: Likewise.
4646
9482b620
MP
46472015-06-04 Marek Polacek <polacek@redhat.com>
4648
4649 PR c/66341
4650 * c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if
4651 it is a lvalue.
4652
bc51ace3
PK
46532015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4654
4655 * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
4656 Warn for empty struct.
4657 (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct.
4658
ea5b45b6
AT
46592015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
4660
4661 * c-decl.c (start_function): Call plugin before parsing.
4662 (finish_function): Call plugin after parsing.
4663
c2d47482
PK
46642015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4665
4666 PR c/49551
4667 * c-decl.c (merge_decls): Merge DECL_COMMON.
4668
a95492ab
JW
46692015-05-22 Jim Wilson <jim.wilson@linaro.org>
4670
4671 * Make-lang.in (check_gcc_pallelize): Define.
4672
fd5c817a
MP
46732015-05-22 Marek Polacek <polacek@redhat.com>
4674
4675 PR c/47043
4676 * c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
4677 attributes.
4678
c7b70a3c
MP
46792015-05-21 Marek Polacek <polacek@redhat.com>
4680
4681 * c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
4682 DECL_BUILT_IN.
4683
21b634ae
MP
46842015-05-20 Marek Polacek <polacek@redhat.com>
4685
4686 * c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
4687 * c-typeck.c: Likewise.
4688
296a8c2f
MP
46892015-05-19 Marek Polacek <polacek@redhat.com>
4690
4691 * c-typeck.c (start_init): Use AGGREGATE_TYPE_P.
4692
41b37d5e
JJ
46932015-05-19 Jakub Jelinek <jakub@redhat.com>
4694
4695 PR middle-end/66199
4696 * c-parser.c (c_parser_omp_for_loop): Don't add
4697 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
4698 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
4699 (c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
4700 constructs.
4701
fab27f52
MM
47022015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
4703
4704 * c-typeck.c (build_array_ref): Use std::swap instead of explicit
296a8c2f 4705 swaps.
fab27f52 4706
40de31cf
MLI
47072015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
4708
4709 PR fortran/44054
4710 * c-objc-common.c (c_tree_printer): Replace locus pointer with
4711 accessor function.
4712
3aa3c9fc
MP
47132015-05-14 Marek Polacek <polacek@redhat.com>
4714
4715 PR c/66066
4716 PR c/66127
4717 * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
4718 rather than with 0.
4719
c3388e62
DM
47202015-05-12 David Malcolm <dmalcolm@redhat.com>
4721
4722 * c-parser.c (c_parser_if_body): Add param "if_loc", use it
4723 to add a call to warn_for_misleading_indentation.
4724 (c_parser_else_body): Likewise, adding param "else_loc".
4725 (c_parser_if_statement): Check for misleading indentation.
4726 (c_parser_while_statement): Likewise.
4727 (c_parser_for_statement): Likewise.
4728
755e528f
MP
47292015-05-08 Marek Polacek <polacek@redhat.com>
4730
4731 PR c/64918
4732 * c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
4733 (output_init_element): Likewise.
4734
0173bd2a
MP
47352015-05-07 Marek Polacek <polacek@redhat.com>
4736
4737 PR c/65179
4738 * c-typeck.c (build_binary_op): Warn when left shifting a negative
4739 value.
4740
9babc352
MP
47412015-04-30 Marek Polacek <polacek@redhat.com>
4742
4743 * c-typeck.c (set_init_label): Call error_at instead of error and
4744 pass LOC to it.
4745
ac9f18db
MP
4746 * c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print
4747 the type of a decl.
4748
ec3fba51
MP
4749 * c-typeck.c (c_build_va_arg): Clarify the error message.
4750
b811915d
TS
47512015-04-29 Thomas Schwinge <thomas@codesourcery.com>
4752
4753 * c-parser.c (c_parser_oacc_enter_exit_data): Use
4754 OMP_STANDALONE_CLAUSES.
4755
f3075008
MP
47562015-04-28 Marek Polacek <polacek@redhat.com>
4757
4758 * c-parser.c (c_parser_binary_expression): Remove duplicate line.
4759
4e81b788
MP
47602015-04-28 Marek Polacek <polacek@redhat.com>
4761
4762 PR c/65901
4763 * c-typeck.c (c_build_va_arg): Require TYPE be a complete type.
4764
6c1db78e
MP
47652015-04-25 Marek Polacek <polacek@redhat.com>
4766
4767 PR c/52085
4768 * c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode"
4769 attribute.
4770
5c4abbb8
MP
47712015-04-23 Marek Polacek <polacek@redhat.com>
4772
4773 PR c/65345
4774 * c-decl.c (set_labels_context_r): New function.
4775 (store_parm_decls): Call it via walk_tree_without_duplicates.
4776 * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
4777 instead of create_tmp_var. Build TARGET_EXPR instead of
4778 COMPOUND_EXPR.
4779 (build_atomic_assign): Use create_tmp_var_raw instead of
4780 create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR.
4781
06aca1d5
IV
47822015-04-20 Ilya Verbin <ilya.verbin@intel.com>
4783
4784 * c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon.
4785 (c_parser_omp_target_update): Add missed %> to error_at ().
4786
8fba1830
BRF
47872015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
4788
4789 PR target/55143
4790 * c-decl.c (c_default_pointer_mode): Remove definition.
4791 * c-tree.h (c_default_pointer_mode): Remove declaration.
4792
62021f64
TB
47932015-03-27 Tobias Burnus <burnus@net-b.de>
4794
4795 PR c/65586
4796 * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
4797 error out.
4798 (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
4799 c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
4800 Update calls to not error for skipped omp pragmas with -fopenmp-simd.
4801
9b65e171
JJ
48022015-03-19 Jakub Jelinek <jakub@redhat.com>
4803
4804 * c-decl.c (c_decl_attributes): Also add "omp declare target"
4805 attribute for DECL_EXTERNAL VAR_DECLs.
4806
17958621
JJ
48072015-03-11 Jakub Jelinek <jakub@redhat.com>
4808
4809 * c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
4810 argument.
4811
7ccb1a11
JJ
48122015-03-10 Jakub Jelinek <jakub@redhat.com>
4813
4814 PR c/65120
4815 * c-typeck.c (parser_build_binary_op): Check for tcc_comparison
4816 before preparing arguments to warn_logical_not_parentheses.
4817
01177669
JJ
48182015-03-09 Jakub Jelinek <jakub@redhat.com>
4819
4820 PR c/65120
4821 * c-typeck.c (parser_build_binary_op): Don't warn for
4822 !!x == y or !b == y where b is _Bool.
4823
802ac282
MP
48242015-03-09 Marek Polacek <polacek@redhat.com>
4825
4826 * c-convert.c (convert): Make use of do_ubsan_in_current_function.
4827 * c-decl.c (grokdeclarator): Likewise.
4828 * c-typeck.c (build_binary_op): Likewise.
4829
e5165b60
MP
48302015-02-27 Marek Polacek <polacek@redhat.com>
4831
4832 PR c/65228
4833 * c-decl.c (start_decl): Return NULL_TREE if decl is an error node.
4834
065d214c
MP
48352015-02-14 Marek Polacek <polacek@redhat.com>
4836
4837 PR c/64768
4838 * c-decl.c (grokdeclarator): Set the range of a flexible array member
4839 declared through a typedef name.
4840
e5d9235b
MP
48412015-02-13 Marek Polacek <polacek@redhat.com>
4842
4843 PR c/65050
4844 * c-decl.c (grokdeclarator): Print also the type when giving
4845 the error message about array's incomplete element type.
4846
fa01ffcc
JJ
48472015-02-11 Jakub Jelinek <jakub@redhat.com>
4848
4849 PR c/64824
4850 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
4851 check in the POP macro.
4852
c3e38a03
MP
48532015-02-09 Marek Polacek <polacek@redhat.com>
4854
4855 PR c/64856
4856 * c-typeck.c (process_init_element): Don't always wrap
4857 COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
4858 initializing a range of elements.
4859
4886ec8e
JJ
48602015-02-04 Jakub Jelinek <jakub@redhat.com>
4861
4862 PR c/64824
4863 PR c/64868
4864 * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
4865
c3e38a03 48662015-02-02 Bruno Loff <bruno.loff@gmail.com>
a4bb6959
BL
4867
4868 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
4869 processing enum declaration.
4870
7b33f0c8
MP
48712015-01-29 Marek Polacek <polacek@redhat.com>
4872
4873 PR c/64709
4874 * c-typeck.c (pop_init_level): If constructor_elements has
4875 exactly one element with integer_zerop value, set constructor_zeroinit
4876 to 1. Remove braces around warning_init call.
4877
dea63e49
JJ
48782015-01-27 Jakub Jelinek <jakub@redhat.com>
4879
4880 PR c/64766
4881 * c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
4882 of FUNCTION_DECLs with error_mark_node.
4883
d38f7dce
JJ
48842015-01-26 Jakub Jelinek <jakub@redhat.com>
4885
4886 PR c/64778
4887 * c-typeck.c (convert_arguments): Return -1 if there are
4888 error_args, even if we've diagnosed too many arguments.
4889
cbf5d0e7
RB
48902015-01-21 Richard Biener <rguenther@suse.de>
4891
4892 PR middle-end/64313
4893 * c-decl.c (merge_decls): Call set_builtin_decl_declared_p
4894 for builtins the user declared correctly.
4895
41dbbb37
TS
48962015-01-15 Thomas Schwinge <thomas@codesourcery.com>
4897 Bernd Schmidt <bernds@codesourcery.com>
4898 Cesar Philippidis <cesar@codesourcery.com>
4899 James Norris <jnorris@codesourcery.com>
4900 Jakub Jelinek <jakub@redhat.com>
4901 Ilmir Usmanov <i.usmanov@samsung.com>
4902
4903 * c-parser.c: Include "gomp-constants.h".
4904 (c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
4905 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
4906 Use OMP_CLAUSE_SET_MAP_KIND.
4907 (c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
4908 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
4909 (c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
4910 PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
4911 PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
4912 (c_parser_omp_clause_name): Handle "auto", "async", "copy",
4913 "copyout", "create", "delete", "deviceptr", "gang", "host",
4914 "num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
4915 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
4916 "present_or_create", "pcreate", "seq", "self", "vector",
4917 "vector_length", "wait", "worker".
4918 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
4919 (OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
4920 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
4921 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
4922 (c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
4923 (c_parser_oacc_wait_list, c_parser_oacc_data_clause)
4924 (c_parser_oacc_data_clause_deviceptr)
4925 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
4926 (c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
4927 (c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
4928 (c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
4929 (c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
4930 (c_parser_oacc_parallel, c_parser_oacc_update)
4931 (c_parser_oacc_wait): New functions.
4932 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
4933 (c_finish_oacc_data): New prototypes.
4934 * c-typeck.c: Include "gomp-constants.h".
4935 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
4936 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
4937 OMP_CLAUSE_SET_MAP_KIND.
4938 (c_finish_oacc_parallel, c_finish_oacc_kernels)
4939 (c_finish_oacc_data): New functions.
4940 (c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
4941 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
4942 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
4943 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
4944 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
4945 GOMP_MAP_FORCE_DEVICEPTR.
4946
adfac8df
JJ
49472015-01-09 Michael Collison <michael.collison@linaro.org>
4948
4949 * c-array-notation.c: Include hash-set.h, machmode.h,
4950 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4951 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
4952 * c-aux-info.c: Ditto.
4953 * c-convert.c: Ditto.
4954 * c-decl.c: Ditto.
4955 * c-errors.c: Ditto.
4956 * c-lang.c: Dittoxs.
4957 * c-objc-common.c: Ditto.
4958 * c-parser.c: Ditto.
4959 * c-typeck.c: Include hash-set.h, machmode.h,
4960 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4961 fold-const.h, wide-int.h, inchash.h, real.h and
4962 fixed-value.h due to flattening of tree.h.
4963
2cc901dc
MP
49642015-01-07 Marek Polacek <polacek@redhat.com>
4965
4966 PR c/64417
4967 * c-typeck.c (process_init_element): Disallow initialization of
4968 a flexible array member with a string constant if the structure
4969 is in an array.
4970
5624e564
JJ
49712015-01-05 Jakub Jelinek <jakub@redhat.com>
4972
e5341100
JJ
4973 PR sanitizer/64344
4974 * c-typeck.c (convert_for_assignment, c_finish_return): For
4975 -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
4976 types also set in_late_binary_op around convert call.
4977 * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
4978 to integral type casts, if not in_late_binary_op, pass c_fully_fold
4979 result on expr as last argument to ubsan_instrument_float_cast,
4980 if in_late_binary_op, don't use c_save_expr but save_expr.
4981
5624e564
JJ
4982 Update copyright years.
4983
5bd012f8
MP
49842015-01-05 Marek Polacek <polacek@redhat.com>
4985
4986 PR c/64423
4987 * c-typeck.c (build_array_ref): Pass loc down to
4988 warn_array_subscript_with_type_char.
4989
3f8257db 49902014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
4991
4992 * c-typeck.c: New behavious for pointers to arrays with qualifiers
8e745a17 4993 (common-pointer-type): For pointers to arrays take qualifiers from
768952be 4994 element type.
8e745a17 4995 (build_conditional_expr): Add warnings for lost qualifiers.
768952be 4996 (comp-target-types): Allow pointers to arrays with different qualifiers.
8e745a17 4997 (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
768952be 4998 WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
8e745a17 4999 to PEDWARN_FOR_QUALIFIERS.
768952be 5000
8f94a8c4
JJ
50012014-12-17 Jakub Jelinek <jakub@redhat.com>
5002
5003 PR sanitizer/64289
5004 * c-convert.c: Include ubsan.h.
5005 (convert): For real -> integral casts and
5006 -fsanitize=float-cast-overflow don't call convert_to_integer, but
5007 instead instrument the float cast directly.
5008
b731b390
JJ
50092014-11-29 Jakub Jelinek <jakub@redhat.com>
5010
5011 * c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
5012 c_finish_stmt_expr): Remove NULL last argument from
5013 create_tmp_var_raw and create_tmp_var calls.
5014 * c-array-notation.c (fix_builtin_array_notation_fn,
5015 build_array_notation_expr, fix_conditional_array_notations_1,
5016 fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
5017
541e35a6
MP
50182014-11-28 Marek Polacek <polacek@redhat.com>
5019
5020 PR c/63862
5021 * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
5022 convert the right operand to integer type.
5023
b286be94
MP
50242014-11-25 Marek Polacek <polacek@redhat.com>
5025
5026 PR c/63877
5027 * c-decl.c (start_function): Disable -Wmissing-declarations warning
5028 for inline functions.
5029
aa7da51a
JJ
50302014-11-21 Jakub Jelinek <jakub@redhat.com>
5031
5032 PR target/63764
5033 * c-typeck.c (build_array_ref): Adjust
5034 convert_vector_to_pointer_for_subscript caller. If it returns true,
5035 call non_lvalue_loc on the result.
5036
d876207f
RB
50372014-11-11 Richard Biener <rguenther@suse.de>
5038
5039 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
5040 to true.
5041
e5e44252
AK
50422014-11-10 Andi Kleen <ak@linux.intel.com>
5043
5044 PR c/60804
5045 * c-parser.c (c_parser_statement_after_labels): Call
5046 check_no_cilk.
5047 (c_parser_if_statement): Dito.
5048 (c_parser_switch_statement): Dito.
5049 (c_parser_while_statement): Dito.
5050 (c_parser_do_statement): Dito.
5051 (c_parser_for_statement): Dito.
5052 * c-typeck.c (c_finish_loop): Dito.
5053
13c21655
PC
50542014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
5055
5056 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
5057 OPT_Wshift_count_overflow in the warnings.
5058
2d51fcef
MP
50592014-10-30 Marek Polacek <polacek@redhat.com>
5060
5061 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
5062 print the stripped version as well, if they're not the same.
5063
ef4bddc2
RS
50642014-10-29 Richard Sandiford <richard.sandiford@arm.com>
5065
5066 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
5067 machine_mode.
5068
c582198b
AM
50692014-10-28 Andrew MacLeod <amacleod@redhat.com>
5070
5071 * c-decl.c: Adjust include files.
5072 * c-parser.c: Ditto.
5073
ddc8de03
PM
50742014-10-27 Phil Muldoon <pmuldoon@redhat.com>
5075 Tom Tromey <tromey@redhat.com>
5076
5077 * c-tree.h (enum c_oracle_request): New.
5078 (c_binding_oracle_function): New typedef.
5079 (c_binding_oracle, c_pushtag, c_bind): Declare.
5080 * c-decl.c (c_binding_oracle): New global.
5081 (I_SYMBOL_CHECKED): New macro.
5082 (i_symbol_binding): New function.
5083 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
5084 (I_TAG_CHECKED): New macro.
5085 (i_tag_binding): New function.
5086 (I_TAG_BINDING, I_TAG_DECL): Redefine.
5087 (I_LABEL_CHECKED): New macro.
5088 (i_label_binding): New function.
5089 (I_LABEL_BINDING, I_LABEL_DECL): Redefine.
5090 (c_print_identifier): Save and restore c_binding_oracle.
5091 (c_pushtag, c_bind): New functions.
5092
60393bbc
AM
50932014-10-27 Andrew MacLeod <amacleod@redhat.com>
5094
5095 * c-typeck.c: Adjust include files.
5096
d723bb7c
MLI
50972014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
5098
5099 PR c++/53061
5100 * c-objc-common.c (c_objc_common_init): Do not do diagnostics
5101 initialization here...
5102 (c_initialize_diagnostics): ... but here. Set defaults after
5103 building pretty-printer.
5104
1bc5a451
MP
51052014-10-23 Marek Polacek <polacek@redhat.com>
5106
5107 PR c/63626
5108 * c-decl.c (pop_scope): Don't print warning in external_scope.
5109
4435bb92
MP
51102014-10-19 Marek Polacek <polacek@redhat.com>
5111
5112 PR c/63567
5113 * c-typeck.c (output_init_element): Allow initializing objects with
5114 static storage duration with compound literals even in C99 and add
5115 pedwarn for it.
5116
7278465e
MP
51172014-10-17 Marek Polacek <polacek@redhat.com>
5118
5119 PR c/63567
5120 * c-typeck.c (digest_init): Allow initializing objects with static
5121 storage duration with compound literals even in C99 and add pedwarn
5122 for it.
5123
d9b7be2e
MP
51242014-10-17 Marek Polacek <polacek@redhat.com>
5125
5126 PR c/63543
5127 * c-tree.h (C_TYPE_ERROR_REPORTED): Define.
5128 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
5129 error multiple times. Print the type.
5130
f406ae1f
MP
51312014-10-17 Marek Polacek <polacek@redhat.com>
5132
5133 PR c/63549
5134 * c-typeck.c (build_array_ref): Bail if the index in an incomplete
5135 type.
5136
92574c7c
MP
51372014-10-17 Marek Polacek <polacek@redhat.com>
5138
5139 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
5140 (start_function): Use OPT_Wimplicit_int instead of 0.
5141 (store_parm_decls_oldstyle): Likewise.
5142
1bc4a978
MT
51432014-10-17 Alan Modra <amodra@gmail.com>
5144
5145 PR middle-end/61848
5146 * c-decl.c (merge_decls): Don't merge section name or tls model
5147 to newdecl symtab node, instead merge to olddecl. Override
5148 existing olddecl section name. Set tls_model for all thread-local
5149 vars, not just OMP thread-private ones. Remove incorrect comment.
5150
83685514
AM
51512014-10-16 Andrew MacLeod <amacleod@redhat.com>
5152
5153 * c-decl.c: Adjust include files.
5154
78a7c317
DD
51552014-10-14 DJ Delorie <dj@redhat.com>
5156
5157 * c-parser.c (c_parse_init): Add RID entries for each __intN.
5158 (c_token_starts_typename): Check all __intN, not just __int128.
5159 (c_token_starts_declspecs): Likewise.
5160 (c_parser_declspecs): Likewise.
5161 (c_parser_attribute_any_word): Likewise.
5162 (c_parser_objc_selector): Likewise.
5163 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
5164 (struct c_declspecs): Add int_n_idx field to record *which* __intN
5165 is specified.
5166 * c-decl.c (declspecs_add_type): Check for all __intN, not just
5167 __int128.
5168 (finish_declspecs): Likewise.
5169
74d98c1e
AB
51702014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
5171
8e745a17 5172 * c-parser.c (c_parser_all_labels): New function to replace
74d98c1e 5173 the duplicate code.
8e745a17 5174 (c_parser_statement): Call the new function.
74d98c1e 5175
84937de2
MP
51762014-10-09 Marek Polacek <polacek@redhat.com>
5177
5178 PR c/63480
5179 * c-typeck.c (pop_init_level): Don't warn about initializing
5180 with { }.
5181
0382aaa0
MP
51822014-10-07 Marek Polacek <polacek@redhat.com>
5183
5184 PR c/59717
5185 * c-decl.c (header_for_builtin_fn): New function.
5186 (implicitly_declare): Suggest which header to include.
5187
7a0ca710
MP
51882014-10-07 Marek Polacek <polacek@redhat.com>
5189
5190 * c-convert.c (convert): Use error_operand_p.
5191 * c-typeck.c (require_complete_type): Likewise.
5192 (really_atomic_lvalue): Likewise.
5193 (digest_init): Likewise.
5194 (handle_omp_array_sections_1): Likewise.
5195
6bc8a126
MP
51962014-10-03 Marek Polacek <polacek@redhat.com>
5197
5198 PR c/63453
5199 * c-decl.c (pop_scope): Don't warn about "inline function declared
5200 but never defined" for functions marked with gnu_inline attribute.
5201
d90c0a59
JJ
52022014-09-25 Jakub Jelinek <jakub@redhat.com>
5203
5204 PR c++/63249
5205 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
5206 on low_bound and length.
5207
083e891e
MP
52082014-09-24 Marek Polacek <polacek@redhat.com>
5209
5210 PR c/61405
5211 PR c/53874
5212 * c-parser.c: Don't define CPP_KEYWORD.
5213 (c_parser_switch_statement): Pass original type to c_finish_case.
5214 * c-tree.h (c_finish_case): Update declaration.
5215 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
5216 conditionally to c_do_switch_warnings.
5217
8d95fe25
MP
52182014-09-03 Marek Polacek <polacek@redhat.com>
5219
5220 PR c/62024
5221 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
5222 conversions.
5223
9a771876
JJ
52242014-09-02 Jakub Jelinek <jakub@redhat.com>
5225 Balaji V. Iyer <balaji.v.iyer@intel.com>
5226 Igor Zamyatin <igor.zamyatin@intel.com>
5227
5228 * c-parser.c (c_parser_cilk_for): New function.
5229 (c_parser_cilk_grainsize): Likewise.
5230 (c_get_temp_regvar): Likewise.
5231 (c_parser_statement_after_labels): Added RID_CILK_FOR case.
5232 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
5233 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
5234 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
5235 case.
5236
b7679d96
CG
52372014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
5238
5239 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
5240 with using HOST_WIDE_INT without truncation to 'int'
5241
59ea0364
MP
52422014-08-22 Marek Polacek <polacek@redhat.com>
5243
5244 PR c++/62199
5245 * c-typeck.c (parser_build_binary_op): Adjust call to
5246 warn_logical_not_parentheses.
5247
671a475e
IZ
52482014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
5249
5250 PR other/62008
5251 * c-parser.c (c_parser_array_notation): Check for correct
5252 type of an array added.
5253
04159acf
MP
52542014-08-19 Marek Polacek <polacek@redhat.com>
5255
5256 PR c++/62153
5257 * c-typeck.c (build_binary_op): If either operand of a comparison
5258 is a boolean expression, call maybe_warn_bool_compare.
5259
c77935ee
PP
52602014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
5261
5262 PR c/45584
5263 * c-typeck.c (build_c_cast): Do a conversion even when the
5264 TYPE_MAIN_VARIANTs are the same.
5265
35aff4fb
MP
52662014-08-19 Marek Polacek <polacek@redhat.com>
5267
5268 * c-decl.c (diagnose_mismatched_decls): Unconditionally call
5269 pedwarn_c99 instead of pedwarn.
5270 (grokfield): Likewise.
5271 (warn_defaults_to): New function.
5272 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
5273 Unconditionally call pedwarn_c99 instead of pedwarn.
5274 (start_function): Call warn_defaults_to instead of pedwarn_c99.
5275 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
5276 check flag_isoc11 before.
5277 * c-errors.c (pedwarn_c99): Change the return type to bool.
5278 Handle -Wc99-c11-compat.
5279 * c-parser.c (disable_extension_diagnostics): Handle
5280 warn_c99_c11_compat.
5281 (restore_extension_diagnostics): Likewise.
5282 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
5283 instead of pedwarn, don't check flag_isoc11 before.
5284 (c_parser_declspecs): Likewise.
5285 (c_parser_alignas_specifier): Likewise.
5286 (c_parser_alignof_expression): Likewise.
5287 (c_parser_generic_selection): Likewise.
5288 * c-tree.h (pedwarn_c99): Update declaration.
5289 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
5290 of pedwarn_c99.
5291
177cce46
MP
52922014-08-19 Marek Polacek <polacek@redhat.com>
5293
5294 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
5295 to pedwarn_c90.
5296 * c-errors.c: Include "opts.h".
5297 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
5298 * c-parser.c (disable_extension_diagnostics): Handle negative value
5299 of warn_c90_c99_compat, too.
5300 (restore_extension_diagnostics): Likewise.
5301 (c_parser_compound_statement_nostart): Pass
5302 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
5303
6dc99c33
MP
53042014-08-12 Marek Polacek <polacek@redhat.com>
5305
5306 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
5307 Add pedwarn.
5308 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
5309 Likewise.
5310 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
5311
3f8257db 53122014-08-10 Marek Polacek <polacek@redhat.com>
f3bede71
MP
5313
5314 PR c/51849
5315 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
5316 Call pedwarn_c90 instead of pedwarn.
5317 (check_bitfield_type_and_width): Likewise.
5318 (declspecs_add_qual): Likewise.
5319 (declspecs_add_type): Likewise.
5320 (warn_variable_length_array): Unify function for -pedantic and -Wvla.
5321 Adjust to only call pedwarn_c90.
5322 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
5323 pedwarn_c90 instead of pedwarn.
5324 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
5325 * c-parser.c (disable_extension_diagnostics): Handle
5326 warn_c90_c99_compat.
5327 (restore_extension_diagnostics): Likewise.
5328 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call
5329 pedwarn_c90 instead of pedwarn.
5330 (c_parser_initelt): Likewise.
5331 (c_parser_postfix_expression): Likewise.
5332 (c_parser_postfix_expression_after_paren_type): Likewise.
5333 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
5334 * c-tree.h: Fix formatting.
5335 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
5336 pedwarn_c90 instead of pedwarn.
5337
9f25a338
TS
53382014-08-07 Trevor Saunders <tsaunders@mozilla.com>
5339
5340 * c-typeck.c: Remove include of pointer-set.h.
5341
044331a8
MP
53422014-08-07 Marek Polacek <polacek@redhat.com>
5343
5344 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
5345
b787e7a2
TS
53462014-08-02 Trevor Saunders <tsaunders@mozilla.com>
5347
5348 * c-typeck.c: Use hash_map instead of pointer_map.
5349
6e2830c3
TS
53502014-08-02 Trevor Saunders <tsaunders@mozilla.com>
5351
5352 * c-decl.c: Use hash_set instead of pointer_set.
5353
a7ee52fb
IZ
53542014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
5355
5356 PR middle-end/61455
5357 * c-array-notation.c (expand_array_notations): Handling
5358 of DECL_EXPR added.
5359
b4dfdc11
MG
53602014-07-31 Marc Glisse <marc.glisse@inria.fr>
5361
5362 PR c++/60517
5363 * c-typeck.c (c_finish_return): Return 0 instead of the address of
5364 a local variable.
5365
976d5a22
TT
53662014-07-30 Tom Tromey <tromey@redhat.com>
5367
5368 * c-typeck.c (struct constructor_stack) <designator_depth>: New
5369 field.
5370 (really_start_incremental_init, push_init_level): Initialize
5371 designator_depth.
5372 (pop_init_level): Set global designator_depth.
5373 (process_init_element): Check for designated_init attribute.
5374
30281de2
MP
53752014-07-20 Marek Polacek <polacek@redhat.com>
5376
5377 PR c/61852
5378 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
5379 (implicitly_declare): Pass location to implicit_decl_warning.
5380
b108f48f
JJ
53812014-07-14 Jakub Jelinek <jakub@redhat.com>
5382
5383 PR middle-end/61294
5384 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
5385 If non-NULL, call c_parser_check_literal_zero.
5386 (c_parser_check_literal_zero): New function.
5387 (c_parser_postfix_expression_after_primary): Adjust
5388 c_parser_expr_list caller, handle -Wmemset-transposed-args.
5389
773ec47f
MP
53902014-07-06 Marek Polacek <polacek@redhat.com>
5391
5392 PR c/6940
5393 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
5394 * c-tree.h (C_ARRAY_PARAMETER): Define.
5395 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
5396 function parameter.
5397
22e1cf1c 53982014-07-02 Jan Hubicka <hubicka@ucw.cz>
3f8257db 5399 Chen Gang <gang.chen.5i5j@gmail.com>
22e1cf1c
JH
5400
5401 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
5402 releasing symbol.
5403
52ec0ea3
MP
54042014-07-01 Marek Polacek <polacek@redhat.com>
5405
5406 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
5407 instead of 0 to WARN_FOR_ASSIGNMENT.
5408
d5c3d343
MP
54092014-07-01 Marek Polacek <polacek@redhat.com>
5410
5411 PR c/58286
5412 * c-typeck.c (convert_for_assignment): Pass
5413 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
5414
6a7253a4
MP
54152014-06-30 Marek Polacek <polacek@redhat.com>
5416
5417 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function
5418 has no_sanitize_undefined attribute.
5419
5e88a8f4
IZ
54202014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
5421
5422 PR middle-end/57541
5423 * c-array-notation.c (fix_builtin_array_notation_fn):
5424 Check for 0 arguments in builtin call. Check that bultin argument is
5425 correct.
5426 * c-parser.c (c_parser_array_notation): Check for incorrect initial
5427 index.
5428
9698b078
SH
54292014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
5430
5431 * c-parser.c (c_parser_declaration_or_fndef): Discard all type
5432 qualifiers in __auto_type for atomic types.
5433 (c_parser_typeof_specifier): Discard all type qualifiers in
5434 __typeof__ for atomic types.
5435
6e07c515
MP
54362014-06-25 Marek Polacek <polacek@redhat.com>
5437
5438 PR c/61162
5439 * c-parser.c (c_parser_statement_after_labels): Pass the location of
5440 the return expression to c_finish_return.
5441
da6f124d
JJ
54422014-06-25 Jakub Jelinek <jakub@redhat.com>
5443
5444 * c-typeck.c (c_finish_omp_clauses): Make sure
5445 OMP_CLAUSE_LINEAR_STEP has correct type.
5446
c203e8a7
TS
54472014-06-24 Trevor Saunders <tsaunders@mozilla.com>
5448
5449 * c-decl.c: Adjust.
5450
56ad0e38
JJ
54512014-06-24 Jakub Jelinek <jakub@redhat.com>
5452
5453 * c-parser.c (c_parser_omp_for_loop): For
5454 #pragma omp parallel for simd move lastprivate clause from parallel
5455 to for rather than simd.
5456
47c2554f
MP
54572014-06-23 Marek Polacek <polacek@redhat.com>
5458
5459 * c-typeck.c (parser_build_binary_op): Don't call
5460 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
5461
56363ffd
JH
54622014-06-15 Jan Hubicka <hubicka@ucw.cz>
5463
5464 * c-parser.c (c_parser_omp_threadprivate): Likewise.
5465 * c-decl.c (merge_decls): Likewise.
5466
d7ff7ae5
MP
54672014-06-09 Marek Polacek <polacek@redhat.com>
5468
5469 PR c/36446
5470 * c-typeck.c (error_init): Call inform instead of error_at.
5471 (pedwarn_init): Call inform instead of pedwarn.
5472 (warning_init): Call inform instead of warning_at.
5473
24d047a3
JH
54742014-06-07 Jan Hubicka <hubicka@ucw.cz>
5475
5476 * c-decl.c (merge_decls): Use set_decl_section_name.
5477 (duplicate_decls): Remove node if it exists.
5478
9bac5cbb
G
54792014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
5480
5481 PR c/53119
5482 * c-typeck.c (push_init_level, process_init_element,
5483 pop_init_level): Correct check for zero initialization, move
5484 missing brace warning to respect zero initialization.
5485
8ffcdea8
MP
54862014-06-05 Marek Polacek <polacek@redhat.com>
5487
5488 PR c/56724
5489 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
5490
742938c9
MP
54912014-06-05 Marek Polacek <polacek@redhat.com>
5492
5493 PR c/49706
5494 * c-typeck.c (parser_build_binary_op): Warn when logical not is used
ab20d992 5495 on the left hand side operand of a comparison.
742938c9 5496
6447c55d
MP
54972014-06-05 Marek Polacek <polacek@redhat.com>
5498
5499 PR c/48062
5500 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
5501 Print note only if the warning was printed.
5502
9dc7743c
IZ
55032014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
5504
5505 PR c/58942
5506 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
5507 with a pointer.
5508
fedfecef
MP
55092014-06-03 Marek Polacek <polacek@redhat.com>
5510
5511 PR c/60439
5512 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
5513 c_start_case.
5514 * c-tree.h (c_start_case): Update.
5515 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if
5516 switch condition has boolean value.
5517
9b2b7279
AM
55182014-06-02 Andrew MacLeod <amacleod@redhat.com>
5519
5520 * c-decl.c: Include builtins.h.
5521 * c-parser.c: Likewise.
5522
5c1bc275
MP
55232014-05-27 Marek Polacek <polacek@redhat.com>
5524
5525 PR c/56724
5526 * c-typeck.c (convert_arguments): Get location of a parameter. Change
5527 error and warning calls to error_at and warning_at. Pass location of
5528 a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
5529 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
5530 WARN_FOR_QUALIFIERS. Pass expr_loc to those.
5531
97563bc8
IZ
55322014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
5533
5534 PR c/61191
5535 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
5536 function parameters.
5537
aede2c10
JH
55382014-05-23 Jan Hubicka <hubicka@ucw.cz>
5539
5540 * c-decl.c (merge_decls): Preserve symtab node pointers.
5541 (duplicate_decls): Free new decl.
5542
edbba2ce
TS
55432014-05-23 Thomas Schwinge <thomas@codesourcery.com>
5544
f3316c6d
TS
5545 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
5546 initialization.
5547
edbba2ce
TS
5548 * c-parser.c (c_parser_omp_target): Return bool values.
5549
68c81f24
TS
55502014-05-22 Thomas Schwinge <thomas@codesourcery.com>
5551
5552 * c-parser.c (c_parser_omp_clause_thread_limit): Rename
5553 num_teams_loc variable to num_thread_limit_loc.
5554
632f2871
RS
55552014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
5556
5557 * c-array-notation.c (expand_array_notations): Use void_node
5558 instead of void_zero_node.
5559
766090c2
TS
55602014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5561
5562 * c-decl.c (finish_struct): Adjust.
5563 (finish_enum): Likewise.
5564 (bind): Adjust.
5565 (record_inline_static): Likewise.
5566 (push_scope): Likewise.
5567 (make_label): Likewise.
5568 (lookup_label_for_goto): Likewise.
5569 (finish_struct): Likewise.
5570 (finish_enum): Likewise.
5571 (store_parm_decls): Likewise.
5572 (c_push_function_context): Likewise.
5573 * c-lang.h: Remove usage of variable_size gty attribute.
5574 * c-parser.c (c_parse_init): Adjust.
5575 (c_parse_file): Likewise.
5576
2b107f6b
MP
55772014-05-13 Marek Polacek <polacek@redhat.com>
5578
5579 PR c/61162
5580 * c-typeck.c (convert_for_assignment): Pass location to
5581 WARN_FOR_ASSIGNMENT instead of input_location.
5582
d033409e
MP
55832014-05-10 Marek Polacek <polacek@redhat.com>
5584
5585 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
5586 maybe_warn_string_init.
5587 (c_parser_postfix_expression_after_paren_type): Pass type_loc to
5588 maybe_warn_string_init.
5589 * c-tree.h (maybe_warn_string_init): Update declaration.
5590 * c-typeck.c (maybe_warn_string_init): Add location parameter.
5591 Call pedwarn_init with loc instead of with input_location.
5592 (digest_init): Pass init_loc to maybe_warn_string_init.
5593 (pop_init_level): Call pedwarn_init with loc instead of with
5594 input_location.
5595 (set_init_index): Likewise.
5596 (process_init_element): Likewise.
5597
ea58ef42
MP
55982014-05-09 Marek Polacek <polacek@redhat.com>
5599
5600 PR c/61096
5601 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
5602 (c_parser_initelt): Pass location to set_init_label. Pass array index
5603 location to set_init_index.
5604 * c-tree.h (push_init_level): Update declaration.
5605 (pop_init_level): Likewise.
5606 (set_init_index): Likewise.
5607 (set_init_label): Likewise.
5608 * c-typeck.c (error_init): Add location parameter. Call error_at
5609 instead of error.
5610 (digest_init): Pass init_loc to error_init.
5611 (really_start_incremental_init):
5612 (push_init_level): Add location parameter. Pass loc to pop_init_level
5613 and error_init.
5614 (pop_init_level): Likewise.
5615 (set_designator): Add location parameter. Pass loc to pop_init_level,
5616 push_init_level, and error_init.
5617 (set_init_index): Add location parameter. Pass loc to error_init and
5618 set_designator.
5619 (set_init_label): Likewise.
5620 (output_init_element): Pass loc to error_init.
5621 (process_init_element): Pass loc to error_init, pop_init_level,
5622 pedwarn_init, and push_init_level.
5623
661a0813
MP
56242014-05-09 Marek Polacek <polacek@redhat.com>
5625
5626 PR c/50459
5627 * c-parser.c (c_parser_attributes): Parse the arguments as an
5628 expression-list if the attribute takes identifier.
5629
2793eeab
MP
56302014-05-08 Marek Polacek <polacek@redhat.com>
5631
5632 PR c/61053
5633 * c-decl.c (grokdeclarator): Use min_align_of_type instead of
5634 TYPE_ALIGN_UNIT.
5635
f827930a
MP
56362014-05-08 Marek Polacek <polacek@redhat.com>
5637
5638 PR c/61077
5639 * c-decl.c (start_function): Warn for _Atomic-qualified return type
5640 of main.
5641
1d60af08
KZ
56422014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
5643 Mike Stump <mikestump@comcast.net>
5644 Richard Sandiford <rdsandiford@googlemail.com>
5645
5646 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
5647 (finish_enum): Use wide-int interfaces.
5648 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
5649 * c-typeck.c (build_c_cast): Likewise.
5650 (set_nonincremental_init_from_string): Likewise.
5651 (c_tree_equal): Likewise.
5652
a0e24419
MP
56532014-05-02 Marek Polacek <polacek@redhat.com>
5654
5655 PR c/25801
5656 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
5657 Return size_one_node when the type is not complete.
5658 (pointer_diff): Remove comment.
5659 (build_unary_op): Improve error messages.
5660
19fc9faa
MP
56612014-05-02 Marek Polacek <polacek@redhat.com>
5662
5663 * c-typeck.c (c_finish_return): Separate warning_at calls.
5664
63bc4e87
MP
56652014-05-02 Marek Polacek <polacek@redhat.com>
5666
5667 * c-tree.h (error_init): Remove declaration.
5668 (pedwarn_init): Likewise.
5669 * c-typeck.c (error_init): Make static and move above.
5670 (pedwarn_init): Likewise.
5671 (warning_init): Move above.
5672 (maybe_warn_string_init): Likewise.
5673
4bd2511b
JL
56742014-05-01 Jeff Law <law@redhat.com>
5675
5676 Revert:
5677
5678 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
5679 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
5680 avoid goto.
5681
6a358dcb
MP
56822014-05-02 Marek Polacek <polacek@redhat.com>
5683
5684 PR c/60784
5685 * c-typeck.c (push_init_level): Set constructor_designated to
5686 p->designated for structures.
5687
ae5ebda4
MP
56882014-05-01 Marek Polacek <polacek@redhat.com>
5689
5690 PR c/60915
5691 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
5692 function-definition has an attribute after the declarator.
5693
96b40f8d
MP
56942014-05-01 Marek Polacek <polacek@redhat.com>
5695
5696 PR c/60257
5697 * c-typeck.c (warning_init): Add location_t parameter. Call
5698 warning_at instead of warning.
5699 (push_init_level): Pass input_location to warning_init.
5700 (add_pending_init): Add location_t parameter. Pass loc to
5701 warning_init.
5702 (set_nonincremental_init): Pass input_location to add_pending_init.
5703 (set_nonincremental_init_from_string): Likewise.
5704 (output_init_element): Pass loc to warning_init and to
5705 add_pending_init.
5706
32e00768
MP
57072014-05-01 Marek Polacek <polacek@redhat.com>
5708
5709 PR c/43395
5710 * c-typeck.c (c_finish_return): Distinguish between label and variable
5711 when warning about returning local address.
5712
c9379ce2
MP
57132014-05-01 Marek Polacek <polacek@redhat.com>
5714
5715 PR c/29467
5716 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
5717 in C89 mode.
5718
d00887e8
MP
57192014-05-01 Marek Polacek <polacek@redhat.com>
5720
5721 PR c/43245
5722 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
5723 instead of 0 to WARN_FOR_QUALIFIERS.
5724
5436fa2e
MP
57252014-05-01 Marek Polacek <polacek@redhat.com>
5726
5727 PR c/56989
5728 * c-typeck.c (default_conversion): Use better location for
5729 error call.
5730
f8ed5150
MP
57312014-04-30 Marek Polacek <polacek@redhat.com>
5732
5733 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
5734 also when SANITIZE_FLOAT_DIVIDE is on.
5735
8337d1db
MP
57362014-04-30 Marek Polacek <polacek@redhat.com>
5737
5738 PR c/60139
5739 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
5740 and pedwarn_init. Use loc insted of input_location.
5741
c4bdc42f
MP
57422014-04-30 Marek Polacek <polacek@redhat.com>
5743
5744 PR c/60351
5745 * c-typeck.c (build_binary_op): Use location when warning about
5746 shift count.
5747
45484dcf
MP
57482014-04-25 Marek Polacek <polacek@redhat.com>
5749
5750 PR c/18079
5751 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
5752 always_inline/noinline and hot/cold attributes.
5753
34cf811f
MP
57542014-04-25 Marek Polacek <polacek@redhat.com>
5755
5756 PR c/60114
5757 * c-parser.c (c_parser_initelt): Pass input_location to
5758 process_init_element.
5759 (c_parser_initval): Pass loc to process_init_element.
5760 * c-tree.h (process_init_element): Adjust declaration.
5761 * c-typeck.c (push_init_level): Pass input_location to
5762 process_init_element.
5763 (pop_init_level): Likewise.
5764 (set_designator): Likewise.
5765 (output_init_element): Add location_t parameter. Pass loc to
5766 digest_init.
5767 (output_pending_init_elements): Pass input_location to
5768 output_init_element.
5769 (process_init_element): Add location_t parameter. Pass loc to
5770 output_init_element.
5771
42056eac
JJ
57722014-04-24 Jakub Jelinek <jakub@redhat.com>
5773
5774 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
5775 atomic-clause, allow comma in between atomic-clause and
5776 seq_cst.
5777
e162a134
JJ
57782014-04-22 Jakub Jelinek <jakub@redhat.com>
5779
5780 PR c/59073
5781 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
5782 fails, don't set OM_PARALLEL_COMBINED and return NULL.
5783
2f6babac
IZ
57842014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
5785
5786 PR middle-end/60469
5787 * c-array-notation.c (fix_builtin_array_notation_fn): Use
5788 create_tmp_var instead build_decl for creating temps.
5789 (build_array_notation_expr): Likewise.
5790 (fix_conditional_array_notations_1): Likewise.
5791 (fix_array_notation_expr): Likewise.
5792 (fix_array_notation_call_expr): Likewise.
5793
8edbfaa6
JJ
57942014-03-28 Jakub Jelinek <jakub@redhat.com>
5795
5796 PR c++/60689
5797 * c-tree.h (c_build_function_call_vec): New prototype.
5798 * c-typeck.c (build_function_call_vec): Don't call
5799 resolve_overloaded_builtin here.
5800 (c_build_function_call_vec): New wrapper function around
5801 build_function_call_vec. Call resolve_overloaded_builtin here.
5802 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
5803 Call c_build_function_call_vec instead of build_function_call_vec.
5804 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
5805 * c-decl.c (finish_decl): Likewise.
5806
7485aeea
MLI
58072014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5808
5809 PR c/55383
5810 * c-typeck.c: Use correct format string in cast-qual warning
5811
b17a8b07
TS
58122014-03-07 Thomas Schwinge <thomas@codesourcery.com>
5813
5814 * c-decl.c (c_decl_attributes): Use
5815 lang_hooks.types.omp_mappable_type.
5816 * c-typeck.c (c_finish_omp_clauses): Likewise.
5817
3af9c5e9
MP
58182014-03-06 Marek Polacek <polacek@redhat.com>
5819
5820 PR c/60197
5821 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
5822 of checking tree code.
5823
1c9f5f33
PK
58242014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
5825
5826 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
5827 (c_parser_parameter_declaration): Likewise.
5828
cc28fc7f
MP
58292014-02-19 Marek Polacek <polacek@redhat.com>
5830
5831 PR c/60195
5832 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
5833 Call mark_exp_read on exp.value.
5834 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
5835 TREE_ADDRESSABLE on old instead of val.
5836 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
5837
b581c05c
PK
58382014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
5839
5840 * c-parser.c (c_parser_get_builtin_args): Replace calls to
5841 C_EXPR_APPEND by vec_safe_push.
5842 * c-tree.h (C_EXPR_APPEND): Remove.
5843
81e5eca8
MP
58442014-01-31 Marek Polacek <polacek@redhat.com>
5845
5846 PR c/59963
5847 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
5848 build_function_call_vec.
5849 (build_function_call): Likewise.
5850 (build_atomic_assign): Likewise.
5851 (build_function_call_vec): Add arg_loc parameter. Use it.
5852 (convert_arguments): Likewise.
5853 (convert_for_assignment): Rename rhs_loc to expr_loc.
5854 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
5855 (c_parser_objc_keywordexpr): Likewise.
5856 (c_parser_postfix_expression_after_primary): Call
5857 build_function_call_vec with expr_loc rather than op_loc.
5858 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
5859 build_function_call_vec.
5860 (c_parser_expr_list): Add locations parameter. Fill it with locations
5861 of function arguments.
5862 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
5863
68fca595
MP
58642014-01-30 Marek Polacek <polacek@redhat.com>
5865
5866 PR c/59940
5867 * c-typeck.c (build_function_call_vec): Use loc parameter.
5868 (convert_arguments): Add location parameter. Use it.
5869 (ep_convert_and_check): Likewise.
5870 (build_atomic_assign): Adjust convert_for_assignment call.
5871 (build_modify_expr): Likewise.
5872 (digest_init): Likewise.
5873 (c_finish_return): Likewise.
5874 (build_conditional_expr): Adjust ep_convert_and_check calls.
5875 (convert_for_assignment): Add rhs_loc parameter. Use it.
5876 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
5877 calls.
5878
fa337f3a
RB
58792014-01-30 Richard Biener <rguenther@suse.de>
5880
5881 PR c/59905
5882 * c-typeck.c (build_function_call_vec): Do not replace calls
5883 to a function via an incompatible type with a runtime abort.
5884
b72271b9
BI
58852014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
5886
5887 * c-parser.c (c_parser_declaration_or_fndef): Replaced
5888 flag_enable_cilkplus with flag_cilkplus.
5889 (c_parser_direct_declarator_inner): Likewise.
5890 (c_parser_attribute_any_word): Likewise.
5891 (c_parser_attributes): Likewise.
5892 (c_parser_compound_statement): Likewise.
5893 (c_parser_statement_after_labels): Likewise.
5894 (c_parser_if_statement): Likewise.
5895 (c_parser_switch_statement): Likewise.
5896 (c_parser_do_statement): Likewise.
5897 (c_parser_for_statement): Likewise.
5898 (c_parser_unary_expression): Likewise.
5899 (c_parser_postfix_expression): Likewise.
5900 (c_parser_postfix_expression_after_primary): Likewise.
5901 (c_parser_postfix_expression_after_primary): Likewise.
5902 (c_parser_omp_clause_name): Likewise.
5903 (c_finish_omp_declare_simd): Likewise.
5904 (c_parser_cilk_verify_simd): Likewise.
5905 * c-typeck.c (build_array_ref): Likewise.
5906 (build_function_call_vec): Likewise.
5907 (convert_arguments): Likewise.
5908 (build_compound_expr): Likewise.
5909 (c_finish_return): Likewise.
5910 (c_finish_if_stmt): Likewise.
5911 (c_finish_loop): Likewise.
5912 (build_binary_op): Likewise.
5913
393e8e8b
MP
59142014-01-23 Marek Polacek <polacek@redhat.com>
5915
5916 PR c/59846
5917 * c-typeck.c (parser_build_binary_op): Use location instead of
5918 input_location.
5919 (build_binary_op): Pass location to shorten_compare.
5920
f04dda30
MP
59212014-01-23 Marek Polacek <polacek@redhat.com>
5922
5923 PR c/58346
5924 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
5925 an empty aggregate.
5926
789eadcd
MP
59272014-01-23 Marek Polacek <polacek@redhat.com>
5928
5929 PR c/59871
5930 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
5931 of a comma expression.
5932 (emit_side_effect_warnings): Likewise.
5933
40f14e9f
BI
59342014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
5935
5936 PR c/59825
5937 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
5938 function to use walk_tree and moved a lot of its functionality to
5939 expand_array_notations.
5940 (expand_array_notations): New function.
5941
74558dd9
BI
59422014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
5943
5944 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
5945 attribute an attribute without value.
5946
652fea39
JJ
59472014-01-23 Jakub Jelinek <jakub@redhat.com>
5948
5949 PR middle-end/58809
5950 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
5951 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
5952
f34f1c87
MP
59532014-01-22 Marek Polacek <polacek@redhat.com>
5954
5955 PR c/59891
5956 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
5957 of remove_c_maybe_const_expr on op1 and op2.
5958
241f845a
JJ
59592014-01-15 Jakub Jelinek <jakub@redhat.com>
5960
5961 PR c/58943
5962 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
5963 effects, preevaluate rhs using SAVE_EXPR first.
5964
9a74f20c
BI
59652014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
5966
5967 PR c++/59631
5968 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
5969 statements with if-elseif statements.
5970
96066ce1
MP
59712014-01-06 Marek Polacek <polacek@redhat.com>
5972
5973 PR c/57773
5974 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
5975 defined bit-field types only in ISO C.
5976
23a5b65a
RS
59772014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5978
5979 Update copyright years
5980
f9030485
RS
59812014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5982
5983 * c-array-notation.c: Use the standard form for the copyright notice.
5984
41958c28
BI
59852013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
5986
5987 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
5988 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
5989 field in parser is not empty. If not-empty, call the function
5990 c_parser_finish_omp_declare_simd.
5991 (c_parser_cilk_clause_vectorlength): Modified function to be shared
5992 between SIMD-enabled functions and #pragma simd. Added new parameter.
5993 (c_parser_cilk_all_clauses): Modified the usage of the function
5994 c_parser_cilk_clause_vectorlength as mentioned above.
5995 (c_parser_cilk_simd_fn_vector_attrs): New function.
5996 (c_finish_cilk_simd_fn_tokens): Likewise.
5997 (is_cilkplus_vector_p): Likewise.
5998 (c_parser_omp_clause_name): Added checking for "vectorlength,"
5999 "nomask," and "mask" strings in clause name.
6000 (c_parser_omp_all_clauses): Added 3 new case statements:
6001 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
6002 PRAGMA_CILK_CLAUSE_NOMASK.
6003 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
6004 check for vector attribute and if so call the function
6005 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
6006 called the function c_finish_cilk_simd_fn_tokens.
6007 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
6008 parser field is non-empty. If so, parse them as you would parse
6009 the omp declare simd pragma.
6010 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
6011 Added a check when step is a parameter and flag it as error.
6012 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
6013 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
6014 pragma_omp_clause.
6015
cef0fd0e
TS
60162013-12-17 Thomas Schwinge <thomas@codesourcery.com>
6017
6018 * c-parser.c (c_parser_omp_parallel): Fix description.
6019
12893402
BI
60202013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
6021
6022 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
6023 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
6024 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
6025 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
6026
296674db
JM
60272013-12-04 Joseph Myers <joseph@codesourcery.com>
6028
6029 PR c/52023
6030 * c-parser.c (c_parser_alignas_specifier): Use
6031 c_sizeof_or_alignof_type instead of c_alignof.
6032 (c_parser_alignof_expression): Likewise, with min_alignof
6033 parameter depending on alignof spelling used.
6034
edd28054
MP
60352013-12-04 Marek Polacek <polacek@redhat.com>
6036
6037 PR c/54113
6038 * c-decl.c (start_function): Don't warn for missing prototype for
6039 inline functions.
6040
da0fc454
MP
60412013-12-03 Marek Polacek <polacek@redhat.com>
6042
6043 PR c/59351
6044 * c-decl.c (build_compound_literal): Allow compound literals with
6045 empty initial value.
6046
4c2ecab0
JM
60472013-12-02 Joseph Myers <joseph@codesourcery.com>
6048
6049 PR c/58235
6050 * c-typeck.c (build_modify_expr): Diagnose assignment to
6051 expression with array type.
6052
340baef7
JM
60532013-11-29 Joseph Myers <joseph@codesourcery.com>
6054
6055 PR c/42262
6056 * c-typeck.c (process_init_element): Do not treat a string as
6057 initializing a whole array when used with a designator for an
6058 individual element.
6059
6763b9f7
JM
60602013-11-29 Joseph Myers <joseph@codesourcery.com>
6061
6062 PR c/57574
6063 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
6064 an inline function following a static declaration.
6065
e7bd1de1
JJ
60662013-11-28 Jakub Jelinek <jakub@redhat.com>
6067
6068 PR c/59310
6069 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
6070 to p_name before calling c_parser_omp_teams instead of after.
6071 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
6072 argument. Remove unused p_name variable.
6073
0136f8f0
AH
60742013-11-27 Aldy Hernandez <aldyh@redhat.com>
6075 Jakub Jelinek <jakub@redhat.com>
6076
6077 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
6078 external_scope is NULL.
6079
241b71bb
TV
60802013-11-27 Tom de Vries <tom@codesourcery.com>
6081 Marc Glisse <marc.glisse@inria.fr>
6082
6083 PR c++/59032
6084 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
6085
2fb9a547
AM
60862013-11-22 Andrew MacLeod <amacleod@redhat.com>
6087
6088 * c-typeck.c: Add required include files from gimple.h.
6089
8400e75e
DM
60902013-11-22 David Malcolm <dmalcolm@redhat.com>
6091
6092 * c-decl.c (define_label, shadow_tag_warned)
6093 (check_bitfield_type_and_width, grokdeclarator, grokparms,
6094 store_parm_decls_newstyle, store_parm_decls_oldstyle)
6095 (declspecs_add_type): Remove use of in_system_header macro.
6096 * c-parser.c (c_parser_unary_expression): Likewise.
6097 * c-typeck.c (store_init_value, process_init_element)
6098 (c_start_case): Likewise.
6099
6100 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
6101 macro.
6102
6103 * c-parser.c (c_parser_set_source_position_from_token): Remove
6104 reference to in_system_header from comment.
6105
386b1f1f
RS
61062013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6107
6108 * c-decl.c (grokdeclarator): Update comment to refer to
6109 tree_to_[su]hwi rather than tree_low_cst.
6110
ae7e9ddd
RS
61112013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6112
6113 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
6114 tree_to_uhwi throughout.
6115
9439e9a1
RS
61162013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6117
6118 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
6119 throughout.
6120
9541ffee
RS
61212013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6122
6123 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
6124 throughout.
6125
c02065fc
AH
61262013-11-15 Aldy Hernandez <aldyh@redhat.com>
6127
6128 * c-parser.c (c_parser_cilk_simd): New.
6129 (c_parser_cilk_verify_simd): New.
6130 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
6131 (c_parser_omp_for_loop): Add case for NE_EXPR.
6132 Set c_break_label for CILK_SIMD.
6133 (c_parser_cilk_clause_vectorlength): New.
6134 (c_parser_cilk_clause_linear): New.
6135 (c_parser_cilk_clause_name): New.
6136 (c_parser_cilk_all_clauses): New.
6137 * c-typeck.c (build_unary_op): Pass location argument to
6138 readonly_error.
6139 (build_modify_expr): Same.
6140 (build_asm_expr): Same.
6141 (c_finish_bc_stmt): Error on break/continue in loops.
6142
18f429e2
AM
61432013-11-14 Andrew MacLeod <amacleod@redhat.com>
6144
6145 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
6146
d8a2d370
DN
61472013-11-14 Diego Novillo <dnovillo@google.com>
6148
6149 * c-decl.c: Include print-tree.h.
6150 Include stor-layout.h.
6151 Include varasm.h.
6152 Include attribs.h.
6153 Include stringpool.h.
6154 * c-lang.c: Include fold-const.h.
6155 * c-parser.c: Include stringpool.h.
6156 Include attribs.h.
6157 Include stor-layout.h.
6158 Include varasm.h.
6159 Include trans-mem.h.
6160 * c-typeck.c: Include stor-layout.h.
6161 Include trans-mem.h.
6162 Include varasm.h.
6163 Include stmt.h.
6164
38b7bc7f
JM
61652013-11-13 Joseph Myers <joseph@codesourcery.com>
6166
6167 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
6168 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
6169 __auto_type.
6170 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
6171 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
6172 RID_AUTO_TYPE.
6173 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
6174 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
6175 (c_parser_declarator, c_parser_direct_declarator_inner)
6176 (c_parser_parameter_declaration, c_parser_type_name): All callers
6177 changed.
6178 (c_parser_declaration_or_fndef): Handle declarations with type
6179 determined from the initializer.
6180
45b0be94
AM
61812013-11-12 Andrew MacLeod <amacleod@redhat.com>
6182
18f429e2 6183 * c-typeck.c: Include gimplify.h.
45b0be94 6184
582d9b50
JM
61852013-11-12 Joseph Myers <joseph@codesourcery.com>
6186
6187 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
6188 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
6189 comment.
6190 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
6191 or _Thread_local as appropriate in diagnostics.
6192 (build_null_declspecs): Initialize ret->thread_gnu_p.
6193 (declspecs_add_scspec): Handle either __thread or _Thread_local
6194 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
6195 pedantic. Do not disallow _Thread_local extern and _Thread_local
6196 static.
6197
267bac10
JM
61982013-11-07 Joseph Myers <joseph@codesourcery.com>
6199 Andrew MacLeod <amacleod@redhat.com>
6200
6201 * c-aux-info.c (gen_type): Handle atomic qualifier.
6202 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
6203 qualifiers when compating types.
6204 (shadow_tag_warned): Handle atomic_p in declspecs.
6205 (quals_from_declspecs): Likewise.
6206 (start_decl): Use c_type_promotes_to when promoting argument
6207 types.
6208 (grokdeclarator): Handle _Atomic.
6209 (get_parm_info): Diagnose any qualifier on "void" as only
6210 parameter.
6211 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
6212 comparing types. Use c_type_promotes_to when promoting argument
6213 types.
6214 (finish_function): Use c_type_promotes_to when promoting argument
6215 types.
6216 (build_null_declspecs): Handle atomic_p in declspecs.
6217 (declspecs_add_qual): Handle RID_ATOMIC.
6218 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
6219 (c_token_starts_declspecs): Handle RID_ATOMIC.
6220 (c_parser_declspecs): Handle atomic type specifiers and
6221 qualifiers.
6222 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
6223 from types of expressions with atomic type.
6224 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
6225 (c_parser_attribute_any_word): Handle RID_ATOMIC.
6226 (c_parser_initializer, c_parser_initelt, c_parser_initval)
6227 (c_parser_statement_after_labels, c_parser_switch_statement)
6228 (c_parser_for_statement, c_parser_expr_no_commas)
6229 (c_parser_conditional_expression, c_parser_binary_expression)
6230 (c_parser_cast_expression, c_parser_unary_expression)
6231 (c_parser_postfix_expression)
6232 (c_parser_postfix_expression_after_primary, c_parser_expression):
6233 Use convert_lvalue_to_rvalue.
6234 (c_parser_expression_conv, c_parser_expr_list): Document
6235 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
6236 (c_parser_objc_synchronized_statement): Use
6237 convert_lvalue_to_rvalue.
6238 (c_parser_objc_selector): Handle RID_ATOMIC.
6239 (c_parser_objc_receiver, c_parser_array_notation): Use
6240 convert_lvalue_to_rvalue.
6241 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
6242 _Atomic (type-name).
6243 (struct c_declspecs): Add atomic_p field.
6244 (convert_lvalue_to_rvalue): Declare.
6245 * c-typeck.c (c_type_promotes_to): Promote atomic types to
6246 corresponding atomic types.
6247 (qualify_type): Don't add _Atomic qualifiers from second argument.
6248 (comp_target_types): Do not allow _Atomic mismatches.
6249 (type_lists_compatible_p): Do not remove atomic qualifiers when
6250 comparing types.
6251 (really_atomic_lvalue, convert_lvalue_to_rvalue)
6252 (build_atomic_assign): New functions.
6253 (build_unary_op): Use build_atomic_assign for atomic increment and
6254 decrement.
6255 (build_conditional_expr): Do not treat _Atomic void as a qualified
6256 version of void.
6257 (build_modify_expr): Use build_atomic_assign for atomic LHS.
6258 (find_anonymous_field_with_type, convert_to_anonymous_field)
6259 (convert_for_assignment): Do not remove atomic qualifiers when
6260 comparing types.
6261 (digest_init): Do not accept initialization of arrays of atomic
6262 elements by string constants.
6263 (build_asm_expr): Use convert_lvalue_to_rvalue.
6264 (build_binary_op): Do not treat _Atomic void as a qualified
6265 version of void.
6266
0c249d4b
DD
62672013-11-06 DJ Delorie <dj@redhat.com>
6268
6269 * c-decl.c (locate_old_decl): If a previous conflicting decl is
6270 both explicit and builtin, print the location of the explicit one.
6271
6d7f7e0a
TB
62722013-11-05 Tobias Burnus <burnus@net-b.de>
6273
6274 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
6275 c_parser_omp_distribute, c_parser_omp_teams,
6276 c_parser_omp_target, c_parser_omp_declare): Handle
6277 -fopenmp-simd.
6278
b906f4ca
MP
62792013-11-03 Marek Polacek <polacek@redhat.com>
6280
6281 * c-decl.c (grokdeclarator): Add VLA instrumentation.
6282
ee1d5a02
JJ
62832013-11-01 Jakub Jelinek <jakub@redhat.com>
6284
6285 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
6286 check_dup_generic at the end, unless remove is true.
6287 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
6288 remove = true;.
6289 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
6290
5a9785fb
JJ
62912013-10-31 Jakub Jelinek <jakub@redhat.com>
6292
6293 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
6294 with decl that is not pointer nor array.
6295
939b37da
BI
62962013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
6297
6298 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
6299 a spawning function is found.
6300 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
6301 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
6302 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
6303 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
6304 case.
6305 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
6306 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
6307 expr.
6308 (c_finish_return): Added a check to reject _Cilk_spawn in return
6309 expression.
6310 (build_cilk_spawn): New function.
6311 (build_cilk_sync): Likewise.
6312 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
ab20d992 6313
d4af74d4
TB
63142013-10-27 Tobias Burnus <burnus@net-b.de>
6315
6316 PR other/33426
6317 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
6318 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
6319 (c_parser_statement_after_labels): Update calls.
6320
d73749df 63212013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
6322
6323 PR other/33426
6324 * c-parser.c (c_parser_pragma, c_parser_for_statement):
6325 Handle PRAGMA_IVDEP.
6326 (c_parser_statement_after_labels): Update call.
6327
f28aa681
MP
63282013-10-24 Marek Polacek <polacek@redhat.com>
6329
6330 * c-parser.c (c_parser_struct_declaration): Add a comment.
6331 (c_parser_declarator): Don't allow _Alignas here.
6332
0645c1a2
AM
63332013-10-17 Andrew MacLeod <amacleod@redhat.com>
6334
6335 * c-parser.c: Include omp-low.h.
6336 * c-typeck.c: Likewise.
6337
568a31f2
MP
63382013-10-17 Marek Polacek <polacek@redhat.com>
6339
6340 PR c/58267
6341 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
6342 Document syntax of the array-declarator.
6343 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
6344 are not permitted.
6345 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
6346 (c_parser_struct_declaration): Likewise.
6347 (c_parser_declarator): Likewise.
6348 (c_parser_direct_declarator_inner): Likewise.
6349 (c_parser_parameter_declaration): Likewise.
6350 (c_parser_type_name): Likewise.
6351
acf0174b
JJ
63522013-10-11 Jakub Jelinek <jakub@redhat.com>
6353
6354 * c-lang.h (current_omp_declare_target_attribute): New extern
6355 decl.
6356 * c-parser.c: Include c-lang.h.
6357 (struct c_parser): Change tokens to c_token *.
6358 Add tokens_buf field. Change tokens_avail type to unsigned int.
6359 (c_parser_consume_token): If parser->tokens isn't
6360 &parser->tokens_buf[0], increment parser->tokens.
6361 (c_parser_consume_pragma): Likewise.
6362 (enum pragma_context): Add pragma_struct and pragma_param.
6363 (c_parser_external_declaration): Adjust
6364 c_parser_declaration_or_fndef caller.
6365 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
6366 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
6367 Adjust recursive call.
6368 (c_parser_struct_or_union_specifier): Use pragma_struct instead
6369 of pragma_external.
6370 (c_parser_parameter_declaration): Use pragma_param instead of
6371 pragma_external.
6372 (c_parser_compound_statement_nostart, c_parser_label,
6373 c_parser_for_statement): Adjust
6374 c_parser_declaration_or_fndef callers.
6375 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
6376 it through to c_parser_conditional_expression.
6377 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
6378 pass it through to c_parser_binary_expression. Adjust recursive
6379 call.
6380 (c_parser_binary_expression): Remove prec argument, add
6381 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
6382 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
6383 binop matches it, use build2 instead of parser_build_binary_op.
6384 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
6385 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
6386 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
6387 Handle pragma_struct and pragma_param the same as pragma_external.
6388 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
6389 (c_parser_omp_variable_list): Parse array sections for
6390 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
6391 (c_parser_omp_clause_collapse): Fully fold collapse expression.
6392 (c_parser_omp_clause_reduction): Handle user defined reductions.
6393 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
6394 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
6395 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
6396 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
6397 c_parser_omp_clause_depend, c_parser_omp_clause_map,
6398 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
6399 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
6400 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
6401 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
6402 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
6403 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
6404 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
6405 (c_parser_omp_for_loop): Add CODE argument, pass it through
6406 to c_finish_omp_for. Change last argument to cclauses,
6407 and adjust uses to grab parallel clauses from the array of all
6408 the split clauses. Adjust c_parser_binary_expression,
6409 c_parser_declaration_or_fndef and c_finish_omp_for callers.
6410 (omp_split_clauses): New function.
6411 (c_parser_omp_simd): New function.
6412 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
6413 Allow the function to be called also when parsing combined constructs,
6414 and call c_parser_omp_simd when parsing for simd.
6415 (c_parser_omp_sections_scope): If section-sequence doesn't start with
6416 #pragma omp section, require exactly one structured-block instead of
6417 sequence of statements.
6418 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
6419 Allow the function to be called also when parsing combined constructs.
6420 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
6421 Allow the function to be called also when parsing combined
6422 constructs.
6423 (c_parser_omp_taskgroup, c_parser_omp_cancel,
6424 c_parser_omp_cancellation_point, c_parser_omp_distribute,
6425 c_parser_omp_teams, c_parser_omp_target_data,
6426 c_parser_omp_target_update, c_parser_omp_target,
6427 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
6428 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
6429 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
6430 (c_parser_omp_construct): Add p_name and mask vars. Handle
6431 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
6432 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
6433 and c_parser_omp_sections callers.
6434 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
6435 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
6436 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
6437 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
6438 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
6439 OMP_CLAUSE_DEPEND.
6440 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
6441 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
6442 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
6443 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
6444 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
6445 * c-typeck.c: Include tree-inline.h.
6446 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
6447 handle_omp_array_sections_1, handle_omp_array_sections,
6448 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
6449 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
6450 user defined reductions.
6451 (c_tree_equal): New function.
6452 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
6453 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
6454 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
6455 c_check_omp_declare_reduction_r): New prototypes.
6456 * c-decl.c (current_omp_declare_target_attribute): New variable.
6457 (c_decl_attributes): New function.
6458 (start_decl, start_function): Use it instead of decl_attributes.
6459 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
6460 c_omp_reduction_decl, c_omp_reduction_lookup,
6461 c_check_omp_declare_reduction_r): New functions.
6462
0a6c2227
TT
64632013-09-25 Tom Tromey <tromey@redhat.com>
6464
6465 * Make-lang.in (c/gccspec.o): Remove.
6466 (CFLAGS-c/gccspec.o): New variable.
6467 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
6468 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
6469 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
6470
f3bc55f0
TT
64712013-09-25 Tom Tromey <tromey@redhat.com>
6472
6473 * Make-lang.in (c/gccspec.o): Don't use subshell.
6474
a24d975c
MP
64752013-09-18 Marek Polacek <polacek@redhat.com>
6476
6477 PR sanitize/58443
6478 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
6479 Remove unnecessary check.
6480
ce6923c5
MP
64812013-09-18 Marek Polacek <polacek@redhat.com>
6482
6483 PR sanitizer/58411
6484 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
6485 no_sanitize_undefined attribute.
6486
a1e51df9
KT
64872013-09-13 Kai Tietz <ktietz@redhat.com>
6488
6489 PR target/57848
6490 * c-decl.c (c_builtin_function_ext_scope): Remove
6491 wrong assumption that it is never called on prexisting
6492 symbol.
6493
0af94e6f
JR
64942013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
6495
6496 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
6497
20059c8b
GDR
64982013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6499
6500 * c-objc-common.c (c_tree_printer): Tidy.
6501
de5a5fa1
MP
65022013-08-30 Marek Polacek <polacek@redhat.com>
6503
6504 * c-typeck.c (build_binary_op): Add division by zero and shift
6505 instrumentation.
6506
2531a1d9 65072013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
0fdd4508 6508 Joseph Myers <joseph@codesourcery.com>
2531a1d9 6509
6e2bcc98 6510 PR c/35649
2531a1d9
JR
6511 * c-typeck.c (c_common_type): Prefer double_type_node over
6512 other REAL_TYPE types with the same precision.
6513 (convert_arguments): Likewise.
6514
025311c4
GDR
65152013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
6516
6517 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
6518 (c_initialize_diagnostics): Call a destructor for the early printer.
6519
da6ca2b5
GDR
65202013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
6521
6522 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
6523 printer initialization.
6524
318cda85 65252013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
da6ca2b5 6526
318cda85
BI
6527 PR c/57490
6528 * c-array-notation.c (fix_conditional_array_notations_1): Added a
6529 check for truth values.
6530 (expand_array_notation_exprs): Added truth values case. Removed an
6531 unwanted else. Added for-loop to walk through subtrees in default
6532 case.
6533
b066401f
GDR
65342013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6535
6536 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
6537
fb48aadc
JM
65382013-07-23 Joseph Myers <joseph@codesourcery.com>
6539
6540 * c-parser.c (struct c_generic_association): Fix typo.
6541
433cc7b0
TT
65422013-07-23 Tom Tromey <tromey@redhat.com>
6543 Joseph Myers <joseph@codesourcery.com>
6544
6545 * c-parser.c (struct c_generic_association): New.
6546 (c_generic_association_d): New typedef.
6547 (c_parser_generic_selection): New function.
6548 (c_parser_postfix_expression): Handle RID_GENERIC.
6549
26d40c3d
JM
65502013-07-13 Jason Merrill <jason@redhat.com>
6551
6552 PR c++/57793
6553 * c-decl.c (finish_struct): Check for too-large class.
6554
ecdbd01a 65552013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
6556
6557 PR c/57821
6558 * c-typeck.c (set_init_index): When folding, check for index overflow.
6559
1141ed3f
BI
65602013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
6561
6562 * c-parser.c (c_parser_array_notation): Removed rejection of array
6563 notations in an array of function pointers.
6564
713b46fa
BI
65652013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
6566
6567 * c-array-notation.c (make_triplet_val_inv): New function.
6568 (create_cmp_incr): Likewise.
6569 (create_array_refs): Likewise.
6570 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
6571 Also modularized common parts between functions and called the function.
6572 (build_array_notation_expr): Likewise.
6573 (fix_conditional_array_notations_1): Likewise.
6574 (fix_array_notation_expr): Likewise.
6575 (fix_array_notation_call_expr): Likewise.
6576
92f20202
MP
65772013-06-18 Marek Polacek <polacek@redhat.com>
6578
6579 PR c/57630
6580 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
6581
73a23b06
BI
65822013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
6583
6584 * c-array-notation.c (build_array_notation_expr): Reject array notation
6585 mismatch between LHS and RHS even inside a call_expr. Also, removed
6586 a couple while statements that were dead code.
6587
00b8517d
BI
65882013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
6589
6590 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
6591 excessive precision expressions in function parameters. Also removed
6592 couple unwanted while statements.
6593
1509bdda
BI
65942013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
6595
6596 * c-array-notation.c (expand_array_notation_exprs): Added
6597 ARRAY_NOTATION_REF case.
ab20d992 6598
d60f1706
BI
65992013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
6600
6601 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
6602 function to c-family/array-notation-common.c.
6603 (is_cilkplus_reduce_builtin): Likewise.
6604 (find_rank): Likewise.
6605 (extract_array_notation_exprs): Likewise.
6606 (replace_array_notations): Likewise.
6607 (find_inv_trees): Likewise.
6608 (replace_inv_trees): Likewise.
6609 (contains_array_notation_expr): Likewise.
6610 (find_correct_array_notation_type): Likewise.
6611 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
6612 (struct inv_list): Moved this to c-family/array-notation-common.c.
6613 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
ab20d992 6614
6d6efbb3
BI
66152013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
6616
6617 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
6618 reduction functions outside the for-loop. Added a check if the fundecl
6619 is non-NULL. Finally, removed an unwanted if-statement, and made the
6620 body unconditional.
6621
25c22937
BI
66222013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
6623
6624 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
6625 condition of the if-statement matches the rank of else-block and then-
6626 block when array notations are used.
6627 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
6628 expression after the entire function body is parsed.
6629 (c_parser_expr_no_commas): Delayed creating array notation expressions
6630 to the end of function parsing.
6631 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
6632 whole if-statement instead of just the condition.
ab20d992 6633 (expand_array_notation_exprs): Added MODIFY_EXPR case.
25c22937 6634
edd25645
BI
66352013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
6636
6637 PR c/57474
6638 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
6639 array to NULL_TREE if they are unused. Also added a check for the
6640 field to be NULL before its fields are used in future.
ab20d992 6641
065ce7f1
RO
66422013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6643
6644 PR bootstrap/57450
6645 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
6646 (build_array_notation_expr): Likewise.
6647
36536d79
BI
66482013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
6649
6650 * c-typeck.c (build_array_ref): Added a check to see if array's
6651 index is greater than one. If true, then emit an error.
6652 (build_function_call_vec): Exclude error reporting and checking
6653 for builtin array-notation functions.
6654 (convert_arguments): Likewise.
6655 (c_finish_return): Added a check for array notations as a return
6656 expression. If true, then emit an error.
6657 (c_finish_loop): Added a check for array notations in a loop
6658 condition. If true then emit an error.
6659 (lvalue_p): Added a ARRAY_NOTATION_REF case.
6660 (build_binary_op): Added a check for array notation expr inside
6661 op1 and op0. If present, we call another function to find correct
6662 type.
6663 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
6664 * c-parser.c (c_parser_compound_statement): Check if array
6665 notation code is used in tree, if so, then transform them into
6666 appropriate C code.
6667 (c_parser_expr_no_commas): Check if array notation is used in LHS
6668 or RHS, if so, then build array notation expression instead of
6669 regular modify.
6670 (c_parser_postfix_expression_after_primary): Added a check for
6671 colon(s) after square braces, if so then handle it like an array
6672 notation. Also, break up array notations in unary op if found.
6673 (c_parser_direct_declarator_inner): Added a check for array
6674 notation.
6675 (c_parser_compound_statement): Added a check for array notation in
6676 a stmt. If one is present, then expand array notation expr.
6677 (c_parser_if_statement): Likewise.
6678 (c_parser_switch_statement): Added a check for array notations in
6679 a switch statement's condition. If true, then output an error.
6680 (c_parser_while_statement): Similarly, but for a while.
6681 (c_parser_do_statement): Similarly, but for a do-while.
6682 (c_parser_for_statement): Similarly, but for a for-loop.
6683 (c_parser_unary_expression): Check if array notation is used in a
6684 pre-increment or pre-decrement expression. If true, then expand
6685 them.
6686 (c_parser_array_notation): New function.
6687 * c-array-notation.c: New file.
6688 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
ab20d992 6689
cd192ccc
MS
66902013-05-23 Mike Stump <mikestump@comcast.net>
6691
6692 * c-typeck.c (convert_for_assignment): Handle references to memory
6693 spaces better.
6694
427b248d
JM
66952013-05-16 Jason Merrill <jason@redhat.com>
6696
6697 * Make-lang.in (cc1$(exeext)): Use link mutex.
6698
44d90fe1
PC
66992013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6700
6701 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
6702 to simply use OPT_Wpointer_arith.
6703 (build_unary_op): Likewise.
6704
4e7d7b3d
JJ
67052013-04-03 Jakub Jelinek <jakub@redhat.com>
6706
6707 PR c/19449
6708 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
6709 argument. If set, or it temporarily for parsing of the first
6710 argument into force_folding_builtin_constant_p.
6711 (c_parser_postfix_expression): Adjust callers.
6712
839b422f
RB
67132013-03-21 Richard Biener <rguenther@suse.de>
6714
6715 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
6716 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
6717
2ee028f1
MP
67182013-02-12 Marek Polacek <polacek@redhat.com>
6719
6720 PR c/44938
6721 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
6722 origtypes to NULL.
6723
8824edff
JJ
67242013-01-24 Jakub Jelinek <jakub@redhat.com>
6725
6726 PR c/56078
6727 * c-typeck.c (set_nonincremental_init_from_string): If
6728 constructor_max_index is NULL, treat it as if tree_int_cst_lt
6729 returned false.
6730 (process_init_element): Likewise.
6731
eadd3d0d
JJ
67322012-12-20 Jakub Jelinek <jakub@redhat.com>
6733
6734 PR c++/55619
6735 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
6736 argument, don't call default_function_array_conversion
6737 nor c_fully_fold here.
6738 (c_parser_asm_statement): Adjust callers.
6739 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
6740 and outputs here, and call default_function_array_conversion
6741 on inputs that don't need to be addressable.
6742
f8a93a2e
JJ
67432012-12-18 Jakub Jelinek <jakub@redhat.com>
6744
6745 PR c/39464
6746 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
6747 warning require that both c_common_unsigned_type as well as
6748 c_common_signed_type is the same for both mvl and mvr types.
6749
9771b263
DN
67502012-11-16 Diego Novillo <dnovillo@google.com>
6751
6752 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
6753
6754 * c-common.c: Use new vec API in vec.h.
6755 * c-common.h: Likewise.
6756 * c-gimplify.c: Likewise.
6757 * c-pragma.c: Likewise.
6758 * c-pretty-print.c: Likewise.
6759 * c-pretty-print.h: Likewise.
6760 * c-semantics.c: Likewise.
6761 * c-decl.c: Likewise.
6762 * c-parser.c: Likewise.
6763 * c-tree.h: Likewise.
6764 * c-typeck.c: Likewise.
6765
880661a4
JW
67662012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
6767
6768 PR c++/54930
6769 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
6770
077d1abe
MLI
67712012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6772
6773 PR c/53066
6774 * c-decl.c (warn_if_shadowing): Do not warn if a variable
6775 shadows a function, unless the variable is a function or a
6776 pointer-to-function.
6777
3a785c97
JJ
67782012-10-12 Jakub Jelinek <jakub@redhat.com>
6779
6780 PR c/54381
6781 * c-parser.c (struct c_tree_loc_pair): Removed.
6782 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
6783 add location_t * and tree * arguments, fill in array of 3
6784 sizeof_arg trees and corresponding locs.
6785 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
6786 c_parser_expr_list callers.
6787 (c_parser_postfix_expression_after_primary): Likewise. Pass
6788 array of 3 sizeof_arg trees and locs (corresponding to first
6789 3 arguments) to sizeof_pointer_memaccess_warning.
6790
703c8606
LC
67912012-10-09 Lawrence Crowl <crowl@google.com>
6792
6793 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
6794 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
6795 hash table.
6796
5d9de0d0
PC
67972012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
6798
6799 PR c++/54194
6800 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
6801 call.
6802
a212e43f
MG
68032012-10-09 Marc Glisse <marc.glisse@inria.fr>
6804
6805 PR c++/54427
6806 * c-typeck.c: Include c-common.h.
6807 (enum stv_conv): Moved to c-common.h.
6808 (scalar_to_vector): Moved to c-common.c.
6809 (build_binary_op): Adapt to scalar_to_vector's new prototype.
6810 * Make-lang.in: c-typeck.c depends on c-common.h.
6811
3b78de56
AC
68122012-10-04 Arnaud Charlet <charlet@adacore.com>
6813
6814 * c-decl.c (c_write_global_declarations): Fix handling of
6815 -fdump-ada-spec*.
6816
78c60e3d
SS
68172012-09-30 Sharad Singhai <singhai@google.com>
6818
6819 * c-decl.c (c_write_global_declarations): Use a different method
6820 to determine if the dump has ben initialized.
6821
9f33203d
JM
68222012-09-14 Joseph Myers <joseph@codesourcery.com>
6823
6824 PR c/54552
6825 * c-typeck.c (c_cast_expr): When casting to a type requiring
6826 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
6827 c_fully_fold first.
6828
a27d595d
JM
68292012-09-14 Joseph Myers <joseph@codesourcery.com>
6830
6831 PR c/54103
6832 * c-typeck.c (build_unary_op): Pass original argument of
6833 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
6834 any C_MAYBE_CONST_EXPR, if it has integer operands.
6835 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
6836 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
6837 to c_objc_common_truthvalue_conversion, then remove any
6838 C_MAYBE_CONST_EXPR, if they have integer operands. Use
6839 c_objc_common_truthvalue_conversion not
6840 c_common_truthvalue_conversion.
6841 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
6842 call note_integer_operands for arguments with integer operands
6843 that are not integer constants.
6844
9feb29df
JJ
68452012-09-13 Jakub Jelinek <jakub@redhat.com>
6846
6847 PR c/54559
6848 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
6849 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
6850
d409320c
JJ
68512012-08-31 Jakub Jelinek <jakub@redhat.com>
6852
6853 PR c/54428
6854 * c-convert.c (convert): Don't call fold_convert_loc if
6855 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
6856 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
6857 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
6858
6265d07c
JJ
68592012-08-24 Jakub Jelinek <jakub@redhat.com>
6860
6861 PR c/54355
6862 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
6863 for nested and empty_ok arguments in the call to
6864 c_parser_declaration_or_fndef.
6865
1a4049e7
JJ
68662012-08-17 Jakub Jelinek <jakub@redhat.com>
6867
6868 * c-tree.h (c_last_sizeof_arg): Declare.
6869 * c-parser.c (struct c_tree_loc_pair): New type.
6870 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
6871 non-NULL.
6872 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
6873 (c_parser_postfix_expression_after_primary): Likewise. Call
6874 sizeof_pointer_memaccess_warning if needed.
6875 (sizeof_ptr_memacc_comptypes): New function.
6876 * c-typeck.c (c_last_sizeof_arg): New global variable.
6877 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
6878
0229aee9
UB
68792012-07-24 Uros Bizjak <ubizjak@gmail.com>
6880
6881 * c-lang.h (lang_decl): Add variable_size GTY option.
6882
7ee2468b
SB
68832012-07-16 Steven Bosscher <steven@gcc.gnu.org>
6884
6885 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
6886 * Make-lang.in: Fix dependencies.
6887
d4a10d0a
SB
68882012-06-29 Steven Bosscher <steven@gcc.gnu.org>
6889
6890 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
6891 and add language Makefile hooks.
6892 * config-lang.in: New file.
6893 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
6894 add the required "normal" config-lang.in rules.
6895 * c-lang.h: Moved from gcc/ to here.
6896 * c-tree.h: Likewise.
6897 * c-objc-common.c: Likewise.
6898 * c-objc-common.h: Likewise.
6899 * c-typeck.c: Likewise.
6900 * c-convert.c: Likewise.
6901 * c-lang.c: Likewise.
6902 * c-aux-info.c: Likewise.
6903 * c-errors.c: Likewise.
6904 * gccspec.c: Likewise.
6905 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
6906 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
6907\f
8d9254fc 6908Copyright (C) 2012-2020 Free Software Foundation, Inc.
d4a10d0a
SB
6909
6910Copying and distribution of this file, with or without modification,
6911are permitted in any medium without royalty provided the copyright
6912notice and this notice are preserved.