]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
PR target/58710
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
ec761d5a 12014-01-31 Marek Polacek <polacek@redhat.com>
2
3 PR c/59963
4 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
5 build_function_call_vec.
6 (build_function_call): Likewise.
7 (build_atomic_assign): Likewise.
8 (build_function_call_vec): Add arg_loc parameter. Use it.
9 (convert_arguments): Likewise.
10 (convert_for_assignment): Rename rhs_loc to expr_loc.
11 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
12 (c_parser_objc_keywordexpr): Likewise.
13 (c_parser_postfix_expression_after_primary): Call
14 build_function_call_vec with expr_loc rather than op_loc.
15 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
16 build_function_call_vec.
17 (c_parser_expr_list): Add locations parameter. Fill it with locations
18 of function arguments.
19 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
20
22a75734 212014-01-30 Marek Polacek <polacek@redhat.com>
22
23 PR c/59940
24 * c-typeck.c (build_function_call_vec): Use loc parameter.
25 (convert_arguments): Add location parameter. Use it.
26 (ep_convert_and_check): Likewise.
27 (build_atomic_assign): Adjust convert_for_assignment call.
28 (build_modify_expr): Likewise.
29 (digest_init): Likewise.
30 (c_finish_return): Likewise.
31 (build_conditional_expr): Adjust ep_convert_and_check calls.
32 (convert_for_assignment): Add rhs_loc parameter. Use it.
33 (build_binary_op): Adjust convert_and_check and ep_convert_and_check
34 calls.
35
29f580ac 362014-01-30 Richard Biener <rguenther@suse.de>
37
38 PR c/59905
39 * c-typeck.c (build_function_call_vec): Do not replace calls
40 to a function via an incompatible type with a runtime abort.
41
a89e6c15 422014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
43
44 * c-parser.c (c_parser_declaration_or_fndef): Replaced
45 flag_enable_cilkplus with flag_cilkplus.
46 (c_parser_direct_declarator_inner): Likewise.
47 (c_parser_attribute_any_word): Likewise.
48 (c_parser_attributes): Likewise.
49 (c_parser_compound_statement): Likewise.
50 (c_parser_statement_after_labels): Likewise.
51 (c_parser_if_statement): Likewise.
52 (c_parser_switch_statement): Likewise.
53 (c_parser_do_statement): Likewise.
54 (c_parser_for_statement): Likewise.
55 (c_parser_unary_expression): Likewise.
56 (c_parser_postfix_expression): Likewise.
57 (c_parser_postfix_expression_after_primary): Likewise.
58 (c_parser_postfix_expression_after_primary): Likewise.
59 (c_parser_omp_clause_name): Likewise.
60 (c_finish_omp_declare_simd): Likewise.
61 (c_parser_cilk_verify_simd): Likewise.
62 * c-typeck.c (build_array_ref): Likewise.
63 (build_function_call_vec): Likewise.
64 (convert_arguments): Likewise.
65 (build_compound_expr): Likewise.
66 (c_finish_return): Likewise.
67 (c_finish_if_stmt): Likewise.
68 (c_finish_loop): Likewise.
69 (build_binary_op): Likewise.
70
2623625f 712014-01-23 Marek Polacek <polacek@redhat.com>
72
73 PR c/59846
74 * c-typeck.c (parser_build_binary_op): Use location instead of
75 input_location.
76 (build_binary_op): Pass location to shorten_compare.
77
46da3601 782014-01-23 Marek Polacek <polacek@redhat.com>
79
80 PR c/58346
81 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
82 an empty aggregate.
83
9a9db3c1 842014-01-23 Marek Polacek <polacek@redhat.com>
85
86 PR c/59871
87 * c-typeck.c (build_compound_expr): Warn even for right-hand operand
88 of a comma expression.
89 (emit_side_effect_warnings): Likewise.
90
69c9b607 912014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
92
93 PR c/59825
94 * c-array-notation.c (expand_array_notation_exprs): Rewrote this
95 function to use walk_tree and moved a lot of its functionality to
96 expand_array_notations.
97 (expand_array_notations): New function.
98
7e005ab5 992014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
100
101 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
102 attribute an attribute without value.
103
d6779b5f 1042014-01-23 Jakub Jelinek <jakub@redhat.com>
105
106 PR middle-end/58809
107 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
108 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
109
ec431042 1102014-01-22 Marek Polacek <polacek@redhat.com>
111
112 PR c/59891
113 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead
114 of remove_c_maybe_const_expr on op1 and op2.
115
1248c663 1162014-01-15 Jakub Jelinek <jakub@redhat.com>
117
118 PR c/58943
119 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
120 effects, preevaluate rhs using SAVE_EXPR first.
121
0bc789fc 1222014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
123
124 PR c++/59631
125 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if
126 statements with if-elseif statements.
127
6685d11c 1282014-01-06 Marek Polacek <polacek@redhat.com>
129
130 PR c/57773
131 * c-decl.c (check_bitfield_type_and_width): Warn for implementation
132 defined bit-field types only in ISO C.
133
3aea1f79 1342014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
135
136 Update copyright years
137
e4f22041 1382014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
139
140 * c-array-notation.c: Use the standard form for the copyright notice.
141
74acc703 1422013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
143
144 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
145 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
146 field in parser is not empty. If not-empty, call the function
147 c_parser_finish_omp_declare_simd.
148 (c_parser_cilk_clause_vectorlength): Modified function to be shared
149 between SIMD-enabled functions and #pragma simd. Added new parameter.
150 (c_parser_cilk_all_clauses): Modified the usage of the function
151 c_parser_cilk_clause_vectorlength as mentioned above.
152 (c_parser_cilk_simd_fn_vector_attrs): New function.
153 (c_finish_cilk_simd_fn_tokens): Likewise.
154 (is_cilkplus_vector_p): Likewise.
155 (c_parser_omp_clause_name): Added checking for "vectorlength,"
156 "nomask," and "mask" strings in clause name.
157 (c_parser_omp_all_clauses): Added 3 new case statements:
158 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
159 PRAGMA_CILK_CLAUSE_NOMASK.
160 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
161 check for vector attribute and if so call the function
162 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
163 called the function c_finish_cilk_simd_fn_tokens.
164 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
165 parser field is non-empty. If so, parse them as you would parse
166 the omp declare simd pragma.
167 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
168 Added a check when step is a parameter and flag it as error.
169 (CILK_SIMD_FN_CLAUSE_MASK): New #define.
170 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to
171 pragma_omp_clause.
172
395dc01c 1732013-12-17 Thomas Schwinge <thomas@codesourcery.com>
174
175 * c-parser.c (c_parser_omp_parallel): Fix description.
176
433e804e 1772013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
178
179 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
180 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
181 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
182 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
183
a179a7dc 1842013-12-04 Joseph Myers <joseph@codesourcery.com>
185
186 PR c/52023
187 * c-parser.c (c_parser_alignas_specifier): Use
188 c_sizeof_or_alignof_type instead of c_alignof.
189 (c_parser_alignof_expression): Likewise, with min_alignof
190 parameter depending on alignof spelling used.
191
bdf1e3c7 1922013-12-04 Marek Polacek <polacek@redhat.com>
193
194 PR c/54113
195 * c-decl.c (start_function): Don't warn for missing prototype for
196 inline functions.
197
05e8f674 1982013-12-03 Marek Polacek <polacek@redhat.com>
199
200 PR c/59351
201 * c-decl.c (build_compound_literal): Allow compound literals with
202 empty initial value.
203
39f74d66 2042013-12-02 Joseph Myers <joseph@codesourcery.com>
205
206 PR c/58235
207 * c-typeck.c (build_modify_expr): Diagnose assignment to
208 expression with array type.
209
f221adca 2102013-11-29 Joseph Myers <joseph@codesourcery.com>
211
212 PR c/42262
213 * c-typeck.c (process_init_element): Do not treat a string as
214 initializing a whole array when used with a designator for an
215 individual element.
216
75bce827 2172013-11-29 Joseph Myers <joseph@codesourcery.com>
218
219 PR c/57574
220 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
221 an inline function following a static declaration.
222
dc133326 2232013-11-28 Jakub Jelinek <jakub@redhat.com>
224
225 PR c/59310
226 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
227 to p_name before calling c_parser_omp_teams instead of after.
228 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
229 argument. Remove unused p_name variable.
230
d09768a4 2312013-11-27 Aldy Hernandez <aldyh@redhat.com>
232 Jakub Jelinek <jakub@redhat.com>
233
234 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if
235 external_scope is NULL.
236
73fd9cbe 2372013-11-27 Tom de Vries <tom@codesourcery.com>
238 Marc Glisse <marc.glisse@inria.fr>
239
240 PR c++/59032
241 * c-typeck.c (build_unary_op): Allow vector increment and decrement.
242
bc61cadb 2432013-11-22 Andrew MacLeod <amacleod@redhat.com>
244
245 * c-typeck.c: Add required include files from gimple.h.
246
3df42822 2472013-11-22 David Malcolm <dmalcolm@redhat.com>
248
249 * c-decl.c (define_label, shadow_tag_warned)
250 (check_bitfield_type_and_width, grokdeclarator, grokparms,
251 store_parm_decls_newstyle, store_parm_decls_oldstyle)
252 (declspecs_add_type): Remove use of in_system_header macro.
253 * c-parser.c (c_parser_unary_expression): Likewise.
254 * c-typeck.c (store_init_value, process_init_element)
255 (c_start_case): Likewise.
256
257 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
258 macro.
259
260 * c-parser.c (c_parser_set_source_position_from_token): Remove
261 reference to in_system_header from comment.
262
08f817b3 2632013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
264
265 * c-decl.c (grokdeclarator): Update comment to refer to
266 tree_to_[su]hwi rather than tree_low_cst.
267
6a0712d4 2682013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
269
270 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
271 tree_to_uhwi throughout.
272
fcb97e84 2732013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
274
275 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
276 throughout.
277
35ec552a 2782013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
279
280 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
281 throughout.
282
f2697631 2832013-11-15 Aldy Hernandez <aldyh@redhat.com>
284
285 * c-parser.c (c_parser_cilk_simd): New.
286 (c_parser_cilk_verify_simd): New.
287 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
288 (c_parser_omp_for_loop): Add case for NE_EXPR.
289 Set c_break_label for CILK_SIMD.
290 (c_parser_cilk_clause_vectorlength): New.
291 (c_parser_cilk_clause_linear): New.
292 (c_parser_cilk_clause_name): New.
293 (c_parser_cilk_all_clauses): New.
294 * c-typeck.c (build_unary_op): Pass location argument to
295 readonly_error.
296 (build_modify_expr): Same.
297 (build_asm_expr): Same.
298 (c_finish_bc_stmt): Error on break/continue in loops.
299
e795d6e1 3002013-11-14 Andrew MacLeod <amacleod@redhat.com>
301
302 * c-typeck.c: Include only gimplify.h and gimple.h as needed.
303
9ed99284 3042013-11-14 Diego Novillo <dnovillo@google.com>
305
306 * c-decl.c: Include print-tree.h.
307 Include stor-layout.h.
308 Include varasm.h.
309 Include attribs.h.
310 Include stringpool.h.
311 * c-lang.c: Include fold-const.h.
312 * c-parser.c: Include stringpool.h.
313 Include attribs.h.
314 Include stor-layout.h.
315 Include varasm.h.
316 Include trans-mem.h.
317 * c-typeck.c: Include stor-layout.h.
318 Include trans-mem.h.
319 Include varasm.h.
320 Include stmt.h.
321
4fba5eb9 3222013-11-13 Joseph Myers <joseph@codesourcery.com>
323
324 * c-tree.h (c_typespec_keyword): Add cts_auto_type.
325 * c-decl.c (declspecs_add_type, finish_declspecs): Handle
326 __auto_type.
327 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
328 (c_parser_attribute_any_word, c_parser_objc_selector): Handle
329 RID_AUTO_TYPE.
330 (c_parser_declspecs): Take argument AUTO_TYPE_OK.
331 (c_parser_declaration_or_fndef, c_parser_struct_declaration)
332 (c_parser_declarator, c_parser_direct_declarator_inner)
333 (c_parser_parameter_declaration, c_parser_type_name): All callers
334 changed.
335 (c_parser_declaration_or_fndef): Handle declarations with type
336 determined from the initializer.
337
a8783bee 3382013-11-12 Andrew MacLeod <amacleod@redhat.com>
339
e795d6e1 340 * c-typeck.c: Include gimplify.h.
a8783bee 341
d184e0c0 3422013-11-12 Joseph Myers <joseph@codesourcery.com>
343
344 * c-tree.h (struct c_declspecs): Add thread_gnu_p field.
345 * c-parser.c (c_parser_declspecs): Mention _Thread_local in
346 comment.
347 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
348 or _Thread_local as appropriate in diagnostics.
349 (build_null_declspecs): Initialize ret->thread_gnu_p.
350 (declspecs_add_scspec): Handle either __thread or _Thread_local
351 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
352 pedantic. Do not disallow _Thread_local extern and _Thread_local
353 static.
354
b560fabd 3552013-11-07 Joseph Myers <joseph@codesourcery.com>
356 Andrew MacLeod <amacleod@redhat.com>
357
358 * c-aux-info.c (gen_type): Handle atomic qualifier.
359 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic
360 qualifiers when compating types.
361 (shadow_tag_warned): Handle atomic_p in declspecs.
362 (quals_from_declspecs): Likewise.
363 (start_decl): Use c_type_promotes_to when promoting argument
364 types.
365 (grokdeclarator): Handle _Atomic.
366 (get_parm_info): Diagnose any qualifier on "void" as only
367 parameter.
368 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when
369 comparing types. Use c_type_promotes_to when promoting argument
370 types.
371 (finish_function): Use c_type_promotes_to when promoting argument
372 types.
373 (build_null_declspecs): Handle atomic_p in declspecs.
374 (declspecs_add_qual): Handle RID_ATOMIC.
375 * c-parser.c (c_token_starts_typename, c_token_is_qualifier)
376 (c_token_starts_declspecs): Handle RID_ATOMIC.
377 (c_parser_declspecs): Handle atomic type specifiers and
378 qualifiers.
379 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers
380 from types of expressions with atomic type.
381 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
382 (c_parser_attribute_any_word): Handle RID_ATOMIC.
383 (c_parser_initializer, c_parser_initelt, c_parser_initval)
384 (c_parser_statement_after_labels, c_parser_switch_statement)
385 (c_parser_for_statement, c_parser_expr_no_commas)
386 (c_parser_conditional_expression, c_parser_binary_expression)
387 (c_parser_cast_expression, c_parser_unary_expression)
388 (c_parser_postfix_expression)
389 (c_parser_postfix_expression_after_primary, c_parser_expression):
390 Use convert_lvalue_to_rvalue.
391 (c_parser_expression_conv, c_parser_expr_list): Document
392 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
393 (c_parser_objc_synchronized_statement): Use
394 convert_lvalue_to_rvalue.
395 (c_parser_objc_selector): Handle RID_ATOMIC.
396 (c_parser_objc_receiver, c_parser_array_notation): Use
397 convert_lvalue_to_rvalue.
398 * c-tree.h (ctsk_typeof): Adjust comment to mention use for
399 _Atomic (type-name).
400 (struct c_declspecs): Add atomic_p field.
401 (convert_lvalue_to_rvalue): Declare.
402 * c-typeck.c (c_type_promotes_to): Promote atomic types to
403 corresponding atomic types.
404 (qualify_type): Don't add _Atomic qualifiers from second argument.
405 (comp_target_types): Do not allow _Atomic mismatches.
406 (type_lists_compatible_p): Do not remove atomic qualifiers when
407 comparing types.
408 (really_atomic_lvalue, convert_lvalue_to_rvalue)
409 (build_atomic_assign): New functions.
410 (build_unary_op): Use build_atomic_assign for atomic increment and
411 decrement.
412 (build_conditional_expr): Do not treat _Atomic void as a qualified
413 version of void.
414 (build_modify_expr): Use build_atomic_assign for atomic LHS.
415 (find_anonymous_field_with_type, convert_to_anonymous_field)
416 (convert_for_assignment): Do not remove atomic qualifiers when
417 comparing types.
418 (digest_init): Do not accept initialization of arrays of atomic
419 elements by string constants.
420 (build_asm_expr): Use convert_lvalue_to_rvalue.
421 (build_binary_op): Do not treat _Atomic void as a qualified
422 version of void.
423
8b023e7c 4242013-11-06 DJ Delorie <dj@redhat.com>
425
426 * c-decl.c (locate_old_decl): If a previous conflicting decl is
427 both explicit and builtin, print the location of the explicit one.
428
c630ef93 4292013-11-05 Tobias Burnus <burnus@net-b.de>
430
431 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
432 c_parser_omp_distribute, c_parser_omp_teams,
433 c_parser_omp_target, c_parser_omp_declare): Handle
434 -fopenmp-simd.
435
2c4c3477 4362013-11-03 Marek Polacek <polacek@redhat.com>
437
438 * c-decl.c (grokdeclarator): Add VLA instrumentation.
439
df205251 4402013-11-01 Jakub Jelinek <jakub@redhat.com>
441
442 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
443 check_dup_generic at the end, unless remove is true.
444 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
445 remove = true;.
446 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
447
23871d0c 4482013-10-31 Jakub Jelinek <jakub@redhat.com>
449
450 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
451 with decl that is not pointer nor array.
452
d037099f 4532013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
454
455 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
456 a spawning function is found.
457 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
458 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
459 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
460 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
461 case.
462 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
463 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
464 expr.
465 (c_finish_return): Added a check to reject _Cilk_spawn in return
466 expression.
467 (build_cilk_spawn): New function.
468 (build_cilk_sync): Likewise.
469 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
470
4c90c04c 4712013-10-27 Tobias Burnus <burnus@net-b.de>
472
473 PR other/33426
474 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
475 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
476 (c_parser_statement_after_labels): Update calls.
477
48a972c8 4782013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 479
480 PR other/33426
481 * c-parser.c (c_parser_pragma, c_parser_for_statement):
482 Handle PRAGMA_IVDEP.
483 (c_parser_statement_after_labels): Update call.
484
12f86df0 4852013-10-24 Marek Polacek <polacek@redhat.com>
486
487 * c-parser.c (c_parser_struct_declaration): Add a comment.
488 (c_parser_declarator): Don't allow _Alignas here.
489
7740abd8 4902013-10-17 Andrew MacLeod <amacleod@redhat.com>
491
492 * c-parser.c: Include omp-low.h.
493 * c-typeck.c: Likewise.
494
43d03c23 4952013-10-17 Marek Polacek <polacek@redhat.com>
496
497 PR c/58267
498 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
499 Document syntax of the array-declarator.
500 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
501 are not permitted.
502 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
503 (c_parser_struct_declaration): Likewise.
504 (c_parser_declarator): Likewise.
505 (c_parser_direct_declarator_inner): Likewise.
506 (c_parser_parameter_declaration): Likewise.
507 (c_parser_type_name): Likewise.
508
bc7bff74 5092013-10-11 Jakub Jelinek <jakub@redhat.com>
510
511 * c-lang.h (current_omp_declare_target_attribute): New extern
512 decl.
513 * c-parser.c: Include c-lang.h.
514 (struct c_parser): Change tokens to c_token *.
515 Add tokens_buf field. Change tokens_avail type to unsigned int.
516 (c_parser_consume_token): If parser->tokens isn't
517 &parser->tokens_buf[0], increment parser->tokens.
518 (c_parser_consume_pragma): Likewise.
519 (enum pragma_context): Add pragma_struct and pragma_param.
520 (c_parser_external_declaration): Adjust
521 c_parser_declaration_or_fndef caller.
522 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
523 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
524 Adjust recursive call.
525 (c_parser_struct_or_union_specifier): Use pragma_struct instead
526 of pragma_external.
527 (c_parser_parameter_declaration): Use pragma_param instead of
528 pragma_external.
529 (c_parser_compound_statement_nostart, c_parser_label,
530 c_parser_for_statement): Adjust
531 c_parser_declaration_or_fndef callers.
532 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
533 it through to c_parser_conditional_expression.
534 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
535 pass it through to c_parser_binary_expression. Adjust recursive
536 call.
537 (c_parser_binary_expression): Remove prec argument, add
538 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
539 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
540 binop matches it, use build2 instead of parser_build_binary_op.
541 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
542 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
543 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
544 Handle pragma_struct and pragma_param the same as pragma_external.
545 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
546 (c_parser_omp_variable_list): Parse array sections for
547 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
548 (c_parser_omp_clause_collapse): Fully fold collapse expression.
549 (c_parser_omp_clause_reduction): Handle user defined reductions.
550 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
551 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
552 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
553 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
554 c_parser_omp_clause_depend, c_parser_omp_clause_map,
555 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
556 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
557 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
558 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
559 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
560 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
561 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
562 (c_parser_omp_for_loop): Add CODE argument, pass it through
563 to c_finish_omp_for. Change last argument to cclauses,
564 and adjust uses to grab parallel clauses from the array of all
565 the split clauses. Adjust c_parser_binary_expression,
566 c_parser_declaration_or_fndef and c_finish_omp_for callers.
567 (omp_split_clauses): New function.
568 (c_parser_omp_simd): New function.
569 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
570 Allow the function to be called also when parsing combined constructs,
571 and call c_parser_omp_simd when parsing for simd.
572 (c_parser_omp_sections_scope): If section-sequence doesn't start with
573 #pragma omp section, require exactly one structured-block instead of
574 sequence of statements.
575 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
576 Allow the function to be called also when parsing combined constructs.
577 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
578 Allow the function to be called also when parsing combined
579 constructs.
580 (c_parser_omp_taskgroup, c_parser_omp_cancel,
581 c_parser_omp_cancellation_point, c_parser_omp_distribute,
582 c_parser_omp_teams, c_parser_omp_target_data,
583 c_parser_omp_target_update, c_parser_omp_target,
584 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
585 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
586 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
587 (c_parser_omp_construct): Add p_name and mask vars. Handle
588 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
589 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
590 and c_parser_omp_sections callers.
591 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
592 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
593 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
594 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
595 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
596 OMP_CLAUSE_DEPEND.
597 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
598 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
599 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
600 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
601 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
602 * c-typeck.c: Include tree-inline.h.
603 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
604 handle_omp_array_sections_1, handle_omp_array_sections,
605 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
606 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
607 user defined reductions.
608 (c_tree_equal): New function.
609 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
610 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
611 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
612 c_check_omp_declare_reduction_r): New prototypes.
613 * c-decl.c (current_omp_declare_target_attribute): New variable.
614 (c_decl_attributes): New function.
615 (start_decl, start_function): Use it instead of decl_attributes.
616 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
617 c_omp_reduction_decl, c_omp_reduction_lookup,
618 c_check_omp_declare_reduction_r): New functions.
619
3ce7d1bd 6202013-09-25 Tom Tromey <tromey@redhat.com>
621
622 * Make-lang.in (c/gccspec.o): Remove.
623 (CFLAGS-c/gccspec.o): New variable.
624 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
625 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
626 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
627
96da1c1d 6282013-09-25 Tom Tromey <tromey@redhat.com>
629
630 * Make-lang.in (c/gccspec.o): Don't use subshell.
631
1b309377 6322013-09-18 Marek Polacek <polacek@redhat.com>
633
634 PR sanitize/58443
635 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
636 Remove unnecessary check.
637
05f893e1 6382013-09-18 Marek Polacek <polacek@redhat.com>
639
640 PR sanitizer/58411
641 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
642 no_sanitize_undefined attribute.
643
bda0b9d2 6442013-09-13 Kai Tietz <ktietz@redhat.com>
645
646 PR target/57848
647 * c-decl.c (c_builtin_function_ext_scope): Remove
648 wrong assumption that it is never called on prexisting
649 symbol.
650
73437615 6512013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
652
653 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
654
eaab24b9 6552013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
656
657 * c-objc-common.c (c_tree_printer): Tidy.
658
9e46467d 6592013-08-30 Marek Polacek <polacek@redhat.com>
660
661 * c-typeck.c (build_binary_op): Add division by zero and shift
662 instrumentation.
663
f8234178 6642013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
f9086116 665 Joseph Myers <joseph@codesourcery.com>
f8234178 666
c90a7d10 667 PR c/35649
f8234178 668 * c-typeck.c (c_common_type): Prefer double_type_node over
669 other REAL_TYPE types with the same precision.
670 (convert_arguments): Likewise.
671
6f07f480 6722013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
673
674 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
675 (c_initialize_diagnostics): Call a destructor for the early printer.
676
eed6bc21 6772013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
678
679 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
680 printer initialization.
681
57717943 6822013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
eed6bc21 683
57717943 684 PR c/57490
685 * c-array-notation.c (fix_conditional_array_notations_1): Added a
686 check for truth values.
687 (expand_array_notation_exprs): Added truth values case. Removed an
688 unwanted else. Added for-loop to walk through subtrees in default
689 case.
690
a94db6b0 6912013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
692
693 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
694
e76163a9 6952013-07-23 Joseph Myers <joseph@codesourcery.com>
696
697 * c-parser.c (struct c_generic_association): Fix typo.
698
7aa04c8d 6992013-07-23 Tom Tromey <tromey@redhat.com>
700 Joseph Myers <joseph@codesourcery.com>
701
702 * c-parser.c (struct c_generic_association): New.
703 (c_generic_association_d): New typedef.
704 (c_parser_generic_selection): New function.
705 (c_parser_postfix_expression): Handle RID_GENERIC.
706
76bbe4ca 7072013-07-13 Jason Merrill <jason@redhat.com>
708
709 PR c++/57793
710 * c-decl.c (finish_struct): Check for too-large class.
711
21ebaa24 7122013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 713
714 PR c/57821
715 * c-typeck.c (set_init_index): When folding, check for index overflow.
716
936c3081 7172013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
718
719 * c-parser.c (c_parser_array_notation): Removed rejection of array
720 notations in an array of function pointers.
721
50acebe0 7222013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
723
724 * c-array-notation.c (make_triplet_val_inv): New function.
725 (create_cmp_incr): Likewise.
726 (create_array_refs): Likewise.
727 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
728 Also modularized common parts between functions and called the function.
729 (build_array_notation_expr): Likewise.
730 (fix_conditional_array_notations_1): Likewise.
731 (fix_array_notation_expr): Likewise.
732 (fix_array_notation_call_expr): Likewise.
733
01e6cdb4 7342013-06-18 Marek Polacek <polacek@redhat.com>
735
736 PR c/57630
737 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
738
6a3adac6 7392013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
740
741 * c-array-notation.c (build_array_notation_expr): Reject array notation
742 mismatch between LHS and RHS even inside a call_expr. Also, removed
743 a couple while statements that were dead code.
744
62aab3f3 7452013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
746
747 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
748 excessive precision expressions in function parameters. Also removed
749 couple unwanted while statements.
750
bfc83720 7512013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
752
753 * c-array-notation.c (expand_array_notation_exprs): Added
754 ARRAY_NOTATION_REF case.
755
09970d67 7562013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
757
758 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
759 function to c-family/array-notation-common.c.
760 (is_cilkplus_reduce_builtin): Likewise.
761 (find_rank): Likewise.
762 (extract_array_notation_exprs): Likewise.
763 (replace_array_notations): Likewise.
764 (find_inv_trees): Likewise.
765 (replace_inv_trees): Likewise.
766 (contains_array_notation_expr): Likewise.
767 (find_correct_array_notation_type): Likewise.
768 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
769 (struct inv_list): Moved this to c-family/array-notation-common.c.
770 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
771
6e13bc01 7722013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
773
774 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
775 reduction functions outside the for-loop. Added a check if the fundecl
776 is non-NULL. Finally, removed an unwanted if-statement, and made the
777 body unconditional.
778
cc92dddc 7792013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
780
781 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
782 condition of the if-statement matches the rank of else-block and then-
783 block when array notations are used.
784 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
785 expression after the entire function body is parsed.
786 (c_parser_expr_no_commas): Delayed creating array notation expressions
787 to the end of function parsing.
788 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
789 whole if-statement instead of just the condition.
790 (expand_array_notation_exprs): Added MODIFY_EXPR case.
791
eddc63fd 7922013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
793
794 PR c/57474
795 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
796 array to NULL_TREE if they are unused. Also added a check for the
797 field to be NULL before its fields are used in future.
798
a2115a4a 7992013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
800
801 PR bootstrap/57450
802 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
803 (build_array_notation_expr): Likewise.
804
3c6d4197 8052013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
806
807 * c-typeck.c (build_array_ref): Added a check to see if array's
808 index is greater than one. If true, then emit an error.
809 (build_function_call_vec): Exclude error reporting and checking
810 for builtin array-notation functions.
811 (convert_arguments): Likewise.
812 (c_finish_return): Added a check for array notations as a return
813 expression. If true, then emit an error.
814 (c_finish_loop): Added a check for array notations in a loop
815 condition. If true then emit an error.
816 (lvalue_p): Added a ARRAY_NOTATION_REF case.
817 (build_binary_op): Added a check for array notation expr inside
818 op1 and op0. If present, we call another function to find correct
819 type.
820 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
821 * c-parser.c (c_parser_compound_statement): Check if array
822 notation code is used in tree, if so, then transform them into
823 appropriate C code.
824 (c_parser_expr_no_commas): Check if array notation is used in LHS
825 or RHS, if so, then build array notation expression instead of
826 regular modify.
827 (c_parser_postfix_expression_after_primary): Added a check for
828 colon(s) after square braces, if so then handle it like an array
829 notation. Also, break up array notations in unary op if found.
830 (c_parser_direct_declarator_inner): Added a check for array
831 notation.
832 (c_parser_compound_statement): Added a check for array notation in
833 a stmt. If one is present, then expand array notation expr.
834 (c_parser_if_statement): Likewise.
835 (c_parser_switch_statement): Added a check for array notations in
836 a switch statement's condition. If true, then output an error.
837 (c_parser_while_statement): Similarly, but for a while.
838 (c_parser_do_statement): Similarly, but for a do-while.
839 (c_parser_for_statement): Similarly, but for a for-loop.
840 (c_parser_unary_expression): Check if array notation is used in a
841 pre-increment or pre-decrement expression. If true, then expand
842 them.
843 (c_parser_array_notation): New function.
844 * c-array-notation.c: New file.
845 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
846
2c1c8a2c 8472013-05-23 Mike Stump <mikestump@comcast.net>
848
849 * c-typeck.c (convert_for_assignment): Handle references to memory
850 spaces better.
851
be5f9e46 8522013-05-16 Jason Merrill <jason@redhat.com>
853
854 * Make-lang.in (cc1$(exeext)): Use link mutex.
855
9205a6cc 8562013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
857
858 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
859 to simply use OPT_Wpointer_arith.
860 (build_unary_op): Likewise.
861
0b049e15 8622013-04-03 Jakub Jelinek <jakub@redhat.com>
863
864 PR c/19449
865 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
866 argument. If set, or it temporarily for parsing of the first
867 argument into force_folding_builtin_constant_p.
868 (c_parser_postfix_expression): Adjust callers.
869
8e966116 8702013-03-21 Richard Biener <rguenther@suse.de>
871
872 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
873 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
874
b862f263 8752013-02-12 Marek Polacek <polacek@redhat.com>
876
877 PR c/44938
878 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
879 origtypes to NULL.
880
54550ecb 8812013-01-24 Jakub Jelinek <jakub@redhat.com>
882
883 PR c/56078
884 * c-typeck.c (set_nonincremental_init_from_string): If
885 constructor_max_index is NULL, treat it as if tree_int_cst_lt
886 returned false.
887 (process_init_element): Likewise.
888
035b65e2 8892012-12-20 Jakub Jelinek <jakub@redhat.com>
890
891 PR c++/55619
892 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
893 argument, don't call default_function_array_conversion
894 nor c_fully_fold here.
895 (c_parser_asm_statement): Adjust callers.
896 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
897 and outputs here, and call default_function_array_conversion
898 on inputs that don't need to be addressable.
899
7cbb7f1a 9002012-12-18 Jakub Jelinek <jakub@redhat.com>
901
902 PR c/39464
903 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
904 warning require that both c_common_unsigned_type as well as
905 c_common_signed_type is the same for both mvl and mvr types.
906
f1f41a6c 9072012-11-16 Diego Novillo <dnovillo@google.com>
908
909 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
910
911 * c-common.c: Use new vec API in vec.h.
912 * c-common.h: Likewise.
913 * c-gimplify.c: Likewise.
914 * c-pragma.c: Likewise.
915 * c-pretty-print.c: Likewise.
916 * c-pretty-print.h: Likewise.
917 * c-semantics.c: Likewise.
918 * c-decl.c: Likewise.
919 * c-parser.c: Likewise.
920 * c-tree.h: Likewise.
921 * c-typeck.c: Likewise.
922
8b447d3f 9232012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
924
925 PR c++/54930
926 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
927
08fc5390 9282012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
929
930 PR c/53066
931 * c-decl.c (warn_if_shadowing): Do not warn if a variable
932 shadows a function, unless the variable is a function or a
933 pointer-to-function.
934
57f872a2 9352012-10-12 Jakub Jelinek <jakub@redhat.com>
936
937 PR c/54381
938 * c-parser.c (struct c_tree_loc_pair): Removed.
939 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
940 add location_t * and tree * arguments, fill in array of 3
941 sizeof_arg trees and corresponding locs.
942 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
943 c_parser_expr_list callers.
944 (c_parser_postfix_expression_after_primary): Likewise. Pass
945 array of 3 sizeof_arg trees and locs (corresponding to first
946 3 arguments) to sizeof_pointer_memaccess_warning.
947
d1455aa3 9482012-10-09 Lawrence Crowl <crowl@google.com>
949
950 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
951 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
952 hash table.
953
b0e7825e 9542012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
955
956 PR c++/54194
957 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
958 call.
959
41ed701a 9602012-10-09 Marc Glisse <marc.glisse@inria.fr>
961
962 PR c++/54427
963 * c-typeck.c: Include c-common.h.
964 (enum stv_conv): Moved to c-common.h.
965 (scalar_to_vector): Moved to c-common.c.
966 (build_binary_op): Adapt to scalar_to_vector's new prototype.
967 * Make-lang.in: c-typeck.c depends on c-common.h.
968
ef34afc1 9692012-10-04 Arnaud Charlet <charlet@adacore.com>
970
971 * c-decl.c (c_write_global_declarations): Fix handling of
972 -fdump-ada-spec*.
973
7bd765d4 9742012-09-30 Sharad Singhai <singhai@google.com>
975
976 * c-decl.c (c_write_global_declarations): Use a different method
977 to determine if the dump has ben initialized.
978
c4b1a13a 9792012-09-14 Joseph Myers <joseph@codesourcery.com>
980
981 PR c/54552
982 * c-typeck.c (c_cast_expr): When casting to a type requiring
983 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
984 c_fully_fold first.
985
bb554051 9862012-09-14 Joseph Myers <joseph@codesourcery.com>
987
988 PR c/54103
989 * c-typeck.c (build_unary_op): Pass original argument of
990 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
991 any C_MAYBE_CONST_EXPR, if it has integer operands.
992 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
993 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
994 to c_objc_common_truthvalue_conversion, then remove any
995 C_MAYBE_CONST_EXPR, if they have integer operands. Use
996 c_objc_common_truthvalue_conversion not
997 c_common_truthvalue_conversion.
998 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
999 call note_integer_operands for arguments with integer operands
1000 that are not integer constants.
1001
c708c6ef 10022012-09-13 Jakub Jelinek <jakub@redhat.com>
1003
1004 PR c/54559
1005 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
1006 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
1007
cce20430 10082012-08-31 Jakub Jelinek <jakub@redhat.com>
1009
1010 PR c/54428
1011 * c-convert.c (convert): Don't call fold_convert_loc if
1012 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
1013 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
1014 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
1015
a90d57ed 10162012-08-24 Jakub Jelinek <jakub@redhat.com>
1017
1018 PR c/54355
1019 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
1020 for nested and empty_ok arguments in the call to
1021 c_parser_declaration_or_fndef.
1022
f003f5dc 10232012-08-17 Jakub Jelinek <jakub@redhat.com>
1024
1025 * c-tree.h (c_last_sizeof_arg): Declare.
1026 * c-parser.c (struct c_tree_loc_pair): New type.
1027 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
1028 non-NULL.
1029 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
1030 (c_parser_postfix_expression_after_primary): Likewise. Call
1031 sizeof_pointer_memaccess_warning if needed.
1032 (sizeof_ptr_memacc_comptypes): New function.
1033 * c-typeck.c (c_last_sizeof_arg): New global variable.
1034 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
1035
a5656b73 10362012-07-24 Uros Bizjak <ubizjak@gmail.com>
1037
1038 * c-lang.h (lang_decl): Add variable_size GTY option.
1039
b9ed1410 10402012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1041
1042 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
1043 * Make-lang.in: Fix dependencies.
1044
e53d55e7 10452012-06-29 Steven Bosscher <steven@gcc.gnu.org>
1046
1047 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
1048 and add language Makefile hooks.
1049 * config-lang.in: New file.
1050 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
1051 add the required "normal" config-lang.in rules.
1052 * c-lang.h: Moved from gcc/ to here.
1053 * c-tree.h: Likewise.
1054 * c-objc-common.c: Likewise.
1055 * c-objc-common.h: Likewise.
1056 * c-typeck.c: Likewise.
1057 * c-convert.c: Likewise.
1058 * c-lang.c: Likewise.
1059 * c-aux-info.c: Likewise.
1060 * c-errors.c: Likewise.
1061 * gccspec.c: Likewise.
1062 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
1063 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
1064\f
3aea1f79 1065Copyright (C) 2012-2014 Free Software Foundation, Inc.
e53d55e7 1066
1067Copying and distribution of this file, with or without modification,
1068are permitted in any medium without royalty provided the copyright
1069notice and this notice are preserved.