]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c/ChangeLog
i386.c (ix86_expand_sse2_abs): Rename function arguments.
[thirdparty/gcc.git] / gcc / c / ChangeLog
CommitLineData
939b37da
BI
12013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2
3 * c-decl.c (finish_function): Added a call for insert_cilk_frame when
4 a spawning function is found.
5 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
6 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
7 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
8 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
9 case.
10 (c_parser_postfix_expression): Added RID_CILK_SPAWN case.
11 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
12 expr.
13 (c_finish_return): Added a check to reject _Cilk_spawn in return
14 expression.
15 (build_cilk_spawn): New function.
16 (build_cilk_sync): Likewise.
17 * Makefile.in (c-decl.o): Added cilk.h in dependency list.
18
d4af74d4
TB
192013-10-27 Tobias Burnus <burnus@net-b.de>
20
21 PR other/33426
22 * c-parser.c (c_parser_while_statement, c_parser_while_statement,
23 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
24 (c_parser_statement_after_labels): Update calls.
25
d73749df 262013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
27
28 PR other/33426
29 * c-parser.c (c_parser_pragma, c_parser_for_statement):
30 Handle PRAGMA_IVDEP.
31 (c_parser_statement_after_labels): Update call.
32
f28aa681
MP
332013-10-24 Marek Polacek <polacek@redhat.com>
34
35 * c-parser.c (c_parser_struct_declaration): Add a comment.
36 (c_parser_declarator): Don't allow _Alignas here.
37
0645c1a2
AM
382013-10-17 Andrew MacLeod <amacleod@redhat.com>
39
40 * c-parser.c: Include omp-low.h.
41 * c-typeck.c: Likewise.
42
568a31f2
MP
432013-10-17 Marek Polacek <polacek@redhat.com>
44
45 PR c/58267
46 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
47 Document syntax of the array-declarator.
48 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
49 are not permitted.
50 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
51 (c_parser_struct_declaration): Likewise.
52 (c_parser_declarator): Likewise.
53 (c_parser_direct_declarator_inner): Likewise.
54 (c_parser_parameter_declaration): Likewise.
55 (c_parser_type_name): Likewise.
56
acf0174b
JJ
572013-10-11 Jakub Jelinek <jakub@redhat.com>
58
59 * c-lang.h (current_omp_declare_target_attribute): New extern
60 decl.
61 * c-parser.c: Include c-lang.h.
62 (struct c_parser): Change tokens to c_token *.
63 Add tokens_buf field. Change tokens_avail type to unsigned int.
64 (c_parser_consume_token): If parser->tokens isn't
65 &parser->tokens_buf[0], increment parser->tokens.
66 (c_parser_consume_pragma): Likewise.
67 (enum pragma_context): Add pragma_struct and pragma_param.
68 (c_parser_external_declaration): Adjust
69 c_parser_declaration_or_fndef caller.
70 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
71 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
72 Adjust recursive call.
73 (c_parser_struct_or_union_specifier): Use pragma_struct instead
74 of pragma_external.
75 (c_parser_parameter_declaration): Use pragma_param instead of
76 pragma_external.
77 (c_parser_compound_statement_nostart, c_parser_label,
78 c_parser_for_statement): Adjust
79 c_parser_declaration_or_fndef callers.
80 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
81 it through to c_parser_conditional_expression.
82 (c_parser_conditional_expression): Add omp_atomic_lhs argument,
83 pass it through to c_parser_binary_expression. Adjust recursive
84 call.
85 (c_parser_binary_expression): Remove prec argument, add
86 omp_atomic_lhs argument instead. Always start from PREC_NONE, if
87 omp_atomic_lhs is non-NULL and one of the arguments of toplevel
88 binop matches it, use build2 instead of parser_build_binary_op.
89 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
90 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
91 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
92 Handle pragma_struct and pragma_param the same as pragma_external.
93 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
94 (c_parser_omp_variable_list): Parse array sections for
95 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
96 (c_parser_omp_clause_collapse): Fully fold collapse expression.
97 (c_parser_omp_clause_reduction): Handle user defined reductions.
98 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
99 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
100 c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
101 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
102 c_parser_omp_clause_depend, c_parser_omp_clause_map,
103 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
104 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
105 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
106 (c_parser_omp_all_clauses): Add finish_p argument. Don't call
107 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
108 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
109 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
110 (c_parser_omp_for_loop): Add CODE argument, pass it through
111 to c_finish_omp_for. Change last argument to cclauses,
112 and adjust uses to grab parallel clauses from the array of all
113 the split clauses. Adjust c_parser_binary_expression,
114 c_parser_declaration_or_fndef and c_finish_omp_for callers.
115 (omp_split_clauses): New function.
116 (c_parser_omp_simd): New function.
117 (c_parser_omp_for): Add p_name, mask and cclauses arguments.
118 Allow the function to be called also when parsing combined constructs,
119 and call c_parser_omp_simd when parsing for simd.
120 (c_parser_omp_sections_scope): If section-sequence doesn't start with
121 #pragma omp section, require exactly one structured-block instead of
122 sequence of statements.
123 (c_parser_omp_sections): Add p_name, mask and cclauses arguments.
124 Allow the function to be called also when parsing combined constructs.
125 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
126 Allow the function to be called also when parsing combined
127 constructs.
128 (c_parser_omp_taskgroup, c_parser_omp_cancel,
129 c_parser_omp_cancellation_point, c_parser_omp_distribute,
130 c_parser_omp_teams, c_parser_omp_target_data,
131 c_parser_omp_target_update, c_parser_omp_target,
132 c_parser_omp_declare_simd, c_finish_omp_declare_simd,
133 c_parser_omp_declare_target, c_parser_omp_end_declare_target,
134 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
135 (c_parser_omp_construct): Add p_name and mask vars. Handle
136 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
137 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
138 and c_parser_omp_sections callers.
139 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
140 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
141 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
142 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
143 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
144 OMP_CLAUSE_DEPEND.
145 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
146 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
147 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
148 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
149 OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
150 * c-typeck.c: Include tree-inline.h.
151 (c_finish_omp_cancel, c_finish_omp_cancellation_point,
152 handle_omp_array_sections_1, handle_omp_array_sections,
153 c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
154 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
155 user defined reductions.
156 (c_tree_equal): New function.
157 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
158 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
159 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
160 c_check_omp_declare_reduction_r): New prototypes.
161 * c-decl.c (current_omp_declare_target_attribute): New variable.
162 (c_decl_attributes): New function.
163 (start_decl, start_function): Use it instead of decl_attributes.
164 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
165 c_omp_reduction_decl, c_omp_reduction_lookup,
166 c_check_omp_declare_reduction_r): New functions.
167
0a6c2227
TT
1682013-09-25 Tom Tromey <tromey@redhat.com>
169
170 * Make-lang.in (c/gccspec.o): Remove.
171 (CFLAGS-c/gccspec.o): New variable.
172 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
173 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
174 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
175
f3bc55f0
TT
1762013-09-25 Tom Tromey <tromey@redhat.com>
177
178 * Make-lang.in (c/gccspec.o): Don't use subshell.
179
a24d975c
MP
1802013-09-18 Marek Polacek <polacek@redhat.com>
181
182 PR sanitize/58443
183 * c-typeck.c (build_binary_op): Properly honor -fsanitize options.
184 Remove unnecessary check.
185
ce6923c5
MP
1862013-09-18 Marek Polacek <polacek@redhat.com>
187
188 PR sanitizer/58411
189 * c-typeck.c (build_binary_op): Don't sanitize function if it has the
190 no_sanitize_undefined attribute.
191
a1e51df9
KT
1922013-09-13 Kai Tietz <ktietz@redhat.com>
193
194 PR target/57848
195 * c-decl.c (c_builtin_function_ext_scope): Remove
196 wrong assumption that it is never called on prexisting
197 symbol.
198
0af94e6f
JR
1992013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
200
201 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
202
20059c8b
GDR
2032013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
204
205 * c-objc-common.c (c_tree_printer): Tidy.
206
de5a5fa1
MP
2072013-08-30 Marek Polacek <polacek@redhat.com>
208
209 * c-typeck.c (build_binary_op): Add division by zero and shift
210 instrumentation.
211
2531a1d9 2122013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
0fdd4508 213 Joseph Myers <joseph@codesourcery.com>
2531a1d9 214
6e2bcc98 215 PR c/35649
2531a1d9
JR
216 * c-typeck.c (c_common_type): Prefer double_type_node over
217 other REAL_TYPE types with the same precision.
218 (convert_arguments): Likewise.
219
025311c4
GDR
2202013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
221
222 * c-objc-common.c (c_tree_printer): Document the nature of the cast.
223 (c_initialize_diagnostics): Call a destructor for the early printer.
224
da6ca2b5
GDR
2252013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
226
227 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
228 printer initialization.
229
318cda85 2302013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
da6ca2b5 231
318cda85
BI
232 PR c/57490
233 * c-array-notation.c (fix_conditional_array_notations_1): Added a
234 check for truth values.
235 (expand_array_notation_exprs): Added truth values case. Removed an
236 unwanted else. Added for-loop to walk through subtrees in default
237 case.
238
b066401f
GDR
2392013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
240
241 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
242
fb48aadc
JM
2432013-07-23 Joseph Myers <joseph@codesourcery.com>
244
245 * c-parser.c (struct c_generic_association): Fix typo.
246
433cc7b0
TT
2472013-07-23 Tom Tromey <tromey@redhat.com>
248 Joseph Myers <joseph@codesourcery.com>
249
250 * c-parser.c (struct c_generic_association): New.
251 (c_generic_association_d): New typedef.
252 (c_parser_generic_selection): New function.
253 (c_parser_postfix_expression): Handle RID_GENERIC.
254
26d40c3d
JM
2552013-07-13 Jason Merrill <jason@redhat.com>
256
257 PR c++/57793
258 * c-decl.c (finish_struct): Check for too-large class.
259
ecdbd01a 2602013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
261
262 PR c/57821
263 * c-typeck.c (set_init_index): When folding, check for index overflow.
264
1141ed3f
BI
2652013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
266
267 * c-parser.c (c_parser_array_notation): Removed rejection of array
268 notations in an array of function pointers.
269
713b46fa
BI
2702013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
271
272 * c-array-notation.c (make_triplet_val_inv): New function.
273 (create_cmp_incr): Likewise.
274 (create_array_refs): Likewise.
275 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
276 Also modularized common parts between functions and called the function.
277 (build_array_notation_expr): Likewise.
278 (fix_conditional_array_notations_1): Likewise.
279 (fix_array_notation_expr): Likewise.
280 (fix_array_notation_call_expr): Likewise.
281
92f20202
MP
2822013-06-18 Marek Polacek <polacek@redhat.com>
283
284 PR c/57630
285 * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
286
73a23b06
BI
2872013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
288
289 * c-array-notation.c (build_array_notation_expr): Reject array notation
290 mismatch between LHS and RHS even inside a call_expr. Also, removed
291 a couple while statements that were dead code.
292
00b8517d
BI
2932013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
294
295 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
296 excessive precision expressions in function parameters. Also removed
297 couple unwanted while statements.
298
1509bdda
BI
2992013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
300
301 * c-array-notation.c (expand_array_notation_exprs): Added
302 ARRAY_NOTATION_REF case.
303
d60f1706
BI
3042013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
305
306 * c-array-notation.c (length_mismatch_in_expr_p): Moved this
307 function to c-family/array-notation-common.c.
308 (is_cilkplus_reduce_builtin): Likewise.
309 (find_rank): Likewise.
310 (extract_array_notation_exprs): Likewise.
311 (replace_array_notations): Likewise.
312 (find_inv_trees): Likewise.
313 (replace_inv_trees): Likewise.
314 (contains_array_notation_expr): Likewise.
315 (find_correct_array_notation_type): Likewise.
316 (replace_invariant_exprs): Initialized additional_tcodes to NULL.
317 (struct inv_list): Moved this to c-family/array-notation-common.c.
318 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
319
6d6efbb3
BI
3202013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
321
322 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
323 reduction functions outside the for-loop. Added a check if the fundecl
324 is non-NULL. Finally, removed an unwanted if-statement, and made the
325 body unconditional.
326
25c22937
BI
3272013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
328
329 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
330 condition of the if-statement matches the rank of else-block and then-
331 block when array notations are used.
332 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
333 expression after the entire function body is parsed.
334 (c_parser_expr_no_commas): Delayed creating array notation expressions
335 to the end of function parsing.
336 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
337 whole if-statement instead of just the condition.
338 (expand_array_notation_exprs): Added MODIFY_EXPR case.
339
edd25645
BI
3402013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
341
342 PR c/57474
343 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
344 array to NULL_TREE if they are unused. Also added a check for the
345 field to be NULL before its fields are used in future.
346
065ce7f1
RO
3472013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
348
349 PR bootstrap/57450
350 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
351 (build_array_notation_expr): Likewise.
352
36536d79
BI
3532013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
354
355 * c-typeck.c (build_array_ref): Added a check to see if array's
356 index is greater than one. If true, then emit an error.
357 (build_function_call_vec): Exclude error reporting and checking
358 for builtin array-notation functions.
359 (convert_arguments): Likewise.
360 (c_finish_return): Added a check for array notations as a return
361 expression. If true, then emit an error.
362 (c_finish_loop): Added a check for array notations in a loop
363 condition. If true then emit an error.
364 (lvalue_p): Added a ARRAY_NOTATION_REF case.
365 (build_binary_op): Added a check for array notation expr inside
366 op1 and op0. If present, we call another function to find correct
367 type.
368 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
369 * c-parser.c (c_parser_compound_statement): Check if array
370 notation code is used in tree, if so, then transform them into
371 appropriate C code.
372 (c_parser_expr_no_commas): Check if array notation is used in LHS
373 or RHS, if so, then build array notation expression instead of
374 regular modify.
375 (c_parser_postfix_expression_after_primary): Added a check for
376 colon(s) after square braces, if so then handle it like an array
377 notation. Also, break up array notations in unary op if found.
378 (c_parser_direct_declarator_inner): Added a check for array
379 notation.
380 (c_parser_compound_statement): Added a check for array notation in
381 a stmt. If one is present, then expand array notation expr.
382 (c_parser_if_statement): Likewise.
383 (c_parser_switch_statement): Added a check for array notations in
384 a switch statement's condition. If true, then output an error.
385 (c_parser_while_statement): Similarly, but for a while.
386 (c_parser_do_statement): Similarly, but for a do-while.
387 (c_parser_for_statement): Similarly, but for a for-loop.
388 (c_parser_unary_expression): Check if array notation is used in a
389 pre-increment or pre-decrement expression. If true, then expand
390 them.
391 (c_parser_array_notation): New function.
392 * c-array-notation.c: New file.
393 * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
394
cd192ccc
MS
3952013-05-23 Mike Stump <mikestump@comcast.net>
396
397 * c-typeck.c (convert_for_assignment): Handle references to memory
398 spaces better.
399
427b248d
JM
4002013-05-16 Jason Merrill <jason@redhat.com>
401
402 * Make-lang.in (cc1$(exeext)): Use link mutex.
403
44d90fe1
PC
4042013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
405
406 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
407 to simply use OPT_Wpointer_arith.
408 (build_unary_op): Likewise.
409
4e7d7b3d
JJ
4102013-04-03 Jakub Jelinek <jakub@redhat.com>
411
412 PR c/19449
413 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
414 argument. If set, or it temporarily for parsing of the first
415 argument into force_folding_builtin_constant_p.
416 (c_parser_postfix_expression): Adjust callers.
417
839b422f
RB
4182013-03-21 Richard Biener <rguenther@suse.de>
419
420 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
421 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
422
2ee028f1
MP
4232013-02-12 Marek Polacek <polacek@redhat.com>
424
425 PR c/44938
426 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
427 origtypes to NULL.
428
8824edff
JJ
4292013-01-24 Jakub Jelinek <jakub@redhat.com>
430
431 PR c/56078
432 * c-typeck.c (set_nonincremental_init_from_string): If
433 constructor_max_index is NULL, treat it as if tree_int_cst_lt
434 returned false.
435 (process_init_element): Likewise.
436
eadd3d0d
JJ
4372012-12-20 Jakub Jelinek <jakub@redhat.com>
438
439 PR c++/55619
440 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
441 argument, don't call default_function_array_conversion
442 nor c_fully_fold here.
443 (c_parser_asm_statement): Adjust callers.
444 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
445 and outputs here, and call default_function_array_conversion
446 on inputs that don't need to be addressable.
447
f8a93a2e
JJ
4482012-12-18 Jakub Jelinek <jakub@redhat.com>
449
450 PR c/39464
451 * c-typeck.c (convert_for_assignment): For -Wpointer-sign
452 warning require that both c_common_unsigned_type as well as
453 c_common_signed_type is the same for both mvl and mvr types.
454
9771b263
DN
4552012-11-16 Diego Novillo <dnovillo@google.com>
456
457 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
458
459 * c-common.c: Use new vec API in vec.h.
460 * c-common.h: Likewise.
461 * c-gimplify.c: Likewise.
462 * c-pragma.c: Likewise.
463 * c-pretty-print.c: Likewise.
464 * c-pretty-print.h: Likewise.
465 * c-semantics.c: Likewise.
466 * c-decl.c: Likewise.
467 * c-parser.c: Likewise.
468 * c-tree.h: Likewise.
469 * c-typeck.c: Likewise.
470
880661a4
JW
4712012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
472
473 PR c++/54930
474 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
475
077d1abe
MLI
4762012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
477
478 PR c/53066
479 * c-decl.c (warn_if_shadowing): Do not warn if a variable
480 shadows a function, unless the variable is a function or a
481 pointer-to-function.
482
3a785c97
JJ
4832012-10-12 Jakub Jelinek <jakub@redhat.com>
484
485 PR c/54381
486 * c-parser.c (struct c_tree_loc_pair): Removed.
487 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
488 add location_t * and tree * arguments, fill in array of 3
489 sizeof_arg trees and corresponding locs.
490 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
491 c_parser_expr_list callers.
492 (c_parser_postfix_expression_after_primary): Likewise. Pass
493 array of 3 sizeof_arg trees and locs (corresponding to first
494 3 arguments) to sizeof_pointer_memaccess_warning.
495
703c8606
LC
4962012-10-09 Lawrence Crowl <crowl@google.com>
497
498 * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
499 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
500 hash table.
501
5d9de0d0
PC
5022012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
503
504 PR c++/54194
505 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
506 call.
507
a212e43f
MG
5082012-10-09 Marc Glisse <marc.glisse@inria.fr>
509
510 PR c++/54427
511 * c-typeck.c: Include c-common.h.
512 (enum stv_conv): Moved to c-common.h.
513 (scalar_to_vector): Moved to c-common.c.
514 (build_binary_op): Adapt to scalar_to_vector's new prototype.
515 * Make-lang.in: c-typeck.c depends on c-common.h.
516
3b78de56
AC
5172012-10-04 Arnaud Charlet <charlet@adacore.com>
518
519 * c-decl.c (c_write_global_declarations): Fix handling of
520 -fdump-ada-spec*.
521
78c60e3d
SS
5222012-09-30 Sharad Singhai <singhai@google.com>
523
524 * c-decl.c (c_write_global_declarations): Use a different method
525 to determine if the dump has ben initialized.
526
9f33203d
JM
5272012-09-14 Joseph Myers <joseph@codesourcery.com>
528
529 PR c/54552
530 * c-typeck.c (c_cast_expr): When casting to a type requiring
531 C_MAYBE_CONST_EXPR to be created, pass the inner expression to
532 c_fully_fold first.
533
a27d595d
JM
5342012-09-14 Joseph Myers <joseph@codesourcery.com>
535
536 PR c/54103
537 * c-typeck.c (build_unary_op): Pass original argument of
538 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
539 any C_MAYBE_CONST_EXPR, if it has integer operands.
540 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
541 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
542 to c_objc_common_truthvalue_conversion, then remove any
543 C_MAYBE_CONST_EXPR, if they have integer operands. Use
544 c_objc_common_truthvalue_conversion not
545 c_common_truthvalue_conversion.
546 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
547 call note_integer_operands for arguments with integer operands
548 that are not integer constants.
549
9feb29df
JJ
5502012-09-13 Jakub Jelinek <jakub@redhat.com>
551
552 PR c/54559
553 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
554 COMPLEX_TYPE with in_late_binary_op set temporarily to true.
555
d409320c
JJ
5562012-08-31 Jakub Jelinek <jakub@redhat.com>
557
558 PR c/54428
559 * c-convert.c (convert): Don't call fold_convert_loc if
560 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
561 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
562 COMPLEX_TYPE -> COMPLEX_TYPE conversion.
563
6265d07c
JJ
5642012-08-24 Jakub Jelinek <jakub@redhat.com>
565
566 PR c/54355
567 * c-decl.c (c_parser_label): Pass true as nested and fix up comments
568 for nested and empty_ok arguments in the call to
569 c_parser_declaration_or_fndef.
570
1a4049e7
JJ
5712012-08-17 Jakub Jelinek <jakub@redhat.com>
572
573 * c-tree.h (c_last_sizeof_arg): Declare.
574 * c-parser.c (struct c_tree_loc_pair): New type.
575 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if
576 non-NULL.
577 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
578 (c_parser_postfix_expression_after_primary): Likewise. Call
579 sizeof_pointer_memaccess_warning if needed.
580 (sizeof_ptr_memacc_comptypes): New function.
581 * c-typeck.c (c_last_sizeof_arg): New global variable.
582 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
583
0229aee9
UB
5842012-07-24 Uros Bizjak <ubizjak@gmail.com>
585
586 * c-lang.h (lang_decl): Add variable_size GTY option.
587
7ee2468b
SB
5882012-07-16 Steven Bosscher <steven@gcc.gnu.org>
589
590 * c-decl.c: Include dumpfile.h instead of tree-dump.h.
591 * Make-lang.in: Fix dependencies.
592
d4a10d0a
SB
5932012-06-29 Steven Bosscher <steven@gcc.gnu.org>
594
595 * Make-lang.in: New file, rules migrated from gcc/Makefile.in
596 and add language Makefile hooks.
597 * config-lang.in: New file.
598 * c-config-lang.in: Moved from gcc/config-lang.in to here, and
599 add the required "normal" config-lang.in rules.
600 * c-lang.h: Moved from gcc/ to here.
601 * c-tree.h: Likewise.
602 * c-objc-common.c: Likewise.
603 * c-objc-common.h: Likewise.
604 * c-typeck.c: Likewise.
605 * c-convert.c: Likewise.
606 * c-lang.c: Likewise.
607 * c-aux-info.c: Likewise.
608 * c-errors.c: Likewise.
609 * gccspec.c: Likewise.
610 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
611 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
612\f
d1e082c2 613Copyright (C) 2012-2013 Free Software Foundation, Inc.
d4a10d0a
SB
614
615Copying and distribution of this file, with or without modification,
616are permitted in any medium without royalty provided the copyright
617notice and this notice are preserved.