12014-10-30  Release Manager
2
3	* GCC 4.9.2 released.
4
52014-10-10  Jakub Jelinek  <jakub@redhat.com>
6
7	PR c/63495
8	* c-common.c (min_align_of_type): Don't decrease alignment
9	through BIGGEST_FIELD_ALIGNMENT or ADJUST_FIELD_ALIGN if
10	TYPE_USER_ALIGN is set.
11
122014-10-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
13
14	Implement SD-6: SG10 Feature Test Recommendations
15	* c-cppbuiltin.c (c_cpp_builtins()): Define language feature
16	macros and the __has_header macro.
17
182014-08-12  Igor Zamyatin  <igor.zamyatin@intel.com>
19
20	PR other/61962
21	* array-notation-common.c (find_rank): Added handling for other
22	types of references.
23
242014-08-01  Igor Zamyatin  <igor.zamyatin@intel.com>
25
26	PR middle-end/61455
27	* array-notation-common.c (extract_array_notation_exprs): Handling
28	of DECL_EXPR added.
29
302014-07-17  Richard Biener  <rguenther@suse.de>
31
32	Backport from mainline
33	2014-07-09  Richard Biener  <rguenther@suse.de>
34
35	PR c-family/61741
36	* c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
37	using unsigned arithmetic if overflow does not wrap instead of
38	if overflow is undefined.
39
402014-07-16  Release Manager
41
42	* GCC 4.9.1 released.
43
442014-06-30  Jakub Jelinek  <jakub@redhat.com>
45
46	Backported from mainline
47	2014-06-10  Jakub Jelinek  <jakub@redhat.com>
48
49	PR fortran/60928
50	* c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
51	(omp_pragmas): ... back here.
52
532014-06-12  Jakub Jelinek  <jakub@redhat.com>
54
55	PR middle-end/61486
56	* c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
57	#pragma omp target teams or
58	#pragma omp {,target }teams distribute simd.
59
602014-06-04  Marek Polacek  <polacek@redhat.com>
61
62	Backport from mainline
63	2014-05-08  Marek Polacek  <polacek@redhat.com>
64
65	PR c/61053
66	* c-common.c (min_align_of_type): New function factored out from...
67	(c_sizeof_or_alignof_type): ...here.
68	* c-common.h (min_align_of_type): Declare.
69
702014-05-06  Richard Biener  <rguenther@suse.de>
71
72	* c-opts.c (c_common_post_options): For -freestanding,
73	-fno-hosted and -fno-builtin disable pattern recognition
74	if not enabled explicitely.
75
762014-04-22  Richard Biener  <rguenther@suse.de>
77
78	Backport from mainline
79	2014-04-14  Richard Biener  <rguenther@suse.de>
80		Marc Glisse  <marc.glisse@inria.fr>
81
82	PR c/60819
83	* c-common.c (convert_vector_to_pointer_for_subscript): Properly
84	apply may-alias the scalar pointer type when applicable.
85
862014-04-22  Release Manager
87
88	* GCC 4.9.0 released.
89
902014-04-15  Igor Zamyatin  <igor.zamyatin@intel.com>
91
92	PR middle-end/60467
93	* cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
94	as possible argument for Cilk_spawn.
95
962014-04-08  Marek Polacek  <polacek@redhat.com>
97
98	PR sanitizer/60745
99	* c-ubsan.c: Include asan.h.
100	(ubsan_instrument_return): Call initialize_sanitizer_builtins.
101
1022014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
103
104	* c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
105
1062014-04-02  Marek Polacek  <polacek@redhat.com>
107
108	* c-common.h (c_expand_expr): Remove declaration.
109
1102014-03-28  Jakub Jelinek  <jakub@redhat.com>
111
112	PR c++/60689
113	* c-common.c (add_atomic_size_parameter): When creating new
114	params vector, push the size argument first.
115
1162014-03-26  Jakub Jelinek  <jakub@redhat.com>
117
118	* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
119	ubsan_instrument_vla, ubsan_instrument_return): Adjust
120	ubsan_create_data callers.
121
1222014-03-22  Jakub Jelinek  <jakub@redhat.com>
123
124	PR debug/60603
125	* c-opts.c (c_finish_options): Restore cb_file_change call to
126	<built-in>.
127
1282014-03-13  Jakub Jelinek  <jakub@redhat.com>
129
130	PR middle-end/36282
131	* c-pragma.c (apply_pragma_weak): Only look at
132	TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
133	DECL_ASSEMBLER_NAME_SET_P (decl).
134	(maybe_apply_pending_pragma_weaks): Exit early if
135	vec_safe_is_empty (pending_weaks) rather than only when
136	!pending_weaks.
137	(maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
138	set assembler name back to NULL afterwards.
139
1402014-03-11  Jason Merrill  <jason@redhat.com>
141
142	* c.opt: Add -std=gnu++14.
143
1442014-03-11  Ian Bolton  <ian.bolton@arm.com>
145
146	* c-opts.c (c_common_post_options): Don't override
147	-ffp-contract=fast if unsafe-math-optimizations is on.
148
1492014-03-08  Paulo Matos  <paulo@matos-sorge.com>
150
151    * c.opt: Enable LTO FE for fshort-double.
152
1532014-03-07  Jason Merrill  <jason@redhat.com>
154
155	* c.opt: Add -std=c++14.
156
1572014-03-06  Marek Polacek  <polacek@redhat.com>
158
159	PR c/60197
160	* cilk.c (contains_cilk_spawn_stmt): New function.
161	(contains_cilk_spawn_stmt_walker): Likewise.
162	(recognize_spawn): Give error on invalid use of _Cilk_spawn.
163	* c-common.h (contains_cilk_spawn_stmt): Add declaration.
164
1652014-03-03  Jakub Jelinek  <jakub@redhat.com>
166
167	* c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
168	(init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
169	even when flag_preprocess_only.
170
1712014-02-26  Jason Merrill  <jason@redhat.com>
172
173	PR c++/59231
174	PR c++/11586
175	* c-common.c (shorten_compare): Don't check
176	c_inhibit_evaluation_warnings.
177
1782014-02-19  Jakub Jelinek  <jakub@redhat.com>
179
180	PR c/37743
181	* c-common.c (c_common_nodes_and_builtins): When initializing
182	c_uint{16,32,64}_type_node, also set corresponding
183	uint{16,32,64}_type_node to the same value.
184
185	PR c++/60267
186	* c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
187	for PRAGMA_IVDEP if flag_preprocess_only.
188
1892014-02-12  Jakub Jelinek  <jakub@redhat.com>
190
191	PR c/60101
192	* c-common.c (merge_tlist): If copy is true, call new_tlist,
193	if false, add ADD itself, rather than vice versa.
194	(verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
195	copy.  For SAVE_EXPR, only call merge_tlist once.
196
1972014-02-08  Jakub Jelinek  <jakub@redhat.com>
198
199	PR middle-end/60092
200	* c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
201	and tree_to_uhwi.
202	(handle_alloc_align_attribute, handle_assume_aligned_attribute): New
203	functions.
204	(c_common_attribute_table): Add alloc_align and assume_aligned
205	attributes.
206
2072014-02-06  Marek Polacek  <polacek@redhat.com>
208
209	PR c/60087
210	* c-common.c (warn_for_sign_compare): Call warning_at with location
211	instead of warning.
212
2132014-02-05  Marek Polacek  <polacek@redhat.com>
214
215	PR c/53123
216	* c-omp.c (c_finish_omp_atomic): Remove unreachable return
217	statement.
218
2192014-02-04  Marek Polacek  <polacek@redhat.com>
220
221	PR c/60036
222	* c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
223	SAVE_EXPR.
224
2252014-02-03  Marc Glisse  <marc.glisse@inria.fr>
226
227	PR c++/53017
228	PR c++/59211
229	* c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
230	handle_vector_size_attribute, handle_nonnull_attribute): Call
231	default_conversion on the attribute argument.
232	(handle_nonnull_attribute): Increment the argument number.
233
2342014-01-31  Marek Polacek  <polacek@redhat.com>
235
236	PR c/59963
237	* c-common.c (add_atomic_size_parameter): Pass vNULL to
238	build_function_call_vec.
239	(resolve_overloaded_builtin): Likewise.
240	* c-common.h (build_function_call_vec): Adjust declaration.
241
2422014-01-30  Marek Polacek  <polacek@redhat.com>
243
244	PR c/59940
245	* c-common.h (unsafe_conversion_p): Adjust declaration.
246	(warnings_for_convert_and_check): Likewise.
247	(convert_and_check): Likewise.
248	* c-common.c (unsafe_conversion_p): Add location parameter.  Call
249	expansion_point_location_if_in_system_header on it.
250	(warnings_for_convert_and_check): Add location parameter.  Call
251	expansion_point_location_if_in_system_header on it.  Use it.
252	(convert_and_check): Add location parameter.  Use it.
253	(conversion_warning): Likewise.
254	(c_add_case_label): Adjust convert_and_check calls.
255	(scalar_to_vector): Adjust unsafe_conversion_p calls.
256
2572014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
258
259	* c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
260	flag_cilkplus.
261	* c-pragma.c (init_pragma): Likewise.
262	* c.opt: Likewise.
263
2642014-01-23  Marek Polacek  <polacek@redhat.com>
265
266	PR c/59846
267	* c-common.c (shorten_compare): Add location_t parameter.
268	* c-common.h (shorten_binary_op): Adjust declaration.
269
2702014-01-23  Marek Polacek  <polacek@redhat.com>
271
272	PR c/58346
273	* c-common.c (pointer_to_zero_sized_aggr_p): New function.
274	* c-common.h: Declare it.
275
2762014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
277
278	* c-ada-spec.h (dump_ada_specs): Revert prototype change.
279	* c-ada-spec.c (dump_ads): Likewise.
280	(cpp_check): Likewise.
281	(dump_ada_specs): Likewise.
282
2832014-01-15  Laurent Alfonsi  <laurent.alfonsi@st.com>
284
285	PR c++/49718
286	* c-common.c (handle_no_instrument_function_attribute): Allow
287	no_instrument_function attribute in class member
288	definition/declaration.
289
2902014-01-15  Jakub Jelinek  <jakub@redhat.com>
291
292	PR c/58943
293	* c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
294	build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
295	being COMPOUND_EXPR.
296	(c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
297	operand a SAVE_EXPR and second MODIFY_EXPR.
298
2992014-01-09  Jakub Jelinek  <jakub@redhat.com>
300
301	PR target/58115
302	* c-pch.c (c_common_write_pch): Call
303	prepare_target_option_nodes_for_pch.
304
3052014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
306
307	Update copyright years
308
3092014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
310
311	* array-notation-common.c, c-cilkplus.c: Use the standard form for
312	the copyright notice.
313
3142013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
315
316	* c-ada-spec.c (print_constructor): New function.
317	(print_destructor): Retrieve the origin of the destructor.
318	(print_ada_declaration): Revamp handling of constructors/destructors.
319
3202013-12-23  Stuart Hastings <stuart@apple.com>
321	    Bill Maddox  <maddox@google.com>
322	    Jason Merrill  <jason@redhat.com>
323
324	* c.opt: Add -fdeclone-ctor-dtor.
325	* c-opts.c (c_common_post_options): Default to on iff -Os.
326
3272013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
328
329	* c-common.c (c_common_attribute_table): Added "cilk simd function"
330	attribute.
331	* c-pragma.h (enum pragma_cilk_clause): Remove.
332	(enum pragma_omp_clause):  Added the following fields:
333	PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
334	PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
335	PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
336	PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
337	PRAGMA_CILK_CLAUSE_UNIFORM.
338
339
3402013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
341
342	* cilk.c (cilk_outline): Made this function non-static.
343	(gimplify_cilk_spawn): Removed pre_p and post_p arguments.
344	(create_cilk_wrapper): Added a new parameter: a function pointer.
345	(c_install_body_w_frame_cleanup): Remove
346	(extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
347	* c-common.h (cilk_outline): New prototype.
348	(gimplify_cilk_spawn): Removed two parameters.
349	(cilk_install_body_with_frame_cleanup): New prototype.
350	* c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
351	CILK_SPAWN_STMT case.
352
3532013-12-11  Bernd Schmidt  <bernds@codesourcery.com>
354
355	* c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
356
357	* c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
358	(int_array_type_node): Remove.
359	* c-common.c (c_common_nodes_and_builtins): Don't build it.
360
3612013-12-05  Marek Polacek  <polacek@redhat.com>
362
363	PR c/52023
364	* c-common.c (c_sizeof_or_alignof_type): Move a declaration into
365	[ADJUST_FIELD_ALIGN].
366
3672013-12-04  Joseph Myers  <joseph@codesourcery.com>
368
369	PR c/52023
370	* c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
371	and check field alignment if set.
372	* c-common.h (c_sizeof_or_alignof_type): Update prototype.
373	(c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
374
3752013-12-04  Jakub Jelinek  <jakub@redhat.com>
376	    Marek Polacek  <polacek@redhat.com>
377
378	* c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
379	sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
380
3812013-11-29   H.J. Lu  <hongjiu.lu@intel.com>
382
383	PR c/59309
384	* cilk.c (gimplify_cilk_spawn): Properly handle function without
385	arguments.
386
3872013-11-29  Jakub Jelinek  <jakub@redhat.com>
388
389	PR c/59280
390	* c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
391	goto invalid.  If it is error_mark_node, don't issue further
392	diagnostics.
393
3942013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
395
396	* c.opt (Wopenmp-simd): New.
397
3982013-11-22  Jakub Jelinek  <jakub@redhat.com>
399
400	* c-ubsan.h (ubsan_instrument_return): New prototype.
401	* c-ubsan.c (ubsan_instrument_return): New function.
402
4032013-11-22  Andrew MacLeod  <amacleod@redhat.com>
404
405	* c-common.c: Add required include files from gimple.h.
406	* c-gimplify.c: Likewise
407	* cilk.c: Likewise
408
4092013-11-22  David Malcolm  <dmalcolm@redhat.com>
410
411	* c-common.c (unsafe_conversion_p): Remove use of
412	EXPR_LOC_OR_HERE macro.
413	(conversion_warning): Likewise.
414	(warnings_for_convert_and_check): Likewise.
415	(warn_for_collisions_1): Likewise.
416	(shorten_compare): Likewise, and remove use of in_system_header
417	macro, using the location from the former.
418	* c-lex.c (dump_one_header): Remove use of input_filename macro.
419	(cb_def_pragma): Remove use of in_system_header macro.
420	(lex_string): Likewise.
421	* c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
422
4232013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
424	    Mike Stump  <mikestump@comcast.net>
425	    Richard Sandiford  <rdsandiford@googlemail.com>
426
427	* c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
428	instead of TREE_INT_CST_LOW, in cases where there is a protecting
429	tree_fits_shwi_p or tree_fits_uhwi_p.
430	(dump_generic_ada_node): Likewise.
431	* c-format.c (check_format_arg): Likewise.
432	* c-pretty-print.c (pp_c_integer_constant): Likewise.
433
4342013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
435
436	* c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
437
4382013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>
439
440	PR c/53001
441	* c-common.c (unsafe_conversion_p): Make this function
442	return an enumeration with more detail.
443	(conversion_warning): Use the new return type of
444	unsafe_conversion_p to separately warn either about conversions
445	that lower floating point number precision or about the other
446	kinds of conversions.
447	* c-common.h (enum conversion_safety): New enumeration.
448 	(unsafe_conversion_p): switching return type to
449 	conversion_safety enumeration.
450	* c.opt: Adding new warning -Wfloat-conversion and
451	enabling it with -Wconversion.
452
4532013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
454
455        * c-opts.c: Include plugin.h.
456        (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
457
4582013-11-19  Marek Polacek  <polacek@redhat.com>
459
460	* c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
461	call.
462	(ubsan_instrument_shift): Likewise.
463	(ubsan_instrument_vla): Likewise.
464
4652013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
466
467	* c-common.c (convert_vector_to_pointer_for_subscript): Remove
468	cast to unsigned type.
469
4702013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
471
472	* c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
473	tree_low_cst.
474	(complete_array_type): Update comment to refer to tree_to_[su]hwi
475	rather than tree_low_cst.
476
4772013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
478
479	* c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
480	tree_to_uhwi throughout.
481
4822013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
483
484	* c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
485	tree_low_cst (..., 0) with tree_to_shwi throughout.
486
4872013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
488
489	* c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
490	host_integerp (..., 1) with tree_fits_uhwi_p throughout.
491
4922013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
493
494	* c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
495	host_integerp (..., 0) with tree_fits_shwi_p throughout.
496
4972013-11-15  Aldy Hernandez  <aldyh@redhat.com>
498
499	* c-cilkplus.c: New file.
500	* c-common.c (readonly_error): Add location argument.
501	* c-common.h (readonly_error): Same.
502	(c_finish_cilk_clauses): Protoize.
503	(c_check_cilk_loop): Same.
504	c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
505	Do not fail on error_mark_node.
506	Abstract increment canonicalization to here...
507	(c_omp_for_incr_canonicalize_ptr): New.
508	c-pragma.c (init_pragma): Register "simd" pragma.
509	c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
510	(enum pragma_cilk_clause): New.
511
5122013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
513
514	* c-pretty-print.c (pp_c_character_constant): Remove unnecessary
515	wchar_type and host_integerp checks.
516
5172013-11-14  Andrew MacLeod  <amacleod@redhat.com>
518
519	* c-common.c: Likewise.
520	* c-gimplify.c: Likewise.
521	* cilk.c: Likewise.
522
5232013-11-14  Diego Novillo  <dnovillo@google.com>
524
525	* c-common.c: Include fold-const.h.
526	Include stor-layout.h.
527	Include calls.h.
528	Include stringpool.h.
529	Include attribs.h.
530	Include varasm.h.
531	Include trans-mem.h.
532	* c-cppbuiltin.c: Include stor-layout.h.
533	Include stringpool.h.
534	* c-format.c: Include stringpool.h.
535	* c-lex.c: Include stringpool.h.
536	Include stor-layout.h.
537	* c-pragma.c: Include stringpool.h.
538	Include attribs.h.
539	Include varasm.h.
540	Include gcc-symtab.h.
541	* c-pretty-print.c: Include stor-layout.h.
542	Include attribs.h.
543	* cilk.c: Include stringpool.h.
544	Include calls.h.
545
5462013-11-13  Joseph Myers  <joseph@codesourcery.com>
547
548	* c-common.h (enum rid): Add RID_AUTO_TYPE.
549	* c-common.c (c_common_reswords): Add __auto_type.
550	(keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
551
5522013-11-12  Andrew MacLeod  <amacleod@redhat.com>
553
554	* c-common.c: Include gimplify.h.
555	* c-gimplify.c: Likewise.
556	* cilk.c: Likewise.
557	* c-omp.c: Include gimple-expr.h instead of gimple.h.
558	* c-ubsan.c: Don't include gimple.h.
559
5602013-11-12  Joseph Myers  <joseph@codesourcery.com>
561
562	* c-common.c (c_common_reswords): Add _Thread_local.
563
5642013-11-09  Joseph Myers  <joseph@codesourcery.com>
565
566	* c-common.c (atomic_size_supported_p): New function.
567	(resolve_overloaded_atomic_exchange)
568	(resolve_overloaded_atomic_compare_exchange)
569	(resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
570	Use it instead of comparing size with a local list of sizes.
571
5722013-11-07  Andrew MacLeod  <amacleod@redhat.com>
573	    Joseph Myers  <joseph@codesourcery.com>
574
575	* c-common.h (enum rid): Add RID_ATOMIC.
576	* c-common.c (c_common_reswords): Add _Atomic.
577	(sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
578	(keyword_is_type_qualifier): Accept RID_ATOMIC.
579	* c-format.c (check_format_types): Check for extra _Atomic
580	qualifiers in format argument.
581	* c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
582	(pp_c_type_qualifier_list): Mention _Atomic in comment.
583
5842013-11-06  Tobias Burnus  <burnus@net-b.de>
585
586	* c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
587
5882013-11-06  Joseph Myers  <joseph@codesourcery.com>
589
590	* c-opts.c (c_common_post_options): Set -ffp-contract=off in C
591	standards modes.
592	* c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
593	to mean lack of IEEE 754 support.
594
5952013-11-05  Tobias Burnus  <burnus@net-b.de>
596
597	* c.opt (-Wdate-time): New option
598	* c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
599
6002013-11-05  Joseph Myers  <joseph@codesourcery.com>
601
602	* c-cppbuiltin.c (cpp_iec_559_value): Test
603	flag_excess_precision_cmdline not flag_excess_precision.
604
6052013-11-05  Tobias Burnus  <burnus@net-b.de>
606
607	* c.opt (fopenmp-simd): New option.
608	* c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
609	(omp_pragmas): ... this new struct.
610	(c_pp_lookup_pragma): Also walk omp_pragmas.
611	(init_pragma): Init pragmas for -fopenmp-simd.
612
6132013-11-04  Marek Polacek  <polacek@redhat.com>
614
615	PR c++/58979
616	* c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
617
6182013-11-04  Joseph Myers  <joseph@codesourcery.com>
619
620	* c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
621	New functions.
622	(c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
623
6242013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
625
626	* c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
627	(dump_ada_specs): Adjust prototype of second callback.
628	* c-ada-spec.c (cpp_check): New global variable.
629	(dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
630	(print_generic_ada_decl): Likewise.
631	(has_static_fields): Change return type to bool and add guard.
632	(has_nontrivial_methods): New predicate.
633	(is_tagged_type): Change return type to bool.
634	(separate_class_package): Call has_nontrivial_methods.
635	(pp_ada_tree_identifier): Minor tweaks.
636	(dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
637	(dump_ada_array_domains): Likewise.
638	(dump_ada_array_type): Likewise.
639	(dump_template_types): Remove cpp_check parameter and do not pass it to
640	dump_generic_ada_node.
641	(dump_ada_template): Likewise.
642	(dump_generic_ada_node): Remove cpp_check parameter and do not pass it
643	recursively.
644	(print_ada_methods): Change return type to integer.  Remove cpp_check
645	parameter and do not pass it down.
646	(dump_nested_types): Remove cpp_check parameter and do not pass it to
647	dump_generic_ada_node.
648	(print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
649	accessing methods.
650	(print_ada_struct_decl): Remove cpp_check parameter and do not pass it
651	down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
652	value of print_ada_methods.
653	(dump_ads): Rename cpp_check parameter to check and adjust prototype.
654	Set cpp_check to it before invoking dump_ada_nodes.
655	(dump_ada_specs): Likewise.
656
6572013-11-03  Marek Polacek  <polacek@redhat.com>
658
659	* c-ubsan.c: Don't include hash-table.h.
660	(ubsan_instrument_vla): New function.
661	* c-ubsan.h: Declare it.
662
6632013-10-31  David Malcolm  <dmalcolm@redhat.com>
664
665	Automated part of renaming of symtab_node_base to symtab_node.
666
667	Patch autogenerated by rename_symtab.py from
668	https://github.com/davidmalcolm/gcc-refactoring-scripts
669	revision 58bb219cc090b2f4516a9297d868c245495ee622
670
671	* c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
672	symtab_node_base to symtab_node.
673
6742013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
675
676        Implement C++14 digit separators.
677	* c-lex.c (interpret_float): Remove digit separators from scratch string
678	before building real literal.
679
6802013-10-30  Jakub Jelinek  <jakub@redhat.com>
681
682	* cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
683
6842013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
685
686	* c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
687	fields.
688	(c_define_builtins): Called cilk_init_builtins if Cilk Plus is
689	enabled.
690	* c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
691	(insert_cilk_frame): New prototype.
692	(cilk_init_builtins): Likewise.
693	(gimplify_cilk_spawn): Likewise.
694	(c_cilk_install_body_w_frame_cleanup): Likewise.
695	(cilk_detect_spawn_and_unwrap): Likewise.
696	(cilk_set_spawn_marker): Likewise.
697	(build_cilk_sync): Likewise.
698	(build_cilk_spawn): Likewise.
699	* cilk.c: New file.
700
7012013-10-29  David Malcolm  <dmalcolm@redhat.com>
702
703	Patch autogenerated by refactor_symtab.py from
704	https://github.com/davidmalcolm/gcc-refactoring-scripts
705	revision 58bb219cc090b2f4516a9297d868c245495ee622
706
707	* c-gimplify.c (c_genericize): Update for conversion of symtab types
708	to a true class hierarchy.
709	* c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
710
7112013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
712
713	* c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
714
7152013-10-26  Jeff Law  <law@redhat.com>
716
717	* c-family/c-common.c (c_define_builtins): Remove mudflap support.
718	* c-family/c.opt: Ignore and warn for mudflap options.
719
7202013-10-24  Tobias Burnus  <burnus@net-b.de>
721
722	PR other/33426
723	* c-pragma.c (init_pragma) Add #pragma ivdep handling.
724	* c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
725
7262013-10-23  Jason Merrill  <jason@redhat.com>
727
728	* c-format.c (gcc_cxxdiag_char_table): Add %X.
729
7302013-10-11  Jakub Jelinek  <jakub@redhat.com>
731
732	* c-common.h (omp_clause_mask::operator !=): New method.
733	* c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
734	instead of if (mask & something) tests everywhere.
735
736	* c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
737	201307 instead of 201107.
738	* c-common.c (DEF_FUNCTION_TYPE_8): Define.
739	(c_common_attribute_table): Add "omp declare target" and
740	"omp declare simd" attributes.
741	(handle_omp_declare_target_attribute,
742	handle_omp_declare_simd_attribute): New functions.
743	* c-omp.c: Include c-pragma.h.
744	(c_finish_omp_taskgroup): New function.
745	(c_finish_omp_atomic): Add swapped argument, if true,
746	build the operation first with rhs, lhs arguments and use NOP_EXPR
747	build_modify_expr.
748	(c_finish_omp_for): Add code argument, pass it down to make_code.
749	(c_omp_split_clauses): New function.
750	(c_split_parallel_clauses): Removed.
751	(c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
752	c_omp_declare_simd_clauses_to_decls): New functions.
753	* c-common.h (omp_clause_mask): New type.
754	(OMP_CLAUSE_MASK_1): Define.
755	(omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
756	omp_clause_mask::operator |=, omp_clause_mask::operator ~,
757	omp_clause_mask::operator |, omp_clause_mask::operator &,
758	omp_clause_mask::operator <<, omp_clause_mask::operator >>,
759	omp_clause_mask::operator ==): New methods.
760	(enum c_omp_clause_split): New.
761	(c_finish_omp_taskgroup): New prototype.
762	(c_finish_omp_atomic): Add swapped argument.
763	(c_finish_omp_for): Add code argument.
764	(c_omp_split_clauses): New prototype.
765	(c_split_parallel_clauses): Removed.
766	(c_omp_declare_simd_clauses_to_numbers,
767	c_omp_declare_simd_clauses_to_decls): New prototypes.
768	* c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
769	* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
770	PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
771	PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
772	PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
773	Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
774	(enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
775	PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
776	PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
777	PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
778	PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
779	PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
780	PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
781	PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
782	PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
783	PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
784	PRAGMA_OMP_CLAUSE_UNIFORM.
785
7862013-10-09  Marc Glisse  <marc.glisse@inria.fr>
787
788	PR tree-optimization/20318
789	* c-common.c (handle_returns_nonnull_attribute): New function.
790	(c_common_attribute_table): Add returns_nonnull.
791
7922013-10-03  Marc Glisse  <marc.glisse@inria.fr>
793
794	PR c++/19476
795	* c.opt (fcheck-new): Move to common.opt.
796
7972013-09-25  Marek Polacek  <polacek@redhat.com>
798	    Jakub Jelinek  <jakub@redhat.com>
799
800	PR sanitizer/58413
801	* c-ubsan.c (ubsan_instrument_shift): Don't instrument
802	an expression if we can prove it is correct.
803	(ubsan_instrument_division): Likewise.  Remove unnecessary
804	check.
805
8062013-09-18  Marek Polacek  <polacek@redhat.com>
807
808	PR sanitizer/58411
809	* c-common.c (handle_no_sanitize_undefined_attribute): New function.
810	Declare it.
811	(struct attribute_spec c_common_att): Add no_sanitize_undefined.
812
8132013-09-14  Iain Sandoe  <iain@codesourcery.com>
814
815	PR target/48094
816	* c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
817	fobjc-gc, freplace-objc-classes): Accept for LTO.
818
8192013-09-13  Jacek Caban  <jacek@codeweavers.com>
820
821	* c-target.def: New hook
822
8232013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
824
825	PR c++/43452
826	* c.opt (Wdelete-incomplete): Add.
827
8282013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
829
830	* c-common.c (same_scalar_type_ignoring_signedness): Delete.
831	(vector_types_compatible_elements_p): New function.
832	* c-common.h: (same_scalar_type_ignoring_signedness): Delete
833	declaration.
834	(vector_types_compatible_elements_p): Declare.
835
8362013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
837
838	* c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
839	a virtual member function.
840	(pp_simple_type_specifier): Remove.
841	(pp_c_type_specifier): Likewise.
842	* c-pretty-print.c (c_pretty_printer::simple_type_specifier):
843	Rename from pp_c_type_specifier.  Adjust.
844	(c_pretty_printer::c_pretty_printer): Do not assign to
845	simple_type_specifier.
846
8472013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
848
849	* c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
850	member function.
851	(c_pretty_printer::storage_class_specifier): Likewise.
852	(c_pretty_printer::initializer): Likewise.
853	(pp_declaration): Remove.
854	(pp_declaration_specifiers): Likewise.
855	(pp_abstract_declarator): Likewise.
856	(pp_declarator): Likewise.
857	(pp_type_id): Likewise.
858	(pp_statement): Likewise.
859	(pp_constant): Likewise.
860	(pp_id_expression): Likewise.
861	(pp_primary_expression): Likewise.
862	(pp_unary_expression): Likewise.
863	(pp_multiplicative_expression): Likewise.
864	(pp_conditional_expression): Likewise.
865	(pp_assignment_expression): Likewise.
866	(pp_expression): Likewise.
867	(pp_c_type_id): Likewise.
868	(pp_c_storage_class_specifier): Likewise.
869	* c-pretty-print.c (pp_c_type_cast): Tidy.
870	(pp_c_pointer): Likewise.
871	(pp_c_type_specifier): Likewise.
872	(pp_c_parameter_type_list): Likewise.
873	(pp_c_function_definition): Likewise.
874	(pp_c_init_declarator): Likewise.
875	(pp_c_initializer_list): Likewise.
876	(pp_c_constructor_elts): Likewise.
877	(c_pretty_printer::direct_abstract_declarator): Likewise.
878	(c_pretty_printer::declaration_specifiers): Likewise.
879	(c_pretty_printer::primary_expression): Likewise.
880	(c_pretty_printer::postfix_expression): Likewise.
881	(c_pretty_printer::type_id): Rename from pp_c_type_id.
882	(c_pretty_printer::storage_class_specifier): Rename from
883	pp_c_storage_class_specifier.
884	(c_pretty_printer::initializer): Rename from pp_c_initializer.
885	(c_pretty_printer::c_pretty_printer): Do not assign to type_id,
886	storage_class_specifier, initializer, offset_list, flags.
887
8882013-08-30  Marek Polacek  <polacek@redhat.com>
889
890	* c-ubsan.c: New file.
891	* c-ubsan.h: New file.
892
8932013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
894
895	* c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
896	member function.
897	(c_pretty_printer::declaration_specifiers): Likewise.
898	(c_pretty_printer::declarator): Likewise.
899	(c_pretty_printer::abstract_declarator): Likewise.
900	(c_pretty_printer::direct_abstract_declarator): Likewise.
901	(c_pretty_printer::direct_declarator): Likewise.
902	(c_pretty_printer::function_specifier): Likewise.
903	(pp_declaration): Adjust.
904	(pp_declaration_specifiers): Likewise.
905	(pp_abstract_declarator): Likewise.
906	(pp_direct_declarator): Likewise.
907	(pp_function_specifier): Likewise.
908	(pp_direct_abstract_declarator): Remove as unused.
909	(pp_c_declaration): Remove.
910	(pp_c_declaration_specifiers): Likewise.
911	(pp_c_declarator): Likewise.
912	(pp_c_direct_declarator): Likewise.
913	(pp_c_function_specifier): Likewise.
914	(pp_c_direct_abstract_declarator): Likewise.
915	* c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
916	from pp_c_abstract_declarator.  Adjust.
917	(c_pretty_printer::direct_abstract_declarator):  Rename from
918	pp_c_direct_abstract_declarator.  Adjust.
919	(c_pretty_printer::function_specifier): Rename from
920	pp_c_function_specifier.  Adjust.
921	(c_pretty_printer::declaration_specifiers): Rename from
922	pp_c_declaration_specifiers.  Adjust.
923	(c_pretty_printer::direct_declarator): Rename from
924	pp_c_direct_declarator.  Adjust.
925	(c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
926	(c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
927	(c_pretty_printer::c_pretty_printer): Do not assign to
928	declaration, declaration_specifiers, declarator,
929	direct_declarator, direct_abstract_declarator, function_specifier.
930
9312013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
932
933	* c-pretty-print.h (c_pretty_printer::unary_expression): Now a
934	virtual member function.
935	(c_pretty_printer::multiplicative_expression): Likewise.
936	(c_pretty_printer::conditional_expression): Likewise.
937	(c_pretty_printer::assignment_expression): Likewise.
938	(c_pretty_printer::expression): Likewise.
939	(pp_unary_expression): Adjust.
940	(pp_multiplicative_expression): Likewise.
941	(pp_assignment_expression): Likewise.
942	(pp_conditional_expression): Likewise.
943	(pp_expression): Likewise.
944	* c-pretty-print.c (c_pretty_printer::unary_expression): Rename
945	from pp_c_unary_expression.  Adjust.
946	(c_pretty_printer::multiplicative_expression): Rename from
947	pp_c_multiplicative_expression.  Adjust.
948	(c_pretty_printer::conditional_expression): Rename from
949	pp_c_conditional_expression.  Adjust.
950	(c_pretty_printer::assignment_expression): Rename from
951	pp_c_assignment_expression.  Adjust.
952	(c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
953	(c_pretty_printer::c_pretty_printer): Do not assign to
954	unary_expression, multiplicative_expression,
955	conditional_expression, expression.
956
9572013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
958
959	* c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
960	virtual member function.
961	(pp_postfix_expression): Adjust.
962	(pp_c_postfix_expression): Remove.
963	* c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
964	from pp_c_postfix_expression.  Adjust.
965	(c_pretty_printer::c_pretty_printer): Do not assign to
966	postfix_expression.
967
9682013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
969
970	* c-pretty-print.h (c_pretty_printer::primary_expression): Now a
971	virtua member function.
972	(pp_primary_expression): Adjust.
973	(pp_c_primary_expression): Remove.
974	* c-pretty-print.c (c_pretty_printer::primary_expression): Rename
975	from pp_c_primary_expression.  Adjust.
976	(pp_c_initializer_list): Use pp_primary_expression.
977	(c_pretty_printer::c_pretty_printer): Do not assign to
978	primary_expression.
979
9802013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
981
982	* c-pretty-print.h (c_pretty_printer::translate_string): Declare.
983	* c-pretty-print.c (M_): Remove.
984	(c_pretty_printer::translate_string): Define.
985	(pp_c_type_specifier): Use it.
986	(pp_c_primary_expression): Likewise.
987	(pp_c_expression): Likewise.
988
9892013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
990
991	* c-pretty-print.h (c_pretty_printer::id_expression): Now a
992	virtual function.
993	(pp_c_id_expression): Remove.
994	(pp_id_expression): Adjust.
995	* c-pretty-print.c (c_pretty_printer::id_expression): Rename from
996	pp_c_id_expression.  Adjust.
997	(pp_c_postfix_expression): Use pp_id_expression.
998	(c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
999
10002013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1001
1002	* c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1003	member function.
1004	(pp_constant): Adjust.
1005	(pp_c_constant): Remove.
1006	* c-pretty-print.c (c_pretty_printer::constant): Rename from
1007	pp_c_constant.  Adjust.
1008	(pp_c_constant)
1009	(pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1010	(c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1011
10122013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1013
1014	* c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1015	(c_pretty_printer::c_pretty_printer): Declare.
1016	* c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1017	c_pretty_printer_init.  Adjust.
1018	(print_c_tree): Do not call c_pretty_printer_init.
1019	* c-ada-spec.c (dump_ads): Remove call to pp_construct.
1020
10212013-08-09  Arnaud Charlet  <charlet@adacore.com>
1022
1023	* c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1024
10252013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
1026
1027	PR c++/58080
1028	* c-common.c (pointer_int_sum): Add bool parameter.
1029	* c-common.h (pointer_int_sum): Adjust declaration.
1030
10312013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1032
1033	* c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
1034	c_pretty_printer variable.
1035
10362013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1037
1038	* c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1039	(pp_base): Remove.
1040	(pp_c_base): Likewise.  Adjust users.
1041	* c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1042	(pp_c_whitespace): Do not call pp_base.
1043	(pp_c_left_paren): Likewise.
1044	(pp_c_right_paren): Likewise.
1045	(pp_c_left_brace): Likewise.
1046	(pp_c_right_brace): Likewise.
1047	(pp_c_left_bracket): Likewise.
1048	(pp_c_right_bracket): Likewise.
1049	(pp_c_dot): Likewise.
1050	(pp_c_ampersand): Likewise.
1051	(pp_c_star): Likewise.
1052	(pp_c_arrow): Likewise.
1053	(pp_c_semicolon): Likewise.
1054	(pp_c_complement): Likewise.
1055	(pp_c_exclamation): Likewise.
1056	(pp_c_direct_declarator): Likewise.
1057	(pp_c_ws_string): Likewise.
1058	(pp_c_identifier): Likewise.
1059	(pp_c_statement): Likewise.
1060	(print_c_tree): Likewise.
1061
10622013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
1063
1064	PR c++/58072
1065	* c-common.c (c_parse_error): Catch user-defined literal tokens and
1066	provide useful error strings.
1067
10682013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1069
1070	* c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1071	printer functions instead of pp_string or operators and punctuators.
1072	(dump_generic_ada_node): Likewise.
1073	* c-pretty-print.c (pp_c_type_specifier): Likewise.
1074	(pp_c_relational_expression): Likewise.
1075	(pp_c_logical_or_expression): Likewise.
1076
10772013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1078
1079	* c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1080	functions instead of pp_character.
1081	(pp_ada_tree_identifier): Likewise.
1082	(dump_ada_double_name): Likewise.
1083	(dump_ada_function_declaration): Likewise.
1084	(dump_ada_array_domains): Likewise.
1085	(dump_template_types): Likewise.
1086	(dump_generic_ada_node): Likewise.
1087	(print_ada_declaration): Likewise.
1088	(print_ada_struct_decl): Likewise.
1089	* c-pretty-print.c (pp_c_integer_constant): Likewise.
1090
10912013-07-23  Tom Tromey  <tromey@redhat.com>
1092
1093	* c-common.h (enum rid) <RID_GENERIC>: New constant.
1094	* c-common.c (c_common_reswords): Add _Generic.
1095
10962013-07-21   Ondřej Bílka  <neleai@seznam.cz>
1097
1098	* c-common.c: Fix typos.
1099	* c-common.h: Likewise.
1100
11012013-07-13  Lubos Lunak  <l.lunak@suse.cz>
1102
1103	PR c++/55203
1104	* c-common.c (c_common_attribute_table): Add warn_unused.
1105	(handle_warn_unused_attribute): New.
1106
11072013-07-10  Jakub Jelinek  <jakub@redhat.com>
1108
1109	* c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1110	for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1111
11122013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
1113
1114	PR c++/57869
1115	* c.opt: Add Wconditionally-supported.
1116
11172013-07-08  Graham Stott  <graham.stott@btinternet.com>
1118
1119	* c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1120	unused variables l_length and l_node.
1121
11222013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
1123
1124	PR c/57821
1125	* c-common.c (complete_array_type): Delay folding first index
1126	like other indices.  When folding, check for index overflow.
1127
11282013-06-27  Marc Glisse  <marc.glisse@inria.fr>
1129
1130	PR c++/57509
1131	* c-common.h (c_build_vec_perm_expr): New complain argument.
1132	* c-common.c (c_build_vec_perm_expr): Likewise.
1133	Use save_expr also in C++.
1134
11352013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1136
1137	* c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1138	* c-cppbuiltin.c (c_cpp_builtins): Likewise.
1139	* c-opts.c (c_common_post_options): Likewise.
1140
11412013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1142
1143	* array-notation-common.c (length_mismatch_in_expr): Changed the
1144	parameter type's from a dynamic array to a vec_tree.  Also removed
1145	the size parameters.
1146	* c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1147	the change above.
1148
11492013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1150
1151	* c-common.h (struct cilkplus_an_parts): New structure.
1152	(struct cilkplus_an_loop_parts): Likewise.
1153	(cilkplus_extract_an_triplets): New prototype.
1154	(fix_sec_implicit_args): Likewise.
1155	* array-notation-common.c (cilkplus_extract_an_triplets): New function.
1156	(fix_sec_implicit_args): Likewise.
1157
11582013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1159
1160	* array-notation-common.c (find_inv_trees): Removed an unwanted
1161	typecasting.
1162	* c-common.h (struct inv_list::additional_tcodes): Changed type from
1163	enum rid to enum tree_code.
1164
11652013-06-11  Jan Hubicka  <jh@suse.cz>
1166
1167	* c-common.c (handle_alias_ifunc_attribute): Do not set
1168	DECL_EXTERNAL for weakref variables.
1169	* c-pragma.c (handle_pragma_weak): Make sure aliases
1170	are not declared as external.
1171
11722013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1173
1174	* array-notation-common.c (length_mismatch_in_expr_p): Moved this
1175	function from c/c-array-notation.c.
1176	(is_cilkplus_reduce_builtin): Likewise.
1177	(find_rank): Likewise.
1178	(extract_array_notation_exprs): Likewise.
1179	(replace_array_notations): Likewise.
1180	(find_inv_trees): Likewise.
1181	(replace_inv_trees): Likewise.
1182	(contains_array_notation_expr): Likewise.
1183	(find_correct_array_notation_type): Likewise.
1184	* c-common.h (struct inv_list): Moved this struct from the file
1185	c/c-array-notation.c and added a new field called additional tcodes.
1186	(length_mismatch_in_expr_p): New prototype.
1187	(is_cilkplus_reduce_builtin): Likewise.
1188	(find_rank): Likewise.
1189	(extract_array_notation_exprs): Likewise.
1190	(replace_array_notation): Likewise.
1191	(find_inv_trees): Likewise.
1192	(replace_inv_trees): Likewise.
1193	(find_correct_array_notation_type): Likewise.
1194
11952013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
1196
1197	* c-common.c (c_define_builtins): When cilkplus is enabled, the
1198	function array_notation_init_builtins is called.
1199	(c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
1200	* c-common.def (ARRAY_NOTATION_REF): New tree.
1201	* c-common.h (build_array_notation_expr): New function declaration.
1202	(build_array_notation_ref): Likewise.
1203	(extract_sec_implicit_index_arg): New extern declaration.
1204	(is_sec_implicit_index_fn): Likewise.
1205	(ARRAY_NOTATION_CHECK): New define.
1206	(ARRAY_NOTATION_ARRAY): Likewise.
1207	(ARRAY_NOTATION_START): Likewise.
1208	(ARRAY_NOTATION_LENGTH): Likewise.
1209	(ARRAY_NOTATION_STRIDE): Likewise.
1210	* c-pretty-print.c (pp_c_postifix_expression): Added a new case for
1211	ARRAY_NOTATION_REF.
1212	(pp_c_expression): Likewise.
1213	* c.opt (flag_enable_cilkplus): New flag.
1214	* array-notation-common.c: New file.
1215
12162013-05-14  Jakub Jelinek  <jakub@redhat.com>
1217
1218	PR c++/57274
1219	* c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
1220
12212013-05-10  Marc Glisse  <marc.glisse@inria.fr>
1222
1223	* c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1224	vectors.
1225
12262013-05-07  Han Shen  <shenhan@google.com>
1227
1228	* c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1229
12302013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1231
1232	* c-common.c (check_user_alignment): Emit error for negative values.
1233
12342013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1235
1236	* c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1237
12382013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1239
1240	* c-cppbuiltin.c (c_cpp_builtins): Do not define
1241	__GXX_EXPERIMENTAL_CXX1Y__.
1242
12432013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1244            Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1245
1246	* c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
1247	* c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
1248	to simply use OPT_Wpointer_arith.
1249	(c_sizeof_or_alignof_type): Likewise.
1250
12512013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1252
1253	* c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1254
12552013-04-12  Jakub Jelinek  <jakub@redhat.com>
1256
1257	* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
1258	gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
1259	specifiers.
1260
12612013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
1262
1263	* c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1264
12652013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
1266
1267	* c-common.c (pointer_int_sum): Remove dead code.
1268
12692013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
1270
1271	PR middle-end/56524
1272	* c-common.c (handle_optimize_attribute): Don't call
1273	save_optabs_if_changed.
1274
12752013-03-05  Jakub Jelinek  <jakub@redhat.com>
1276
1277	PR middle-end/56461
1278	* c-pch.c (pch_init): Free target_validity at the end.
1279
12802013-03-04  Jakub Jelinek  <jakub@redhat.com>
1281
1282	* c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1283
12842013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
1285	    Jakub Jelinek  <jakub@redhat.com>
1286
1287	PR sanitizer/56454
1288	* c-common.c (handle_no_sanitize_address_attribute): New function.
1289	(c_common_attribute_table): Add no_sanitize_address attribute.
1290	(handle_no_address_safety_analysis_attribute): Add
1291	no_sanitize_address attribute, not no_address_safety_analysis
1292	attribute.
1293
12942013-02-18  Aldy Hernandez  <aldyh@redhat.com>
1295
1296	PR target/52555
1297	* c-common.c (handle_optimize_attribute): Call
1298	save_optabs_if_changed.
1299
13002013-02-18  Jakub Jelinek  <jakub@redhat.com>
1301	    Steven Bosscher  <steven@gcc.gnu.org>
1302
1303	PR pch/54117
1304	* c-opts.c (c_common_post_options): If debug info is enabled
1305	and non-dwarf*, refuse to load PCH files and when writing PCH
1306	file warn.
1307
13082013-02-05  Jakub Jelinek  <jakub@redhat.com>
1309
1310	PR middle-end/56167
1311	* c-common.c (handle_error_attribute): Fix condition.
1312
13132013-01-30  Jakub Jelinek  <jakub@redhat.com>
1314
1315	PR c++/55742
1316	* c-common.c (handle_target_attribute): Revert 2012-12-26 change.
1317
13182013-01-18  Jason Merrill  <jason@redhat.com>
1319
1320	PR target/54908
1321	* c.opt (-fextern-tls-init): New.
1322	* c-opts.c (c_common_post_options): Handle it.
1323
13242013-01-09  Jakub Jelinek  <jakub@redhat.com>
1325
1326	PR c/48418
1327	* c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
1328	RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
1329	and is either negative or bigger or equal to type precision
1330	of the first operand.
1331
13322012-12-03  Marek Polacek  <polacek@redhat.com>
1333
1334	PR c/55570
1335	* c-common.c (check_user_alignment): Swap order of tests,
1336	check TREE_CODE first.
1337
13382012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
1339
1340	PR c++/52654
1341	* c-common.h (overflow_type): New enum.
1342	(build_userdef_literal): Add overflow_type argument.
1343	(tree_userdef_literal): Add overflow_type.
1344	(USERDEF_LITERAL_OVERFLOW): New access macro.
1345	* c-common.c (build_userdef_literal): Add overflow_type
1346	argument.
1347	* c-lex.c (c_lex_with_flags): Add overflow_type to
1348	build_userdef_literal calls.
1349	(interpret_integer, interpret_float): Add overflow_type argument.
1350
13512012-11-28  Richard Biener  <rguenther@suse.de>
1352
1353	PR c/35634
1354	* c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1355	here and use a type with proper overflow behavior for types that would
1356	need to be promoted for the arithmetic.
1357
13582012-11-23  Jakub Jelinek  <jakub@redhat.com>
1359
1360	PR sanitizer/55435
1361	* c-common.c (handle_no_address_safety_analysis_attribute): New
1362	function.
1363	(c_common_attribute_table): Add no_address_safety_analysis.
1364
13652012-11-16  Simon Baldwin  <simonb@google.com>
1366
1367	* c.opt: Add f[no-]canonical-system-headers.
1368	* c-opts.c (c_common_handle_option): Handle
1369	OPT_fcanonical_system_headers.
1370
13712012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
1372
1373	PR c++/54413
1374	* c-opts.c (c_common_handle_option): Set new flags.
1375	* c.opt: Describe new flags.
1376
13772012-11-09  Jason Merrill  <jason@redhat.com>
1378
1379	* c.opt (Wabi-tag): New.
1380
13812012-11-09  Andi Kleen  <ak@linux.intel.com>
1382
1383	PR 55139
1384	* c-common.c (get_atomic_generic_size): Mask with
1385        MEMMODEL_MASK
1386
13872012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1388
1389	PR c/53063
1390	* c.opt (Wformat): Make it Alias Wformat=1.
1391	(Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
1392	Wformat-security,Wformat-y2k,Wformat-zero-length): Use
1393	LangEnabledBy.
1394	(Wformat=): RejectNegative. Use LangEnabledBy.
1395	(Wnonnull): Use LangEnabledBy.
1396	* c-opts.c (c_common_handle_option): Do not handle Wformat here.
1397	* c-format.c (set_Wformat): Delete.
1398	(decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
1399        (maybe_read_dollar_number):  Likewise.
1400        (avoid_dollar_number):  Likewise.
1401        (finish_dollar_format_checking):  Likewise.
1402        (check_format_info):  Likewise.
1403        (check_format_info_main):  Likewise.
1404        (check_format_types):  Likewise.
1405        (format_type_warning):  Likewise.
1406        * c-common.c (int):  Likewise.
1407        (check_function_sentinel):  Likewise.
1408        * c-common.h (warn_format,set_Wformat): Do not declare here.
1409
14102012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1411
1412	PR c/53063
1413	* c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
1414	Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
1415	Use LangEnabledBy.
1416	(Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
1417	common.opt.
1418	(Wvariadic-macros): Init(1).
1419	* c-opts.c (c_common_handle_option): Do not handle them
1420	explicitly.
1421	(c_common_post_options): Likewise.
1422	(sanitize_cpp_opts): warn_unused_macros is now
1423	cpp_warn_unused_macros.
1424	(push_command_line_include): Likewise.
1425	* c-common.c (warn_unknown_pragmas): Do not define.
1426	* c-common.h (warn_unknown_pragmas): Do not declare.
1427
14282012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1429
1430	PR c/51294
1431	* c-common.c (conversion_warning): Handle conditional expressions.
1432
14332012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1434
1435	PR c++/54930
1436	* c.opt (Wreturn_local_addr): Define new option.
1437
14382012-10-25  Jason Merrill  <jason@redhat.com>
1439
1440	* c.opt (Wvirtual-move-assign): New.
1441
1442	* c.opt (Winherited-variadic-ctor): New.
1443
14442012-10-25  Marc Glisse  <marc.glisse@inria.fr>
1445
1446	PR c++/54427
1447	* c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
1448
14492012-10-23  Joseph Myers  <joseph@codesourcery.com>
1450
1451	* c-common.h (pch_cpp_save_state): Declare.
1452	* c-target.def (c_preinclude): New hook.
1453	* c-opts.c (done_preinclude): New.
1454	(push_command_line_include): Handle default preincluded header.
1455	(cb_file_change): Call pch_cpp_save_state when calling
1456	push_command_line_include.
1457	* c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
1458	(pch_cpp_save_state): New.
1459	(pch_init): Call pch_cpp_save_state conditionally, instead of
1460	calling cpp_save_state.
1461
14622012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1463
1464	PR c/53063
1465	PR c/40989
1466	* c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
1467	Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
1468	Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
1469	Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
1470	Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
1471	* c-opts.c (c_common_handle_option): Remove explicit handling from
1472	here.
1473	(c_common_post_options): Likewise.
1474
14752012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
1476
1477	* c-ada-spec.c (LOCATION_COL): Delete.
1478	(compare_location): New function.
1479	(compare_node): Use it.
1480	(compare_comment): Likewise.
1481
14822012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1483
1484	PR c/53063
1485	PR c/40989
1486	* c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
1487	* c-opts.c (c_common_handle_option): Do not set them here. Add
1488	comment.
1489	(c_common_post_options): Likewise.
1490
14912012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1492
1493	* c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
1494	(dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
1495	Remove POINTER_TYPE handling, add large unsigned handling and use
1496	ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
1497
14982012-10-12  Jakub Jelinek  <jakub@redhat.com>
1499
1500	PR c/54381
1501	* c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
1502	* c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
1503	locs and array of 3 trees instead of just single loc and single
1504	sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
1505	also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
1506	For *cmp* builtins that take two sources strings report warnings
1507	about first and second source, not about destination and source.
1508
15092012-10-12  Marc Glisse  <marc.glisse@inria.fr>
1510
1511	PR c++/53055
1512	* c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
1513
15142012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
1515
1516	* c-ada-spec.c (dump_ada_template): Bail out for template declarations
1517	declaring something coming from another file.
1518
15192012-10-10  Arnaud Charlet  <charlet@adacore.com>
1520
1521	PR ada/54845
1522	* c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1523
15242012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
1525
1526	PR c++/54194
1527	* c-common.c (warn_about_parentheses): Add location_t parameter;
1528	use EXPR_LOC_OR_LOC.
1529	* c-common.h: Update declaration.
1530
15312012-10-09  Marc Glisse  <marc.glisse@inria.fr>
1532
1533	PR c++/54427
1534	* c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
1535	more operations. Make error messages optional.
1536	* c-common.h (enum stv_conv): Moved from c-typeck.c.
1537	(scalar_to_vector): Declare.
1538
15392012-10-08  Jason Merrill  <jason@redhat.com>
1540
1541	* c-common.c (c_common_reswords): Add thread_local.
1542
15432012-10-08  Dodji Seketeli  <dodji@redhat.com>
1544
1545	PR c++/53528 C++11 attribute support
1546	* c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
1547	new functions.
1548	* c-common.c (check_cxx_fundamental_alignment_constraints): New
1549	static function.
1550	(handle_aligned_attribute): In choose strictest alignment
1551	among many.  Use new check_cxx_fundamental_alignment_constraints.
1552	(handle_transparent_union_attribute): In c++11 attribute syntax,
1553	don't look through typedefs.
1554
15552012-10-04  Arnaud Charlet  <charlet@adacore.com>
1556
1557	* c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
1558	* c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
1559	out of dumpfile.h.
1560
15612012-09-25  Dehao Chen  <dehao@google.com>
1562
1563	PR middle-end/54645
1564	* c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
1565	map when read in the pch.
1566
15672012-09-18 Arnaud Charlet  <charlet@adacore.com>
1568
1569	* c-ada-spec.c: Style fixes.
1570
15712012-09-18 Thomas Quinot  <quinot@adacore.com>
1572
1573	* c.opt (-fada-spec-parent): Define new command line switch.
1574	* c-ada-spec.c (get_ada_package): When -fada-spec-parent
1575	is specified, generate binding spec as a child of the specified unit.
1576
15772012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
1578	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
1579
1580	PR c++/53210
1581	* c.opt ([Winit-self]): Enabled by -Wall in C++.
1582
15832012-08-23  Arnaud Charlet  <charlet@adacore.com>
1584
1585	* c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
1586	for pointers, and add missing Convention C pragma.
1587	(print_ada_struct_decl): Add missing aliased keyword.
1588	(dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
1589
15902012-08-17  Jakub Jelinek  <jakub@redhat.com>
1591
1592	* c-common.c (sizeof_pointer_memaccess_warning): New function.
1593	* c.opt (-Wsizeof-pointer-memaccess): Add new option.
1594	* c-opts.c (c_common_handle_option): Enable it for -Wall.
1595	* c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
1596	* c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
1597
15982012-08-10  Richard Guenther  <rguenther@suse.de>
1599
1600	* c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1601
16022012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
1603
1604	* c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
1605	instead of separate pp_newline and pp_flush.
1606	(print_c_tree): Likewise.
1607
16082012-07-26  Richard Henderson  <rth@redhat.com>
1609
1610	* c-common.c (handle_hot_attribute): Allow labels.
1611	(handle_cold_attribute): Likewise.
1612
16132012-07-20  Jakub Jelinek  <jakub@redhat.com>
1614
1615	PR c++/28656
1616	* c-common.c (check_function_nonnull): Handle multiple nonnull
1617	attributes properly.
1618
16192012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
1620
1621	* c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
1622	* c-ada-spec.c: Likewise.
1623	* c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
1624
16252012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
1626
1627	* c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
1628	Remove code conditional on it.
1629
16302012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
1631
1632	* c-gimplify.c: Do not include basic-block.h.
1633	* c-common.c: Do not include linfuncs.h.
1634
16352012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
1636
1637	* c-common.h: Include tree.h.
1638
16392012-07-02  Jason Merrill  <jason@redhat.com>
1640
1641	PR c++/53524
1642	* c-common.c (get_priority): Call default_conversion.
1643
16442012-07-01  Uros Bizjak  <ubizjak@gmail.com>
1645
1646	* c-pch.c (c_common_write_pch): Remove unused variables.
1647
16482012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
1649
1650	* cppspec.c: Moved from gcc/ to here.
1651
16522012-06-27  Kai Tietz  <ktietz@redhat.com>
1653
1654	PR preprocessor/37215
1655	* c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1656
16572012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
1658
1659	* c-common.h (c_common_print_pch_checksum): Remove.
1660	* c-pch.c: Do not include output.h.
1661	(CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
1662	(asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
1663	(asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
1664	(struct c_pch_header): Remove.
1665	(get_ident): Update gpch version.
1666	(pch_init): Do not print executable_checksum to asm_out_file.
1667	Do not fail if there is no asm_out_file to read back from.  Set
1668	asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
1669	(c_common_write_pch): Verify that nothing was written to asm_out_file
1670	since pch_init was called.  Do not write a c_pch_header, and do not
1671	copy from asm_out_file to the PCH.
1672	(c_common_read_pch): Do not read a c_pch_header, and do not restore
1673	the content of asm_out_file from the PCH.
1674	(c_common_print_pch_checksum): Remove.
1675	* c-opts.c (c_common_init): Print out executable_checksum directly.
1676
16772012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
1678
1679	* c-target.def (objc_declare_unresolved_class_reference,
1680	objc_declare_class_definition): Add new hooks.
1681
16822012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
1683
1684	* c-lex.c: Do not include output.h.
1685	(cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
1686	Remove uses of ASM_OUTPUT_IDENT.
1687
16882012-06-15  Marc Glisse  <marc.glisse@inria.fr>
1689
1690	PR c++/51033
1691	* c-common.h (c_build_vec_perm_expr): Move decl here.
1692	* c-common.c (c_build_vec_perm_expr): Move definition
1693	here.
1694
16952012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
1696
1697	* c.opt (fconserve-space): Turn into a no-op.
1698
16992012-06-04  Sterling Augustine  <saugustine@google.com>
1700
1701	* c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
1702	* c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
1703	both the start and end of the function.
1704
17052012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
1706
1707	* c-common.c: Do not include output.h.
1708	* c-pragma.c: Likewise.
1709
17102012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
1711
1712	* error.c (dump_decl): Check pp_c_flag_gnu_v3.
1713	(decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1714	(lang_decl_name): Handle namespace decls.
1715
17162012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
1717
1718	* c-ada-spec.c: Do not include output.h.
1719	* c-semantics.c: Likewise.
1720
17212012-05-29  Joseph Myers  <joseph@codesourcery.com>
1722
1723	* c-common.c: Fix typo.
1724
17252012-05-29  Michael Matz  <matz@suse.de>
1726
1727	* c-common.h (c_expand_decl): Remove prototype.
1728
17292012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1730
1731	* c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
1732	* c-opts.c (c_common_handle_option): Remove code handling
1733	warn_missing_braces.
1734
17352012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
1736
1737	PR c++/25137
1738	* c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
1739	-Wmissing_braces.
1740
17412012-05-22  Dodji Seketeli  <dodji@redhat.com>
1742
1743	PR c++/53322
1744	* c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
1745
17462012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1747
1748	* c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
1749	* c-opts.c (c_common_handle_option): Do not handle explicitly
1750	Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
1751
17522012-05-16  Dodji Seketeli  <dodji@redhat.com>
1753
1754	PR preprocessor/7263
1755	* c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
1756	to cpp_classify_number.  For diagnostics, use the precise location
1757	instead of the global input_location.
1758
17592012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1760
1761	PR c++/11856
1762	* c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
1763
17642012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
1765
1766	* c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
1767
17682012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1769
1770	PR 53063
1771	* c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
1772	Wreorder): Use LangEnabledBy.
1773	* c-opts.c (c_common_handle_option): Do not enable them
1774	explicitly. Call lang-specific generated functions.
1775	(c_common_post_options): Do not set them here.
1776
17772012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1778
1779	* c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
1780	Wmissing-field-initializers,Wmissing-parameter-type,
1781	Wold-style-declaration,Woverride-init): Use EnabledBy.
1782	* c-opts.c (c_common_post_options): Do not set here explicitly.
1783
17842012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1785
1786	PR 53063
1787	* c-opts.c (c_common_handle_option): Use handle_generated_option
1788	to enable sub-options.
1789
17902012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
1791
1792	PR c++/53158
1793	* c-common.c (warnings_for_convert_and_check): Use warning_at.
1794
17952012-05-10  Richard Guenther  <rguenther@suse.de>
1796
1797	* c-common.c (c_sizeof_or_alignof_type): Remove assert and
1798	adjust commentary about TYPE_IS_SIZETYPE types.
1799
18002012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1801
1802	PR c++/53261
1803	* c-common.c (warn_logical_operator): Check that argument of
1804	integer_zerop is not NULL.
1805
18062012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1807
1808	PR c/43772
1809	* c-common.c (warn_logical_operator): Do not warn if either side
1810	is already true or false.
1811
18122012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1813
1814	PR c/51712
1815	* c-common.c (expr_original_type): New.
1816	(shorten_compare): Do not warn for enumeration types.
1817
18182012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1819
1820	* c.opt (fpermissive): Add Var(flag_permissive).
1821
18222012-04-30  Marc Glisse  <marc.glisse@inria.fr>
1823
1824	PR c++/51033
1825	* c-common.c (convert_vector_to_pointer_for_subscript): New function.
1826	* c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
1827
18282012-04-30  Dodji Seketeli  <dodji@redhat.com>
1829
1830	Add -Wvarargs option
1831	* c.opt (Wvarargs):  Define new option.
1832
18332012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1834
1835	* c-common.c (check_function_arguments): Replace
1836	Wmissing-format-attribute with Wsuggest-attribute=format.
1837
18382012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1839
1840	* c.opt (Wsuggest-attribute=format): New. Alias of
1841	Wmissing-format-attribute.
1842	* c-format.c (decode_format_type): Replace
1843	Wmissing-format-attribute with Wsuggest-attribute=format.
1844	(check_function_format): Likewise.
1845
18462012-04-27  Ollie Wild  <aaw@google.com>
1847
1848	* c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
1849	* c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
1850	* c.opt: Add Wliteral-suffix.
1851
18522012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1853
1854	PR c/44774
1855	* c.opt (Wpedantic): New.
1856	(pedantic): Alias Wpedantic.
1857	* c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
1858	(c_common_post_options): Likewise.
1859	(sanitize_cpp_opts): Likewise.
1860	* c-lex.c (interpret_float): Likewise.
1861	* c-format.c (check_format_types): Likewise.
1862	* c-common.c (pointer_int_sum): Likewise.
1863	(c_sizeof_or_alignof_type): Likewise.
1864	(c_add_case_label): Likewise.
1865	(c_do_switch_warnings): Likewise.
1866	* c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1867
18682012-04-15  Jason Merrill  <jason@redhat.com>
1869
1870	PR c++/52818
1871	* c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
1872	(C_STD_NAME): Distinguish between C++98 and C++11.
1873
18742012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
1875
1876	PR target/52624
1877	* c-common.h (uint16_type_node): Rename into...
1878	(c_uint16_type_node): ...this.
1879	* c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
1880	* c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
1881
18822012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1883
1884	* c-common.c (warn_if_unused_value): Move definition to here.
1885	* c-common.h (warn_if_unused_value): Move declaration to here.
1886
18872012-03-23  William Bader  <williambader@hotmail.com>
1888
1889	* c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
1890
18912012-03-20  Jason Merrill  <jason@redhat.com>
1892
1893	* c-common.h (enum cxx_dialect): Add cxx1y.
1894	* c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
1895	test.
1896	* c-cppbuiltin.c (c_cpp_builtins): Likewise.
1897	* c-opts.c (c_common_post_options): Likewise.
1898	(set_std_cxx1y): New.
1899	(c_common_handle_option): Call it.
1900	* c.opt (-std=c++1y, -std=gnu++1y): New flags.
1901
19022012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
1903
1904	PR c++/14710
1905	* c.opt ([Wuseless-cast]): Add.
1906
19072012-03-16  Richard Guenther  <rguenther@suse.de>
1908
1909	* c-pretty-print.c (pp_c_initializer_list): Adjust.
1910
19112012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1912
1913	PR c++/44783
1914	* c.opt (ftemplate-backtrace-limit) Add.
1915
19162012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1917
1918	* c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
1919	handling.
1920	* c-pragma.c (handle_pragma_extern_prefix): Remove.
1921	(init_pragma): Don't register extern_prefix.
1922
19232012-03-12  Richard Guenther  <rguenther@suse.de>
1924
1925	* c-common.c (c_common_get_narrower): Use c_common_type_for_size.
1926	(builtin_type_for_size): Likewise.
1927
19282012-02-13  Jakub Jelinek  <jakub@redhat.com>
1929
1930	PR c++/52215
1931	* c-common.c (sync_resolve_params): Don't decide whether to convert
1932	or not based on TYPE_SIZE comparison, convert whenever arg_type
1933	is unsigned INTEGER_TYPE.
1934
19352012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
1936
1937	PR c/52118
1938	* c.opt ([Wunused-local-typedefs]): Fix description.
1939
19402012-01-24  Mike Stump  <mikestump@comcast.net>
1941
1942	* c-common.c (c_common_type_for_mode): Match signed/unsigned types
1943	exactly.
1944
19452012-01-18  Richard Guenther  <rguenther@suse.de>
1946
1947	* c-opts.c (c_common_post_options): Reset LTO flags if
1948	we are about to generate a PCH.
1949
19502012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
1951
1952	PR c++/51777
1953	* c-pretty-print.c (pp_c_integer_constant): For unsigned constants
1954	use pp_unsigned_wide_integer.
1955
19562012-01-10  Richard Guenther  <rguenther@suse.de>
1957
1958	PR middle-end/51806
1959	* c-opts.c (c_common_handle_option): Move -Werror handling
1960	to language independent code.
1961
19622012-01-05  Richard Guenther  <rguenther@suse.de>
1963
1964	PR middle-end/51764
1965	* c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
1966	from common.opt.
1967
19682011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
1969
1970	PR c++/51316
1971	* c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
1972	of array types with an unknown bound.
1973
19742011-12-20  Joseph Myers  <joseph@codesourcery.com>
1975
1976	* c-common.c (flag_isoc99): Update comment to refer to C11.
1977	(flag_isoc1x): Change to flag_isoc11.
1978	* c-common.h (flag_isoc99): Update comment to refer to C11.
1979	(flag_isoc1x): Change to flag_isoc11.
1980	* c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
1981	C11.
1982	* c-opts.c (set_std_c1x): Change to set_std_c11.
1983	(c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
1984	Call set_std_c11.
1985	(set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
1986	(set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
1987	* c.opt (std=c1x): Change to std=c11.  Document as non-draft
1988	standard.
1989	(std=c1x, std=iso9899:2011): Add as aliases of std=c11.
1990	(std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
1991	(std=gnu1x): Make alias of std=gnu11.
1992
19932011-12-19  Jason Merrill  <jason@redhat.com>
1994
1995	PR c++/51228
1996	* c-common.c (handle_transparent_union_attribute): Check the first
1997	field if the type is complete.
1998
19992011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
2000
2001	PR libstdc++/51365
2002	* c-common.c (RID_IS_FINAL): Add.
2003	* c-common.h (RID_IS_FINAL): Add.
2004
20052011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
2006
2007	* c.opt (fgnu-runtime): Provide full description.
2008	(fnext-runtime): Likewise.
2009	* c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2010
20112011-11-28  Andrew MacLeod  <amacleod@redhat.com>
2012
2013	* c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
2014	predefines in one place.  Add LOCK_FREE predefines.
2015	(c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2016	new func.
2017
20182011-11-24  Andrew MacLeod  <amacleod@redhat.com>
2019
2020	PR c/51256
2021	* c-common.c (get_atomic_generic_size): Check for various error
2022	conditions
2023	(resolve_overloaded_atomic_exchange,
2024	resolve_overloaded_atomic_compare_exchange,
2025	resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2026	error_mark_node for error conditions.
2027
20282011-11-08  Richard Guenther  <rguenther@suse.de>
2029
2030	PR middle-end/51010
2031	c-family/
2032
20332011-11-07  Richard Henderson  <rth@redhat.com>
2034	    Aldy Hernandez  <aldyh@redhat.com>
2035	    Torvald Riegel  <triegel@redhat.com>
2036
2037	Merged from transactional-memory.
2038
2039	* c-common.c (handle_tm_wrap_attribute,
2040	handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2041	(struct c_common_reswords): Added __transaction* keywords.
2042	(struct c_common_attribute_table): Added transaction* and tm_regparm
2043	attributes.
2044	* c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2045	masks.
2046	(parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2047	find_tm_attribute): Declare.
2048
20492011-11-07  Jason Merrill  <jason@redhat.com>
2050
2051	PR c++/35688
2052	* c-common.c, c-common.h: Revert yesterday's changes.
2053
20542011-11-06  Jason Merrill  <jason@redhat.com>
2055
2056	PR c++/35688
2057	* c-common.c (decl_has_visibility_attr): Split out from...
2058	(c_determine_visibility): ...here.
2059	* c-common.h: Declare it.
2060
20612011-11-06  Joseph Myers  <joseph@codesourcery.com>
2062
2063	* c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2064	(c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2065	type.
2066	(check_user_alignment): New.  Split out of
2067	handle_aligned_attribute.  Disallow integer constants with
2068	noninteger types.  Conditionally allow zero.
2069	(handle_aligned_attribute): Use check_user_alignment.
2070	* c-common.h (RID_ALIGNAS, check_user_alignment): New.
2071
20722011-11-06  Andrew MacLeod  <amacleod@redhat.com>
2073	    Richard Henderson  <rth@redhat.com>
2074
2075	Merged from cxx-mem-model.
2076
2077	* c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
2078	* c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
2079	parameters that are the same type size.
2080	(get_atomic_generic_size): New.  Find size of generic
2081	atomic function parameters and do typechecking.
2082	(add_atomic_size_parameter): New.  Insert size into parameter list.
2083	(resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2084	either __atomic_exchange_n or external library call.
2085	(resolve_overloaded_atomic_compare_exchange): Restructure
2086	__atomic_compare_exchange to either _n variant or external library call.
2087	(resolve_overloaded_atomic_load): Restructure __atomic_load to either
2088	__atomic_load_n or an external library call.
2089	(resolve_overloaded_atomic_store): Restructure __atomic_store to either
2090	__atomic_store_n or an external library call.
2091	(resolve_overloaded_builtin): Handle new __atomic builtins.
2092
20932011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
2094
2095	PR c++/50608
2096	* c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2097	(fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
2098	<INDIRECT_REF>: Return the argument.
2099	<ARRAY_REF>: Remove special code for negative offset.
2100	Call fold_build_pointer_plus instead of size_binop.
2101	(fold_offsetof): Remove STOP_REF argument and adjust.
2102	* c-common.h (fold_offsetof_1): Declare.
2103	(fold_offsetof): Remove STOP_REF argument.
2104
21052011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
2106
2107	PR c++/50810
2108	* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2109	of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2110	Wnarrowing for C++0x and C++98.
2111	* c.opt ([Wnarrowing]): Update.
2112
21132011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
2114
2115	PR c++/44277
2116	* c.opt: Add Wzero-as-null-pointer-constant.
2117
21182011-10-31  Jason Merrill  <jason@redhat.com>
2119
2120	* c.opt (-fdeduce-init-list): Off by default.
2121
2122	PR c++/50920
2123	* c-common.h (cxx_dialect): Add cxx11 and cxx03.
2124	* c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2125	and -Wc++11-compat.
2126	* c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2127
21282011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
2129
2130	PR c++/30066
2131	* c.opt (fvisibility-inlines-hidden): Description change.
2132
21332011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
2134
2135	Implement C++11 user-defined literals.
2136	* c-common.c (build_userdef_literal): New.
2137	* c-common.def: New tree code.
2138	* c-common.h (tree_userdef_literal): New tree struct and accessors.
2139	* c-lex.c (interpret_float): Add suffix parm.
2140	(c_lex_with_flags): Build literal tokens.
2141
21422011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2143
2144	PR c++/50841
2145	Revert:
2146	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2147
2148	PR c++/50810
2149	* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2150	of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2151	Wnarrowing for C++0x and C++98.
2152	* c.opt ([Wnarrowing]): Update.
2153
21542011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
2155
2156	PR c++/50810
2157	* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2158	of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2159	Wnarrowing for C++0x and C++98.
2160	* c.opt ([Wnarrowing]): Update.
2161
21622011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
2163
2164	PR c++/45385
2165	* c-common.c (conversion_warning): Remove code looking for
2166	artificial operands.
2167
21682011-10-18  Dodji Seketeli  <dodji@redhat.com>
2169
2170	PR bootstrap/50760
2171	* c-lex.c (fe_file_change): Use LINEMAP_SYSP when
2172	!NO_IMPLICIT_EXTERN_C.
2173
21742011-10-17  Michael Spertus  <mike_spertus@symantec.com>
2175
2176	* c-common.c (c_common_reswords): Add __bases,
2177	__direct_bases.
2178	* c-common.h: Add RID_BASES and RID_DIRECT_BASES.
2179
21802011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2181
2182	PR c++/50757
2183	* c.opt ([Wnonnull]): Add C++ and Objective-C++.
2184
21852011-10-15  Tom Tromey  <tromey@redhat.com>
2186	    Dodji Seketeli  <dodji@redhat.com>
2187
2188	* c.opt (fdebug-cpp): New option.
2189	* c-opts.c (c_common_handle_option): Handle the option.
2190	* c-ppoutput.c (maybe_print_line_1): New static function. Takes an
2191	output stream in parameter. Factorized from ...
2192	(maybe_print_line): ... this. Dump location debug information when
2193	-fdebug-cpp is in effect.
2194	(print_line_1): New static function. Takes an output stream in
2195	parameter. Factorized from ...
2196	(print_line): ... here. Dump location information when -fdebug-cpp
2197	is in effect.
2198	(scan_translation_unit): Dump location information when
2199	-fdebug-cpp is in effect.
2200
22012011-10-15  Tom Tromey  <tromey@redhat.com>
2202	    Dodji Seketeli  <dodji@redhat.com>
2203
2204	* c.opt (ftrack-macro-expansion): New option. Handle it with and
2205	without argument.
2206	* c-opts.c (c_common_handle_option)<case
2207	OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
2208	cases. Handle -ftrack-macro-expansion with and without argument.
2209
22102011-10-15  Tom Tromey  <tromey@redhat.com>
2211	    Dodji Seketeli  <dodji@redhat.com>
2212
2213	* c-ppoutput.c (scan_translation_unit, maybe_print_line)
2214	(print_line, cb_define, do_line_change): Adjust to avoid touching
2215	the internals of struct line_map.  Use the public API instead.
2216	* c-pch.c (c_common_read_pch): Likewise.
2217	* c-lex.c (fe_file_change): Likewise.
2218
22192011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
2220
2221	PR c++/17212
2222	* c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
2223
22242011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
2225
2226	PR c++/33067
2227	* c-pretty-print.c (pp_c_floating_constant): Output
2228	max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
2229
22302011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
2231
2232	* c-common.c (def_builtin_1): Delete old interface with two
2233	parallel arrays to hold standard builtin declarations, and replace
2234	it with a function based interface that can support creating
2235	builtins on the fly in the future.  Change all uses, and poison
2236	the old	names.  Make sure 0 is not a legitimate builtin index.
2237	* c-omp.c (c_finish_omp_barrier): Ditto.
2238	(c_finish_omp_taskwait): Ditto.
2239	(c_finish_omp_flush): Ditto.
2240
22412011-10-11  Tristan Gingold  <gingold@adacore.com>
2242
2243	* c.opt: (fallow-parameterless-variadic-functions): New.
2244
22452011-09-08  Dodji Seketeli  <dodji@redhat.com>
2246
2247	PR c++/33255 - Support -Wunused-local-typedefs warning
2248	* c-common.h (struct c_language_function::local_typedefs): New
2249	field.
2250	(record_locally_defined_typedef, maybe_record_typedef_use)
2251	(maybe_warn_unused_local_typedefs): Declare new functions.
2252	* c-common.c (record_locally_defined_typedef)
2253	(maybe_record_typedef_use)
2254	(maybe_warn_unused_local_typedefs): Define new functions.
2255	* c.opt: Declare new -Wunused-local-typedefs flag.
2256
22572011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
2258
2259	PR middle-end/50266
2260	* c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
2261	computations.
2262
22632011-09-05  Richard Guenther  <rguenther@suse.de>
2264
2265	* c-common.c (complete_array_type): Use ssize_int (-1) instead
2266	of integer_minus_one_node for empty array upper bounds.
2267
22682011-08-28  Dodji Seketeli  <dodji@redhat.com>
2269
2270	* c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
2271	it's the first time it's being called on this main TU.
2272
22732011-08-24  Richard Guenther  <rguenther@suse.de>
2274
2275	PR c/49396
2276	* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2277
22782011-08-22  Gabriel Charette  <gchare@google.com>
2279
2280	* c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2281	defined in cpp_init_builtins and c_cpp_builtins.
2282
22832011-08-19  Joseph Myers  <joseph@codesourcery.com>
2284
2285	* c-common.c (c_common_reswords): Add __builtin_complex.
2286	* c-common.h (RID_BUILTIN_COMPLEX): New.
2287
22882011-08-18  Joseph Myers  <joseph@codesourcery.com>
2289
2290	* c-common.c (c_common_reswords): Add _Noreturn.
2291	(keyword_is_function_specifier): Handle RID_NORETURN.
2292	* c-common.h (RID_NORETURN): New.
2293
22942011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2295
2296	* c-common.c (unsafe_conversion_p): New function. Check if it is
2297	unsafe to convert an expression to the type.
2298	(conversion_warning): Adjust, use unsafe_conversion_p.
2299	* c-common.h (unsafe_conversion_p): New function declaration.
2300
23012011-08-02  Jakub Jelinek  <jakub@redhat.com>
2302
2303	* c-common.h (c_finish_omp_atomic): Adjust prototype.
2304	(c_finish_omp_taskyield): New prototype.
2305	* c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
2306	arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
2307	OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
2308	or RHS1 have side-effects, evaluate those too in the right spot,
2309	if it is a decl and LHS is also a decl, error out if they
2310	aren't the same.
2311	(c_finish_omp_taskyield): New function.
2312	* c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
2313	* c-pragma.c (omp_pragmas): Add taskyield.
2314	* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
2315	(enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
2316	PRAGMA_OMP_CLAUSE_MERGEABLE.
2317
23182011-07-25  Dodji Seketeli  <dodji@redhat.com>
2319
2320	* c-common.h (set_underlying_type): Remove parm name from
2321	declaration.
2322
23232011-07-25  Romain Geissler  <romain.geissler@gmail.com>
2324
2325	* c-pretty-print.h: Search c-common.h in c-family.
2326
23272011-07-22  Jason Merrill  <jason@redhat.com>
2328
2329	PR c++/49793
2330	* c.opt (Wnarrowing): New.
2331
2332	PR c++/30112
2333	* c-common.h: Declare c_linkage_bindings.
2334	* c-pragma.c (handle_pragma_redefine_extname): Use it.
2335
2336	PR c++/49813
2337	* c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
2338	* c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
2339	as flag_isoc99 for 'restrict'.
2340	(pp_c_specifier_qualifier_list): Likewise for _Complex.
2341
23422011-07-21  Ian Lance Taylor  <iant@google.com>
2343
2344	PR middle-end/49705
2345	* c-common.c (c_disable_warnings): New static function.
2346	(c_enable_warnings): New static function.
2347	(c_fully_fold_internal): Change local unused_p to bool.  Call
2348	c_disable_warnings and c_enable_warnings rather than change
2349	c_inhibit_evaluation_warnings.
2350
23512011-07-20  Jason Merrill  <jason@redhat.com>
2352
2353	PR c++/6709 (DR 743)
2354	PR c++/42603 (DR 950)
2355	* c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
2356	(CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
2357	(CPP_DECLTYPE): New.
2358	* c-common.c (c_parse_error): Handle CPP_DECLTYPE.
2359
23602011-07-19  Richard Guenther  <rguenther@suse.de>
2361
2362	* c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
2363	* c-omp.c (c_finish_omp_for): Likewise.
2364
23652011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
2366
2367	* c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
2368	body on the next line.
2369
23702011-07-08  Jason Merrill  <jason@redhat.com>
2371
2372	PR c++/45437
2373	* c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
2374
2375	PR c++/49673
2376	* c-common.c (c_apply_type_quals_to_decl): Don't check
2377	TYPE_NEEDS_CONSTRUCTING.
2378
23792011-07-06  Richard Guenther  <rguenther@suse.de>
2380
2381	* c-common.c (c_common_nodes_and_builtins):
2382	Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2383
23842011-07-05  Richard Guenther  <rguenther@suse.de>
2385
2386	* c-common.c (c_common_nodes_and_builtins): Build all common
2387	tree nodes first.
2388
23892011-06-27  Jakub Jelinek  <jakub@redhat.com>
2390
2391	* c-common.h (c_tree_chain_next): New static inline function.
2392
2393	* c-common.c (check_builtin_function_arguments): Handle
2394	BUILT_IN_ASSUME_ALIGNED.
2395
23962011-06-21  Andrew MacLeod  <amacleod@redhat.com>
2397
2398	* c-common.c: Add sync_ or SYNC__ to builtin names.
2399	* c-omp.c: Add sync_ or SYNC__ to builtin names.
2400
24012011-06-20  Pierre Vittet  <piervit@pvittet.com>
2402
2403	* c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
2404	handler.
2405	(gen_pragma_handler): New union.
2406	(internal_pragma_handler): New type.
2407	(c_register_pragma_with_data)
2408	(c_register_pragma_with_expansion_and_data): New functions.
2409
2410	* c-pragma.c (registered_pragmas, c_register_pragma_1)
2411	(c_register_pragma, c_register_pragma_with_expansion)
2412	(c_invoke_pragma_handler): Changed to work with
2413	internal_pragma_handler.
2414	(c_register_pragma_with_data)
2415	(c_register_pragma_with_expansion_and_data): New functions.
2416
24172011-06-14  Joseph Myers  <joseph@codesourcery.com>
2418
2419	* c-common.c: Include common/common-target.h.
2420	(handle_section_attribute): Use
2421	targetm_common.have_named_sections.
2422	* c-cppbuiltin.c: Include common/common-target.h.
2423	(c_cpp_builtins): Use targetm_common.except_unwind_info.
2424
24252011-06-10  Richard Guenther  <rguenther@suse.de>
2426
2427	* c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
2428	to print a IDENTIFIER_NODE.
2429
24302011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2431	    Joseph Myers  <joseph@codesourcery.com>
2432
2433	* c.opt (fbuilding-libgcc): New option.
2434	* c-cppbuiltin.c (c_cpp_builtins): Define
2435	__LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
2436
24372011-06-07  Jason Merrill  <jason@redhat.com>
2438
2439	* c-common.c (max_tinst_depth): Lower default to 900.
2440
2441	* c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
2442
24432011-06-07  Richard Guenther  <rguenther@suse.de>
2444
2445	* c-common.c (c_common_nodes_and_builtins): Do not set
2446	size_type_node or call set_sizetype.
2447
24482011-06-07  Dodji Seketeli  <dodji@redhat.com>
2449
2450	PR debug/49130
2451	* c-pretty-print.c (pp_c_integer_constant): Consider the canonical
2452	type when using pointer comparison to compare types.
2453
24542011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
2455
2456	* c.opt: Add -Wdelete-non-virtual-dtor.
2457	* c-opts.c (c_common_handle_option): Include it in -Wall.
2458
24592011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
2460
2461	PR bootstrap/49190
2462
2463	Revert:
2464	2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2465
2466	* c-common.h (struct c_common_identifier): Inherit from tree_typed,
2467	not tree_common.
2468
24692011-05-27  Jakub Jelinek  <jakub@redhat.com>
2470
2471	PR c++/49165
2472	* c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
2473	C++ don't call c_common_truthvalue_conversion on void type arms.
2474
24752011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
2476
2477	* c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
2478	(stmt_list_stack): Define.
2479	(cur_stmt_list): Adjust for new type of x_cur_stmt_list.
2480	* c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
2481
24822011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2483
2484	* c-common.c (warning_candidate_p): Check for BLOCKs.
2485
24862011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
2487
2488	* c-common.h (struct c_common_identifier): Inherit from tree_typed,
2489	not tree_common.
2490
24912011-05-25  Jakub Jelinek  <jakub@redhat.com>
2492
2493	* c-common.c (def_fn_type): Remove extra va_end.
2494
24952011-05-23  Jason Merrill  <jason@redhat.com>
2496
2497	PR c++/48106
2498	* c-common.c (c_common_get_narrower): New.
2499	(shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
2500
25012011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
2502
2503	* c-common.h (check_function_arguments): Tweak prototype of
2504	check_function_arguments.
2505	* c-common.c (check_function_arguments): Likewise.  Adjust
2506	calls to check_function_nonnull, check_function_format, and
2507	check_function_sentinel.
2508	(check_function_sentinel): Take a FUNCTION_TYPE rather than
2509	separate attributes and typelist arguments.  Use
2510	FOREACH_FUNCTION_ARGS to iterate over argument types.
2511
25122011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
2513
2514	* c-common.c (c_common_reswords): Reorder.
2515	* c-common.h (rid): Likewise.
2516
25172011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
2518
2519	* c-common.c (def_fn_type): Don't call build_function_type, call
2520	build_function_type_array or build_varargs_function_type_array
2521	instead.
2522	(c_common_nodes_and_builtins): Likewise.
2523
25242011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
2525
2526	* c-common.c (c_add_case_label): Omit the loc argument to
2527	build_case_label.
2528	* c-common.h (build_case_label): Remove.
2529	* c-semantics.c (build_case_label): Remove.
2530
25312011-05-05  Joseph Myers  <joseph@codesourcery.com>
2532
2533	* c-objc.h (objc_start_method_definition): Update prototype.
2534	* stub-objc.c (objc_start_method_definition): Add extra parameter.
2535
25362011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
2537
2538	* c-common.c (check_main_parameter_types): Reindent.  Don't use
2539	TYPE_ARG_TYPES directly.
2540	(handle_nonnull_attribute): Likewise.
2541	(sync_resolve_params): Likewise.
2542	* c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
2543	to check_format_string.
2544	(handle_format_attribute): Likewise.
2545	(check_format_string): Take a function type to examine instead of
2546	a type list.  Use a function_arg_iterator to step through argument
2547	types.
2548
25492011-05-04  Richard Guenther  <rguenther@suse.de>
2550
2551	* c-common.c (fix_string_type): Use size_int for index type bounds.
2552	(start_fname_decls): Do not pass NULL to build_int_cst.
2553	(c_init_attributes): Likewise.
2554	* c-lex.c (c_lex_with_flags): Likewise.
2555
25562011-04-27  Jason Merrill  <jason@redhat.com>
2557
2558	* c-common.c (make_tree_vector_from_list): New.
2559	* c-common.h: Declare it.
2560
25612011-04-26  Richard Guenther  <rguenther@suse.de>
2562
2563	PR preprocessor/48248
2564	* c-ppoutput.c (maybe_print_line): Always optimize newlines
2565	for output size with -P.
2566
25672011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
2568
2569	* c-common.c (struct c_common_resword): Add __underlying_type.
2570	* c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
2571
25722011-04-20  Jim Meyering  <meyering@redhat.com>
2573
2574	* c-format.c (init_dollar_format_checking): Remove useless
2575	if-before-free.
2576
25772011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2578
2579	* c-objc.h (objc_get_interface_ivars): Removed.
2580	(objc_detect_field_duplicates): New.
2581	* stub-objc.c: Likewise.
2582
25832011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
2584
2585	* stub-objc.c (objc_declare_protocols): Renamed to
2586	objc_declare_protocol.
2587	* c-objc.h: Likewise.
2588
25892011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
2590
2591	* stub-objc.c (objc_declare_class): Updated argument name.
2592
25932011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
2594
2595	* c-common.h (c_common_init_ts): Declare.
2596	* c-common.c (c_common_init_ts): Define.
2597
25982011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
2599
2600	* c-objc.h (objc_build_message_expr): Updated prototype.
2601	* stub-objc.c (objc_build_message_expr): Likewise.
2602
26032011-04-12  Martin Jambor  <mjambor@suse.cz>
2604
2605	* c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
2606	of cgraph_node.
2607
26082011-04-11  Richard Guenther  <rguenther@suse.de>
2609
2610	* c-common.c (complete_array_type): Build a range type of
2611	proper type.
2612
26132011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
2614
2615	* c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2616	(handle_type_generic_attribute): Likewise.
2617
26182011-04-07  Jason Merrill  <jason@redhat.com>
2619
2620	PR c++/48450
2621	* c-common.c (c_common_truthvalue_conversion): Don't ignore
2622	conversion from C++0x scoped enum.
2623
26242011-04-06  Joseph Myers  <joseph@codesourcery.com>
2625
2626	* c-target-def.h: New file.
2627	* c-target.def: New file.
2628	* c-target.h: New file.
2629	* c-common.c (targetcm): Don't define here.
2630	* c-common.h (default_handle_c_option): Declare.
2631	* c-format.c: Include c-target.h instead of target.h.
2632	* c-opts.c: Include c-target.h instead of target.h.  Explicitly
2633	include tm.h.
2634	(default_handle_c_option): Move from targhooks.c.
2635
26362011-03-29  Jakub Jelinek  <jakub@redhat.com>
2637
2638	PR preprocessor/48248
2639	* c-ppoutput.c (print): Add src_file field.
2640	(init_pp_output): Initialize it.
2641	(maybe_print_line): Don't optimize by adding up to 8 newlines
2642	if map->to_file and print.src_file are different file.
2643	(print_line): Update print.src_file.
2644
26452011-03-25  Kai Tietz  <ktietz@redhat.com>
2646
2647	* c-ada-spec.c (compare_comment): Use filename_cmp
2648	instead of strcmp for filename.
2649
26502011-03-25  Jeff Law  <law@redhat.com>
2651
2652	* c-family/c-common.c (def_fn_type): Add missing va_end.
2653
26542011-03-25  Jason Merrill  <jason@redhat.com>
2655
2656	* c.opt: Add -std=c++03.
2657
26582011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
2659
2660	* c-ada-spec.c (dump_ada_template): Skip non-class instances.
2661
26622011-03-17  Kai Tietz
2663
2664	PR target/12171
2665	* c-pretty-print.c (pp_c_specifier_qualifier_list):
2666	Display allowed attributes for function pointer types.
2667	(pp_c_attributes_display): New function to display
2668	attributes having affects_type_identity flag set to true.
2669	* c-pretty-print.h (pp_c_attributes_display): New prototype.
2670
2671	* c-common.c (c_common_attribute_table):
2672	Add new element.
2673	(c_common_format_attribute_table): Likewise.
2674
26752011-03-18  Jason Merrill  <jason@redhat.com>
2676
2677	* c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
2678	* c-common.h: Don't declare it here.
2679	* c-common.c: Or define it here.
2680	* c-opts.c (c_common_handle_option): Or set it here.
2681
2682	PR c++/35315
2683	* c-common.c (handle_transparent_union_attribute): Don't
2684	make a duplicate type in C++.
2685
26862011-03-15  Jason Merrill  <jason@redhat.com>
2687
2688	* c-common.c (max_constexpr_depth): New.
2689	* c-common.h: Declare it.
2690	* c-opts.c (c_common_handle_option): Set it.
2691	* c.opt (fconstexpr-depth): New option.
2692
26932011-03-11  Jason Merrill  <jason@redhat.com>
2694
2695	* c-common.c (attribute_takes_identifier_p): Add missing const.
2696
2697	PR c++/46803
2698	* c-common.c (attribute_takes_identifier_p): Assume that an
2699	unknown attribute takes an identifier.
2700
27012011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
2702
2703	PR c/47786
2704	* c-common.c (c_type_hash): Call list_length instead of iterating
2705	through DECL_CHAIN.  Rename 'i' to 'n_elements'.
2706
27072011-02-19  Jakub Jelinek  <jakub@redhat.com>
2708
2709	PR c/47809
2710	* c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
2711
27122011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
2713
2714	* c.opt (fobjc-abi-version=) New.
2715	(fobjc-nilcheck): New.
2716
27172011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
2718
2719	PR c++/46890
2720	* c-common.h (keyword_is_decl_specifier): Declare.
2721	* c-common.c (keyword_is_decl_specifier): Define.
2722	(keyword_is_function_specifier): New function.
2723
27242011-01-26  Jakub Jelinek  <jakub@redhat.com>
2725
2726	PR c/47473
2727	* c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
2728	EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
2729	REAL_TYPE.
2730
27312011-01-26  Arnaud Charlet  <charlet@adacore.com>
2732
2733	* c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
2734
27352011-01-26  Jakub Jelinek  <jakub@redhat.com>
2736
2737	PR pch/47430
2738	* c-opts.c (c_common_post_options): Call c_common_no_more_pch
2739	after init_c_lex if pch_file is set.
2740
27412011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
2742
2743	PR c++/43601
2744	* c.opt (-fkeep-inline-dllexport): New switch.
2745
27462011-01-12  Richard Guenther  <rguenther@suse.de>
2747
2748	PR middle-end/32511
2749	* c-common.c (handle_weak_attribute): Warn instead of error
2750	on declaring an inline function weak.
2751
27522011-01-05  Tom Tromey  <tromey@redhat.com>
2753
2754	* c-common.h (lvalue_error): Update.
2755	* c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
2756	not error.
2757
27582010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
2759
2760	PR objc/47075
2761	* c-objc.h (objc_finish_message_expr): Added argument to
2762	prototype.
2763
27642010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
2765
2766	* c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
2767	Use prototype_p.
2768
27692010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
2770
2771	* c-objc.h (objc_maybe_warn_exceptions): New.
2772	* stub-objc.c (objc_maybe_warn_exceptions): New.
2773
27742010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
2775
2776	* c-common.h (readonly_error): Declare.
2777	* c-common.c (readonly_error): Define.
2778
27792010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
2780
2781	* c-common.h (invalid_indirection_error): Declare.
2782	* c-common.c (invalid_indirection_error): Define.
2783
27842010-12-03  Richard Guenther  <rguenther@suse.de>
2785
2786	PR c/46745
2787	* c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
2788	(pp_c_unary_expression): Likewise.
2789	(pp_c_expression): Likewise.
2790
27912010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2792
2793	* c-common.h (objc_finish_function): New.
2794	(objc_non_volatilized_type): Removed.
2795	(objc_type_quals_match): Removed.
2796	* stub-objc.c (objc_finish_function): New.
2797	(objc_non_volatilized_type): Removed.
2798	(objc_type_quals_match): Removed.
2799
28002010-11-30  Joseph Myers  <joseph@codesourcery.com>
2801
2802	* c-common.h (parse_optimize_options): Declare.
2803	* c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
2804	c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
2805
28062010-11-29  Joseph Myers  <joseph@codesourcery.com>
2807
2808	* c-opts.c (check_deps_environment_vars): Use getenv instead of
2809	GET_ENVIRONMENT.
2810	* c-pch.c (O_BINARY): Don't define here.
2811	* c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
2812
28132010-11-25  Joseph Myers  <joseph@codesourcery.com>
2814
2815	* c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
2816	targetm.except_unwind_info.
2817
28182010-11-23  Joseph Myers  <joseph@codesourcery.com>
2819
2820	* c-opts.c (c_common_handle_option): Pass location to
2821	set_struct_debug_option.
2822
28232010-11-23  Joseph Myers  <joseph@codesourcery.com>
2824
2825	* c-common.c (visibility_options): Move from ../opts.c.
2826	* c-common.h (struct visibility_flags, visibility_options):
2827	Declare here.
2828	* c-opts.c (finish_options): Rename to c_finish_options.
2829	(c_common_init): Update call to finish_options.
2830
28312010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
2832
2833	PR objc/34033
2834	* c-lex.c (lex_string): Check that each string in an Objective-C
2835	string concat sequence starts with either one or zero '@', and
2836	that there are no spurious '@' signs at the end.
2837
28382010-11-20  Joseph Myers  <joseph@codesourcery.com>
2839
2840	* c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
2841	HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
2842	HANDLE_PRAGMA_VISIBILITY.
2843	* c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
2844	HANDLE_PRAGMA_VISIBILITY): Don't define.
2845	(HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
2846
28472010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
2848
2849	PR c++/16189
2850	PR c++/36888
2851	PR c++/45331
2852	* c-common.h (keyword_begins_type_specifier): Declare.
2853	(keyword_is_storage_class_specifier): Declare.
2854	(keyword_is_type_qualifier): Declare.
2855	* c-common.c (keyword_begins_type_specifier): New function.
2856	(keyword_is_storage_class_specifier): New function.
2857	(keyword_is_type_qualifier): Declare.
2858
28592010-11-19  Joseph Myers  <joseph@codesourcery.com>
2860
2861	PR c/46547
2862	* c-common.c (in_late_binary_op): Define.
2863	(c_common_truthvalue_conversion): Check in_late_binary_op before
2864	calling c_save_expr.
2865	* c-common.h (in_late_binary_op): Declare.
2866
28672010-11-19  Joseph Myers  <joseph@codesourcery.com>
2868
2869	* c-opts.c (c_common_handle_option): Update calls to
2870	set_struct_debug_option.
2871
28722010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
2873
2874	* c-common.h (objc_declare_protocols): Added additional argument.
2875	* stub-objc.c (objc_declare_protocol): Same change.
2876
28772010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
2878
2879	PR c/33193
2880	* c-common.h (build_real_imag_expr): Declare.
2881	* c-semantics.c (build_real_imag_expr): Define.
2882
28832010-11-17  Joseph Myers  <joseph@codesourcery.com>
2884
2885	* c-opts.c (c_common_parse_file): Take no arguments.
2886	* c-common.h (c_common_parse_file): Update prototype.
2887
28882010-11-16  Jakub Jelinek  <jakub@redhat.com>
2889
2890	PR c++/46401
2891	* c-common.c (warning_candidate_p): Don't track non-const calls
2892	or STRING_CSTs.
2893
28942010-11-15  Ian Lance Taylor  <iant@google.com>
2895
2896	* c-lex.c (init_c_lex): Set macro debug callbacks if
2897	flag_dump_go_spec is set.
2898
28992010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
2900
2901	* c-common.h (objc_build_incr_expr_for_property_ref): New.
2902	* stub-objc.c (objc_build_incr_expr_for_property_ref): New.
2903
29042010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
2905
2906	PR preprocessor/45038
2907	* c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
2908	dialects.
2909
29102010-11-12  Joseph Myers  <joseph@codesourcery.com>
2911
2912	* c-common.h (c_family_lang_mask): Declare.
2913	* c-opts.c (c_family_lang_mask): Make extern.
2914	* c-pragma.c (handle_pragma_diagnostic): Use
2915	control_warning_option.
2916
29172010-11-12  Joseph Myers  <joseph@codesourcery.com>
2918
2919	* c-common.c (parse_optimize_options): Update call to
2920	decode_options.
2921	* c-common.h (c_common_handle_option): Update prototype.
2922	* c-opts.c (c_common_handle_option): Take location_t parameter and
2923	pass it to other functions.
2924
29252010-11-11  Joseph Myers  <joseph@codesourcery.com>
2926
2927	* c-opts.c (warning_as_error_callback): Remove.
2928	(c_common_initialize_diagnostics): Don't call
2929	register_warning_as_error_callback.
2930	(c_common_handle_option): Handle -Werror=normalized= here.
2931
29322010-11-10  Joseph Myers  <joseph@codesourcery.com>
2933
2934	* c-common.c (handle_mode_attribute): Use %' and word "signedness"
2935	in diagnostic.
2936	* c-opts.c (c_common_parse_file): Start diagnostics with lowercase
2937	letter.
2938	* c-pragma.c (handle_pragma_target, handle_pragma_optimize):
2939	Remove trailing '.' from diagnostics.
2940	* c.opt (Wwrite-strings_: Avoid '`' in help text.
2941
29422010-11-10  Joseph Myers  <joseph@codesourcery.com>
2943
2944	* c-common.c (parse_optimize_options): Pass global_dc to
2945	decode_options.
2946	* c-opts.c (c_common_handle_option): Pass &global_options to
2947	set_Wstrict_aliasing.
2948	* c.opt (v): Don't mark Common or document here.
2949
29502010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
2951
2952	PR target/44981
2953	* c-format.c (format_type): New type gcc_objc_string_format_type.
2954	(valid_stringptr_type_p): New.
2955	(handle_format_arg_attribute): Use valid_stringptr_type_p ().
2956	(check_format_string): Pass expected type, use
2957	valid_stringptr_type_p (), check that the format string types are
2958	consistent with the format specification.
2959	(decode_format_attr): Warn if NSString is used outside objective-c.
2960	(format_types_orig): Add NSString.
2961	(format_name): New.
2962	(format_flags): New.
2963	(check_format_arg): Handle format strings requiring an external parser.
2964	first_target_format_type: New variable.
2965	(handle_format_attribute): Set up first_target_format_type, pass the
2966	expected format arg string type to check_format_string().
2967	* c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
2968	* stub-objc.c (objc_string_ref_type_p): New.
2969	(objc_check_format_arg): New.
2970
29712010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
2972
2973	Fixed using the Objective-C 2.0 dot-syntax with class names.
2974	* c-common.h (objc_build_class_component_ref): New.
2975	* stub-objc.c (objc_build_class_component_ref): New.
2976
29772010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2978
2979	* c.opt (Wproperty-assign-default): New option.
2980
29812010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
2982
2983	Implemented -fobjc-std=objc1 flag.
2984	* c.opt (fobjc-std=objc1): New option.
2985
29862010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
2987
2988	Implemented format and noreturn attributes for Objective-C methods.
2989	* c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
2990	attribute for Objective-C methods.
2991
29922010-10-31  Jason Merrill  <jason@redhat.com>
2993
2994	* c-common.c (conversion_warning, warn_for_collisions_1): Use
2995	EXPR_LOC_OR_HERE.
2996
29972010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
2998
2999	Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3000	* c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3001	(objc_add_property_declaration): Removed arguments for copies and
3002	ivar.
3003	(objc_build_getter_call): Renamed to
3004	objc_maybe_build_component_ref.
3005	(objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3006	(objc_is_property_ref): New.
3007	* c-common.c (c_common_reswords): Removed copies and ivar.
3008	* stub-objc.c (objc_add_property_declaration): Removed arguments
3009	for copies and ivar.
3010	(objc_build_getter_call): Renamed to
3011	objc_maybe_build_component_ref.
3012	(objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3013	(objc_is_property_ref): New.
3014
30152010-10-29  Arnaud Charlet  <charlet@adacore.com>
3016	    Matthew Gingell  <gingell@adacore.com>
3017
3018	* c-ada-spec.c (separate_class_package): New function.
3019	(pp_ada_tree_identifier): Prefix references to C++ classes with the
3020	name of their enclosing package.
3021	(print_ada_declaration): Use separate_class_package.
3022
30232010-10-27  Jason Merrill  <jason@redhat.com>
3024
3025	* c-common.c (c_common_reswords): Add __is_literal_type.
3026	* c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3027
3028	* c-common.c (check_case_value): Remove special C++ code.
3029
30302010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3031
3032	* c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3033	RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
3034	and RID_LAST_PATTR.
3035	(objc_add_property_declaration): Added additional arguments.
3036	(objc_property_attribute_kind): Removed.
3037	(objc_set_property_attr): Removed.
3038	* c-common.c (c_common_reswords): Added readwrite, assign, retain,
3039	copy and nonatomic.
3040	* stub-objc.c (objc_add_property_declaration): Added additional
3041	arguments.
3042	(objc_set_property_attr): Removed.
3043
30442010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3045
3046	* c-common.h (objc_add_property_variable): Renamed to
3047	objc_add_property_declaration.  Added location argument.
3048	* stub-objc.c (objc_add_property_variable): Same change.
3049
30502010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
3051
3052	* c-common.h (objc_maybe_printable_name): New.
3053	* stub-objc.c (objc_maybe_printable_name): New.
3054
30552010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3056	Andrew Pinski <pinskia@gmail.com>
3057
3058	* c-common.h (c_common_mark_addressable_vec): Declare.
3059	* c-common.c (c_common_mark_addressable_vec): New function.
3060
30612010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
3062
3063	* c-common.h (objc_set_method_type): Removed.
3064	(objc_add_method_declaration): Added boolean argument.
3065	(objc_start_method_definition): Same change.
3066	(objc_build_method_signature): Same change.
3067	* stub-objc.c (objc_set_method_type): Removed.
3068	(objc_add_method_declaration): Added boolean argument.
3069	(objc_start_method_definition): Same change.
3070	(objc_build_method_signature): Same change.
3071
30722010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
3073
3074	* c-common.h (finish_file): Removed.
3075	(objc_write_global_declarations): New.
3076	* c-opts.c (c_common_parse_file): Do not call finish_file.
3077	* stub-objc.c (objc_write_global_declarations): New.
3078
30792010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3080
3081	Implemented parsing @synthesize and @dynamic for
3082	Objective-C/Objective-C++.
3083	* c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3084	(objc_add_synthesize_declaration): New.
3085	(objc_add_dynamic_declaration): New.
3086	* c-common.c (c_common_reswords): Add synthesize and dynamic.
3087	* stub-objc.c (objc_add_synthesize_declaration): New.
3088	(objc_add_dynamic_declaration): New.
3089
30902010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
3091
3092	PR target/46041
3093	* c-cppbuiltin.c (mode_has_fma): Move function here from
3094	builtins.c.  Don't use the fma optab, instead just use the
3095	HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3096	using -save-temps.
3097
30982010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
3099
3100	Merge from 'apple/trunk' branch on FSF servers.
3101
3102	2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
3103
3104	Radar 4330422
3105	* c-common.h (objc_non_volatilized_type): New declaration
3106	* stub-objc.c (objc_non_volatilized_type): New stub.
3107
31082010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
3109
3110	Merge from 'apple/trunk' branch on FSF servers.
3111
3112	2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3113
3114	Radar 4133425
3115	* c-common.h (objc_diagnose_private_ivar): New decl.
3116	* stub-objc.c (objc_diagnose_private_ivar): New stub.
3117
31182010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
3119
3120	* c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3121	* c-common.h (enum rid): Add RID_AT_PACKAGE.
3122	(objc_ivar_visibility_kind): New enum.
3123	(objc_set_visibility): Adjust prototype to use visibility enum.
3124	* stub-objc.c (objc_set_visibility): Adjust stub to use
3125	visibility enum.
3126
31272010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
3128
3129	* c-cppbuiltin.c (builtin_define_float_constants): Emit
3130	__FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3131	has the appropriate fma builtins.
3132	(c_cpp_builtins): Adjust call to builtin_define_float_constants.
3133
31342010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
3135
3136	merge from FSF apple 'trunk' branch.
3137	2006 Fariborz Jahanian <fjahanian@apple.com>
3138
3139	Radars 4436866, 4505126, 4506903, 4517826
3140	* c-common.c (c_common_resword): Define @property and its attributes.
3141	* c-common.h: Define property attribute enum entries.
3142	(OBJC_IS_PATTR_KEYWORD): New.
3143	(objc_property_attribute_kind): New enum.
3144	Declare objc_set_property_attr (), objc_add_property_variable (),
3145	objc_build_getter_call () and objc_build_setter_call ().
3146	* stub-objc.c (objc_set_property_attr): New stub.
3147	(objc_add_property_variable): Likewise.
3148	(objc_build_getter_call): Likewise.
3149	(objc_build_setter_call) Likewise.
3150
31512010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
3152
3153	merge from FSF apple 'trunk' branch.
3154	2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3155
3156	Radar 3803157 (method attributes)
3157	* c-common.c (handle_deprecated_attribute): Recognize
3158	objc methods as valid declarations.
3159	* c-common.h: Declare objc_method_decl ().
3160	* stub-objc.c (objc_method_decl): New stub.
3161
31622010-10-08  Joseph Myers  <joseph@codesourcery.com>
3163
3164	* c-common.c (parse_optimize_options): Call
3165	decode_cmdline_options_to_array_default_mask before
3166	decode_options.  Update arguments to decode_options.
3167	* c-common.h (c_common_init_options_struct): Declare.
3168	* c-opts.c (c_common_init_options_struct): New.  Split out from
3169	c_common_init_options.
3170
31712010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
3172
3173	Implemented fast enumeration for Objective-C.
3174	* c-common.h (objc_finish_foreach_loop): New.
3175	* stub-objc.c (objc_finish_foreach_loop): New.
3176
31772010-10-05  Joseph Myers  <joseph@codesourcery.com>
3178
3179	* c-common.h (struct diagnostic_context): Don't declare here.
3180	(c_common_initialize_diagnostics): Declare using
3181	diagnostic_context typedef.
3182	* c-opts.c (c_common_handle_option): Pass global_dc to
3183	handle_generated_option.
3184
31852010-10-04  Joseph Myers  <joseph@codesourcery.com>
3186
3187	* c-opts.c (c_common_handle_option): Pass &global_options_set to
3188	handle_generated_option.
3189
31902010-10-03  Ian Lance Taylor  <iant@google.com>
3191
3192	* c.opt (-fplan9-extensions): New option.
3193
31942010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3195
3196	* c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
3197	Remove.
3198	(c_cpp_builtins): Call functions from cppbuiltin.c instead
3199	of duplicating code.
3200
32012010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
3202
3203	* c-common.c: Add two new entries for @optional
3204	and @required keywords.
3205
3206	merge from FSF 'apple/trunk' branch.
3207	2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
3208
3209	Radar 4386773
3210	* c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
3211	objective-c keywords.
3212	(objc_set_method_opt): New declaration.
3213	* stub-objc.c (objc_set_method_opt): New stub.
3214
32152010-09-30  Joseph Myers  <joseph@codesourcery.com>
3216
3217	* c-common.c (handle_optimize_attribute): Pass &global_options to
3218	cl_optimization_save and cl_optimization_restore.
3219	* c-opts.c (c_common_handle_option): Pass &global_options to
3220	handle_generated_option.
3221	* c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
3222	(handle_pragma_pop_options, handle_pragma_reset_options): Pass
3223	&global_options to cl_optimization_restore.
3224
32252010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
3226
3227	* c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
3228	Objective-C/Objective-C++ keywords.
3229
32302010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3231
3232	Merge from 'apple/trunk' branch on FSF servers.
3233
3234	2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
3235
3236	Radar 4281748
3237	* c-common.h (objc_check_global_decl): New declaration.
3238	* stub-objc.c (objc_check_global_decl): New stub.
3239
32402010-09-29  Joseph Myers  <joseph@codesourcery.com>
3241
3242	* c.opt: Don't use VarExists.
3243
32442010-09-29  Joseph Myers  <joseph@codesourcery.com>
3245
3246	* c-common.c (c_cpp_error): Update names of diagnostic_context
3247	members.
3248	* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
3249	cl_optimization members.
3250	* c-opts.c (warning_as_error_callback, c_common_handle_option,
3251	sanitize_cpp_opts, finish_options): Update names of cpp_options
3252	members.
3253
32542010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
3255
3256	* c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
3257	(objc_is_reserved_word): Removed.
3258	* c-common.c: Updated comments.
3259	* c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
3260	objc_is_reserved_word.
3261	* stub-objc.c (objc_is_reserved_word): Removed.
3262
32632010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3264
3265	* c-common.h (objc_add_method_declaration): Adjust prototype to
3266	include attributes.
3267	(objc_start_method_definition): Likewise.
3268	(objc_build_keyword_decl): Likewise.
3269	* stub-objc.c:(objc_add_method_declaration): Handle attributes.
3270	(objc_start_method_definition): Likewise.
3271	(objc_build_keyword_decl): Likewise.
3272
32732010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
3274
3275	* c-common.h (objc_start_class_interface): Adjust prototype.
3276	(objc_start_category_interface): Likewise.
3277	(objc_start_protocol): Likewise.
3278	* stub-objc.c (objc_start_protocol): Adjust for extra argument.
3279	(objc_start_class_interface): Likewise.
3280	(objc_start_category_interface): Likewise.
3281
32822010-09-27  Ian Lance Taylor  <iant@google.com>
3283
3284	* c-common.c (c_common_attribute_table): Add no_split_stack.
3285	(handle_no_split_stack_attribute): New static function.
3286
32872010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
3288
3289	Merge from 'apple/trunk' branch on FSF servers.
3290
3291	2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
3292
3293	Radar 4229905
3294	* c-common.h (objc_have_common_type): New declaration.
3295	* stub-objc.c (objc_have_common_type): New stub.
3296
3297	2005-06-22  Ziemowit Laski  <zlaski@apple.com>
3298
3299	Radar 4154928
3300	* c-common.h (objc_common_type): New prototype.
3301	* stub-objc.c (objc_common_type): New stub.
3302
33032010-09-24  Jan Hubicka  <jh@suse.cz>
3304
3305	* c-common.c (handle_leaf_attribute): New function.
3306	(struct attribute_spec c_common_att): Add leaf.
3307
33082010-09-22  Joseph Myers  <joseph@codesourcery.com>
3309
3310	* c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
3311	-comments-in-macros, -define-macro, -define-macro=, -dependencies,
3312	-dump, -dump=, -imacros, -imacros=, -include, -include=,
3313	-include-barrier, -include-directory, -include-directory=,
3314	-include-directory-after, -include-directory-after=,
3315	-include-prefix, -include-prefix=, -include-with-prefix,
3316	-include-with-prefix=, -include-with-prefix-after,
3317	-include-with-prefix-after=, -include-with-prefix-before,
3318	-include-with-prefix-before=, -no-integrated-cpp,
3319	-no-line-commands, -no-standard-includes, -no-warnings, -output,
3320	-output=, -pedantic, -pedantic-errors, -preprocess,
3321	-print-missing-file-dependencies, -trace-includes, -traditional,
3322	-traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
3323	-user-dependencies, -verbose, -write-dependencies,
3324	-write-user-dependencies, no-integrated-cpp, traditional): New.
3325
33262010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
3327
3328	PR objc/23710
3329	* c-common.h (objc_start_method_definition): Return bool instead
3330	of void.
3331	* stub-objc.c (objc_start_method_definition): Return bool instead
3332	of void.
3333
33342010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
3335
3336	PR objc/25965
3337	* c-common.h (objc_get_interface_ivars): New declaration.
3338	* stub-objc.c (objc_get_interface_ivars): New stub.
3339
33402010-09-15  Ian Lance Taylor  <iant@google.com>
3341
3342	* c-common.c (parse_optimize_options): Do not capitalize warning
3343	messages.  Remove period at end of warning message.
3344
33452010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
3346
3347	* c-common.c (handle_alias_ifunc_attribute): New, broken out of	...
3348	(handle_alias_attribute): ... here.
3349	(handle_ifunc_attribute): New.
3350
33512010-09-06  Mark Mitchell  <mark@codesourcery.com>
3352
3353	* c-common.h (do_warn_double_promotion): Declare.
3354	* c-common.c (do_warn_double_promotion): Define.
3355
33562010-09-05  Mark Mitchell  <mark@codesourcery.com>
3357
3358	* c.opt (Wdouble-promotion): New.
3359
33602010-09-02  Joseph Myers  <joseph@codesourcery.com>
3361
3362	* c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
3363	fvtable-thunks, fxref): Mark no longer supported in help text.
3364
33652010-09-02  Joseph Myers  <joseph@codesourcery.com>
3366
3367	* c.opt (Wimport, fall-virtual, falt-external-templates,
3368	fdefault-inline, fenum-int-equiv, fexternal-templates,
3369	fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
3370	fname-mangling-version-, fnew-abi, fnonnull-objects,
3371	foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
3372	fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
3373	applicable.
3374	(fhandle-exceptions): Mark with Alias and Warn.
3375	* c-opts.c (c_common_handle_option): Don't handle options marked
3376	as ignored.
3377
33782010-09-02  Joseph Myers  <joseph@codesourcery.com>
3379
3380	* c.opt (Wcomments, Werror-implicit-function-declaration,
3381	ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
3382	std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
3383	aliases.
3384	* c-common.c (option_codes): Use OPT_Wcomment instead of
3385	OPT_Wcomments.
3386	* c-opts.c (warning_as_error_callback, c_common_handle_option):
3387	Don't handle options marked as aliases.
3388
33892010-08-25  Richard Guenther  <rguenther@suse.de>
3390
3391	* c-common.c (c_common_get_alias_set): Remove special
3392	handling for pointers.
3393
33942010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
3395
3396	* c-common.c: Use FOR_EACH_VEC_ELT.
3397	* c-gimplify.c: Likewise.
3398	* c-pragma.c: Likewise.
3399
34002010-08-16  Joseph Myers  <joseph@codesourcery.com>
3401
3402	* c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
3403	RejectDriver.
3404	(MMDX): Change back to MMD.  Mark NoDriverArg instead of
3405	RejectDriver.
3406	* c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
3407	instead of OPT_MDX and OPT_MMDX.
3408
34092010-08-16  Joseph Myers  <joseph@codesourcery.com>
3410
3411	* c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
3412
34132010-08-12  Joseph Myers  <joseph@codesourcery.com>
3414
3415	* c.opt (MD, MMD): Change to MDX and MMDX.
3416	* c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
3417
34182010-08-11  Joseph Myers  <joseph@codesourcery.com>
3419
3420	* c-opts.c (c_common_handle_option): Call handle_generated_option
3421	instead of handle_option.
3422
34232010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
3424
3425	* c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
3426	(maybe_apply_renaming_pragma): Delete unneeded declarations.
3427
34282010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
3429
3430	* c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
3431	(pending_redefine_extname): Change type to a VEC.
3432	(add_to_renaming_pragma_list): Update for new type of
3433	pending_redefine_extname.
3434	(maybe_apply_renaming_pragma): Likewise.
3435
34362010-08-04  Arnaud Charlet  <charlet@adacore.com>
3437
3438	* c-ada-spec.c (dump_ada_template): Mark underlying instance type as
3439	visited.
3440	(dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
3441	decide whether a type has already been declared/seen.
3442	Do not go to the original type.
3443	(dump_nested_types): New parameter forward.
3444	Generate forward declaration if needed and mark type as visited.
3445	(print_ada_declaration): Call dump_nested_types if not already done.
3446	Mark types as visited.
3447
34482010-08-03  Joseph Myers  <joseph@codesourcery.com>
3449
3450	* c.opt (-print-pch-checksum): Remove option.
3451	* c-opts.c (c_common_handle_option): Don't handle
3452	OPT_print_pch_checksum.
3453
34542010-07-27  Joseph Myers  <joseph@codesourcery.com>
3455
3456	* c-common.h (c_common_handle_option): Update prototype and return
3457	value type.
3458	* c-opts.c (c_common_handle_option): Update prototype and return
3459	value type.  Update calls to handle_option and
3460	enable_warning_as_error.
3461
34622010-07-27  Jakub Jelinek  <jakub@redhat.com>
3463
3464	PR c/45079
3465	* c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
3466
34672010-07-27  Joseph Myers  <joseph@codesourcery.com>
3468
3469	* c-common.h (c_common_missing_argument): Remove.
3470	* c-opts.c (c_common_missing_argument): Remove.
3471	* c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
3472	idirafter, imacros, include, isysroot, isystem, iquote): Add
3473	MissingArgError.
3474	* c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
3475
34762010-07-27  Joseph Myers  <joseph@codesourcery.com>
3477
3478	* c-common.h (c_common_option_lang_mask,
3479	c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
3480	New.
3481	(c_common_init_options): Update prototype.
3482	* c-opts.c (c_common_option_lang_mask): New.
3483	(c_common_initialize_diagnostics): Split out of
3484	c_common_init_options.
3485	(accept_all_c_family_options, c_common_complain_wrong_lang_p):
3486	New.
3487	(c_common_init_options): Update prototype.  Use decoded options in
3488	search for -lang-asm.
3489
34902010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
3491
3492	* c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
3493	* c-format.c: Likewise.
3494
34952010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3496
3497	* c-common.h: Include diagnostic-core.h. Error if already
3498	included.
3499	* c-semantics.c: Do not define GCC_DIAG_STYLE here.
3500
35012010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3502
3503	* c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
3504	Do not include expr.h
3505	(vector_mode_valid_p): Move here.
3506
35072010-06-21  DJ Delorie  <dj@redhat.com>
3508
3509	* c-pragma.c (handle_pragma_diagnostic): Add push/pop,
3510	allow these pragmas anywhere.
3511
35122010-06-14  Jakub Jelinek  <jakub@redhat.com>
3513
3514	PR bootstrap/44509
3515	* c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
3516	(lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
3517	(lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
3518	ggc_strdup instead of xstrdup.
3519
35202010-06-10  Jakub Jelinek  <jakub@redhat.com>
3521
3522	* c-cppbuiltin.c: Include cpp-id-data.h.
3523	(lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
3524	(lazy_hex_fp_value): New function.
3525	(builtin_define_with_hex_fp_value): Provide definitions lazily.
3526
35272010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3528
3529	* c-gimplify.c: Do not include tree-flow.h
3530
35312010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
3532
3533	PR other/44034
3534	* c-common.c: Rename targetm member:
3535	targetm.enum_va_list -> targetm.enum_va_list_p
3536
35372010-06-28  Anatoly Sokolov  <aesok@post.ru>
3538
3539	* c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3540
35412010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
3542
3543	* c-cppbuiltin.c: Do not include except.h.
3544
35452010-06-24  Andi Kleen  <ak@linux.intel.com>
3546
3547	* c-common.c (warn_for_omitted_condop): New.
3548	* c-common.h (warn_for_omitted_condop): Add prototype.
3549
35502010-06-21  Joseph Myers  <joseph@codesourcery.com>
3551
3552	* c.opt (lang-objc): Remove.
3553	* c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
3554
35552010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
3556
3557	* c-opts.c: Include "tm_p.h".
3558
35592010-06-20  Joseph Myers  <joseph@codesourcery.com>
3560
3561	* c-common.c (parse_optimize_options): Update call to
3562	decode_options.
3563
35642010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
3565
3566	* c-common.c (record_types_used_by_current_var_decl): Adjust for
3567	new type of types_used_by_cur_var_decl.
3568
35692010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
3570
3571	PR bootstrap/44512
3572	* c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
3573	for C++ standard compliance.
3574
35752010-06-16  Jason Merrill  <jason@redhat.com>
3576
3577	* c.opt: Add -Wnoexcept.
3578
35792010-06-16  Richard Guenther  <rguenther@suse.de>
3580
3581	PR c/44555
3582	* c-common.c (c_common_truthvalue_conversion): Remove
3583	premature and wrong optimization concering ADDR_EXPRs.
3584
35852010-06-15  Arnaud Charlet  <charlet@adacore.com>
3586
3587	* c-ada-spec.c (dump_sloc): Remove column info.
3588	(is_simple_enum): New function.
3589	(dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
3590	enum types when relevant.
3591
35922010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3593
3594	* c-common.c (conversion_warning): Warn at expression
3595	location.
3596
35972010-06-10  Joseph Myers  <joseph@codesourcery.com>
3598
3599	* c-opts.c (c_common_handle_option): Don't handle
3600	OPT_fshow_column.
3601
36022010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3603
3604	* c-pragma.c (push_alignment): Use typed GC allocation.
3605	(handle_pragma_push_options): Likewise.
3606
3607	* c-common.c (parse_optimize_options): Likewise.
3608
3609	* c-common.h (struct sorted_fields_type): Add variable_size GTY
3610	option.
3611
36122010-06-07  Joseph Myers  <joseph@codesourcery.com>
3613
3614	* c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
3615	flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3616	flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3617	flag_signed_bitfields, warn_strict_null_sentinel,
3618	flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
3619	flag_gen_declaration, flag_no_gnu_keywords,
3620	flag_implement_inlines, flag_implicit_templates,
3621	flag_implicit_inline_templates, flag_optional_diags,
3622	flag_elide_constructors, flag_default_inline, flag_rtti,
3623	flag_conserve_space, flag_access_control, flag_check_new,
3624	flag_new_for_scope, flag_weak, flag_working_directory,
3625	flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
3626	flag_enforce_eh_specs, flag_threadsafe_statics,
3627	flag_pretty_templates): Remove.
3628	* c-common.h (flag_preprocess_only, flag_nil_receivers,
3629	flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
3630	flag_replace_objc_classes, flag_undef, flag_no_builtin,
3631	flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3632	flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3633	flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
3634	flag_no_gnu_keywords, flag_implement_inlines,
3635	flag_implicit_templates, flag_implicit_inline_templates,
3636	flag_optional_diags, flag_elide_constructors, flag_default_inline,
3637	flag_rtti, flag_conserve_space, flag_access_control,
3638	flag_check_new, flag_new_for_scope, flag_weak,
3639	flag_working_directory, flag_use_cxa_atexit,
3640	flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
3641	flag_threadsafe_statics, flag_pretty_templates,
3642	warn_strict_null_sentinel): Remove.
3643	* c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
3644	fbuiltin, fcheck-new, fconserve-space, felide-constructors,
3645	fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
3646	fimplicit-inline-templates, fimplicit-templates,
3647	flax-vector-conversions, fms-extensions, fnil-receivers,
3648	fnonansi-builtins, fpretty-templates, freplace-objc-classes,
3649	frtti, fshort-double, fshort-enums, fshort-wchar,
3650	fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
3651	funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
3652	fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
3653	gen-decls, undef): Use Var.
3654	(fdefault-inline, foptional-diags): Document as doing nothing.
3655	* c-opts.c (c_common_handle_option): Remove cases for options now
3656	using Var.  Mark ignored options as such.
3657
36582010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
3659
3660	* c-common.c: Moved to here from parent directory.
3661	* c-common.def: Likewise.
3662	* c-common.h: Likewise.
3663	* c-cppbuiltin.c: Likewise.
3664	* c-dump.c: Likewise.
3665	* c-format.c: Likewise.
3666	* c-format.h : Likewise.
3667	* c-gimplify.c: Likewise.
3668	* c-lex.c: Likewise.
3669	* c-omp.c: Likewise.
3670	* c.opt: Likewise.
3671	* c-opts.c: Likewise.
3672	* c-pch.c: Likewise.
3673	* c-ppoutput.c: Likewise.
3674	* c-pragma.c: Likewise.
3675	* c-pragma.h: Likewise.
3676	* c-pretty-print.c: Likewise.
3677	* c-pretty-print.h: Likewise.
3678	* c-semantics.c: Likewise.
3679	* stub-objc.c: Likewise.
3680
3681	* c-common.c: Include gt-c-family-c-common.h.
3682	* c-pragma.c: Include gt-c-family-c-pragma.h.
3683
3684Copyright (C) 2010-2014 Free Software Foundation, Inc.
3685
3686Copying and distribution of this file, with or without modification,
3687are permitted in any medium without royalty provided the copyright
3688notice and this notice are preserved.
3689