12014-10-30  Release Manager
2
3	* GCC 4.9.2 released.
4
52014-09-25  Thomas Schwinge  <thomas@codesourcery.com>
6
7	PR c++/63249
8	* c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
9	on low_bound and length.
10
112014-09-03  Marek Polacek  <polacek@redhat.com>
12
13	PR c/62294
14	* c-typeck.c (convert_arguments): Get location of a parameter.  Change
15	error and warning calls to error_at and warning_at.  Pass location of
16	a parameter to it.
17	(convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
18	WARN_FOR_QUALIFIERS.  Pass expr_loc to those.
19
202014-08-22  Igor Zamyatin  <igor.zamyatin@intel.com>
21
22	PR other/62008
23	* c-parser.c (c_parser_array_notation): Check for correct
24	type of an array added.
25
262014-08-01  Igor Zamyatin  <igor.zamyatin@intel.com>
27
28	PR middle-end/61455
29	* c-array-notation.c (expand_array_notations): Handling
30	of DECL_EXPR added.
31
322014-07-16  Release Manager
33
34	* GCC 4.9.1 released.
35
362014-06-30  Jakub Jelinek  <jakub@redhat.com>
37
38	Backported from mainline
39	2014-06-25  Jakub Jelinek  <jakub@redhat.com>
40
41	* c-typeck.c (c_finish_omp_clauses): Make sure
42	OMP_CLAUSE_LINEAR_STEP has correct type.
43
442014-06-30  Sebastian Huber  <sebastian.huber@embedded-brains.de>
45
46	* c-parser.c (c_parser_declaration_or_fndef): Discard all type
47	qualifiers in __auto_type for atomic types.
48	(c_parser_typeof_specifier): Discard all type qualifiers in
49	__typeof__ for atomic types.
50
512014-06-30  Igor Zamyatin  <igor.zamyatin@intel.com>
52
53	PR middle-end/57541
54	* c-array-notation.c (fix_builtin_array_notation_fn):
55	Check for 0 arguments in builtin call. Check that bultin argument is
56	correct.
57	* c-parser.c (c_parser_array_notation): Check for incorrect initial
58	index.
59
602014-06-24  Jakub Jelinek  <jakub@redhat.com>
61
62	* c-parser.c (c_parser_omp_for_loop): For
63	#pragma omp parallel for simd move lastprivate clause from parallel
64	to for rather than simd.
65
662014-06-04  Igor Zamyatin  <igor.zamyatin@intel.com>
67
68	PR c/58942
69	* c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
70	with a pointer.
71
722014-06-04  Marek Polacek  <polacek@redhat.com>
73
74	Backport from mainline
75	2014-05-08  Marek Polacek  <polacek@redhat.com>
76
77	PR c/61053
78	* c-decl.c (grokdeclarator): Use min_align_of_type instead of
79	TYPE_ALIGN_UNIT.
80
812014-05-26  Igor Zamyatin  <igor.zamyatin@intel.com>
82
83	PR c/61191
84	* c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
85	function parameters.
86
872014-04-24  Jakub Jelinek  <jakub@redhat.com>
88
89	* c-parser.c (c_parser_omp_atomic): Allow seq_cst before
90	atomic-clause, allow comma in between atomic-clause and
91	seq_cst.
92
932014-04-22  Jakub Jelinek  <jakub@redhat.com>
94
95	PR c/59073
96	* c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
97	fails, don't set OM_PARALLEL_COMBINED and return NULL.
98
992014-04-22  Release Manager
100
101	* GCC 4.9.0 released.
102
1032014-04-15  Igor Zamyatin  <igor.zamyatin@intel.com>
104
105	PR middle-end/60469
106	* c-array-notation.c (fix_builtin_array_notation_fn): Use
107	create_tmp_var instead build_decl for creating temps.
108	(build_array_notation_expr): Likewise.
109	(fix_conditional_array_notations_1): Likewise.
110	(fix_array_notation_expr): Likewise.
111	(fix_array_notation_call_expr): Likewise.
112
1132014-03-28  Jakub Jelinek  <jakub@redhat.com>
114
115	PR c++/60689
116	* c-tree.h (c_build_function_call_vec): New prototype.
117	* c-typeck.c (build_function_call_vec): Don't call
118	resolve_overloaded_builtin here.
119	(c_build_function_call_vec): New wrapper function around
120	build_function_call_vec.  Call resolve_overloaded_builtin here.
121	(convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
122	Call c_build_function_call_vec instead of build_function_call_vec.
123	* c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
124	* c-decl.c (finish_decl): Likewise.
125
1262014-03-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
127
128	PR c/55383
129	* c-typeck.c: Use correct format string in cast-qual warning
130
1312014-03-07  Thomas Schwinge  <thomas@codesourcery.com>
132
133	* c-decl.c (c_decl_attributes): Use
134	lang_hooks.types.omp_mappable_type.
135	* c-typeck.c (c_finish_omp_clauses): Likewise.
136
1372014-03-06  Marek Polacek  <polacek@redhat.com>
138
139	PR c/60197
140	* c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
141	of checking tree code.
142
1432014-02-19  Prathamesh Kulkarni  <bilbotheelffriend@gmail.com>
144
145	* c-parser.c (c_parser_declspecs): Replace call to error by error_at.
146	(c_parser_parameter_declaration): Likewise.
147
1482014-02-19  Marek Polacek  <polacek@redhat.com>
149
150	PR c/60195
151	* c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
152	Call mark_exp_read on exp.value.
153	(build_atomic_assign): Set TREE_NO_WARNING on val and old.  Set
154	TREE_ADDRESSABLE on old instead of val.
155	(emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
156
1572014-02-07  Prathamesh Kulkarni  <bilbotheelffriend@gmail.com>
158
159	* c-parser.c (c_parser_get_builtin_args): Replace calls to
160	C_EXPR_APPEND by vec_safe_push.
161	* c-tree.h (C_EXPR_APPEND): Remove.
162
1632014-01-31  Marek Polacek  <polacek@redhat.com>
164
165	PR c/59963
166	* c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
167	build_function_call_vec.
168	(build_function_call): Likewise.
169	(build_atomic_assign): Likewise.
170	(build_function_call_vec): Add arg_loc parameter.  Use it.
171	(convert_arguments): Likewise.
172	(convert_for_assignment): Rename rhs_loc to expr_loc.
173	* c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
174	(c_parser_objc_keywordexpr): Likewise.
175	(c_parser_postfix_expression_after_primary): Call
176	build_function_call_vec with expr_loc rather than op_loc.
177	Call c_parser_expr_list to fill arg_loc.  Pass arg_loc to
178	build_function_call_vec.
179	(c_parser_expr_list): Add locations parameter.  Fill it with locations
180	of function arguments.
181	* c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
182
1832014-01-30  Marek Polacek  <polacek@redhat.com>
184
185	PR c/59940
186	* c-typeck.c (build_function_call_vec): Use loc parameter.
187	(convert_arguments): Add location parameter.  Use it.
188	(ep_convert_and_check): Likewise.
189	(build_atomic_assign): Adjust convert_for_assignment call.
190	(build_modify_expr): Likewise.
191	(digest_init): Likewise.
192	(c_finish_return): Likewise.
193	(build_conditional_expr): Adjust ep_convert_and_check calls.
194	(convert_for_assignment): Add rhs_loc parameter.  Use it.
195	(build_binary_op): Adjust convert_and_check and ep_convert_and_check
196	calls.
197
1982014-01-30  Richard Biener  <rguenther@suse.de>
199
200	PR c/59905
201	* c-typeck.c (build_function_call_vec): Do not replace calls
202	to a function via an incompatible type with a runtime abort.
203
2042014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
205
206	* c-parser.c (c_parser_declaration_or_fndef): Replaced
207	flag_enable_cilkplus with flag_cilkplus.
208	(c_parser_direct_declarator_inner): Likewise.
209	(c_parser_attribute_any_word): Likewise.
210	(c_parser_attributes): Likewise.
211	(c_parser_compound_statement): Likewise.
212	(c_parser_statement_after_labels): Likewise.
213	(c_parser_if_statement): Likewise.
214	(c_parser_switch_statement): Likewise.
215	(c_parser_do_statement): Likewise.
216	(c_parser_for_statement): Likewise.
217	(c_parser_unary_expression): Likewise.
218	(c_parser_postfix_expression): Likewise.
219	(c_parser_postfix_expression_after_primary): Likewise.
220	(c_parser_postfix_expression_after_primary): Likewise.
221	(c_parser_omp_clause_name): Likewise.
222	(c_finish_omp_declare_simd): Likewise.
223	(c_parser_cilk_verify_simd): Likewise.
224	* c-typeck.c (build_array_ref): Likewise.
225	(build_function_call_vec): Likewise.
226	(convert_arguments): Likewise.
227	(build_compound_expr): Likewise.
228	(c_finish_return): Likewise.
229	(c_finish_if_stmt): Likewise.
230	(c_finish_loop): Likewise.
231	(build_binary_op): Likewise.
232
2332014-01-23  Marek Polacek  <polacek@redhat.com>
234
235	PR c/59846
236	* c-typeck.c (parser_build_binary_op): Use location instead of
237	input_location.
238	(build_binary_op): Pass location to shorten_compare.
239
2402014-01-23  Marek Polacek  <polacek@redhat.com>
241
242	PR c/58346
243	* c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
244	an empty aggregate.
245
2462014-01-23  Marek Polacek  <polacek@redhat.com>
247
248	PR c/59871
249	* c-typeck.c (build_compound_expr): Warn even for right-hand operand
250	of a comma expression.
251	(emit_side_effect_warnings): Likewise.
252
2532014-01-23  Balaji V. Iyer  <balaji.v.iyer@intel.com>
254
255	PR c/59825
256	* c-array-notation.c (expand_array_notation_exprs): Rewrote this
257	function to use walk_tree and moved a lot of its functionality to
258	expand_array_notations.
259	(expand_array_notations): New function.
260
2612014-01-23  Balaji V. Iyer  <balaji.v.iyer@intel.com>
262
263	* c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
264	attribute an attribute without value.
265
2662014-01-23  Jakub Jelinek  <jakub@redhat.com>
267
268	PR middle-end/58809
269	* c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
270	BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
271
2722014-01-22  Marek Polacek  <polacek@redhat.com>
273
274	PR c/59891
275	* c-typeck.c (build_conditional_expr): Call c_fully_fold instead
276	of remove_c_maybe_const_expr on op1 and op2.
277
2782014-01-15  Jakub Jelinek  <jakub@redhat.com>
279
280	PR c/58943
281	* c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
282	effects, preevaluate rhs using SAVE_EXPR first.
283
2842014-01-09  Balaji V. Iyer  <balaji.v.iyer@intel.com>
285
286	PR c++/59631
287	* c-parser.c (c_parser_postfix_expression): Replaced consecutive if
288	statements with if-elseif statements.
289
2902014-01-06  Marek Polacek  <polacek@redhat.com>
291
292	PR c/57773
293	* c-decl.c (check_bitfield_type_and_width): Warn for implementation
294	defined bit-field types only in ISO C.
295
2962014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
297
298	Update copyright years
299
3002014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
301
302	* c-array-notation.c: Use the standard form for the copyright notice.
303
3042013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
305
306	* c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
307	(c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
308	field in parser is not empty.  If not-empty, call the function
309	c_parser_finish_omp_declare_simd.
310	(c_parser_cilk_clause_vectorlength): Modified function to be shared
311	between SIMD-enabled functions and #pragma simd.  Added new parameter.
312	(c_parser_cilk_all_clauses): Modified the usage of the function
313	c_parser_cilk_clause_vectorlength as mentioned above.
314	(c_parser_cilk_simd_fn_vector_attrs): New function.
315	(c_finish_cilk_simd_fn_tokens): Likewise.
316	(is_cilkplus_vector_p): Likewise.
317	(c_parser_omp_clause_name): Added checking for "vectorlength,"
318	"nomask," and "mask" strings in clause name.
319	(c_parser_omp_all_clauses): Added 3 new case statements:
320	PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
321	PRAGMA_CILK_CLAUSE_NOMASK.
322	(c_parser_attributes): Added a cilk_simd_fn_tokens parameter.  Added a
323	check for vector attribute and if so call the function
324	c_parser_cilk_simd_fn_vector_attrs.  Also, when Cilk plus is enabled,
325	called the function c_finish_cilk_simd_fn_tokens.
326	(c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
327	parser field is non-empty.  If so, parse them as you would parse
328	the omp declare simd pragma.
329	(c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
330	Added a check when step is a parameter and flag it as error.
331	(CILK_SIMD_FN_CLAUSE_MASK): New #define.
332	(c_parser_cilk_clause_name): Changed pragma_cilk_clause to
333	pragma_omp_clause.
334
3352013-12-17  Thomas Schwinge  <thomas@codesourcery.com>
336
337	* c-parser.c (c_parser_omp_parallel): Fix description.
338
3392013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
340
341	* c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
342	(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
343	(LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
344	* c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
345
3462013-12-04  Joseph Myers  <joseph@codesourcery.com>
347
348	PR c/52023
349	* c-parser.c (c_parser_alignas_specifier): Use
350	c_sizeof_or_alignof_type instead of c_alignof.
351	(c_parser_alignof_expression): Likewise, with min_alignof
352	parameter depending on alignof spelling used.
353
3542013-12-04  Marek Polacek  <polacek@redhat.com>
355
356	PR c/54113
357	* c-decl.c (start_function): Don't warn for missing prototype for
358	inline functions.
359
3602013-12-03  Marek Polacek  <polacek@redhat.com>
361
362	PR c/59351
363	* c-decl.c (build_compound_literal): Allow compound literals with
364	empty initial value.
365
3662013-12-02  Joseph Myers  <joseph@codesourcery.com>
367
368	PR c/58235
369	* c-typeck.c (build_modify_expr): Diagnose assignment to
370	expression with array type.
371
3722013-11-29  Joseph Myers  <joseph@codesourcery.com>
373
374	PR c/42262
375	* c-typeck.c (process_init_element): Do not treat a string as
376	initializing a whole array when used with a designator for an
377	individual element.
378
3792013-11-29  Joseph Myers  <joseph@codesourcery.com>
380
381	PR c/57574
382	* c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
383	an inline function following a static declaration.
384
3852013-11-28  Jakub Jelinek  <jakub@redhat.com>
386
387	PR c/59310
388	* c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
389	to p_name before calling c_parser_omp_teams instead of after.
390	(c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
391	argument.  Remove unused p_name variable.
392
3932013-11-27  Aldy Hernandez  <aldyh@redhat.com>
394	    Jakub Jelinek  <jakub@redhat.com>
395
396	* c-decl.c (c_builtin_function_ext_scope): Avoid binding if
397	external_scope is NULL.
398
3992013-11-27  Tom de Vries  <tom@codesourcery.com>
400	    Marc Glisse  <marc.glisse@inria.fr>
401
402	PR c++/59032
403	* c-typeck.c (build_unary_op): Allow vector increment and decrement.
404
4052013-11-22  Andrew MacLeod  <amacleod@redhat.com>
406
407	* c-typeck.c: Add required include files from gimple.h.
408
4092013-11-22  David Malcolm  <dmalcolm@redhat.com>
410
411	* c-decl.c (define_label, shadow_tag_warned)
412	(check_bitfield_type_and_width, grokdeclarator, grokparms,
413	store_parm_decls_newstyle, store_parm_decls_oldstyle)
414	(declspecs_add_type): Remove use of in_system_header macro.
415	* c-parser.c (c_parser_unary_expression): Likewise.
416	* c-typeck.c (store_init_value, process_init_element)
417	(c_start_case): Likewise.
418
419	* c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
420	macro.
421
422	* c-parser.c (c_parser_set_source_position_from_token): Remove
423	reference to in_system_header from comment.
424
4252013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
426
427	* c-decl.c (grokdeclarator): Update comment to refer to
428	tree_to_[su]hwi rather than tree_low_cst.
429
4302013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
431
432	* c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
433	tree_to_uhwi throughout.
434
4352013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
436
437	* c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
438	throughout.
439
4402013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
441
442	* c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
443	throughout.
444
4452013-11-15  Aldy Hernandez  <aldyh@redhat.com>
446
447	* c-parser.c (c_parser_cilk_simd): New.
448	(c_parser_cilk_verify_simd): New.
449	(c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
450	(c_parser_omp_for_loop): Add case for NE_EXPR.
451	Set c_break_label for CILK_SIMD.
452	(c_parser_cilk_clause_vectorlength): New.
453	(c_parser_cilk_clause_linear): New.
454	(c_parser_cilk_clause_name): New.
455	(c_parser_cilk_all_clauses): New.
456	* c-typeck.c (build_unary_op): Pass location argument to
457	readonly_error.
458	(build_modify_expr): Same.
459	(build_asm_expr): Same.
460	(c_finish_bc_stmt): Error on break/continue in loops.
461
4622013-11-14  Andrew MacLeod  <amacleod@redhat.com>
463
464	* c-typeck.c: Include only gimplify.h and gimple.h as needed.
465
4662013-11-14  Diego Novillo  <dnovillo@google.com>
467
468	* c-decl.c: Include print-tree.h.
469	Include stor-layout.h.
470	Include varasm.h.
471	Include attribs.h.
472	Include stringpool.h.
473	* c-lang.c: Include fold-const.h.
474	* c-parser.c: Include stringpool.h.
475	Include attribs.h.
476	Include stor-layout.h.
477	Include varasm.h.
478	Include trans-mem.h.
479	* c-typeck.c: Include stor-layout.h.
480	Include trans-mem.h.
481	Include varasm.h.
482	Include stmt.h.
483
4842013-11-13  Joseph Myers  <joseph@codesourcery.com>
485
486	* c-tree.h (c_typespec_keyword): Add cts_auto_type.
487	* c-decl.c (declspecs_add_type, finish_declspecs): Handle
488	__auto_type.
489	* c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
490	(c_parser_attribute_any_word, c_parser_objc_selector): Handle
491	RID_AUTO_TYPE.
492	(c_parser_declspecs): Take argument AUTO_TYPE_OK.
493	(c_parser_declaration_or_fndef, c_parser_struct_declaration)
494	(c_parser_declarator, c_parser_direct_declarator_inner)
495	(c_parser_parameter_declaration, c_parser_type_name): All callers
496	changed.
497	(c_parser_declaration_or_fndef): Handle declarations with type
498	determined from the initializer.
499
5002013-11-12  Andrew MacLeod  <amacleod@redhat.com>
501
502	* c-typeck.c: Include gimplify.h.
503
5042013-11-12  Joseph Myers  <joseph@codesourcery.com>
505
506	* c-tree.h (struct c_declspecs): Add thread_gnu_p field.
507	* c-parser.c (c_parser_declspecs): Mention _Thread_local in
508	comment.
509	* c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
510	or _Thread_local as appropriate in diagnostics.
511	(build_null_declspecs): Initialize ret->thread_gnu_p.
512	(declspecs_add_scspec): Handle either __thread or _Thread_local
513	for RID_THREAD.  Diagnose _Thread_local for pre-C11 standards if
514	pedantic.  Do not disallow _Thread_local extern and _Thread_local
515	static.
516
5172013-11-07  Joseph Myers  <joseph@codesourcery.com>
518	    Andrew MacLeod  <amacleod@redhat.com>
519
520	* c-aux-info.c (gen_type): Handle atomic qualifier.
521	* c-decl.c (validate_proto_after_old_defn): Do not remove atomic
522	qualifiers when compating types.
523	(shadow_tag_warned): Handle atomic_p in declspecs.
524	(quals_from_declspecs): Likewise.
525	(start_decl): Use c_type_promotes_to when promoting argument
526	types.
527	(grokdeclarator): Handle _Atomic.
528	(get_parm_info): Diagnose any qualifier on "void" as only
529	parameter.
530	(store_parm_decls_oldstyle): Do not remove atomic qualifiers when
531	comparing types.  Use c_type_promotes_to when promoting argument
532	types.
533	(finish_function): Use c_type_promotes_to when promoting argument
534	types.
535	(build_null_declspecs): Handle atomic_p in declspecs.
536	(declspecs_add_qual): Handle RID_ATOMIC.
537	* c-parser.c (c_token_starts_typename, c_token_is_qualifier)
538	(c_token_starts_declspecs): Handle RID_ATOMIC.
539	(c_parser_declspecs): Handle atomic type specifiers and
540	qualifiers.
541	(c_parser_typeof_specifier): Remove const and _Atomic qualifiers
542	from types of expressions with atomic type.
543	(c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
544	(c_parser_attribute_any_word): Handle RID_ATOMIC.
545	(c_parser_initializer, c_parser_initelt, c_parser_initval)
546	(c_parser_statement_after_labels, c_parser_switch_statement)
547	(c_parser_for_statement, c_parser_expr_no_commas)
548	(c_parser_conditional_expression, c_parser_binary_expression)
549	(c_parser_cast_expression, c_parser_unary_expression)
550	(c_parser_postfix_expression)
551	(c_parser_postfix_expression_after_primary, c_parser_expression):
552	Use convert_lvalue_to_rvalue.
553	(c_parser_expression_conv, c_parser_expr_list): Document
554	conversion of lvalues to rvalues.  Use convert_lvalue_to_rvalue.
555	(c_parser_objc_synchronized_statement): Use
556	convert_lvalue_to_rvalue.
557	(c_parser_objc_selector): Handle RID_ATOMIC.
558	(c_parser_objc_receiver, c_parser_array_notation): Use
559	convert_lvalue_to_rvalue.
560	* c-tree.h (ctsk_typeof): Adjust comment to mention use for
561	_Atomic (type-name).
562	(struct c_declspecs): Add atomic_p field.
563	(convert_lvalue_to_rvalue): Declare.
564	* c-typeck.c (c_type_promotes_to): Promote atomic types to
565	corresponding atomic types.
566	(qualify_type): Don't add _Atomic qualifiers from second argument.
567	(comp_target_types): Do not allow _Atomic mismatches.
568	(type_lists_compatible_p): Do not remove atomic qualifiers when
569	comparing types.
570	(really_atomic_lvalue, convert_lvalue_to_rvalue)
571	(build_atomic_assign): New functions.
572	(build_unary_op): Use build_atomic_assign for atomic increment and
573	decrement.
574	(build_conditional_expr): Do not treat _Atomic void as a qualified
575	version of void.
576	(build_modify_expr): Use build_atomic_assign for atomic LHS.
577	(find_anonymous_field_with_type, convert_to_anonymous_field)
578	(convert_for_assignment): Do not remove atomic qualifiers when
579	comparing types.
580	(digest_init): Do not accept initialization of arrays of atomic
581	elements by string constants.
582	(build_asm_expr): Use convert_lvalue_to_rvalue.
583	(build_binary_op): Do not treat _Atomic void as a qualified
584	version of void.
585
5862013-11-06  DJ Delorie  <dj@redhat.com>
587
588	* c-decl.c (locate_old_decl): If a previous conflicting decl is
589	both explicit and builtin, print the location of the explicit one.
590
5912013-11-05  Tobias Burnus  <burnus@net-b.de>
592
593	* c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
594	c_parser_omp_distribute, c_parser_omp_teams,
595	c_parser_omp_target, c_parser_omp_declare): Handle
596	-fopenmp-simd.
597
5982013-11-03  Marek Polacek  <polacek@redhat.com>
599
600	* c-decl.c (grokdeclarator): Add VLA instrumentation.
601
6022013-11-01  Jakub Jelinek  <jakub@redhat.com>
603
604	* c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
605	check_dup_generic at the end, unless remove is true.
606	(c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
607	remove = true;.
608	(c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
609
6102013-10-31  Jakub Jelinek  <jakub@redhat.com>
611
612	* c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
613	with decl that is not pointer nor array.
614
6152013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
616
617	* c-decl.c (finish_function): Added a call for insert_cilk_frame when
618	a spawning function is found.
619	* c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
620	(LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
621	(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
622	* c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
623	case.
624	(c_parser_postfix_expression): Added RID_CILK_SPAWN case.
625	* c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
626	expr.
627	(c_finish_return): Added a check to reject _Cilk_spawn in return
628	expression.
629	(build_cilk_spawn): New function.
630	(build_cilk_sync): Likewise.
631	* Makefile.in (c-decl.o): Added cilk.h in dependency list.
632
6332013-10-27  Tobias Burnus  <burnus@net-b.de>
634
635	PR other/33426
636	* c-parser.c (c_parser_while_statement, c_parser_while_statement,
637	c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
638	(c_parser_statement_after_labels): Update calls.
639
6402013-10-24  Tobias Burnus  <burnus@net-b.de>
641
642	PR other/33426
643	* c-parser.c (c_parser_pragma, c_parser_for_statement):
644	Handle PRAGMA_IVDEP.
645	(c_parser_statement_after_labels): Update call.
646
6472013-10-24  Marek Polacek  <polacek@redhat.com>
648
649	* c-parser.c (c_parser_struct_declaration): Add a comment.
650	(c_parser_declarator): Don't allow _Alignas here.
651
6522013-10-17  Andrew MacLeod  <amacleod@redhat.com>
653
654	* c-parser.c: Include omp-low.h.
655	* c-typeck.c: Likewise.
656
6572013-10-17  Marek Polacek  <polacek@redhat.com>
658
659	PR c/58267
660	* c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
661	Document syntax of the array-declarator.
662	(c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
663	are not permitted.
664	(c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
665	(c_parser_struct_declaration): Likewise.
666	(c_parser_declarator): Likewise.
667	(c_parser_direct_declarator_inner): Likewise.
668	(c_parser_parameter_declaration): Likewise.
669	(c_parser_type_name): Likewise.
670
6712013-10-11  Jakub Jelinek  <jakub@redhat.com>
672
673	* c-lang.h (current_omp_declare_target_attribute): New extern
674	decl.
675	* c-parser.c: Include c-lang.h.
676	(struct c_parser): Change tokens to c_token *.
677	Add tokens_buf field.  Change tokens_avail type to unsigned int.
678	(c_parser_consume_token): If parser->tokens isn't
679	&parser->tokens_buf[0], increment parser->tokens.
680	(c_parser_consume_pragma): Likewise.
681	(enum pragma_context): Add pragma_struct and pragma_param.
682	(c_parser_external_declaration): Adjust
683	c_parser_declaration_or_fndef caller.
684	(c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
685	argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
686	Adjust recursive call.
687	(c_parser_struct_or_union_specifier): Use pragma_struct instead
688	of pragma_external.
689	(c_parser_parameter_declaration): Use pragma_param instead of
690	pragma_external.
691	(c_parser_compound_statement_nostart, c_parser_label,
692	c_parser_for_statement): Adjust
693	c_parser_declaration_or_fndef callers.
694	(c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
695	it through to c_parser_conditional_expression.
696	(c_parser_conditional_expression): Add omp_atomic_lhs argument,
697	pass it through to c_parser_binary_expression.  Adjust recursive
698	call.
699	(c_parser_binary_expression): Remove prec argument, add
700	omp_atomic_lhs argument instead.  Always start from PREC_NONE, if
701	omp_atomic_lhs is non-NULL and one of the arguments of toplevel
702	binop matches it, use build2 instead of parser_build_binary_op.
703	(c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
704	PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
705	PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
706	Handle pragma_struct and pragma_param the same as pragma_external.
707	(c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
708	(c_parser_omp_variable_list): Parse array sections for
709	OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
710	(c_parser_omp_clause_collapse): Fully fold collapse expression.
711	(c_parser_omp_clause_reduction): Handle user defined reductions.
712	(c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
713	c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
714	c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
715	c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
716	c_parser_omp_clause_depend, c_parser_omp_clause_map,
717	c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
718	c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
719	c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
720	(c_parser_omp_all_clauses): Add finish_p argument.  Don't call
721	c_finish_omp_clauses if it is false.  Handle new OpenMP 4.0 clauses.
722	(c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
723	present to c_finish_omp_atomic.  Handle OpenMP 4.0 atomic forms.
724	(c_parser_omp_for_loop): Add CODE argument, pass it through
725	to c_finish_omp_for.  Change last argument to cclauses,
726	and adjust uses to grab parallel clauses from the array of all
727	the split clauses.  Adjust c_parser_binary_expression,
728	c_parser_declaration_or_fndef and c_finish_omp_for callers.
729	(omp_split_clauses): New function.
730	(c_parser_omp_simd): New function.
731	(c_parser_omp_for): Add p_name, mask and cclauses arguments.
732	Allow the function to be called also when parsing combined constructs,
733	and call c_parser_omp_simd when parsing for simd.
734	(c_parser_omp_sections_scope): If section-sequence doesn't start with
735	#pragma omp section, require exactly one structured-block instead of
736	sequence of statements.
737	(c_parser_omp_sections): Add p_name, mask and cclauses arguments.
738	Allow the function to be called also when parsing combined constructs.
739	(c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
740	Allow the function to be called also when parsing combined
741	constructs.
742	(c_parser_omp_taskgroup, c_parser_omp_cancel,
743	c_parser_omp_cancellation_point, c_parser_omp_distribute,
744	c_parser_omp_teams, c_parser_omp_target_data,
745	c_parser_omp_target_update, c_parser_omp_target,
746	c_parser_omp_declare_simd, c_finish_omp_declare_simd,
747	c_parser_omp_declare_target, c_parser_omp_end_declare_target,
748	c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
749	(c_parser_omp_construct): Add p_name and mask vars.  Handle
750	PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
751	PRAGMA_OMP_TEAMS.  Adjust c_parser_omp_for, c_parser_omp_parallel
752	and c_parser_omp_sections callers.
753	(c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
754	(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
755	OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
756	(OMP_PARALLEL_CLAUSE_MASK): Likewise.  Add OMP_CLAUSE_PROC_BIND.
757	(OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.  Add
758	OMP_CLAUSE_DEPEND.
759	(OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
760	OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
761	OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
762	OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
763	OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
764	* c-typeck.c: Include tree-inline.h.
765	(c_finish_omp_cancel, c_finish_omp_cancellation_point,
766	handle_omp_array_sections_1, handle_omp_array_sections,
767	c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
768	(c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
769	user defined reductions.
770	(c_tree_equal): New function.
771	* c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
772	c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
773	c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
774	c_check_omp_declare_reduction_r): New prototypes.
775	* c-decl.c (current_omp_declare_target_attribute): New variable.
776	(c_decl_attributes): New function.
777	(start_decl, start_function): Use it instead of decl_attributes.
778	(temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
779	c_omp_reduction_decl, c_omp_reduction_lookup,
780	c_check_omp_declare_reduction_r): New functions.
781
7822013-09-25  Tom Tromey  <tromey@redhat.com>
783
784	* Make-lang.in (c/gccspec.o): Remove.
785	(CFLAGS-c/gccspec.o): New variable.
786	(cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
787	(c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
788	(c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
789
7902013-09-25  Tom Tromey  <tromey@redhat.com>
791
792	* Make-lang.in (c/gccspec.o): Don't use subshell.
793
7942013-09-18  Marek Polacek  <polacek@redhat.com>
795
796	PR sanitize/58443
797	* c-typeck.c (build_binary_op): Properly honor -fsanitize options.
798	Remove unnecessary check.
799
8002013-09-18  Marek Polacek  <polacek@redhat.com>
801
802	PR sanitizer/58411
803	* c-typeck.c (build_binary_op): Don't sanitize function if it has the
804	no_sanitize_undefined attribute.
805
8062013-09-13  Kai Tietz  <ktietz@redhat.com>
807
808	PR target/57848
809	* c-decl.c (c_builtin_function_ext_scope): Remove
810	wrong assumption that it is never called on prexisting
811	symbol.
812
8132013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
814
815	* c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
816
8172013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
818
819	* c-objc-common.c (c_tree_printer): Tidy.
820
8212013-08-30  Marek Polacek  <polacek@redhat.com>
822
823	* c-typeck.c (build_binary_op): Add division by zero and shift
824	instrumentation.
825
8262013-08-26  Joern Rennecke  <joern.rennecke@embecosm.com>
827	    Joseph Myers  <joseph@codesourcery.com>
828
829	PR c/35649
830	* c-typeck.c (c_common_type): Prefer double_type_node over
831	other REAL_TYPE types with the same precision.
832	(convert_arguments): Likewise.
833
8342013-08-23  Gabriel Dos Reis  <gdr@integrable-solutions.net>
835
836	* c-objc-common.c (c_tree_printer): Document the nature of the cast.
837	(c_initialize_diagnostics): Call a destructor for the early printer.
838
8392013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
840
841	* c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
842	printer initialization.
843
8442013-08-19  Balaji V. Iyer  <balaji.v.iyer@intel.com>
845
846	PR c/57490
847	* c-array-notation.c (fix_conditional_array_notations_1): Added a
848	check for truth values.
849	(expand_array_notation_exprs): Added truth values case.  Removed an
850	unwanted else.  Added for-loop to walk through subtrees in default
851	case.
852
8532013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
854
855	* c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
856
8572013-07-23  Joseph Myers  <joseph@codesourcery.com>
858
859	* c-parser.c (struct c_generic_association): Fix typo.
860
8612013-07-23  Tom Tromey  <tromey@redhat.com>
862	    Joseph Myers  <joseph@codesourcery.com>
863
864	* c-parser.c (struct c_generic_association): New.
865	(c_generic_association_d): New typedef.
866	(c_parser_generic_selection): New function.
867	(c_parser_postfix_expression): Handle RID_GENERIC.
868
8692013-07-13  Jason Merrill  <jason@redhat.com>
870
871	PR c++/57793
872	* c-decl.c (finish_struct): Check for too-large class.
873
8742013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
875
876	PR c/57821
877	* c-typeck.c (set_init_index): When folding, check for index overflow.
878
8792013-06-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
880
881	* c-parser.c (c_parser_array_notation): Removed rejection of array
882	notations in an array of function pointers.
883
8842013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
885
886	* c-array-notation.c (make_triplet_val_inv): New function.
887	(create_cmp_incr): Likewise.
888	(create_array_refs): Likewise.
889	(fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
890	Also modularized common parts between functions and called the function.
891	(build_array_notation_expr): Likewise.
892	(fix_conditional_array_notations_1): Likewise.
893	(fix_array_notation_expr): Likewise.
894	(fix_array_notation_call_expr): Likewise.
895
8962013-06-18  Marek Polacek  <polacek@redhat.com>
897
898	PR c/57630
899	* c-decl.c (check_for_loop_decls): Improve diagnostics messages.
900
9012013-06-12  Balaji V. Iyer  <balaji.v.iyer@intel.com>
902
903	* c-array-notation.c (build_array_notation_expr): Reject array notation
904	mismatch between LHS and RHS even inside a call_expr.  Also, removed
905	a couple while statements that were dead code.
906
9072013-06-10  Balaji V. Iyer  <balaji.v.iyer@intel.com>
908
909	* c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
910	excessive precision expressions in function parameters.  Also removed
911	couple unwanted while statements.
912
9132013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
914
915	* c-array-notation.c (expand_array_notation_exprs): Added
916	ARRAY_NOTATION_REF case.
917
9182013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
919
920	* c-array-notation.c (length_mismatch_in_expr_p): Moved this
921	function to c-family/array-notation-common.c.
922	(is_cilkplus_reduce_builtin): Likewise.
923	(find_rank): Likewise.
924	(extract_array_notation_exprs): Likewise.
925	(replace_array_notations): Likewise.
926	(find_inv_trees): Likewise.
927	(replace_inv_trees): Likewise.
928	(contains_array_notation_expr): Likewise.
929	(find_correct_array_notation_type): Likewise.
930	(replace_invariant_exprs): Initialized additional_tcodes to NULL.
931	(struct inv_list): Moved this to c-family/array-notation-common.c.
932	* c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
933
9342013-06-05  Balaji V. Iyer  <balaji.v.iyer@intel.com>
935
936	* c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
937	reduction functions outside the for-loop.  Added a check if the fundecl
938	is non-NULL.  Finally, removed an unwanted if-statement, and made the
939	body unconditional.
940
9412013-06-03  Balaji V. Iyer  <balaji.v.iyer@intel.com>
942
943	* c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
944	condition of the if-statement matches the rank of else-block and then-
945	block when array notations are used.
946	* c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
947	expression after the entire function body is parsed.
948	(c_parser_expr_no_commas): Delayed creating array notation expressions
949	to the end of function parsing.
950	* c-array-notation.c (fix_conditional_array_notations_1): Expanded the
951	whole if-statement instead of just the condition.
952	(expand_array_notation_exprs): Added MODIFY_EXPR case.
953
9542013-06-03  Balaji V. Iyer  <balaji.v.iyer@intel.com>
955
956	PR c/57474
957	* c-array-notation.c (build_array_notation_expr): Initialized rhs_length
958	array to NULL_TREE if they are unused.  Also added a check for the
959	field to be NULL before its fields are used in future.
960
9612013-05-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
962
963	PR bootstrap/57450
964	* c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
965	(build_array_notation_expr): Likewise.
966
9672013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
968
969	* c-typeck.c (build_array_ref): Added a check to see if array's
970	index is greater than one.  If true, then emit an error.
971	(build_function_call_vec): Exclude error reporting and checking
972	for builtin array-notation functions.
973	(convert_arguments): Likewise.
974	(c_finish_return): Added a check for array notations as a return
975	expression.  If true, then emit an error.
976	(c_finish_loop): Added a check for array notations in a loop
977	condition.  If true then emit an error.
978	(lvalue_p): Added a ARRAY_NOTATION_REF case.
979	(build_binary_op): Added a check for array notation expr inside
980	op1 and op0.  If present, we call another function to find correct
981	type.
982	* Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
983	* c-parser.c (c_parser_compound_statement): Check if array
984	notation code is used in tree, if so, then transform them into
985	appropriate C code.
986	(c_parser_expr_no_commas): Check if array notation is used in LHS
987	or RHS, if so, then build array notation expression instead of
988	regular modify.
989	(c_parser_postfix_expression_after_primary): Added a check for
990	colon(s) after square braces, if so then handle it like an array
991	notation.  Also, break up array notations in unary op if found.
992	(c_parser_direct_declarator_inner): Added a check for array
993	notation.
994	(c_parser_compound_statement): Added a check for array notation in
995	a stmt.  If one is present, then expand array notation expr.
996	(c_parser_if_statement): Likewise.
997	(c_parser_switch_statement): Added a check for array notations in
998	a switch statement's condition.  If true, then output an error.
999	(c_parser_while_statement): Similarly, but for a while.
1000	(c_parser_do_statement): Similarly, but for a do-while.
1001	(c_parser_for_statement): Similarly, but for a for-loop.
1002	(c_parser_unary_expression): Check if array notation is used in a
1003	pre-increment or pre-decrement expression.  If true, then expand
1004	them.
1005	(c_parser_array_notation): New function.
1006	* c-array-notation.c: New file.
1007	* c-tree.h (is_cilkplus_reduce_builtin): Protoize.
1008
10092013-05-23  Mike Stump  <mikestump@comcast.net>
1010
1011	* c-typeck.c (convert_for_assignment): Handle references to memory
1012	spaces better.
1013
10142013-05-16  Jason Merrill  <jason@redhat.com>
1015
1016	* Make-lang.in (cc1$(exeext)): Use link mutex.
1017
10182013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1019
1020	* c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
1021	to simply use OPT_Wpointer_arith.
1022	(build_unary_op): Likewise.
1023
10242013-04-03  Jakub Jelinek  <jakub@redhat.com>
1025
1026	PR c/19449
1027	* c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
1028	argument.  If set, or it temporarily for parsing of the first
1029	argument into force_folding_builtin_constant_p.
1030	(c_parser_postfix_expression): Adjust callers.
1031
10322013-03-21  Richard Biener  <rguenther@suse.de>
1033
1034	* c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
1035	instead of DECL_DEBUG_EXPR_IS_FROM.  Guard properly.
1036
10372013-02-12  Marek Polacek  <polacek@redhat.com>
1038
1039	PR c/44938
1040	* c-parser.c (c_parser_postfix_expression_after_primary): Initialize
1041	origtypes to NULL.
1042
10432013-01-24  Jakub Jelinek  <jakub@redhat.com>
1044
1045	PR c/56078
1046	* c-typeck.c (set_nonincremental_init_from_string): If
1047	constructor_max_index is NULL, treat it as if tree_int_cst_lt
1048	returned false.
1049	(process_init_element): Likewise.
1050
10512012-12-20  Jakub Jelinek  <jakub@redhat.com>
1052
1053	PR c++/55619
1054	* c-parser.c (c_parser_asm_operands): Remove CONVERT_P
1055	argument, don't call default_function_array_conversion
1056	nor c_fully_fold here.
1057	(c_parser_asm_statement): Adjust callers.
1058	* c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
1059	and outputs here, and call default_function_array_conversion
1060	on inputs that don't need to be addressable.
1061
10622012-12-18  Jakub Jelinek  <jakub@redhat.com>
1063
1064	PR c/39464
1065	* c-typeck.c (convert_for_assignment): For -Wpointer-sign
1066	warning require that both c_common_unsigned_type as well as
1067	c_common_signed_type is the same for both mvl and mvr types.
1068
10692012-11-16  Diego Novillo  <dnovillo@google.com>
1070
1071	Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1072
1073	* c-common.c: Use new vec API in vec.h.
1074	* c-common.h: Likewise.
1075	* c-gimplify.c: Likewise.
1076	* c-pragma.c: Likewise.
1077	* c-pretty-print.c: Likewise.
1078	* c-pretty-print.h: Likewise.
1079	* c-semantics.c: Likewise.
1080	* c-decl.c: Likewise.
1081	* c-parser.c: Likewise.
1082	* c-tree.h: Likewise.
1083	* c-typeck.c: Likewise.
1084
10852012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1086
1087	PR c++/54930
1088	* c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
1089
10902012-10-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1091
1092	PR c/53066
1093	* c-decl.c (warn_if_shadowing): Do not warn if a variable
1094	shadows a function, unless the variable is a function or a
1095	pointer-to-function.
1096
10972012-10-12  Jakub Jelinek  <jakub@redhat.com>
1098
1099	PR c/54381
1100	* c-parser.c (struct c_tree_loc_pair): Removed.
1101	(c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
1102	add location_t * and tree * arguments, fill in array of 3
1103	sizeof_arg trees and corresponding locs.
1104	(c_parser_attributes, c_parser_objc_keywordexpr): Adjust
1105	c_parser_expr_list callers.
1106	(c_parser_postfix_expression_after_primary): Likewise.  Pass
1107	array of 3 sizeof_arg trees and locs (corresponding to first
1108	3 arguments) to sizeof_pointer_memaccess_warning.
1109
11102012-10-09  Lawrence Crowl  <crowl@google.com>
1111
1112	* Make-lang.in (c-decl.o): Add dependence on hash-table.h.
1113	* c-decl.c (detect_field_duplicates_hash): Change to new type-safe
1114	hash table.
1115
11162012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
1117
1118	PR c++/54194
1119	* c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
1120	call.
1121
11222012-10-09  Marc Glisse  <marc.glisse@inria.fr>
1123
1124	PR c++/54427
1125	* c-typeck.c: Include c-common.h.
1126	(enum stv_conv): Moved to c-common.h.
1127	(scalar_to_vector): Moved to c-common.c.
1128	(build_binary_op): Adapt to scalar_to_vector's new prototype.
1129	* Make-lang.in: c-typeck.c depends on c-common.h.
1130
11312012-10-04  Arnaud Charlet  <charlet@adacore.com>
1132
1133	* c-decl.c (c_write_global_declarations): Fix handling of
1134	-fdump-ada-spec*.
1135
11362012-09-30  Sharad Singhai  <singhai@google.com>
1137
1138	* c-decl.c (c_write_global_declarations): Use a different method
1139	to determine if the dump has ben initialized.
1140
11412012-09-14  Joseph Myers  <joseph@codesourcery.com>
1142
1143	PR c/54552
1144	* c-typeck.c (c_cast_expr): When casting to a type requiring
1145	C_MAYBE_CONST_EXPR to be created, pass the inner expression to
1146	c_fully_fold first.
1147
11482012-09-14  Joseph Myers  <joseph@codesourcery.com>
1149
1150	PR c/54103
1151	* c-typeck.c (build_unary_op): Pass original argument of
1152	TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
1153	any C_MAYBE_CONST_EXPR, if it has integer operands.
1154	(build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
1155	TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
1156	to c_objc_common_truthvalue_conversion, then remove any
1157	C_MAYBE_CONST_EXPR, if they have integer operands.  Use
1158	c_objc_common_truthvalue_conversion not
1159	c_common_truthvalue_conversion.
1160	(c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
1161	call note_integer_operands for arguments with integer operands
1162	that are not integer constants.
1163
11642012-09-13  Jakub Jelinek  <jakub@redhat.com>
1165
1166	PR c/54559
1167	* c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
1168	COMPLEX_TYPE with in_late_binary_op set temporarily to true.
1169
11702012-08-31  Jakub Jelinek  <jakub@redhat.com>
1171
1172	PR c/54428
1173	* c-convert.c (convert): Don't call fold_convert_loc if
1174	TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
1175	is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
1176	COMPLEX_TYPE -> COMPLEX_TYPE conversion.
1177
11782012-08-24  Jakub Jelinek  <jakub@redhat.com>
1179
1180	PR c/54355
1181	* c-decl.c (c_parser_label): Pass true as nested and fix up comments
1182	for nested and empty_ok arguments in the call to
1183	c_parser_declaration_or_fndef.
1184
11852012-08-17  Jakub Jelinek  <jakub@redhat.com>
1186
1187	* c-tree.h (c_last_sizeof_arg): Declare.
1188	* c-parser.c (struct c_tree_loc_pair): New type.
1189	(c_parser_expr_list): Add sizeof_arg argument.  Fill it in if
1190	non-NULL.
1191	(c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
1192	(c_parser_postfix_expression_after_primary): Likewise.  Call
1193	sizeof_pointer_memaccess_warning if needed.
1194	(sizeof_ptr_memacc_comptypes): New function.
1195	* c-typeck.c (c_last_sizeof_arg): New global variable.
1196	(c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
1197
11982012-07-24  Uros Bizjak  <ubizjak@gmail.com>
1199
1200	* c-lang.h (lang_decl): Add variable_size GTY option.
1201
12022012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
1203
1204	* c-decl.c: Include dumpfile.h instead of tree-dump.h.
1205	* Make-lang.in: Fix dependencies.
1206
12072012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
1208
1209	* Make-lang.in: New file, rules migrated from gcc/Makefile.in
1210	and add language Makefile hooks.
1211	* config-lang.in: New file.
1212	* c-config-lang.in: Moved from gcc/config-lang.in to here, and
1213	add the required "normal" config-lang.in rules.
1214	* c-lang.h: Moved from gcc/ to here.
1215	* c-tree.h: Likewise.
1216	* c-objc-common.c: Likewise.
1217	* c-objc-common.h: Likewise.
1218	* c-typeck.c: Likewise.
1219	* c-convert.c: Likewise.
1220	* c-lang.c: Likewise.
1221	* c-aux-info.c: Likewise.
1222	* c-errors.c: Likewise.
1223	* gccspec.c: Likewise.
1224	* c-decl.c: Likewise.  Include gt-c-c-decl.h, not gt-c-decl.h.
1225	* c-parser.c: Likewise.  Include gt-c-c-parser.h, not gt-c-parser.h.
1226
1227Copyright (C) 2012-2014 Free Software Foundation, Inc.
1228
1229Copying and distribution of this file, with or without modification,
1230are permitted in any medium without royalty provided the copyright
1231notice and this notice are preserved.
1232