aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/ChangeLog
blob: e2df48f93eae791c9220a2a19605ee2346919a80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
2013-07-23  Joseph Myers  <joseph@codesourcery.com>

	* c-parser.c (struct c_generic_association): Fix typo.

2013-07-23  Tom Tromey  <tromey@redhat.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* c-parser.c (struct c_generic_association): New.
	(c_generic_association_d): New typedef.
	(c_parser_generic_selection): New function.
	(c_parser_postfix_expression): Handle RID_GENERIC.

2013-07-13  Jason Merrill  <jason@redhat.com>

	PR c++/57793
	* c-decl.c (finish_struct): Check for too-large class.

2013-07-04  Joern Rennecke <joern.rennecke@embecosm.com>

	PR c/57821
	* c-typeck.c (set_init_index): When folding, check for index overflow.

2013-06-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* c-parser.c (c_parser_array_notation): Removed rejection of array
	notations in an array of function pointers.

2013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* c-array-notation.c (make_triplet_val_inv): New function.
	(create_cmp_incr): Likewise.
	(create_array_refs): Likewise.
	(fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
	Also modularized common parts between functions and called the function.
	(build_array_notation_expr): Likewise.
	(fix_conditional_array_notations_1): Likewise.
	(fix_array_notation_expr): Likewise.
	(fix_array_notation_call_expr): Likewise.

2013-06-18  Marek Polacek  <polacek@redhat.com>

	PR c/57630
	* c-decl.c (check_for_loop_decls): Improve diagnostics messages.

2013-06-12  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* c-array-notation.c (build_array_notation_expr): Reject array notation
	mismatch between LHS and RHS even inside a call_expr.  Also, removed
	a couple while statements that were dead code.

2013-06-10  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
	excessive precision expressions in function parameters.  Also removed
	couple unwanted while statements.

2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* c-array-notation.c (expand_array_notation_exprs): Added
	ARRAY_NOTATION_REF case.
	
2013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* c-array-notation.c (length_mismatch_in_expr_p): Moved this
	function to c-family/array-notation-common.c.
	(is_cilkplus_reduce_builtin): Likewise.
	(find_rank): Likewise.
	(extract_array_notation_exprs): Likewise.
	(replace_array_notations): Likewise.
	(find_inv_trees): Likewise.
	(replace_inv_trees): Likewise.
	(contains_array_notation_expr): Likewise.
	(find_correct_array_notation_type): Likewise.
	(replace_invariant_exprs): Initialized additional_tcodes to NULL.
	(struct inv_list): Moved this to c-family/array-notation-common.c.
	* c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
	
2013-06-05  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
	reduction functions outside the for-loop.  Added a check if the fundecl
	is non-NULL.  Finally, removed an unwanted if-statement, and made the
	body unconditional.

2013-06-03  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
	condition of the if-statement matches the rank of else-block and then-
	block when array notations are used.
	* c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
	expression after the entire function body is parsed.
	(c_parser_expr_no_commas): Delayed creating array notation expressions
	to the end of function parsing.
	* c-array-notation.c (fix_conditional_array_notations_1): Expanded the
	whole if-statement instead of just the condition.
	(expand_array_notation_exprs): Added MODIFY_EXPR case.	

2013-06-03  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	PR c/57474
	* c-array-notation.c (build_array_notation_expr): Initialized rhs_length
	array to NULL_TREE if they are unused.  Also added a check for the
	field to be NULL before its fields are used in future.
	
2013-05-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR bootstrap/57450
	* c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
	(build_array_notation_expr): Likewise.

2013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	* c-typeck.c (build_array_ref): Added a check to see if array's
	index is greater than one.  If true, then emit an error.
	(build_function_call_vec): Exclude error reporting and checking
	for builtin array-notation functions.
	(convert_arguments): Likewise.
	(c_finish_return): Added a check for array notations as a return
	expression.  If true, then emit an error.
	(c_finish_loop): Added a check for array notations in a loop
	condition.  If true then emit an error.
	(lvalue_p): Added a ARRAY_NOTATION_REF case.
	(build_binary_op): Added a check for array notation expr inside
	op1 and op0.  If present, we call another function to find correct
	type.
	* Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
	* c-parser.c (c_parser_compound_statement): Check if array
	notation code is used in tree, if so, then transform them into
	appropriate C code.
	(c_parser_expr_no_commas): Check if array notation is used in LHS
	or RHS, if so, then build array notation expression instead of
	regular modify.
	(c_parser_postfix_expression_after_primary): Added a check for
	colon(s) after square braces, if so then handle it like an array
	notation.  Also, break up array notations in unary op if found.
	(c_parser_direct_declarator_inner): Added a check for array
	notation.
	(c_parser_compound_statement): Added a check for array notation in
	a stmt.  If one is present, then expand array notation expr.
	(c_parser_if_statement): Likewise.
	(c_parser_switch_statement): Added a check for array notations in
	a switch statement's condition.  If true, then output an error.
	(c_parser_while_statement): Similarly, but for a while.
	(c_parser_do_statement): Similarly, but for a do-while.
	(c_parser_for_statement): Similarly, but for a for-loop.
	(c_parser_unary_expression): Check if array notation is used in a
	pre-increment or pre-decrement expression.  If true, then expand
	them.
	(c_parser_array_notation): New function.
	* c-array-notation.c: New file.
	* c-tree.h (is_cilkplus_reduce_builtin): Protoize.
	
2013-05-23  Mike Stump  <mikestump@comcast.net>

	* c-typeck.c (convert_for_assignment): Handle references to memory
	spaces better.

2013-05-16  Jason Merrill  <jason@redhat.com>

	* Make-lang.in (cc1$(exeext)): Use link mutex.

2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
	to simply use OPT_Wpointer_arith.
	(build_unary_op): Likewise.

2013-04-03  Jakub Jelinek  <jakub@redhat.com>

	PR c/19449
	* c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
	argument.  If set, or it temporarily for parsing of the first
	argument into force_folding_builtin_constant_p.
	(c_parser_postfix_expression): Adjust callers.

2013-03-21  Richard Biener  <rguenther@suse.de>

	* c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
	instead of DECL_DEBUG_EXPR_IS_FROM.  Guard properly.

2013-02-12  Marek Polacek  <polacek@redhat.com>

	PR c/44938
	* c-parser.c (c_parser_postfix_expression_after_primary): Initialize
	origtypes to NULL.

2013-01-24  Jakub Jelinek  <jakub@redhat.com>

	PR c/56078
	* c-typeck.c (set_nonincremental_init_from_string): If
	constructor_max_index is NULL, treat it as if tree_int_cst_lt
	returned false.
	(process_init_element): Likewise.

2012-12-20  Jakub Jelinek  <jakub@redhat.com>

	PR c++/55619
	* c-parser.c (c_parser_asm_operands): Remove CONVERT_P
	argument, don't call default_function_array_conversion
	nor c_fully_fold here.
	(c_parser_asm_statement): Adjust callers.
	* c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
	and outputs here, and call default_function_array_conversion
	on inputs that don't need to be addressable.

2012-12-18  Jakub Jelinek  <jakub@redhat.com>

	PR c/39464
	* c-typeck.c (convert_for_assignment): For -Wpointer-sign
	warning require that both c_common_unsigned_type as well as
	c_common_signed_type is the same for both mvl and mvr types.

2012-11-16  Diego Novillo  <dnovillo@google.com>

	Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)

	* c-common.c: Use new vec API in vec.h.
	* c-common.h: Likewise.
	* c-gimplify.c: Likewise.
	* c-pragma.c: Likewise.
	* c-pretty-print.c: Likewise.
	* c-pretty-print.h: Likewise.
	* c-semantics.c: Likewise.
	* c-decl.c: Likewise.
	* c-parser.c: Likewise.
	* c-tree.h: Likewise.
	* c-typeck.c: Likewise.

