]> gcc.gnu.org Git - gcc.git/blame - gcc/c/ChangeLog
defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER to a C expression...
[gcc.git] / gcc / c / ChangeLog
CommitLineData
4bd2511b
JL
12014-05-01 Jeff Law <law@redhat.com>
2
3 Revert:
4
5 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
6 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
7 avoid goto.
8
6a358dcb
MP
92014-05-02 Marek Polacek <polacek@redhat.com>
10
11 PR c/60784
12 * c-typeck.c (push_init_level): Set constructor_designated to
13 p->designated for structures.
14
ae5ebda4
MP
152014-05-01 Marek Polacek <polacek@redhat.com>
16
17 PR c/60915
18 * c-parser.c (c_parser_declaration_or_fndef): Give better error if
19 function-definition has an attribute after the declarator.
20
96b40f8d
MP
212014-05-01 Marek Polacek <polacek@redhat.com>
22
23 PR c/60257
24 * c-typeck.c (warning_init): Add location_t parameter. Call
25 warning_at instead of warning.
26 (push_init_level): Pass input_location to warning_init.
27 (add_pending_init): Add location_t parameter. Pass loc to
28 warning_init.
29 (set_nonincremental_init): Pass input_location to add_pending_init.
30 (set_nonincremental_init_from_string): Likewise.
31 (output_init_element): Pass loc to warning_init and to
32 add_pending_init.
33
32e00768
MP
342014-05-01 Marek Polacek <polacek@redhat.com>
35
36 PR c/43395
37 * c-typeck.c (c_finish_return): Distinguish between label and variable
38 when warning about returning local address.
39
c9379ce2
MP
402014-05-01 Marek Polacek <polacek@redhat.com>
41
42 PR c/29467
43 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
44 in C89 mode.
45
d00887e8
MP
462014-05-01 Marek Polacek <polacek@redhat.com>
47
48 PR c/43245
49 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
50 instead of 0 to WARN_FOR_QUALIFIERS.
51
5436fa2e
MP
522014-05-01 Marek Polacek <polacek@redhat.com>
53
54 PR c/56989
55 * c-typeck.c (default_conversion): Use better location for
56 error call.
57
f8ed5150
MP
582014-04-30 Marek Polacek <polacek@redhat.com>
59
60 * c-typeck.c (build_binary_op): Call ubsan_instrument_division
61 also when SANITIZE_FLOAT_DIVIDE is on.
62
8337d1db
MP
632014-04-30 Marek Polacek <polacek@redhat.com>
64
65 PR c/60139
66 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
67 and pedwarn_init. Use loc insted of input_location.
68
c4bdc42f
MP
692014-04-30 Marek Polacek <polacek@redhat.com>
70
71 PR c/60351
72 * c-typeck.c (build_binary_op): Use location when warning about
73 shift count.
74
45484dcf
MP
752014-04-25 Marek Polacek <polacek@redhat.com>
76
77 PR c/18079
78 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched
79 always_inline/noinline and hot/cold attributes.
80
34cf811f
MP
812014-04-25 Marek Polacek <polacek@redhat.com>
82
83 PR c/60114
84 * c-parser.c (c_parser_initelt): Pass input_location to
85 process_init_element.
86 (c_parser_initval): Pass loc to process_init_element.
87 * c-tree.h (process_init_element): Adjust declaration.
88 * c-typeck.c (push_init_level): Pass input_location to
89 process_init_element.
90 (pop_init_level): Likewise.
91 (set_designator): Likewise.
92 (output_init_element): Add location_t parameter. Pass loc to
93 digest_init.
94 (output_pending_init_elements): Pass input_location to
95 output_init_element.
96 (process_init_element): Add location_t parameter. Pass loc to
97 output_init_element.
98
42056eac
JJ
992014-04-24 Jakub Jelinek <jakub@redhat.com>
100
101 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before
102 atomic-clause, allow comma in between atomic-clause and
103 seq_cst.
104
e162a134
JJ
1052014-04-22 Jakub Jelinek <jakub@redhat.com>
106
107 PR c/59073
108 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
109 fails, don't set OM_PARALLEL_COMBINED and return NULL.
110
2f6babac
IZ
1112014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
112
113 PR middle-end/60469
114 * c-array-notation.c (fix_builtin_array_notation_fn): Use
115 create_tmp_var instead build_decl for creating temps.
116 (build_array_notation_expr): Likewise.
117 (fix_conditional_array_notations_1): Likewise.
118 (fix_array_notation_expr): Likewise.
119 (fix_array_notation_call_expr): Likewise.
120
8edbfaa6
JJ
1212014-03-28 Jakub Jelinek <jakub@redhat.com>
122
123 PR c++/60689
124 * c-tree.h (c_build_function_call_vec): New prototype.
125 * c-typeck.c (build_function_call_vec): Don't call
126 resolve_overloaded_builtin here.
127 (c_build_function_call_vec): New wrapper function around
128 build_function_call_vec. Call resolve_overloaded_builtin here.
129 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
130 Call c_build_function_call_vec instead of build_function_call_vec.
131 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
132 * c-decl.c (finish_decl): Likewise.
133
7485aeea
MLI
1342014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
135
136 PR c/55383
137 * c-typeck.c: Use correct format string in cast-qual warning
138
b17a8b07
TS
1392014-03-07 Thomas Schwinge <thomas@codesourcery.com>
140
141 * c-decl.c (c_decl_attributes): Use
142 lang_hooks.types.omp_mappable_type.
143 * c-typeck.c (c_finish_omp_clauses): Likewise.
144
3af9c5e9
MP
1452014-03-06 Marek Polacek <polacek@redhat.com>
146
147 PR c/60197
148 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
149 of checking tree code.
150
1c9f5f33
PK
1512014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
152
153 * c-parser.c (c_parser_declspecs): Replace call to error by error_at.
154 (c_parser_parameter_declaration): Likewise.
155
cc28fc7f
MP
1562014-02-19 Marek Polacek <polacek@redhat.com>
157
158 PR c/60195
159 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
160 Call mark_exp_read on exp.value.
161 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
162 TREE_ADDRESSABLE on old instead of val.
163 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
164
b581c05c
PK
1652014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
166
167 * c-parser.c (c_parser_get_builtin_args): Replace calls to
168 C_EXPR_APPEND by vec_safe_push.
169 * c-tree.h (C_EXPR_APPEND): Remove.
170
81e5eca8
MP
1712014-01-31 Marek Polacek <polacek@redhat.com>
172
173 PR c/59963
174 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
175 build_function_call_vec.
176 (build_function_call): Likewise.
177 (build_atomic_assign): Likewise.
178 (build_function_call_vec): Add arg_loc parameter. Use it.
179 (convert_arguments): Likewise.
180 (convert_for_assignment): Rename rhs_loc to expr_loc.
181 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
182 (c_parser_objc_keywordexpr): Likewise.
183 (c_parser_postfix_expression_after_primary): Call
184 build_function_call_vec with expr_loc rather than op_loc.
185 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
186 build_function_call_vec.
187 (c_parser_expr_list): Add locations parameter. Fill it with locations
188 of function arguments.
189 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
190
68fca595
MP
1912014-01-30 Marek Polacek <polacek@redhat.com>
192
193 PR c/59940
194 * c-typeck.c (build_function_call_vec): Use loc parameter.
195 (convert_arguments): Add location parameter. Use it.
196 (ep_convert_and_check): Likewise.
197 (build_atomic_assign): Adjust convert_for_assignment call.
198 (build_modify_expr): Likewise.
199 (digest_init): Likewise.
200 (c_finish_return): Likewise.
201 (build_conditional_expr): Adjust ep_convert_and_check calls.
202 (convert_for_assignment): Add rhs_loc parameter. Use it.
203 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
204 calls.
205
fa337f3a
RB
2062014-01-30 Richard Biener <rguenther@suse.de>
207
208 PR c/59905
209 * c-typeck.c (build_function_call_vec): Do not replace calls
210 to a function via an incompatible type with a runtime abort.
211
b72271b9
BI
2122014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
213
214 * c-parser.c (c_parser_declaration_or_fndef): Replaced
215 flag_enable_cilkplus with flag_cilkplus.
216 (c_parser_direct_declarator_inner): Likewise.
217 (c_parser_attribute_any_word): Likewise.
218 (c_parser_attributes): Likewise.
219 (c_parser_compound_statement): Likewise.
220 (c_parser_statement_after_labels): Likewise.
221 (c_parser_if_statement): Likewise.
222 (c_parser_switch_statement): Likewise.
223 (c_parser_do_statement): Likewise.
224 (c_parser_for_statement): Likewise.
225 (c_parser_unary_expression): Likewise.
226 (c_parser_postfix_expression): Likewise.
227 (c_parser_postfix_expression_after_primary): Likewise.
228 (c_parser_postfix_expression_after_primary): Likewise.
229 (c_parser_omp_clause_name): Likewise.
230 (c_finish_omp_declare_simd): Likewise.
231 (c_parser_cilk_verify_simd): Likewise.
232 * c-typeck.c (build_array_ref): Likewise.
233 (build_function_call_vec): Likewise.
234 (convert_arguments): Likewise.
235 (build_compound_expr): Likewise.
236 (c_finish_return): Likewise.
237 (c_finish_if_stmt): Likewise.
238 (c_finish_loop): Likewise.
239 (build_binary_op): Likewise.
240
393e8e8b
MP
2412014-01-23 Marek Polacek <polacek@redhat.com>
242
243 PR c/59846
244 * c-typeck.c (parser_build_binary_op): Use location instead of
245 input_location.
246 (build_binary_op): Pass location to shorten_compare.
247
f04dda30
MP
2482014-01-23 Marek Polacek <polacek@redhat.com>
249
250 PR c/58346
251 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
252 an empty aggregate.
253
789eadcd
MP
2542014-01-23 Marek Polacek <polacek@redhat.com>
255
256 PR c/59871
257 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
258 of a comma expression.
259 (emit_side_effect_warnings): Likewise.
260
40f14e9f
BI
2612014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
262
263 PR c/59825
264 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
265 function to use walk_tree and moved a lot of its functionality to
266 expand_array_notations.
267 (expand_array_notations): New function.
268
74558dd9
BI
2692014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
270
271 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
272 attribute an attribute without value.
273
652fea39
JJ
2742014-01-23 Jakub Jelinek <jakub@redhat.com>
275
276 PR middle-end/58809
277 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
278 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
279
f34f1c87
MP
2802014-01-22 Marek Polacek <polacek@redhat.com>
281
282 PR c/59891
283 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
284 of remove_c_maybe_const_expr on op1 and op2.
285
241f845a
JJ
2862014-01-15 Jakub Jelinek <jakub@redhat.com>
287
288 PR c/58943
289 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
290 effects, preevaluate rhs using SAVE_EXPR first.
291
9a74f20c
BI
2922014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
293
294 PR c++/59631
295 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
296 statements with if-elseif statements.
297
96066ce1
MP
2982014-01-06 Marek Polacek <polacek@redhat.com>
299
300 PR c/57773
301 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
302 defined bit-field types only in ISO C.
303
23a5b65a
RS
3042014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
305
306 Update copyright years
307
f9030485
RS
3082014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
309
310 * c-array-notation.c: Use the standard form for the copyright notice.
311
41958c28
BI
3122013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
313
314 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
315 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
316 field in parser is not empty. If not-empty, call the function
317 c_parser_finish_omp_declare_simd.
318 (c_parser_cilk_clause_vectorlength): Modified function to be shared
319 between SIMD-enabled functions and #pragma simd. Added new parameter.
320 (c_parser_cilk_all_clauses): Modified the usage of the function
321 c_parser_cilk_clause_vectorlength as mentioned above.
322 (c_parser_cilk_simd_fn_vector_attrs): New function.
323 (c_finish_cilk_simd_fn_tokens): Likewise.
324 (is_cilkplus_vector_p): Likewise.
325 (c_parser_omp_clause_name): Added checking for "vectorlength,"
326 "nomask," and "mask" strings in clause name.
327 (c_parser_omp_all_clauses): Added 3 new case statements:
328 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
329 PRAGMA_CILK_CLAUSE_NOMASK.
330 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
331 check for vector attribute and if so call the function
332 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
333 called the function c_finish_cilk_simd_fn_tokens.
334 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
335 parser field is non-empty. If so, parse them as you would parse
336 the omp declare simd pragma.
337 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
338 Added a check when step is a parameter and flag it as error.
339 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
340 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
341 pragma_omp_clause.
342
cef0fd0e
TS
3432013-12-17 Thomas Schwinge <thomas@codesourcery.com>
344
345 * c-parser.c (c_parser_omp_parallel): Fix description.
346
12893402
BI
3472013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
348
349 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
350 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
351 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
352 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
353
296674db
JM
3542013-12-04 Joseph Myers <joseph@codesourcery.com>
355
356 PR c/52023
357 * c-parser.c (c_parser_alignas_specifier): Use
358 c_sizeof_or_alignof_type instead of c_alignof.
359 (c_parser_alignof_expression): Likewise, with min_alignof
360 parameter depending on alignof spelling used.
361
edd28054
MP
3622013-12-04 Marek Polacek <polacek@redhat.com>
363
364 PR c/54113
365 * c-decl.c (start_function): Don't warn for missing prototype for
366 inline functions.
367
da0fc454
MP
3682013-12-03 Marek Polacek <polacek@redhat.com>
369
370 PR c/59351
371 * c-decl.c (build_compound_literal): Allow compound literals with
372 empty initial value.
373
4c2ecab0
JM
3742013-12-02 Joseph Myers <joseph@codesourcery.com>
375
376 PR c/58235
377 * c-typeck.c (build_modify_expr): Diagnose assignment to
378 expression with array type.
379
340baef7
JM
3802013-11-29 Joseph Myers <joseph@codesourcery.com>
381
382 PR c/42262
383 * c-typeck.c (process_init_element): Do not treat a string as
384 initializing a whole array when used with a designator for an
385 individual element.
386
6763b9f7
JM
3872013-11-29 Joseph Myers <joseph@codesourcery.com>
388
389 PR c/57574
390 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
391 an inline function following a static declaration.
392
e7bd1de1
JJ
3932013-11-28 Jakub Jelinek <jakub@redhat.com>
394
395 PR c/59310
396 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
397 to p_name before calling c_parser_omp_teams instead of after.
398 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
399 argument. Remove unused p_name variable.
400
0136f8f0
AH
4012013-11-27 Aldy Hernandez <aldyh@redhat.com>
402 Jakub Jelinek <jakub@redhat.com>
403
404 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
405 external_scope is NULL.
406
241b71bb
TV
4072013-11-27 Tom de Vries <tom@codesourcery.com>
408 Marc Glisse <marc.glisse@inria.fr>
409
410 PR c++/59032
411 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
412
2fb9a547
AM
4132013-11-22 Andrew MacLeod <amacleod@redhat.com>
414
415 * c-typeck.c: Add required include files from gimple.h.
416
8400e75e
DM
4172013-11-22 David Malcolm <dmalcolm@redhat.com>
418
419 * c-decl.c (define_label, shadow_tag_warned)
420 (check_bitfield_type_and_width, grokdeclarator, grokparms,
421 store_parm_decls_newstyle, store_parm_decls_oldstyle)
422 (declspecs_add_type): Remove use of in_system_header macro.
423 * c-parser.c (c_parser_unary_expression): Likewise.
424 * c-typeck.c (store_init_value, process_init_element)
425 (c_start_case): Likewise.
426
427 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
428 macro.
429
430 * c-parser.c (c_parser_set_source_position_from_token): Remove
431 reference to in_system_header from comment.
432
386b1f1f
RS
4332013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
434
435 * c-decl.c (grokdeclarator): Update comment to refer to
436 tree_to_[su]hwi rather than tree_low_cst.
437
ae7e9ddd
RS
4382013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
439
440 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
441 tree_to_uhwi throughout.
442
9439e9a1
RS
4432013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
444
445 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
446 throughout.
447
9541ffee
RS
4482013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
449
450 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
451 throughout.
452
c02065fc
AH
4532013-11-15 Aldy Hernandez <aldyh@redhat.com>
454
455 * c-parser.c (c_parser_cilk_simd): New.
456 (c_parser_cilk_verify_simd): New.
457 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
458 (c_parser_omp_for_loop): Add case for NE_EXPR.
459 Set c_break_label for CILK_SIMD.
460 (c_parser_cilk_clause_vectorlength): New.
461 (c_parser_cilk_clause_linear): New.
462 (c_parser_cilk_clause_name): New.
463 (c_parser_cilk_all_clauses): New.
464 * c-typeck.c (build_unary_op): Pass location argument to
465 readonly_error.
466 (build_modify_expr): Same.
467 (build_asm_expr): Same.
468 (c_finish_bc_stmt): Error on break/continue in loops.
469
18f429e2
AM
4702013-11-14 Andrew MacLeod <amacleod@redhat.com>
471
472 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
473
d8a2d370
DN
4742013-11-14 Diego Novillo <dnovillo@google.com>
475
476 * c-decl.c: Include print-tree.h.
477 Include stor-layout.h.
478 Include varasm.h.
479 Include attribs.h.
480 Include stringpool.h.
481 * c-lang.c: Include fold-const.h.
482 * c-parser.c: Include stringpool.h.
483 Include attribs.h.
484 Include stor-layout.h.
485 Include varasm.h.
486 Include trans-mem.h.
487 * c-typeck.c: Include stor-layout.h.
488 Include trans-mem.h.
489 Include varasm.h.
490 Include stmt.h.
491
38b7bc7f
JM
4922013-11-13 Joseph Myers <joseph@codesourcery.com>
493
494 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
495 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
496 __auto_type.
497 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
498 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
499 RID_AUTO_TYPE.
500 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
501 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
502 (c_parser_declarator, c_parser_direct_declarator_inner)
503 (c_parser_parameter_declaration, c_parser_type_name): All callers
504 changed.
505 (c_parser_declaration_or_fndef): Handle declarations with type
506 determined from the initializer.
507
45b0be94
AM
5082013-11-12 Andrew MacLeod <amacleod@redhat.com>
509
18f429e2 510 * c-typeck.c: Include gimplify.h.
45b0be94 511
582d9b50
JM
5122013-11-12 Joseph Myers <joseph@codesourcery.com>
513
514 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
515 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
516 comment.
517 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
518 or _Thread_local as appropriate in diagnostics.
519 (build_null_declspecs): Initialize ret->thread_gnu_p.
520 (declspecs_add_scspec): Handle either __thread or _Thread_local
521 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
522 pedantic. Do not disallow _Thread_local extern and _Thread_local
523 static.
524
267bac10
JM
5252013-11-07 Joseph Myers <joseph@codesourcery.com>
526 Andrew MacLeod <amacleod@redhat.com>
527
528 * c-aux-info.c (gen_type): Handle atomic qualifier.
529 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
530 qualifiers when compating types.
531 (shadow_tag_warned): Handle atomic_p in declspecs.
532 (quals_from_declspecs): Likewise.
533 (start_decl): Use c_type_promotes_to when promoting argument
534 types.
535 (grokdeclarator): Handle _Atomic.
536 (get_parm_info): Diagnose any qualifier on "void" as only
537 parameter.
538 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
539 comparing types. Use c_type_promotes_to when promoting argument
540 types.
541 (finish_function): Use c_type_promotes_to when promoting argument
542 types.
543 (build_null_declspecs): Handle atomic_p in declspecs.
544 (declspecs_add_qual): Handle RID_ATOMIC.
545 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
546 (c_token_starts_declspecs): Handle RID_ATOMIC.
547 (c_parser_declspecs): Handle atomic type specifiers and
548 qualifiers.
549 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
550 from types of expressions with atomic type.
551 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
552 (c_parser_attribute_any_word): Handle RID_ATOMIC.
553 (c_parser_initializer, c_parser_initelt, c_parser_initval)
554 (c_parser_statement_after_labels, c_parser_switch_statement)
555 (c_parser_for_statement, c_parser_expr_no_commas)
556 (c_parser_conditional_expression, c_parser_binary_expression)
557 (c_parser_cast_expression, c_parser_unary_expression)
558 (c_parser_postfix_expression)
559 (c_parser_postfix_expression_after_primary, c_parser_expression):
560 Use convert_lvalue_to_rvalue.
561 (c_parser_expression_conv, c_parser_expr_list): Document
562 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
563 (c_parser_objc_synchronized_statement): Use
564 convert_lvalue_to_rvalue.
565 (c_parser_objc_selector): Handle RID_ATOMIC.
566 (c_parser_objc_receiver, c_parser_array_notation): Use
567 convert_lvalue_to_rvalue.
568 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
569 _Atomic (type-name).
570 (struct c_declspecs): Add atomic_p field.
571 (convert_lvalue_to_rvalue): Declare.
572 * c-typeck.c (c_type_promotes_to): Promote atomic types to
573 corresponding atomic types.
574 (qualify_type): Don't add _Atomic qualifiers from second argument.
575 (comp_target_types): Do not allow _Atomic mismatches.
576 (type_lists_compatible_p): Do not remove atomic qualifiers when
577 comparing types.
578 (really_atomic_lvalue, convert_lvalue_to_rvalue)
579 (build_atomic_assign): New functions.
580 (build_unary_op): Use build_atomic_assign for atomic increment and
581 decrement.
582 (build_conditional_expr): Do not treat _Atomic void as a qualified
583 version of void.
584 (build_modify_expr): Use build_atomic_assign for atomic LHS.
585 (find_anonymous_field_with_type, convert_to_anonymous_field)
586 (convert_for_assignment): Do not remove atomic qualifiers when
587 comparing types.
588 (digest_init): Do not accept initialization of arrays of atomic
589 elements by string constants.
590 (build_asm_expr): Use convert_lvalue_to_rvalue.
591 (build_binary_op): Do not treat _Atomic void as a qualified
592 version of void.
593
0c249d4b
DD
5942013-11-06 DJ Delorie <dj@redhat.com>
595
596 * c-decl.c (locate_old_decl): If a previous conflicting decl is
597 both explicit and builtin, print the location of the explicit one.
598
6d7f7e0a
TB
5992013-11-05 Tobias Burnus <burnus@net-b.de>
600
601 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
602 c_parser_omp_distribute, c_parser_omp_teams,
603 c_parser_omp_target, c_parser_omp_declare): Handle
604 -fopenmp-simd.
605
b906f4ca
MP
6062013-11-03 Marek Polacek <polacek@redhat.com>
607
608 * c-decl.c (grokdeclarator): Add VLA instrumentation.
609
ee1d5a02
JJ
6102013-11-01 Jakub Jelinek <jakub@redhat.com>
611
612 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
613 check_dup_generic at the end, unless remove is true.
614 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
615 remove = true;.
616 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
617
5a9785fb
JJ
6182013-10-31 Jakub Jelinek <jakub@redhat.com>
619
620 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
621 with decl that is not pointer nor array.
622
939b37da
BI
6232013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
624
625 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
626 a spawning function is found.
627 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
628 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
629 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
630 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
631 case.
632 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
633 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
634 expr.
635 (c_finish_return): Added a check to reject _Cilk_spawn in return
636 expression.
637 (build_cilk_spawn): New function.
638 (build_cilk_sync): Likewise.
639 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
640
d4af74d4
TB
6412013-10-27 Tobias Burnus <burnus@net-b.de>
642
643 PR other/33426
644 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
645 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
646 (c_parser_statement_after_labels): Update calls.
647
d73749df 6482013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
649
650 PR other/33426
651 * c-parser.c (c_parser_pragma, c_parser_for_statement):
652 Handle PRAGMA_IVDEP.
653 (c_parser_statement_after_labels): Update call.
654
f28aa681
MP
6552013-10-24 Marek Polacek <polacek@redhat.com>
656
657 * c-parser.c (c_parser_struct_declaration): Add a comment.
658 (c_parser_declarator): Don't allow _Alignas here.
659
0645c1a2
AM
6602013-10-17 Andrew MacLeod <amacleod@redhat.com>
661
662 * c-parser.c: Include omp-low.h.
663 * c-typeck.c: Likewise.
664
568a31f2
MP
6652013-10-17 Marek Polacek <polacek@redhat.com>
666
667 PR c/58267
668 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
669 Document syntax of the array-declarator.
670 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
671 are not permitted.
672 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
673 (c_parser_struct_declaration): Likewise.
674 (c_parser_declarator): Likewise.
675 (c_parser_direct_declarator_inner): Likewise.
676 (c_parser_parameter_declaration): Likewise.
677 (c_parser_type_name): Likewise.
678
acf0174b
JJ
6792013-10-11 Jakub Jelinek <jakub@redhat.com>
680
681 * c-lang.h (current_omp_declare_target_attribute): New extern
682 decl.
683 * c-parser.c: Include c-lang.h.
684 (struct c_parser): Change tokens to c_token *.
685 Add tokens_buf field. Change tokens_avail type to unsigned int.
686 (c_parser_consume_token): If parser->tokens isn't
687 &parser->tokens_buf[0], increment parser->tokens.
688 (c_parser_consume_pragma): Likewise.
689 (enum pragma_context): Add pragma_struct and pragma_param.
690 (c_parser_external_declaration): Adjust
691 c_parser_declaration_or_fndef caller.
692 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
693 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
694 Adjust recursive call.
695 (c_parser_struct_or_union_specifier): Use pragma_struct instead
696 of pragma_external.
697 (c_parser_parameter_declaration): Use pragma_param instead of
698 pragma_external.
699 (c_parser_compound_statement_nostart, c_parser_label,
700 c_parser_for_statement): Adjust
701 c_parser_declaration_or_fndef callers.
702 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
703 it through to c_parser_conditional_expression.
704 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
705 pass it through to c_parser_binary_expression. Adjust recursive
706 call.
707 (c_parser_binary_expression): Remove prec argument, add
708 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
709 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
710 binop matches it, use build2 instead of parser_build_binary_op.
711 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
712 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
713 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
714 Handle pragma_struct and pragma_param the same as pragma_external.
715 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
716 (c_parser_omp_variable_list): Parse array sections for
717 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
718 (c_parser_omp_clause_collapse): Fully fold collapse expression.
719 (c_parser_omp_clause_reduction): Handle user defined reductions.
720 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
721 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
722 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
723 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
724 c_parser_omp_clause_depend, c_parser_omp_clause_map,
725 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
726 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
727 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
728 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
729 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
730 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
731 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
732 (c_parser_omp_for_loop): Add CODE argument, pass it through
733 to c_finish_omp_for. Change last argument to cclauses,
734 and adjust uses to grab parallel clauses from the array of all
735 the split clauses. Adjust c_parser_binary_expression,
736 c_parser_declaration_or_fndef and c_finish_omp_for callers.
737 (omp_split_clauses): New function.
738 (c_parser_omp_simd): New function.
739 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
740 Allow the function to be called also when parsing combined constructs,
741 and call c_parser_omp_simd when parsing for simd.
742 (c_parser_omp_sections_scope): If section-sequence doesn't start with
743 #pragma omp section, require exactly one structured-block instead of
744 sequence of statements.
745 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
746 Allow the function to be called also when parsing combined constructs.
747 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
748 Allow the function to be called also when parsing combined
749 constructs.
750 (c_parser_omp_taskgroup, c_parser_omp_cancel,
751 c_parser_omp_cancellation_point, c_parser_omp_distribute,
752 c_parser_omp_teams, c_parser_omp_target_data,
753 c_parser_omp_target_update, c_parser_omp_target,
754 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
755 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
756 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
757 (c_parser_omp_construct): Add p_name and mask vars. Handle
758 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
759 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
760 and c_parser_omp_sections callers.
761 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
762 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
763 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
764 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
765 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
766 OMP_CLAUSE_DEPEND.
767 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
768 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
769 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
770 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
771 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
772 * c-typeck.c: Include tree-inline.h.
773 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
774 handle_omp_array_sections_1, handle_omp_array_sections,
775 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
776 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
777 user defined reductions.
778 (c_tree_equal): New function.
779 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
780 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
781 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
782 c_check_omp_declare_reduction_r): New prototypes.
783 * c-decl.c (current_omp_declare_target_attribute): New variable.
784 (c_decl_attributes): New function.
785 (start_decl, start_function): Use it instead of decl_attributes.
786 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
787 c_omp_reduction_decl, c_omp_reduction_lookup,
788 c_check_omp_declare_reduction_r): New functions.
789
0a6c2227
TT
7902013-09-25 Tom Tromey <tromey@redhat.com>
791
792 * Make-lang.in (c/gccspec.o): Remove.
793 (CFLAGS-c/gccspec.o): New variable.
794 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
795 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
796 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
797
f3bc55f0
TT
7982013-09-25 Tom Tromey <tromey@redhat.com>
799
800 * Make-lang.in (c/gccspec.o): Don't use subshell.
801
a24d975c
MP
8022013-09-18 Marek Polacek <polacek@redhat.com>
803
804 PR sanitize/58443
805 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
806 Remove unnecessary check.
807
ce6923c5
MP
8082013-09-18 Marek Polacek <polacek@redhat.com>
809
810 PR sanitizer/58411
811 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
812 no_sanitize_undefined attribute.
813
a1e51df9
KT
8142013-09-13 Kai Tietz <ktietz@redhat.com>
815
816 PR target/57848
817 * c-decl.c (c_builtin_function_ext_scope): Remove
818 wrong assumption that it is never called on prexisting
819 symbol.
820
0af94e6f
JR
8212013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
822
823 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
824
20059c8b
GDR
8252013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
826
827 * c-objc-common.c (c_tree_printer): Tidy.
828
de5a5fa1
MP
8292013-08-30 Marek Polacek <polacek@redhat.com>
830
831 * c-typeck.c (build_binary_op): Add division by zero and shift
832 instrumentation.
833
2531a1d9 8342013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
0fdd4508 835 Joseph Myers <joseph@codesourcery.com>
2531a1d9 836
6e2bcc98 837 PR c/35649
2531a1d9
JR
838 * c-typeck.c (c_common_type): Prefer double_type_node over
839 other REAL_TYPE types with the same precision.
840 (convert_arguments): Likewise.
841
025311c4
GDR
8422013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
843
844 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
845 (c_initialize_diagnostics): Call a destructor for the early printer.
846
da6ca2b5
GDR
8472013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
848
849 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
850 printer initialization.
851
318cda85 8522013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
da6ca2b5 853
318cda85
BI
854 PR c/57490
855 * c-array-notation.c (fix_conditional_array_notations_1): Added a
856 check for truth values.
857 (expand_array_notation_exprs): Added truth values case. Removed an
858 unwanted else. Added for-loop to walk through subtrees in default
859 case.
860
b066401f
GDR
8612013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
862
863 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
864
fb48aadc
JM
8652013-07-23 Joseph Myers <joseph@codesourcery.com>
866
867 * c-parser.c (struct c_generic_association): Fix typo.
868
433cc7b0
TT
8692013-07-23 Tom Tromey <tromey@redhat.com>
870 Joseph Myers <joseph@codesourcery.com>
871
872 * c-parser.c (struct c_generic_association): New.
873 (c_generic_association_d): New typedef.
874 (c_parser_generic_selection): New function.
875 (c_parser_postfix_expression): Handle RID_GENERIC.
876
26d40c3d
JM
8772013-07-13 Jason Merrill <jason@redhat.com>
878
879 PR c++/57793
880 * c-decl.c (finish_struct): Check for too-large class.
881
ecdbd01a 8822013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
883
884 PR c/57821
885 * c-typeck.c (set_init_index): When folding, check for index overflow.
886
1141ed3f
BI
8872013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
888
889 * c-parser.c (c_parser_array_notation): Removed rejection of array
890 notations in an array of function pointers.
891
713b46fa
BI
8922013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
893
894 * c-array-notation.c (make_triplet_val_inv): New function.
895 (create_cmp_incr): Likewise.
896 (create_array_refs): Likewise.
897 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
898 Also modularized common parts between functions and called the function.
899 (build_array_notation_expr): Likewise.
900 (fix_conditional_array_notations_1): Likewise.
901 (fix_array_notation_expr): Likewise.
902 (fix_array_notation_call_expr): Likewise.
903
92f20202
MP
9042013-06-18 Marek Polacek <polacek@redhat.com>
905
906 PR c/57630
907 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
908
73a23b06
BI
9092013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
910
911 * c-array-notation.c (build_array_notation_expr): Reject array notation
912 mismatch between LHS and RHS even inside a call_expr. Also, removed
913 a couple while statements that were dead code.
914
00b8517d
BI
9152013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
916
917 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
918 excessive precision expressions in function parameters. Also removed
919 couple unwanted while statements.
920
1509bdda
BI
9212013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
922
923 * c-array-notation.c (expand_array_notation_exprs): Added
924 ARRAY_NOTATION_REF case.
925
d60f1706
BI
9262013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
927
928 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
929 function to c-family/array-notation-common.c.
930 (is_cilkplus_reduce_builtin): Likewise.
931 (find_rank): Likewise.
932 (extract_array_notation_exprs): Likewise.
933 (replace_array_notations): Likewise.
934 (find_inv_trees): Likewise.
935 (replace_inv_trees): Likewise.
936 (contains_array_notation_expr): Likewise.
937 (find_correct_array_notation_type): Likewise.
938 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
939 (struct inv_list): Moved this to c-family/array-notation-common.c.
940 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
941
6d6efbb3
BI
9422013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
943
944 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
945 reduction functions outside the for-loop. Added a check if the fundecl
946 is non-NULL. Finally, removed an unwanted if-statement, and made the
947 body unconditional.
948
25c22937
BI
9492013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
950
951 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
952 condition of the if-statement matches the rank of else-block and then-
953 block when array notations are used.
954 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
955 expression after the entire function body is parsed.
956 (c_parser_expr_no_commas): Delayed creating array notation expressions
957 to the end of function parsing.
958 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
959 whole if-statement instead of just the condition.
960 (expand_array_notation_exprs): Added MODIFY_EXPR case.
961
edd25645
BI
9622013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
963
964 PR c/57474
965 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
966 array to NULL_TREE if they are unused. Also added a check for the
967 field to be NULL before its fields are used in future.
968
065ce7f1
RO
9692013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
970
971 PR bootstrap/57450
972 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
973 (build_array_notation_expr): Likewise.
974
36536d79
BI
9752013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
976
977 * c-typeck.c (build_array_ref): Added a check to see if array's
978 index is greater than one. If true, then emit an error.
979 (build_function_call_vec): Exclude error reporting and checking
980 for builtin array-notation functions.
981 (convert_arguments): Likewise.
982 (c_finish_return): Added a check for array notations as a return
983 expression. If true, then emit an error.
984 (c_finish_loop): Added a check for array notations in a loop
985 condition. If true then emit an error.
986 (lvalue_p): Added a ARRAY_NOTATION_REF case.
987 (build_binary_op): Added a check for array notation expr inside
988 op1 and op0. If present, we call another function to find correct
989 type.
990 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
991 * c-parser.c (c_parser_compound_statement): Check if array
992 notation code is used in tree, if so, then transform them into
993 appropriate C code.
994 (c_parser_expr_no_commas): Check if array notation is used in LHS
995 or RHS, if so, then build array notation expression instead of
996 regular modify.
997 (c_parser_postfix_expression_after_primary): Added a check for
998 colon(s) after square braces, if so then handle it like an array
999 notation. Also, break up array notations in unary op if found.
1000 (c_parser_direct_declarator_inner): Added a check for array
1001 notation.
1002 (c_parser_compound_statement): Added a check for array notation in
1003 a stmt. If one is present, then expand array notation expr.
1004 (c_parser_if_statement): Likewise.
1005 (c_parser_switch_statement): Added a check for array notations in
1006 a switch statement's condition. If true, then output an error.
1007 (c_parser_while_statement): Similarly, but for a while.
1008 (c_parser_do_statement): Similarly, but for a do-while.
1009 (c_parser_for_statement): Similarly, but for a for-loop.
1010 (c_parser_unary_expression): Check if array notation is used in a
1011 pre-increment or pre-decrement expression. If true, then expand
1012 them.
1013 (c_parser_array_notation): New function.
1014 * c-array-notation.c: New file.
1015 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
1016
cd192ccc
MS
10172013-05-23 Mike Stump <mikestump@comcast.net>
1018
1019 * c-typeck.c (convert_for_assignment): Handle references to memory
1020 spaces better.
1021
427b248d
JM
10222013-05-16 Jason Merrill <jason@redhat.com>
1023
1024 * Make-lang.in (cc1$(exeext)): Use link mutex.
1025
44d90fe1
PC
10262013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1027
1028 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
1029 to simply use OPT_Wpointer_arith.
1030 (build_unary_op): Likewise.
1031
4e7d7b3d
JJ
10322013-04-03 Jakub Jelinek <jakub@redhat.com>
1033
1034 PR c/19449
1035 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
1036 argument. If set, or it temporarily for parsing of the first
1037 argument into force_folding_builtin_constant_p.
1038 (c_parser_postfix_expression): Adjust callers.
1039
839b422f
RB
10402013-03-21 Richard Biener <rguenther@suse.de>
1041
1042 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
1043 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
1044
2ee028f1
MP
10452013-02-12 Marek Polacek <polacek@redhat.com>
1046
1047 PR c/44938
1048 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
1049 origtypes to NULL.
1050
8824edff
JJ
10512013-01-24 Jakub Jelinek <jakub@redhat.com>
1052
1053 PR c/56078
1054 * c-typeck.c (set_nonincremental_init_from_string): If
1055 constructor_max_index is NULL, treat it as if tree_int_cst_lt
1056 returned false.
1057 (process_init_element): Likewise.
1058
eadd3d0d
JJ
10592012-12-20 Jakub Jelinek <jakub@redhat.com>
1060
1061 PR c++/55619
1062 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
1063 argument, don't call default_function_array_conversion
1064 nor c_fully_fold here.
1065 (c_parser_asm_statement): Adjust callers.
1066 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
1067 and outputs here, and call default_function_array_conversion
1068 on inputs that don't need to be addressable.
1069
f8a93a2e
JJ
10702012-12-18 Jakub Jelinek <jakub@redhat.com>
1071
1072 PR c/39464
1073 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
1074 warning require that both c_common_unsigned_type as well as
1075 c_common_signed_type is the same for both mvl and mvr types.
1076
9771b263
DN
10772012-11-16 Diego Novillo <dnovillo@google.com>
1078
1079 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1080
1081 * c-common.c: Use new vec API in vec.h.
1082 * c-common.h: Likewise.
1083 * c-gimplify.c: Likewise.
1084 * c-pragma.c: Likewise.
1085 * c-pretty-print.c: Likewise.
1086 * c-pretty-print.h: Likewise.
1087 * c-semantics.c: Likewise.
1088 * c-decl.c: Likewise.
1089 * c-parser.c: Likewise.
1090 * c-tree.h: Likewise.
1091 * c-typeck.c: Likewise.
1092
880661a4
JW
10932012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
1094
1095 PR c++/54930
1096 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
1097
077d1abe
MLI
10982012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1099
1100 PR c/53066
1101 * c-decl.c (warn_if_shadowing): Do not warn if a variable
1102 shadows a function, unless the variable is a function or a
1103 pointer-to-function.
1104
3a785c97
JJ
11052012-10-12 Jakub Jelinek <jakub@redhat.com>
1106
1107 PR c/54381
1108 * c-parser.c (struct c_tree_loc_pair): Removed.
1109 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
1110 add location_t * and tree * arguments, fill in array of 3
1111 sizeof_arg trees and corresponding locs.
1112 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
1113 c_parser_expr_list callers.
1114 (c_parser_postfix_expression_after_primary): Likewise. Pass
1115 array of 3 sizeof_arg trees and locs (corresponding to first
1116 3 arguments) to sizeof_pointer_memaccess_warning.
1117
703c8606
LC
11182012-10-09 Lawrence Crowl <crowl@google.com>
1119
1120 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
1121 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
1122 hash table.
1123
5d9de0d0
PC
11242012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
1125
1126 PR c++/54194
1127 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
1128 call.
1129
a212e43f
MG
11302012-10-09 Marc Glisse <marc.glisse@inria.fr>
1131
1132 PR c++/54427
1133 * c-typeck.c: Include c-common.h.
1134 (enum stv_conv): Moved to c-common.h.
1135 (scalar_to_vector): Moved to c-common.c.
1136 (build_binary_op): Adapt to scalar_to_vector's new prototype.
1137 * Make-lang.in: c-typeck.c depends on c-common.h.
1138
3b78de56
AC
11392012-10-04 Arnaud Charlet <charlet@adacore.com>
1140
1141 * c-decl.c (c_write_global_declarations): Fix handling of
1142 -fdump-ada-spec*.
1143
78c60e3d
SS
11442012-09-30 Sharad Singhai <singhai@google.com>
1145
1146 * c-decl.c (c_write_global_declarations): Use a different method
1147 to determine if the dump has ben initialized.
1148
9f33203d
JM
11492012-09-14 Joseph Myers <joseph@codesourcery.com>
1150
1151 PR c/54552
1152 * c-typeck.c (c_cast_expr): When casting to a type requiring
1153 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
1154 c_fully_fold first.
1155
a27d595d
JM
11562012-09-14 Joseph Myers <joseph@codesourcery.com>
1157
1158 PR c/54103
1159 * c-typeck.c (build_unary_op): Pass original argument of
1160 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
1161 any C_MAYBE_CONST_EXPR, if it has integer operands.
1162 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
1163 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
1164 to c_objc_common_truthvalue_conversion, then remove any
1165 C_MAYBE_CONST_EXPR, if they have integer operands. Use
1166 c_objc_common_truthvalue_conversion not
1167 c_common_truthvalue_conversion.
1168 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
1169 call note_integer_operands for arguments with integer operands
1170 that are not integer constants.
1171
9feb29df
JJ
11722012-09-13 Jakub Jelinek <jakub@redhat.com>
1173
1174 PR c/54559
1175 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
1176 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
1177
d409320c
JJ
11782012-08-31 Jakub Jelinek <jakub@redhat.com>
1179
1180 PR c/54428
1181 * c-convert.c (convert): Don't call fold_convert_loc if
1182 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
1183 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
1184 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
1185
6265d07c
JJ
11862012-08-24 Jakub Jelinek <jakub@redhat.com>
1187
1188 PR c/54355
1189 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
1190 for nested and empty_ok arguments in the call to
1191 c_parser_declaration_or_fndef.
1192
1a4049e7
JJ
11932012-08-17 Jakub Jelinek <jakub@redhat.com>
1194
1195 * c-tree.h (c_last_sizeof_arg): Declare.
1196 * c-parser.c (struct c_tree_loc_pair): New type.
1197 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
1198 non-NULL.
1199 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
1200 (c_parser_postfix_expression_after_primary): Likewise. Call
1201 sizeof_pointer_memaccess_warning if needed.
1202 (sizeof_ptr_memacc_comptypes): New function.
1203 * c-typeck.c (c_last_sizeof_arg): New global variable.
1204 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
1205
0229aee9
UB
12062012-07-24 Uros Bizjak <ubizjak@gmail.com>
1207
1208 * c-lang.h (lang_decl): Add variable_size GTY option.
1209
7ee2468b
SB
12102012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1211
1212 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
1213 * Make-lang.in: Fix dependencies.
1214
d4a10d0a
SB
12152012-06-29 Steven Bosscher <steven@gcc.gnu.org>
1216
1217 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
1218 and add language Makefile hooks.
1219 * config-lang.in: New file.
1220 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
1221 add the required "normal" config-lang.in rules.
1222 * c-lang.h: Moved from gcc/ to here.
1223 * c-tree.h: Likewise.
1224 * c-objc-common.c: Likewise.
1225 * c-objc-common.h: Likewise.
1226 * c-typeck.c: Likewise.
1227 * c-convert.c: Likewise.
1228 * c-lang.c: Likewise.
1229 * c-aux-info.c: Likewise.
1230 * c-errors.c: Likewise.
1231 * gccspec.c: Likewise.
1232 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
1233 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
1234\f
23a5b65a 1235Copyright (C) 2012-2014 Free Software Foundation, Inc.
d4a10d0a
SB
1236
1237Copying and distribution of this file, with or without modification,
1238are permitted in any medium without royalty provided the copyright
1239notice and this notice are preserved.
This page took 0.563481 seconds and 5 git commands to generate.