cgraph.c (cgraph_turn_edge_to_speculative): Fix debug output.
[official-gcc.git] / gcc / c / ChangeLog
blob574e7c073ca41293b8808e801b82afa65fc42fdb
1 2013-08-23  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3         * c-objc-common.c (c_tree_printer): Document the nature of the cast.
4         (c_initialize_diagnostics): Call a destructor for the early printer.
6 2013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8         * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
9         printer initialization.
11 2013-08-19  Balaji V. Iyer  <balaji.v.iyer@intel.com>
13         PR c/57490
14         * c-array-notation.c (fix_conditional_array_notations_1): Added a
15         check for truth values.
16         (expand_array_notation_exprs): Added truth values case.  Removed an
17         unwanted else.  Added for-loop to walk through subtrees in default
18         case.
20 2013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
22         * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
24 2013-07-23  Joseph Myers  <joseph@codesourcery.com>
26         * c-parser.c (struct c_generic_association): Fix typo.
28 2013-07-23  Tom Tromey  <tromey@redhat.com>
29             Joseph Myers  <joseph@codesourcery.com>
31         * c-parser.c (struct c_generic_association): New.
32         (c_generic_association_d): New typedef.
33         (c_parser_generic_selection): New function.
34         (c_parser_postfix_expression): Handle RID_GENERIC.
36 2013-07-13  Jason Merrill  <jason@redhat.com>
38         PR c++/57793
39         * c-decl.c (finish_struct): Check for too-large class.
41 2013-07-04  Joern Rennecke <joern.rennecke@embecosm.com>
43         PR c/57821
44         * c-typeck.c (set_init_index): When folding, check for index overflow.
46 2013-06-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
48         * c-parser.c (c_parser_array_notation): Removed rejection of array
49         notations in an array of function pointers.
51 2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
53         * c-array-notation.c (make_triplet_val_inv): New function.
54         (create_cmp_incr): Likewise.
55         (create_array_refs): Likewise.
56         (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
57         Also modularized common parts between functions and called the function.
58         (build_array_notation_expr): Likewise.
59         (fix_conditional_array_notations_1): Likewise.
60         (fix_array_notation_expr): Likewise.
61         (fix_array_notation_call_expr): Likewise.
63 2013-06-18  Marek Polacek  <polacek@redhat.com>
65         PR c/57630
66         * c-decl.c (check_for_loop_decls): Improve diagnostics messages.
68 2013-06-12  Balaji V. Iyer  <balaji.v.iyer@intel.com>
70         * c-array-notation.c (build_array_notation_expr): Reject array notation
71         mismatch between LHS and RHS even inside a call_expr.  Also, removed
72         a couple while statements that were dead code.
74 2013-06-10  Balaji V. Iyer  <balaji.v.iyer@intel.com>
76         * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
77         excessive precision expressions in function parameters.  Also removed
78         couple unwanted while statements.
80 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
82         * c-array-notation.c (expand_array_notation_exprs): Added
83         ARRAY_NOTATION_REF case.
84         
85 2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
87         * c-array-notation.c (length_mismatch_in_expr_p): Moved this
88         function to c-family/array-notation-common.c.
89         (is_cilkplus_reduce_builtin): Likewise.
90         (find_rank): Likewise.
91         (extract_array_notation_exprs): Likewise.
92         (replace_array_notations): Likewise.
93         (find_inv_trees): Likewise.
94         (replace_inv_trees): Likewise.
95         (contains_array_notation_expr): Likewise.
96         (find_correct_array_notation_type): Likewise.
97         (replace_invariant_exprs): Initialized additional_tcodes to NULL.
98         (struct inv_list): Moved this to c-family/array-notation-common.c.
99         * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
100         
101 2013-06-05  Balaji V. Iyer  <balaji.v.iyer@intel.com>
103         * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
104         reduction functions outside the for-loop.  Added a check if the fundecl
105         is non-NULL.  Finally, removed an unwanted if-statement, and made the
106         body unconditional.
108 2013-06-03  Balaji V. Iyer  <balaji.v.iyer@intel.com>
110         * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
111         condition of the if-statement matches the rank of else-block and then-
112         block when array notations are used.
113         * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
114         expression after the entire function body is parsed.
115         (c_parser_expr_no_commas): Delayed creating array notation expressions
116         to the end of function parsing.
117         * c-array-notation.c (fix_conditional_array_notations_1): Expanded the
118         whole if-statement instead of just the condition.
119         (expand_array_notation_exprs): Added MODIFY_EXPR case.  
121 2013-06-03  Balaji V. Iyer  <balaji.v.iyer@intel.com>
123         PR c/57474
124         * c-array-notation.c (build_array_notation_expr): Initialized rhs_length
125         array to NULL_TREE if they are unused.  Also added a check for the
126         field to be NULL before its fields are used in future.
127         
128 2013-05-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
130         PR bootstrap/57450
131         * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
132         (build_array_notation_expr): Likewise.
134 2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
136         * c-typeck.c (build_array_ref): Added a check to see if array's
137         index is greater than one.  If true, then emit an error.
138         (build_function_call_vec): Exclude error reporting and checking
139         for builtin array-notation functions.
140         (convert_arguments): Likewise.
141         (c_finish_return): Added a check for array notations as a return
142         expression.  If true, then emit an error.
143         (c_finish_loop): Added a check for array notations in a loop
144         condition.  If true then emit an error.
145         (lvalue_p): Added a ARRAY_NOTATION_REF case.
146         (build_binary_op): Added a check for array notation expr inside
147         op1 and op0.  If present, we call another function to find correct
148         type.
149         * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
150         * c-parser.c (c_parser_compound_statement): Check if array
151         notation code is used in tree, if so, then transform them into
152         appropriate C code.
153         (c_parser_expr_no_commas): Check if array notation is used in LHS
154         or RHS, if so, then build array notation expression instead of
155         regular modify.
156         (c_parser_postfix_expression_after_primary): Added a check for
157         colon(s) after square braces, if so then handle it like an array
158         notation.  Also, break up array notations in unary op if found.
159         (c_parser_direct_declarator_inner): Added a check for array
160         notation.
161         (c_parser_compound_statement): Added a check for array notation in
162         a stmt.  If one is present, then expand array notation expr.
163         (c_parser_if_statement): Likewise.
164         (c_parser_switch_statement): Added a check for array notations in
165         a switch statement's condition.  If true, then output an error.
166         (c_parser_while_statement): Similarly, but for a while.
167         (c_parser_do_statement): Similarly, but for a do-while.
168         (c_parser_for_statement): Similarly, but for a for-loop.
169         (c_parser_unary_expression): Check if array notation is used in a
170         pre-increment or pre-decrement expression.  If true, then expand
171         them.
172         (c_parser_array_notation): New function.
173         * c-array-notation.c: New file.
174         * c-tree.h (is_cilkplus_reduce_builtin): Protoize.
175         
176 2013-05-23  Mike Stump  <mikestump@comcast.net>
178         * c-typeck.c (convert_for_assignment): Handle references to memory
179         spaces better.
181 2013-05-16  Jason Merrill  <jason@redhat.com>
183         * Make-lang.in (cc1$(exeext)): Use link mutex.
185 2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
187         * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
188         to simply use OPT_Wpointer_arith.
189         (build_unary_op): Likewise.
191 2013-04-03  Jakub Jelinek  <jakub@redhat.com>
193         PR c/19449
194         * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
195         argument.  If set, or it temporarily for parsing of the first
196         argument into force_folding_builtin_constant_p.
197         (c_parser_postfix_expression): Adjust callers.
199 2013-03-21  Richard Biener  <rguenther@suse.de>
201         * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
202         instead of DECL_DEBUG_EXPR_IS_FROM.  Guard properly.
204 2013-02-12  Marek Polacek  <polacek@redhat.com>
206         PR c/44938
207         * c-parser.c (c_parser_postfix_expression_after_primary): Initialize
208         origtypes to NULL.
210 2013-01-24  Jakub Jelinek  <jakub@redhat.com>
212         PR c/56078
213         * c-typeck.c (set_nonincremental_init_from_string): If
214         constructor_max_index is NULL, treat it as if tree_int_cst_lt
215         returned false.
216         (process_init_element): Likewise.
218 2012-12-20  Jakub Jelinek  <jakub@redhat.com>
220         PR c++/55619
221         * c-parser.c (c_parser_asm_operands): Remove CONVERT_P
222         argument, don't call default_function_array_conversion
223         nor c_fully_fold here.
224         (c_parser_asm_statement): Adjust callers.
225         * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
226         and outputs here, and call default_function_array_conversion
227         on inputs that don't need to be addressable.
229 2012-12-18  Jakub Jelinek  <jakub@redhat.com>
231         PR c/39464
232         * c-typeck.c (convert_for_assignment): For -Wpointer-sign
233         warning require that both c_common_unsigned_type as well as
234         c_common_signed_type is the same for both mvl and mvr types.
236 2012-11-16  Diego Novillo  <dnovillo@google.com>
238         Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
240         * c-common.c: Use new vec API in vec.h.
241         * c-common.h: Likewise.
242         * c-gimplify.c: Likewise.
243         * c-pragma.c: Likewise.
244         * c-pretty-print.c: Likewise.
245         * c-pretty-print.h: Likewise.
246         * c-semantics.c: Likewise.
247         * c-decl.c: Likewise.
248         * c-parser.c: Likewise.
249         * c-tree.h: Likewise.
250         * c-typeck.c: Likewise.
252 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
254         PR c++/54930
255         * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
257 2012-10-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
259         PR c/53066
260         * c-decl.c (warn_if_shadowing): Do not warn if a variable
261         shadows a function, unless the variable is a function or a
262         pointer-to-function.
264 2012-10-12  Jakub Jelinek  <jakub@redhat.com>
266         PR c/54381
267         * c-parser.c (struct c_tree_loc_pair): Removed.
268         (c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
269         add location_t * and tree * arguments, fill in array of 3
270         sizeof_arg trees and corresponding locs.
271         (c_parser_attributes, c_parser_objc_keywordexpr): Adjust
272         c_parser_expr_list callers.
273         (c_parser_postfix_expression_after_primary): Likewise.  Pass
274         array of 3 sizeof_arg trees and locs (corresponding to first
275         3 arguments) to sizeof_pointer_memaccess_warning.
277 2012-10-09  Lawrence Crowl  <crowl@google.com>
279         * Make-lang.in (c-decl.o): Add dependence on hash-table.h.
280         * c-decl.c (detect_field_duplicates_hash): Change to new type-safe
281         hash table.
283 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
285         PR c++/54194
286         * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
287         call.
289 2012-10-09  Marc Glisse  <marc.glisse@inria.fr>
291         PR c++/54427
292         * c-typeck.c: Include c-common.h.
293         (enum stv_conv): Moved to c-common.h.
294         (scalar_to_vector): Moved to c-common.c.
295         (build_binary_op): Adapt to scalar_to_vector's new prototype.
296         * Make-lang.in: c-typeck.c depends on c-common.h.
298 2012-10-04  Arnaud Charlet  <charlet@adacore.com>
300         * c-decl.c (c_write_global_declarations): Fix handling of
301         -fdump-ada-spec*.
303 2012-09-30  Sharad Singhai  <singhai@google.com>
305         * c-decl.c (c_write_global_declarations): Use a different method
306         to determine if the dump has ben initialized.
308 2012-09-14  Joseph Myers  <joseph@codesourcery.com>
310         PR c/54552
311         * c-typeck.c (c_cast_expr): When casting to a type requiring
312         C_MAYBE_CONST_EXPR to be created, pass the inner expression to
313         c_fully_fold first.
315 2012-09-14  Joseph Myers  <joseph@codesourcery.com>
317         PR c/54103
318         * c-typeck.c (build_unary_op): Pass original argument of
319         TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
320         any C_MAYBE_CONST_EXPR, if it has integer operands.
321         (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
322         TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
323         to c_objc_common_truthvalue_conversion, then remove any
324         C_MAYBE_CONST_EXPR, if they have integer operands.  Use
325         c_objc_common_truthvalue_conversion not
326         c_common_truthvalue_conversion.
327         (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
328         call note_integer_operands for arguments with integer operands
329         that are not integer constants.
331 2012-09-13  Jakub Jelinek  <jakub@redhat.com>
333         PR c/54559
334         * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
335         COMPLEX_TYPE with in_late_binary_op set temporarily to true.
337 2012-08-31  Jakub Jelinek  <jakub@redhat.com>
339         PR c/54428
340         * c-convert.c (convert): Don't call fold_convert_loc if
341         TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
342         is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
343         COMPLEX_TYPE -> COMPLEX_TYPE conversion.
345 2012-08-24  Jakub Jelinek  <jakub@redhat.com>
347         PR c/54355
348         * c-decl.c (c_parser_label): Pass true as nested and fix up comments
349         for nested and empty_ok arguments in the call to
350         c_parser_declaration_or_fndef.
352 2012-08-17  Jakub Jelinek  <jakub@redhat.com>
354         * c-tree.h (c_last_sizeof_arg): Declare.
355         * c-parser.c (struct c_tree_loc_pair): New type.
356         (c_parser_expr_list): Add sizeof_arg argument.  Fill it in if
357         non-NULL.
358         (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
359         (c_parser_postfix_expression_after_primary): Likewise.  Call
360         sizeof_pointer_memaccess_warning if needed.
361         (sizeof_ptr_memacc_comptypes): New function.
362         * c-typeck.c (c_last_sizeof_arg): New global variable.
363         (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
365 2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
367         * c-lang.h (lang_decl): Add variable_size GTY option.
369 2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
371         * c-decl.c: Include dumpfile.h instead of tree-dump.h.
372         * Make-lang.in: Fix dependencies.
374 2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
376         * Make-lang.in: New file, rules migrated from gcc/Makefile.in
377         and add language Makefile hooks.
378         * config-lang.in: New file.
379         * c-config-lang.in: Moved from gcc/config-lang.in to here, and
380         add the required "normal" config-lang.in rules.
381         * c-lang.h: Moved from gcc/ to here.
382         * c-tree.h: Likewise.
383         * c-objc-common.c: Likewise.
384         * c-objc-common.h: Likewise.
385         * c-typeck.c: Likewise.
386         * c-convert.c: Likewise.
387         * c-lang.c: Likewise.
388         * c-aux-info.c: Likewise.
389         * c-errors.c: Likewise.
390         * gccspec.c: Likewise.
391         * c-decl.c: Likewise.  Include gt-c-c-decl.h, not gt-c-decl.h.
392         * c-parser.c: Likewise.  Include gt-c-c-parser.h, not gt-c-parser.h.
394 Copyright (C) 2012-2013 Free Software Foundation, Inc.
396 Copying and distribution of this file, with or without modification,
397 are permitted in any medium without royalty provided the copyright
398 notice and this notice are preserved.