2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR c++/54930
	* c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.

2012-10-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/53066
	* c-decl.c (warn_if_shadowing): Do not warn if a variable
	shadows a function, unless the variable is a function or a
	pointer-to-function.

2012-10-12  Jakub Jelinek  <jakub@redhat.com>

	PR c/54381
	* c-parser.c (struct c_tree_loc_pair): Removed.
	(c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
	add location_t * and tree * arguments, fill in array of 3
	sizeof_arg trees and corresponding locs.
	(c_parser_attributes, c_parser_objc_keywordexpr): Adjust
	c_parser_expr_list callers.
	(c_parser_postfix_expression_after_primary): Likewise.  Pass
	array of 3 sizeof_arg trees and locs (corresponding to first
	3 arguments) to sizeof_pointer_memaccess_warning.

2012-10-09  Lawrence Crowl  <crowl@google.com>

	* Make-lang.in (c-decl.o): Add dependence on hash-table.h.
	* c-decl.c (detect_field_duplicates_hash): Change to new type-safe
	hash table.

2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54194
	* c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
	call.

2012-10-09  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/54427
	* c-typeck.c: Include c-common.h.
	(enum stv_conv): Moved to c-common.h.
	(scalar_to_vector): Moved to c-common.c.
	(build_binary_op): Adapt to scalar_to_vector's new prototype.
	* Make-lang.in: c-typeck.c depends on c-common.h.

2012-10-04  Arnaud Charlet  <charlet@adacore.com>

	* c-decl.c (c_write_global_declarations): Fix handling of
	-fdump-ada-spec*.

2012-09-30  Sharad Singhai  <singhai@google.com>

	* c-decl.c (c_write_global_declarations): Use a different method
	to determine if the dump has ben initialized.

2012-09-14  Joseph Myers  <joseph@codesourcery.com>

	PR c/54552
	* c-typeck.c (c_cast_expr): When casting to a type requiring
	C_MAYBE_CONST_EXPR to be created, pass the inner expression to
	c_fully_fold first.

2012-09-14  Joseph Myers  <joseph@codesourcery.com>

	PR c/54103
	* c-typeck.c (build_unary_op): Pass original argument of
	TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
	any C_MAYBE_CONST_EXPR, if it has integer operands.
	(build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
	TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
	to c_objc_common_truthvalue_conversion, then remove any
	C_MAYBE_CONST_EXPR, if they have integer operands.  Use
	c_objc_common_truthvalue_conversion not
	c_common_truthvalue_conversion.
	(c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
	call note_integer_operands for arguments with integer operands
	that are not integer constants.

2012-09-13  Jakub Jelinek  <jakub@redhat.com>

	PR c/54559
	* c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
	COMPLEX_TYPE with in_late_binary_op set temporarily to true.

2012-08-31  Jakub Jelinek  <jakub@redhat.com>

	PR c/54428
	* c-convert.c (convert): Don't call fold_convert_loc if
	TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
	is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
	COMPLEX_TYPE -> COMPLEX_TYPE conversion.

2012-08-24  Jakub Jelinek  <jakub@redhat.com>

	PR c/54355
	* c-decl.c (c_parser_label): Pass true as nested and fix up comments
	for nested and empty_ok arguments in the call to
	c_parser_declaration_or_fndef.

2012-08-17  Jakub Jelinek  <jakub@redhat.com>

	* c-tree.h (c_last_sizeof_arg): Declare.
	* c-parser.c (struct c_tree_loc_pair): New type.
	(c_parser_expr_list): Add sizeof_arg argument.  Fill it in if
	non-NULL.
	(c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
	(c_parser_postfix_expression_after_primary): Likewise.  Call
	sizeof_pointer_memaccess_warning if needed.
	(sizeof_ptr_memacc_comptypes): New function.
	* c-typeck.c (c_last_sizeof_arg): New global variable.
	(c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.

2012-07-24  Uros Bizjak  <ubizjak@gmail.com>

	* c-lang.h (lang_decl): Add variable_size GTY option.

2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>

	* c-decl.c: Include dumpfile.h instead of tree-dump.h.
	* Make-lang.in: Fix dependencies.

2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>

	* Make-lang.in: New file, rules migrated from gcc/Makefile.in
	and add language Makefile hooks.
	* config-lang.in: New file.
	* c-config-lang.in: Moved from gcc/config-lang.in to here, and
	add the required "normal" config-lang.in rules.
	* c-lang.h: Moved from gcc/ to here.
	* c-tree.h: Likewise.
	* c-objc-common.c: Likewise.
	* c-objc-common.h: Likewise.
	* c-typeck.c: Likewise.
	* c-convert.c: Likewise.
	* c-lang.c: Likewise.
	* c-aux-info.c: Likewise.
	* c-errors.c: Likewise.
	* gccspec.c: Likewise.
	* c-decl.c: Likewise.  Include gt-c-c-decl.h, not gt-c-decl.h.
	* c-parser.c: Likewise.  Include gt-c-c-parser.h, not gt-c-parser.h.

Copyright (C) 2012-2013 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.