12019-05-03  Release Manager
2
3	* GCC 9.1.0 released.
4
52019-04-19  Jakub Jelinek  <jakub@redhat.com>
6
7	PR c/89888
8	* c-common.h (c_add_case_label): Remove orig_type and outside_range_p
9	arguments.
10	(c_do_switch_warnings): Remove outside_range_p argument.
11	* c-common.c (check_case_bounds): Removed.
12	(c_add_case_label): Remove orig_type and outside_range_p arguments.
13	Don't call check_case_bounds.  Fold low_value as well as high_value.
14	* c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
15	Check for case labels outside of range of original type here and
16	adjust them.
17
182019-04-12  Jakub Jelinek  <jakub@redhat.com>
19
20	PR translation/90041
21	* c.opt (-fhandle-exceptions): Use %< and %> around option names
22	in the Warn diagnostics.
23
24	PR c/89946
25	* c-attribs.c (handle_patchable_function_entry_attribute): Add
26	function comment.  Warn if arguments of the attribute are not positive
27	integer constants.
28
292019-04-09  Eric Botcazou  <ebotcazou@adacore.com>
30
31	* c-ada-spec.c (print_destructor): Deal with deleting destructors.
32	(dump_ada_declaration) <FUNCTION_DECL>: Likewise.
33
342019-04-07  Eric Botcazou  <ebotcazou@adacore.com>
35
36	* c-ada-spec.c (is_float128): New predicate extracted from...
37	(dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
38	<REAL_TYPE>: ...here.  Call it.
39
402019-04-05  David Malcolm  <dmalcolm@redhat.com>
41
42	PR c/89985
43	* c-warn.c (check_address_or_pointer_of_packed_member): Add
44	auto_diagnostic_group.  Guard inform calls by result of
45	warning_at call.
46
472019-04-05  Marek Polacek  <polacek@redhat.com>
48
49	PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
50	* c-warn.c (check_address_or_pointer_of_packed_member): Check the type
51	of RHS.
52
532019-04-03  Jason Merrill  <jason@redhat.com>
54
55	PR c++/86586 - -fcompare-debug=-Wsign-compare.
56	* c-warn.c (warn_for_sign_compare): Call fold_for_warn.
57
582019-04-01  Martin Sebor  <msebor@redhat.com>
59
60	PR c/89685
61	* c-attribs.c (handle_copy_attribute): Handle references and
62	non-constant expressions.
63
642019-03-22  Jakub Jelinek  <jakub@redhat.com>
65
66	PR c++/87481
67	* c.opt (-fconstexpr-ops-limit=): New option.
68
692019-03-21  Jakub Jelinek  <jakub@redhat.com>
70
71	* c-common.c (per_file_includes_t): Use false as Lazy in hash_set
72	template param.
73
742019-03-19  Martin Sebor  <msebor@redhat.com>
75
76	PR tree-optimization/89688
77	* c-common.c (braced_list_to_string): Make static.
78	(braced_lists_to_strings): Define new function.
79	* c-common.h (braced_list_to_string): Remove.
80	(braced_lists_to_strings): Declare.
81
822019-03-12  Martin Liska  <mliska@suse.cz>
83
84	* c-opts.c (c_common_handle_option): Wrap option with %< and %>.
85
862019-03-11  Martin Liska  <mliska@suse.cz>
87
88	* c-opts.c (c_common_post_options): Wrap apostrophes
89	in gcc internal format with %'.
90
912019-03-11  Martin Liska  <mliska@suse.cz>
92
93	* c-attribs.c (handle_nocf_check_attribute): Wrap an option name
94	in a string format message and fix GNU coding style.
95	* c-common.c (vector_types_convertible_p): Likewise.
96	(c_build_vec_perm_expr): Likewise.
97	* c-indentation.c (get_visual_column): Likewise.
98	* c-opts.c (c_common_handle_option): Likewise.
99	(c_common_post_options): Likewise.
100	(sanitize_cpp_opts): Likewise.
101	* c-pch.c (c_common_pch_pragma): Likewise.
102	* c-pragma.c (handle_pragma_pack): Likewise.
103
1042019-03-08  Jakub Jelinek  <jakub@redhat.com>
105
106	PR tree-optimization/89550
107	* c-common.c (c_common_truthvalue_conversion): Only set
108	TREE_NO_WARNING if warning_at returned true.
109	* c-warn.c (overflow_warning, warn_logical_operator): Likewise.
110
1112019-02-25  Sandra Loosemore  <sandra@codesourcery.com>
112	    Martin Sebor  <msebor@gmail.com>
113
114	* c.opt (Wmissing-attributes): Clean up doc string.
115
1162019-02-25  Jakub Jelinek  <jakub@redhat.com>
117
118	PR c/89495
119	* c-format.c (maybe_read_dollar_number): Compute nargnum in
120	HOST_WIDE_INT type to avoid overflows and change overflow_flag
121	checking.
122
1232019-02-22  Richard Biener  <rguenther@suse.de>
124
125	* c-pch.c (no_checksum): Remove.
126	(pch_init): Remove assertion that executable_checksum is not
127	all zero.
128	(c_common_valid_pch): Likewise.
129
1302019-02-18  Martin Sebor  <msebor@redhat.com>
131
132	PR middle-end/89294
133	* c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
134
1352019-02-16  David Malcolm  <dmalcolm@redhat.com>
136
137	PR c++/88680
138	* c-common.c (shorten_compare): Call fold_for_warn on op0 when
139	implementing -Wtype-limits.
140
1412019-02-11  Martin Sebor  <msebor@redhat.com>
142
143	PR c++/87996
144	* c-common.c (invalid_array_size_error): New function.
145	(valid_array_size_p): Call it.  Handle size as well as type.
146	* c-common.h (valid_constant_size_p): New function.
147	(enum cst_size_error): New type.
148
1492019-01-31  David Malcolm  <dmalcolm@redhat.com>
150
151	PR c/89122
152	* known-headers.cc (get_stdlib_header_for_name): Add
153	{FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
154
1552019-01-31  Jakub Jelinek  <jakub@redhat.com>
156
157	PR libstdc++/88170
158	* c-pretty-print.c (pp_c_enumeration_constant): Print always as
159	a C cast in pp_c_flag_gnu_v3 mode.
160
1612019-01-29  Jakub Jelinek  <jakub@redhat.com>
162
163	PR c/86125
164	* c-common.c (c_common_nodes_and_builtins): Build type variants for
165	builtin_structptr_types types even for C.
166
1672019-01-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
168
169	* c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
170	when rhs is of array type correctly.  Fix handling of nested structures.
171	Fix handling of indirect_ref together with nop_expr and/or addr_expr.
172	(check_and_warn_address_or_pointer_of_packed_member): Fix handling of
173	type casts within nested compound expressions.
174
1752019-01-22  Jakub Jelinek  <jakub@redhat.com>
176
177	PR middle-end/88968
178	* c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
179	variable after using BIT_FIELD_REF.
180
1812019-01-18  H.J. Lu  <hongjiu.lu@intel.com>
182
183	PR c/51628
184	PR c/88664
185	* c-common.h (warn_for_address_or_pointer_of_packed_member):
186	Remove the boolean argument.
187	* c-warn.c (check_address_of_packed_member): Renamed to ...
188	(check_address_or_pointer_of_packed_member): This.  Also
189	warn pointer conversion.
190	(check_and_warn_address_of_packed_member): Renamed to ...
191	(check_and_warn_address_or_pointer_of_packed_member): This.
192	Also warn pointer conversion.
193	(warn_for_address_or_pointer_of_packed_member): Remove the
194	boolean argument.  Don't check pointer conversion here.
195
1962019-01-15  Richard Sandiford  <richard.sandiford@arm.com>
197
198	PR inline-asm/52813
199	* c.opt (Wdeprecated): Move documentation and variable to common.opt.
200
2012019-01-14  Jakub Jelinek  <jakub@redhat.com>
202
203	* c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
204	and __cpp_nontype_template_parameter_auto.  Add a comment that
205	__cpp_template_auto is deprecated.
206
2072019-01-14  Tom Honermann  <tom@honermann.net>
208
209	Implement P0482R5, char8_t: A type for UTF-8 characters and strings
210	* c-common.c (c_common_reswords): Add char8_t.
211	(fix_string_type): Use char8_t for the type of u8 string literals.
212	(c_common_get_alias_set): char8_t doesn't alias.
213	(c_common_nodes_and_builtins): Define char8_t as a builtin type in
214	C++.
215	(c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
216	(keyword_begins_type_specifier): Add RID_CHAR8.
217	* c-common.h (rid): Add RID_CHAR8.
218	(c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
219	Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
220	Define char8_type_node and char8_array_type_node.
221	* c-cppbuiltin.c (cpp_atomic_builtins): Predefine
222	__GCC_ATOMIC_CHAR8_T_LOCK_FREE.
223	(c_cpp_builtins): Predefine __cpp_char8_t.
224	* c-lex.c (lex_string): Use char8_array_type_node as the type of
225	CPP_UTF8STRING.
226	(lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
227	* c-opts.c: If not otherwise specified, enable -fchar8_t when
228	targeting C++2a.
229	* c.opt: Add the -fchar8_t command line option.
230
2312019-01-14  Martin Sebor  <msebor@redhat.com>
232
233	PR target/88638
234	* c-attribs.c (positional_argument): Call valid_format_string_type_p
235	and issue errors if it fails.
236	* c-common.h (valid_format_string_type_p): Declare.
237	* c-format.c (valid_stringptr_type_p): Rename...
238	(valid_format_string_type_p): ...to this and make extern.
239	(handle_format_arg_attribute): Adjust to new name.
240	(check_format_string): Same.
241
2422019-01-13  H.J. Lu  <hongjiu.lu@intel.com>
243
244	* c-warn.c (warn_for_address_or_pointer_of_packed_member):
245	Replace "may may" with "may" in warning message.
246
2472019-01-07  Jakub Jelinek  <jakub@redhat.com>
248
249	PR c++/85052
250	* c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
251	(c_build_vec_convert): Declare.
252	* c-common.c (c_build_vec_convert): New function.
253
2542019-01-04  Martin Sebor  <msebor@redhat.com>
255
256	PR c/88546
257	* c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
258	Handle C++ empty throw specification and C11 _Noreturn.
259	(has_attribute): Also handle C11 _Noreturn.
260
2612019-01-04  Martin Sebor  <msebor@redhat.com>
262
263	PR c/88363
264	* c-attribs.c (positional_argument): Also accept enumerated types.
265
2662019-01-01  Jakub Jelinek  <jakub@redhat.com>
267
268	Update copyright years.
269
2702018-12-20  H.J. Lu  <hongjiu.lu@intel.com>
271
272	PR c/51628
273	* c-common.h (warn_for_address_or_pointer_of_packed_member): New.
274	* c-warn.c (check_alignment_of_packed_member): New function.
275	(check_address_of_packed_member): Likewise.
276	(check_and_warn_address_of_packed_member): Likewise.
277	(warn_for_address_or_pointer_of_packed_member): Likewise.
278	* c.opt: Add -Wno-address-of-packed-member.
279
2802018-12-20  David Malcolm  <dmalcolm@redhat.com>
281
282	PR c++/87504
283	* c-warn.c (get_outermost_macro_expansion): New function.
284	(spelled_the_same_p): Use it to unwind the macro expansions, and
285	compare the outermost macro in each nested expansion, rather than
286	the innermost.
287
2882018-12-19  David Malcolm  <dmalcolm@redhat.com>
289
290	PR c++/87504
291	* c-common.h (warn_tautological_cmp): Convert 1st param from
292	location_t to const op_location_t &.
293	* c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
294	when testing for INTEGER_CST.
295	(warn_tautological_bitwise_comparison): Convert 1st param from
296	location_t to const op_location_t &; use it to build a
297	binary_op_rich_location, and use this.
298	(spelled_the_same_p): New function.
299	(warn_tautological_cmp): Convert 1st param from location_t to
300	const op_location_t &.  Warn for macro expansions if
301	spelled_the_same_p.  Use binary_op_rich_location.
302
3032018-12-19  David Malcolm  <dmalcolm@redhat.com>
304
305	PR c++/43064
306	PR c++/43486
307	* c-common.c (unsafe_conversion_p): Fold any location wrapper.
308	(verify_tree): Handle location wrappers.
309	(c_common_truthvalue_conversion): Strip any location wrapper.
310	Handle CONST_DECL.
311	(fold_offsetof): Strip any location wrapper.
312	(complete_array_type): Likewise for initial_value.
313	(convert_vector_to_array_for_subscript): Call fold_for_warn on the
314	index before checking for INTEGER_CST.
315	* c-pretty-print.c (c_pretty_printer::primary_expression): Don't
316	print parentheses around location wrappers.
317	* c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
318	before checking for INTEGER_CST.
319	(warn_tautological_bitwise_comparison): Call
320	tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
321	before checking for INTEGER_CST.
322	(readonly_error): Strip any location wrapper.
323	(warn_array_subscript_with_type_char): Strip location wrappers
324	before checking for INTEGER_CST.  Use the location of the index if
325	available.
326
3272018-12-06  Jason Merrill  <jason@redhat.com>
328
329	PR c++/88136 - -Wdeprecated-copy false positives
330	* c.opt (Wdeprecated-copy-dtor): New.
331	(Wdeprecated-copy): Move to -Wextra.
332
3332018-11-29  Martin Sebor  <msebor@redhat.com>
334
335	PR c/88172
336	PR testsuite/88208
337	* c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
338	alignments to values less than the target requires.
339	(has_attribute): For attribute aligned consider both the attribute
340	and the alignment bits.
341	* c-common.c (c_init_attributes): Optionally issue a warning for
342	zero alignment.
343
3442018-11-28  Martin Sebor  <msebor@redhat.com>
345
346	PR c/88065
347	PR c/87297
348	* c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
349	or destination is an error.
350
3512018-11-28  Jakub Jelinek  <jakub@redhat.com>
352
353	PR c++/88215
354	* c-ubsan.c: Include langhooks.h.
355	(ubsan_instrument_division): Change gcc_assert that main variants
356	of op0 and op1 types are equal to gcc_checking_assert that the
357	main variants are compatible types.
358
3592018-11-27  Eric Botcazou  <ebotcazou@adacore.com>
360
361	* c-ada-spec.c: Include stringpool.h.
362	(has_static_fields): Return false for incomplete types.
363	(is_tagged_type): Likewise.
364	(has_nontrivial_methods): Likewise.
365	(dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
366	(struct overloaded_name_hash): New structure.
367	(struct overloaded_name_hasher): Likewise.
368	(overloaded_names): New global variable.
369	(init_overloaded_names): New static function.
370	(overloaded_name_p): New predicate.
371	(dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
372	on the TYPE_STUB_DECL of the original type of a typedef, if any.
373	<FUNCTION_DECL>: Bail out for an unsupported overloaded name.
374	Remove always-true condition and dump forward types.
375	(dump_ada_specs): Delete overloaded_names.
376
3772018-11-20  Martin Sebor  <msebor@redhat.com>
378
379	* c-attribs.c (type_for_vector_size): New function.
380	(type_valid_for_vector_size): Same.
381	(handle_vector_size_attribute): Move code to the functions above
382	and call them.
383	(validate_attribute, has_attribute): New functions.
384	* c-common.h (has_attribute): Declare.
385	(rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
386	* c-common.c (c_common_resword): Same.
387
3882018-11-16  Jason Merrill  <jason@redhat.com>
389
390	* c-lex.c (c_common_has_attribute): Handle likely/unlikely.
391	* c-attribs.c (attr_cold_hot_exclusions): Make public.
392
3932018-11-16  Jakub Jelinek  <jakub@redhat.com>
394
395	PR middle-end/87854
396	* c-common.c (fix_string_type): Reject string literals larger than
397	TYPE_MAX_VALUE (ssizetype) bytes.
398
3992018-11-15  Martin Sebor  <msebor@redhat.com>
400
401	PR c++/87541
402	PR c++/87542
403	* c-attribs.c (positional_argument): New function.
404	(handle_alloc_size_attribute): Use it and simplify.
405	(handle_alloc_align_attribute): Same.
406	(handle_assume_aligned_attribute): Same.
407	(handle_nonnull_attribute): Same.
408	* c-common.c (check_function_arguments): Pass fntype to
409	check_function_format.
410	* c-common.h (check_function_format): Add an argument.
411	(PosArgFlags, positional_argument): Declare new type and function.
412	* c-format.c (decode_format_attr): Add arguments.
413	(check_format_string, get_constant): Same.
414	(convert_format_name_to_system_name): Adjust.
415
4162018-11-15  David Malcolm  <dmalcolm@redhat.com>
417
418	PR other/19165
419	* c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
420
4212018-11-14  Jakub Jelinek  <jakub@redhat.com>
422
423	P1236R1 - Signed integers are two's complement
424	* c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
425	* c-ubsan.c (ubsan_instrument_shift): Make signed shifts
426	with in-range second operand well defined for -std=c++2a.
427
428	PR other/88007
429	* c-common.c (parse_optimize_options): Allocate option string from
430	opts_obstack rather than as GC memory.  Move the allocation after
431	warning for invalid option.
432
4332018-11-13  David Malcolm  <dmalcolm@redhat.com>
434
435	* c-common.c (c_get_substring_location): Update for renaming of
436	get_source_location_for_substring to get_location_within_string.
437	* c-lex.c: Replace "source_location" with "location_t".
438	* c-opts.c: Likewise.
439	* c-ppoutput.c: Likewise.
440
4412018-11-13  Martin Sebor  <msebor@redhat.com>
442
443	PR middle-end/81824
444	* c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
445	(handle_tls_model_attribute): Improve diagnostics.
446
4472018-11-12  Jason Merrill  <jason@redhat.com>
448
449	* c-cppbuiltin.c (c_cpp_builtins): Define
450	__cpp_impl_destroying_delete.
451
452	* c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
453	__cpp_conditional_explicit.
454
4552018-11-09  Martin Sebor  <msebor@redhat.com>
456
457	PR middle-end/81824
458	* c-attribs.c (handle_copy_attribute): New function.
459
4602018-11-09  Martin Sebor  <msebor@redhat.com>
461
462	PR c/87795
463	* c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
464
4652018-11-08  Jakub Jelinek  <jakub@redhat.com>
466
467	* c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
468	(c_finish_omp_atomic): Replace bool SEQ_CST argument with
469	enum omp_memory_order MEMORY_ORDER.
470	(c_finish_omp_flush): Add MO argument.
471	(c_omp_depend_t_p, c_finish_omp_depobj): Declare.
472	(c_finish_omp_for): Add FINAL_P argument.
473	* c-omp.c: Include memmodel.h.
474	(c_finish_omp_taskgroup): Add CLAUSES argument.  Set
475	OMP_TASKGROUP_CLAUSES to it.
476	(c_finish_omp_atomic): Replace bool SEQ_CST argument with
477	enum omp_memory_order MEMORY_ORDER.  Set OMP_ATOMIC_MEMORY_ORDER
478	instead of OMP_ATOMIC_SEQ_CST.
479	(c_omp_depend_t_p, c_finish_omp_depobj): New functions.
480	(c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
481	__atomic_thread_fence call with the given value.
482	(check_omp_for_incr_expr): Formatting fixes.
483	(c_finish_omp_for): Add FINAL_P argument.  Allow NE_EXPR
484	even in OpenMP loops, diagnose if NE_EXPR and incr expression
485	is not constant expression 1 or -1.  Transform NE_EXPR loops
486	with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
487	(c_omp_check_loop_iv_r): Look for orig decl of C++ range for
488	loops too.
489	(c_omp_split_clauses): Add support for combined
490	#pragma omp parallel master and
491	#pragma omp {,parallel }master taskloop{, simd} constructs.
492	Handle OMP_CLAUSE_IN_REDUCTION.  Handle OMP_CLAUSE_REDUCTION_TASK.
493	Handle OMP_CLAUSE_NONTEMPORAL.  Handle splitting OMP_CLAUSE_IF
494	also to OMP_SIMD.  Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
495	(c_omp_predetermined_sharing): Don't return
496	OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
497	* c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
498	PRAGMA_OMP_REQUIRES.
499	* c-pragma.h (enum pragma_kind): Likewise.
500	(enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
501	and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
502
5032018-11-08  David Malcolm  <dmalcolm@redhat.com>
504
505	* c-format.c (gcc_dump_printf_char_table): Add entry for %f.
506
5072018-11-08  David Malcolm  <dmalcolm@redhat.com>
508
509	* c-format.c (local_cgraph_node_ptr_node): New variable.
510	(gcc_dump_printf_char_table): Add entry for %C.
511	(get_pointer_to_named_type): New function, taken from the handling
512	code for "gimple *" from...
513	(init_dynamic_diag_info): ...here.  Add handling for
514	"cgraph_node *".
515	* c-format.h (T_CGRAPH_NODE): New.
516
5172018-10-19  Jason Merrill  <jason@redhat.com>
518
519	* c-cppbuiltin.c (c_cpp_builtins): Add
520	__cpp_nontype_template_parameter_class.
521
5222018-10-31  Nathan Sidwell  <nathan@acm.org>
523
524	* c-opts.c (c_finish_options): Force command line macro
525	location.  Refactor to avoid repeating main debug hook.
526	(push_command_line_include): Clarify comment.
527
528	* c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
529
5302018-10-30  Martin Sebor  <msebor@redhat.com>
531
532	PR middle-end/87041
533	* c-format.c (check_format_types): Avoid diagnosing null pointer
534	arguments to printf-family of functions.
535
5362018-10-30  Marek Polacek  <polacek@redhat.com>
537
538	Implement P0892R2, explicit(bool).
539	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
540
5412018-10-29  David Malcolm  <dmalcolm@redhat.com>
542
543	* name-hint.h (name_hint::take_deferred): New member function.
544
5452018-10-29  David Malcolm  <dmalcolm@redhat.com>
546
547	PR c++/56856
548	* c-common.c (check_function_sentinel): Call fold_for_warn on the
549	argument.
550	(check_function_restrict): Rename param "argarray" to
551	"unfolded_argarray", and make a copy named "argarray", calling
552	fold_for_warn on each argument.
553	(check_function_arguments): Add note about responsibility for
554	folding the arguments.
555
5562018-10-17  Joseph Myers  <joseph@codesourcery.com>
557
558	* c-common.c (flag_isoc2x): New variable.
559	* c-common.h (clk_c): Update comment to reference C2X.
560	(flag_isoc99, flag_isoc11): Update comments to reference future
561	standard versions in general.
562	(flag_isoc2x): Declare.
563	* c-opts.c (set_std_c2x): New function.
564	(c_common_handle_option): Handle -std=c2x and -std=gnu2x.
565	(set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
566	flag_isoc2x to 0.
567	* c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
568
5692018-10-17  Joseph Myers  <joseph@codesourcery.com>
570
571	* c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
572	(std=iso9899:2018): Document C17 as published in 2018.
573
5742018-10-12  Christophe Lyon  <christophe.lyon@linaro.org>
575
576	PR c++/87364
577	* c-pretty-print.c (c_pretty_printer::constant): Fix typo.
578
5792018-10-11  Will Wray  <wjwray@gmail.com>
580
581	PR c++/87364
582	* c-pretty-print.h (pp_c_type_cast): Prototype.
583	(pp_c_integer_constant): Likewise.
584	* c-pretty-print.c (pp_c_type_cast): No longer static.
585	(pp_c_integer_constant): Likewise.
586	(pp_c_enumeration_constant): Fix loop termination when finding
587	name of constant.  No longer returns a value.  Call
588	pp_c_integer_constant.
589	(c_pretty_printer::constant): Update for changes to
590	pp_c_enumeration_constant.
591
5922018-10-11  Jakub Jelinek  <jakub@redhat.com>
593
594	* c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
595	for no_unique_address.
596
5972018-10-09  David Malcolm  <dmalcolm@redhat.com>
598
599	* c-common.c (c_option_controlling_cpp_error): Rename to...
600	(c_option_controlling_cpp_diagnostic): ...this, and convert
601	"reason" from int to enum.
602	(c_cpp_error): Rename to...
603	(c_cpp_diagnostic): ...this, converting level and reason to enums.
604	* c-common.h (c_cpp_error): Rename to...
605	(c_cpp_diagnostic): ...this, converting level and reason to enums.
606	* c-opts.c (c_common_init_options): Update for renaming.
607
6082018-10-08  Richard Sandiford  <richard.sandiford@arm.com>
609
610	PR c/87286
611	* c-common.c (vector_types_compatible_elements_p): Use
612	INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
613
6142018-10-04  Vinay Kumar  <vinay.kumar@blackfigtech.com>
615
616	* c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
617	to generate constructor destructor priority warning.
618	* c.opt (-Wprio-ctor-dtor): New option.
619
6202018-10-01  Jason Merrill  <jason@redhat.com>
621
622	* c-lex.c (c_common_has_attribute): Add no_unique_address.
623
6242018-10-01  Eric Botcazou  <ebotcazou@adacore.com>
625
626	* c-ada-spec.c (get_underlying_decl): Get to the main type variant.
627	(dump_ada_node): Add const keyword.
628
6292018-09-25  Martin Liska  <mliska@suse.cz>
630
631	* c-common.c (c_common_truthvalue_conversion):
632	Remove Pascal from documentation.
633
6342018-09-21  Eric Botcazou  <ebotcazou@adacore.com>
635
636	* c-ada-spec.c: Include diagnostic.h.
637	(dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
638
6392018-09-19  Marek Polacek  <polacek@redhat.com>
640
641	* c.opt (Wclass-conversion): New.
642
6432018-09-17  David Malcolm  <dmalcolm@redhat.com>
644
645	* c-format.c (range_label_for_format_type_mismatch::get_text):
646	Update for new param.
647
6482018-09-17  David Malcolm  <dmalcolm@redhat.com>
649
650	* c-format.c (format_warning_at_char): Update for introduction of
651	format_string_diagnostic_t.
652	(format_type_warning): Likewise.
653
6542018-09-17  Martin Jambor  <mjambor@suse.cz>
655
656	PR c/63886
657	* c.opt (Wabsolute-value): New.
658
6592018-09-06  Bernd Edlinger  <bernd.edlinger@hotmail.de>
660
661	* c-common.c (complete_flexible_array_elts): New helper function.
662	* c-common.h (complete_flexible_array_elts): Declare.
663
6642018-09-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
665
666	* c-common.c (braced_list_to_string): Remove eval parameter.
667	Add some more checks.  Always create zero-terminated STRING_CST.
668	* c-common.h (braced_list_to_string): Adjust prototype.
669
6702018-08-27  David Malcolm  <dmalcolm@redhat.com>
671
672	PR 87091
673	* c-common.c (c_cpp_error): Update for conversion of show_caret_p
674	to a tri-state.
675	(maybe_suggest_missing_token_insertion): Likewise.
676	(maybe_add_include_fixit): Add param "override_location".  If set,
677	and source-printing is enabled, then override the rich_location's
678	primary location with that of the insertion point for the fix-it
679	hint, marking it with SHOW_LINES_WITHOUT_RANGE.
680	* c-common.h (extern void maybe_add_include_fixit): Add bool
681	param.
682	* c-format.c (selftest::test_type_mismatch_range_labels): Update
683	for conversion of show_caret_p to a tri-state.
684	* c-warn.c (warn_for_restrict): Likewise.
685	* known-headers.cc
686	(suggest_missing_header::~suggest_missing_header): Update call to
687	maybe_add_include_fixit to suggest overriding the location, as it
688	is for a note.
689
6902018-08-27  Martin Liska  <mliska@suse.cz>
691
692	* c-common.c (check_function_restrict): Use new function
693	fndecl_built_in_p and remove check for FUNCTION_DECL if
694	possible.
695	(check_builtin_function_arguments): Likewise.
696	(reject_gcc_builtin): Likewise.
697	* c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
698
6992018-08-26  Marek Polacek  <polacek@redhat.com>
700
701	PR c++/87029, Implement -Wredundant-move.
702	* c.opt (Wredundant-move): New option.
703
7042018-08-21  Marek Polacek  <polacek@redhat.com>
705
706	PR c++/86981, Implement -Wpessimizing-move.
707	* c.opt (Wpessimizing-move): New option.
708
7092018-08-20  David Malcolm  <dmalcolm@redhat.com>
710
711	PR other/84889
712	* c-attribs.c (common_handle_aligned_attribute): Add
713	auto_diagnostic_group instance.
714	* c-indentation.c (warn_for_misleading_indentation): Likewise.
715	* c-opts.c (c_common_post_options): Likewise.
716	* c-warn.c (warn_logical_not_parentheses): Likewise.
717	(warn_duplicated_cond_add_or_warn): Likewise.
718	(warn_for_multistatement_macros): Likewise.
719
7202018-08-20  Nathan Sidwell  <nathan@acm.org>
721
722	* c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
723	access.
724
7252018-08-17  Nathan Sidwell  <nathan@acm.org>
726
727	* c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
728	field.
729	(laxy_hex_fp_value_count): Make unsigned.
730	(lazy_hex_fp_value): Provided with macro & lazy number.  Directly
731	manipulate the macro.
732	(builtin_defin_with_hex_fp_value): Adjust callback name, use
733	cpp_define_lazily.
734
7352018-08-17  David Malcolm  <dmalcolm@redhat.com>
736
737	* c-format.c (enum format_type): Add gcc_dump_printf_format_type.
738	(gcc_dump_printf_length_specs): New.
739	(gcc_dump_printf_flag_pairs): New.
740	(gcc_dump_printf_flag_specs): New.
741	(gcc_dump_printf_char_table): New.
742	(format_types_orig): Add entry for "gcc_dump_printf".
743	(init_dynamic_diag_info): Set up length_char_specs and
744	conversion_specs for gcc_dump_printf_format_type.
745	(handle_format_attribute): Handle gcc_dump_printf_format_type.
746
7472018-08-17  Nathan Sidwell  <nathan@acm.org>
748
749	* c-ada-spec.c (macro_length, dump_ada_macros): Constify.
750
751	* c-ada-spec.c: Don't #include "cpp-id-data.h"
752	* c-cppbuiltin.c: Likewise.
753
7542018-08-17  Martin Liska  <mliska@suse.cz>
755
756	* c.opt: Remove Warn, Init and Report for options with
757	Ignore/Deprecated flag. Warning is done automatically for
758	Deprecated flags.
759
7602018-08-16  David Malcolm  <dmalcolm@redhat.com>
761
762	PR c++/70693
763	* c-common.c (selftest::c_family_tests): Call
764	selftest::c_indentation_c_tests.
765	* c-common.h (selftest::c_indentation_c_tests): New decl.
766	* c-indentation.c: Include "selftest.h".
767	(next_tab_stop): Add "tab_width" param, rather than accessing
768	cpp_opts.
769	(get_visual_column): Likewise.  Clarify comment.  Bulletproof
770	against reading past the end of the line.
771	(get_first_nws_vis_column): Add "tab_width" param.
772	(detect_intervening_unindent): Likewise.
773	(should_warn_for_misleading_indentation): Read tab width from
774	cpp_opts and pass around.
775	(selftest::test_next_tab_stop): New test.
776	(selftest::assert_get_visual_column_succeeds): New function.
777	(ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
778	(selftest::assert_get_visual_column_fails): New function.
779	(ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
780	(selftest::test_get_visual_column): New test.
781	(selftest::c_indentation_c_tests): New function.
782
7832018-08-16  Nathan Sidwell  <nathan@acm.org>
784
785	* c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
786	(store_ada_macro): Likewise.
787	* c-ppoutput.c (cb_used_define, dump_macro): Likewise.
788	* c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
789
7902018-08-15  David Malcolm  <dmalcolm@redhat.com>
791
792	* c-format.c: Include "selftest-diagnostic.h" and
793	"gcc-rich-location.h".
794	(format_warning_at_char): Pass NULL for new label params of
795	format_warning_va.
796	(class indirection_suffix): New class.
797	(class range_label_for_format_type_mismatch): New class.
798	(format_type_warning): Move logic for generating "*" suffix to
799	class indirection_suffix.  Create "fmt_label" and "param_label"
800	to show their types, and pass them to the
801	format_warning_at_substring calls.
802	(selftest::test_type_mismatch_range_labels): New test.
803	(selftest::c_format_c_tests): Call it.
804
8052018-08-13  Martin Sebor  <msebor@redhat.com>
806
807	PR tree-optimization/71625
808	* c-common.c (braced_list_to_string): New function.
809	* c-common.h (braced_list_to_string): Declare it.
810
8112018-08-08  Nathan Sidwell  <nathan@acm.org>
812
813	* c-common.c (try_to_locate_new_include_inertion_point): Use
814	linemap_included_from_linemap.
815	* c-lex.c (fe_file_change): Use linemap_included_from.
816	* c-ppoutput.c (pp_file_change): Likewise.
817
8182018-08-01  Martin Sebor  <msebor@redhat.com>
819
820	PR tree-optimization/86650
821	* c-family/c-format.c (gcc_tdiag_char_table): Update comment for "%G".
822	(gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
823 	(init_dynamic_diag_info): Update from "gcall *" to "gimple *".
824 	* c-format.h (T89_G): Update to be "gimple *" rather than
825 	"gcall *".
826	(local_gcall_ptr_node): Rename...
827 	(local_gimple_ptr_node): ...to this.
828
8292018-07-31  David Malcolm  <dmalcolm@redhat.com>
830
831	* c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
832	table entries for gcc_diag_char_table, and the 'Z' entry from
833	gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
834	&gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
835	(gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
836	adding missing "Z" for this table.  Remove erroneous "G" and "K"
837	entries.
838	(gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE.  Remove "v".
839	(gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
840	(gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE.  Remove "v".
841
8422018-07-31  Richard Earnshaw  <rearnsha@arm.com>
843
844	* c-common.c (speculation_safe_resolve_call): New function.
845	(speculation_safe_resolve_params): New function.
846	(speculation_safe_resolve_return): New function.
847	(resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
848	* c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
849	__HAVE_SPECULATION_SAFE_VALUE.
850
8512018-07-20  David Malcolm  <dmalcolm@redhat.com>
852
853	* c-common.c (c_cpp_error): Remove redundant "line_table"
854	parameter from call to rich_location::set_range.
855	(maybe_suggest_missing_token_insertion): Likewise.
856
8572018-07-20  Martin Sebor  <msebor@redhat.com>
858
859	PR middle-end/82063
860	* gcc/c-family/c.opt (-Warray-bounds): Remove redundant -Wall.
861
8622018-07-20  Martin Sebor  <msebor@redhat.com>
863
864	PR middle-end/82063
865	* c-common.h (c_common_handle_option): Change function argument
866	to HOST_WIDE_INT.
867	* c-opts.c (c_common_init_options): Same.
868	(c_common_handle_option): Same.  Remove special handling of
869	OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
870	* c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
871	options to take a HOST_WIDE_INT argument and accept a byte-size
872	suffix.  Initialize.
873	(-Wvla-larger-than): Same.
874	(-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
875	(-Wno-vla-larger-than): Same.
876
8772018-07-12  Jakub Jelinek  <jakub@redhat.com>
878
879	* c-attribs.c (c_common_attribute_table): Add
880	"omp declare target implicit" attribute.
881
8822018-07-12  Richard Biener  <rguenther@suse.de>
883
884	PR c/86453
885	* c-attribs.c (handle_packed_attribute): Do not build a variant
886	type with TYPE_PACKED, instead ignore the attribute if we may
887	not apply to the original type.
888
8892018-07-10  Jakub Jelinek  <jakub@redhat.com>
890
891	PR c++/86443
892	* c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
893	to contain TREE_LIST for both the original class iterator and the
894	"last" helper var.
895
8962018-07-07  Eric Botcazou  <ebotcazou@adacore.com>
897
898	* c-ada-spec.c (to_ada_name): Remove index parameter.
899	(pp_ada_tree_identifier): Likewise.
900	(dump_ada_macros): Adjust call to to_ada_name.
901	(struct overloaded_name_hash): Delete.
902	(struct overloaded_name_hasher): Likewise.
903	(overloaded_names): Likewise.
904	(compute_overloading_index): Likewise.
905	(dump_ada_decl_name): Do not call compute_overloading_index and
906	adjust calls to pp_ada_tree_identifier.
907	(dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
908	(dump_ada_import): Add spc parameter and switch to aspect syntax.
909	(dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
910	(dump_ada_enum_type): Remove type and display_convention parameters.
911	Adjust calls to pp_ada_tree_identifier.
912	(dump_ada_node): Likewise and for dump_ada_structure.
913	(dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
914	and tidy up.
915	<RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
916	syntax.
917	(print_constructor): Adjust call to pp_ada_tree_identifier.
918	(print_destructor): Likewise.
919	(dump_ada_declaration): Switch to aspect syntax.
920	(dump_ada_structure): Likewise and tidy up.  Replace display_convention
921	parameter with nested parameter.
922	(dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
923	(dump_ada_specs): Do not delete overloaded_names table.
924
9252018-07-06  Peter Bergner  <bergner@linux.ibm.com>
926
927	PR target/86324
928	* c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
929	target hook.
930
9312018-07-05  Nathan Sidwell  <nathan@acm.org>
932
933	* c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
934	NO_IMPLICIT_EXTERN_C.
935
9362018-06-28  Martin Liska  <mliska@suse.cz>
937
938	* cppspec.c: Include opt-suggestions.h.
939
9402018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
941	    Thomas Schwinge <thomas@codesourcery.com>
942	    Cesar Philippidis  <cesar@codesourcery.com>
943
944	* c-pragma.h (enum pragma_omp_clause): Add
945	PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
946	PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
947
9482018-06-20  Jakub Jelinek  <jakub@redhat.com>
949
950	PR c++/86210
951	* c-common.c (check_nonnull_arg): Use fold_for_warn.  Adjust obsolete
952	comment.
953
9542018-06-18  Martin Sebor  <msebor@redhat.com>
955
956	PR middle-end/85602
957	* c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
958	nonstring.
959
9602018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
961
962	* c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
963
9642018-06-13  Jason Merrill  <jason@redhat.com>
965
966	* c-opts.c (c_common_post_options): Warn about useless -Wabi.
967	(c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
968	handling.
969
970	PR c++/86094 - wrong code with defaulted move ctor.
971	* c-opts.c (c_common_post_options): Bump the current ABI version to
972	13.  Set warn_abi_version and flag_abi_compat_version to the current
973	version rather than 0.  Fix defaulting flag_abi_compat_version from
974	warn_abi_version.
975
9762018-06-12  Martin Sebor  <msebor@redhat.com>
977
978	PR c/85931
979	* c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
980	sizeof source and destination yields the same value.
981
9822018-06-12  Martin Liska  <mliska@suse.cz>
983
984	* c.opt: Make MPX-related options as Deprecated.
985
9862018-06-08  David Malcolm  <dmalcolm@redhat.com>
987
988	* c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
989	rather than 0.
990
9912018-06-08  Martin Liska  <mliska@suse.cz>
992
993	* c-attribs.c (handle_bnd_variable_size_attribute): Remove support
994	for MPX (macros, related functions, fields in cgraph_node, ...).
995	(handle_bnd_legacy): Likewise.
996	(handle_bnd_instrument): Likewise.
997	* c.opt: Likewise.
998
9992018-06-06  Jakub Jelinek  <jakub@redhat.com>
1000
1001	PR c++/86068
1002	* c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
1003	__cpp_transactional_memory to 201500 instead of 210500.
1004
10052018-06-06  Jason Merrill  <jason@redhat.com>
1006
1007	PR c++/85710 - ICE with -Wmemset-elt-size.
1008	* c-warn.c (warn_for_memset): Don't crash on incomplete element type.
1009
10102018-06-01  Jason Merrill  <jason@redhat.com>
1011
1012	* c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
1013	201703.
1014
10152018-06-01  Eric Botcazou  <ebotcazou@adacore.com>
1016
1017	* c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
1018	declaration for a typedef independently of whether the declaration of
1019	the subtype is generated.
1020
10212018-05-31  Martin Sebor  <msebor@redhat.com>
1022
1023	PR c/82063
1024	* c.opt (-Wno-alloc-size-larger-than): New option.
1025
10262018-04-22  David Pagan  <dave.pagan@oracle.com>
1027
1028	PR c/55976
1029	* c-opts.c (c_common_post_options): Set default for warn_return_type
1030	for C++/C++ with ObjC extensions only. For C, makes it possible to
1031	differentiate between default (no option), -Wreturn-type, and
1032	-Wno-return-type.
1033
10342018-05-29  Jason Merrill  <jason@redhat.com>
1035
1036	* c.opt (Winit-list-lifetime): New flag.
1037
10382018-05-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1039
1040	* c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
1041	splay_tree_delete_pointers.
1042
10432018-05-26  Jakub Jelinek  <jakub@redhat.com>
1044
1045	PR bootstrap/85921
1046	* c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
1047	noinline variable to workaround broken kernel headers.
1048
10492018-05-18  Jason Merrill  <jason@redhat.com>
1050
1051	* c.opt (Wdeprecated-copy): New flag.
1052
10532018-05-17  Martin Liska  <mliska@suse.cz>
1054
1055	* c-warn.c (overflow_warning): Do not use
1056	space in between 'G_' and '('.
1057
10582018-05-09  Jason Merrill  <jason@redhat.com>
1059
1060	* c-common.c (valid_array_size_p): Add complain parameter.
1061	* c-common.h: ...which defaults to true.
1062
10632018-05-11  Jakub Jelinek  <jakub@redhat.com>
1064
1065	PR c/85696
1066	* c-omp.c (c_omp_predetermined_sharing): Return
1067	OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
1068
10692018-05-11  Martin Liska  <mliska@suse.cz>
1070
1071	PR sanitizer/85556
1072	* c-attribs.c (handle_no_sanitize_attribute): Iterate all
1073	TREE_LIST values.
1074
10752018-05-10  Jakub Jelinek  <jakub@redhat.com>
1076
1077	PR c++/85662
1078	* c-common.h (fold_offsetof_1): Removed.
1079	(fold_offsetof): Add TYPE argument defaulted to size_type_node and
1080	CTX argument defaulted to ERROR_MARK.
1081	* c-common.c (fold_offsetof_1): Renamed to ...
1082	(fold_offsetof): ... this.  Remove wrapper function.  Add TYPE
1083	argument, convert the pointer constant to TYPE and use size_binop
1084	with PLUS_EXPR instead of fold_build_pointer_plus if type is not
1085	a pointer type.  Adjust recursive calls.
1086
10872018-05-10  Eric Botcazou  <ebotcazou@adacore.com>
1088
1089	PR c++/85400
1090	* c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
1091
10922018-05-07  Nathan Sidwell  <nathan@acm.org>
1093
1094	* c.opt (ffor-scope): Remove functionality, issue warning.
1095
10962018-05-03  Nathan Sidwell  <nathan@acm.org>
1097
1098	* c.opt (ffriend-injection): Remove functionality, issue warning.
1099
11002018-05-01  David Malcolm  <dmalcolm@redhat.com>
1101
1102	PR c/84258
1103	* c-format.c (struct format_check_results): Add field
1104	"number_non_char".
1105	(check_format_info): Initialize it, and warn if encountered.
1106	(check_format_arg): Distinguish between wide char and
1107	everything else when detecting arrays of non-char.
1108
11092018-04-30  David Malcolm  <dmalcolm@redhat.com>
1110
1111	* c-format.c (get_corrected_substring): Update for
1112	location_get_source_line returning a char_span.  Use a char_span
1113	when handling the prefix of the correction.
1114	* c-indentation.c (get_visual_column): Update for
1115	location_get_source_line returning a char_span.
1116	(get_first_nws_vis_column): Likewise.
1117
11182018-03-29  David Malcolm  <dmalcolm@redhat.com>
1119
1120	PR c++/84269
1121	* known-headers.cc (get_stdlib_header_for_name): Add various names
1122	from <assert.h>, <string.h>, and <memory.h>; add more names from
1123	<stdio.h>.
1124
11252018-03-27  Jakub Jelinek  <jakub@redhat.com>
1126
1127	PR c++/85061
1128	* c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
1129	get_base_address of the second operand is a VAR_P, rather than the
1130	operand itself, and use gcc_checking_assert instead of gcc_assert.
1131
11322018-03-23  Marek Polacek  <polacek@redhat.com>
1133
1134	PR c++/85045
1135	* c-pretty-print.c (c_pretty_printer::multiplicative_expression)
1136	<case RDIV_EXPR>: Tweak condition.
1137
11382018-03-20  Eric Botcazou  <ebotcazou@adacore.com>
1139
1140	* c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
1141
11422018-03-16  Jakub Jelinek  <jakub@redhat.com>
1143
1144	PR c/84909
1145	* c-warn.c (conversion_warning): Replace "to to" with "to" in
1146	diagnostics.
1147
1148	PR c/84910
1149	* c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
1150	diagnostics.
1151
11522018-03-16  Richard Biener  <rguenther@suse.de>
1153
1154	PR c/84873
1155	* c-gimplify.c (c_gimplify_expr): Revert previous change.  Instead
1156	unshare the possibly folded expression.
1157
11582018-03-15  Richard Biener  <rguenther@suse.de>
1159
1160	PR c/84873
1161	* c-gimplify.c (c_gimplify_expr): Do not fold expressions.
1162
11632018-03-13  Martin Sebor  <msebor@redhat.com>
1164
1165	PR tree-optimization/84725
1166	* c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
1167	with all three narrow character types, including their qualified forms.
1168
11692018-03-12  Martin Sebor  <msebor@redhat.com>
1170
1171	PR tree-optimization/83456
1172	* gcc/c-family/c-common.c (check_function_restrict): Return bool.
1173	Restore checking of bounded built-in functions.
1174	(check_function_arguments): Also return the result
1175	of warn_for_restrict.
1176	* gcc/c-family/c-common.c (check_function_restrict): Return bool.
1177	* gcc/c-family/c-warn.c (warn_for_restrict): Return bool.
1178
11792018-03-02  Marek Polacek  <polacek@redhat.com>
1180
1181	PR c++/84171
1182	* c-warn.c (warn_for_sign_compare): Bail out if any of the operands
1183	is erroneous.
1184
11852018-03-02  Thomas Schwinge  <thomas@codesourcery.com>
1186
1187	* c-attribs.c (c_common_attribute_table): Remove "cilk simd
1188	function".
1189
11902018-03-01  Marek Polacek  <polacek@redhat.com>
1191
1192	PR c++/84639
1193	* c-attribs.c (common_handle_aligned_attribute): Don't use invalid
1194	alignment in computation.
1195
11962018-02-28  Eric Botcazou  <ebotcazou@adacore.com>
1197
1198	* c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
1199	<REAL_TYPE>: Deal specifically with _Float128/__float128.
1200
12012018-02-28  Eric Botcazou  <ebotcazou@adacore.com>
1202
1203	* c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
1204	(is_char_array): Take a type instead of a declaration.
1205	(dump_ada_array_type): Likewise.
1206	(is_simple_enum): Minor tweak.
1207	(dump_ada_enum_type): New function extracted from...
1208	(dump_ada_node) <ENUMERAL_TYPE>: ...here.  Invoke it.
1209	<INTEGER_TYPE>: Remove unreachable code.
1210	<RECORD_TYPE>: Likewise.  Minor tweaks.
1211	(dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
1212	<ENUMERAL_TYPE>: New case.
1213	<RECORD_TYPE>: Factor out common code.
1214	(dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
1215	Minor tweaks.  Deal with enumeral types.
1216	(dump_ada_structure): Minor tweaks.
1217
12182018-02-28  Eric Botcazou  <ebotcazou@adacore.com>
1219
1220	* c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
1221	address for incomplete structures.
1222	(dump_forward_type): Do not bail out for incomplete structures.
1223	(dump_ada_declaration): Do not special-case incomplete structures
1224	for subtypes.  Dump them as null records for types.
1225
12262018-02-28  Eric Botcazou  <ebotcazou@adacore.com>
1227
1228	* c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
1229	(is_char_array): Fix formatting.
1230	(dump_template_types): Likewise.
1231	(dump_generic_ada_node): Rename into...
1232	(dump_ada_node): ...this.
1233	<POINTER_TYPE>: Remove superfluous space.  Use generic address for
1234	incomplete structures and not for empty structures.  Do not use it
1235	when forward declarations are needed.
1236	(dump_forward_type): New function.
1237	(dump_nested_types): Remove FORWARD parameter.  Do not consider
1238	TREE_VISITED and do not generate a forward declaration.  Only dump
1239	original nested types for nested declaration.
1240	(dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
1241	<ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
1242	<RECORD_TYPE>: Do not consider TREE_VISITED.
1243	(dump_ada_declaration): Use booleans and fix formatting throughout.
1244	<TYPE_DECL>: Skip incomplete structures and not empty structures.
1245	Call dump_forward_type instead of dump_nested_types for a typedef.
1246	Remove superfluous check and adjust call to dump_nested_types.
1247	<POINTER_TYPE>: Call dump_forward_type and fall through.
1248	(dump_ada_struct_decl): Rename into...
1249	(dump_ada_structure): ...this.  Do not special-case empty structures.
1250
12512018-02-27  Martin Sebor  <msebor@redhat.com>
1252
1253	PR c++/83871
1254	* c.opt (-Wmissing-attributes): New option.
1255
12562018-02-21  Martin Liska  <mliska@suse.cz>
1257
1258	* c.opt (Wcatch-value=): Add IntegerRange.
1259
12602018-02-15  Jason Merrill  <jason@redhat.com>
1261
1262	* c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
1263
12642018-02-09  Nathan Sidwell  <nathan@acm.org>
1265
1266	PR c/84293
1267	* c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
1268	arg.
1269	* c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
1270	arg.  Adjust.
1271
12722018-02-09  Martin Sebor  <msebor@redhat.com>
1273
1274	PR lto/84212
1275	* c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
1276	(-Walloc-size-larger-than, -Wformat-truncation=): Same.
1277	(-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
1278	(-Wstrict-overflow, -Wsuggest-attribute): Same.
1279	(-Wuninitialized): Same.
1280
12812018-02-09  Eric Botcazou  <ebotcazou@adacore.com>
1282
1283	* c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
1284	keyword for components.
1285
12862018-02-02  Paolo Carlini  <paolo.carlini@oracle.com>
1287
1288	* c-common.h (DECL_UNNAMED_BIT_FIELD): New.
1289
12902018-02-02  Julia Koval  <julia.koval@intel.com>
1291
1292	* c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
1293
12942018-01-29  Marek Polacek  <polacek@redhat.com>
1295
1296	PR c/83966
1297	* c-format.c (check_function_format): Check current_function_decl.
1298
12992018-01-27  Jakub Jelinek  <jakub@redhat.com>
1300
1301	* c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
1302	argument.
1303	(LAZY_HEX_FP_VALUES_CNT): Define.
1304	(lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
1305	values rather than just 12.
1306	(builtin_define_with_hex_fp_value): Likewise.
1307
13082018-01-18  Boris Kolpackov  <boris@codesynthesis.com>
1309
1310	PR other/70268
1311	* c.opt (-fmacro-prefix-map): New option.
1312	* c-opts.c (c_common_handle_option): Handle it.
1313	* c-lex.c (init_c_lex): Set remap_filename cpp callback.
1314	* c-ppoutput.c (init_pp_output): Likewise.
1315
13162018-01-17  David Malcolm  <dmalcolm@redhat.com>
1317
1318	PR c++/83814
1319	* c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
1320
13212018-01-10  Eric Botcazou  <ebotcazou@adacore.com>
1322
1323	* c-ada-spec.c (dump_number): Add FLOAT_P parameter.
1324	Skip 'f' and 'F' characters if it is true.
1325	(store_ada_macro): Minor tweak.
1326	(dump_ada_macros) <CPP_COMMENT>: Likewise.
1327	<CPP_WSTRING>: Likewise.
1328	<CPP_STRING>: Output '&' in the buffer if not the first string.
1329	<CPP_NUMBER>: Adjust calls to dump_number.
1330
13312018-01-10  David Malcolm  <dmalcolm@redhat.com>
1332
1333	PR c++/43486
1334	* c-common.c: Include "selftest.h".
1335	(get_atomic_generic_size): Perform the test for integral type
1336	before the range test for any integer constant, fixing indentation
1337	of braces.  Call fold_for_warn before testing for an INTEGER_CST.
1338	(reject_gcc_builtin): Strip any location wrapper from EXPR.
1339	(selftest::test_fold_for_warn): New function.
1340	(selftest::c_common_c_tests): New function.
1341	(selftest::c_family_tests): Call it, and
1342	selftest::c_pretty_print_c_tests.
1343	* c-common.h (selftest::c_pretty_print_c_tests): New decl.
1344	* c-format.c (check_format_arg): Convert VAR_P check to a
1345	fold_for_warn.
1346	* c-pretty-print.c: Include "selftest.h".
1347	(pp_c_cast_expression): Don't print casts for location wrappers.
1348	(selftest::assert_c_pretty_printer_output): New function.
1349	(ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
1350	(selftest::test_location_wrappers): New function.
1351	(selftest::c_pretty_print_c_tests): New function.
1352	* c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
1353
13542018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
1355	    Alan Hayward  <alan.hayward@arm.com>
1356	    David Sherwood  <david.sherwood@arm.com>
1357
1358	* c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
1359
13602018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
1361	    Alan Hayward  <alan.hayward@arm.com>
1362	    David Sherwood  <david.sherwood@arm.com>
1363
1364	* c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
1365	as polynomial.
1366
13672018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
1368	    Alan Hayward  <alan.hayward@arm.com>
1369	    David Sherwood  <david.sherwood@arm.com>
1370
1371	* c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
1372	(convert_vector_to_array_for_subscript): Handle polynomial
1373	TYPE_VECTOR_SUBPARTS.
1374	(c_common_type_for_mode): Check valid_vector_subparts_p.
1375	* c-pretty-print.c (pp_c_initializer_list): Handle polynomial
1376	VECTOR_CST_NELTS.
1377
13782018-01-03  Jakub Jelinek  <jakub@redhat.com>
1379
1380	Update copyright years.
1381
13822017-12-22  Mike Stump  <mikestump@comcast.net>
1383	    Eric Botcazou  <ebotcazou@adacore.com>
1384
1385	* c-pragma.c (init_pragma): Register pragma GCC unroll.
1386	* c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
1387
13882017-12-22  Alexandre Oliva <aoliva@redhat.com>
1389
1390	PR debug/83527
1391	PR debug/83419
1392	* c-semantics.c (only_debug_stmts_after_p): New.
1393	(pop_stmt_list): Clear side effects in debug-only stmt list.
1394	Check for single nondebug stmt followed by debug stmts only.
1395
13962017-12-21  Alexandre Oliva  <aoliva@redhat.com>
1397
1398	PR debug/83419
1399	* c-semantics.c (pop_stmt_list): Propagate side effects from
1400	single nondebug stmt to container list.
1401
14022017-12-19  Jakub Jelinek  <jakub@redhat.com>
1403
1404	* known-headers.cc (get_stdlib_header_for_name): Replace Yoda
1405	conditions with typical order conditions.
1406
14072017-12-18  Marek Polacek  <polacek@redhat.com>
1408
1409	* c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
1410	not in effect.
1411
14122017-12-17  Martin Sebor  <msebor@redhat.com>
1413
1414	* c-attribs.c (common_handle_aligned_attribute): Avoid issuing
1415	an error for attribute warn_if_not_aligned.
1416
14172017-12-16  Martin Sebor  <msebor@redhat.com>
1418
1419	PR tree-optimization/78918
1420	* c-common.c (check_function_restrict): Avoid checking built-ins.
1421	* c.opt (-Wrestrict): Include in -Wall.
1422
14232017-12-15  Jakub Jelinek  <jakub@redhat.com>
1424
1425	* c-attribs.c (c_common_attribute_table,
1426	c_common_format_attribute_table): Swap affects_type_identity
1427	and handler fields, adjust comments.
1428
14292017-12-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1430
1431	* c.opt (Wcast-function-type): New warning option.
1432	* c-lex.c (get_fileinfo): Avoid warning.
1433	* c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
1434
14352017-12-14  Qing Zhao  <qing.zhao@oracle.com>
1436
1437	PR middle_end/79538
1438	* c-cppbuiltin.c (builtin_define_with_hex_fp_value):
1439	Adjust the size of buf1 and buf2, add a new buf to avoid
1440	format-overflow warning.
1441
14422017-12-12  Alexandre Oliva <aoliva@redhat.com>
1443
1444	* c-semantics.c (pop_stmt_list): Move begin stmt marker into
1445	subsequent statement list.
1446
14472017-12-07  Martin Sebor  <msebor@redhat.com>
1448
1449	PR c/81544
1450	PR c/81566
1451	* c-attribs.c (attr_aligned_exclusions): New array.
1452	(attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
1453	(attr_common_exclusions, attr_const_pure_exclusions): Same.
1454	(attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
1455	(attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
1456	(attr_warn_unused_result_exclusions): Same.
1457	(handle_hot_attribute, handle_cold_attribute): Simplify.
1458	(handle_const_attribute): Warn on function returning void.
1459	(handle_pure_attribute): Same.
1460	(handle_aligned_attribute): Diagnose conflicting attribute
1461	specifications.
1462	* c-warn.c (diagnose_mismatched_attributes): Simplify.
1463
14642017-12-06  David Malcolm  <dmalcolm@redhat.com>
1465
1466	PR c/83236
1467	* c-common.c (selftest::c_family_tests): Call
1468	selftest::c_spellcheck_cc_tests.
1469	* c-common.h (selftest::c_spellcheck_cc_tests): New decl.
1470	* c-spellcheck.cc: Include "selftest.h".
1471	(name_reserved_for_implementation_p): New function.
1472	(should_suggest_as_macro_p): New function.
1473	(find_closest_macro_cpp_cb): Move the check for NT_MACRO to
1474	should_suggest_as_macro_p and call it.
1475	(selftest::test_name_reserved_for_implementation_p): New function.
1476	(selftest::c_spellcheck_cc_tests): New function.
1477	* c-spellcheck.h (name_reserved_for_implementation_p): New decl.
1478
14792017-12-06  David Malcolm  <dmalcolm@redhat.com>
1480
1481	* c-spellcheck.cc: New file, taken from macro-handling code in
1482	spellcheck-tree.c.
1483	* c-spellcheck.h: New file, taken from macro-handling code in
1484	spellcheck-tree.h.
1485
14862017-12-01  Jakub Jelinek  <jakub@redhat.com>
1487
1488	* c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
1489	attribute.
1490	(handle_simd_attribute): Don't check for "cilk simd function"
1491	attribute.  Reindent, formatting changes.
1492
14932017-11-30  Julia Koval  <julia.koval@intel.com>
1494
1495	* c-common.h (inv_list): Remove.
1496
14972017-11-28  Jakub Jelinek  <jakub@redhat.com>
1498
1499	PR sanitizer/81275
1500	* c-common.c (c_switch_covers_all_cases_p_1,
1501	c_switch_covers_all_cases_p): New functions.
1502	* c-common.h (c_switch_covers_all_cases_p): Declare.
1503
15042017-11-28  Julia Koval  <julia.koval@intel.com>
1505	    Sebastian Peryt  <sebastian.peryt@intel.com>
1506
1507	* array-notation-common.c: Delete.
1508	* c-cilkplus.c: Ditto.
1509	* c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
1510	* c-common.def (ARRAY_NOTATION_REF): Remove.
1511	* c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
1512	build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
1513	c_validate_cilk_plus_loop, cilkplus_an_parts,
1514	cilk_ignorable_spawn_rhs_op,
1515	cilk_recognize_spawn): Remove.
1516	* c-gimplify.c (CILK_SPAWN_STMT): Remove.
1517	* c-omp.c: Remove CILK_SIMD check.
1518	* c-pragma.c: Ditto.
1519	* c-pragma.h: Remove CILK related pragmas.
1520	* c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
1521	ARRAY_NOTATION_REF condition.
1522	(c_pretty_printer::expression): Ditto.
1523	* c.opt (fcilkplus): Remove.
1524	* cilk.c: Delete.
1525
15262017-11-21  Marc Glisse  <marc.glisse@inria.fr>
1527
1528	* c-pretty-print.c (pp_c_additive_expression,
1529	c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
1530
15312017-11-21  Jakub Jelinek  <jakub@redhat.com>
1532
1533	* c-common.c (get_nonnull_operand): Use tree_to_uhwi.
1534
1535	PR c++/83059
1536	* c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
1537	instead of tree_to_uhwi, formatting fix.
1538
15392017-11-20  David Malcolm  <dmalcolm@redhat.com>
1540
1541	PR c/81404
1542	* known-headers.cc: New file, based on material from c/c-decl.c.
1543	(suggest_missing_header): Copied as-is.
1544	(get_stdlib_header_for_name): New, based on get_c_name_hint but
1545	heavily edited to add C++ support.  Add some knowledge about
1546	<limits.h>, <stdint.h>, and <wchar.h>.
1547	* known-headers.h: Likewise.
1548
15492017-11-20  David Malcolm  <dmalcolm@redhat.com>
1550
1551	* c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
1552	(lookup_name_fuzzy): Likewise.  Convert return type from
1553	const char * to name_hint.  Add location_t param.
1554	* name-hint.h: New header.
1555
15562017-11-19  Jakub Jelinek  <jakub@redhat.com>
1557
1558	PR c/66618
1559	PR c/69960
1560	* c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
1561
15622017-11-16  Joseph Myers  <joseph@codesourcery.com>
1563
1564	* c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
1565	expected publication date of C17.
1566	(-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
1567
15682017-11-15  Joseph Myers  <joseph@codesourcery.com>
1569
1570	PR c/81156
1571	* c-common.c (c_common_reswords): Add __builtin_tgmath.
1572	* c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
1573
15742017-11-10  Martin Sebor  <msebor@redhat.com>
1575
1576	PR c/81117
1577	* c-common.c (catenate_strings): Use memcpy instead of strncpy.
1578	* c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
1579	* c.opt (-Wstringop-truncation): New option.
1580
15812017-11-06  Martin Liska  <mliska@suse.cz>
1582
1583	PR middle-end/82404
1584	* c-opts.c (c_common_post_options): Set -Wreturn-type for C++
1585	FE.
1586	* c.opt: Set default value of warn_return_type.
1587
15882017-10-31  David Malcolm  <dmalcolm@redhat.com>
1589
1590	* c-common.c (binary_op_error): Update for renaming of
1591	error_at_rich_loc.
1592	(c_parse_error): Likewise.
1593	* c-warn.c (warn_logical_not_parentheses): Likewise for
1594	renaming of inform_at_rich_loc.
1595	(warn_for_restrict): Likewise for renaming of
1596	warning_at_rich_loc_n.
1597
15982017-10-30  Joseph Myers  <joseph@codesourcery.com>
1599
1600	* c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
1601	* c-opts.c (set_std_c17): New function.
1602	(c_common_init_options): Use gnu17 as default C version.
1603	(c_common_handle_option): Handle -std=c17 and -std=gnu17.
1604
16052017-10-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
1606
1607	* c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
1608	(c_cpp_builtins): If a machine has a fast fma _Float<N> and
1609	_Float<N>X variant, define __FP_FAST_FMA<N> and/or
1610	__FP_FAST_FMA<N>X.
1611
16122017-10-23  Marek Polacek  <polacek@redhat.com>
1613
1614	PR c/82681
1615	* c-warn.c (warnings_for_convert_and_check): Fix typos.
1616
16172017-10-19  Eric Botcazou  <ebotcazou@adacore.com>
1618
1619	* c-common.c (check_builtin_function_arguments): Also check arguments
1620	of __builtin_alloca_with_align_and_max.
1621
16222017-10-17  David Malcolm  <dmalcolm@redhat.com>
1623
1624	* c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
1625	rather than NULL to format_warning_va.
1626	(check_format_types): Likewise when calling format_type_warning.
1627	Remove code to extract source_ranges and source_range * in favor
1628	of just a location_t.
1629	(format_type_warning): Convert source_range * param to a
1630	location_t.
1631
16322017-10-13  Jakub Jelinek  <jakub@redhat.com>
1633
1634	* c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
1635	[LR]SHIFT_EXPR.
1636
16372017-10-12  David Malcolm  <dmalcolm@redhat.com>
1638
1639	* c-common.c (enum missing_token_insertion_kind): New enum.
1640	(get_missing_token_insertion_kind): New function.
1641	(maybe_suggest_missing_token_insertion): New function.
1642	* c-common.h (maybe_suggest_missing_token_insertion): New decl.
1643
16442017-10-11  Nathan Sidwell  <nathan@acm.org>
1645
1646	* c-opts.c (add_prefixed_path): Change chain to incpath_kind.
1647	(c_common_handle_option): Update incpath_kind names.
1648
16492017-10-11  Martin Liska  <mliska@suse.cz>
1650
1651	PR sanitizer/82490
1652	* c-attribs.c (handle_no_sanitize_attribute): Report directly
1653	Wattributes warning.
1654
16552017-10-10  Richard Sandiford  <richard.sandiford@linaro.org>
1656
1657	* c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
1658	operating on trees as wide_ints.
1659	* c-common.c (pointer_int_sum): Likewise.
1660	* c-pretty-print.c (pp_c_integer_constant): Likewise.
1661	* c-warn.c (match_case_to_enum_1): Likewise.
1662	(c_do_switch_warnings): Likewise.
1663	(maybe_warn_shift_overflow): Likewise.
1664
16652017-10-10  Jakub Jelinek  <jakub@redhat.com>
1666
1667	PR c/82437
1668	* c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
1669	instead of wide_int::from.
1670
16712017-10-06  Jakub Jelinek  <jakub@redhat.com>
1672
1673	PR c/82437
1674	* c-warn.c (warn_tautological_bitwise_comparison): Instead of
1675	using to_widest use wide_int with the larger of the two precisions.
1676
16772017-10-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1678
1679	* c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
1680	functions.
1681
16822017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>
1683
1684	* c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
1685	when combining the original unconverted comparison operands.
1686
16872017-09-29  Jakub Jelinek  <jakub@redhat.com>
1688
1689	* c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
1690	attribute.
1691
16922017-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1693
1694	* c-ada-spec.c (to_ada_name): Add index parameter.
1695	(pp_ada_tree_identifier): Likewise.
1696	(dump_ada_macros): Adjust call to to_ada_name.
1697	(struct overloaded_name_hash): New type.
1698	(struct overloaded_name_hasher): Likewise.
1699	(overloaded_names): New hash table.
1700	(compute_overloading_index): New function.
1701	(dump_ada_decl_name): Call it and pass the result to
1702	pp_ada_tree_identifier.
1703	(dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1704	(dump_ada_function_declaration): Likewise.
1705	(dump_generic_ada_node): Likewise.
1706	(print_constructor): Likewise.
1707	(print_destructor): Likewise.
1708	(dump_ada_specs): Delete overloaded_names table.
1709
17102017-09-29  Eric Botcazou  <ebotcazou@adacore.com>
1711
1712	* c-ada-spec.c (max_ada_macros): Move around.
1713	(store_ada_macro_index): Likewise.
1714	(source_file): Rename into...
1715	(macro_source_file): ...this.
1716	(count_ada_macro): Move around.
1717	(store_ada_macro): Likewise.
1718	(compare_macro): Likewise.
1719	(print_ada_macros): Merge in...
1720	(dump_ada_macros): ...this.
1721	(source_file_base): Rename into...
1722	(current_source_file): ...this.
1723	(print_comment): Move around.
1724	(dump_ada_nodes): Call dump_ada_declaration directly.
1725	(struct with): Change type of limited field to bool.
1726	(append_withs): Change type of limited_access parameter to bool.
1727	(pp_ada_tree_identifie): Likewise.
1728	(dump_ada_decl_nam): Likewise.
1729	(dump_generic_ada_node): Likewise.  Do not print the return type.
1730	(to_ada_name): Change type of space_found parameter to bool.
1731	(dump_ada_function_declaration): Return void and change type of
1732	parameters to bool.  Also print the return type for a function.
1733	(print_ada_methods): Rename into...
1734	(dump_ada_methods): ...this.
1735	(print_ada_declaration): Rename into ...
1736	(dump_ada_declaration): ...this.  Do not print the return type.
1737	(print_ada_struct_decl): Rename into...
1738	(dump_ada_struct_decl): ...this.
1739
17402017-09-29  Jakub Jelinek  <jakub@redhat.com>
1741
1742	* c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
1743	rather than DECL_INITIAL.
1744	(common_handle_aligned_attribute): Likewise.
1745
17462017-09-20  Alexandre Oliva <aoliva@redhat.com>
1747
1748	* c.opt (gen-decls): Add RejectNegative.
1749
17502017-09-15  Andrew Sutton  <andrew.n.sutton@gmail.com>
1751	    Jakub Jelinek  <jakub@redhat.com>
1752
1753	Add support for -std=c++2a.
1754	* c-common.h (cxx_dialect): Add cxx2a as a dialect.
1755	* opt.c: Add options for -std=c++2a and -std=gnu++2a.
1756	* c-opts.c (set_std_cxx2a): New.
1757	(c_common_handle_option): Set options when -std=c++2a is enabled.
1758	(c_common_post_options): Adjust comments.
1759	(set_std_cxx14, set_std_cxx17): Likewise.
1760
17612017-09-15  Eric Botcazou  <ebotcazou@adacore.com>
1762
1763	* c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
1764	message for non-uniform endianness and issue a warning in C++.
1765
17662017-09-15  Jakub Jelinek  <jakub@redhat.com>
1767
1768	* c.opt (Wc++1z-compat): Change from option to undocumented alias.
1769	(Wc++17-compat): Change from undocumented alias to option.
1770	(Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
1771	change C++1z to C++17 in description.
1772	(std=c++1z, std=gnu++1z): Change from option to undocumented
1773	deprecated alias.
1774	(std=c++17, std=gnu++17): Change from undocumented alias to option.
1775	Adjust description.
1776	* c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
1777	* c-opts.c (set_std_cxx1z): Rename to ...
1778	(set_std_cxx17): ... this.
1779	(c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
1780	and OPT_std_gnu__1z to OPT_std_gnu__17.  Adjust set_std_cxx1z
1781	caller.
1782	(c_common_post_options): Use cxx17 instead of cxx1z.  Adjust
1783	comments.
1784
17852017-09-12  H.J. Lu  <hongjiu.lu@intel.com>
1786
1787	* c-attribs.c (common_handle_aligned_attribute): Don't warn
1788	function alignment if warn_if_not_aligned_p is true.
1789
17902017-09-12  Nathan Sidwell  <nathan@acm.org>
1791
1792	* c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
1793	resort_sorted_fields): Move to c/c-decl.c.
1794	* c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
1795	(struct sorted_fields_type): Move to c/c-lang.h.
1796
17972017-09-09  Jonathan Wakely  <jwakely@redhat.com>
1798
1799	PR c++/81852
1800	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
1801
18022017-09-04  Marek Polacek  <polacek@redhat.com>
1803
1804	PR c/81783
1805	* c-warn.c (warn_tautological_bitwise_comparison): New function.
1806	(warn_tautological_cmp): Call it.
1807
18082017-09-01  Boris Kolpackov <boris@codesynthesis.com>
1809
1810	* c-opts.c (c_common_finish): Write dependency information even if
1811	there are errors.
1812
18132017-09-01  Jakub Jelinek  <jakub@redhat.com>
1814
1815	PR c/81887
1816	* c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
1817	(omp_pragmas_simd): ... here.
1818	* c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
1819	create new clauses list containing just simd clause.
1820
18212017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
1822	    Alan Hayward  <alan.hayward@arm.com>
1823	    David Sherwood  <david.sherwood@arm.com>
1824
1825	* c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
1826	into scalar_mode_supported_p call.
1827	(handle_mode_attribute): Update call to scalar_mode_supported_p.
1828
18292017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
1830	    Alan Hayward  <alan.hayward@arm.com>
1831	    David Sherwood  <david.sherwood@arm.com>
1832
1833	* c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
1834	for the mode iterator.
1835
18362017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
1837	    Alan Hayward  <alan.hayward@arm.com>
1838	    David Sherwood  <david.sherwood@arm.com>
1839
1840	* c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
1841	* c-common.c (c_build_vec_perm_expr): Likewise.
1842
18432017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
1844	    Alan Hayward  <alan.hayward@arm.com>
1845	    David Sherwood  <david.sherwood@arm.com>
1846
1847	* c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
1848
18492017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
1850	    Alan Hayward  <alan.hayward@arm.com>
1851	    David Sherwood  <david.sherwood@arm.com>
1852
1853	* c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
1854	before calling targetm.addr_space.valid_pointer_mode.
1855
18562017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
1857	    Alan Hayward  <alan.hayward@arm.com>
1858	    David Sherwood  <david.sherwood@arm.com>
1859
1860	* c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
1861
18622017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
1863	    Alan Hayward  <alan.hayward@arm.com>
1864	    David Sherwood  <david.sherwood@arm.com>
1865
1866	* c-common.c (c_common_fixed_point_type_for_size): Use new mode
1867	iterators.
1868	* c-cppbuiltin.c (c_cpp_builtins): Likewise.
1869
18702017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
1871	    Alan Hayward  <alan.hayward@arm.com>
1872	    David Sherwood  <david.sherwood@arm.com>
1873
1874	* c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
1875	case statements.
1876
18772017-08-29  Martin Liska  <mliska@suse.cz>
1878
1879	PR other/39851
1880	* c-common.c (parse_optimize_options): Add argument to function
1881	call.
1882	* c-pragma.c (handle_pragma_diagnostic): Likewise.
1883
18842017-08-24  David Malcolm  <dmalcolm@redhat.com>
1885
1886	* c-lex.c (interpret_float): Use token location
1887	when building an EXCESS_PRECISION_EXPR.
1888
18892017-08-21  David Malcolm  <dmalcolm@redhat.com>
1890
1891	* c-common.c (check_function_arguments): Add "arglogs" param; pass
1892	it to check_function_format.
1893	* c-common.h (check_function_arguments): Add vec<location_t> *
1894	param.
1895	(check_function_format): Likewise.
1896	* c-format.c (struct format_check_context): Add field "arglocs".
1897	(check_function_format): Add param "arglocs"; pass it to
1898	check_format_info.
1899	(check_format_info):  Add param "arglocs"; use it to initialize
1900	new field of format_ctx.
1901	(check_format_arg): Pass format_ctx->arglocs to new param of
1902	check_format_info_main.
1903	(class argument_parser): New field "arglocs".
1904	(argument_parser::argument_parser): Add "arglocs_" param and use
1905	it to initialize new field.
1906	(argument_parser::check_argument_type): Pass new arglocs field to
1907	check_format_types.
1908	(check_format_info_main): Add param "arglocs", and use it when
1909	constructing arg_parser.
1910	(check_format_types): Add param "arglocs"; use it if non-NULL when
1911	!EXPR_HAS_LOCATION (cur_param) to get at location information.
1912
19132017-08-18  H.J. Lu  <hongjiu.lu@intel.com>
1914
1915	PR c/53037
1916	* c-attribs.c (handle_warn_if_not_aligned_attribute): New.
1917	(c_common_attribute_table): Add warn_if_not_aligned.
1918	(handle_aligned_attribute): Renamed to ...
1919	(common_handle_aligned_attribute): Remove argument, name, and add
1920	argument, warn_if_not_aligned.  Handle warn_if_not_aligned.
1921	(handle_aligned_attribute): New.
1922	* c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
1923
19242017-08-14  Martin Sebor  <msebor@redhat.com>
1925
1926	PR c/81117
1927	* c-attribs.c (c_common_attribute_table): Add nonstring entry.
1928	(handle_nonstring_attribute): New function.
1929
19302017-08-14  Martin Sebor  <msebor@redhat.com>
1931
1932	PR c/81117
1933	* c-format.h (T89_G): New macro.
1934	* c-format.c (local_gcall_ptr_node): New variable.
1935	(init_dynamic_diag_info): Initialize it.
1936
19372017-08-11  Martin Liska  <mliska@suse.cz>
1938
1939	* c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
1940	TARGET_SUPPORTS_ALIASES.
1941
19422017-08-10  David Malcolm  <dmalcolm@redhat.com>
1943
1944	* c-common.c (c_parse_error): Add rich_location * param, using it
1945	rather implicitly using input_location.
1946	* c-common.h (c_parse_error): Add rich_location * param.
1947
19482017-08-09  Marek Polacek  <polacek@redhat.com>
1949
1950	* c-common.c (pointer_int_sum): Use true/false instead of 1/0.
1951	(c_common_truthvalue_conversion): Likewise.
1952	* c-omp.c (c_finish_omp_atomic): Likewise.
1953	* c-common.h (build_binary_op): Update declaration.
1954
19552017-08-08  Martin Liska  <mliska@suse.cz>
1956
1957	* c-ada-spec.c: Include header files.
1958	* c-ubsan.c: Likewise.
1959	* c-warn.c: Likewise.
1960
19612017-08-07  Jakub Jelinek  <jakub@redhat.com>
1962
1963	PR c/69389
1964	* c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
1965
19662017-08-07  Eric Botcazou  <ebotcazou@adacore.com>
1967
1968	* c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
1969	(print_ada_methods): Likewise.
1970	(print_ada_declaration): Likewise.
1971
19722017-08-07  Martin Liska  <mliska@suse.cz>
1973
1974	* array-notation-common.c: Add new includes.
1975	* c-format.c( handle_format_attribute): Canonicalize a format
1976	function name.
1977	* c-lex.c (c_common_has_attribute): Canonicalize name of an
1978	attribute.
1979	* c-pretty-print.c: Add new include.
1980
19812017-08-05  Eric Botcazou  <ebotcazou@adacore.com>
1982
1983	* c-ada-spec.c (has_static_fields): Look only into variables.
1984	(print_constructor): Add TYPE parameter and use it for the name.
1985	(print_destructor): Likewise.
1986	(print_ada_declaration): Adjust to new constructor/destructor names.
1987	Adjust calls to print_constructor and print_destructor.
1988	(print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
1989	Look only into variables in the final loop.
1990
19912017-08-01  Eric Botcazou  <ebotcazou@adacore.com>
1992
1993	* c-ada-spec.c (has_static_fields): Look only into fields.
1994	(dump_generic_ada_node): Small tweak.
1995	(dump_nested_types): Look only into fields.
1996	(print_ada_declaration): Look only into methods.  Small tweak.
1997	(print_ada_struct_decl): Look only into fields.  Use DECL_VIRTUAL_P.
1998
19992017-08-01  Eric Botcazou  <ebotcazou@adacore.com>
2000
2001	* c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
2002	(dump_ada_function_declaration): Likewise.
2003	(dump_generic_ada_node): Likewise.
2004	(print_ada_declaration): Add support for const-qualified variables.
2005
20062017-07-31  Martin Liska  <mliska@suse.cz>
2007
2008	PR sanitize/81530
2009	* c-ubsan.c (ubsan_maybe_instrument_array_ref):
2010	Guard condition with flag_sanitize_p also with current_function_decl
2011	non-null equality.
2012	(ubsan_maybe_instrument_reference_or_call): Likewise.
2013
20142017-07-30  Uros Bizjak  <ubizjak@gmail.com>
2015
2016	* c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
2017
20182017-07-29  Eric Botcazou  <ebotcazou@adacore.com>
2019
2020	* c-ada-spec.c (dump_generic_ada_node): Take into account signedness
2021	for enumeral types.
2022	(print_ada_declaration): Add missing guard for record types.
2023
20242017-07-27  Jakub Jelinek  <jakub@redhat.com>
2025
2026	PR c/45784
2027	* c-omp.c (c_finish_omp_for): If the condition is wrapped in
2028	rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
2029	new COMPOUND_EXPRs around the rhs of the comparison.
2030
20312017-07-27  Marek Polacek  <polacek@redhat.com>
2032
2033	PR c/81417
2034	* c-warn.c (warn_for_sign_compare): Tweak the warning message.  Print
2035	the types.
2036
20372017-07-27  Jakub Jelinek  <jakub@redhat.com>
2038
2039	* c-attribs.c (c_common_attribute_table): Add noipa attribute.
2040	(handle_noipa_attribute): New function.
2041
20422017-07-07  Torsten Duwe  <duwe@suse.de>
2043
2044	* c-attribs.c (c_common_attribute_table): Add entry for
2045	"patchable_function_entry".
2046
20472017-07-20  Nathan Sidwell  <nathan@acm.org>
2048
2049	Remove TYPE_METHODS.
2050	* c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
2051	dump_ada_template, print_ada_methods,
2052	print_ada_declaration): Member fns are on TYPE_FIELDS.
2053
20542017-07-18  Nathan Sidwell  <nathan@acm.org>
2055
2056	* c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
2057
20582017-07-14  David Malcolm  <dmalcolm@redhat.com>
2059
2060	* c-common.c (try_to_locate_new_include_insertion_point): New
2061	function.
2062	(per_file_includes_t): New typedef.
2063	(added_includes_t): New typedef.
2064	(added_includes): New variable.
2065	(maybe_add_include_fixit): New function.
2066	* c-common.h (maybe_add_include_fixit): New decl.
2067
20682017-07-10  Martin Sebor  <msebor@redhat.com>
2069
2070	PR other/81345
2071	* c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
2072
20732017-07-06  David Malcolm  <dmalcolm@redhat.com>
2074
2075	* c-common.c (selftest::c_family_tests): New.
2076	* c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
2077	(selftest::c_family_tests): New decl.
2078
20792017-07-04  Marek Polacek  <polacek@redhat.com>
2080
2081	PR c/81231
2082	* c-common.c (sync_resolve_size): Give error for pointers to incomplete
2083	types.
2084
20852017-07-04  Marek Polacek  <polacek@redhat.com>
2086
2087	* c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
2088
20892017-06-28  Martin Liska  <mliska@suse.cz>
2090
2091	PR ipa/81128
2092	* c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
2093	to a function declaration.
2094
20952017-06-28  Martin Liska  <mliska@suse.cz>
2096
2097	PR driver/79659
2098	* c.opt: Add IntegerRange to various options.
2099
21002017-06-26  Marek Polacek  <polacek@redhat.com>
2101
2102	PR c/80116
2103	* c-common.h (warn_for_multistatement_macros): Declare.
2104	* c-warn.c: Include "c-family/c-indentation.h".
2105	(warn_for_multistatement_macros): New function.
2106	* c.opt (Wmultistatement-macros): New option.
2107	* c-indentation.c (guard_tinfo_to_string): No longer static.
2108	Change the parameter type to "enum rid".  Handle RID_SWITCH.
2109	* c-indentation.h (guard_tinfo_to_string): Declare.
2110
21112017-06-23  Marc Glisse  <marc.glisse@inria.fr>
2112
2113	* c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
2114
21152017-06-15  Martin Sebor  <msebor@redhat.com>
2116
2117	PR c++/80560
2118	* c.opt (-Wclass-memaccess): New option.
2119
21202017-06-14  Boris Kolpackov  <boris@codesynthesis.com>
2121
2122	* c-opts.c (c_common_finish): Handle '-' special value to -MF.
2123
21242017-06-13  Marek Polacek  <polacek@redhat.com>
2125
2126	PR objc/80949
2127	* c-warn.c (do_warn_duplicated_branches): Return if any of the
2128	branches is null.
2129
21302017-06-13  Martin Liska  <mliska@suse.cz>
2131
2132	PR sanitize/78204
2133	* c-attribs.c (add_no_sanitize_value): New function.
2134	(handle_no_sanitize_attribute): Likewise.
2135	(handle_no_sanitize_address_attribute): Use the function.
2136	(handle_no_sanitize_thread_attribute): New function.
2137	(handle_no_address_safety_analysis_attribute): Use
2138	add_no_sanitize_value.
2139	(handle_no_sanitize_undefined_attribute): Likewise.
2140	* c-common.h: Declare new functions.
2141	* c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
2142	(ubsan_instrument_shift): Likewise.
2143	(ubsan_instrument_bounds): Likewise.
2144	(ubsan_maybe_instrument_array_ref): Likewise.
2145	(ubsan_maybe_instrument_reference_or_call): Likewise.
2146
21472017-06-11  Jason Merrill  <jason@redhat.com>
2148
2149	* c-ada-spec.c, c-pragma.c: Use id_equal.
2150
21512017-06-04  Marek Polacek  <polacek@redhat.com>
2152
2153	PR c/80919
2154	* c-format.c (matching_type_p): Return false if any of the types
2155	requires structural equality.
2156
21572017-06-02  Martin Sebor  <msebor@redhat.com>
2158
2159	PR c/80892
2160	* c-warn.c (conversion_warning): Use -Wconversion for integer
2161	conversion and -Wfloat-conversion for floating one.
2162
21632017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2164
2165	* c.opt (Wsizeof-pointer-div): New warning option.
2166
21672017-06-01  Volker Reichelt  <v.reichelt@netcologne.de>
2168
2169	* c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
2170	(Wcatch-value=1): Enable by -Wall.
2171
21722017-05-30  David Malcolm  <dmalcolm@redhat.com>
2173
2174	* c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
2175	format_chars.
2176	* c.opt (fdiagnostics-show-template-tree): New option.
2177	(felide-type): New option.
2178
21792017-05-25  Volker Reichelt  <v.reichelt@netcologne.de>
2180
2181	* c.opt (Wcatch-value=): New C++ warning flag.
2182
21832017-05-24  Nathan Sidwell  <nathan@acm.org>
2184
2185	* c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
2186	const casts to avoid warning.
2187
21882017-05-24  Martin Sebor  <msebor@redhat.com>
2189
2190	PR c/80731
2191	* c-common.h (unsafe_conversion_p): Add a function argument.
2192	* c-common.c (unsafe_conversion_p): Same.
2193	Add type names and values to diagnostics.
2194	(scalar_to_vector): Adjust.
2195	* c-warn.c (constant_expression_error): Add a function argument.
2196	Add type names and values to diagnostics.
2197	(conversion_warning): Add a function argument.
2198	Add type names and values to diagnostics.
2199	(warnings_for_convert_and_check): Same.
2200
22012017-05-19  Jason Merrill  <jason@redhat.com>
2202
2203	* c-warn.c (match_case_to_enum_1): Don't warn about enums with no
2204	enumerators.
2205
22062017-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2207
2208	* c-format.c (locus): Move out of function scope,
2209	add GTY attribute.
2210
22112017-05-19  Nathan Sidwell  <nathan@acm.org>
2212
2213	* c-opts.c (class_dump_file, class_dump_flags): Delete.
2214	(c_common_parse_file): Remove class dump handling.
2215	(get_dump_info): Likewise.
2216
22172017-05-19  Richard Biener  <rguenther@suse.de>
2218
2219	PR c++/80593
2220	* c-warn.c (strict_aliasing_warning): Do not warn for accesses
2221	to alias-set zero memory.
2222
22232017-05-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2224
2225	* c-format.c (local_tree_type_node): Add GTY attribute.
2226
22272017-05-18  Marek Polacek  <polacek@redhat.com>
2228
2229	* c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
2230	(c_common_fixed_point_type_for_size): Likewise.
2231	(c_common_type_for_mode): Likewise.
2232	(shorten_compare): Likewise.
2233	(c_promoting_integer_type_p): Use false/true instead of 0/1.
2234	* c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
2235
22362017-05-18  Marek Polacek  <polacek@redhat.com>
2237
2238	* c-common.c (self_promoting_args_p): Change the return type to bool.
2239	Use false/true instead of 0/1.
2240	* c-common.h (self_promoting_args_p): Update.
2241
22422017-05-17  Marek Polacek  <polacek@redhat.com>
2243
2244	* c-common.c: Use NULL_TREE instead of 0 where appropriate.
2245	* c-warn.c: Likewise.
2246
22472017-05-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
2248
2249	Implement new C++ intrinsics __is_assignable and __is_constructible.
2250	* c-common.c (__is_assignable, __is_constructible): New.
2251	* c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
2252
22532017-05-17  Martin Liska  <mliska@suse.cz>
2254
2255	* c-common.h: Introduce dump_flags_t type and
2256	use it instead of int type.
2257	* c-gimplify.c (c_genericize): Likewise.
2258	* c-opts.c: Likewise.
2259
22602017-05-17  Marek Polacek  <polacek@redhat.com>
2261
2262	* c-common.c (c_save_expr): Remove.
2263	(c_common_truthvalue_conversion): Remove a call to c_save_expr.
2264	* c-common.h (c_save_expr): Remove declaration.
2265
22662017-05-09  Volker Reichelt  <v.reichelt@netcologne.de>
2267
2268	PR c/35441
2269	* c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
2270	MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
2271	(c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
2272	(c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
2273	RDIV_EXPR.
2274	(pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
2275
22762017-05-09  Marek Polacek  <polacek@redhat.com>
2277
2278	PR c/80525
2279	* c-warn.c (unwrap_c_maybe_const): New.
2280	(warn_logical_operator): Call it.
2281
22822017-05-09  Nathan Sidwell  <nathan@acm.org>
2283
2284	* c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
2285	* c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
2286
22872017-05-08  Martin Sebor  <msebor@redhat.com>
2288
2289	PR translation/80280
2290	* c-format.h (struct format_flag_spec): Add new member.
2291	(T89_T): New macro.
2292	* c-format.c (local_tree_type_node): New global.
2293	(printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
2294	(gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
2295	(strfmon_flag_specs): Likewise.
2296	(gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
2297	with distinct quoting properties.
2298	(gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
2299	(flag_chars_t::validate): Add argument and handle bad quoting.
2300	(check_format_info_main): Handle quoting problems.
2301	(init_dynamic_diag_info): Simplify.
2302
23032017-05-08  Jason Merrill  <jason@redhat.com>
2304
2305	* c-opts.c (c_common_post_options): Update defaults for
2306	flag_abi_version and flag_abi_compat_version.
2307
23082017-05-05  David Malcolm  <dmalcolm@redhat.com>
2309
2310	* c-common.c (c_cpp_error): Replace report_diagnostic
2311	with diagnostic_report_diagnostic.
2312
23132017-05-04  Martin Sebor  <msebor@redhat.com>
2314
2315	PR translation/80280
2316	* c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
2317	(handle_weakref_attribute): Same.
2318
23192017-05-03  Nathan Sidwell  <nathan@acm.org>
2320
2321	Canonicalize canonical type hashing
2322	* c-common.c (complete_array_type): Use type_hash_canon.
2323
23242017-05-01  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
2325
2326	PR c++/80038
2327	* c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
2328	prototype.
2329	(cilk_install_body_pedigree_operations): Likewise.
2330	* cilk.c (cilk_set_spawn_marker): Mark functions that should be
2331	detatched.
2332	(cilk_gimplify_call_params_in_spawned_fn): Remove.
2333	(cilk_install_body_pedigree_operations): Likewise.
2334	(gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
2335	unwrapping.
2336
23372017-04-27  Jakub Jelinek  <jakub@redhat.com>
2338
2339	PR c++/80534
2340	* c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
2341	flag on non-aggregate element types.
2342
23432017-04-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2344
2345	* c-common.c (c_type_hasher, type_hash_table): Remove.
2346	(c_common_get_alias_set): Remove unreachable code.
2347	* c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
2348
23492017-04-20  Volker Reichelt  <v.reichelt@netcologne.de>
2350
2351	* c.opt (Wextra-semi): New C++ warning flag.
2352
23532017-04-20  Jakub Jelinek  <jakub@redhat.com>
2354
2355	PR middle-end/80423
2356	* c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
2357
23582017-04-18  Jakub Jelinek  <jakub@redhat.com>
2359
2360	PR middle-end/79788
2361	PR middle-end/80375
2362	* c-common.c (c_common_type_for_mode): Don't handle
2363	widest_*_literal_type_node here.
2364	c_common_signed_or_unsigned_type): Likewise.
2365	(c_common_nodes_and_builtins): Set widest_*_literal_type_node
2366	to *intTI_type_node or *intDI_type_node depending on whether
2367	TImode is supported by the target or not.
2368
23692017-04-10  Martin Liska  <mliska@suse.cz>
2370
2371	PR sanitizer/80350
2372	* c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
2373	doing an UBSAN check.
2374
23752017-04-03  Jonathan Wakely  <jwakely@redhat.com>
2376
2377	* c-warn.c (do_warn_double_promotion): Fix typo in comment.
2378
23792017-03-31  Jakub Jelinek  <jakub@redhat.com>
2380
2381	PR c++/79572
2382	* c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
2383	tree *.
2384	* c-ubsan.c (ubsan_maybe_instrument_reference): Likewise.  Handle
2385	not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
2386	REFERENCE_TYPE.
2387
23882017-03-31  David Malcolm  <dmalcolm@redhat.com>
2389
2390	PR documentation/78732
2391	* c.opt (Wendif-labels): Fix description to refer to
2392	#else rather than #elif.
2393
23942017-03-31  Jakub Jelinek  <jakub@redhat.com>
2395
2396	PR libstdc++/80251
2397	* c-common.h (enum rid): Add RID_IS_AGGREGATE.
2398	* c-common.c (c_common_reswords): Add __is_aggregate trait.
2399
24002017-03-27  Jakub Jelinek  <jakub@redhat.com>
2401
2402	PR middle-end/80162
2403	* c-common.c (c_common_mark_addressable_vec): Don't set
2404	TREE_ADDRESSABLE on DECL_HARD_REGISTER.
2405
24062017-03-21  Martin Sebor  <msebor@redhat.com>
2407
2408	PR c++/79548
2409	* c-common.c (set_underlying_type): Mark type used only when
2410	original del is declared unused.
2411
24122017-03-10  David Malcolm  <dmalcolm@redhat.com>
2413
2414	PR translation/79848
2415	* c-format.c (check_format_string): Simplify uses of "%<%s%>" to
2416	"%qs".
2417
24182017-03-10  David Malcolm  <dmalcolm@redhat.com>
2419
2420	PR c/79921
2421	* c-indentation.c (warn_for_misleading_indentation): Remove parens
2422	from inform's message, so that xgettext can locate it.
2423
24242017-03-09  Marek Polacek  <polacek@redhat.com>
2425
2426	PR c++/79962
2427	PR c++/79984
2428	* c-attribs.c (handle_nonnull_attribute): Save the result of default
2429	conversion to the attribute list.
2430
24312017-03-09  Martin Liska  <mliska@suse.cz>
2432
2433	* c-ada-spec.c (macro_length): Increment value instead of a pointer.
2434
24352017-03-03  Jason Merrill  <jason@redhat.com>
2436
2437	* c.opt (Wnoexcept-type): New.
2438
24392017-03-02  Richard Biener  <rguenther@suse.de>
2440
2441	PR c/79756
2442	* c-common.c (c_common_mark_addressable_vec): Look through
2443	C_MAYBE_CONST_EXPR.
2444
24452017-02-28  Martin Liska  <mliska@suse.cz>
2446
2447	* c.opt: Replace space with tabular for options of <number>
2448	type.
2449
24502017-02-28  Martin Liska  <mliska@suse.cz>
2451
2452	* c.opt: Fix --help=option -Q for options which are of
2453	an enum type.
2454
24552017-02-24  Jakub Jelinek  <jakub@redhat.com>
2456
2457	PR c++/79588
2458	* c-common.c (check_function_restrict): New function.
2459	(check_function_arguments): Add FNDECL argument.  Call
2460	check_function_restrict if -Wrestrict.
2461	* c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
2462	and NARGS.  Use auto_vec for ARG_POSITIONS, simplify.
2463	* c-common.h (check_function_arguments): Add FNDECL argument.
2464	(warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
2465
24662017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
2467
2468	* c-ada-spec.c (dump_ada_function_declaration): Add comment about the
2469	treatment of parameters with pointer-to-tagged type and tidy up.
2470	(print_ada_methods): Remove the special treatment of C++ static member
2471	functions.
2472
24732017-02-22  Martin Liska  <mliska@suse.cz>
2474
2475	* c.opt: Replace inequality signs with square brackets
2476	for -Wnornalized.
2477
24782017-02-21  Jakub Jelinek  <jakub@redhat.com>
2479
2480	PR c++/79641
2481	* c-attribs.c (handle_mode_attribute): Use build_qualified_type to
2482	preserve quals.
2483
24842017-02-17  Joseph Myers  <joseph@codesourcery.com>
2485
2486	* c-cppbuiltin.c (builtin_define_float_constants): Define
2487	__DECIMAL_DIG__ to the value for long double.
2488
24892017-02-15  Marek Polacek  <polacek@redhat.com>
2490
2491	PR c/79515
2492	* c-warn.c (do_warn_double_promotion): Don't warn if an invalid
2493	conversion has occured.
2494
24952017-01-24  David Malcolm  <dmalcolm@redhat.com>
2496
2497	* c-common.c (c_common_reswords): Add "__RTL".
2498	* c-common.h (enum rid): Add RID_RTL.
2499
25002017-01-20  Marek Polacek  <polacek@redhat.com>
2501
2502	PR c/64279
2503	* c-common.h (do_warn_duplicated_branches_r): Declare.
2504	* c-gimplify.c (c_genericize): Walk the function tree calling
2505	do_warn_duplicated_branches_r.
2506	* c-warn.c (expr_from_macro_expansion_r): New.
2507	(do_warn_duplicated_branches): New.
2508	(do_warn_duplicated_branches_r): New.
2509	* c.opt (Wduplicated-branches): New option.
2510
25112017-01-17  David Malcolm  <dmalcolm@redhat.com>
2512
2513	PR c++/71497
2514	* c-indentation.c (warn_for_misleading_indentation): Use the past
2515	subjunctive in the note.
2516
25172017-01-17  Aldy Hernandez  <aldyh@redhat.com>
2518
2519	PR c/79116
2520	* array-notation-common.c (cilkplus_extract_an_triplets): Convert
2521	start type to integer_type.
2522
25232017-01-16  Jakub Jelinek  <jakub@redhat.com>
2524
2525	PR driver/49726
2526	* c.opt (gen-decls): Add Driver flag.
2527
25282017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
2529
2530	Revert:
2531     	2017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
2532
2533	PR c++/71737
2534	* c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
2535
25362017-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
2537
2538	PR c++/71737
2539	* c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
2540
25412017-01-12  Martin Sebor  <msebor@redhat.com>
2542
2543	(-Wformat-overflow): ...to this.
2544
25452017-01-11  Martin Sebor  <msebor@redhat.com>
2546
2547	PR c/78768
2548	* c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
2549	Also enable for LTO.
2550
25512017-01-10  Jason Merrill  <jason@redhat.com>
2552
2553	Implement P0195R2, C++17 variadic using.
2554	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
2555
25562017-01-09  Jakub Jelinek  <jakub@redhat.com>
2557
2558	PR translation/79019
2559	PR translation/79020
2560	* c.opt (Wnormalized=): Fix typo in description.
2561
25622017-01-08  Martin Sebor  <msebor@redhat.com>
2563
2564	PR middle-end/77708
2565	* c.opt (-Wformat-truncation): New option.
2566
25672017-01-06  Alexandre Oliva <aoliva@redhat.com>
2568
2569	* c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
2570	value to unsigned short to fit in 4 hex digits without
2571	warnings.
2572
25732017-01-05  Eric Botcazou  <ebotcazou@adacore.com>
2574
2575	* c.opt (fsso-struct): Add 'native' value.
2576
25772017-01-05  Martin Liska  <mliska@suse.cz>
2578
2579	PR pch/78970
2580	* c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
2581	header.
2582
25832017-01-04  Marek Polacek  <polacek@redhat.com>
2584
2585	PR c++/64767
2586	* c.opt (Wpointer-compare): New option.
2587
25882017-01-04  Jakub Jelinek  <jakub@redhat.com>
2589
2590	PR driver/78957
2591	* c.opt (fsso-struct=): Add RejectNegative.
2592
25932017-01-01  Jakub Jelinek  <jakub@redhat.com>
2594
2595	Update copyright years.
2596
25972016-12-29  Martin Liska  <mliska@suse.cz>
2598
2599	PR c/78933
2600	* c.opt (strong-eval-order): Add RejectNegative keyword.
2601
26022016-12-22  Jason Merrill  <jason@redhat.com>
2603
2604	Implement P0522R0, matching of template template arguments.
2605	* c-cppbuiltin.c (c_cpp_builtins): Define
2606	__cpp_template_template_args.
2607
26082016-12-21  Jakub Jelinek  <jakub@redhat.com>
2609
2610	PR bootstrap/78817
2611	* c-common.c (struct nonnull_arg_ctx): New type.
2612	(check_function_nonnull): Return bool instead of void.  Use
2613	nonnull_arg_ctx as context rather than just location_t.
2614	(check_nonnull_arg): Adjust for the new context type, set
2615	warned_p to true if a warning has been diagnosed.
2616	(check_function_arguments): Return bool instead of void.
2617	* c-common.h (check_function_arguments): Adjust prototype.
2618
26192016-12-21  Jason Merrill  <jason@redhat.com>
2620
2621	* c.opt (-fnew-ttp-matching): New flag.
2622	* c-opts.c (c_common_post_options): Default on if -std=c++1z.
2623
26242016-12-14  Martin Jambor  <mjambor@suse.cz>
2625
2626	* c-omp.c: Include omp-general.h instead of omp-low.h.
2627	(c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
2628	name.
2629
26302016-12-14  Martin Sebor  <msebor@redhat.com>
2631
2632	PR c/17308
2633	* c-common.c (check_nonnull_arg): Disable when optimization
2634	is enabled.
2635
26362016-12-12  Marek Polacek  <polacek@redhat.com>
2637
2638	PR c++/78647
2639	* c-common.c (attribute_fallthrough_p): Return false for
2640	error_mark_node.
2641
26422016-12-08  Martin Sebor  <msebor@redhat.com>
2643
2644	PR c/78284
2645	* c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
2646
26472016-12-08  Martin Sebor  <msebor@redhat.com>
2648
2649	PR c/78165
2650	* c-pretty-print (pp_c_integer_constant): Avoid formatting type
2651	suffix.
2652
26532016-12-07  Martin Sebor  <msebor@redhat.com>
2654
2655	PR c/53562
2656	PR middle-end/77784
2657	PR middle-end/78149
2658	PR middle-end/78138
2659	* c.opt (-Wstringop-overflow): New option.
2660
26612016-12-02  Maxim Ostapenko  <m.ostapenko@samsung.com>
2662
2663	* c-attribs.c (asan odr indicator): New attribute.
2664	(handle_asan_odr_indicator_attribute): New function.
2665
26662016-11-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
2667
2668	* c-common.c (c_common_nodes_and_builtins): Remove initialization of
2669	ptrdiff_type_node;
2670
26712016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
2672
2673	* c-common.c (excess_precision_mode_join): New.
2674	(c_ts18661_flt_eval_method): New.
2675	(c_c11_flt_eval_method): Likewise.
2676	(c_flt_eval_method): Likewise.
2677	* c-common.h (excess_precision_mode_join): New.
2678	(c_flt_eval_method): Likewise.
2679	* c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
2680	(cpp_iec_559_value): Call it.
2681	(c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
2682	call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
2683	__FLT_EVAL_METHOD_TS_18661_3__.
2684
26852016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
2686
2687	* c-opts.c (c_common_post_options): Add logic to handle the default
2688	case for -fpermitted-flt-eval-methods.
2689
26902016-11-23  Paolo Bonzini  <bonzini@gnu.org>
2691
2692	* c.opt (Wexpansion-to-defined): New.
2693
26942016-11-23  Jakub Jelinek  <jakub@redhat.com>
2695
2696	PR target/78451
2697	* c-pragma.c (handle_pragma_target): Don't replace
2698	current_target_pragma, but chainon the new args to the current one.
2699
27002016-11-22  Nathan Sidwell  <nathan@acm.org>
2701
2702	* array-notation-common.c (cilkplus_extract_an_trplets): Fix
2703	indentation and formatting.
2704
27052016-11-21  Martin Sebor  <msebor@redhat.com>
2706
2707	* c.opt (-fprintf-return-value): Enable by default.
2708
27092016-11-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2710
2711	PR c++/71973
2712	* c.opt (-Wbuiltin-declaration-mismatch): New warning.
2713	* c-common.c (c_common_nodes_and_builtins): Initialize
2714	const_tm_ptr_type_node.
2715
27162016-11-16  Marek Polacek  <polacek@redhat.com>
2717
2718	PR c/78285
2719	* c-common.c (c_add_case_label): Turn error_at calls into inform.
2720
27212016-11-14  Jakub Jelinek  <jakub@redhat.com>
2722
2723	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
2724
27252016-11-14  Prasad Ghangal  <prasad.ghangal@gmail.com>
2726	    Richard Biener  <rguenther@suse.de>
2727
2728	* c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
2729	* c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
2730	* c.opt (fgimple): New option.
2731
27322016-11-13  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
2733
2734	PR c/35503
2735	* c-common.h (warn_for_restrict): Declare.
2736	* c-warn.c: Include gcc-rich-location.h.
2737	(warn_for_restrict): New function.
2738	* c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
2739	(gcc_cdiag_char_table): Likewise.
2740	(gcc_cxxdiag_char_table): Likewise.
2741	* c.opt (Wrestrict): New option.
2742
27432016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
2744
2745	* c-ada-spec.c (print_ada_declaration): For typedef declarations, look
2746	for nested types only if the type is a record or union and dump SLOC.
2747
27482016-11-09  Jason Merrill  <jason@redhat.com>
2749
2750	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
2751
27522016-11-09  Jakub Jelinek  <jakub@redhat.com>
2753
2754	* c-ubsan.c (ubsan_instrument_shift): Handle split
2755	-fsanitize=shift-base and -fsanitize=shift-exponent.
2756
27572016-11-07  Jason Merrill  <jason@redhat.com>
2758
2759	* c.opt (Wc++1z-compat): New.
2760	* c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
2761
27622016-11-07  Martin Liska  <mliska@suse.cz>
2763
2764	* c-warn.c (warn_for_unused_label): Save all labels used
2765	in goto or in &label.
2766
27672016-11-03  Jason Merrill  <jason@redhat.com>
2768
2769	* c-cppbuiltin.c (c_cpp_builtins): Correct
2770	__cpp_inheriting_constructors.
2771
27722016-11-01  Jason Merrill  <jason@redhat.com>
2773
2774	* c-cppbuiltin.c (c_cpp_builtins): Update
2775	__cpp_inheriting_constructors.
2776
2777	* c.opt (-fnew-inheriting-ctors): New.
2778	* c-opts.c: Default to on for ABI 11+.
2779
27802016-10-31  Jakub Jelinek  <jakub@redhat.com>
2781
2782	PR c++/77948
2783	* c.opt (fext-numeric-literals): Add Var and Init.
2784	* c-opts.c (c_common_handle_option): Don't clear
2785	cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
2786	(c_common_post_options): Clear it here if not set
2787	explicitly.
2788
27892016-10-28  Aldy Hernandez  <aldyh@redhat.com>
2790
2791	PR debug/77773
2792	* c-pretty-print.c (simple_type_specifier): Do not dereference `t'
2793	if NULL.
2794
27952016-10-25  Jakub Jelinek  <jakub@redhat.com>
2796
2797	* c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
2798	* c-common.c (c_common_reswords): Add __builtin_launder.
2799
28002016-10-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2801
2802	* c-common.c (c_common_truthvalue_conversion): Warn for
2803	multiplications in boolean context.  Fix the quoting of '<<' and '<'
2804	in the shift warning.
2805
28062016-10-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2807
2808	* c-common.c (c_common_truthvalue_conversion): Fix the comment.
2809
28102016-10-20  Jason Merrill  <jason@redhat.com>
2811
2812	* c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
2813
28142016-10-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2815
2816	* c-common.c (c_common_truthvalue_conversion): Warn only for signed
2817	integer shift ops in boolean context.
2818
28192016-10-18  Aldy Hernandez  <aldyh@redhat.com>
2820
2821	* c.opt (Walloca): New.
2822	(Walloca-larger-than=): New.
2823	(Wvla-larger-than=): New.
2824
28252016-10-17  Marek Polacek  <polacek@redhat.com>
2826
2827	* c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
2828	Return immediately when finding a match.
2829	(warn_tautological_cmp): Remove a boolean variable that is no longer
2830	needed.
2831
28322016-10-17  Marek Polacek  <polacek@redhat.com>
2833
2834	* c-attribs.c: New file.
2835	* c-common.c: Move attributes handling to c-attribs.c.
2836	(get_nonnull_operand): No longer static.
2837	* c-common.h: Move the declarations from c-attribs.c to its own section.
2838
28392016-10-14  Jason Merrill  <jason@redhat.com>
2840
2841	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
2842	and __cpp_deduction_guides.
2843
28442016-10-13  Jason Merrill  <jason@redhat.com>
2845
2846	* c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
2847
28482016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2849
2850	* c-cppbuiltin.c: Include memmodel.h.
2851	* c-opts.c: Likewise.
2852	* c-pragma.c: Likewise.
2853	* c-warn.c: Likewise.
2854
28552016-10-12  Jakub Jelinek  <jakub@redhat.com>
2856
2857	* c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
2858	(Wimplicit-fallthrough=): Enable for these languages by -Wextra.
2859	* c-opts.c (sanitize_cpp_opts): Initialize
2860	cpp_opts->cpp_warn_implicit_fallthrough.
2861
28622016-10-11  Marek Polacek  <polacek@redhat.com>
2863
2864	* c-common.c (warning_candidate_p): Change the return type to bool
2865	and return true/false instead of 1/0.
2866	(vector_mode_valid_p): Likewise.
2867
28682016-10-11  Marek Polacek  <polacek@redhat.com>
2869
2870	* c-common.c (fold_for_warn): No longer static.
2871	(bool_promoted_to_int_p): Likewise.
2872	(c_common_get_narrower): Likewise.
2873	(constant_expression_warning): Move to c-warn.c.
2874	(constant_expression_error): Likewise.
2875	(overflow_warning): Likewise.
2876	(warn_logical_operator): Likewise.
2877	(find_array_ref_with_const_idx_r): Likewise.
2878	(warn_tautological_cmp): Likewise.
2879	(expr_has_boolean_operands_p): Likewise.
2880	(warn_logical_not_parentheses): Likewise.
2881	(warn_if_unused_value): Likewise.
2882	(strict_aliasing_warning): Likewise.
2883	(sizeof_pointer_memaccess_warning): Likewise.
2884	(check_main_parameter_types): Likewise.
2885	(conversion_warning): Likewise.
2886	(warnings_for_convert_and_check): Likewise.
2887	(match_case_to_enum_1): Likewise.
2888	(match_case_to_enum): Likewise.
2889	(c_do_switch_warnings): Likewise.
2890	(warn_for_omitted_condop): Likewise.
2891	(readonly_error): Likewise.
2892	(lvalue_error): Likewise.
2893	(invalid_indirection_error): Likewise.
2894	(warn_array_subscript_with_type_char): Likewise.
2895	(warn_about_parentheses): Likewise.
2896	(warn_for_unused_label): Likewise.
2897	(warn_for_div_by_zero): Likewise.
2898	(warn_for_memset): Likewise.
2899	(warn_for_sign_compare): Likewise.
2900	(do_warn_double_promotion): Likewise.
2901	(do_warn_unused_parameter): Likewise.
2902	(record_locally_defined_typedef): Likewise.
2903	(maybe_record_typedef_use): Likewise.
2904	(maybe_warn_unused_local_typedefs): Likewise.
2905	(maybe_warn_bool_compare): Likewise.
2906	(maybe_warn_shift_overflow): Likewise.
2907	(warn_duplicated_cond_add_or_warn): Likewise.
2908	(diagnose_mismatched_attributes): Likewise.
2909	* c-common.h: Move the declarations from c-warn.c to its own section.
2910	* c-warn.c: New file.
2911
29122016-10-08  Jason Merrill  <jason@redhat.com>
2913
2914	* c-common.c (c_common_truthvalue_conversion): Don't distribute
2915	into COND_EXPR in C++.
2916
29172016-10-08  Jakub Jelinek  <jakub@redhat.com>
2918
2919	* c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
2920	token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
2921	CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
2922
29232016-10-07  Jakub Jelinek  <jakub@redhat.com>
2924
2925	Implement LWG2296 helper intrinsic
2926	* c-common.h (enum rid): Add RID_ADDRESSOF.
2927	* c-common.c (c_common_reswords): Add __builtin_addressof.
2928
29292016-10-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2930
2931	PR c++/77700
2932	* c-common.c (c_common_truthvalue_conversion): Warn also for
2933	suspicious enum values in boolean context.
2934
29352016-10-06  Jakub Jelinek  <jakub@redhat.com>
2936
2937	Implement P0258R2 - helper for C++17
2938	std::has_unique_object_representations trait
2939	* c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
2940	* c-common.c (c_common_reswords): Add
2941	__has_unique_object_representations.
2942
29432016-10-05  Jakub Jelinek  <jakub@redhat.com>
2944
2945	PR sanitizer/66343
2946	* c-ubsan.c (ubsan_instrument_return): Don't call
2947	initialize_sanitizer_builtins here.
2948
29492016-10-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2950
2951	* c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
2952	conditional expression in boolean context when only one arm is
2953	non-boolean.
2954
29552016-10-05  Jakub Jelinek  <jakub@redhat.com>
2956
2957	PR sanitizer/77823
2958	* c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
2959	is not integral.
2960
2961	* c-common.c (c_common_reswords): Update comment for C++11.
2962
29632016-10-04  Jason Merrill  <jason@redhat.com>
2964
2965	* c-common.c (make_tree_vector_from_ctor): New.
2966	* c-common.h: Declare it.
2967
29682016-10-04  Jakub Jelinek  <jakub@redhat.com>
2969
2970	* c-cppbuiltin.c (c_cpp_builtins): Don't define
2971	__LIBGCC_JCR_SECTION_NAME__.
2972
29732016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2974
2975	* c-common.c (c_common_truthvalue_conversion): Warn for suspicious
2976	left shift in boolean context.
2977
29782016-09-29  Jakub Jelinek  <jakub@redhat.com>
2979
2980	Implement P0001R1 - C++17 removal of register storage class specifier
2981	* c.opt (Wregister): New warning.
2982	* c-opts.c (c_common_post_options): Enable -Wregister by
2983	default for C++17.
2984
29852016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
2986
2987	* c-opts.c (c_common_post_options): Remove special case for
2988	TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
2989	in C++.
2990
29912016-09-27  Jakub Jelinek  <jakub@redhat.com>
2992
2993	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
2994	-std=c++1z.
2995
2996	* c-ada-spec.c (print_ada_declaration): Remove break after return.
2997
29982016-09-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2999
3000	* c-common.c: Include memmodel.h.
3001
30022016-09-26  Marek Polacek  <polacek@redhat.com>
3003
3004	* c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
3005
30062016-09-26  Marek Polacek  <polacek@redhat.com>
3007
3008	PR c/7652
3009	* c-common.c (c_common_attribute_table): Add fallthrough attribute.
3010	(handle_fallthrough_attribute): New function.
3011	(attribute_fallthrough_p): New function.
3012	* c-common.h (attribute_fallthrough_p): Declare.
3013
30142016-09-24  Marek Polacek  <polacek@redhat.com>
3015
3016	PR c/77490
3017	* c.opt (Wbool-operation): New.
3018
30192016-09-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3020
3021	* c-common.c (c_common_truthvalue_conversion): Inhibit
3022	Wint-in-bool-context warning with from_macro_definition_at.
3023	Mention the expression will always evaluate to true.
3024
30252016-09-21  Martin Sebor  <msebor@redhat.com>
3026
3027	PR bootstrap/77676
3028	* c.opt (fprintf-return-value): Temporarily initialize to zero
3029	to unblock bootstrap failures.
3030
30312016-09-21  Jakub Jelinek  <jakub@redhat.com>
3032
3033	PR c++/77651
3034	* c.opt (Waligned-new=): Add RejectNegative.
3035	(faligned-new=): Likewise.  Spelling fix - change
3036	aligned_new_threshhold to aligned_new_threshold.
3037	* c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
3038	to aligned_new_threshold.
3039
30402016-09-20  Martin Sebor  <msebor@redhat.com>
3041
3042	PR middle-end/49905
3043	* c.opt: Add -Wformat-length and -fprintf-return-value.
3044
30452016-09-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3046
3047	PR c++/77434
3048	* c.opt (Wint-in-bool-context): New warning.
3049	* c-common.c (c_common_truthvalue_conversion): Warn on integer
3050	constants in boolean context.
3051
30522016-09-19  Joseph Myers  <joseph@codesourcery.com>
3053
3054	* c-common.c (max_align_t_align): Also consider alignment of
3055	float128_type_node.
3056
30572016-09-15  Jason Merrill  <jason@redhat.com>
3058
3059	* c-common.c (check_cxx_fundamental_alignment_constraints): Check
3060	DECL_EXTERNAL.
3061
30622016-09-14  Jason Merrill  <jason@redhat.com>
3063
3064	* c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3065	limit FIELD_DECL, either.
3066
30672016-09-14  Marek Polacek  <polacek@redhat.com>
3068
3069	* c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
3070	* c-common.h (build_unary_op): Change nonconvert parameter type to bool.
3071	* c-omp.c (c_finish_omp_atomic): Use false instead of 0.
3072
30732016-09-13  David Malcolm  <dmalcolm@redhat.com>
3074
3075	* c-common.c (warn_logical_not_parentheses): Replace
3076	rich_location::add_fixit_insert calls with add_fixit_insert_before
3077	and add_fixit_insert_after, eliminating the "next_loc" calculation.
3078
30792016-09-13  Jason Merrill  <jason@redhat.com>
3080	    Tom de Vries  <tom@codesourcery.com>
3081
3082	PR c++/77427
3083	* c-common.c (set_underlying_type): Don't treat array as builtin type.
3084
30852016-09-13  Jason Merrill  <jason@redhat.com>
3086
3087	* c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3088	limit types at all.
3089
30902016-09-12  Jason Merrill  <jason@redhat.com>
3091
3092	* c-common.c (check_cxx_fundamental_alignment_constraints): Fix
3093	bit/byte confusion, allow large alignment for types.
3094
30952016-09-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3096
3097	PR c++/77496
3098	* c-common.c (warn_for_omitted_condop): Also warn for boolean data.
3099
31002016-09-12  David Malcolm  <dmalcolm@redhat.com>
3101
3102	PR c/72858
3103	* c-format.c (argument_parser::check_argument_type): Add params
3104	"type_start" and "conversion_char".  Use the former to generate
3105	offset_to_type_start and pass it and conversion_char to
3106	check_format_types.
3107	(check_format_info_main): Capture the start of the type
3108	information as "type_start", and pass it an format_char
3109	to arg_parser.check_argument_type.
3110	(check_format_types): Provide an example in the leading comment.
3111	Add params "offset_to_type_start" and "conversion_char"; pass
3112	them to format_type_warning calls.
3113	(test_get_modifier_for_format_len): Likewise.
3114	(matching_type_p): New function.
3115	(get_format_for_type): Add param "conversion_char" and move
3116	implementation into...
3117	(get_format_for_type_1): ...new function, called twice.
3118	Use new function matching_type_p rather than checking for
3119	TYPE_CANONICAL equality.
3120	(get_corrected_substring): New function.
3121	(format_type_warning): Provide an example in the leading comment.
3122	Add params "offset_to_type_start" and "conversion_char".  Replace
3123	call to get_format_for_type with call to get_corrected_substring
3124	and move rejection of hints for widths/precisions there.
3125	(assert_format_for_type_streq): Add param "conversion_char".
3126	(ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
3127	(test_get_format_for_type_printf): Add conversion chars to the
3128	tests, adding coverage for various combinations of integer
3129	vs double conversions, and for preserving octal and hexadecimal
3130	conversions.
3131	(test_get_format_for_type_scanf): Add conversion chars to the
3132	tests.
3133
31342016-09-10  Tom de Vries  <tom@codesourcery.com>
3135
3136	PR C/71602
3137	* c-common.c (build_va_arg): Handle more strict
3138	targetm.canonical_va_list_type.  Replace first argument type error with
3139	assert.
3140
31412016-09-09  Martin Sebor  <msebor@redhat.com>
3142
3143	PR c/77520
3144	PR c/77521
3145	* c-format.c (argument_parser::find_format_char_info): Use %qc
3146	format directive unconditionally.
3147
31482016-09-09  Jason Merrill  <jason@redhat.com>
3149
3150	Implement C++17 new of over-aligned types.
3151	* c.opt: Add -faligned-new and -Waligned-new.
3152	* c-common.c (max_align_t_align): Split out from...
3153	(cxx_fundamental_alignment_p): ...here.
3154	* c-common.h: Declare it.
3155	* c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
3156
31572016-09-09  Joseph Myers  <joseph@codesourcery.com>
3158
3159	* c-cppbuiltin.c (builtin_define_type_width): New function.
3160	(builtin_define_stdint_macros, c_cpp_builtins): Define type width
3161	macros.
3162
31632016-09-07  David Malcolm  <dmalcolm@redhat.com>
3164
3165	* c-common.c (get_cpp_ttype_from_string_type): Handle being passed
3166	a POINTER_TYPE.
3167	(substring_loc::get_location): Move to substring-locations.c,
3168	keeping implementation as...
3169	(c_get_substring_location): New function, from the above, reworked
3170	to use accessors rather than member lookup.
3171	* c-common.h (class substring_loc): Move to substring-locations.h,
3172	replacing with a forward decl.
3173	(c_get_substring_location): New decl.
3174	* c-format.c: Include "substring-locations.h".
3175	(format_warning_va): Move to substring-locations.c.
3176	(format_warning_at_substring): Likewise.
3177
31782016-09-06 Martin Sebor  <msebor@redhat.com>
3179
3180	PR c/77336
3181	* c-format.c (check_function_format): Avoid issuing warnings for
3182	functions unless they call format functions with non-constant
3183	format strings.
3184
31852016-09-06  Richard Biener  <rguenther@suse.de>
3186
3187	PR c/77450
3188	* c-common.c (c_common_mark_addressable_vec): Handle
3189	COMPOUND_LITERAL_EXPR.
3190
31912016-09-05  Marek Polacek  <polacek@redhat.com>
3192
3193	PR c/77423
3194	* c-common.c (bool_promoted_to_int_p): New function.
3195	(expr_has_boolean_operands_p): New function.
3196	(warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
3197	(maybe_warn_bool_compare): Use bool_promoted_to_int_p.
3198
31992016-09-04  Tom de Vries  <tom@codesourcery.com>
3200
3201	revert:
3202	2016-08-29  Tom de Vries  <tom@codesourcery.com>
3203
3204	* c-common.c (build_va_arg): Replace first argument type error
3205	with assert.
3206
32072016-09-02  Jakub Jelinek  <jakub@redhat.com>
3208
3209	PR c/65467
3210	* c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
3211	(c_finish_omp_for): Reject _Atomic qualified iterators.
3212
32132016-09-01  Martin Sebor  <msebor@redhat.com>
3214
3215	* c-ada-spec.c (dump_ada_function_declaration): Increase buffer
3216	size to guarantee it fits the output of the formatted function
3217	regardless of its arguments.
3218
32192016-09-01  Marek Polacek  <polacek@redhat.com>
3220
3221	PR c/7652
3222	* c-common.c (resolve_overloaded_builtin): Fix formatting.  Add
3223	FALLTHRU comments.
3224
32252016-08-29  Marek Polacek  <polacek@redhat.com>
3226
3227	PR c/77292
3228	* c-common.c (warn_logical_not_parentheses): Don't warn for
3229	a comparison or a logical operator.
3230
32312016-08-29  Tom de Vries  <tom@codesourcery.com>
3232
3233	* c-common.c (build_va_arg): Fix type comparison assert.
3234
32352016-08-29  Tom de Vries  <tom@codesourcery.com>
3236
3237	* c-common.c (build_va_arg): Replace first argument type error
3238	with assert.
3239
32402016-08-29  Tom de Vries  <tom@codesourcery.com>
3241
3242	PR c/77398
3243	* c-common.c (build_va_arg): Add first argument error.  Build va_arg
3244	with error_mark_node as va_list instead of with illegal va_list.
3245
32462016-08-25  Marek Polacek  <polacek@redhat.com>
3247	    David Malcolm  <dmalcolm@redhat.com>
3248
3249	* c-common.c (warn_logical_not_parentheses): Print fixit hints.
3250	* c-common.h (warn_logical_not_parentheses): Update declaration.
3251
32522016-08-22  Marek Polacek  <polacek@redhat.com>
3253
3254	PR c++/77321
3255	* c-common.c (warn_for_memset): Check type for null.
3256
32572016-08-22  Joseph Myers  <joseph@codesourcery.com>
3258
3259	* c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
3260	_FloatNx types for suffixes for built-in functions.
3261
32622016-08-19  Joseph Myers  <joseph@codesourcery.com>
3263
3264	PR c/32187
3265	* c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
3266	(RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
3267	(RID_FLOAT128X): New enum rid values.
3268	(CASE_RID_FLOATN_NX): New macro.
3269	* c-common.c (c_common_reswords): Add _FloatN and _FloatNx
3270	keywords.
3271	(c_common_type_for_mode): Check for _FloatN and _FloatNx and
3272	corresponding complex types.
3273	(c_common_nodes_and_builtins): For non-C++, register _FloatN and
3274	_FloatNx and corresponding complex types.
3275	(keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
3276	* c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
3277	and _FloatNx types for the widest type for determining
3278	DECIMAL_DIG.  Define __LDBL_DECIMAL_DIG__ as well as
3279	__DECIMAL_DIG__ for long double.  Handle FMA_SUFFIX being NULL.
3280	(c_cpp_builtins): Call builtin_define_float_constants for _FloatN
3281	and _FloatNx types.
3282	* c-lex.c (interpret_float): Handle _FloatN and _FloatNx
3283	constants.
3284	* c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
3285	_FloatNx types.
3286
32872016-08-18  David Malcolm  <dmalcolm@redhat.com>
3288
3289	* c-opts.c (c_diagnostic_finalizer): Update for change to
3290	diagnostic_show_locus.
3291
32922016-08-18  David Malcolm  <dmalcolm@redhat.com>
3293
3294	* c-common.c: Include "spellcheck.h".
3295	(cb_get_suggestion): New function.
3296	* c-common.h (cb_get_suggestion): New decl.
3297	* c-lex.c (init_c_lex): Initialize cb->get_suggestion to
3298	cb_get_suggestion.
3299
33002016-08-18  Marek Polacek  <polacek@redhat.com>
3301
3302	PR c/71514
3303	* c-common.c (get_atomic_generic_size): Disallow pointer-to-function
3304	and pointer-to-VLA.
3305
33062016-08-16  David Malcolm  <dmalcolm@redhat.com>
3307
3308	PR c/72857
3309	* c-common.c (substring_loc::get_range): Rename to...
3310	(substring_loc::get_location): ...this, converting param from a
3311	source_range * to a location_t *.  Call
3312	get_source_location_for_substring rather than
3313	get_source_range_for_substring, and pass in m_caret_idx.
3314	* c-common.h (substring_loc::substring_loc): Add param "caret_idx".
3315	(substring_loc::get_range): Replace with...
3316	(substring_loc::get_location): ...this.
3317	(substring_loc::set_caret_index): New method.
3318	(substring_loc): Add field m_caret_idx.
3319	* c-format.c (format_warning_va): Update for above changes.
3320	Rename local "substring_loc" to "fmt_substring_loc" to avoid
3321	clashing with type name.
3322	(format_warning_at_char): Add caret_idx param to substring_loc ctor.
3323	(check_argument_type): Likewise.
3324	(format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
3325	Use a copy when emitting warnings, setting the caret index from TYPE.
3326
33272016-08-16  Eric Botcazou  <ebotcazou@adacore.com>
3328	    Arnaud Charlet  <charlet@adacore.com>
3329
3330	* c-ada-spec.c (dump_number): New function.
3331	(handle_escape_character): Likewise.
3332	(print_ada_macros): Add handling of constant integers and strings.
3333
33342016-08-12  Marek Polacek  <polacek@redhat.com>
3335
3336	PR c/7652
3337	* c-common.c (scalar_to_vector): Adjust fall through comment.
3338	* c-opts.c (c_common_handle_option): Likewise.
3339	* c-pragma.c (handle_pragma_pack): Add FALLTHRU.
3340	* c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
3341	fall through comment.
3342	* cilk.c (extract_free_variables): Add FALLTHRU.
3343
33442016-08-10  Jason Merrill  <jason@redhat.com>
3345
3346	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
3347
33482016-08-09  Jason Merrill  <jason@redhat.com>
3349
3350	* c-common.c (c_common_attribute_table): vector_size affects type
3351	identity.
3352
33532016-08-09  Marek Polacek  <polacek@redhat.com>
3354
3355	PR c/7652
3356	* c-ada-spec.c (dump_generic_ada_node): Add return.
3357
33582016-08-09  Jason Merrill  <jason@redhat.com>
3359
3360	* c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
3361	C++17 constexpr lambdas.
3362
33632016-08-08  David Malcolm  <dmalcolm@redhat.com>
3364
3365	PR c/64955
3366	* c-common.h (selftest::c_format_c_tests): New declaration.
3367	(selftest::run_c_tests): New declaration.
3368	* c-format.c: Include "selftest.h.
3369	(format_warning_va): Add param "corrected_substring" and use
3370	it to add a replacement fix-it hint.
3371	(format_warning_at_substring): Likewise.
3372	(format_warning_at_char): Update for new param of
3373	format_warning_va.
3374	(argument_parser::check_argument_type): Pass "fki" to
3375	check_format_types.
3376	(check_format_types): Add param "fki" and pass it to
3377	format_type_warning.
3378	(deref_n_times): New function.
3379	(get_modifier_for_format_len): New function.
3380	(selftest::test_get_modifier_for_format_len): New function.
3381	(get_format_for_type): New function.
3382	(format_type_warning): Add param "fki" and use it to attempt
3383	to provide hints for argument types when calling
3384	format_warning_at_substring.
3385	(selftest::get_info): New function.
3386	(selftest::assert_format_for_type_streq): New function.
3387	(ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
3388	(selftest::test_get_format_for_type_printf): New function.
3389	(selftest::test_get_format_for_type_scanf): New function.
3390	(selftest::c_format_c_tests): New function.
3391
33922016-08-08  David Malcolm  <dmalcolm@redhat.com>
3393
3394	PR c/52952
3395	* c-format.c: Include "diagnostic.h".
3396	(location_column_from_byte_offset): Delete.
3397	(location_from_offset): Delete.
3398	(format_warning_va): New function.
3399	(format_warning_at_substring): New function.
3400	(format_warning_at_char): New function.
3401	(check_format_arg): Capture location of format_tree and pass to
3402	check_format_info_main.
3403	(argument_parser): Add fields "start_of_this_format" and
3404	"format_string_cst".
3405	(flag_chars_t::validate): Add param "format_string_cst".  Convert
3406	warning_at call using location_from_offset to call to
3407	format_warning_at_char.
3408	(argument_parser::argument_parser): Add param "format_string_cst_"
3409	and use use it to initialize field "format_string_cst".
3410	Initialize new field "start_of_this_format".
3411	(argument_parser::read_format_flags): Convert warning_at call
3412	using location_from_offset to a call to format_warning_at_char.
3413	(argument_parser::read_any_format_left_precision): Likewise.
3414	(argument_parser::read_any_format_precision): Likewise.
3415	(argument_parser::read_any_other_modifier): Likewise.
3416	(argument_parser::find_format_char_info): Likewise, in three places.
3417	(argument_parser::parse_any_scan_set): Likewise, in one place.
3418	(argument_parser::handle_conversions): Likewise, in two places.
3419	(argument_parser::check_argument_type): Add param "fmt_param_loc"
3420	and use it to make a substring_loc.  Pass the latter to
3421	check_format_types.
3422	(check_format_info_main): Add params "fmt_param_loc" and
3423	"format_string_cst".  Convert warning_at calls using
3424	location_from_offset to calls to format_warning_at_char.  Pass the
3425	new params to the arg_parser ctor.  Pass "format_string_cst" to
3426	flag_chars.validate.  Pass "fmt_param_loc" to
3427	arg_parser.check_argument_type.
3428	(check_format_types): Convert first param from a location_t
3429	to a const substring_loc & and rename to "fmt_loc".  Attempt
3430	to extract the range of the relevant parameter and pass it
3431	to format_type_warning.
3432	(format_type_warning): Convert first param from a location_t
3433	to a const substring_loc & and rename to "fmt_loc".  Add
3434	params "param_range" and "type".  Replace calls to warning_at
3435	with calls to format_warning_at_substring.
3436
34372016-08-08  David Malcolm  <dmalcolm@redhat.com>
3438
3439	* c-format.c (class flag_chars_t): New class.
3440	(struct length_modifier): New struct.
3441	(class argument_parser): New class.
3442	(flag_chars_t::flag_chars_t): New ctor.
3443	(flag_chars_t::has_char_p): New method.
3444	(flag_chars_t::add_char): New method.
3445	(flag_chars_t::validate): New method.
3446	(flag_chars_t::get_alloc_flag): New method.
3447	(flag_chars_t::assignment_suppression_p): New method.
3448	(argument_parser::argument_parser): New ctor.
3449	(argument_parser::read_any_dollar): New method.
3450	(argument_parser::read_format_flags): New method.
3451	(argument_parser::read_any_format_width): New method.
3452	(argument_parser::read_any_format_left_precision): New method.
3453	(argument_parser::read_any_format_precision): New method.
3454	(argument_parser::handle_alloc_chars): New method.
3455	(argument_parser::read_any_length_modifier): New method.
3456	(argument_parser::read_any_other_modifier): New method.
3457	(argument_parser::find_format_char_info): New method.
3458	(argument_parser::validate_flag_pairs): New method.
3459	(argument_parser::give_y2k_warnings): New method.
3460	(argument_parser::parse_any_scan_set): New method.
3461	(argument_parser::handle_conversions): New method.
3462	(argument_parser::check_argument_type): New method.
3463	(check_format_info_main): Introduce classes argument_parser
3464	and flag_chars_t, moving the code within the loop into methods
3465	of these classes.  Make various locals "const".
3466
34672016-08-05  David Malcolm  <dmalcolm@redhat.com>
3468
3469	* c-common.c: Include "substring-locations.h".
3470	(get_cpp_ttype_from_string_type): New function.
3471	(g_string_concat_db): New global.
3472	(substring_loc::get_range): New method.
3473	* c-common.h (g_string_concat_db): New declaration.
3474	(class substring_loc): New class.
3475	* c-lex.c (lex_string): When concatenating strings, capture the
3476	locations of all tokens using a new obstack, and record the
3477	concatenation locations within g_string_concat_db.
3478	* c-opts.c (c_common_init_options): Construct g_string_concat_db
3479	on the ggc-heap.
3480
34812016-07-29  Marek Polacek  <polacek@redhat.com>
3482
3483	PR c/71926
3484	* c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
3485	parentheses warning.
3486
3487	PR c/71574
3488	* c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
3489
34902016-07-28  Martin Liska  <mliska@suse.cz>
3491
3492	PR gcov-profile/68025
3493	* c-common.c (handle_no_profile_instrument_function_attribute):
3494
34952016-07-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3496
3497	* c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
3498	BITS_PER_UNIT_LOG.
3499
35002016-07-25  Jason Merrill  <jason@redhat.com>
3501
3502	PR c++/65970
3503	* c.opt (fconstexpr-loop-limit): New.
3504
35052016-07-22  Martin Sebor  <msebor@redhat.com>
3506
3507	PR c++/71675
3508	* c-common.c (resolve_overloaded_builtin): Avoid converting
3509	__atomic_compare_exchange_n return type to that of what its
3510	first argument points to.
3511
35122016-07-22  Uros Bizjak  <ubizjak@gmail.com>
3513
3514	* c-common.c: Use HOST_WIDE_INT_M1U instead of
3515	~(unsigned HOST_WIDE_INT) 0.
3516
35172016-07-22  Martin Liska  <mliska@suse.cz>
3518
3519	PR gcov-profile/69028
3520	PR gcov-profile/62047
3521	* cilk.c (create_cilk_helper_decl): Set location of a new decl
3522	to the current_function_decl.
3523
35242016-07-21  Jason Merrill  <jason@redhat.com>
3525
3526	PR c++/65168
3527	* c-common.c (c_common_truthvalue_conversion): Check
3528	c_inhibit_evaluation_warnings for warning about address of
3529	reference.
3530
35312016-07-20  David Malcolm  <dmalcolm@redhat.com>
3532
3533	* c-common.h (lookup_name_fuzzy): Convert return type from tree to
3534	const char *.
3535
35362016-07-15  Jason Merrill  <jason@redhat.com>
3537
3538	* c-opts.c (c_common_post_options): Update -fabi-version default to 11.
3539
35402016-07-15  Jakub Jelinek  <jakub@redhat.com>
3541
3542	PR c/71858
3543	* c-common.h (enum lookup_name_fuzzy_kind): Add
3544	FUZZY_LOOKUP_FUNCTION_NAME.
3545
35462016-07-08  Jason Merrill  <jason@redhat.com>
3547
3548	P0145: Refining Expression Order for C++.
3549	* c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
3550	* c-opts.c: Adjust.
3551
35522016-07-05  Markus Trippelsdorf  <markus@trippelsdorf.de>
3553
3554	PR c++/71214
3555	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
3556
35572016-06-29  Thomas Schwinge  <thomas@codesourcery.com>
3558
3559	* c-pragma.h (enum pragma_kind): Rename
3560	PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE.  Adjust all
3561	users.
3562
35632016-06-29  Richard Biener  <rguenther@suse.de>
3564
3565	PR middle-end/71002
3566	* c-common.c (c_common_get_alias_set): Remove union type punning case.
3567
35682016-06-24  Jason Merrill  <jason@redhat.com>
3569
3570	P0145R2: Refining Expression Order for C++.
3571	* c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
3572	MODIFY_EXPR.
3573
35742016-06-24  Jakub Jelinek  <jakub@redhat.com>
3575
3576	* c-common.c (check_builtin_function_arguments): Require last
3577	argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
3578	Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
3579	if the last argument is pointer to enumerated or boolean type.
3580
35812016-06-22  David Malcolm  <dmalcolm@redhat.com>
3582
3583	PR c/70339
3584	* c-common.h (enum lookup_name_fuzzy_kind): New enum.
3585	(lookup_name_fuzzy): New prototype.
3586
35872016-06-21  John David Anglin  <danglin@gcc.gnu.org>
3588
3589	* c-common.c (get_source_date_epoch): Use int64_t instead of long long.
3590
35912016-06-14  Jason Merrill  <jason@redhat.com>
3592
3593	P0145R2: Refining Expression Order for C++.
3594	* c.opt (fargs-in-order): New.
3595	* c-opts.c (c_common_post_options): Adjust flag_args_in_order.
3596
35972016-06-13  Jakub Jelinek  <jakub@redhat.com>
3598
3599	PR sanitizer/71498
3600	* c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
3601	all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
3602
3603	PR preprocessor/71183
3604	* c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
3605	to cb_get_source_date_epoch.
3606
36072016-06-10  Jakub Jelinek  <jakub@redhat.com>
3608
3609	PR c/68657
3610	* c.opt (Wpsabi): Add Warning flag.
3611
36122016-06-10  Martin Sebor  <msebor@redhat.com>
3613
3614	PR c/71392
3615	* c-common.c (handle_nonnull_attribute): Accept
3616	the nonnull attribute in type-generic builtins.
3617
36182016-06-09  Martin Sebor  <msebor@redhat.com>
3619
3620	PR c/70883
3621	* c-common.c (builtin_function_validate_nargs): Make text of error
3622	message consistent with others like it.
3623
36242016-06-08  Martin Sebor  <msebor@redhat.com>
3625	    Jakub Jelinek  <jakub@redhat.com>
3626
3627	PR c++/70507
3628	PR c/68120
3629	* c-common.c (check_builtin_function_arguments): Handle
3630	BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
3631
36322016-06-08  Richard Biener  <rguenther@suse.de>
3633
3634	* c-common.c (parse_optimize_options): Improve diagnostic messages.
3635
36362016-06-07  Richard Biener  <rguenther@suse.de>
3637
3638	PR c/61564
3639	* c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
3640	options and warn about others.
3641
36422016-06-01  Eduard Sanou  <dhole@openmailbox.org>
3643
3644	* c-common.c (get_source_date_epoch): Rename to
3645	cb_get_source_date_epoch.
3646	* c-common.c (cb_get_source_date_epoch): Use a single generic erorr
3647	message when the parsing fails.  Use error_at instead of fatal_error.
3648	* c-common.h (get_source_date_epoch): Rename to
3649	cb_get_source_date_epoch.
3650	* c-common.h (cb_get_source_date_epoch): Prototype.
3651	* c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
3652	* c-common.h (c_omp_region_type): Remove trailing comma.
3653	* c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
3654	* c-lex.c (c_lex_with_flags): Remove initialization of
3655	pfile->source_date_epoch.
3656
36572016-05-30  Jakub Jelinek  <jakub@redhat.com>
3658
3659	PR c++/71349
3660	* c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
3661	C_OMP_CLAUSE_SPLIT_TARGET.  Put OMP_CLAUSE_NOWAIT to
3662	C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
3663	instead of C_OMP_CLAUSE_SPLIT_FOR.
3664
36652016-05-24  Richard Biener  <rguenther@suse.de>
3666
3667	PR middle-end/70434
3668	PR c/69504
3669	* c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
3670	(convert_vector_to_array_for_subscript): ... this.
3671	* c-common.c (convert_vector_to_pointer_for_subscript): Use a
3672	VIEW_CONVERT_EXPR to an array type.  Rename to ...
3673	(convert_vector_to_array_for_subscript): ... this.
3674
36752016-05-12  Marek Polacek  <polacek@redhat.com>
3676
3677	PR c/70756
3678	* c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
3679	size_in_bytes and pass LOC to it.
3680
36812016-05-11  Mikhail Maltsev  <maltsevm@gmail.com>
3682
3683	PR c/43651
3684	* c.opt (Wduplicate-decl-specifier): New option.
3685
36862016-05-11  Marek Polacek  <polacek@redhat.com>
3687
3688	PR c++/71024
3689	* c-common.c (diagnose_mismatched_attributes): New function.
3690	* c-common.h (diagnose_mismatched_attributes): Declare.
3691
36922016-05-04  Marek Polacek  <polacek@redhat.com>
3693
3694	* c.opt (Wdangling-else): New option.
3695
36962016-05-03  Marek Polacek  <polacek@redhat.com>
3697
3698	PR c/70859
3699	* c-common.c (builtin_function_validate_nargs): Add location
3700	parameter.  Use it.
3701	(check_builtin_function_arguments): Add location and arguments
3702	parameters.  Use them.
3703	* c-common.h (check_builtin_function_arguments): Update declaration.
3704
37052016-05-03  Richard Biener  <rguenther@suse.de>
3706
3707	* cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
3708	allow call args to gimplify to SSA names.
3709
37102016-05-03  Marek Polacek  <polacek@redhat.com>
3711
3712	* c-common.h (enum c_omp_region_type): Remove stray comma.
3713
37142016-05-02  Cesar Philippidis  <cesar@codesourcery.com>
3715
3716	* c-common.h (enum c_omp_region_type): Define.
3717
37182016-05-02  Richard Sandiford  <richard.sandiford@arm.com>
3719
3720	* c-common.c (shorten_compare): Use wi::to_wide.
3721
37222016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
3723
3724	PR middle-end/70626
3725	* c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
3726	* c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
3727	reduction clauses in acc parallel loops.
3728
37292016-04-29  Marek Polacek  <polacek@redhat.com>
3730
3731	PR c/70852
3732	* c-common.c (warn_for_memset): Check domain before accessing it.
3733
37342016-04-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
3735
3736	PR/69089
3737	* c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
3738	"aligned" attribute.
3739
37402016-04-28  Jason Merrill  <jason@redhat.com>
3741
3742	* c-lex.c (c_common_has_attribute): Handle nodiscard.
3743
37442016-04-28  Eduard Sanou  <dhole@openmailbox.org>
3745	    Matthias Klose  <doko@debian.org>
3746
3747	* c-common.c (get_source_date_epoch): New function, gets the environment
3748	variable SOURCE_DATE_EPOCH and parses it as long long with error
3749	handling.
3750	* c-common.h (get_source_date_epoch): Prototype.
3751	* c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
3752
37532015-04-27  Ryan Burn  <contact@rnburn.com>
3754
3755	PR c++/69024
3756	PR c++/68997
3757	* cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
3758	(cilk_recognize_spawn): Renamed from recognize_spawn and change to
3759	external linkage.
3760	(cilk_detect_and_unwrap): Corresponding changes.
3761	(extract_free_variables): Don't extract free variables from
3762	AGGR_INIT_EXPR slot.
3763	* c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
3764	(cilk_recognize_spawn): Likewise.
3765
37662016-04-27  Bernd Schmidt  <bschmidt@redhat.com>
3767
3768	* c.opt (Wmemset-elt-size): New option.
3769	* c-common.c (warn_for_memset): New function.
3770	* c-common.h (warn_for_memset): Declare.
3771
37722016-04-25  Jason Merrill  <jason@redhat.com>
3773
3774	* c-common.c (handle_unused_attribute): Accept CONST_DECL.
3775	No longer static.
3776	* c-common.h: Declare it.
3777	* c-lex.c (c_common_has_attribute): Add maybe_unused.
3778
37792016-04-22  Jason Merrill  <jason@redhat.com>
3780
3781	* c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
3782
37832016-04-20  Ilya Verbin  <ilya.verbin@intel.com>
3784
3785	PR c++/69363
3786	* c-cilkplus.c (c_finish_cilk_clauses): Remove function.
3787	* c-common.h (c_finish_cilk_clauses): Remove declaration.
3788
37892016-04-18  Michael Matz  <matz@suse.de>
3790
3791	* c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
3792	and SET_DECL_ALIGN.
3793
37942016-04-17  Eric Botcazou  <ebotcazou@adacore.com>
3795
3796	* c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
3797	(dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
3798	to incomplete types.
3799	(dump_nested_type): Remove redundant tests and tidy up.
3800	(print_ada_declaration): Also set TREE_VISITED on the declaration of
3801	a type which is the typedef of an original type.
3802
38032016-04-15  Marek Polacek  <polacek@redhat.com>
3804
3805	PR c/70651
3806	* c-common.c (build_va_arg): Change two asserts into errors and return
3807	error_mark_node.
3808
38092016-04-13  Marek Polacek  <polacek@redhat.com>
3810
3811	PR c++/70639
3812	* c-indentation.c (should_warn_for_misleading_indentation): Bail out
3813	for switch statements, too.
3814
38152016-03-28  Jason Merrill  <jason@redhat.com>
3816
3817	* c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
3818
38192016-03-23  Marek Polacek  <polacek@redhat.com>
3820
3821	PR c++/69884
3822	* c.opt (Wignored-attributes): New option.
3823
38242016-03-22  David Malcolm  <dmalcolm@redhat.com>
3825
3826	PR c/69993
3827	* c-indentation.c (warn_for_misleading_indentation): Rewrite the
3828	diagnostic text, reversing the order of the warning and note so
3829	that they appear in source order.
3830
38312016-03-17  Marek Polacek  <polacek@redhat.com>
3832
3833	PR c/69407
3834	* c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
3835	operations.
3836
38372016-03-14  Jason Merrill  <jason@redhat.com>
3838
3839	* c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
3840
3841	* c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
3842
38432016-03-09  Richard Biener  <rguenther@suse.de>
3844
3845	PR c/70143
3846	* c-common.c (strict_aliasing_warning): Add back
3847	alias_sets_conflict_p check.
3848
38492016-03-08  Jason Merrill  <jason@redhat.com>
3850
3851	* c-opts.c (set_std_cxx1z): Don't enable concepts.
3852
38532016-03-04  David Malcolm  <dmalcolm@redhat.com>
3854
3855	PR c/68187
3856	* c-indentation.c (get_visual_column): Move code to determine next
3857	tab stop to...
3858	(next_tab_stop): ...this new function.
3859	(line_contains_hash_if): Delete function.
3860	(detect_preprocessor_logic): Delete function.
3861	(get_first_nws_vis_column): New function.
3862	(detect_intervening_unindent): New function.
3863	(should_warn_for_misleading_indentation): Replace call to
3864	detect_preprocessor_logic with a call to
3865	detect_intervening_unindent.
3866
38672016-03-04  David Malcolm  <dmalcolm@redhat.com>
3868
3869	PR c/68187
3870	* c-indentation.c (should_warn_for_misleading_indentation): When
3871	suppressing warnings about cases where the guard and body are on
3872	the same column, only use the first non-whitespace column in place
3873	of the guard token column when dealing with "else" clauses.
3874	When rejecting aligned BODY and NEXT, loosen the requirement
3875	from equality with the first non-whitespace of guard to simply
3876	that they not be indented relative to it.
3877
38782016-03-04  Richard Biener  <rguenther@suse.de>
3879
3880	PR c++/70054
3881	* c-common.c (strict_aliasing_warning): Use alias_set_subset_of
3882	instead of alias_sets_conflict_p.
3883
38842016-03-01  Marek Polacek  <polacek@redhat.com>
3885
3886	PR c++/69795
3887	* c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
3888	any DECL.
3889
38902016-02-22  Martin Sebor  <msebor@redhat.com>
3891
3892	PR middle-end/69780
3893	* c-common.c (check_builtin_function_arguments): Validate and
3894	reject invalid arguments to __builtin_alloca_with_align.
3895
38962016-02-20  Mark Wielaard  <mjw@redhat.com>
3897
3898	PR c/28901
3899	* c.opt (Wunused-const-variable): Turn into Alias for...
3900	(Wunused-const-variable=): New option.
3901
39022016-02-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3903
3904	PR c++/69865
3905	* c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
3906	here...
3907	(c_common_init_options): ...to here.
3908	(set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
3909
39102016-02-19  Jakub Jelinek  <jakub@redhat.com>
3911
3912	PR c++/69826
3913	* c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
3914	(init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
3915	flag_preprocess_only.
3916
39172016-02-16  Jakub Jelinek  <jakub@redhat.com>
3918
3919	PR c/69835
3920	* c.opt (Wnonnull-compare): Enable for -Wall.
3921
39222016-02-15  Jakub Jelinek  <jakub@redhat.com>
3923
3924	PR c++/69797
3925	* c-common.c (sync_resolve_size): Diagnose too few arguments
3926	even when params is non-NULL empty vector.
3927
39282016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
3929
3930	PR target/60410
3931	* c.opt (fshort-double): Remove.
3932
39332016-02-05  Martin Sebor  <msebor@redhat.com>
3934
3935	PR c++/69662
3936	* c.opt (Warning options): Update -Wplacement-new to take
3937	an optional argument.
3938
39392016-02-01  Jakub Jelinek  <jakub@redhat.com>
3940
3941	PR preprocessor/69543
3942	PR c/69558
3943	* c-pragma.c (handle_pragma_diagnostic): Pass input_location
3944	instead of loc to control_warning_option.
3945
39462016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
3947
3948	* c.opt (fopenacc-dim=): New option.
3949
39502016-01-27  Ryan Burn  <contact@rnburn.com>
3951
3952	PR cilkplus/69267
3953	* cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
3954	gimplify_arg. Removed superfluous post_p argument.
3955	* c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
3956	superfluous post_p argument.
3957	* c-gimplify.c (c_gimplify_expr): Likewise.
3958
39592016-01-26  David Malcolm  <dmalcolm@redhat.com>
3960
3961	PR other/69006
3962	* c-opts.c (c_diagnostic_finalizer): Replace invocation of
3963	pp_newline_and_flush with pp_flush.
3964
39652016-01-20  Martin Sebor  <msebor@redhat.com>
3966
3967	PR c/69405
3968	* c-common.c (sync_resolve_size): Avoid printing diagnostic about
3969	an incompatible argument when the argument isn't a valid tree node.
3970
39712016-01-18  Jason Merrill  <jason@redhat.com>
3972
3973	PR c++/68767
3974	* c-common.c (check_function_arguments_recurse): Fold the whole
3975	COND_EXPR, not just the condition.
3976
39772016-01-18  Tom de Vries  <tom@codesourcery.com>
3978
3979	* c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
3980	classify as loop clause.
3981
39822016-01-15  Jakub Jelinek  <jakub@redhat.com>
3983
3984	PR bootstrap/68271
3985	* c-pragma.c (c_register_pragma_1): Adjust comment to note that
3986	C++ FE no longer has limit on number of pragmas.
3987
39882015-01-14  Ryan Burn  <contact@rnburn.com>
3989
3990	PR c++/69048
3991	* cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
3992	to add missing cleanup point.
3993
39942016-01-14  David Malcolm  <dmalcolm@redhat.com>
3995
3996	PR c++/68819
3997	* c-indentation.c (get_visual_column): Add location_t param.
3998	Handle the column number being zero by effectively disabling the
3999	warning, with an "inform".
4000	(should_warn_for_misleading_indentation): Add location_t argument
4001	for all uses of get_visual_column.
4002
40032016-01-10  Patrick Palka  <ppalka@gcc.gnu.org>
4004
4005	PR c++/69029
4006	* c-indentation.c (should_warn_for_misleading_indentation):
4007	Don't warn about do-while statements.
4008
40092016-01-07  Martin Sebor  <msebor@redhat.com>
4010
4011	PR c/68966
4012	* c-common.c (sync_resolve_size): Reject first argument when it's
4013	a pointer to _Bool.
4014
40152016-01-05  David Malcolm  <dmalcolm@redhat.com>
4016
4017	PR c/69122
4018	* c-indentation.c (get_visual_column): Remove default argument.
4019	(should_warn_for_misleading_indentation): For the multiline case,
4020	update call to get_visual_column for next_stmt_exploc so that it
4021	captures the location of the first non-whitespace character in the
4022	relevant line.  Don't issue warnings if there is non-whitespace
4023	before the next statement.
4024
40252016-01-04  Jakub Jelinek  <jakub@redhat.com>
4026
4027	Update copyright years.
4028
40292015-12-21  David Malcolm  <dmalcolm@redhat.com>
4030
4031	* c-common.c (binary_op_error): Convert first param from
4032	location_t to rich_location * and use it when emitting an error.
4033	* c-common.h (binary_op_error): Convert first param from
4034	location_t to rich_location *.
4035
40362015-12-16  David Malcolm  <dmalcolm@redhat.com>
4037
4038	* c-common.h (conflict_marker_get_final_tok_kind): New prototype.
4039	* c-lex.c (conflict_marker_get_final_tok_kind): New function.
4040
40412015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
4042
4043	* c-common.c (c_common_attribute_table): Handle "omp declare target
4044	link" attribute.
4045
40462015-12-14  Jakub Jelinek  <jakub@redhat.com>
4047
4048	PR c/68833
4049	* c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
4050
40512014-12-12  Tobias Burnus  <burnus@net-b.de>
4052
4053	PR fortran/68815
4054	* c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
4055	specifiers (%d, %i,%u and %c).
4056
40572015-12-10  David Malcolm  <dmalcolm@redhat.com>
4058
4059	* c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
4060
40612015-12-08  Jakub Jelinek  <jakub@redhat.com>
4062
4063	PR c/48088
4064	PR c/68657
4065	* c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
4066	* c-pragma.c (handle_pragma_diagnostic): Adjust
4067	control_warning_option caller.
4068
40692015-12-07  David Malcolm  <dmalcolm@redhat.com>
4070
4071	* c-common.c (c_cpp_error): Update for change to
4072	rich_location::set_range.
4073
40742015-12-04  Paolo Bonzini  <bonzini@gnu.org>
4075
4076	* c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
4077	shifting 1 out of the sign bit.
4078
40792015-12-04  Kirill Yukhin  <kirill.yukhin@intel.com>
4080
4081	* c-common.c (c_common_attribute_table[]): Update max arguments
4082	count for "simd" attribute.
4083	(handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
4084
40852015-12-03  Jakub Jelinek  <jakub@redhat.com>
4086
4087	PR preprocessor/57580
4088	* c-ppoutput.c (print): Change printed field to bool.
4089	Move src_file last for smaller padding.
4090	(init_pp_output): Set print.printed to false instead of 0.
4091	(scan_translation_unit): Fix up formatting.  Set print.printed
4092	to true after printing something other than newline.
4093	(scan_translation_unit_trad): Set print.printed to true instead of 1.
4094	(maybe_print_line_1): Set print.printed to false instead of 0.
4095	(print_line_1): Likewise.
4096	(do_line_change): Set print.printed to true instead of 1.
4097	(cb_define, dump_queued_macros, cb_include, cb_def_pragma,
4098	dump_macro): Set print.printed to false after printing newline.
4099
41002015-12-02  Jason Merrill  <jason@redhat.com>
4101
4102	* c-common.c (fold_for_warn): New.
4103	(warn_logical_operator, warn_tautological_cmp)
4104	(check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
4105
4106	* c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
4107	(c_fully_fold_internal, decl_constant_value_for_optimization):
4108	Move to c/c-fold.c.
4109	* c-common.h: Don't declare decl_constant_value_for_optimization.
4110
41112015-12-02  Joseph Myers  <joseph@codesourcery.com>
4112
4113	PR c/68162
4114	* c-common.h (c_build_qualified_type): Add extra default
4115	arguments.
4116
41172015-12-01  Julian Brown  <julian@codesourcery.com>
4118	    Cesar Philippidis  <cesar@codesourcery.com>
4119	    James Norris  <James_Norris@mentor.com>
4120
4121	* c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
4122	* c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
4123	(pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
4124
41252015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
4126
4127	* c-ada-spec.c (print_ada_macros): Remove redundant blank line.
4128	(decl_sloc_common): Delete and move bulk of processing to...
4129	(decl_sloc): ...here.
4130	(pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
4131	(dump_ada_double_name): Remove S parameter and compute the suffix.
4132	(dump_ada_array_type): Add PARENT parameter.  Simplify computation of
4133	element type and deal with an anonymous one.
4134	(dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
4135	(dump_generic_ada_node): Tweak.  Adjust call to dump_ada_array_type
4136	and remove reference to QUAL_UNION_TYPE.
4137	(dump_nested_types): Make 2 passes on the fields and move bulk to...
4138	(dump_nested_type): ...here.  New function extracted from above.
4139	Generate a full declaration for anonymous element type of arrays.
4140	(print_ada_declaration): Really skip anonymous declarations.  Remove
4141	references to QUAL_UNION_TYPE.  Adjust call to dump_ada_array_type.
4142	Clean up processing of declarations of array types and objects.
4143	(print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
4144	Remove obsolete code and tidy up.
4145
41462015-11-29  Jan Hubicka  <hubicka@ucw.cz>
4147
4148	PR c/67581
4149	* c-common.c (handle_transparent_union_attribute): Update
4150	also type variants.
4151
41522015-11-27  Martin Liska  <mliska@suse.cz>
4153
4154	PR c++/68312
4155	* array-notation-common.c (cilkplus_extract_an_triplets):
4156	Release vector of vectors.
4157	* cilk.c (gimplify_cilk_spawn): Free allocated memory.
4158
41592015-11-26  Eric Botcazou  <ebotcazou@adacore.com>
4160
4161	PR c++/68527
4162	* c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
4163	(print_ada_struct_decl): Likewise.
4164
41652015-11-23  Igor Zamyatin  <igor.zamyatin@intel.com>
4166
4167	PR c++/68001
4168	* c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
4169	* cilk.c (recognize_spawn): Determine location in a more precise
4170	way.
4171
41722015-11-19  Jason Merrill  <jason@redhat.com>
4173
4174	* c-common.c (shorten_compare): But look through macros from
4175	system headers.
4176
41772015-11-18  Jason Merrill  <jason@redhat.com>
4178
4179	* c-common.c (shorten_compare): Don't -Wtype-limits if the
4180	non-constant operand comes from a macro.
4181
41822015-11-17  Jason Merrill  <jason@redhat.com>
4183
4184	PR bootstrap/68346
4185	* c-common.c (warn_tautological_cmp): Fold before checking for
4186	constants.
4187
41882015-11-16  Marek Polacek  <polacek@redhat.com>
4189
4190	PR c++/68362
4191	* c-common.c (check_case_bounds): Fold low and high cases.
4192
41932015-11-16  Marek Polacek  <polacek@redhat.com>
4194
4195	* c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
4196	* c-common.c (c_common_get_alias_set): Likewise.
4197	(handle_visibility_attribute): Likewise.
4198
41992015-11-16  Kirill Yukhin  <kirill.yukhin@intel.com>
4200
4201	* c-common.c (handle_simd_attribute): New.
4202	(struct attribute_spec): Add entry for "simd".
4203	(handle_simd_attribute): New.
4204
42052015-11-13  Kai Tietz  <ktietz70@googlemail.com>
4206
4207	* c-lex.c (interpret_float): Use fold_convert.
4208
42092015-11-13  David Malcolm  <dmalcolm@redhat.com>
4210
4211	* c-common.c (c_fully_fold_internal): Capture existing souce_range,
4212	and store it on the result.
4213	* c-opts.c (c_common_init_options): Set
4214	global_dc->colorize_source_p.
4215
42162015-11-12  James Norris  <jnorris@codesourcery.com>
4217	    Joseph Myers  <joseph@codesourcery.com>
4218
4219	* c-pragma.c (oacc_pragmas): Add entry for declare directive.
4220	* c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
4221	(enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
4222	PRAGMA_OACC_CLAUSE_LINK.
4223
42242015-11-11  Marek Polacek  <polacek@redhat.com>
4225
4226	PR c/68107
4227	PR c++/68266
4228	* c-common.c (valid_array_size_p): New function.
4229	* c-common.h (valid_array_size_p): Declare.
4230
42312015-11-11  Dominique d'Humieres  <dominiq@lps.ens.fr>
4232
4233	PR bootstrap/68271
4234	* c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
4235
42362015-11-11  Andrew MacLeod  <amacleod@redhat.com>
4237
4238	* array-notation-common.c: Remove unused header files.
4239	* c-ada-spec.c: Likewise.
4240	* c-cilkplus.c: Likewise.
4241	* c-common.c: Likewise.
4242	* c-cppbuiltin.c: Likewise.
4243	* c-dump.c: Likewise.
4244	* c-format.c: Likewise.
4245	* c-gimplify.c: Likewise.
4246	* c-indentation.c: Likewise.
4247	* c-lex.c: Likewise.
4248	* c-omp.c: Likewise.
4249	* c-opts.c: Likewise.
4250	* c-pch.c: Likewise.
4251	* c-ppoutput.c: Likewise.
4252	* c-pragma.c: Likewise.
4253	* c-pretty-print.c: Likewise.
4254	* c-semantics.c: Likewise.
4255	* c-ubsan.c: Likewise.
4256	* cilk.c: Likewise.
4257	* stub-objc.c: Likewise.
4258
42592015-11-09  Thomas Schwinge  <thomas@codesourcery.com>
4260	    Cesar Philippidis  <cesar@codesourcery.com>
4261	    James Norris  <jnorris@codesourcery.com>
4262	    Julian Brown  <julian@codesourcery.com>
4263	    Nathan Sidwell  <nathan@codesourcery.com>
4264
4265	* c-pragma.c (oacc_pragmas): Add "routine".
4266	* c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
4267
42682015-11-08  Eric Botcazou  <ebotcazou@adacore.com>
4269
4270	* c-common.c (c_common_attributes): Add scalar_storage_order.
4271	(handle_scalar_storage_order_attribute): New function.
4272	* c-pragma.c (global_sso): New variable.
4273	(maybe_apply_pragma_scalar_storage_order): New function.
4274	(handle_pragma_scalar_storage_order): Likewise.
4275	(init_pragma): Register scalar_storage_order.
4276	* c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
4277	* c.opt (Wscalar-storage-order): New warning.
4278	(fsso-struct=): New option.
4279
42802015-11-08  Martin Sebor  <msebor@redhat.com>
4281
4282	* c.opt (Wplacement-new): Add a period to the end of a sentence.
4283
42842015-11-07  Richard Sandiford  <richard.sandiford@arm.com>
4285
4286	* c-common.c: Don't undef DEF_BUILTIN.
4287
42882015-11-06  David Malcolm  <dmalcolm@redhat.com>
4289
4290	* c-common.c (c_cpp_error): Convert parameter from location_t to
4291	rich_location *.  Eliminate the "column_override" parameter and
4292	the call to diagnostic_override_column.
4293	Update the "done_lexing" clause to set range 0
4294	on the rich_location, rather than overwriting a location_t.
4295	* c-common.h (c_cpp_error): Convert parameter from location_t to
4296	rich_location *.  Eliminate the "column_override" parameter.
4297
42982015-11-05  Cesar Philippidis  <cesar@codesourcery.com>
4299	    Thomas Schwinge  <thomas@codesourcery.com>
4300	    James Norris  <jnorris@codesourcery.com>
4301
4302	* c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
4303	AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses.  Associate REDUCTION
4304	clauses with parallel and kernels and loops.
4305	* c-pragma.h (enum pragma_omp_clause): Add entries for
4306	PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
4307	* pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
4308	NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
4309	INDEPENDENT,SEQ}.
4310	(tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
4311
43122015-11-05  Martin Sebor  <msebor@redhat.com>
4313
4314	PR c++/67942
4315	* c.opt (-Wplacement-new): New option.
4316
43172015-11-05  Jakub Jelinek  <jakub@redhat.com>
4318
4319	* c-common.h (c_finish_omp_atomic): Add TEST argument.
4320	(c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
4321	* c-omp.c (c_finish_omp_atomic): Add TEST argument.  Don't call
4322	save_expr or create_tmp_var* if TEST is true.
4323	(c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
4324	Don't call add_stmt here.
4325	(struct c_omp_check_loop_iv_data): New type.
4326	(c_omp_check_loop_iv_r, c_omp_check_loop_iv,
4327	c_omp_check_loop_iv_exprs): New functions.
4328	(c_omp_split_clauses): Adjust for lastprivate being allowed on
4329	distribute.
4330	(c_omp_declare_simd_clauses_to_numbers): Change
4331	OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
4332	(c_omp_declare_simd_clauses_to_decls): Similarly change those
4333	from numbers to PARM_DECLs.
4334
43352015-11-04  Mikhail Maltsev  <maltsevm@gmail.com>
4336
4337	* c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
4338	flag_checking.
4339
43402015-11-03  Bernd Schmidt  <bschmidt@redhat.com>
4341
4342	PR c++-common/67882
4343	* c-common.h (fold_offsetof_1): Add argument.
4344	* c-common.c (fold_offsetof_1): Diagnose more invalid
4345	offsetof expressions that reference elements past the end of
4346	an array.
4347
43482015-11-03  Thomas Schwinge  <thomas@codesourcery.com>
4349	    Chung-Lin Tang  <cltang@codesourcery.com>
4350
4351	* c-pragma.c (oacc_pragmas): Add "atomic".
4352	* c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
4353
43542015-10-30  Evgeny Stupachenko  <evstupac@gmail.com>
4355
4356	* c-common.c (handle_target_clones_attribute): New.
4357	(c_common_attribute_table): Add handle_target_clones_attribute.
4358	(handle_always_inline_attribute): Add check on target_clones attribute.
4359	(handle_target_attribute): Ditto.
4360
43612015-10-29  Andrew MacLeod  <amacleod@redhat.com>
4362
4363	* array-notation-common.c: Reorder #include's and remove duplicates.
4364	* c-ada-spec.c: Likewise.
4365	* c-cilkplus.c: Likewise.
4366	* c-common.c: Likewise.
4367	* c-cppbuiltin.c: Likewise.
4368	* c-dump.c: Likewise.
4369	* c-format.c: Likewise.
4370	* c-gimplify.c: Likewise.
4371	* c-indentation.c: Likewise.
4372	* c-lex.c: Likewise.
4373	* c-omp.c: Likewise.
4374	* c-opts.c: Likewise.
4375	* c-pch.c: Likewise.
4376	* c-ppoutput.c: Likewise.
4377	* c-pragma.c: Likewise.
4378	* c-pretty-print.c: Likewise.
4379	* c-semantics.c: Likewise.
4380	* c-ubsan.c: Likewise.
4381	* cilk.c: Likewise.
4382	* stub-objc.c: Likewise.
4383
43842015-10-28  Jason Merrill  <jason@redhat.com>
4385
4386	* c-common.c (pointer_int_sum): Fold the MULT_EXPR.
4387
43882015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
4389	    James Norris  <jnorris@codesourcery.com>
4390	    Cesar Philippidis  <cesar@codesourcery.com>
4391
4392	PR c/64765
4393	PR c/64880
4394	* c-common.h (c_oacc_split_loop_clauses): Declare function.
4395	* c-omp.c (c_oacc_split_loop_clauses): New function.
4396
43972015-10-21  Martin Sebor  <msebor@redhat.com>
4398
4399	PR driver/68043
4400	* c.opt: End each sentence that describes an option with a period.
4401
44022015-10-20  Marek Polacek  <polacek@redhat.com>
4403
4404	* array-notation-common.c (is_cilkplus_vector_p): Define.
4405	* c-common.h (is_cilkplus_vector_p): Declare.
4406
44072015-10-20  Marek Polacek  <polacek@redhat.com>
4408
4409	* c.opt (std=gnu++11): Do not describe as experimental.
4410	(std=gnu++14): Likewise.
4411
44122015-10-19  Jason Merrill  <jason@redhat.com>
4413
4414	* c-cppbuiltin.c (c_cpp_builtins): Define
4415	__cpp_nontype_template_args.
4416
44172015-10-19  Jason Merrill  <jason@redhat.com>
4418
4419	* c-cppbuiltin.c (c_cpp_builtins): Define
4420	__cpp_enumerator_attributes, __cpp_fold_expressions,
4421	__cpp_unicode_characters.
4422
44232015-10-13  Jakub Jelinek  <jakub@redhat.com>
4424	    Aldy Hernandez  <aldyh@redhat.com>
4425
4426	* c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
4427	DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
4428	(c_define_builtins): Likewise.
4429	* c-common.h (enum c_omp_clause_split): Add
4430	C_OMP_CLAUSE_SPLIT_TASKLOOP.
4431	(c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
4432	(c_finish_omp_for): Add ORIG_DECLV argument.
4433	* c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
4434	201511 instead of 201307.
4435	* c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
4436	OMP_CRITICAL_CLAUSES to it.
4437	(c_finish_omp_ordered): Add CLAUSES argument, set
4438	OMP_ORDERED_CLAUSES to it.
4439	(c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
4440	to it if OMP_FOR.  Clear DECL_INITIAL on the IVs.
4441	(c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
4442	constructs and new OpenMP 4.5 clauses.  Clear
4443	OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD.  Add
4444	verification code.
4445	* c-pragma.c (omp_pragmas_simd): Add taskloop.
4446	* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
4447	(enum pragma_omp_clause): Add
4448	PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
4449	and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
4450
44512015-10-05  Richard Sandiford  <richard.sandiford@arm.com>
4452
4453	* c-lex.c (interpret_float): Use real_equal instead of
4454	REAL_VALUES_EQUAL.
4455
44562015-10-04  Jason Merrill  <jason@redhat.com>
4457
4458	Implement N4514, C++ Extensions for Transactional Memory.
4459	* c-common.c (c_common_reswords): Add C++ TM TS keywords.
4460	(c_common_attribute_table): Add transaction_safe_dynamic.
4461	transaction_safe now affects type identity.
4462	(handle_tm_attribute): Handle transaction_safe_dynamic.
4463	* c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
4464	RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
4465	(OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
4466	(D_TRANSMEM): New.
4467	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
4468	* c-pretty-print.c (pp_c_attributes_display): Don't print
4469	transaction_safe in C++.
4470
44712015-10-02  Marek Polacek  <polacek@redhat.com>
4472
4473	* c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
4474
44752015-10-02  Marek Polacek  <polacek@redhat.com>
4476
4477	PR c/64249
4478	* c-common.c (warn_duplicated_cond_add_or_warn): New function.
4479	* c-common.h (warn_duplicated_cond_add_or_warn): Declare.
4480	* c.opt (Wduplicated-cond): New option.
4481
44822015-10-01  Joseph Myers  <joseph@codesourcery.com>
4483
4484	* c.opt (std=c11): Do not describe as experimental.
4485	(std=gnu11): Likewise.
4486	(std=iso9899:2011): Likewise.
4487
44882015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
4489
4490	* c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
4491	(DEF_FUNCTION_TYPE_VAR_11): Delete.
4492
44932015-09-25  Marek Polacek  <polacek@redhat.com>
4494
4495	* c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
4496	(ubsan_instrument_shift): Likewise.
4497
44982015-09-25  Marek Polacek  <polacek@redhat.com>
4499
4500	PR sanitizer/64906
4501	* c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
4502
45032015-09-24  Patrick Palka  <ppalka@gcc.gnu.org>
4504
4505	* c-indentation.c (should_warn_for_misleading_indentation):
4506	Compare next_stmt_vis_column with guard_line_first_nws instead
4507	of with guard_line_vis_column.
4508
45092015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4510
4511	PR c/49654
4512	PR c/49655
4513	* c-pragma.c (handle_pragma_diagnostic): Detect non-warning
4514	options and options not valid for the current language.
4515
45162015-09-22  Patrick Palka  <ppalka@gcc.gnu.org>
4517
4518	* c-indentation.c (should_warn_for_misleading_indentation):
4519	Float out and consolidate the calls to get_visual_column that
4520	are passed guard_exploc as an argument.  Compare
4521	next_stmt_vis_column with guard_line_first_nws instead of with
4522	body_line_first_nws.
4523
45242015-09-22  Nathan Sidwell  <nathan@codesourcery.com>
4525
4526	* c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
4527	Wnamespaces): New C++ warnings.
4528
45292015-09-22  Jason Merrill  <jason@redhat.com>
4530
4531	* c-common.h (abi_compat_version_crosses): New.
4532	(warn_abi_version): Declare.
4533	* c-common.c: Define it.
4534	* c-opts.c (c_common_post_options): Handle it.
4535	flag_abi_compat_version defaults to 8.
4536
45372015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
4538
4539	Complete the implementation of N4230, Nested namespace definition.
4540	* c-cppbuiltin.c: Add __cpp_namespace_attributes and
4541	__cpp_nested_namespace_definitions.
4542
45432015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4544
4545	* c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
4546
45472015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4548
4549	* c-pragma.c (handle_pragma_diagnostic): Use explicit location
4550	when warning.
4551	* c-pragma.h (pragma_lex): Add optional loc argument.
4552
45532015-09-16  Mikhail Maltsev  <maltsevm@gmail.com>
4554
4555	* c-format.c (check_format_arg): Adjust to use common block size in all
4556	object pools.
4557
45582015-09-15  David Malcolm  <dmalcolm@redhat.com>
4559
4560	* c-format.c (location_from_offset): Update for change in
4561	signature of location_get_source_line.
4562	* c-indentation.c (get_visual_column): Likewise.
4563	(line_contains_hash_if): Likewise.
4564
45652015-09-14  Marek Polacek  <polacek@redhat.com>
4566
4567	* c-opts.c (c_common_post_options): Set C++ standard earlier, before
4568	setting various warnings.
4569
45702015-09-14  Marek Polacek  <polacek@redhat.com>
4571
4572	* c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
4573	a negative value.
4574
45752015-09-11  Mark Wielaard  <mjw@redhat.com>
4576
4577	PR c/28901
4578	* c.opt (Wunused-variable): Option from common.opt.
4579	(Wunused-const-variable): New option.
4580
45812015-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
4582
4583	PR c++/53184
4584	* c.opt ([Wsubobject-linkage]): Add.
4585
45862015-09-03  Martin Sebor  <msebor@redhat.com>
4587
4588	PR c/66516
4589	* c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
4590	functions.
4591	* c-common.c (reject_gcc_builtin): Define.
4592
45932015-09-02  Balaji V. Iyer  <balaji.v.iyer@intel.com>
4594
4595	PR middle-end/60586
4596	* c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
4597	prototype.
4598	* c-gimplify.c (c_gimplify_expr): Added a call to the function
4599	cilk_gimplify_call_params_in_spawned_fn.
4600	* cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
4601	(gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
4602	unwrapping.
4603
46042015-08-25  Marek Polacek  <polacek@redhat.com>
4605
4606	PR middle-end/67330
4607	* c-common.c (handle_weak_attribute): Don't check whether the
4608	visibility can be changed here.
4609
46102015-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4611
4612	* c-lex.c (c_lex_with_flags): Use explicit locations.
4613
46142015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
4615
4616	* c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
4617	c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
4618
46192015-08-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
4620
4621	PR middle-end/36757
4622	* c-common.c (check_builtin_function_arguments): Add check
4623	for BUILT_IN_SIGNBIT argument.
4624
46252015-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
4626
4627	PR c++/67160
4628	* c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
4629	in c++1z mode.
4630
46312015-08-17  Marek Polacek  <polacek@redhat.com>
4632
4633	* c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
4634	with whitespaces before qualifier names.
4635
46362015-08-12  Marek Polacek  <polacek@redhat.com>
4637
4638	PR c++/55095
4639	* c-common.c (maybe_warn_shift_overflow): Properly handle
4640	left-shifting 1 into the sign bit.
4641
46422015-08-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4643
4644	* c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
4645
46462015-08-06  Andrew Sutton  <andrew.n.sutton@gmail.com>
4647	    Braden Obrzut  <admin@maniacsvault.net>
4648	    Jason Merrill  <jason@redhat.com>
4649
4650	Add C++ Concepts TS support.
4651	* c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
4652	* c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
4653	(D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
4654	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
4655	* c-opts.c (set_std_cxx1z): Set flag_concepts.
4656	* c.opt (fconcepts): New.
4657
46582015-08-02  Martin Sebor  <msebor@redhat.com>
4659
4660	* c.opt (-Wframe-address): New warning option.
4661
46622015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
4663
4664	* c-indentation.c (should_warn_for_misleading_indentation):
4665	Improve heuristics.
4666
46672015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
4668
4669	* c-indentation.c (get_visual_column): Add parameter first_nws,
4670	use it.  Update comment documenting the function.
4671	(is_first_nonwhitespace_on_line): Remove.
4672	(should_warn_for_misleading_indentation): Replace usage of
4673	of is_first_nonwhitespace_on_line with get_visual_column.
4674
46752015-08-02  Patrick Palka  <ppalka@gcc.gnu.org>
4676
4677	* c-indentation.h (struct token_indent_info): Define.
4678	(get_token_indent_info): Define.
4679	(warn_for_misleading_information): Declare.
4680	* c-common.h (warn_for_misleading_information): Remove.
4681	* c-identation.c (warn_for_misleading_indentation):
4682	Change declaration to take three token_indent_infos.  Adjust
4683	accordingly.
4684	* c-identation.c (should_warn_for_misleading_indentation):
4685	Likewise.  Bail out early if the body is a compound statement.
4686	(guard_tinfo_to_string): Define.
4687
46882015-07-30  Jason Merrill  <jason@redhat.com>
4689
4690	* c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
4691	'*' for reference decay.
4692
46932015-07-30  Marek Polacek  <polacek@redhat.com>
4694
4695	* c-common.c (warn_tautological_cmp): Bail for float types.
4696
46972015-07-27  Marek Polacek  <polacek@redhat.com>
4698
4699	PR bootstrap/67030
4700	* c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
4701
47022015-07-27  Marek Polacek  <polacek@redhat.com>
4703
4704	PR c++/66555
4705	PR c/54979
4706	* c-common.c (find_array_ref_with_const_idx_r): New function.
4707	(warn_tautological_cmp): New function.
4708	* c-common.h (warn_tautological_cmp): Declare.
4709	* c.opt (Wtautological-compare): New option.
4710
47112015-07-23  Marek Polacek  <polacek@redhat.com>
4712
4713	* c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
4714	(ubsan_instrument_shift): Likewise.
4715
47162015-07-23  Marek Polacek  <polacek@redhat.com>
4717
4718	PR sanitizer/66908
4719	* c-ubsan.c: Include gimplify.h.
4720	(ubsan_instrument_division): Unshare OP0 and OP1.
4721	(ubsan_instrument_shift): Likewise.
4722
47232015-07-20  Marek Polacek  <polacek@redhat.com>
4724	    Richard Sandiford  <richard.sandiford@arm.com>
4725
4726	PR c++/55095
4727	* c-common.c (c_fully_fold_internal): Warn about left shift overflows.
4728	Use EXPR_LOC_OR_LOC.
4729	(maybe_warn_shift_overflow): New function.
4730	* c-common.h (maybe_warn_shift_overflow): Declare.
4731	* c-opts.c (c_common_post_options): Set warn_shift_overflow.
4732	* c.opt (Wshift-overflow): New option.
4733
47342015-07-16  Martin Liska  <mliska@suse.cz>
4735
4736	* c-format.c (static void check_format_info_main): Use
4737	object_allocator instead of pool_allocator.
4738	(check_format_arg): Likewise.
4739	(check_format_info_main): Likewise.
4740
47412015-07-15  Andrew MacLeod  <amacleod@redhat.com>
4742
4743	* c-opts.c: Remove multiline #include comment.
4744
47452015-07-12  Aldy Hernandez  <aldyh@redhat.com>
4746
4747	* c-common.c: Fix double word typos.
4748
47492015-07-10  Eric Botcazou  <ebotcazou@adacore.com>
4750
4751	* c-ada-spec.h (cpp_operation): Revert latest change.
4752	* c-ada-spec.c (print_ada_declaration): Likewise.  Skip implicit
4753	constructors and destructors.
4754
47552015-07-09  Andrew MacLeod  <amacleod@redhat.com>
4756
4757	* c-common.h: Adjust includes for flags.h changes.
4758	* stub-objc.c: Likewise.
4759
47602015-07-08  Eric Botcazou  <ebotcazou@adacore.com>
4761
4762	* c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
4763	* c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
4764
47652015-07-08  Jakub Jelinek  <jakub@redhat.com>
4766
4767	* c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
4768	are to be removed, return NULL rather than original clauses list.
4769
47702015-07-07  Andrew MacLeod  <amacleod@redhat.com>
4771
4772	* array-notation-common.c: Adjust includes.
4773	* c-ada-spec.c: Likewise.
4774	* c-cilkplus.c: Likewise.
4775	* c-common.h: Likewise.
4776	* c-cppbuiltin.c: Likewise.
4777	* c-dump.c: Likewise.
4778	* c-format.c: Likewise.
4779	* c-gimplify.c: Likewise.
4780	* c-indentation.c: Likewise.
4781	* c-lex.c: Likewise.
4782	* c-omp.c: Likewise.
4783	* c-opts.c: Likewise.
4784	* c-pch.c: Likewise.
4785	* c-ppoutput.c: Likewise.
4786	* c-pragma.c: Likewise.
4787	* c-pretty-print.c: Likewise.
4788	* c-semantics.c: Likewise.
4789	* c-ubsan.c: Likewise.
4790	* cilk.c: Likewise.
4791	* stub-objc.c: Likewise.
4792
47932015-07-07  Eric Botcazou  <ebotcazou@adacore.com>
4794
4795	* c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
4796	* c-ada-spec.c (print_ada_declaration): Skip move constructors.
4797
47982015-07-01  Jason Merrill  <jason@redhat.com>
4799
4800	* c-common.h (D_CXX11): Rename from D_CXX0X.
4801	(RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
4802	* c-common.c: Adjust.
4803
4804	* c-opts.c (c_common_post_options): Default to C++14.
4805
4806	* c-opts.c (c_common_post_options): Highest ABI level is now 10.
4807
48082015-06-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
4809
4810	Implement N4197 - Adding u8 character literals
4811	* c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
4812	CPP_CHAR.
4813	* c-common.c (c_parse_error): Print CPP_UTF8CHAR and
4814	CPP_UTF8CHAR_USERDEF tokens.
4815	* c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
4816	and CPP_UTF8CHAR tokens.
4817	(lex_charconst): Treat CPP_UTF8CHAR token.
4818
48192015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4820
4821	PR fortran/66605
4822	* c-common.c (do_warn_unused_parameter): Move here.
4823	* c-common.h (do_warn_unused_parameter): Declare.
4824
48252015-06-29  Marek Polacek  <polacek@redhat.com>
4826
4827	PR c/66322
4828	* c-common.c (check_case_bounds): Add bool * parameter.  Set
4829	OUTSIDE_RANGE_P.
4830	(c_add_case_label): Add bool * parameter.  Pass it down to
4831	check_case_bounds.
4832	(c_do_switch_warnings): Add bool parameters.  Implement -Wswitch-bool
4833	warning here.
4834	* c-common.h (c_add_case_label, c_do_switch_warnings): Update
4835	declarations.
4836
48372015-06-27  Marek Polacek  <polacek@redhat.com>
4838
4839	* c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
4840	or VECTOR_INTEGER_TYPE_P throughout.
4841	* c-gimplify.c: Likewise.
4842
48432015-06-26  Marek Polacek  <polacek@redhat.com>
4844
4845	* array-notation-common.c (find_rank): Use INDIRECT_REF_P.
4846	* c-common.c (c_fully_fold_internal): Likewise.
4847	(c_alignof_expr): Likewise.
4848	* c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
4849	* c-ubsan.c (ubsan_instrument_bounds): Likewise.
4850	* cilk.c (create_parm_list): Likewise.
4851
48522015-06-26  Marek Polacek  <polacek@redhat.com>
4853
4854	* c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
4855
48562015-06-25  Andrew MacLeod  <amacleod@redhat.com>
4857
4858	* c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
4859	* c-gimplify.c: Likewise.
4860	* c-pragma.c: Likewise.
4861	* c-ubsan.c: Likewise.
4862	* cilk.c: Likewise.
4863
48642015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
4865
4866	* c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
4867	ggc_hasher.
4868
48692015-06-25  Andrew MacLeod  <amacleod@redhat.com>
4870
4871	* cilk.c: Move calls.h after tm.h in the include chain.
4872
48732015-06-25  Marek Polacek  <polacek@redhat.com>
4874
4875	* array-notation-common.c: Use VAR_P throughout.
4876	* c-ada-spec.c: Likewise.
4877	* c-common.c: Likewise.
4878	* c-format.c: Likewise.
4879	* c-gimplify.c: Likewise.
4880	* c-omp.c: Likewise.
4881	* c-pragma.c: Likewise.
4882	* c-pretty-print.c: Likewise.
4883	* cilk.c: Likewise.
4884
48852015-06-25  Marek Polacek  <polacek@redhat.com>
4886
4887	* cilk.c (extract_free_variables): Use is_global_var.
4888
48892015-06-23  Richard Sandiford  <richard.sandiford@arm.com>
4890
4891	* c-common.c: Don't include target-def.h.
4892
48932015-06-23  Marek Polacek  <polacek@redhat.com>
4894
4895	* c-common.c (warn_logical_operator): Use tree_int_cst_equal
4896	when comparing INTEGER_CSTs.
4897
48982015-06-22  Pierre-Marie de Rodat  <derodat@adacore.com>
4899
4900	* c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
4901	* c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
4902	(dump_ada_template): Skip partially specialized types.
4903
49042015-06-22  Mikhail Maltsev  <maltsevm@gmail.com>
4905
4906	* c-common.c (scalar_to_vector): Use std::swap instead of manually
4907	swapping.
4908
49092015-06-17  Andrew MacLeod  <amacleod@redhat.com>
4910
4911	* array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
4912	* c-ada-spec.c: Likewise.
4913	* c-cilkplus.c: Likewise.
4914	* c-common.c: Likewise.
4915	* c-common.h: Likewise.
4916	* c-cppbuiltin.c: Likewise.
4917	* c-dump.c: Likewise.
4918	* c-format.c: Likewise.
4919	* c-gimplify.c: Likewise.
4920	* c-indentation.c: Likewise.
4921	* c-lex.c: Likewise.
4922	* c-omp.c: Likewise.
4923	* c-opts.c: Likewise.
4924	* c-pch.c: Likewise.
4925	* c-ppoutput.c: Likewise.
4926	* c-pragma.c: Likewise.
4927	* c-pretty-print.c: Likewise.
4928	* c-semantics.c: Likewise.
4929	* c-ubsan.c: Likewise.
4930	* cilk.c: Likewise.
4931	* stub-objc.c: Likewise.
4932
49332015-06-13  Patrick Palka  <ppalka@gcc.gnu.org>
4934
4935	PR c++/65168
4936	* c-common.c (c_common_truthvalue_conversion): Warn when
4937	converting an address of a reference to a truth value.
4938
49392015-06-08  Andrew MacLeod  <amacleod@redhat.com>
4940
4941	* array-notation-common.c : Adjust include files.
4942	* c-ada-spec.c : Likewise.
4943	* c-cilkplus.c : Likewise.
4944	* c-common.c : Likewise.
4945	* c-common.h : Likewise.
4946	* c-cppbuiltin.c : Likewise.
4947	* c-dump.c : Likewise.
4948	* c-format.c : Likewise.
4949	* c-gimplify.c : Likewise.
4950	* c-indentation.c : Likewise.
4951	* c-lex.c : Likewise.
4952	* c-omp.c : Likewise.
4953	* c-opts.c : Likewise.
4954	* c-pch.c : Likewise.
4955	* c-ppoutput.c : Likewise.
4956	* c-pragma.c : Likewise.
4957	* c-pretty-print.c : Likewise.
4958	* c-semantics.c : Likewise.
4959	* c-ubsan.c : Likewise.
4960	* cilk.c : Likewise.
4961	* stub-objc.c : Likewise.
4962
49632015-06-08  Marek Polacek  <polacek@redhat.com>
4964
4965	PR c/66415
4966	* c-format.c (location_from_offset): Return LOC if LINE is null.
4967
49682015-06-05  Aldy Hernandez  <aldyh@redhat.com>
4969
4970	* c-common.h (c_parse_final_cleanups): New prototype.
4971	* c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
4972
49732015-06-04  Sriraman Tallam  <tmsriram@google.com>
4974
4975	* c-common.c (noplt): New attribute.
4976	(handle_noplt_attribute): New handler.
4977
49782015-06-04  Andrew MacLeod  <amacleod@redhat.com>
4979
4980	* array-notation-common.c: Adjust includes for restructured coretypes.h.
4981	* c-ada-spec.c: Likewise.
4982	* c-cilkplus.c: Likewise.
4983	* c-common.c: Likewise.
4984	* c-common.h: Likewise.
4985	* c-cppbuiltin.c: Likewise.
4986	* c-dump.c: Likewise.
4987	* c-format.c: Likewise.
4988	* c-gimplify.c: Likewise.
4989	* c-indentation.c: Likewise.
4990	* c-lex.c: Likewise.
4991	* c-omp.c: Likewise.
4992	* c-opts.c: Likewise.
4993	* c-pch.c: Likewise.
4994	* c-ppoutput.c: Likewise.
4995	* c-pragma.c: Likewise.
4996	* c-pretty-print.c: Likewise.
4997	* c-semantics.c: Likewise.
4998	* c-ubsan.c: Likewise.
4999	* cilk.c: Likewise.
5000	* stub-objc.c: Likewise.
5001
50022015-06-02  David Malcolm  <dmalcolm@redhat.com>
5003
5004	PR c/66220:
5005	* c-indentation.c (should_warn_for_misleading_indentation): Use
5006	expand_location rather than expand_location_to_spelling_point.
5007	Don't warn if the guarding statement is more indented than the
5008	next/body stmts.
5009
50102015-06-02  David Malcolm  <dmalcolm@redhat.com>
5011
5012	* c-indentation.c (warn_for_misleading_indentation): Bail out
5013	immediately if -Wmisleading-indentation isn't enabled.
5014
50152015-06-01  Martin Liska  <mliska@suse.cz>
5016
5017	* c-format.c (check_format_arg):Use new type-based pool allocator.
5018	(check_format_info_main) Likewise.
5019
50202015-05-31  Eric Botcazou  <ebotcazou@adacore.com>
5021
5022	* c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
5023	(has_nontrivial_methods): Likewise.
5024
50252015-05-25  Marek Polacek  <polacek@redhat.com>
5026
5027	* c-ubsan.c (ubsan_instrument_shift): Use type0.
5028
50292015-05-22  Marek Polacek  <polacek@redhat.com>
5030
5031	PR c/47043
5032	* c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
5033
50342015-05-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
5035
5036	* c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
5037	STACK_GROWS_DOWNWARD.
5038
50392015-05-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
5040
5041	* c-cppbuiltin.c (c_cpp_builtins): Check the value of
5042	STACK_GROWS_DOWNWARD rather than if it is defined.
5043
50442015-05-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5045
5046	PR c/52952
5047	* c-format.c (location_column_from_byte_offset): New.
5048	(location_from_offset): New.
5049	(struct format_wanted_type): Add offset_loc field.
5050	(check_format_info): Move handling of location for extra arguments
5051	closer to the point of warning.
5052	(check_format_info_main): Pass the result of location_from_offset
5053	to warning_at.
5054	(format_type_warning): Pass the result of location_from_offset
5055	to warning_at.
5056
50572015-05-20  Marek Polacek  <polacek@redhat.com>
5058
5059	* c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
5060
50612015-05-20  Marek Polacek  <polacek@redhat.com>
5062
5063	* c-ada-spec.c (dump_sloc): Use DECL_P.
5064
50652015-05-20  Marek Polacek  <polacek@redhat.com>
5066
5067	* c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
5068	* c-common.c: Likewise.
5069
50702015-05-19  David Malcolm  <dmalcolm@redhat.com>
5071
5072	* c-common.h (fe_file_change): Strengthen param from
5073	const line_map * to const line_map_ordinary *.
5074	(pp_file_change): Likewise.
5075	* c-lex.c (fe_file_change): Likewise.
5076	(cb_define): Use linemap_check_ordinary when invoking
5077	SOURCE_LINE.
5078	(cb_undef): Likewise.
5079	* c-opts.c (c_finish_options): Use linemap_check_ordinary when
5080	invoking cb_file_change.
5081	(c_finish_options): Likewise.
5082	(push_command_line_include): Likewise.
5083	(cb_file_change): Strengthen param "new_map" from
5084	const line_map * to const line_map_ordinary *.
5085	* c-ppoutput.c (cb_define): Likewise for local "map".
5086	(pp_file_change): Likewise for param "map" and local "from".
5087
50882015-05-19  Mikhail Maltsev  <maltsevm@gmail.com>
5089
5090	* c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
5091
50922015-05-18  Tom de Vries  <tom@codesourcery.com>
5093
5094	* c-common.c (build_va_arg_1): New function.
5095	(build_va_arg): Add address operator to va_list operand if necessary.
5096
50972015-05-15  Mikhail Maltsev  <maltsevm@gmail.com>
5098
5099	PR c/48956
5100	* c-common.c (int_safely_convertible_to_real_p): Define.
5101	(unsafe_conversion_p): Check conversions involving complex types.
5102	(conversion_warning): Add new warning message for conversions which
5103	discard imaginary component.
5104	* c-common.h: (enum conversion_safety): Add new enumerator for such
5105	conversions.
5106
51072015-05-14  Marek Polacek  <polacek@redhat.com>
5108
5109	PR c/66066
5110	PR c/66127
5111	* c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
5112	(c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
5113	C_MAYBE_CONST_EXPR_INT_OPERANDS set.  Add FOR_INT_CONST argument and
5114	use it.  If FOR_INT_CONST, require that all evaluated operands be
5115	INTEGER_CSTs.
5116
51172015-05-12  David Malcolm  <dmalcolm@redhat.com>
5118
5119	* c-common.h (warn_for_misleading_indentation): New prototype.
5120	* c-indentation.c: New file.
5121	* c.opt (Wmisleading-indentation): New option.
5122
51232015-05-12  Tom de Vries  <tom@codesourcery.com>
5124
5125	PR tree-optimization/66010
5126	* c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
5127
51282015-05-09  Jason Merrill  <jason@redhat.com>
5129
5130	* c-opts.c (c_common_post_options): Also clear
5131	cpp_opts->cpp_warn_cxx11_compat.
5132
5133	* c-common.h (enum cxx_dialect): Add cxx_unset.
5134	* c-common.c (cxx_dialect): Initialize to cxx_unset.
5135	* c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
5136
5137	* c.opt (std=c++14): Remove Undocumented flag and experimental warning.
5138	(std=gnu++0x): Mark as Undocumented.
5139	(std=gnu++1y): Add deprecated message.
5140
51412015-05-08  Jason Merrill  <jason@redhat.com>
5142
5143	* c.opt (Wc++11-compat): Make primary.  Rename var warn_cxx11_compat.
5144	* c-opts.c: Adjust.
5145
5146	* c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
5147
51482015-05-08  Marek Polacek  <polacek@redhat.com>
5149
5150	PR c/64918
5151	* c.opt (Woverride-init-side-effects): New option.
5152
51532015-05-07  Marek Polacek  <polacek@redhat.com>
5154
5155	PR c/65179
5156	* c-common.c (c_fully_fold_internal): Warn when left shifting a
5157	negative value.
5158	* c.opt (Wshift-negative-value): New option.
5159	* c-opts.c (c_common_post_options): Set warn_shift_negative_value
5160	when -Wextra and C99/C++11 mode.
5161
51622015-05-07  Marek Polacek  <polacek@redhat.com>
5163	    Martin Uecker  <uecker@eecs.berkeley.edu>
5164
5165	* c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
5166	flexible member array-like members if SANITIZE_BOUNDS_STRICT.
5167
51682015-05-05  Jason Merrill  <jason@redhat.com>
5169
5170	* c.opt (Wterminate): New.
5171
51722015-04-30  Marek Polacek  <polacek@redhat.com>
5173
5174	* c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
5175	require that the non-constant be of a boolean type.
5176
51772015-04-29  Josh Triplett  <josh@joshtriplett.org>
5178
5179	* c-common.c (handle_section_attribute): Refactor to reduce
5180	nesting and distinguish between error cases.
5181
51822015-04-29  Marek Polacek  <polacek@redhat.com>
5183
5184	PR c/64610
5185	* c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
5186	with 0/1.
5187
51882015-04-29  Jakub Jelinek  <jakub@redhat.com>
5189
5190	* c-common.h (omp_clause_mask): Unconditionally define as a class.
5191	Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
5192	HOST_BITS_PER_WIDE_INT.
5193
51942015-04-28  Tom de Vries  <tom@codesourcery.com>
5195
5196	PR tree-optimization/65887
5197	* c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
5198
51992015-04-28  Eric Botcazou  <ebotcazou@adacore.com>
5200	    Pierre-Marie de Rodat  <derodat@adacore.com>
5201
5202	* c-ada-spec.c (in_function): Delete.
5203	(dump_generic_ada_node): Do not change in_function and remove the
5204	redundant code dealing with it.
5205	(print_ada_declaration): Do not change in_function.  Use INDENT_INCR.
5206	(print_ada_methods): Output the static member functions in a nested
5207	package after the regular methods as well as associated renamings.
5208
52092015-04-24  Marek Polacek  <polacek@redhat.com>
5210
5211	PR c/65830
5212	* c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
5213	and OPT_Wshift_count_overflow.
5214
5215	PR c/63357
5216	* c-common.c (warn_logical_operator): Warn if the operands have the
5217	same expressions.
5218
52192015-04-24  Marek Polacek  <polacek@redhat.com>
5220
5221	PR c/61534
5222	* c-common.c (warn_logical_operator): Bail if either operand comes
5223	from a macro expansion.
5224
52252015-04-10  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5226
5227	PR target/55143
5228	* c-common.c (c_default_pointer_mode): Add definition.
5229	* c-common.h (c_default_pointer_mode): Add declaration.
5230
52312015-03-11  Jakub Jelinek  <jakub@redhat.com>
5232
5233	* c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
5234	on record_builtin_type argument.
5235
52362015-03-10  Jakub Jelinek  <jakub@redhat.com>
5237
5238	PR c/65120
5239	* c-common.c (warn_logical_not_parentheses): Don't warn for
5240	!x == 0 or !x != 0.
5241
52422015-03-07  Marek Polacek  <polacek@redhat.com>
5243
5244	PR sanitizer/65280
5245	* c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
5246	before trying to figure out whether we have a flexible array member.
5247
52482015-03-06  Eric Botcazou  <ebotcazou@adacore.com>
5249	    Jonathan Wakely  <jwakely.gcc@gmail.com>
5250
5251	* c-ada-spec.c (dump_ada_double_name): Fix pasto.
5252
52532015-03-05  Eric Botcazou  <ebotcazou@adacore.com>
5254
5255	PR ada/65319
5256	* c-ada-spec.c (print_destructor): Remove obsolete code.
5257
52582015-03-01  Eric Botcazou  <ebotcazou@adacore.com>
5259
5260	* c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
5261	(dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
5262	DECL_TEMPLATE_RESULT emulations.
5263	(dump_ada_template)): Add guard for TYPE_METHODS.
5264
52652015-02-27  Marek Polacek  <polacek@redhat.com>
5266
5267	PR c/65040
5268	* c.opt (Wformat-signedness): Don't enable by -Wformat=2.
5269
52702015-02-27  Kai Tietz  <ktietz@redhat.com>
5271
5272	PR c/35330
5273	* c-pragma.c (handle_pragma_weak): Do not try to create
5274	weak/alias of declarations not being function, or variable
5275	declarations.
5276
52772015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
5278
5279	PR libgomp/64625
5280	* c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5281	Remove macros.
5282	(DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
5283
52842015-02-16  Marek Polacek  <polacek@redhat.com>
5285
5286	PR c/65066
5287	* c-format.c (check_format_types): Handle null param.
5288
52892015-02-13  Marek Polacek  <polacek@redhat.com>
5290
5291	PR c/65040
5292	* c-format.c (check_format_types): Don't warn about different
5293	signedness if the original value is in the range of WANTED_TYPE.
5294
52952015-02-12  Jason Merrill  <jason@redhat.com>
5296
5297	PR c++/64956
5298	* c-opts.c (c_common_post_options): Change flag_abi_version from 0
5299	to the current highest version.
5300	* c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
5301
53022015-02-04  Jakub Jelinek  <jakub@redhat.com>
5303
5304	PR c/64824
5305	PR c/64868
5306	* c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
5307	instead of RDIV_EXPR.  Use build_binary_op instead of
5308	build2_loc.
5309
53102015-01-30  Joseph Myers  <joseph@codesourcery.com>
5311
5312	* c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
5313	to pass input_location as first argument.
5314
53152015-01-23  Tom de Vries  <tom@codesourcery.com>
5316
5317	PR libgomp/64672
5318	* c.opt (fopenacc): Mark as LTO option.
5319
53202015-01-23  Tom de Vries  <tom@codesourcery.com>
5321
5322	PR libgomp/64707
5323	* c.opt (fopenmp): Mark as LTO option.
5324
53252015-01-21  Jakub Jelinek  <jakub@redhat.com>
5326
5327	PR c/63307
5328	* cilk.c (fill_decls_vec): Only put decls into vector v.
5329	(compare_decls): Fix up formatting.
5330
53312015-01-21  Igor Zamyatin  <igor.zamyatin@intel.com>
5332
5333	PR c/63307
5334	* cilk.c: Include vec.h.
5335	(struct cilk_decls): New structure.
5336	(wrapper_parm_cb): Split this function to...
5337	(fill_decls_vec): ...this...
5338	(create_parm_list): ...and this.
5339	(compare_decls): New function.
5340	(for_local_cb): Remove.
5341	(wrapper_local_cb): Ditto.
5342	(build_wrapper_type): For now first traverse and fill vector of
5343	declarations then sort it and then deal with sorted vector.
5344	(cilk_outline): Ditto.
5345	(declare_one_free_variable): Ditto.
5346
53472015-01-21  Jason Merrill  <jason@redhat.com>
5348
5349	PR c++/64629
5350	* c-format.c (check_format_arg): Call decl_constant_value.
5351
53522015-01-19  Martin Liska  <mliska@suse.cz>
5353
5354	* c-common.c (handle_noicf_attribute): New function.
5355
53562015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
5357	    Bernd Schmidt  <bernds@codesourcery.com>
5358	    James Norris  <jnorris@codesourcery.com>
5359	    Cesar Philippidis  <cesar@codesourcery.com>
5360	    Ilmir Usmanov  <i.usmanov@samsung.com>
5361	    Jakub Jelinek  <jakub@redhat.com>
5362
5363	* c.opt (fopenacc): New option.
5364	* c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
5365	* c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5366	New macros.
5367	* c-common.h (c_finish_oacc_wait): New prototype.
5368	* c-omp.c: Include "omp-low.h" and "gomp-constants.h".
5369	(c_finish_oacc_wait): New function.
5370	* c-pragma.c (oacc_pragmas): New variable.
5371	(c_pp_lookup_pragma, init_pragma): Handle it.
5372	* c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
5373	PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
5374	PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
5375	PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
5376	(enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
5377	PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
5378	PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
5379	PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
5380	PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
5381	PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
5382	PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
5383	PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
5384	PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
5385	PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
5386	PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
5387	PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
5388	PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
5389	PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
5390	PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
5391	PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
5392	PRAGMA_OACC_CLAUSE_WORKER.
5393
53942015-01-14  Marcos Diaz  <marcos.diaz@tallertechnologies.com>
5395
5396	* c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
5397	for the new option fstack-protector_explicit.
5398	* c-common.c (c_common_attribute_table): Add stack_protect attribute.
5399	(handle_stack_protect_attribute): New function.
5400
54012015-01-13  Martin Uecker  <uecker@eecs.berkeley.edu>
5402
5403	* c.opt: New option -Warray-bounds=.
5404
54052015-01-09  Michael Collison  <michael.collison@linaro.org>
5406
5407	* array-notation-common.c: Include hash-set.h, machmode.h,
5408	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5409	fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
5410	* c-ada-spec.c: Ditto.
5411	* c-cilkplus.c: Ditto.
5412	* c-common.c: Include input.h due to flattening of tree.h.
5413	Define macro GCC_C_COMMON_C.
5414	* c-common.h: Flatten tree.h header files into c-common.h.
5415	Remove include of tree-core.h.
5416	* c-cppbuiltin.c: Include hash-set.h, machmode.h,
5417	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5418	fold-const.h, wide-int.h, and inchash.h due to
5419	flattening of tree.h.
5420	* c-dump.c: Ditto.
5421	* c-format.c: Flatten tree.h header files into c-common.h.
5422	* c-cppbuiltin.c: Include hash-set.h, machmode.h,
5423	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5424	fold-const.h, wide-int.h, and inchash.h due to
5425	flattening of tree.h.
5426	* c-dump.c: Include hash-set.h, machmode.h,
5427	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5428	fold-const.h, wide-int.h, and inchash.h due to
5429	flattening of tree.h.
5430	* c-format.c: Include hash-set.h, machmode.h,
5431	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5432	fold-const.h, wide-int.h, inchash.h and real.h due to
5433	flattening of tree.h.
5434	* c-gimplify.c: Include hash-set.h, machmode.h,
5435	vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5436	fold-const.h, wide-int.h, and inchash.h due to
5437	flattening of tree.h.
5438	* cilk.c: Ditto.
5439	* c-lex.c: Ditto.
5440	* c-omp.c: Ditto.
5441	* c-opts.c: Ditto.
5442	* c-pch.c: Ditto.
5443	* c-ppoutput.c: Ditto.
5444	* c-pragma.c: Ditto.
5445	* c-pretty-print.c: Ditto.
5446	* c-semantics.c: Ditto.
5447	* c-ubsan.c: Ditto.
5448	* stub-objc.c: Ditto.
5449
54502015-01-08  Jason Merrill  <jason@redhat.com>
5451
5452	* c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
5453	do_ubsan_in_current_function.
5454	(ubsan_maybe_instrument_reference_or_call): Likewise.
5455	* c-ubsan.h: Declare it.
5456
54572015-01-08  Mike Stump  <mikestump@comcast.net>
5458
5459	* c-common.c (c_common_attribute_table): Add no_sanitize_thread.
5460
54612015-01-07  Marek Polacek  <polacek@redhat.com>
5462
5463	PR c/64440
5464	* c-common.c (c_fully_fold_internal): Warn for division and modulo
5465	if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
5466
54672015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
5468
5469	PR c++/31397
5470	* c.opt (Wsuggest-override): New option.
5471
54722015-01-05  Jakub Jelinek  <jakub@redhat.com>
5473
5474	Update copyright years.
5475
54762015-01-05  Marek Polacek  <polacek@redhat.com>
5477
5478	PR c/64423
5479	* c-common.c (warn_array_subscript_with_type_char): Add location_t
5480	parameter.  Use it.
5481	* c-common.h (warn_array_subscript_with_type_char): Update
5482	declaration.
5483
54842014-12-20  Edward Smith-Rowland  <3dw4rd@verizon.net>
5485
5486	* c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
5487	Control macro with flag_sized_deallocation.
5488
54892014-12-20  Martin Uecker  <uecker@eecs.berkeley.edu>
5490
5491	* c.opt (Wdiscarded-array-qualifiers): New option.
5492
54932014-12-19  Jakub Jelinek  <jakub@redhat.com>
5494
5495	PR preprocessor/63831
5496	* c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
5497	and __has_cpp_attribute here.
5498	* c-ppoutput.c (init_pp_output): Set cb->has_attribute to
5499	c_common_has_attribute.
5500	* c-common.h (c_common_has_attribute): New prototype.
5501	* c-lex.c (init_c_lex): Set cb->has_attribute to
5502	c_common_has_attribute instead of cb_has_attribute.
5503	(get_token_no_padding): New function.
5504	(cb_has_attribute): Renamed to ...
5505	(c_common_has_attribute): ... this.  No longer static.  Use
5506	get_token_no_padding, require ()s, don't build TREE_LIST
5507	unnecessarily, fix up formatting, adjust diagnostics, call
5508	init_attributes.
5509
55102014-12-15  Jason Merrill  <jason@redhat.com>
5511
5512	* c.opt (-fsized-deallocation, -Wc++14-compat): New.
5513	(-Wsized-deallocation): New.
5514	* c-opts.c (c_common_post_options): -fsized-deallocation defaults
5515	to on in C++14 and up.
5516
55172014-12-11  Jason Merrill  <jason@redhat.com>
5518
5519	* c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
5520
5521	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
5522	we aren't complaining about VLAs.
5523
55242014-12-06  Marek Polacek  <polacek@redhat.com>
5525
5526	PR tree-optimization/64183
5527	* c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
5528	shift-expression if it is integer_type_node.  Use types_compatible_p.
5529
55302014-11-29  Jakub Jelinek  <jakub@redhat.com>
5531
5532	* c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
5533	last argument from create_tmp_var_raw and create_tmp_var calls.
5534	* cilk.c (gimplify_cilk_spawn): Likewise.
5535	* c-omp.c (c_finish_omp_atomic): Likewise.
5536
55372014-11-28  Marek Polacek  <polacek@redhat.com>
5538
5539	* c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
5540	instead of unsigned_type_node.
5541
55422014-11-28  Marek Polacek  <polacek@redhat.com>
5543
5544	PR c/63862
5545	* c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
5546	to op1_utype.
5547	* c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
5548	expression to unsigned_type_node.
5549
55502014-11-20  Mark Wielaard  <mjw@redhat.com>
5551
5552	PR debug/38757
5553	* c-opts.c (set_std_c89): Set lang_hooks.name.
5554	(set_std_c99): Likewise.
5555	(set_std_c11): Likewise.
5556	(set_std_cxx98): Likewise.
5557	(set_std_cxx11): Likewise.
5558	(set_std_cxx14): Likewise.
5559	(set_std_cxx1z): Likewise.
5560
55612014-11-21  Jakub Jelinek  <jakub@redhat.com>
5562
5563	PR target/63764
5564	* c-common.h (convert_vector_to_pointer_for_subscript): Change
5565	return type to bool.
5566	* c-common.c: Include gimple-expr.h.
5567	(convert_vector_to_pointer_for_subscript): Change return type to
5568	bool.  If *vecp is not lvalue_p and has VECTOR_TYPE, return true
5569	and copy it into a TARGET_EXPR and use that instead of *vecp
5570	directly.
5571
55722014-11-19  David Malcolm  <dmalcolm@redhat.com>
5573
5574	Merger of git branch "gimple-classes-v2-option-3".
5575	* ChangeLog.gimple-classes: New.
5576	* c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
5577	from being just a vec<gimple> to a vec<gbind *>.
5578
55792014-11-18  Jakub Jelinek  <jakub@redhat.com>
5580
5581	PR sanitizer/63813
5582	* c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
5583	argument to ptype, set type to TREE_TYPE (ptype).  Don't call
5584	get_pointer_alignment for non-pointers.  Use ptype, or if it is
5585	reference type, corresponding pointer type, as type of kind
5586	argument.
5587	(ubsan_maybe_instrument_reference,
5588	ubsan_maybe_instrument_member_call): Adjust callers.
5589
55902014-11-15  Marek Polacek  <polacek@redhat.com>
5591
5592	PR middle-end/63884
5593	* array-notation-common.c (is_sec_implicit_index_fn): Return false
5594	for NULL fndecl.
5595	(extract_array_notation_exprs): Return for NULL node.
5596
55972014-11-12  Joseph Myers  <joseph@codesourcery.com>
5598
5599	* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
5600	undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
5601
56022014-11-12  Jakub Jelinek  <jakub@redhat.com>
5603
5604	PR c/59708
5605	* c-common.c (check_builtin_function_arguments): Handle
5606	BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
5607
56082014-11-10  Andi Kleen  <ak@linux.intel.com>
5609
5610	PR c/60804
5611	* c-common.h (check_no_cilk): Declare.
5612	* cilk.c (get_error_location): New function.
5613	(check_no_cilk): Dito.
5614
56152014-11-10  Andi Kleen  <ak@linux.intel.com>
5616
5617	* cilk.c (recognize_spawn): Use expression location
5618	for error message.
5619
56202014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
5621
5622	* c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
5623
56242014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
5625
5626	* c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
5627	(__cpp_rtti, __cpp_exceptions): New macros for C++98;
5628	(__cpp_range_based_for, __cpp_initializer_lists,
5629	__cpp_delegating_constructors, __cpp_nsdmi,
5630	__cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
5631	for C++11; (__cpp_attribute_deprecated): Remove in favor of
5632	__has_cpp_attribute.
5633	* c-lex.c (cb_has_attribute): New callback CPP function;
5634	(init_c_lex): Set has_attribute callback.
5635
56362014-11-04  Richard Biener  <rguenther@suse.de>
5637
5638	* c-common.c (shorten_compare): Do not shorten mixed
5639	DFP and non-DFP compares.
5640
56412014-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
5642
5643	* g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
5644	* g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
5645	Commentary and rearrangement of tests.
5646	* g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
5647	Commentary and rearrangement of tests.
5648	* g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
5649	* g++.dg/cpp1y/feat-cxx98.C: Commentary.
5650
56512014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
5652
5653	* c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
5654	enum from machine_mode.
5655
56562014-10-28  Andrew MacLeod  <amacleod@redhat.com>
5657
5658	* c-common.c: Adjust include files.
5659	* c-gimplify.c: Ditto.
5660	* cilk.c: Ditto.
5661	* c-pragma.c: Ditto.
5662	* c-ubsan.c: Ditto.
5663
56642014-10-27  Andrew MacLeod  <amacleod@redhat.com>
5665
5666	* c-gimplify.c: Adjust include files.
5667
56682014-10-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5669
5670	PR c++/53061
5671	* c-opts.c (c_common_diagnostics_set_defaults): Renamed from
5672	c_common_initialize_diagnostics.
5673	* c-common.h: Likewise.
5674
56752014-10-24  Marek Polacek  <polacek@redhat.com>
5676
5677	PR c/56980
5678	* c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
5679	print "struct"/"union"/"enum" for typedefed names.
5680
56812014-10-23  Marek Polacek  <polacek@redhat.com>
5682
5683	* c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
5684	in unsigned type.
5685
56862014-10-22  Jakub Jelinek  <jakub@redhat.com>
5687	    Yury Gribov  <y.gribov@samsung.com>
5688
5689	* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5690	ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
5691	instead of flag_sanitize_recover as bool flag.
5692
56932014-10-21  Kirill Yukhin  <kirill.yukhin@intel.com>
5694
5695	* cilk.c: Revert previous change.
5696
56972014-10-20  Igor Zamyatin  <igor.zamyatin@intel.com>
5698
5699	PR c/63307
5700	* cilk.c: Include vec.h.
5701	(struct cilk_decls): New structure.
5702	(wrapper_parm_cb): Split this function to...
5703	(fill_decls_vec): ...this...
5704	(create_parm_list): ...and this.
5705	(compare_decls): New function.
5706	(for_local_cb): Remove.
5707	(wrapper_local_cb): Ditto.
5708	(build_wrapper_type): For now first traverse and fill vector of
5709	declarations then sort it and then deal with sorted vector.
5710	(cilk_outline): Ditto.
5711	(declare_one_free_variable): Ditto.
5712
57132014-10-17  Marek Polacek  <polacek@redhat.com>
5714
5715	* c-opts.c (c_common_post_options): Set warn_implicit_int.
5716	* c.opt (Wimplicit-int): Initialize to -1.
5717
57182014-10-16  Andrew MacLeod  <amacleod@redhat.com>
5719
5720	* c-pragma.c: Adjust include files.
5721	* c-semantics.c: Likewise.
5722
57232014-10-16  DJ Delorie  <dj@redhat.com>
5724
5725	* c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
5726	multiples of bytes.
5727
57282014-10-14  Jason Merrill  <jason@redhat.com>
5729
5730	PR c++/63455
5731	* c-common.h (CPP_PREPARSED_EXPR): New.
5732	(N_CP_TTYPES): Adjust.
5733
57342014-10-15  Marek Polacek  <polacek@redhat.com>
5735
5736	* c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
5737
57382014-10-14  DJ Delorie  <dj@redhat.com>
5739
5740	* c-pretty-print.c (pp_c_integer_constant): Check for all __intN
5741	types, not just __int128.
5742	* c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
5743	types, not just __int128.
5744	(cpp_atomic_builtins): Round pointer sizes up.
5745	(type_suffix): Use type precision, not specific types.
5746	* c-common.c (c_common_reswords): Remove __int128 special case.
5747	(c_common_type_for_size): Check for all __intN types, not just
5748	__int128.
5749	(c_common_type_for_mode): Likewise.
5750	(c_common_signed_or_unsigned_type): Likewise.
5751	(c_build_bitfield_integer_type): Likewise.
5752	(c_common_nodes_and_builtins): Likewise.
5753	(keyword_begins_type_specifier): Likewise.
5754	* c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
5755	__intN variants.
5756
57572014-10-12  Trevor Saunders  <tsaunders@mozilla.com>
5758
5759	* c-common.c: Use hash_table instead of hashtab.
5760
57612014-10-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
5762
5763	* c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5764	C++11 section.
5765
57662014-10-03  Marc Glisse  <marc.glisse@inria.fr>
5767
5768	PR c++/54427
5769	PR c++/57198
5770	PR c++/58845
5771	* c-common.c (warn_logical_operator): Punt for vectors.
5772
57732014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
5774
5775	Implement SD-6: SG10 Feature Test Recommendations
5776	* c-cppbuiltin.c (c_cpp_builtins()): Define language feature
5777	macros and the __has_header macro.
5778
57792014-09-30  Jason Merrill  <jason@redhat.com>
5780
5781	* c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
5782	RID_IS_TRIVIALLY_CONSTRUCTIBLE.
5783	* c-common.c (c_common_reswords): Add __is_trivially_copyable.
5784
5785	* c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
5786	* c-common.c (c_common_reswords): Add __is_trivially_copyable.
5787
5788	* c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
5789	* c-common.c (c_common_reswords): Remove __is_convertible_to.
5790
57912014-09-24  Marek Polacek  <polacek@redhat.com>
5792
5793	PR c/61405
5794	PR c/53874
5795	* c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
5796
57972014-09-23  Andi Kleen  <ak@linux.intel.com>
5798
5799	* c-common.c (handle_no_reorder_attribute): New function.
5800	(c_common_attribute_table): Add no_reorder attribute.
5801
58022014-09-22  Joseph Myers  <joseph@codesourcery.com>
5803
5804	* c-cppbuiltin.c (c_cpp_builtins): Define
5805	__LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
5806	modes.
5807
58082014-09-18  Joseph Myers  <joseph@codesourcery.com>
5809
5810	* c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
5811	for supported floating-point modes.
5812
58132014-09-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5814
5815	* c.opt (Wpsabi): Use LangEnabledBy.
5816	* c-opts.c (c_common_handle_option): Do not handle here.
5817
58182014-09-12  Joseph Myers  <joseph@codesourcery.com>
5819
5820	* c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
5821	macros for floating-point modes.
5822
58232014-09-11  Marc Glisse  <marc.glisse@inria.fr>
5824
5825	PR target/58757
5826	* c-cppbuiltin.c (builtin_define_float_constants): Correct
5827	__*_DENORM_MIN__ without denormals.
5828
58292014-09-10  Jakub Jelinek  <jakub@redhat.com>
5830
5831	* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5832	ubsan_instrument_vla, ubsan_instrument_return): Adjust
5833	ubsan_create_data callers.
5834	(ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
5835	index is constant or BIT_AND_EXPR with constant mask and is
5836	small enough for the bound.
5837	* c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
5838	ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
5839
58402014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5841
5842	* c.opt: Add CppReason to various flags.
5843	(Wdate-time): Re-sort.
5844	* c-common.c: Include c-common.h earlier.
5845	(struct reason_option_codes_t): Delete.
5846	(c_option_controlling_cpp_error): Prefix global type and struct
5847	with cpp_.
5848
58492014-09-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5850
5851	* c.opt	(Wnormalized): New.
5852	(Wnormalized=): Use Enum and Reject Negative.
5853	* c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
5854
58552014-09-08  Joseph Myers  <joseph@codesourcery.com>
5856
5857	* c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
5858	digits of floating-point modes if -fbuilding-libgcc.
5859
58602014-09-05  Joseph Myers  <joseph@codesourcery.com>
5861
5862	* c-cppbuiltin.c (c_cpp_builtins): Also define
5863	__LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
5864	__LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
5865	__LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
5866	__LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
5867	__LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
5868	__LIBGCC_STACK_GROWS_DOWNWARD__,
5869	__LIBGCC_DONT_USE_BUILTIN_SETJMP__,
5870	__LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
5871	__LIBGCC_DWARF_FRAME_REGISTERS__,
5872	__LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
5873	__LIBGCC_STACK_POINTER_REGNUM__ and
5874	__LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
5875	(builtin_define_with_value): Handle backslash-escaping in string
5876	macro values.
5877
58782014-09-05  Richard Biener  <rguenther@suse.de>
5879
5880	PR middle-end/63148
5881	* c-format.c (check_format_arg): Properly handle
5882	effectively signed POINTER_PLUS_EXPR offset.
5883
58842014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5885
5886	* c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
5887	Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
5888	(Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
5889	and Init.
5890	* c-opts.c (c_common_handle_option): Do not handle here.
5891	(sanitize_cpp_opts): Likewise.
5892	* c-common.c (struct reason_option_codes_t): Handle
5893	CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
5894
58952014-09-03  Marek Polacek  <polacek@redhat.com>
5896
5897	* c.opt (Wlogical-not-parentheses): Enable by -Wall.
5898
58992014-09-02  Jakub Jelinek  <jakub@redhat.com>
5900	    Balaji V. Iyer  <balaji.v.iyer@intel.com>
5901	    Igor Zamyatin  <igor.zamyatin@intel.com>
5902
5903	* c-cilkplus.c (cilk_for_number_of_iterations): New function.
5904	* c-common.c (c_common_reswords): Added _Cilk_for.
5905	* c-common.h (enum rid): Added RID_CILK_FOR.
5906	(cilk_for_number_of_iterations): Add declaration.
5907	* c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
5908	CILK_FOR.
5909	* c-pragma.c (init_pragma): Register "grainsize" pragma.
5910	* c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
5911
59122014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5913
5914	* c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
5915	Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
5916	Wundef): Use CPP, Var and Init.
5917	* c-opts.c (c_common_handle_option): Do not handle the above flags here.
5918
59192014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5920
5921	* c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
5922	* c-opts.c (c_common_handle_option): Do not handle here.
5923
59242014-08-25  Jason Merrill  <jason@redhat.com>
5925
5926	* c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
5927	-std=c++14 and -std=gnu++14, rather than the reverse.
5928	* c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
5929	OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
5930	* c-common.h (cxx_dialect): Remove cxx1y.
5931
59322014-08-23  Edward Smith-Rowland  <3dw4rd@verizon.net>
5933
5934	* c-common.h (enum cxx_dialect): Add cxx14.
5935	* c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
5936	* c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
5937	cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
5938
59392014-08-22  Jason Merrill  <jason@redhat.com>
5940
5941	* c.opt (std=gnu++17): Fix alias.
5942
59432014-08-22  Marek Polacek  <polacek@redhat.com>
5944
5945	PR c++/62199
5946	* c-common.c (warn_logical_not_parentheses): Don't check LHS.  Don't
5947	check for vector types.  Drop LHS argument.
5948	* c-common.h (warn_logical_not_parentheses): Adjust.
5949
59502014-08-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5951
5952	* c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
5953	(Wmultichar): Likewise.
5954	(Wdate-time): Use C-family languages instead of Common. Use CPP
5955	and Var.
5956	* c-opts.c (c_common_handle_option): Do not handle the above
5957	options here.
5958	(sanitize_cpp_opts): Likewise.
5959
59602014-08-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5961
5962	PR fortran/44054
5963	* c-opts.c: Include tree-diagnostics.h.
5964	(c_diagnostic_finalizer): New.
5965	(c_common_initialize_diagnostics): Use it.
5966
59672014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5968
5969	PR preprocessor/51303
5970	* c-common.c (struct reason_option_codes_t option_codes):
5971	Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
5972
59732014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
5974
5975	PR c/60975
5976	PR c/53063
5977	* c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
5978	* c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
5979	(c_common_post_options): Call init_global_opts_from_cpp.
5980	(sanitize_cpp_opts): Do not handle Wvariadic-macros here.
5981
59822014-08-19  Marek Polacek  <polacek@redhat.com>
5983
5984	PR c++/62153
5985	* c-common.c (maybe_warn_bool_compare): New function.
5986	* c-common.h (maybe_warn_bool_compare): Declare.
5987	* c.opt (Wbool-compare): New option.
5988
59892014-08-19  Marek Polacek  <polacek@redhat.com>
5990
5991	* c.opt (Wc99-c11-compat): New option.
5992
59932014-08-19  Marek Polacek  <polacek@redhat.com>
5994
5995	* c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
5996	to warn_c90_c99_compat.
5997	* c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
5998	to -1.
5999
60002014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6001	    Steven Bosscher  <steven@gcc.gnu.org>
6002
6003	PR c/52952
6004	* c-format.c: Add extra_arg_loc and format_string_loc to struct
6005	format_check_results.
6006	(check_function_format): Use true and add comment for boolean
6007	argument.
6008	(finish_dollar_format_checking): Use explicit location when warning.
6009	(check_format_info): Likewise.
6010	(check_format_arg): Set extra_arg_loc and format_string_loc.
6011	(check_format_info_main): Use explicit location when warning.
6012	(check_format_types): Pass explicit location.
6013	(format_type_warning): Likewise.
6014
60152014-08-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
6016
6017	PR fortran/44054
6018	* c-format.c: Handle Fortran flags.
6019
60202014-08-12  Igor Zamyatin  <igor.zamyatin@intel.com>
6021
6022	PR other/61962
6023	* array-notation-common.c (find_rank): Added handling for other
6024	types of references.
6025
60262014-08-10  Marek Polacek  <polacek@redhat.com>
6027
6028	PR c/51849
6029	* c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
6030	* c.opt (Wc90-c99-compat): Add option.
6031
60322014-08-07  Trevor Saunders  <tsaunders@mozilla.com>
6033
6034	* c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
6035
60362014-08-03  Marek Polacek  <polacek@redhat.com>
6037
6038	* c-common.c (check_case_value):  Add location_t parameter.  Use it.
6039	(c_add_case_label): Pass loc to check_case_value.
6040
60412014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
6042
6043	* cilk.c: Use hash_map instead of pointer_map.
6044
60452014-08-02  Trevor Saunders  <tsaunders@mozilla.com>
6046
6047	* c-gimplify.c: Use hash_set instead of pointer_set.
6048
60492014-08-01  Igor Zamyatin  <igor.zamyatin@intel.com>
6050
6051	PR middle-end/61455
6052	* array-notation-common.c (extract_array_notation_exprs): Handling
6053	of DECL_EXPR added.
6054
60552014-08-01  Jakub Jelinek  <jakub@redhat.com>
6056
6057	* c-common.h (min_align_of_type): Removed prototype.
6058	* c-common.c (min_align_of_type): Removed.
6059	* c-ubsan.h (ubsan_maybe_instrument_reference,
6060	ubsan_maybe_instrument_member_call): New prototypes.
6061	* c-ubsan.c: Include stor-layout.h and builtins.h.
6062	(ubsan_maybe_instrument_reference_or_call,
6063	ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
6064	functions.
6065
60662014-07-31  Marc Glisse  <marc.glisse@inria.fr>
6067
6068	PR c++/60517
6069	* c.opt (-Wreturn-local-addr): Move to common.opt.
6070
60712014-07-30  Jason Merrill  <jason@redhat.com>
6072
6073	PR c++/61659
6074	PR c++/61687
6075	Revert:
6076	* c.opt (-fuse-all-virtuals): New.
6077
60782014-07-30  Tom Tromey  <tromey@redhat.com>
6079
6080	PR c/59855
6081	* c.opt (Wdesignated-init): New option.
6082	* c-common.c (c_common_attribute_table): Add "designated_init".
6083	(handle_designated_init): New function.
6084
60852014-07-24  Marek Polacek  <polacek@redhat.com>
6086
6087	PR c/57653
6088	* c-opts.c (c_finish_options): If -imacros is in effect, return.
6089
60902014-07-16  Dodji Seketeli  <dodji@redhat.com>
6091
6092	PR preprocessor/60723 - missing system-ness marks for macro tokens
6093	* c-ppoutput.c (struct print::prev_was_system_token): New data
6094	member.
6095	(init_pp_output): Initialize it.
6096	(maybe_print_line_1, maybe_print_line, print_line_1, print_line)
6097	(do_line_change): Return a flag saying if a line marker was
6098	emitted or not.
6099	(scan_translation_unit): Detect if the system-ness of the token we
6100	are about to emit is different from the one of the previously
6101	emitted token.  If so, emit a line marker.  Avoid emitting useless
6102	adjacent line markers.  Avoid emitting line markers for tokens
6103	originating from the expansion of built-in macros.
6104	(scan_translation_unit_directives_only): Adjust.
6105
61062014-07-15  Marek Polacek  <polacek@redhat.com>
6107
6108	* c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
6109	TYPE_MAX_VALUE is NULL.
6110
61112014-07-14  Jakub Jelinek  <jakub@redhat.com>
6112
6113	PR middle-end/61294
6114	* c.opt (Wmemset-transposed-args): New warning.
6115
61162014-07-10  Jason Merrill  <jason@redhat.com>
6117
6118	PR c++/61659
6119	PR c++/61687
6120	* c.opt (-fuse-all-virtuals): New.
6121
61222014-07-09  Richard Biener  <rguenther@suse.de>
6123
6124	PR c-family/61741
6125	* c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
6126	using unsigned arithmetic if overflow does not wrap instead of
6127	if overflow is undefined.
6128
61292014-07-06  Marek Polacek  <polacek@redhat.com>
6130
6131	PR c/6940
6132	* c.opt (Wsizeof-array-argument): New option.
6133
61342014-07-03  Jakub Jelinek  <jakub@redhat.com>
6135
6136	* c-ada-spec.c (dump_ada_nodes): Don't call qsort if
6137	comments->count <= 1, as comments->entries might be NULL.
6138
61392014-07-01  Marek Polacek  <polacek@redhat.com>
6140
6141	* c.opt (Wint-conversion): New option.
6142
61432014-07-01  Marek Polacek  <polacek@redhat.com>
6144
6145	PR c/58286
6146	* c.opt (Wincompatible-pointer-types): New option.
6147
61482014-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
6149
6150	PR c++/51400
6151	* c-common.c (handle_noreturn_attribute, handle_const_attribute):
6152	Do not discard TYPE_QUALS of type.
6153
61542014-06-26  Jason Merrill  <jason@redhat.com>
6155
6156	* c-common.h (enum cxx_dialect): Add cxx1z.
6157	* c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
6158	* c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
6159
61602014-06-26  Teresa Johnson  <tejohnson@google.com>
6161
6162	* c-common.h (get_dump_info): Declare.
6163	* c-gimplify.c (c_genericize): Use saved dump files.
6164	* c-opts.c (c_common_parse_file): Begin and end dumps
6165	once around parsing invocation.
6166	(get_dump_info): New function.
6167
61682014-06-23  Marek Polacek  <polacek@redhat.com>
6169	    Andrew MacLeod  <amacleod@redhat.com>
6170
6171	PR c/61553
6172	* c-common.c (get_atomic_generic_size): Don't segfault if the
6173	type doesn't have a size.
6174
61752014-06-20  Marek Polacek  <polacek@redhat.com>
6176
6177	* c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
6178	(ubsan_walk_array_refs_r): New function.
6179	(c_genericize): Instrument array bounds.
6180	* c-ubsan.c: Include "internal-fn.h".
6181	(ubsan_instrument_division): Mark instrumented arrays as having
6182	side effects.  Adjust ubsan_type_descriptor call.
6183	(ubsan_instrument_shift): Likewise.
6184	(ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
6185	(ubsan_instrument_bounds): New function.
6186	(ubsan_array_ref_instrumented_p): New function.
6187	(ubsan_maybe_instrument_array_ref): New function.
6188	* c-ubsan.h (ubsan_instrument_bounds): Declare.
6189	(ubsan_array_ref_instrumented_p): Declare.
6190	(ubsan_maybe_instrument_array_ref): Declare.
6191
61922014-06-20  Hale Wang  <hale.wang@arm.com>
6193
6194	PR lto/61123
6195	* c.opt (fshort-enums): Add to LTO.
6196	* c.opt (fshort-wchar): Likewise.
6197
61982014-06-16  Marek Polacek  <polacek@redhat.com>
6199
6200	PR c/60439
6201	* c.opt (Wswitch-bool): Add Var.
6202
62032014-06-12  Jakub Jelinek  <jakub@redhat.com>
6204
6205	PR middle-end/61486
6206	* c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
6207	#pragma omp target teams or
6208	#pragma omp {,target }teams distribute simd.
6209
62102014-06-12  Jason Merrill  <jason@redhat.com>
6211
6212	* c.opt (Wabi=, fabi-compat-version): New.
6213	* c-opts.c (c_common_handle_option): Handle -Wabi=.
6214	(c_common_post_options): Handle flag_abi_compat_version default.
6215	Disallow -fabi-compat-version=1.
6216	* c-common.h (abi_version_crosses): New.
6217
62182014-06-11  Jan Hubicka  <hubicka@ucw.cz>
6219
6220	* c-common.c (handle_section_attribute): Update handling for
6221	section names that are no longer trees.
6222
62232014-06-10  Jakub Jelinek  <jakub@redhat.com>
6224
6225	PR fortran/60928
6226	* c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
6227	(omp_pragmas): ... back here.
6228
62292014-06-05  Marek Polacek  <polacek@redhat.com>
6230
6231	PR c/49706
6232	* c-common.c (warn_logical_not_parentheses): New function.
6233	* c-common.h (warn_logical_not_parentheses): Declare.
6234	* c.opt (Wlogical-not-parentheses): New option.
6235
62362014-06-04  Marek Polacek  <polacek@redhat.com>
6237
6238	PR c/30020
6239	* c-common.c (check_case_bounds): Add location parameter.
6240	Use it.
6241	(c_add_case_label): Pass loc to check_case_bounds.
6242
62432014-06-03  Marek Polacek  <polacek@redhat.com>
6244
6245	PR c/60439
6246	* c.opt (Wswitch-bool): New option.
6247
62482014-05-22  Thomas Schwinge  <thomas@codesourcery.com>
6249
6250	* c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
6251	Remove prototypes.
6252	(record_types_used_by_current_var_decl): Move prototype to where
6253	it belongs.
6254
6255	* c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
6256	(DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
6257	(DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
6258
62592014-05-21  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
6260
6261	* c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
6262	* c-common.c (c_common_nodes_and_builtins): Don't initialize
6263	void_zero_node.
6264	* c-pretty-print.c (pp_c_void_constant): New function.
6265	(c_pretty_printer::constant, c_pretty_printer::primary_expression)
6266	(c_pretty_printer::expression): Handle VOID_CST.
6267	* cilk.c (extract_free_variables): Likewise.
6268	* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
6269	(ubsan_instrument_vla): Use void_node instead of void_zero_node.
6270
62712014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
6272
6273	* c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
6274	* c-pragma.c (push_alignment): Adjust.
6275	(handle_pragma_push_options): Likewise.
6276
62772014-05-09  Marek Polacek  <polacek@redhat.com>
6278
6279	PR c/50459
6280	* c-common.c (check_user_alignment): Return -1 if alignment is error
6281	node.
6282	(handle_aligned_attribute): Don't call default_conversion on
6283	FUNCTION_DECLs.
6284	(handle_vector_size_attribute): Likewise.
6285	(handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
6286	(handle_sentinel_attribute): Call default_conversion and allow even
6287	integral types as an argument.
6288
62892014-05-08  Marek Polacek  <polacek@redhat.com>
6290
6291	PR c/61053
6292	* c-common.c (min_align_of_type): New function factored out from...
6293	(c_sizeof_or_alignof_type): ...here.
6294	* c-common.h (min_align_of_type): Declare.
6295
62962014-05-08  Marek Polacek  <polacek@redhat.com>
6297
6298	PR c/61077
6299	* c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
6300	parameter type of main.
6301
63022014-05-07  DJ Delorie  <dj@redhat.com>
6303
6304	* c-cppbuiltin.c (print_bits_of_hex): New.
6305	(builtin_define_type_minmax): Print values using hex so as not to
6306	require a pre-computed list of string values.
6307
63082014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
6309	    Mike Stump  <mikestump@comcast.net>
6310	    Richard Sandiford  <rdsandiford@googlemail.com>
6311
6312	* c-ada-spec.c: Include wide-int.h.
6313	(ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
6314	(dump_generic_ada_node): Use wide-int interfaces.
6315	* c-common.c: Include wide-int-print.h.
6316	(shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
6317	(pointer_int_sum): Use wide-int interfaces.
6318	(c_common_nodes_and_builtins): Use make_int_cst.
6319	(match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
6320	(handle_alloc_size_attribute): Use wide-int interfaces.
6321	(get_nonnull_operand): Likewise.
6322	* c-format.c (get_constant): Use tree_fits_uhwi_p.
6323	* c-lex.c: Include wide-int.h.
6324	(narrowest_unsigned_type): Take a widest_int rather than two
6325	HOST_WIDE_INTs.
6326	(narrowest_signed_type): Likewise.
6327	(interpret_integer): Update accordingly.  Use wide-int interfaces.
6328	(lex_charconst): Use wide-int interfaces.
6329	* c-pretty-print.c: Include wide-int.h.
6330	(pp_c_integer_constant): Use wide-int interfaces.
6331	* cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
6332	INT_CST_LT_UNSIGNED.
6333
63342014-05-06  Richard Biener  <rguenther@suse.de>
6335
6336	* c-opts.c (c_common_post_options): For -freestanding,
6337	-fno-hosted and -fno-builtin disable pattern recognition
6338	if not enabled explicitely.
6339
63402014-05-02  Marek Polacek  <polacek@redhat.com>
6341
6342	* c.opt (Wsizeof-pointer-memaccess): Describe option.
6343
63442014-05-01  Marek Polacek  <polacek@redhat.com>
6345
6346	PR c/43245
6347	* c.opt (Wdiscarded-qualifiers): Add.
6348
63492014-04-30  Marek Polacek  <polacek@redhat.com>
6350
6351	* c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs.  Perform
6352	INT_MIN / -1 sanitization only for integer types.
6353
63542014-04-25  Marek Polacek  <polacek@redhat.com>
6355
6356	PR c/18079
6357	* c-common.c (handle_noinline_attribute): Warn if the attribute
6358	conflicts with always_inline attribute.
6359	(handle_always_inline_attribute): Warn if the attribute conflicts
6360	with noinline attribute.
6361
63622014-04-25  Marek Polacek  <polacek@redhat.com>
6363
6364	PR c/60156
6365	* c-common.c (check_main_parameter_types): Warn about variadic main.
6366
63672014-04-24  Mike Stump  <mikestump@comcast.net>
6368
6369	* c.opt (Wshadow-ivar): Default to on.
6370
63712014-04-24  Dimitris Papavasiliou  <dpapavas@gmail.com>
6372
6373	* c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
6374
63752014-04-23  Marek Polacek  <polacek@redhat.com>
6376
6377	* c-common.c (handle_tm_wrap_attribute): Tweak error message.
6378
63792014-04-22  Jakub Jelinek  <jakub@redhat.com>
6380
6381	PR sanitizer/60275
6382	* c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
6383	if flag_sanitize_undefined_trap_on_error.
6384	(ubsan_instrument_division, ubsan_instrument_shift,
6385	ubsan_instrument_vla): Likewise.  Use __ubsan_handle_*_abort ()
6386	if !flag_sanitize_recover.
6387
63882014-04-22  Marc Glisse  <marc.glisse@inria.fr>
6389
6390	PR libstdc++/43622
6391	* c-common.c (registered_builtin_types): Make non-static.
6392	* c-common.h (registered_builtin_types): Declare.
6393
63942014-04-14  Richard Biener  <rguenther@suse.de>
6395	Marc Glisse  <marc.glisse@inria.fr>
6396
6397	PR c/60819
6398	* c-common.c (convert_vector_to_pointer_for_subscript): Properly
6399	apply may-alias the scalar pointer type when applicable.
6400
64012014-04-12  Igor Zamyatin  <igor.zamyatin@intel.com>
6402
6403	PR middle-end/60467
6404	* cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
6405	as possible argument for Cilk_spawn.
6406
64072014-04-11  Tobias Burnus  <burnus@net-b.de>
6408
6409	PR c/60194
6410	* c.opt (Wformat-signedness): Add
6411	* c-format.c(check_format_types): Use it.
6412
64132014-04-11  Jason Merrill  <jason@redhat.com>
6414
6415	PR c++/57926
6416	* c-common.c (sync_resolve_size, get_atomic_generic_size): Call
6417	default_conversion for an array argument.
6418
64192014-04-08  Marek Polacek  <polacek@redhat.com>
6420
6421	PR sanitizer/60745
6422	* c-ubsan.c: Include asan.h.
6423	(ubsan_instrument_return): Call initialize_sanitizer_builtins.
6424
64252014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
6426
6427	* c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
6428
64292014-04-02  Marek Polacek  <polacek@redhat.com>
6430
6431	* c-common.h (c_expand_expr): Remove declaration.
6432
64332014-03-28  Jakub Jelinek  <jakub@redhat.com>
6434
6435	PR c++/60689
6436	* c-common.c (add_atomic_size_parameter): When creating new
6437	params vector, push the size argument first.
6438
64392014-03-26  Jakub Jelinek  <jakub@redhat.com>
6440
6441	* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6442	ubsan_instrument_vla, ubsan_instrument_return): Adjust
6443	ubsan_create_data callers.
6444
64452014-03-22  Jakub Jelinek  <jakub@redhat.com>
6446
6447	PR debug/60603
6448	* c-opts.c (c_finish_options): Restore cb_file_change call to
6449	<built-in>.
6450
64512014-03-13  Jakub Jelinek  <jakub@redhat.com>
6452
6453	PR middle-end/36282
6454	* c-pragma.c (apply_pragma_weak): Only look at
6455	TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
6456	DECL_ASSEMBLER_NAME_SET_P (decl).
6457	(maybe_apply_pending_pragma_weaks): Exit early if
6458	vec_safe_is_empty (pending_weaks) rather than only when
6459	!pending_weaks.
6460	(maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
6461	set assembler name back to NULL afterwards.
6462
64632014-03-11  Jason Merrill  <jason@redhat.com>
6464
6465	* c.opt: Add -std=gnu++14.
6466
64672014-03-11  Ian Bolton  <ian.bolton@arm.com>
6468
6469	* c-opts.c (c_common_post_options): Don't override
6470	-ffp-contract=fast if unsafe-math-optimizations is on.
6471
64722014-03-08  Paulo Matos  <paulo@matos-sorge.com>
6473
6474	* c.opt: Enable LTO FE for fshort-double.
6475
64762014-03-07  Jason Merrill  <jason@redhat.com>
6477
6478	* c.opt: Add -std=c++14.
6479
64802014-03-06  Marek Polacek  <polacek@redhat.com>
6481
6482	PR c/60197
6483	* cilk.c (contains_cilk_spawn_stmt): New function.
6484	(contains_cilk_spawn_stmt_walker): Likewise.
6485	(recognize_spawn): Give error on invalid use of _Cilk_spawn.
6486	* c-common.h (contains_cilk_spawn_stmt): Add declaration.
6487
64882014-03-03  Jakub Jelinek  <jakub@redhat.com>
6489
6490	* c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
6491	(init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
6492	even when flag_preprocess_only.
6493
64942014-02-26  Jason Merrill  <jason@redhat.com>
6495
6496	PR c++/59231
6497	PR c++/11586
6498	* c-common.c (shorten_compare): Don't check
6499	c_inhibit_evaluation_warnings.
6500
65012014-02-19  Jakub Jelinek  <jakub@redhat.com>
6502
6503	PR c/37743
6504	* c-common.c (c_common_nodes_and_builtins): When initializing
6505	c_uint{16,32,64}_type_node, also set corresponding
6506	uint{16,32,64}_type_node to the same value.
6507
6508	PR c++/60267
6509	* c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
6510	for PRAGMA_IVDEP if flag_preprocess_only.
6511
65122014-02-12  Jakub Jelinek  <jakub@redhat.com>
6513
6514	PR c/60101
6515	* c-common.c (merge_tlist): If copy is true, call new_tlist,
6516	if false, add ADD itself, rather than vice versa.
6517	(verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
6518	copy.  For SAVE_EXPR, only call merge_tlist once.
6519
65202014-02-08  Jakub Jelinek  <jakub@redhat.com>
6521
6522	PR middle-end/60092
6523	* c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
6524	and tree_to_uhwi.
6525	(handle_alloc_align_attribute, handle_assume_aligned_attribute): New
6526	functions.
6527	(c_common_attribute_table): Add alloc_align and assume_aligned
6528	attributes.
6529
65302014-02-06  Marek Polacek  <polacek@redhat.com>
6531
6532	PR c/60087
6533	* c-common.c (warn_for_sign_compare): Call warning_at with location
6534	instead of warning.
6535
65362014-02-05  Marek Polacek  <polacek@redhat.com>
6537
6538	PR c/53123
6539	* c-omp.c (c_finish_omp_atomic): Remove unreachable return
6540	statement.
6541
65422014-02-04  Marek Polacek  <polacek@redhat.com>
6543
6544	PR c/60036
6545	* c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
6546	SAVE_EXPR.
6547
65482014-02-03  Marc Glisse  <marc.glisse@inria.fr>
6549
6550	PR c++/53017
6551	PR c++/59211
6552	* c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
6553	handle_vector_size_attribute, handle_nonnull_attribute): Call
6554	default_conversion on the attribute argument.
6555	(handle_nonnull_attribute): Increment the argument number.
6556
65572014-01-31  Marek Polacek  <polacek@redhat.com>
6558
6559	PR c/59963
6560	* c-common.c (add_atomic_size_parameter): Pass vNULL to
6561	build_function_call_vec.
6562	(resolve_overloaded_builtin): Likewise.
6563	* c-common.h (build_function_call_vec): Adjust declaration.
6564
65652014-01-30  Marek Polacek  <polacek@redhat.com>
6566
6567	PR c/59940
6568	* c-common.h (unsafe_conversion_p): Adjust declaration.
6569	(warnings_for_convert_and_check): Likewise.
6570	(convert_and_check): Likewise.
6571	* c-common.c (unsafe_conversion_p): Add location parameter.  Call
6572	expansion_point_location_if_in_system_header on it.
6573	(warnings_for_convert_and_check): Add location parameter.  Call
6574	expansion_point_location_if_in_system_header on it.  Use it.
6575	(convert_and_check): Add location parameter.  Use it.
6576	(conversion_warning): Likewise.
6577	(c_add_case_label): Adjust convert_and_check calls.
6578	(scalar_to_vector): Adjust unsafe_conversion_p calls.
6579
65802014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
6581
6582	* c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
6583	flag_cilkplus.
6584	* c-pragma.c (init_pragma): Likewise.
6585	* c.opt: Likewise.
6586
65872014-01-23  Marek Polacek  <polacek@redhat.com>
6588
6589	PR c/59846
6590	* c-common.c (shorten_compare): Add location_t parameter.
6591	* c-common.h (shorten_binary_op): Adjust declaration.
6592
65932014-01-23  Marek Polacek  <polacek@redhat.com>
6594
6595	PR c/58346
6596	* c-common.c (pointer_to_zero_sized_aggr_p): New function.
6597	* c-common.h: Declare it.
6598
65992014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
6600
6601	* c-ada-spec.h (dump_ada_specs): Revert prototype change.
6602	* c-ada-spec.c (dump_ads): Likewise.
6603	(cpp_check): Likewise.
6604	(dump_ada_specs): Likewise.
6605
66062014-01-15  Laurent Alfonsi  <laurent.alfonsi@st.com>
6607
6608	PR c++/49718
6609	* c-common.c (handle_no_instrument_function_attribute): Allow
6610	no_instrument_function attribute in class member
6611	definition/declaration.
6612
66132014-01-15  Jakub Jelinek  <jakub@redhat.com>
6614
6615	PR c/58943
6616	* c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
6617	build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
6618	being COMPOUND_EXPR.
6619	(c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
6620	operand a SAVE_EXPR and second MODIFY_EXPR.
6621
66222014-01-09  Jakub Jelinek  <jakub@redhat.com>
6623
6624	PR target/58115
6625	* c-pch.c (c_common_write_pch): Call
6626	prepare_target_option_nodes_for_pch.
6627
66282014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
6629
6630	Update copyright years
6631
66322014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
6633
6634	* array-notation-common.c, c-cilkplus.c: Use the standard form for
6635	the copyright notice.
6636
66372013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
6638
6639	* c-ada-spec.c (print_constructor): New function.
6640	(print_destructor): Retrieve the origin of the destructor.
6641	(print_ada_declaration): Revamp handling of constructors/destructors.
6642
66432013-12-23  Stuart Hastings  <stuart@apple.com>
6644	    Bill Maddox  <maddox@google.com>
6645	    Jason Merrill  <jason@redhat.com>
6646
6647	* c.opt: Add -fdeclone-ctor-dtor.
6648	* c-opts.c (c_common_post_options): Default to on iff -Os.
6649
66502013-12-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
6651
6652	* c-common.c (c_common_attribute_table): Added "cilk simd function"
6653	attribute.
6654	* c-pragma.h (enum pragma_cilk_clause): Remove.
6655	(enum pragma_omp_clause):  Added the following fields:
6656	PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
6657	PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
6658	PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
6659	PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
6660	PRAGMA_CILK_CLAUSE_UNIFORM.
6661
6662
66632013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>
6664
6665	* cilk.c (cilk_outline): Made this function non-static.
6666	(gimplify_cilk_spawn): Removed pre_p and post_p arguments.
6667	(create_cilk_wrapper): Added a new parameter: a function pointer.
6668	(c_install_body_w_frame_cleanup): Remove
6669	(extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
6670	* c-common.h (cilk_outline): New prototype.
6671	(gimplify_cilk_spawn): Removed two parameters.
6672	(cilk_install_body_with_frame_cleanup): New prototype.
6673	* c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
6674	CILK_SPAWN_STMT case.
6675
66762013-12-11  Bernd Schmidt  <bernds@codesourcery.com>
6677
6678	* c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
6679
6680	* c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
6681	(int_array_type_node): Remove.
6682	* c-common.c (c_common_nodes_and_builtins): Don't build it.
6683
66842013-12-05  Marek Polacek  <polacek@redhat.com>
6685
6686	PR c/52023
6687	* c-common.c (c_sizeof_or_alignof_type): Move a declaration into
6688	[ADJUST_FIELD_ALIGN].
6689
66902013-12-04  Joseph Myers  <joseph@codesourcery.com>
6691
6692	PR c/52023
6693	* c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
6694	and check field alignment if set.
6695	* c-common.h (c_sizeof_or_alignof_type): Update prototype.
6696	(c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
6697
66982013-12-04  Jakub Jelinek  <jakub@redhat.com>
6699	    Marek Polacek  <polacek@redhat.com>
6700
6701	* c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
6702	sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
6703
67042013-11-29   H.J. Lu  <hongjiu.lu@intel.com>
6705
6706	PR c/59309
6707	* cilk.c (gimplify_cilk_spawn): Properly handle function without
6708	arguments.
6709
67102013-11-29  Jakub Jelinek  <jakub@redhat.com>
6711
6712	PR c/59280
6713	* c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
6714	goto invalid.  If it is error_mark_node, don't issue further
6715	diagnostics.
6716
67172013-11-28  Sergey Ostanevich  <sergos.gnu@gmail.com>
6718
6719	* c.opt (Wopenmp-simd): New.
6720
67212013-11-22  Jakub Jelinek  <jakub@redhat.com>
6722
6723	* c-ubsan.h (ubsan_instrument_return): New prototype.
6724	* c-ubsan.c (ubsan_instrument_return): New function.
6725
67262013-11-22  Andrew MacLeod  <amacleod@redhat.com>
6727
6728	* c-common.c: Add required include files from gimple.h.
6729	* c-gimplify.c: Likewise
6730	* cilk.c: Likewise
6731
67322013-11-22  David Malcolm  <dmalcolm@redhat.com>
6733
6734	* c-common.c (unsafe_conversion_p): Remove use of
6735	EXPR_LOC_OR_HERE macro.
6736	(conversion_warning): Likewise.
6737	(warnings_for_convert_and_check): Likewise.
6738	(warn_for_collisions_1): Likewise.
6739	(shorten_compare): Likewise, and remove use of in_system_header
6740	macro, using the location from the former.
6741	* c-lex.c (dump_one_header): Remove use of input_filename macro.
6742	(cb_def_pragma): Remove use of in_system_header macro.
6743	(lex_string): Likewise.
6744	* c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6745
67462013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
6747	    Mike Stump  <mikestump@comcast.net>
6748	    Richard Sandiford  <rdsandiford@googlemail.com>
6749
6750	* c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
6751	instead of TREE_INT_CST_LOW, in cases where there is a protecting
6752	tree_fits_shwi_p or tree_fits_uhwi_p.
6753	(dump_generic_ada_node): Likewise.
6754	* c-format.c (check_format_arg): Likewise.
6755	* c-pretty-print.c (pp_c_integer_constant): Likewise.
6756
67572013-11-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
6758
6759	* c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
6760
67612013-11-19  Joshua J Cogliati  <jrincayc@yahoo.com>
6762
6763	PR c/53001
6764	* c-common.c (unsafe_conversion_p): Make this function
6765	return an enumeration with more detail.
6766	(conversion_warning): Use the new return type of
6767	unsafe_conversion_p to separately warn either about conversions
6768	that lower floating point number precision or about the other
6769	kinds of conversions.
6770	* c-common.h (enum conversion_safety): New enumeration.
6771	(unsafe_conversion_p): switching return type to
6772	conversion_safety enumeration.
6773	* c.opt: Adding new warning -Wfloat-conversion and
6774	enabling it with -Wconversion.
6775
67762013-11-19  Basile Starynkevitch  <basile@starynkevitch.net>
6777
6778	* c-opts.c: Include plugin.h.
6779	(cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
6780
67812013-11-19  Marek Polacek  <polacek@redhat.com>
6782
6783	* c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
6784	call.
6785	(ubsan_instrument_shift): Likewise.
6786	(ubsan_instrument_vla): Likewise.
6787
67882013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
6789
6790	* c-common.c (convert_vector_to_pointer_for_subscript): Remove
6791	cast to unsigned type.
6792
67932013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
6794
6795	* c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
6796	tree_low_cst.
6797	(complete_array_type): Update comment to refer to tree_to_[su]hwi
6798	rather than tree_low_cst.
6799
68002013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
6801
6802	* c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
6803	tree_to_uhwi throughout.
6804
68052013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
6806
6807	* c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
6808	tree_low_cst (..., 0) with tree_to_shwi throughout.
6809
68102013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
6811
6812	* c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
6813	host_integerp (..., 1) with tree_fits_uhwi_p throughout.
6814
68152013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
6816
6817	* c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
6818	host_integerp (..., 0) with tree_fits_shwi_p throughout.
6819
68202013-11-15  Aldy Hernandez  <aldyh@redhat.com>
6821
6822	* c-cilkplus.c: New file.
6823	* c-common.c (readonly_error): Add location argument.
6824	* c-common.h (readonly_error): Same.
6825	(c_finish_cilk_clauses): Protoize.
6826	(c_check_cilk_loop): Same.
6827	c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
6828	Do not fail on error_mark_node.
6829	Abstract increment canonicalization to here...
6830	(c_omp_for_incr_canonicalize_ptr): New.
6831	c-pragma.c (init_pragma): Register "simd" pragma.
6832	c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
6833	(enum pragma_cilk_clause): New.
6834
68352013-11-15  Richard Sandiford  <rdsandiford@googlemail.com>
6836
6837	* c-pretty-print.c (pp_c_character_constant): Remove unnecessary
6838	wchar_type and host_integerp checks.
6839
68402013-11-14  Andrew MacLeod  <amacleod@redhat.com>
6841
6842	* c-common.c: Likewise.
6843	* c-gimplify.c: Likewise.
6844	* cilk.c: Likewise.
6845
68462013-11-14  Diego Novillo  <dnovillo@google.com>
6847
6848	* c-common.c: Include fold-const.h.
6849	Include stor-layout.h.
6850	Include calls.h.
6851	Include stringpool.h.
6852	Include attribs.h.
6853	Include varasm.h.
6854	Include trans-mem.h.
6855	* c-cppbuiltin.c: Include stor-layout.h.
6856	Include stringpool.h.
6857	* c-format.c: Include stringpool.h.
6858	* c-lex.c: Include stringpool.h.
6859	Include stor-layout.h.
6860	* c-pragma.c: Include stringpool.h.
6861	Include attribs.h.
6862	Include varasm.h.
6863	Include gcc-symtab.h.
6864	* c-pretty-print.c: Include stor-layout.h.
6865	Include attribs.h.
6866	* cilk.c: Include stringpool.h.
6867	Include calls.h.
6868
68692013-11-13  Joseph Myers  <joseph@codesourcery.com>
6870
6871	* c-common.h (enum rid): Add RID_AUTO_TYPE.
6872	* c-common.c (c_common_reswords): Add __auto_type.
6873	(keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
6874
68752013-11-12  Andrew MacLeod  <amacleod@redhat.com>
6876
6877	* c-common.c: Include gimplify.h.
6878	* c-gimplify.c: Likewise.
6879	* cilk.c: Likewise.
6880	* c-omp.c: Include gimple-expr.h instead of gimple.h.
6881	* c-ubsan.c: Don't include gimple.h.
6882
68832013-11-12  Joseph Myers  <joseph@codesourcery.com>
6884
6885	* c-common.c (c_common_reswords): Add _Thread_local.
6886
68872013-11-09  Joseph Myers  <joseph@codesourcery.com>
6888
6889	* c-common.c (atomic_size_supported_p): New function.
6890	(resolve_overloaded_atomic_exchange)
6891	(resolve_overloaded_atomic_compare_exchange)
6892	(resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
6893	Use it instead of comparing size with a local list of sizes.
6894
68952013-11-07  Andrew MacLeod  <amacleod@redhat.com>
6896	    Joseph Myers  <joseph@codesourcery.com>
6897
6898	* c-common.h (enum rid): Add RID_ATOMIC.
6899	* c-common.c (c_common_reswords): Add _Atomic.
6900	(sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
6901	(keyword_is_type_qualifier): Accept RID_ATOMIC.
6902	* c-format.c (check_format_types): Check for extra _Atomic
6903	qualifiers in format argument.
6904	* c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
6905	(pp_c_type_qualifier_list): Mention _Atomic in comment.
6906
69072013-11-06  Tobias Burnus  <burnus@net-b.de>
6908
6909	* c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
6910
69112013-11-06  Joseph Myers  <joseph@codesourcery.com>
6912
6913	* c-opts.c (c_common_post_options): Set -ffp-contract=off in C
6914	standards modes.
6915	* c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
6916	to mean lack of IEEE 754 support.
6917
69182013-11-05  Tobias Burnus  <burnus@net-b.de>
6919
6920	* c.opt (-Wdate-time): New option
6921	* c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
6922
69232013-11-05  Joseph Myers  <joseph@codesourcery.com>
6924
6925	* c-cppbuiltin.c (cpp_iec_559_value): Test
6926	flag_excess_precision_cmdline not flag_excess_precision.
6927
69282013-11-05  Tobias Burnus  <burnus@net-b.de>
6929
6930	* c.opt (fopenmp-simd): New option.
6931	* c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
6932	(omp_pragmas): ... this new struct.
6933	(c_pp_lookup_pragma): Also walk omp_pragmas.
6934	(init_pragma): Init pragmas for -fopenmp-simd.
6935
69362013-11-04  Marek Polacek  <polacek@redhat.com>
6937
6938	PR c++/58979
6939	* c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
6940
69412013-11-04  Joseph Myers  <joseph@codesourcery.com>
6942
6943	* c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
6944	New functions.
6945	(c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
6946
69472013-11-04  Eric Botcazou  <ebotcazou@adacore.com>
6948
6949	* c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
6950	(dump_ada_specs): Adjust prototype of second callback.
6951	* c-ada-spec.c (cpp_check): New global variable.
6952	(dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
6953	(print_generic_ada_decl): Likewise.
6954	(has_static_fields): Change return type to bool and add guard.
6955	(has_nontrivial_methods): New predicate.
6956	(is_tagged_type): Change return type to bool.
6957	(separate_class_package): Call has_nontrivial_methods.
6958	(pp_ada_tree_identifier): Minor tweaks.
6959	(dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
6960	(dump_ada_array_domains): Likewise.
6961	(dump_ada_array_type): Likewise.
6962	(dump_template_types): Remove cpp_check parameter and do not pass it to
6963	dump_generic_ada_node.
6964	(dump_ada_template): Likewise.
6965	(dump_generic_ada_node): Remove cpp_check parameter and do not pass it
6966	recursively.
6967	(print_ada_methods): Change return type to integer.  Remove cpp_check
6968	parameter and do not pass it down.
6969	(dump_nested_types): Remove cpp_check parameter and do not pass it to
6970	dump_generic_ada_node.
6971	(print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
6972	accessing methods.
6973	(print_ada_struct_decl): Remove cpp_check parameter and do not pass it
6974	down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
6975	value of print_ada_methods.
6976	(dump_ads): Rename cpp_check parameter to check and adjust prototype.
6977	Set cpp_check to it before invoking dump_ada_nodes.
6978	(dump_ada_specs): Likewise.
6979
69802013-11-03  Marek Polacek  <polacek@redhat.com>
6981
6982	* c-ubsan.c: Don't include hash-table.h.
6983	(ubsan_instrument_vla): New function.
6984	* c-ubsan.h: Declare it.
6985
69862013-10-31  David Malcolm  <dmalcolm@redhat.com>
6987
6988	Automated part of renaming of symtab_node_base to symtab_node.
6989
6990	Patch autogenerated by rename_symtab.py from
6991	https://github.com/davidmalcolm/gcc-refactoring-scripts
6992	revision 58bb219cc090b2f4516a9297d868c245495ee622
6993
6994	* c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
6995	symtab_node_base to symtab_node.
6996
69972013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
6998
6999	Implement C++14 digit separators.
7000	* c-lex.c (interpret_float): Remove digit separators from scratch string
7001	before building real literal.
7002
70032013-10-30  Jakub Jelinek  <jakub@redhat.com>
7004
7005	* cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
7006
70072013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>
7008
7009	* c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
7010	fields.
7011	(c_define_builtins): Called cilk_init_builtins if Cilk Plus is
7012	enabled.
7013	* c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
7014	(insert_cilk_frame): New prototype.
7015	(cilk_init_builtins): Likewise.
7016	(gimplify_cilk_spawn): Likewise.
7017	(c_cilk_install_body_w_frame_cleanup): Likewise.
7018	(cilk_detect_spawn_and_unwrap): Likewise.
7019	(cilk_set_spawn_marker): Likewise.
7020	(build_cilk_sync): Likewise.
7021	(build_cilk_spawn): Likewise.
7022	* cilk.c: New file.
7023
70242013-10-29  David Malcolm  <dmalcolm@redhat.com>
7025
7026	Patch autogenerated by refactor_symtab.py from
7027	https://github.com/davidmalcolm/gcc-refactoring-scripts
7028	revision 58bb219cc090b2f4516a9297d868c245495ee622
7029
7030	* c-gimplify.c (c_genericize): Update for conversion of symtab types
7031	to a true class hierarchy.
7032	* c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
7033
70342013-10-27  Richard Sandiford  <rdsandiford@googlemail.com>
7035
7036	* c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
7037
70382013-10-26  Jeff Law  <law@redhat.com>
7039
7040	* c-common.c (c_define_builtins): Remove mudflap support.
7041	* c.opt: Ignore and warn for mudflap options.
7042
70432013-10-24  Tobias Burnus  <burnus@net-b.de>
7044
7045	PR other/33426
7046	* c-pragma.c (init_pragma) Add #pragma ivdep handling.
7047	* c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
7048
70492013-10-23  Jason Merrill  <jason@redhat.com>
7050
7051	* c-format.c (gcc_cxxdiag_char_table): Add %X.
7052
70532013-10-11  Jakub Jelinek  <jakub@redhat.com>
7054
7055	* c-common.h (omp_clause_mask::operator !=): New method.
7056	* c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
7057	instead of if (mask & something) tests everywhere.
7058
7059	* c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
7060	201307 instead of 201107.
7061	* c-common.c (DEF_FUNCTION_TYPE_8): Define.
7062	(c_common_attribute_table): Add "omp declare target" and
7063	"omp declare simd" attributes.
7064	(handle_omp_declare_target_attribute,
7065	handle_omp_declare_simd_attribute): New functions.
7066	* c-omp.c: Include c-pragma.h.
7067	(c_finish_omp_taskgroup): New function.
7068	(c_finish_omp_atomic): Add swapped argument, if true,
7069	build the operation first with rhs, lhs arguments and use NOP_EXPR
7070	build_modify_expr.
7071	(c_finish_omp_for): Add code argument, pass it down to make_code.
7072	(c_omp_split_clauses): New function.
7073	(c_split_parallel_clauses): Removed.
7074	(c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
7075	c_omp_declare_simd_clauses_to_decls): New functions.
7076	* c-common.h (omp_clause_mask): New type.
7077	(OMP_CLAUSE_MASK_1): Define.
7078	(omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
7079	omp_clause_mask::operator |=, omp_clause_mask::operator ~,
7080	omp_clause_mask::operator |, omp_clause_mask::operator &,
7081	omp_clause_mask::operator <<, omp_clause_mask::operator >>,
7082	omp_clause_mask::operator ==): New methods.
7083	(enum c_omp_clause_split): New.
7084	(c_finish_omp_taskgroup): New prototype.
7085	(c_finish_omp_atomic): Add swapped argument.
7086	(c_finish_omp_for): Add code argument.
7087	(c_omp_split_clauses): New prototype.
7088	(c_split_parallel_clauses): Removed.
7089	(c_omp_declare_simd_clauses_to_numbers,
7090	c_omp_declare_simd_clauses_to_decls): New prototypes.
7091	* c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
7092	* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
7093	PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
7094	PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
7095	PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
7096	Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
7097	(enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
7098	PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
7099	PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
7100	PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
7101	PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
7102	PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
7103	PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
7104	PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
7105	PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
7106	PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
7107	PRAGMA_OMP_CLAUSE_UNIFORM.
7108
71092013-10-09  Marc Glisse  <marc.glisse@inria.fr>
7110
7111	PR tree-optimization/20318
7112	* c-common.c (handle_returns_nonnull_attribute): New function.
7113	(c_common_attribute_table): Add returns_nonnull.
7114
71152013-10-03  Marc Glisse  <marc.glisse@inria.fr>
7116
7117	PR c++/19476
7118	* c.opt (fcheck-new): Move to common.opt.
7119
71202013-09-25  Marek Polacek  <polacek@redhat.com>
7121	    Jakub Jelinek  <jakub@redhat.com>
7122
7123	PR sanitizer/58413
7124	* c-ubsan.c (ubsan_instrument_shift): Don't instrument
7125	an expression if we can prove it is correct.
7126	(ubsan_instrument_division): Likewise.  Remove unnecessary
7127	check.
7128
71292013-09-18  Marek Polacek  <polacek@redhat.com>
7130
7131	PR sanitizer/58411
7132	* c-common.c (handle_no_sanitize_undefined_attribute): New function.
7133	Declare it.
7134	(struct attribute_spec c_common_att): Add no_sanitize_undefined.
7135
71362013-09-14  Iain Sandoe  <iain@codesourcery.com>
7137
7138	PR target/48094
7139	* c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
7140	fobjc-gc, freplace-objc-classes): Accept for LTO.
7141
71422013-09-13  Jacek Caban  <jacek@codeweavers.com>
7143
7144	* c-target.def: New hook
7145
71462013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
7147
7148	PR c++/43452
7149	* c.opt (Wdelete-incomplete): Add.
7150
71512013-09-08  Joern Rennecke  <joern.rennecke@embecosm.com>
7152
7153	* c-common.c (same_scalar_type_ignoring_signedness): Delete.
7154	(vector_types_compatible_elements_p): New function.
7155	* c-common.h: (same_scalar_type_ignoring_signedness): Delete
7156	declaration.
7157	(vector_types_compatible_elements_p): Declare.
7158
71592013-09-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7160
7161	* c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
7162	a virtual member function.
7163	(pp_simple_type_specifier): Remove.
7164	(pp_c_type_specifier): Likewise.
7165	* c-pretty-print.c (c_pretty_printer::simple_type_specifier):
7166	Rename from pp_c_type_specifier.  Adjust.
7167	(c_pretty_printer::c_pretty_printer): Do not assign to
7168	simple_type_specifier.
7169
71702013-09-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7171
7172	* c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
7173	member function.
7174	(c_pretty_printer::storage_class_specifier): Likewise.
7175	(c_pretty_printer::initializer): Likewise.
7176	(pp_declaration): Remove.
7177	(pp_declaration_specifiers): Likewise.
7178	(pp_abstract_declarator): Likewise.
7179	(pp_declarator): Likewise.
7180	(pp_type_id): Likewise.
7181	(pp_statement): Likewise.
7182	(pp_constant): Likewise.
7183	(pp_id_expression): Likewise.
7184	(pp_primary_expression): Likewise.
7185	(pp_unary_expression): Likewise.
7186	(pp_multiplicative_expression): Likewise.
7187	(pp_conditional_expression): Likewise.
7188	(pp_assignment_expression): Likewise.
7189	(pp_expression): Likewise.
7190	(pp_c_type_id): Likewise.
7191	(pp_c_storage_class_specifier): Likewise.
7192	* c-pretty-print.c (pp_c_type_cast): Tidy.
7193	(pp_c_pointer): Likewise.
7194	(pp_c_type_specifier): Likewise.
7195	(pp_c_parameter_type_list): Likewise.
7196	(pp_c_function_definition): Likewise.
7197	(pp_c_init_declarator): Likewise.
7198	(pp_c_initializer_list): Likewise.
7199	(pp_c_constructor_elts): Likewise.
7200	(c_pretty_printer::direct_abstract_declarator): Likewise.
7201	(c_pretty_printer::declaration_specifiers): Likewise.
7202	(c_pretty_printer::primary_expression): Likewise.
7203	(c_pretty_printer::postfix_expression): Likewise.
7204	(c_pretty_printer::type_id): Rename from pp_c_type_id.
7205	(c_pretty_printer::storage_class_specifier): Rename from
7206	pp_c_storage_class_specifier.
7207	(c_pretty_printer::initializer): Rename from pp_c_initializer.
7208	(c_pretty_printer::c_pretty_printer): Do not assign to type_id,
7209	storage_class_specifier, initializer, offset_list, flags.
7210
72112013-08-30  Marek Polacek  <polacek@redhat.com>
7212
7213	* c-ubsan.c: New file.
7214	* c-ubsan.h: New file.
7215
72162013-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7217
7218	* c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
7219	member function.
7220	(c_pretty_printer::declaration_specifiers): Likewise.
7221	(c_pretty_printer::declarator): Likewise.
7222	(c_pretty_printer::abstract_declarator): Likewise.
7223	(c_pretty_printer::direct_abstract_declarator): Likewise.
7224	(c_pretty_printer::direct_declarator): Likewise.
7225	(c_pretty_printer::function_specifier): Likewise.
7226	(pp_declaration): Adjust.
7227	(pp_declaration_specifiers): Likewise.
7228	(pp_abstract_declarator): Likewise.
7229	(pp_direct_declarator): Likewise.
7230	(pp_function_specifier): Likewise.
7231	(pp_direct_abstract_declarator): Remove as unused.
7232	(pp_c_declaration): Remove.
7233	(pp_c_declaration_specifiers): Likewise.
7234	(pp_c_declarator): Likewise.
7235	(pp_c_direct_declarator): Likewise.
7236	(pp_c_function_specifier): Likewise.
7237	(pp_c_direct_abstract_declarator): Likewise.
7238	* c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
7239	from pp_c_abstract_declarator.  Adjust.
7240	(c_pretty_printer::direct_abstract_declarator):  Rename from
7241	pp_c_direct_abstract_declarator.  Adjust.
7242	(c_pretty_printer::function_specifier): Rename from
7243	pp_c_function_specifier.  Adjust.
7244	(c_pretty_printer::declaration_specifiers): Rename from
7245	pp_c_declaration_specifiers.  Adjust.
7246	(c_pretty_printer::direct_declarator): Rename from
7247	pp_c_direct_declarator.  Adjust.
7248	(c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
7249	(c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
7250	(c_pretty_printer::c_pretty_printer): Do not assign to
7251	declaration, declaration_specifiers, declarator,
7252	direct_declarator, direct_abstract_declarator, function_specifier.
7253
72542013-08-26  Gabriel Dos Reis  <gdre@integrable-solutions.net>
7255
7256	* c-pretty-print.h (c_pretty_printer::unary_expression): Now a
7257	virtual member function.
7258	(c_pretty_printer::multiplicative_expression): Likewise.
7259	(c_pretty_printer::conditional_expression): Likewise.
7260	(c_pretty_printer::assignment_expression): Likewise.
7261	(c_pretty_printer::expression): Likewise.
7262	(pp_unary_expression): Adjust.
7263	(pp_multiplicative_expression): Likewise.
7264	(pp_assignment_expression): Likewise.
7265	(pp_conditional_expression): Likewise.
7266	(pp_expression): Likewise.
7267	* c-pretty-print.c (c_pretty_printer::unary_expression): Rename
7268	from pp_c_unary_expression.  Adjust.
7269	(c_pretty_printer::multiplicative_expression): Rename from
7270	pp_c_multiplicative_expression.  Adjust.
7271	(c_pretty_printer::conditional_expression): Rename from
7272	pp_c_conditional_expression.  Adjust.
7273	(c_pretty_printer::assignment_expression): Rename from
7274	pp_c_assignment_expression.  Adjust.
7275	(c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
7276	(c_pretty_printer::c_pretty_printer): Do not assign to
7277	unary_expression, multiplicative_expression,
7278	conditional_expression, expression.
7279
72802013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7281
7282	* c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
7283	virtual member function.
7284	(pp_postfix_expression): Adjust.
7285	(pp_c_postfix_expression): Remove.
7286	* c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
7287	from pp_c_postfix_expression.  Adjust.
7288	(c_pretty_printer::c_pretty_printer): Do not assign to
7289	postfix_expression.
7290
72912013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7292
7293	* c-pretty-print.h (c_pretty_printer::primary_expression): Now a
7294	virtua member function.
7295	(pp_primary_expression): Adjust.
7296	(pp_c_primary_expression): Remove.
7297	* c-pretty-print.c (c_pretty_printer::primary_expression): Rename
7298	from pp_c_primary_expression.  Adjust.
7299	(pp_c_initializer_list): Use pp_primary_expression.
7300	(c_pretty_printer::c_pretty_printer): Do not assign to
7301	primary_expression.
7302
73032013-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7304
7305	* c-pretty-print.h (c_pretty_printer::translate_string): Declare.
7306	* c-pretty-print.c (M_): Remove.
7307	(c_pretty_printer::translate_string): Define.
7308	(pp_c_type_specifier): Use it.
7309	(pp_c_primary_expression): Likewise.
7310	(pp_c_expression): Likewise.
7311
73122013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7313
7314	* c-pretty-print.h (c_pretty_printer::id_expression): Now a
7315	virtual function.
7316	(pp_c_id_expression): Remove.
7317	(pp_id_expression): Adjust.
7318	* c-pretty-print.c (c_pretty_printer::id_expression): Rename from
7319	pp_c_id_expression.  Adjust.
7320	(pp_c_postfix_expression): Use pp_id_expression.
7321	(c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
7322
73232013-08-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7324
7325	* c-pretty-print.h (c_pretty_printer::constant): Now a virtual
7326	member function.
7327	(pp_constant): Adjust.
7328	(pp_c_constant): Remove.
7329	* c-pretty-print.c (c_pretty_printer::constant): Rename from
7330	pp_c_constant.  Adjust.
7331	(pp_c_constant)
7332	(pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
7333	(c_pretty_printer::c_pretty_printer): Remove assignment to constant.
7334
73352013-08-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7336
7337	* c-pretty-print.h (pp_c_pretty_printer_init): Remove.
7338	(c_pretty_printer::c_pretty_printer): Declare.
7339	* c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
7340	c_pretty_printer_init.  Adjust.
7341	(print_c_tree): Do not call c_pretty_printer_init.
7342	* c-ada-spec.c (dump_ads): Remove call to pp_construct.
7343
73442013-08-09  Arnaud Charlet  <charlet@adacore.com>
7345
7346	* c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
7347
73482013-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
7349
7350	PR c++/58080
7351	* c-common.c (pointer_int_sum): Add bool parameter.
7352	* c-common.h (pointer_int_sum): Adjust declaration.
7353
73542013-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7355
7356	* c-pretty-print.c (print_c_tree): Simplify.  Use non-static local
7357	c_pretty_printer variable.
7358
73592013-08-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7360
7361	* c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
7362	(pp_base): Remove.
7363	(pp_c_base): Likewise.  Adjust users.
7364	* c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
7365	(pp_c_whitespace): Do not call pp_base.
7366	(pp_c_left_paren): Likewise.
7367	(pp_c_right_paren): Likewise.
7368	(pp_c_left_brace): Likewise.
7369	(pp_c_right_brace): Likewise.
7370	(pp_c_left_bracket): Likewise.
7371	(pp_c_right_bracket): Likewise.
7372	(pp_c_dot): Likewise.
7373	(pp_c_ampersand): Likewise.
7374	(pp_c_star): Likewise.
7375	(pp_c_arrow): Likewise.
7376	(pp_c_semicolon): Likewise.
7377	(pp_c_complement): Likewise.
7378	(pp_c_exclamation): Likewise.
7379	(pp_c_direct_declarator): Likewise.
7380	(pp_c_ws_string): Likewise.
7381	(pp_c_identifier): Likewise.
7382	(pp_c_statement): Likewise.
7383	(print_c_tree): Likewise.
7384
73852013-08-04  Ed Smith-Rowland  <3dw4rd@verizon.net>
7386
7387	PR c++/58072
7388	* c-common.c (c_parse_error): Catch user-defined literal tokens and
7389	provide useful error strings.
7390
73912013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7392
7393	* c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
7394	printer functions instead of pp_string or operators and punctuators.
7395	(dump_generic_ada_node): Likewise.
7396	* c-pretty-print.c (pp_c_type_specifier): Likewise.
7397	(pp_c_relational_expression): Likewise.
7398	(pp_c_logical_or_expression): Likewise.
7399
74002013-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7401
7402	* c-ada-spec.c (print_ada_macros): Use specialized pretty printer
7403	functions instead of pp_character.
7404	(pp_ada_tree_identifier): Likewise.
7405	(dump_ada_double_name): Likewise.
7406	(dump_ada_function_declaration): Likewise.
7407	(dump_ada_array_domains): Likewise.
7408	(dump_template_types): Likewise.
7409	(dump_generic_ada_node): Likewise.
7410	(print_ada_declaration): Likewise.
7411	(print_ada_struct_decl): Likewise.
7412	* c-pretty-print.c (pp_c_integer_constant): Likewise.
7413
74142013-07-23  Tom Tromey  <tromey@redhat.com>
7415
7416	* c-common.h (enum rid) <RID_GENERIC>: New constant.
7417	* c-common.c (c_common_reswords): Add _Generic.
7418
74192013-07-21   Ondřej Bílka  <neleai@seznam.cz>
7420
7421	* c-common.c: Fix typos.
7422	* c-common.h: Likewise.
7423
74242013-07-13  Lubos Lunak  <l.lunak@suse.cz>
7425
7426	PR c++/55203
7427	* c-common.c (c_common_attribute_table): Add warn_unused.
7428	(handle_warn_unused_attribute): New.
7429
74302013-07-10  Jakub Jelinek  <jakub@redhat.com>
7431
7432	* c-ppoutput.c (scan_translation_unit): Call account_for_newlines
7433	for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
7434
74352013-07-10  Paolo Carlini  <paolo.carlini@oracle.com>
7436
7437	PR c++/57869
7438	* c.opt: Add Wconditionally-supported.
7439
74402013-07-08  Graham Stott  <graham.stott@btinternet.com>
7441
7442	* array-notation-common.c (length_mismatch_in_expr_p): Delete
7443	unused variables l_length and l_node.
7444
74452013-07-04  Joern Rennecke  <joern.rennecke@embecosm.com>
7446
7447	PR c/57821
7448	* c-common.c (complete_array_type): Delay folding first index
7449	like other indices.  When folding, check for index overflow.
7450
74512013-06-27  Marc Glisse  <marc.glisse@inria.fr>
7452
7453	PR c++/57509
7454	* c-common.h (c_build_vec_perm_expr): New complain argument.
7455	* c-common.c (c_build_vec_perm_expr): Likewise.
7456	Use save_expr also in C++.
7457
74582013-06-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7459
7460	* c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
7461	* c-cppbuiltin.c (c_cpp_builtins): Likewise.
7462	* c-opts.c (c_common_post_options): Likewise.
7463
74642013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
7465
7466	* array-notation-common.c (length_mismatch_in_expr): Changed the
7467	parameter type's from a dynamic array to a vec_tree.  Also removed
7468	the size parameters.
7469	* c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
7470	the change above.
7471
74722013-06-21  Balaji V. Iyer  <balaji.v.iyer@intel.com>
7473
7474	* c-common.h (struct cilkplus_an_parts): New structure.
7475	(struct cilkplus_an_loop_parts): Likewise.
7476	(cilkplus_extract_an_triplets): New prototype.
7477	(fix_sec_implicit_args): Likewise.
7478	* array-notation-common.c (cilkplus_extract_an_triplets): New function.
7479	(fix_sec_implicit_args): Likewise.
7480
74812013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
7482
7483	* array-notation-common.c (find_inv_trees): Removed an unwanted
7484	typecasting.
7485	* c-common.h (struct inv_list::additional_tcodes): Changed type from
7486	enum rid to enum tree_code.
7487
74882013-06-11  Jan Hubicka  <jh@suse.cz>
7489
7490	* c-common.c (handle_alias_ifunc_attribute): Do not set
7491	DECL_EXTERNAL for weakref variables.
7492	* c-pragma.c (handle_pragma_weak): Make sure aliases
7493	are not declared as external.
7494
74952013-06-07  Balaji V. Iyer  <balaji.v.iyer@intel.com>
7496
7497	* array-notation-common.c (length_mismatch_in_expr_p): Moved this
7498	function from c/c-array-notation.c.
7499	(is_cilkplus_reduce_builtin): Likewise.
7500	(find_rank): Likewise.
7501	(extract_array_notation_exprs): Likewise.
7502	(replace_array_notations): Likewise.
7503	(find_inv_trees): Likewise.
7504	(replace_inv_trees): Likewise.
7505	(contains_array_notation_expr): Likewise.
7506	(find_correct_array_notation_type): Likewise.
7507	* c-common.h (struct inv_list): Moved this struct from the file
7508	c/c-array-notation.c and added a new field called additional tcodes.
7509	(length_mismatch_in_expr_p): New prototype.
7510	(is_cilkplus_reduce_builtin): Likewise.
7511	(find_rank): Likewise.
7512	(extract_array_notation_exprs): Likewise.
7513	(replace_array_notation): Likewise.
7514	(find_inv_trees): Likewise.
7515	(replace_inv_trees): Likewise.
7516	(find_correct_array_notation_type): Likewise.
7517
75182013-05-28  Balaji V. Iyer  <balaji.v.iyer@intel.com>
7519
7520	* c-common.c (c_define_builtins): When cilkplus is enabled, the
7521	function array_notation_init_builtins is called.
7522	(c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
7523	* c-common.def (ARRAY_NOTATION_REF): New tree.
7524	* c-common.h (build_array_notation_expr): New function declaration.
7525	(build_array_notation_ref): Likewise.
7526	(extract_sec_implicit_index_arg): New extern declaration.
7527	(is_sec_implicit_index_fn): Likewise.
7528	(ARRAY_NOTATION_CHECK): New define.
7529	(ARRAY_NOTATION_ARRAY): Likewise.
7530	(ARRAY_NOTATION_START): Likewise.
7531	(ARRAY_NOTATION_LENGTH): Likewise.
7532	(ARRAY_NOTATION_STRIDE): Likewise.
7533	* c-pretty-print.c (pp_c_postifix_expression): Added a new case for
7534	ARRAY_NOTATION_REF.
7535	(pp_c_expression): Likewise.
7536	* c.opt (flag_enable_cilkplus): New flag.
7537	* array-notation-common.c: New file.
7538
75392013-05-14  Jakub Jelinek  <jakub@redhat.com>
7540
7541	PR c++/57274
7542	* c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
7543
75442013-05-10  Marc Glisse  <marc.glisse@inria.fr>
7545
7546	* c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
7547	vectors.
7548
75492013-05-07  Han Shen  <shenhan@google.com>
7550
7551	* c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
7552
75532013-04-29  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
7554
7555	* c-common.c (check_user_alignment): Emit error for negative values.
7556
75572013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
7558
7559	* c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
7560
75612013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
7562
7563	* c-cppbuiltin.c (c_cpp_builtins): Do not define
7564	__GXX_EXPERIMENTAL_CXX1Y__.
7565
75662013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
7567	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
7568
7569	* c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
7570	* c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
7571	to simply use OPT_Wpointer_arith.
7572	(c_sizeof_or_alignof_type): Likewise.
7573
75742013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
7575
7576	* c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
7577
75782013-04-12  Jakub Jelinek  <jakub@redhat.com>
7579
7580	* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
7581	gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
7582	specifiers.
7583
75842013-04-07  Steven Bosscher  <steven@gcc.gnu.org>
7585
7586	* c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
7587
75882013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
7589
7590	* c-common.c (pointer_int_sum): Remove dead code.
7591
75922013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
7593
7594	PR middle-end/56524
7595	* c-common.c (handle_optimize_attribute): Don't call
7596	save_optabs_if_changed.
7597
75982013-03-05  Jakub Jelinek  <jakub@redhat.com>
7599
7600	PR middle-end/56461
7601	* c-pch.c (pch_init): Free target_validity at the end.
7602
76032013-03-04  Jakub Jelinek  <jakub@redhat.com>
7604
7605	* c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
7606
76072013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
7608	    Jakub Jelinek  <jakub@redhat.com>
7609
7610	PR sanitizer/56454
7611	* c-common.c (handle_no_sanitize_address_attribute): New function.
7612	(c_common_attribute_table): Add no_sanitize_address attribute.
7613	(handle_no_address_safety_analysis_attribute): Add
7614	no_sanitize_address attribute, not no_address_safety_analysis
7615	attribute.
7616
76172013-02-18  Aldy Hernandez  <aldyh@redhat.com>
7618
7619	PR target/52555
7620	* c-common.c (handle_optimize_attribute): Call
7621	save_optabs_if_changed.
7622
76232013-02-18  Jakub Jelinek  <jakub@redhat.com>
7624	    Steven Bosscher  <steven@gcc.gnu.org>
7625
7626	PR pch/54117
7627	* c-opts.c (c_common_post_options): If debug info is enabled
7628	and non-dwarf*, refuse to load PCH files and when writing PCH
7629	file warn.
7630
76312013-02-05  Jakub Jelinek  <jakub@redhat.com>
7632
7633	PR middle-end/56167
7634	* c-common.c (handle_error_attribute): Fix condition.
7635
76362013-01-30  Jakub Jelinek  <jakub@redhat.com>
7637
7638	PR c++/55742
7639	* c-common.c (handle_target_attribute): Revert 2012-12-26 change.
7640
76412013-01-18  Jason Merrill  <jason@redhat.com>
7642
7643	PR target/54908
7644	* c.opt (-fextern-tls-init): New.
7645	* c-opts.c (c_common_post_options): Handle it.
7646
76472013-01-09  Jakub Jelinek  <jakub@redhat.com>
7648
7649	PR c/48418
7650	* c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
7651	RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
7652	and is either negative or bigger or equal to type precision
7653	of the first operand.
7654
76552012-12-03  Marek Polacek  <polacek@redhat.com>
7656
7657	PR c/55570
7658	* c-common.c (check_user_alignment): Swap order of tests,
7659	check TREE_CODE first.
7660
76612012-11-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
7662
7663	PR c++/52654
7664	* c-common.h (overflow_type): New enum.
7665	(build_userdef_literal): Add overflow_type argument.
7666	(tree_userdef_literal): Add overflow_type.
7667	(USERDEF_LITERAL_OVERFLOW): New access macro.
7668	* c-common.c (build_userdef_literal): Add overflow_type
7669	argument.
7670	* c-lex.c (c_lex_with_flags): Add overflow_type to
7671	build_userdef_literal calls.
7672	(interpret_integer, interpret_float): Add overflow_type argument.
7673
76742012-11-28  Richard Biener  <rguenther@suse.de>
7675
7676	PR c/35634
7677	* c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7678	here and use a type with proper overflow behavior for types that would
7679	need to be promoted for the arithmetic.
7680
76812012-11-23  Jakub Jelinek  <jakub@redhat.com>
7682
7683	PR sanitizer/55435
7684	* c-common.c (handle_no_address_safety_analysis_attribute): New
7685	function.
7686	(c_common_attribute_table): Add no_address_safety_analysis.
7687
76882012-11-16  Simon Baldwin  <simonb@google.com>
7689
7690	* c.opt: Add f[no-]canonical-system-headers.
7691	* c-opts.c (c_common_handle_option): Handle
7692	OPT_fcanonical_system_headers.
7693
76942012-11-09  Ed Smith-Rowland  <3dw4rd@verizon.net>
7695
7696	PR c++/54413
7697	* c-opts.c (c_common_handle_option): Set new flags.
7698	* c.opt: Describe new flags.
7699
77002012-11-09  Jason Merrill  <jason@redhat.com>
7701
7702	* c.opt (Wabi-tag): New.
7703
77042012-11-09  Andi Kleen  <ak@linux.intel.com>
7705
7706	PR 55139
7707	* c-common.c (get_atomic_generic_size): Mask with
7708	MEMMODEL_MASK
7709
77102012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7711
7712	PR c/53063
7713	* c.opt (Wformat): Make it Alias Wformat=1.
7714	(Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
7715	Wformat-security,Wformat-y2k,Wformat-zero-length): Use
7716	LangEnabledBy.
7717	(Wformat=): RejectNegative. Use LangEnabledBy.
7718	(Wnonnull): Use LangEnabledBy.
7719	* c-opts.c (c_common_handle_option): Do not handle Wformat here.
7720	* c-format.c (set_Wformat): Delete.
7721	(decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
7722	(maybe_read_dollar_number):  Likewise.
7723	(avoid_dollar_number):  Likewise.
7724	(finish_dollar_format_checking):  Likewise.
7725	(check_format_info):  Likewise.
7726	(check_format_info_main):  Likewise.
7727	(check_format_types):  Likewise.
7728	(format_type_warning):  Likewise.
7729	* c-common.c (int):  Likewise.
7730	(check_function_sentinel):  Likewise.
7731	* c-common.h (warn_format,set_Wformat): Do not declare here.
7732
77332012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7734
7735	PR c/53063
7736	* c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
7737	Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
7738	Use LangEnabledBy.
7739	(Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
7740	common.opt.
7741	(Wvariadic-macros): Init(1).
7742	* c-opts.c (c_common_handle_option): Do not handle them
7743	explicitly.
7744	(c_common_post_options): Likewise.
7745	(sanitize_cpp_opts): warn_unused_macros is now
7746	cpp_warn_unused_macros.
7747	(push_command_line_include): Likewise.
7748	* c-common.c (warn_unknown_pragmas): Do not define.
7749	* c-common.h (warn_unknown_pragmas): Do not declare.
7750
77512012-11-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7752
7753	PR c/51294
7754	* c-common.c (conversion_warning): Handle conditional expressions.
7755
77562012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
7757
7758	PR c++/54930
7759	* c.opt (Wreturn_local_addr): Define new option.
7760
77612012-10-25  Jason Merrill  <jason@redhat.com>
7762
7763	* c.opt (Wvirtual-move-assign): New.
7764
7765	* c.opt (Winherited-variadic-ctor): New.
7766
77672012-10-25  Marc Glisse  <marc.glisse@inria.fr>
7768
7769	PR c++/54427
7770	* c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
7771
77722012-10-23  Joseph Myers  <joseph@codesourcery.com>
7773
7774	* c-common.h (pch_cpp_save_state): Declare.
7775	* c-target.def (c_preinclude): New hook.
7776	* c-opts.c (done_preinclude): New.
7777	(push_command_line_include): Handle default preincluded header.
7778	(cb_file_change): Call pch_cpp_save_state when calling
7779	push_command_line_include.
7780	* c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
7781	(pch_cpp_save_state): New.
7782	(pch_init): Call pch_cpp_save_state conditionally, instead of
7783	calling cpp_save_state.
7784
77852012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7786
7787	PR c/53063
7788	PR c/40989
7789	* c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
7790	Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
7791	Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
7792	Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
7793	Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
7794	* c-opts.c (c_common_handle_option): Remove explicit handling from
7795	here.
7796	(c_common_post_options): Likewise.
7797
77982012-10-18  Eric Botcazou  <ebotcazou@adacore.com>
7799
7800	* c-ada-spec.c (LOCATION_COL): Delete.
7801	(compare_location): New function.
7802	(compare_node): Use it.
7803	(compare_comment): Likewise.
7804
78052012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
7806
7807	PR c/53063
7808	PR c/40989
7809	* c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
7810	* c-opts.c (c_common_handle_option): Do not set them here. Add
7811	comment.
7812	(c_common_post_options): Likewise.
7813
78142012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
7815
7816	* c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
7817	(dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
7818	Remove POINTER_TYPE handling, add large unsigned handling and use
7819	ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
7820
78212012-10-12  Jakub Jelinek  <jakub@redhat.com>
7822
7823	PR c/54381
7824	* c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
7825	* c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
7826	locs and array of 3 trees instead of just single loc and single
7827	sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
7828	also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
7829	For *cmp* builtins that take two sources strings report warnings
7830	about first and second source, not about destination and source.
7831
78322012-10-12  Marc Glisse  <marc.glisse@inria.fr>
7833
7834	PR c++/53055
7835	* c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
7836
78372012-10-11  Eric Botcazou  <ebotcazou@adacore.com>
7838
7839	* c-ada-spec.c (dump_ada_template): Bail out for template declarations
7840	declaring something coming from another file.
7841
78422012-10-10  Arnaud Charlet  <charlet@adacore.com>
7843
7844	PR ada/54845
7845	* c-ada-spec.c (print_ada_struct_decl): Increase buf size.
7846
78472012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
7848
7849	PR c++/54194
7850	* c-common.c (warn_about_parentheses): Add location_t parameter;
7851	use EXPR_LOC_OR_LOC.
7852	* c-common.h: Update declaration.
7853
78542012-10-09  Marc Glisse  <marc.glisse@inria.fr>
7855
7856	PR c++/54427
7857	* c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
7858	more operations. Make error messages optional.
7859	* c-common.h (enum stv_conv): Moved from c-typeck.c.
7860	(scalar_to_vector): Declare.
7861
78622012-10-08  Jason Merrill  <jason@redhat.com>
7863
7864	* c-common.c (c_common_reswords): Add thread_local.
7865
78662012-10-08  Dodji Seketeli  <dodji@redhat.com>
7867
7868	PR c++/53528 C++11 attribute support
7869	* c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
7870	new functions.
7871	* c-common.c (check_cxx_fundamental_alignment_constraints): New
7872	static function.
7873	(handle_aligned_attribute): In choose strictest alignment
7874	among many.  Use new check_cxx_fundamental_alignment_constraints.
7875	(handle_transparent_union_attribute): In c++11 attribute syntax,
7876	don't look through typedefs.
7877
78782012-10-04  Arnaud Charlet  <charlet@adacore.com>
7879
7880	* c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
7881	* c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
7882	out of dumpfile.h.
7883
78842012-09-25  Dehao Chen  <dehao@google.com>
7885
7886	PR middle-end/54645
7887	* c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
7888	map when read in the pch.
7889
78902012-09-18  Arnaud Charlet  <charlet@adacore.com>
7891
7892	* c-ada-spec.c: Style fixes.
7893
78942012-09-18  Thomas Quinot  <quinot@adacore.com>
7895
7896	* c.opt (-fada-spec-parent): Define new command line switch.
7897	* c-ada-spec.c (get_ada_package): When -fada-spec-parent
7898	is specified, generate binding spec as a child of the specified unit.
7899
79002012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
7901	    Manuel López-Ibáñez  <manu@gcc.gnu.org>
7902
7903	PR c++/53210
7904	* c.opt ([Winit-self]): Enabled by -Wall in C++.
7905
79062012-08-23  Arnaud Charlet  <charlet@adacore.com>
7907
7908	* c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
7909	for pointers, and add missing Convention C pragma.
7910	(print_ada_struct_decl): Add missing aliased keyword.
7911	(dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
7912
79132012-08-17  Jakub Jelinek  <jakub@redhat.com>
7914
7915	* c-common.c (sizeof_pointer_memaccess_warning): New function.
7916	* c.opt (-Wsizeof-pointer-memaccess): Add new option.
7917	* c-opts.c (c_common_handle_option): Enable it for -Wall.
7918	* c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
7919	* c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
7920
79212012-08-10  Richard Guenther  <rguenther@suse.de>
7922
7923	* c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
7924
79252012-08-07  Steven Bosscher  <steven@gcc.gnu.org>
7926
7927	* c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
7928	instead of separate pp_newline and pp_flush.
7929	(print_c_tree): Likewise.
7930
79312012-07-26  Richard Henderson  <rth@redhat.com>
7932
7933	* c-common.c (handle_hot_attribute): Allow labels.
7934	(handle_cold_attribute): Likewise.
7935
79362012-07-20  Jakub Jelinek  <jakub@redhat.com>
7937
7938	PR c++/28656
7939	* c-common.c (check_function_nonnull): Handle multiple nonnull
7940	attributes properly.
7941
79422012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
7943
7944	* c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
7945	* c-ada-spec.c: Likewise.
7946	* c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
7947
79482012-07-14  Steven Bosscher  <steven@gcc.gnu.org>
7949
7950	* c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
7951	Remove code conditional on it.
7952
79532012-07-11  Steven Bosscher  <steven@gcc.gnu.org>
7954
7955	* c-gimplify.c: Do not include basic-block.h.
7956	* c-common.c: Do not include linfuncs.h.
7957
79582012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
7959
7960	* c-common.h: Include tree.h.
7961
79622012-07-02  Jason Merrill  <jason@redhat.com>
7963
7964	PR c++/53524
7965	* c-common.c (get_priority): Call default_conversion.
7966
79672012-07-01  Uros Bizjak  <ubizjak@gmail.com>
7968
7969	* c-pch.c (c_common_write_pch): Remove unused variables.
7970
79712012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
7972
7973	* cppspec.c: Moved from gcc/ to here.
7974
79752012-06-27  Kai Tietz  <ktietz@redhat.com>
7976
7977	PR preprocessor/37215
7978	* c-ppoutput.c (preprocess_file): Check for nonempty buffer.
7979
79802012-06-21  Steven Bosscher  <steven@gcc.gnu.org>
7981
7982	* c-common.h (c_common_print_pch_checksum): Remove.
7983	* c-pch.c: Do not include output.h.
7984	(CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
7985	(asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
7986	(asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
7987	(struct c_pch_header): Remove.
7988	(get_ident): Update gpch version.
7989	(pch_init): Do not print executable_checksum to asm_out_file.
7990	Do not fail if there is no asm_out_file to read back from.  Set
7991	asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
7992	(c_common_write_pch): Verify that nothing was written to asm_out_file
7993	since pch_init was called.  Do not write a c_pch_header, and do not
7994	copy from asm_out_file to the PCH.
7995	(c_common_read_pch): Do not read a c_pch_header, and do not restore
7996	the content of asm_out_file from the PCH.
7997	(c_common_print_pch_checksum): Remove.
7998	* c-opts.c (c_common_init): Print out executable_checksum directly.
7999
80002012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
8001
8002	* c-target.def (objc_declare_unresolved_class_reference,
8003	objc_declare_class_definition): Add new hooks.
8004
80052012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
8006
8007	* c-lex.c: Do not include output.h.
8008	(cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
8009	Remove uses of ASM_OUTPUT_IDENT.
8010
80112012-06-15  Marc Glisse  <marc.glisse@inria.fr>
8012
8013	PR c++/51033
8014	* c-common.h (c_build_vec_perm_expr): Move decl here.
8015	* c-common.c (c_build_vec_perm_expr): Move definition
8016	here.
8017
80182012-06-06  Steven Bosscher  <steven@gcc.gnu.org>
8019
8020	* c.opt (fconserve-space): Turn into a no-op.
8021
80222012-06-04  Sterling Augustine  <saugustine@google.com>
8023
8024	* c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
8025	* c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
8026	both the start and end of the function.
8027
80282012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
8029
8030	* c-common.c: Do not include output.h.
8031	* c-pragma.c: Likewise.
8032
80332012-06-04  Steven Bosscher  <steven@gcc.gnu.org>
8034
8035	* error.c (dump_decl): Check pp_c_flag_gnu_v3.
8036	(decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
8037	(lang_decl_name): Handle namespace decls.
8038
80392012-05-31  Steven Bosscher  <steven@gcc.gnu.org>
8040
8041	* c-ada-spec.c: Do not include output.h.
8042	* c-semantics.c: Likewise.
8043
80442012-05-29  Joseph Myers  <joseph@codesourcery.com>
8045
8046	* c-common.c: Fix typo.
8047
80482012-05-29  Michael Matz  <matz@suse.de>
8049
8050	* c-common.h (c_expand_decl): Remove prototype.
8051
80522012-05-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8053
8054	* c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
8055	* c-opts.c (c_common_handle_option): Remove code handling
8056	warn_missing_braces.
8057
80582012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
8059
8060	PR c++/25137
8061	* c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
8062	-Wmissing_braces.
8063
80642012-05-22  Dodji Seketeli  <dodji@redhat.com>
8065
8066	PR c++/53322
8067	* c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
8068
80692012-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8070
8071	* c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
8072	* c-opts.c (c_common_handle_option): Do not handle explicitly
8073	Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
8074
80752012-05-16  Dodji Seketeli  <dodji@redhat.com>
8076
8077	PR preprocessor/7263
8078	* c-lex.c (c_lex_with_flags):  Pass a virtual location to the call
8079	to cpp_classify_number.  For diagnostics, use the precise location
8080	instead of the global input_location.
8081
80822012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
8083
8084	PR c++/11856
8085	* c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
8086
80872012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
8088
8089	* c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
8090
80912012-05-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8092
8093	PR 53063
8094	* c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
8095	Wreorder): Use LangEnabledBy.
8096	* c-opts.c (c_common_handle_option): Do not enable them
8097	explicitly. Call lang-specific generated functions.
8098	(c_common_post_options): Do not set them here.
8099
81002012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8101
8102	* c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
8103	Wmissing-field-initializers,Wmissing-parameter-type,
8104	Wold-style-declaration,Woverride-init): Use EnabledBy.
8105	* c-opts.c (c_common_post_options): Do not set here explicitly.
8106
81072012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8108
8109	PR 53063
8110	* c-opts.c (c_common_handle_option): Use handle_generated_option
8111	to enable sub-options.
8112
81132012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
8114
8115	PR c++/53158
8116	* c-common.c (warnings_for_convert_and_check): Use warning_at.
8117
81182012-05-10  Richard Guenther  <rguenther@suse.de>
8119
8120	* c-common.c (c_sizeof_or_alignof_type): Remove assert and
8121	adjust commentary about TYPE_IS_SIZETYPE types.
8122
81232012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8124
8125	PR c++/53261
8126	* c-common.c (warn_logical_operator): Check that argument of
8127	integer_zerop is not NULL.
8128
81292012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8130
8131	PR c/43772
8132	* c-common.c (warn_logical_operator): Do not warn if either side
8133	is already true or false.
8134
81352012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8136
8137	PR c/51712
8138	* c-common.c (expr_original_type): New.
8139	(shorten_compare): Do not warn for enumeration types.
8140
81412012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8142
8143	* c.opt (fpermissive): Add Var(flag_permissive).
8144
81452012-04-30  Marc Glisse  <marc.glisse@inria.fr>
8146
8147	PR c++/51033
8148	* c-common.c (convert_vector_to_pointer_for_subscript): New function.
8149	* c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
8150
81512012-04-30  Dodji Seketeli  <dodji@redhat.com>
8152
8153	Add -Wvarargs option
8154	* c.opt (Wvarargs):  Define new option.
8155
81562012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8157
8158	* c-common.c (check_function_arguments): Replace
8159	Wmissing-format-attribute with Wsuggest-attribute=format.
8160
81612012-04-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8162
8163	* c.opt (Wsuggest-attribute=format): New. Alias of
8164	Wmissing-format-attribute.
8165	* c-format.c (decode_format_type): Replace
8166	Wmissing-format-attribute with Wsuggest-attribute=format.
8167	(check_function_format): Likewise.
8168
81692012-04-27  Ollie Wild  <aaw@google.com>
8170
8171	* c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
8172	* c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
8173	* c.opt: Add Wliteral-suffix.
8174
81752012-04-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8176
8177	PR c/44774
8178	* c.opt (Wpedantic): New.
8179	(pedantic): Alias Wpedantic.
8180	* c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
8181	(c_common_post_options): Likewise.
8182	(sanitize_cpp_opts): Likewise.
8183	* c-lex.c (interpret_float): Likewise.
8184	* c-format.c (check_format_types): Likewise.
8185	* c-common.c (pointer_int_sum): Likewise.
8186	(c_sizeof_or_alignof_type): Likewise.
8187	(c_add_case_label): Likewise.
8188	(c_do_switch_warnings): Likewise.
8189	* c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
8190
81912012-04-15  Jason Merrill  <jason@redhat.com>
8192
8193	PR c++/52818
8194	* c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
8195	(C_STD_NAME): Distinguish between C++98 and C++11.
8196
81972012-04-11  Eric Botcazou  <ebotcazou@adacore.com>
8198
8199	PR target/52624
8200	* c-common.h (uint16_type_node): Rename into...
8201	(c_uint16_type_node): ...this.
8202	* c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
8203	* c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
8204
82052012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8206
8207	* c-common.c (warn_if_unused_value): Move definition to here.
8208	* c-common.h (warn_if_unused_value): Move declaration to here.
8209
82102012-03-23  William Bader  <williambader@hotmail.com>
8211
8212	* c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
8213
82142012-03-20  Jason Merrill  <jason@redhat.com>
8215
8216	* c-common.h (enum cxx_dialect): Add cxx1y.
8217	* c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
8218	test.
8219	* c-cppbuiltin.c (c_cpp_builtins): Likewise.
8220	* c-opts.c (c_common_post_options): Likewise.
8221	(set_std_cxx1y): New.
8222	(c_common_handle_option): Call it.
8223	* c.opt (-std=c++1y, -std=gnu++1y): New flags.
8224
82252012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
8226
8227	PR c++/14710
8228	* c.opt ([Wuseless-cast]): Add.
8229
82302012-03-16  Richard Guenther  <rguenther@suse.de>
8231
8232	* c-pretty-print.c (pp_c_initializer_list): Adjust.
8233
82342012-03-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8235
8236	PR c++/44783
8237	* c.opt (ftemplate-backtrace-limit) Add.
8238
82392012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8240
8241	* c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
8242	handling.
8243	* c-pragma.c (handle_pragma_extern_prefix): Remove.
8244	(init_pragma): Don't register extern_prefix.
8245
82462012-03-12  Richard Guenther  <rguenther@suse.de>
8247
8248	* c-common.c (c_common_get_narrower): Use c_common_type_for_size.
8249	(builtin_type_for_size): Likewise.
8250
82512012-02-13  Jakub Jelinek  <jakub@redhat.com>
8252
8253	PR c++/52215
8254	* c-common.c (sync_resolve_params): Don't decide whether to convert
8255	or not based on TYPE_SIZE comparison, convert whenever arg_type
8256	is unsigned INTEGER_TYPE.
8257
82582012-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
8259
8260	PR c/52118
8261	* c.opt ([Wunused-local-typedefs]): Fix description.
8262
82632012-01-24  Mike Stump  <mikestump@comcast.net>
8264
8265	* c-common.c (c_common_type_for_mode): Match signed/unsigned types
8266	exactly.
8267
82682012-01-18  Richard Guenther  <rguenther@suse.de>
8269
8270	* c-opts.c (c_common_post_options): Reset LTO flags if
8271	we are about to generate a PCH.
8272
82732012-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
8274
8275	PR c++/51777
8276	* c-pretty-print.c (pp_c_integer_constant): For unsigned constants
8277	use pp_unsigned_wide_integer.
8278
82792012-01-10  Richard Guenther  <rguenther@suse.de>
8280
8281	PR middle-end/51806
8282	* c-opts.c (c_common_handle_option): Move -Werror handling
8283	to language independent code.
8284
82852012-01-05  Richard Guenther  <rguenther@suse.de>
8286
8287	PR middle-end/51764
8288	* c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
8289	from common.opt.
8290
82912011-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
8292
8293	PR c++/51316
8294	* c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
8295	of array types with an unknown bound.
8296
82972011-12-20  Joseph Myers  <joseph@codesourcery.com>
8298
8299	* c-common.c (flag_isoc99): Update comment to refer to C11.
8300	(flag_isoc1x): Change to flag_isoc11.
8301	* c-common.h (flag_isoc99): Update comment to refer to C11.
8302	(flag_isoc1x): Change to flag_isoc11.
8303	* c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
8304	C11.
8305	* c-opts.c (set_std_c1x): Change to set_std_c11.
8306	(c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
8307	Call set_std_c11.
8308	(set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
8309	(set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
8310	* c.opt (std=c1x): Change to std=c11.  Document as non-draft
8311	standard.
8312	(std=c1x, std=iso9899:2011): Add as aliases of std=c11.
8313	(std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
8314	(std=gnu1x): Make alias of std=gnu11.
8315
83162011-12-19  Jason Merrill  <jason@redhat.com>
8317
8318	PR c++/51228
8319	* c-common.c (handle_transparent_union_attribute): Check the first
8320	field if the type is complete.
8321
83222011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
8323
8324	PR libstdc++/51365
8325	* c-common.c (RID_IS_FINAL): Add.
8326	* c-common.h (RID_IS_FINAL): Add.
8327
83282011-11-30  Iain Sandoe  <iains@gcc.gnu.org>
8329
8330	* c.opt (fgnu-runtime): Provide full description.
8331	(fnext-runtime): Likewise.
8332	* c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
8333
83342011-11-28  Andrew MacLeod  <amacleod@redhat.com>
8335
8336	* c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
8337	predefines in one place.  Add LOCK_FREE predefines.
8338	(c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
8339	new func.
8340
83412011-11-24  Andrew MacLeod  <amacleod@redhat.com>
8342
8343	PR c/51256
8344	* c-common.c (get_atomic_generic_size): Check for various error
8345	conditions
8346	(resolve_overloaded_atomic_exchange,
8347	resolve_overloaded_atomic_compare_exchange,
8348	resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
8349	error_mark_node for error conditions.
8350
83512011-11-08  Richard Guenther  <rguenther@suse.de>
8352
8353	PR middle-end/51010
8354	c-family/
8355
83562011-11-07  Richard Henderson  <rth@redhat.com>
8357	    Aldy Hernandez  <aldyh@redhat.com>
8358	    Torvald Riegel  <triegel@redhat.com>
8359
8360	Merged from transactional-memory.
8361
8362	* c-common.c (handle_tm_wrap_attribute,
8363	handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
8364	(struct c_common_reswords): Added __transaction* keywords.
8365	(struct c_common_attribute_table): Added transaction* and tm_regparm
8366	attributes.
8367	* c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
8368	masks.
8369	(parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
8370	find_tm_attribute): Declare.
8371
83722011-11-07  Jason Merrill  <jason@redhat.com>
8373
8374	PR c++/35688
8375	* c-common.c, c-common.h: Revert yesterday's changes.
8376
83772011-11-06  Jason Merrill  <jason@redhat.com>
8378
8379	PR c++/35688
8380	* c-common.c (decl_has_visibility_attr): Split out from...
8381	(c_determine_visibility): ...here.
8382	* c-common.h: Declare it.
8383
83842011-11-06  Joseph Myers  <joseph@codesourcery.com>
8385
8386	* c-common.c (c_common_reswords): Add _Alignas and _Alignof.
8387	(c_sizeof_or_alignof_type): Diagnose alignof applied to a function
8388	type.
8389	(check_user_alignment): New.  Split out of
8390	handle_aligned_attribute.  Disallow integer constants with
8391	noninteger types.  Conditionally allow zero.
8392	(handle_aligned_attribute): Use check_user_alignment.
8393	* c-common.h (RID_ALIGNAS, check_user_alignment): New.
8394
83952011-11-06  Andrew MacLeod  <amacleod@redhat.com>
8396	    Richard Henderson  <rth@redhat.com>
8397
8398	Merged from cxx-mem-model.
8399
8400	* c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
8401	* c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
8402	parameters that are the same type size.
8403	(get_atomic_generic_size): New.  Find size of generic
8404	atomic function parameters and do typechecking.
8405	(add_atomic_size_parameter): New.  Insert size into parameter list.
8406	(resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
8407	either __atomic_exchange_n or external library call.
8408	(resolve_overloaded_atomic_compare_exchange): Restructure
8409	__atomic_compare_exchange to either _n variant or external library call.
8410	(resolve_overloaded_atomic_load): Restructure __atomic_load to either
8411	__atomic_load_n or an external library call.
8412	(resolve_overloaded_atomic_store): Restructure __atomic_store to either
8413	__atomic_store_n or an external library call.
8414	(resolve_overloaded_builtin): Handle new __atomic builtins.
8415
84162011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
8417
8418	PR c++/50608
8419	* c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
8420	(fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
8421	<INDIRECT_REF>: Return the argument.
8422	<ARRAY_REF>: Remove special code for negative offset.
8423	Call fold_build_pointer_plus instead of size_binop.
8424	(fold_offsetof): Remove STOP_REF argument and adjust.
8425	* c-common.h (fold_offsetof_1): Declare.
8426	(fold_offsetof): Remove STOP_REF argument.
8427
84282011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
8429
8430	PR c++/50810
8431	* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8432	of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8433	Wnarrowing for C++0x and C++98.
8434	* c.opt ([Wnarrowing]): Update.
8435
84362011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
8437
8438	PR c++/44277
8439	* c.opt: Add Wzero-as-null-pointer-constant.
8440
84412011-10-31  Jason Merrill  <jason@redhat.com>
8442
8443	* c.opt (-fdeduce-init-list): Off by default.
8444
8445	PR c++/50920
8446	* c-common.h (cxx_dialect): Add cxx11 and cxx03.
8447	* c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
8448	and -Wc++11-compat.
8449	* c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
8450
84512011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
8452
8453	PR c++/30066
8454	* c.opt (fvisibility-inlines-hidden): Description change.
8455
84562011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
8457
8458	Implement C++11 user-defined literals.
8459	* c-common.c (build_userdef_literal): New.
8460	* c-common.def: New tree code.
8461	* c-common.h (tree_userdef_literal): New tree struct and accessors.
8462	* c-lex.c (interpret_float): Add suffix parm.
8463	(c_lex_with_flags): Build literal tokens.
8464
84652011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
8466
8467	PR c++/50841
8468	Revert:
8469	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
8470
8471	PR c++/50810
8472	* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8473	of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8474	Wnarrowing for C++0x and C++98.
8475	* c.opt ([Wnarrowing]): Update.
8476
84772011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
8478
8479	PR c++/50810
8480	* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8481	of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8482	Wnarrowing for C++0x and C++98.
8483	* c.opt ([Wnarrowing]): Update.
8484
84852011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
8486
8487	PR c++/45385
8488	* c-common.c (conversion_warning): Remove code looking for
8489	artificial operands.
8490
84912011-10-18  Dodji Seketeli  <dodji@redhat.com>
8492
8493	PR bootstrap/50760
8494	* c-lex.c (fe_file_change): Use LINEMAP_SYSP when
8495	!NO_IMPLICIT_EXTERN_C.
8496
84972011-10-17  Michael Spertus  <mike_spertus@symantec.com>
8498
8499	* c-common.c (c_common_reswords): Add __bases,
8500	__direct_bases.
8501	* c-common.h: Add RID_BASES and RID_DIRECT_BASES.
8502
85032011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
8504
8505	PR c++/50757
8506	* c.opt ([Wnonnull]): Add C++ and Objective-C++.
8507
85082011-10-15  Tom Tromey  <tromey@redhat.com>
8509	    Dodji Seketeli  <dodji@redhat.com>
8510
8511	* c.opt (fdebug-cpp): New option.
8512	* c-opts.c (c_common_handle_option): Handle the option.
8513	* c-ppoutput.c (maybe_print_line_1): New static function. Takes an
8514	output stream in parameter. Factorized from ...
8515	(maybe_print_line): ... this. Dump location debug information when
8516	-fdebug-cpp is in effect.
8517	(print_line_1): New static function. Takes an output stream in
8518	parameter. Factorized from ...
8519	(print_line): ... here. Dump location information when -fdebug-cpp
8520	is in effect.
8521	(scan_translation_unit): Dump location information when
8522	-fdebug-cpp is in effect.
8523
85242011-10-15  Tom Tromey  <tromey@redhat.com>
8525	    Dodji Seketeli  <dodji@redhat.com>
8526
8527	* c.opt (ftrack-macro-expansion): New option. Handle it with and
8528	without argument.
8529	* c-opts.c (c_common_handle_option)<case
8530	OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
8531	cases. Handle -ftrack-macro-expansion with and without argument.
8532
85332011-10-15  Tom Tromey  <tromey@redhat.com>
8534	    Dodji Seketeli  <dodji@redhat.com>
8535
8536	* c-ppoutput.c (scan_translation_unit, maybe_print_line)
8537	(print_line, cb_define, do_line_change): Adjust to avoid touching
8538	the internals of struct line_map.  Use the public API instead.
8539	* c-pch.c (c_common_read_pch): Likewise.
8540	* c-lex.c (fe_file_change): Likewise.
8541
85422011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
8543
8544	PR c++/17212
8545	* c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
8546
85472011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
8548
8549	PR c++/33067
8550	* c-pretty-print.c (pp_c_floating_constant): Output
8551	max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
8552
85532011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
8554
8555	* c-common.c (def_builtin_1): Delete old interface with two
8556	parallel arrays to hold standard builtin declarations, and replace
8557	it with a function based interface that can support creating
8558	builtins on the fly in the future.  Change all uses, and poison
8559	the old	names.  Make sure 0 is not a legitimate builtin index.
8560	* c-omp.c (c_finish_omp_barrier): Ditto.
8561	(c_finish_omp_taskwait): Ditto.
8562	(c_finish_omp_flush): Ditto.
8563
85642011-10-11  Tristan Gingold  <gingold@adacore.com>
8565
8566	* c.opt: (fallow-parameterless-variadic-functions): New.
8567
85682011-09-08  Dodji Seketeli  <dodji@redhat.com>
8569
8570	PR c++/33255 - Support -Wunused-local-typedefs warning
8571	* c-common.h (struct c_language_function::local_typedefs): New
8572	field.
8573	(record_locally_defined_typedef, maybe_record_typedef_use)
8574	(maybe_warn_unused_local_typedefs): Declare new functions.
8575	* c-common.c (record_locally_defined_typedef)
8576	(maybe_record_typedef_use)
8577	(maybe_warn_unused_local_typedefs): Define new functions.
8578	* c.opt: Declare new -Wunused-local-typedefs flag.
8579
85802011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
8581
8582	PR middle-end/50266
8583	* c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
8584	computations.
8585
85862011-09-05  Richard Guenther  <rguenther@suse.de>
8587
8588	* c-common.c (complete_array_type): Use ssize_int (-1) instead
8589	of integer_minus_one_node for empty array upper bounds.
8590
85912011-08-28  Dodji Seketeli  <dodji@redhat.com>
8592
8593	* c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
8594	it's the first time it's being called on this main TU.
8595
85962011-08-24  Richard Guenther  <rguenther@suse.de>
8597
8598	PR c/49396
8599	* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
8600
86012011-08-22  Gabriel Charette  <gchare@google.com>
8602
8603	* c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
8604	defined in cpp_init_builtins and c_cpp_builtins.
8605
86062011-08-19  Joseph Myers  <joseph@codesourcery.com>
8607
8608	* c-common.c (c_common_reswords): Add __builtin_complex.
8609	* c-common.h (RID_BUILTIN_COMPLEX): New.
8610
86112011-08-18  Joseph Myers  <joseph@codesourcery.com>
8612
8613	* c-common.c (c_common_reswords): Add _Noreturn.
8614	(keyword_is_function_specifier): Handle RID_NORETURN.
8615	* c-common.h (RID_NORETURN): New.
8616
86172011-08-10  Artjoms Sinkarovs  <artyom.shinakroff@gmail.com>
8618
8619	* c-common.c (unsafe_conversion_p): New function. Check if it is
8620	unsafe to convert an expression to the type.
8621	(conversion_warning): Adjust, use unsafe_conversion_p.
8622	* c-common.h (unsafe_conversion_p): New function declaration.
8623
86242011-08-02  Jakub Jelinek  <jakub@redhat.com>
8625
8626	* c-common.h (c_finish_omp_atomic): Adjust prototype.
8627	(c_finish_omp_taskyield): New prototype.
8628	* c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
8629	arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
8630	OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
8631	or RHS1 have side-effects, evaluate those too in the right spot,
8632	if it is a decl and LHS is also a decl, error out if they
8633	aren't the same.
8634	(c_finish_omp_taskyield): New function.
8635	* c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
8636	* c-pragma.c (omp_pragmas): Add taskyield.
8637	* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
8638	(enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
8639	PRAGMA_OMP_CLAUSE_MERGEABLE.
8640
86412011-07-25  Dodji Seketeli  <dodji@redhat.com>
8642
8643	* c-common.h (set_underlying_type): Remove parm name from
8644	declaration.
8645
86462011-07-25  Romain Geissler  <romain.geissler@gmail.com>
8647
8648	* c-pretty-print.h: Search c-common.h in c-family.
8649
86502011-07-22  Jason Merrill  <jason@redhat.com>
8651
8652	PR c++/49793
8653	* c.opt (Wnarrowing): New.
8654
8655	PR c++/30112
8656	* c-common.h: Declare c_linkage_bindings.
8657	* c-pragma.c (handle_pragma_redefine_extname): Use it.
8658
8659	PR c++/49813
8660	* c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
8661	* c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
8662	as flag_isoc99 for 'restrict'.
8663	(pp_c_specifier_qualifier_list): Likewise for _Complex.
8664
86652011-07-21  Ian Lance Taylor  <iant@google.com>
8666
8667	PR middle-end/49705
8668	* c-common.c (c_disable_warnings): New static function.
8669	(c_enable_warnings): New static function.
8670	(c_fully_fold_internal): Change local unused_p to bool.  Call
8671	c_disable_warnings and c_enable_warnings rather than change
8672	c_inhibit_evaluation_warnings.
8673
86742011-07-20  Jason Merrill  <jason@redhat.com>
8675
8676	PR c++/6709 (DR 743)
8677	PR c++/42603 (DR 950)
8678	* c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
8679	(CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
8680	(CPP_DECLTYPE): New.
8681	* c-common.c (c_parse_error): Handle CPP_DECLTYPE.
8682
86832011-07-19  Richard Guenther  <rguenther@suse.de>
8684
8685	* c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
8686	* c-omp.c (c_finish_omp_for): Likewise.
8687
86882011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
8689
8690	* c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
8691	body on the next line.
8692
86932011-07-08  Jason Merrill  <jason@redhat.com>
8694
8695	PR c++/45437
8696	* c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
8697
8698	PR c++/49673
8699	* c-common.c (c_apply_type_quals_to_decl): Don't check
8700	TYPE_NEEDS_CONSTRUCTING.
8701
87022011-07-06  Richard Guenther  <rguenther@suse.de>
8703
8704	* c-common.c (c_common_nodes_and_builtins):
8705	Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
8706
87072011-07-05  Richard Guenther  <rguenther@suse.de>
8708
8709	* c-common.c (c_common_nodes_and_builtins): Build all common
8710	tree nodes first.
8711
87122011-06-27  Jakub Jelinek  <jakub@redhat.com>
8713
8714	* c-common.h (c_tree_chain_next): New static inline function.
8715
8716	* c-common.c (check_builtin_function_arguments): Handle
8717	BUILT_IN_ASSUME_ALIGNED.
8718
87192011-06-21  Andrew MacLeod  <amacleod@redhat.com>
8720
8721	* c-common.c: Add sync_ or SYNC__ to builtin names.
8722	* c-omp.c: Add sync_ or SYNC__ to builtin names.
8723
87242011-06-20  Pierre Vittet  <piervit@pvittet.com>
8725
8726	* c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
8727	handler.
8728	(gen_pragma_handler): New union.
8729	(internal_pragma_handler): New type.
8730	(c_register_pragma_with_data)
8731	(c_register_pragma_with_expansion_and_data): New functions.
8732
8733	* c-pragma.c (registered_pragmas, c_register_pragma_1)
8734	(c_register_pragma, c_register_pragma_with_expansion)
8735	(c_invoke_pragma_handler): Changed to work with
8736	internal_pragma_handler.
8737	(c_register_pragma_with_data)
8738	(c_register_pragma_with_expansion_and_data): New functions.
8739
87402011-06-14  Joseph Myers  <joseph@codesourcery.com>
8741
8742	* c-common.c: Include common/common-target.h.
8743	(handle_section_attribute): Use
8744	targetm_common.have_named_sections.
8745	* c-cppbuiltin.c: Include common/common-target.h.
8746	(c_cpp_builtins): Use targetm_common.except_unwind_info.
8747
87482011-06-10  Richard Guenther  <rguenther@suse.de>
8749
8750	* c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
8751	to print a IDENTIFIER_NODE.
8752
87532011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8754	    Joseph Myers  <joseph@codesourcery.com>
8755
8756	* c.opt (fbuilding-libgcc): New option.
8757	* c-cppbuiltin.c (c_cpp_builtins): Define
8758	__LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
8759
87602011-06-07  Jason Merrill  <jason@redhat.com>
8761
8762	* c-common.c (max_tinst_depth): Lower default to 900.
8763
8764	* c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
8765
87662011-06-07  Richard Guenther  <rguenther@suse.de>
8767
8768	* c-common.c (c_common_nodes_and_builtins): Do not set
8769	size_type_node or call set_sizetype.
8770
87712011-06-07  Dodji Seketeli  <dodji@redhat.com>
8772
8773	PR debug/49130
8774	* c-pretty-print.c (pp_c_integer_constant): Consider the canonical
8775	type when using pointer comparison to compare types.
8776
87772011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
8778
8779	* c.opt: Add -Wdelete-non-virtual-dtor.
8780	* c-opts.c (c_common_handle_option): Include it in -Wall.
8781
87822011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
8783
8784	PR bootstrap/49190
8785
8786	Revert:
8787	2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
8788
8789	* c-common.h (struct c_common_identifier): Inherit from tree_typed,
8790	not tree_common.
8791
87922011-05-27  Jakub Jelinek  <jakub@redhat.com>
8793
8794	PR c++/49165
8795	* c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
8796	C++ don't call c_common_truthvalue_conversion on void type arms.
8797
87982011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
8799
8800	* c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
8801	(stmt_list_stack): Define.
8802	(cur_stmt_list): Adjust for new type of x_cur_stmt_list.
8803	* c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
8804
88052011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
8806
8807	* c-common.c (warning_candidate_p): Check for BLOCKs.
8808
88092011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
8810
8811	* c-common.h (struct c_common_identifier): Inherit from tree_typed,
8812	not tree_common.
8813
88142011-05-25  Jakub Jelinek  <jakub@redhat.com>
8815
8816	* c-common.c (def_fn_type): Remove extra va_end.
8817
88182011-05-23  Jason Merrill  <jason@redhat.com>
8819
8820	PR c++/48106
8821	* c-common.c (c_common_get_narrower): New.
8822	(shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
8823
88242011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
8825
8826	* c-common.h (check_function_arguments): Tweak prototype of
8827	check_function_arguments.
8828	* c-common.c (check_function_arguments): Likewise.  Adjust
8829	calls to check_function_nonnull, check_function_format, and
8830	check_function_sentinel.
8831	(check_function_sentinel): Take a FUNCTION_TYPE rather than
8832	separate attributes and typelist arguments.  Use
8833	FOREACH_FUNCTION_ARGS to iterate over argument types.
8834
88352011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
8836
8837	* c-common.c (c_common_reswords): Reorder.
8838	* c-common.h (rid): Likewise.
8839
88402011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
8841
8842	* c-common.c (def_fn_type): Don't call build_function_type, call
8843	build_function_type_array or build_varargs_function_type_array
8844	instead.
8845	(c_common_nodes_and_builtins): Likewise.
8846
88472011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
8848
8849	* c-common.c (c_add_case_label): Omit the loc argument to
8850	build_case_label.
8851	* c-common.h (build_case_label): Remove.
8852	* c-semantics.c (build_case_label): Remove.
8853
88542011-05-05  Joseph Myers  <joseph@codesourcery.com>
8855
8856	* c-objc.h (objc_start_method_definition): Update prototype.
8857	* stub-objc.c (objc_start_method_definition): Add extra parameter.
8858
88592011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
8860
8861	* c-common.c (check_main_parameter_types): Reindent.  Don't use
8862	TYPE_ARG_TYPES directly.
8863	(handle_nonnull_attribute): Likewise.
8864	(sync_resolve_params): Likewise.
8865	* c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
8866	to check_format_string.
8867	(handle_format_attribute): Likewise.
8868	(check_format_string): Take a function type to examine instead of
8869	a type list.  Use a function_arg_iterator to step through argument
8870	types.
8871
88722011-05-04  Richard Guenther  <rguenther@suse.de>
8873
8874	* c-common.c (fix_string_type): Use size_int for index type bounds.
8875	(start_fname_decls): Do not pass NULL to build_int_cst.
8876	(c_init_attributes): Likewise.
8877	* c-lex.c (c_lex_with_flags): Likewise.
8878
88792011-04-27  Jason Merrill  <jason@redhat.com>
8880
8881	* c-common.c (make_tree_vector_from_list): New.
8882	* c-common.h: Declare it.
8883
88842011-04-26  Richard Guenther  <rguenther@suse.de>
8885
8886	PR preprocessor/48248
8887	* c-ppoutput.c (maybe_print_line): Always optimize newlines
8888	for output size with -P.
8889
88902011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
8891
8892	* c-common.c (struct c_common_resword): Add __underlying_type.
8893	* c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
8894
88952011-04-20  Jim Meyering  <meyering@redhat.com>
8896
8897	* c-format.c (init_dollar_format_checking): Remove useless
8898	if-before-free.
8899
89002011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
8901
8902	* c-objc.h (objc_get_interface_ivars): Removed.
8903	(objc_detect_field_duplicates): New.
8904	* stub-objc.c: Likewise.
8905
89062011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
8907
8908	* stub-objc.c (objc_declare_protocols): Renamed to
8909	objc_declare_protocol.
8910	* c-objc.h: Likewise.
8911
89122011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
8913
8914	* stub-objc.c (objc_declare_class): Updated argument name.
8915
89162011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
8917
8918	* c-common.h (c_common_init_ts): Declare.
8919	* c-common.c (c_common_init_ts): Define.
8920
89212011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
8922
8923	* c-objc.h (objc_build_message_expr): Updated prototype.
8924	* stub-objc.c (objc_build_message_expr): Likewise.
8925
89262011-04-12  Martin Jambor  <mjambor@suse.cz>
8927
8928	* c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
8929	of cgraph_node.
8930
89312011-04-11  Richard Guenther  <rguenther@suse.de>
8932
8933	* c-common.c (complete_array_type): Build a range type of
8934	proper type.
8935
89362011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
8937
8938	* c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
8939	(handle_type_generic_attribute): Likewise.
8940
89412011-04-07  Jason Merrill  <jason@redhat.com>
8942
8943	PR c++/48450
8944	* c-common.c (c_common_truthvalue_conversion): Don't ignore
8945	conversion from C++0x scoped enum.
8946
89472011-04-06  Joseph Myers  <joseph@codesourcery.com>
8948
8949	* c-target-def.h: New file.
8950	* c-target.def: New file.
8951	* c-target.h: New file.
8952	* c-common.c (targetcm): Don't define here.
8953	* c-common.h (default_handle_c_option): Declare.
8954	* c-format.c: Include c-target.h instead of target.h.
8955	* c-opts.c: Include c-target.h instead of target.h.  Explicitly
8956	include tm.h.
8957	(default_handle_c_option): Move from targhooks.c.
8958
89592011-03-29  Jakub Jelinek  <jakub@redhat.com>
8960
8961	PR preprocessor/48248
8962	* c-ppoutput.c (print): Add src_file field.
8963	(init_pp_output): Initialize it.
8964	(maybe_print_line): Don't optimize by adding up to 8 newlines
8965	if map->to_file and print.src_file are different file.
8966	(print_line): Update print.src_file.
8967
89682011-03-25  Kai Tietz  <ktietz@redhat.com>
8969
8970	* c-ada-spec.c (compare_comment): Use filename_cmp
8971	instead of strcmp for filename.
8972
89732011-03-25  Jeff Law  <law@redhat.com>
8974
8975	* c-common.c (def_fn_type): Add missing va_end.
8976
89772011-03-25  Jason Merrill  <jason@redhat.com>
8978
8979	* c.opt: Add -std=c++03.
8980
89812011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
8982
8983	* c-ada-spec.c (dump_ada_template): Skip non-class instances.
8984
89852011-03-17  Kai Tietz  <ktietz@redhat.com>
8986
8987	PR target/12171
8988	* c-pretty-print.c (pp_c_specifier_qualifier_list):
8989	Display allowed attributes for function pointer types.
8990	(pp_c_attributes_display): New function to display
8991	attributes having affects_type_identity flag set to true.
8992	* c-pretty-print.h (pp_c_attributes_display): New prototype.
8993
8994	* c-common.c (c_common_attribute_table):
8995	Add new element.
8996	(c_common_format_attribute_table): Likewise.
8997
89982011-03-18  Jason Merrill  <jason@redhat.com>
8999
9000	* c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
9001	* c-common.h: Don't declare it here.
9002	* c-common.c: Or define it here.
9003	* c-opts.c (c_common_handle_option): Or set it here.
9004
9005	PR c++/35315
9006	* c-common.c (handle_transparent_union_attribute): Don't
9007	make a duplicate type in C++.
9008
90092011-03-15  Jason Merrill  <jason@redhat.com>
9010
9011	* c-common.c (max_constexpr_depth): New.
9012	* c-common.h: Declare it.
9013	* c-opts.c (c_common_handle_option): Set it.
9014	* c.opt (fconstexpr-depth): New option.
9015
90162011-03-11  Jason Merrill  <jason@redhat.com>
9017
9018	* c-common.c (attribute_takes_identifier_p): Add missing const.
9019
9020	PR c++/46803
9021	* c-common.c (attribute_takes_identifier_p): Assume that an
9022	unknown attribute takes an identifier.
9023
90242011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
9025
9026	PR c/47786
9027	* c-common.c (c_type_hash): Call list_length instead of iterating
9028	through DECL_CHAIN.  Rename 'i' to 'n_elements'.
9029
90302011-02-19  Jakub Jelinek  <jakub@redhat.com>
9031
9032	PR c/47809
9033	* c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
9034
90352011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
9036
9037	* c.opt (fobjc-abi-version=) New.
9038	(fobjc-nilcheck): New.
9039
90402011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
9041
9042	PR c++/46890
9043	* c-common.h (keyword_is_decl_specifier): Declare.
9044	* c-common.c (keyword_is_decl_specifier): Define.
9045	(keyword_is_function_specifier): New function.
9046
90472011-01-26  Jakub Jelinek  <jakub@redhat.com>
9048
9049	PR c/47473
9050	* c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
9051	EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
9052	REAL_TYPE.
9053
90542011-01-26  Arnaud Charlet  <charlet@adacore.com>
9055
9056	* c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
9057
90582011-01-26  Jakub Jelinek  <jakub@redhat.com>
9059
9060	PR pch/47430
9061	* c-opts.c (c_common_post_options): Call c_common_no_more_pch
9062	after init_c_lex if pch_file is set.
9063
90642011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
9065
9066	PR c++/43601
9067	* c.opt (-fkeep-inline-dllexport): New switch.
9068
90692011-01-12  Richard Guenther  <rguenther@suse.de>
9070
9071	PR middle-end/32511
9072	* c-common.c (handle_weak_attribute): Warn instead of error
9073	on declaring an inline function weak.
9074
90752011-01-05  Tom Tromey  <tromey@redhat.com>
9076
9077	* c-common.h (lvalue_error): Update.
9078	* c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
9079	not error.
9080
90812010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
9082
9083	PR objc/47075
9084	* c-objc.h (objc_finish_message_expr): Added argument to
9085	prototype.
9086
90872010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
9088
9089	* c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
9090	Use prototype_p.
9091
90922010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
9093
9094	* c-objc.h (objc_maybe_warn_exceptions): New.
9095	* stub-objc.c (objc_maybe_warn_exceptions): New.
9096
90972010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
9098
9099	* c-common.h (readonly_error): Declare.
9100	* c-common.c (readonly_error): Define.
9101
91022010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
9103
9104	* c-common.h (invalid_indirection_error): Declare.
9105	* c-common.c (invalid_indirection_error): Define.
9106
91072010-12-03  Richard Guenther  <rguenther@suse.de>
9108
9109	PR c/46745
9110	* c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
9111	(pp_c_unary_expression): Likewise.
9112	(pp_c_expression): Likewise.
9113
91142010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
9115
9116	* c-common.h (objc_finish_function): New.
9117	(objc_non_volatilized_type): Removed.
9118	(objc_type_quals_match): Removed.
9119	* stub-objc.c (objc_finish_function): New.
9120	(objc_non_volatilized_type): Removed.
9121	(objc_type_quals_match): Removed.
9122
91232010-11-30  Joseph Myers  <joseph@codesourcery.com>
9124
9125	* c-common.h (parse_optimize_options): Declare.
9126	* c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
9127	c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
9128
91292010-11-29  Joseph Myers  <joseph@codesourcery.com>
9130
9131	* c-opts.c (check_deps_environment_vars): Use getenv instead of
9132	GET_ENVIRONMENT.
9133	* c-pch.c (O_BINARY): Don't define here.
9134	* c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
9135
91362010-11-25  Joseph Myers  <joseph@codesourcery.com>
9137
9138	* c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
9139	targetm.except_unwind_info.
9140
91412010-11-23  Joseph Myers  <joseph@codesourcery.com>
9142
9143	* c-opts.c (c_common_handle_option): Pass location to
9144	set_struct_debug_option.
9145
91462010-11-23  Joseph Myers  <joseph@codesourcery.com>
9147
9148	* c-common.c (visibility_options): Move from ../opts.c.
9149	* c-common.h (struct visibility_flags, visibility_options):
9150	Declare here.
9151	* c-opts.c (finish_options): Rename to c_finish_options.
9152	(c_common_init): Update call to finish_options.
9153
91542010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
9155
9156	PR objc/34033
9157	* c-lex.c (lex_string): Check that each string in an Objective-C
9158	string concat sequence starts with either one or zero '@', and
9159	that there are no spurious '@' signs at the end.
9160
91612010-11-20  Joseph Myers  <joseph@codesourcery.com>
9162
9163	* c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
9164	HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
9165	HANDLE_PRAGMA_VISIBILITY.
9166	* c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
9167	HANDLE_PRAGMA_VISIBILITY): Don't define.
9168	(HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
9169
91702010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
9171
9172	PR c++/16189
9173	PR c++/36888
9174	PR c++/45331
9175	* c-common.h (keyword_begins_type_specifier): Declare.
9176	(keyword_is_storage_class_specifier): Declare.
9177	(keyword_is_type_qualifier): Declare.
9178	* c-common.c (keyword_begins_type_specifier): New function.
9179	(keyword_is_storage_class_specifier): New function.
9180	(keyword_is_type_qualifier): Declare.
9181
91822010-11-19  Joseph Myers  <joseph@codesourcery.com>
9183
9184	PR c/46547
9185	* c-common.c (in_late_binary_op): Define.
9186	(c_common_truthvalue_conversion): Check in_late_binary_op before
9187	calling c_save_expr.
9188	* c-common.h (in_late_binary_op): Declare.
9189
91902010-11-19  Joseph Myers  <joseph@codesourcery.com>
9191
9192	* c-opts.c (c_common_handle_option): Update calls to
9193	set_struct_debug_option.
9194
91952010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
9196
9197	* c-common.h (objc_declare_protocols): Added additional argument.
9198	* stub-objc.c (objc_declare_protocol): Same change.
9199
92002010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
9201
9202	PR c/33193
9203	* c-common.h (build_real_imag_expr): Declare.
9204	* c-semantics.c (build_real_imag_expr): Define.
9205
92062010-11-17  Joseph Myers  <joseph@codesourcery.com>
9207
9208	* c-opts.c (c_common_parse_file): Take no arguments.
9209	* c-common.h (c_common_parse_file): Update prototype.
9210
92112010-11-16  Jakub Jelinek  <jakub@redhat.com>
9212
9213	PR c++/46401
9214	* c-common.c (warning_candidate_p): Don't track non-const calls
9215	or STRING_CSTs.
9216
92172010-11-15  Ian Lance Taylor  <iant@google.com>
9218
9219	* c-lex.c (init_c_lex): Set macro debug callbacks if
9220	flag_dump_go_spec is set.
9221
92222010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
9223
9224	* c-common.h (objc_build_incr_expr_for_property_ref): New.
9225	* stub-objc.c (objc_build_incr_expr_for_property_ref): New.
9226
92272010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
9228
9229	PR preprocessor/45038
9230	* c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
9231	dialects.
9232
92332010-11-12  Joseph Myers  <joseph@codesourcery.com>
9234
9235	* c-common.h (c_family_lang_mask): Declare.
9236	* c-opts.c (c_family_lang_mask): Make extern.
9237	* c-pragma.c (handle_pragma_diagnostic): Use
9238	control_warning_option.
9239
92402010-11-12  Joseph Myers  <joseph@codesourcery.com>
9241
9242	* c-common.c (parse_optimize_options): Update call to
9243	decode_options.
9244	* c-common.h (c_common_handle_option): Update prototype.
9245	* c-opts.c (c_common_handle_option): Take location_t parameter and
9246	pass it to other functions.
9247
92482010-11-11  Joseph Myers  <joseph@codesourcery.com>
9249
9250	* c-opts.c (warning_as_error_callback): Remove.
9251	(c_common_initialize_diagnostics): Don't call
9252	register_warning_as_error_callback.
9253	(c_common_handle_option): Handle -Werror=normalized= here.
9254
92552010-11-10  Joseph Myers  <joseph@codesourcery.com>
9256
9257	* c-common.c (handle_mode_attribute): Use %' and word "signedness"
9258	in diagnostic.
9259	* c-opts.c (c_common_parse_file): Start diagnostics with lowercase
9260	letter.
9261	* c-pragma.c (handle_pragma_target, handle_pragma_optimize):
9262	Remove trailing '.' from diagnostics.
9263	* c.opt (Wwrite-strings_: Avoid '`' in help text.
9264
92652010-11-10  Joseph Myers  <joseph@codesourcery.com>
9266
9267	* c-common.c (parse_optimize_options): Pass global_dc to
9268	decode_options.
9269	* c-opts.c (c_common_handle_option): Pass &global_options to
9270	set_Wstrict_aliasing.
9271	* c.opt (v): Don't mark Common or document here.
9272
92732010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
9274
9275	PR target/44981
9276	* c-format.c (format_type): New type gcc_objc_string_format_type.
9277	(valid_stringptr_type_p): New.
9278	(handle_format_arg_attribute): Use valid_stringptr_type_p ().
9279	(check_format_string): Pass expected type, use
9280	valid_stringptr_type_p (), check that the format string types are
9281	consistent with the format specification.
9282	(decode_format_attr): Warn if NSString is used outside objective-c.
9283	(format_types_orig): Add NSString.
9284	(format_name): New.
9285	(format_flags): New.
9286	(check_format_arg): Handle format strings requiring an external parser.
9287	first_target_format_type: New variable.
9288	(handle_format_attribute): Set up first_target_format_type, pass the
9289	expected format arg string type to check_format_string().
9290	* c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
9291	* stub-objc.c (objc_string_ref_type_p): New.
9292	(objc_check_format_arg): New.
9293
92942010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
9295
9296	Fixed using the Objective-C 2.0 dot-syntax with class names.
9297	* c-common.h (objc_build_class_component_ref): New.
9298	* stub-objc.c (objc_build_class_component_ref): New.
9299
93002010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
9301
9302	* c.opt (Wproperty-assign-default): New option.
9303
93042010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
9305
9306	Implemented -fobjc-std=objc1 flag.
9307	* c.opt (fobjc-std=objc1): New option.
9308
93092010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
9310
9311	Implemented format and noreturn attributes for Objective-C methods.
9312	* c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
9313	attribute for Objective-C methods.
9314
93152010-10-31  Jason Merrill  <jason@redhat.com>
9316
9317	* c-common.c (conversion_warning, warn_for_collisions_1): Use
9318	EXPR_LOC_OR_HERE.
9319
93202010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
9321
9322	Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
9323	* c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
9324	(objc_add_property_declaration): Removed arguments for copies and
9325	ivar.
9326	(objc_build_getter_call): Renamed to
9327	objc_maybe_build_component_ref.
9328	(objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
9329	(objc_is_property_ref): New.
9330	* c-common.c (c_common_reswords): Removed copies and ivar.
9331	* stub-objc.c (objc_add_property_declaration): Removed arguments
9332	for copies and ivar.
9333	(objc_build_getter_call): Renamed to
9334	objc_maybe_build_component_ref.
9335	(objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
9336	(objc_is_property_ref): New.
9337
93382010-10-29  Arnaud Charlet  <charlet@adacore.com>
9339	    Matthew Gingell  <gingell@adacore.com>
9340
9341	* c-ada-spec.c (separate_class_package): New function.
9342	(pp_ada_tree_identifier): Prefix references to C++ classes with the
9343	name of their enclosing package.
9344	(print_ada_declaration): Use separate_class_package.
9345
93462010-10-27  Jason Merrill  <jason@redhat.com>
9347
9348	* c-common.c (c_common_reswords): Add __is_literal_type.
9349	* c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
9350
9351	* c-common.c (check_case_value): Remove special C++ code.
9352
93532010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
9354
9355	* c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
9356	RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
9357	and RID_LAST_PATTR.
9358	(objc_add_property_declaration): Added additional arguments.
9359	(objc_property_attribute_kind): Removed.
9360	(objc_set_property_attr): Removed.
9361	* c-common.c (c_common_reswords): Added readwrite, assign, retain,
9362	copy and nonatomic.
9363	* stub-objc.c (objc_add_property_declaration): Added additional
9364	arguments.
9365	(objc_set_property_attr): Removed.
9366
93672010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
9368
9369	* c-common.h (objc_add_property_variable): Renamed to
9370	objc_add_property_declaration.  Added location argument.
9371	* stub-objc.c (objc_add_property_variable): Same change.
9372
93732010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
9374
9375	* c-common.h (objc_maybe_printable_name): New.
9376	* stub-objc.c (objc_maybe_printable_name): New.
9377
93782010-10-22  Artjoms Sinkarovs  <artyom.shinakroff@gmail.com>
9379	    Andrew Pinski  <pinskia@gmail.com>
9380
9381	* c-common.h (c_common_mark_addressable_vec): Declare.
9382	* c-common.c (c_common_mark_addressable_vec): New function.
9383
93842010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
9385
9386	* c-common.h (objc_set_method_type): Removed.
9387	(objc_add_method_declaration): Added boolean argument.
9388	(objc_start_method_definition): Same change.
9389	(objc_build_method_signature): Same change.
9390	* stub-objc.c (objc_set_method_type): Removed.
9391	(objc_add_method_declaration): Added boolean argument.
9392	(objc_start_method_definition): Same change.
9393	(objc_build_method_signature): Same change.
9394
93952010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
9396
9397	* c-common.h (finish_file): Removed.
9398	(objc_write_global_declarations): New.
9399	* c-opts.c (c_common_parse_file): Do not call finish_file.
9400	* stub-objc.c (objc_write_global_declarations): New.
9401
94022010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
9403
9404	Implemented parsing @synthesize and @dynamic for
9405	Objective-C/Objective-C++.
9406	* c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
9407	(objc_add_synthesize_declaration): New.
9408	(objc_add_dynamic_declaration): New.
9409	* c-common.c (c_common_reswords): Add synthesize and dynamic.
9410	* stub-objc.c (objc_add_synthesize_declaration): New.
9411	(objc_add_dynamic_declaration): New.
9412
94132010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
9414
9415	PR target/46041
9416	* c-cppbuiltin.c (mode_has_fma): Move function here from
9417	builtins.c.  Don't use the fma optab, instead just use the
9418	HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
9419	using -save-temps.
9420
94212010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
9422
9423	Merge from 'apple/trunk' branch on FSF servers.
9424
9425	2005-11-08  Fariborz Jahanian  <fjahanian@apple.com>
9426
9427	Radar 4330422
9428	* c-common.h (objc_non_volatilized_type): New declaration
9429	* stub-objc.c (objc_non_volatilized_type): New stub.
9430
94312010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
9432
9433	Merge from 'apple/trunk' branch on FSF servers.
9434
9435	2006-03-27 Fariborz Jahanian  <fjahanian@apple.com>
9436
9437	Radar 4133425
9438	* c-common.h (objc_diagnose_private_ivar): New decl.
9439	* stub-objc.c (objc_diagnose_private_ivar): New stub.
9440
94412010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
9442
9443	* c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
9444	* c-common.h (enum rid): Add RID_AT_PACKAGE.
9445	(objc_ivar_visibility_kind): New enum.
9446	(objc_set_visibility): Adjust prototype to use visibility enum.
9447	* stub-objc.c (objc_set_visibility): Adjust stub to use
9448	visibility enum.
9449
94502010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
9451
9452	* c-cppbuiltin.c (builtin_define_float_constants): Emit
9453	__FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
9454	has the appropriate fma builtins.
9455	(c_cpp_builtins): Adjust call to builtin_define_float_constants.
9456
94572010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
9458
9459	merge from FSF apple 'trunk' branch.
9460	2006 Fariborz Jahanian  <fjahanian@apple.com>
9461
9462	Radars 4436866, 4505126, 4506903, 4517826
9463	* c-common.c (c_common_resword): Define @property and its attributes.
9464	* c-common.h: Define property attribute enum entries.
9465	(OBJC_IS_PATTR_KEYWORD): New.
9466	(objc_property_attribute_kind): New enum.
9467	Declare objc_set_property_attr (), objc_add_property_variable (),
9468	objc_build_getter_call () and objc_build_setter_call ().
9469	* stub-objc.c (objc_set_property_attr): New stub.
9470	(objc_add_property_variable): Likewise.
9471	(objc_build_getter_call): Likewise.
9472	(objc_build_setter_call) Likewise.
9473
94742010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
9475
9476	merge from FSF apple 'trunk' branch.
9477	2006-04-26 Fariborz Jahanian  <fjahanian@apple.com>
9478
9479	Radar 3803157 (method attributes)
9480	* c-common.c (handle_deprecated_attribute): Recognize
9481	objc methods as valid declarations.
9482	* c-common.h: Declare objc_method_decl ().
9483	* stub-objc.c (objc_method_decl): New stub.
9484
94852010-10-08  Joseph Myers  <joseph@codesourcery.com>
9486
9487	* c-common.c (parse_optimize_options): Call
9488	decode_cmdline_options_to_array_default_mask before
9489	decode_options.  Update arguments to decode_options.
9490	* c-common.h (c_common_init_options_struct): Declare.
9491	* c-opts.c (c_common_init_options_struct): New.  Split out from
9492	c_common_init_options.
9493
94942010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
9495
9496	Implemented fast enumeration for Objective-C.
9497	* c-common.h (objc_finish_foreach_loop): New.
9498	* stub-objc.c (objc_finish_foreach_loop): New.
9499
95002010-10-05  Joseph Myers  <joseph@codesourcery.com>
9501
9502	* c-common.h (struct diagnostic_context): Don't declare here.
9503	(c_common_initialize_diagnostics): Declare using
9504	diagnostic_context typedef.
9505	* c-opts.c (c_common_handle_option): Pass global_dc to
9506	handle_generated_option.
9507
95082010-10-04  Joseph Myers  <joseph@codesourcery.com>
9509
9510	* c-opts.c (c_common_handle_option): Pass &global_options_set to
9511	handle_generated_option.
9512
95132010-10-03  Ian Lance Taylor  <iant@google.com>
9514
9515	* c.opt (-fplan9-extensions): New option.
9516
95172010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
9518
9519	* c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
9520	Remove.
9521	(c_cpp_builtins): Call functions from cppbuiltin.c instead
9522	of duplicating code.
9523
95242010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
9525
9526	* c-common.c: Add two new entries for @optional
9527	and @required keywords.
9528
9529	merge from FSF 'apple/trunk' branch.
9530	2006-01-30  Fariborz Jahanian  <fjahanian@apple.com>
9531
9532	Radar 4386773
9533	* c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
9534	objective-c keywords.
9535	(objc_set_method_opt): New declaration.
9536	* stub-objc.c (objc_set_method_opt): New stub.
9537
95382010-09-30  Joseph Myers  <joseph@codesourcery.com>
9539
9540	* c-common.c (handle_optimize_attribute): Pass &global_options to
9541	cl_optimization_save and cl_optimization_restore.
9542	* c-opts.c (c_common_handle_option): Pass &global_options to
9543	handle_generated_option.
9544	* c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
9545	(handle_pragma_pop_options, handle_pragma_reset_options): Pass
9546	&global_options to cl_optimization_restore.
9547
95482010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
9549
9550	* c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
9551	Objective-C/Objective-C++ keywords.
9552
95532010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
9554
9555	Merge from 'apple/trunk' branch on FSF servers.
9556
9557	2005-10-04  Fariborz Jahanian  <fjahanian@apple.com>
9558
9559	Radar 4281748
9560	* c-common.h (objc_check_global_decl): New declaration.
9561	* stub-objc.c (objc_check_global_decl): New stub.
9562
95632010-09-29  Joseph Myers  <joseph@codesourcery.com>
9564
9565	* c.opt: Don't use VarExists.
9566
95672010-09-29  Joseph Myers  <joseph@codesourcery.com>
9568
9569	* c-common.c (c_cpp_error): Update names of diagnostic_context
9570	members.
9571	* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
9572	cl_optimization members.
9573	* c-opts.c (warning_as_error_callback, c_common_handle_option,
9574	sanitize_cpp_opts, finish_options): Update names of cpp_options
9575	members.
9576
95772010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
9578
9579	* c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
9580	(objc_is_reserved_word): Removed.
9581	* c-common.c: Updated comments.
9582	* c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
9583	objc_is_reserved_word.
9584	* stub-objc.c (objc_is_reserved_word): Removed.
9585
95862010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
9587
9588	* c-common.h (objc_add_method_declaration): Adjust prototype to
9589	include attributes.
9590	(objc_start_method_definition): Likewise.
9591	(objc_build_keyword_decl): Likewise.
9592	* stub-objc.c:(objc_add_method_declaration): Handle attributes.
9593	(objc_start_method_definition): Likewise.
9594	(objc_build_keyword_decl): Likewise.
9595
95962010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
9597
9598	* c-common.h (objc_start_class_interface): Adjust prototype.
9599	(objc_start_category_interface): Likewise.
9600	(objc_start_protocol): Likewise.
9601	* stub-objc.c (objc_start_protocol): Adjust for extra argument.
9602	(objc_start_class_interface): Likewise.
9603	(objc_start_category_interface): Likewise.
9604
96052010-09-27  Ian Lance Taylor  <iant@google.com>
9606
9607	* c-common.c (c_common_attribute_table): Add no_split_stack.
9608	(handle_no_split_stack_attribute): New static function.
9609
96102010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
9611
9612	Merge from 'apple/trunk' branch on FSF servers.
9613
9614	2005-12-15  Fariborz Jahanian  <fjahanian@apple.com>
9615
9616	Radar 4229905
9617	* c-common.h (objc_have_common_type): New declaration.
9618	* stub-objc.c (objc_have_common_type): New stub.
9619
9620	2005-06-22  Ziemowit Laski  <zlaski@apple.com>
9621
9622	Radar 4154928
9623	* c-common.h (objc_common_type): New prototype.
9624	* stub-objc.c (objc_common_type): New stub.
9625
96262010-09-24  Jan Hubicka  <jh@suse.cz>
9627
9628	* c-common.c (handle_leaf_attribute): New function.
9629	(struct attribute_spec c_common_att): Add leaf.
9630
96312010-09-22  Joseph Myers  <joseph@codesourcery.com>
9632
9633	* c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
9634	-comments-in-macros, -define-macro, -define-macro=, -dependencies,
9635	-dump, -dump=, -imacros, -imacros=, -include, -include=,
9636	-include-barrier, -include-directory, -include-directory=,
9637	-include-directory-after, -include-directory-after=,
9638	-include-prefix, -include-prefix=, -include-with-prefix,
9639	-include-with-prefix=, -include-with-prefix-after,
9640	-include-with-prefix-after=, -include-with-prefix-before,
9641	-include-with-prefix-before=, -no-integrated-cpp,
9642	-no-line-commands, -no-standard-includes, -no-warnings, -output,
9643	-output=, -pedantic, -pedantic-errors, -preprocess,
9644	-print-missing-file-dependencies, -trace-includes, -traditional,
9645	-traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
9646	-user-dependencies, -verbose, -write-dependencies,
9647	-write-user-dependencies, no-integrated-cpp, traditional): New.
9648
96492010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
9650
9651	PR objc/23710
9652	* c-common.h (objc_start_method_definition): Return bool instead
9653	of void.
9654	* stub-objc.c (objc_start_method_definition): Return bool instead
9655	of void.
9656
96572010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
9658
9659	PR objc/25965
9660	* c-common.h (objc_get_interface_ivars): New declaration.
9661	* stub-objc.c (objc_get_interface_ivars): New stub.
9662
96632010-09-15  Ian Lance Taylor  <iant@google.com>
9664
9665	* c-common.c (parse_optimize_options): Do not capitalize warning
9666	messages.  Remove period at end of warning message.
9667
96682010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
9669
9670	* c-common.c (handle_alias_ifunc_attribute): New, broken out of	...
9671	(handle_alias_attribute): ... here.
9672	(handle_ifunc_attribute): New.
9673
96742010-09-06  Mark Mitchell  <mark@codesourcery.com>
9675
9676	* c-common.h (do_warn_double_promotion): Declare.
9677	* c-common.c (do_warn_double_promotion): Define.
9678
96792010-09-05  Mark Mitchell  <mark@codesourcery.com>
9680
9681	* c.opt (Wdouble-promotion): New.
9682
96832010-09-02  Joseph Myers  <joseph@codesourcery.com>
9684
9685	* c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
9686	fvtable-thunks, fxref): Mark no longer supported in help text.
9687
96882010-09-02  Joseph Myers  <joseph@codesourcery.com>
9689
9690	* c.opt (Wimport, fall-virtual, falt-external-templates,
9691	fdefault-inline, fenum-int-equiv, fexternal-templates,
9692	fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
9693	fname-mangling-version-, fnew-abi, fnonnull-objects,
9694	foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
9695	fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
9696	applicable.
9697	(fhandle-exceptions): Mark with Alias and Warn.
9698	* c-opts.c (c_common_handle_option): Don't handle options marked
9699	as ignored.
9700
97012010-09-02  Joseph Myers  <joseph@codesourcery.com>
9702
9703	* c.opt (Wcomments, Werror-implicit-function-declaration,
9704	ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
9705	std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
9706	aliases.
9707	* c-common.c (option_codes): Use OPT_Wcomment instead of
9708	OPT_Wcomments.
9709	* c-opts.c (warning_as_error_callback, c_common_handle_option):
9710	Don't handle options marked as aliases.
9711
97122010-08-25  Richard Guenther  <rguenther@suse.de>
9713
9714	* c-common.c (c_common_get_alias_set): Remove special
9715	handling for pointers.
9716
97172010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
9718
9719	* c-common.c: Use FOR_EACH_VEC_ELT.
9720	* c-gimplify.c: Likewise.
9721	* c-pragma.c: Likewise.
9722
97232010-08-16  Joseph Myers  <joseph@codesourcery.com>
9724
9725	* c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
9726	RejectDriver.
9727	(MMDX): Change back to MMD.  Mark NoDriverArg instead of
9728	RejectDriver.
9729	* c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
9730	instead of OPT_MDX and OPT_MMDX.
9731
97322010-08-16  Joseph Myers  <joseph@codesourcery.com>
9733
9734	* c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
9735
97362010-08-12  Joseph Myers  <joseph@codesourcery.com>
9737
9738	* c.opt (MD, MMD): Change to MDX and MMDX.
9739	* c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
9740
97412010-08-11  Joseph Myers  <joseph@codesourcery.com>
9742
9743	* c-opts.c (c_common_handle_option): Call handle_generated_option
9744	instead of handle_option.
9745
97462010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
9747
9748	* c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
9749	(maybe_apply_renaming_pragma): Delete unneeded declarations.
9750
97512010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
9752
9753	* c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
9754	(pending_redefine_extname): Change type to a VEC.
9755	(add_to_renaming_pragma_list): Update for new type of
9756	pending_redefine_extname.
9757	(maybe_apply_renaming_pragma): Likewise.
9758
97592010-08-04  Arnaud Charlet  <charlet@adacore.com>
9760
9761	* c-ada-spec.c (dump_ada_template): Mark underlying instance type as
9762	visited.
9763	(dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
9764	decide whether a type has already been declared/seen.
9765	Do not go to the original type.
9766	(dump_nested_types): New parameter forward.
9767	Generate forward declaration if needed and mark type as visited.
9768	(print_ada_declaration): Call dump_nested_types if not already done.
9769	Mark types as visited.
9770
97712010-08-03  Joseph Myers  <joseph@codesourcery.com>
9772
9773	* c.opt (-print-pch-checksum): Remove option.
9774	* c-opts.c (c_common_handle_option): Don't handle
9775	OPT_print_pch_checksum.
9776
97772010-07-27  Joseph Myers  <joseph@codesourcery.com>
9778
9779	* c-common.h (c_common_handle_option): Update prototype and return
9780	value type.
9781	* c-opts.c (c_common_handle_option): Update prototype and return
9782	value type.  Update calls to handle_option and
9783	enable_warning_as_error.
9784
97852010-07-27  Jakub Jelinek  <jakub@redhat.com>
9786
9787	PR c/45079
9788	* c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
9789
97902010-07-27  Joseph Myers  <joseph@codesourcery.com>
9791
9792	* c-common.h (c_common_missing_argument): Remove.
9793	* c-opts.c (c_common_missing_argument): Remove.
9794	* c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
9795	idirafter, imacros, include, isysroot, isystem, iquote): Add
9796	MissingArgError.
9797	* c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
9798
97992010-07-27  Joseph Myers  <joseph@codesourcery.com>
9800
9801	* c-common.h (c_common_option_lang_mask,
9802	c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
9803	New.
9804	(c_common_init_options): Update prototype.
9805	* c-opts.c (c_common_option_lang_mask): New.
9806	(c_common_initialize_diagnostics): Split out of
9807	c_common_init_options.
9808	(accept_all_c_family_options, c_common_complain_wrong_lang_p):
9809	New.
9810	(c_common_init_options): Update prototype.  Use decoded options in
9811	search for -lang-asm.
9812
98132010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
9814
9815	* c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
9816	* c-format.c: Likewise.
9817
98182010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9819
9820	* c-common.h: Include diagnostic-core.h. Error if already
9821	included.
9822	* c-semantics.c: Do not define GCC_DIAG_STYLE here.
9823
98242010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9825
9826	* c-common.c (IN_GCC_FRONTEND): Do not undef.
9827	Do not include expr.h
9828	(vector_mode_valid_p): Move here.
9829
98302010-06-21  DJ Delorie  <dj@redhat.com>
9831
9832	* c-pragma.c (handle_pragma_diagnostic): Add push/pop,
9833	allow these pragmas anywhere.
9834
98352010-06-14  Jakub Jelinek  <jakub@redhat.com>
9836
9837	PR bootstrap/44509
9838	* c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
9839	(lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
9840	(lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
9841	ggc_strdup instead of xstrdup.
9842
98432010-06-10  Jakub Jelinek  <jakub@redhat.com>
9844
9845	* c-cppbuiltin.c: Include cpp-id-data.h.
9846	(lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
9847	(lazy_hex_fp_value): New function.
9848	(builtin_define_with_hex_fp_value): Provide definitions lazily.
9849
98502010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9851
9852	* c-gimplify.c: Do not include tree-flow.h
9853
98542010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
9855
9856	PR other/44034
9857	* c-common.c: Rename targetm member:
9858	targetm.enum_va_list -> targetm.enum_va_list_p
9859
98602010-06-28  Anatoly Sokolov  <aesok@post.ru>
9861
9862	* c-common.c (shorten_compare): Adjust call to force_fit_type_double.
9863
98642010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
9865
9866	* c-cppbuiltin.c: Do not include except.h.
9867
98682010-06-24  Andi Kleen  <ak@linux.intel.com>
9869
9870	* c-common.c (warn_for_omitted_condop): New.
9871	* c-common.h (warn_for_omitted_condop): Add prototype.
9872
98732010-06-21  Joseph Myers  <joseph@codesourcery.com>
9874
9875	* c.opt (lang-objc): Remove.
9876	* c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
9877
98782010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
9879
9880	* c-opts.c: Include "tm_p.h".
9881
98822010-06-20  Joseph Myers  <joseph@codesourcery.com>
9883
9884	* c-common.c (parse_optimize_options): Update call to
9885	decode_options.
9886
98872010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
9888
9889	* c-common.c (record_types_used_by_current_var_decl): Adjust for
9890	new type of types_used_by_cur_var_decl.
9891
98922010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
9893
9894	PR bootstrap/44512
9895	* c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
9896	for C++ standard compliance.
9897
98982010-06-16  Jason Merrill  <jason@redhat.com>
9899
9900	* c.opt: Add -Wnoexcept.
9901
99022010-06-16  Richard Guenther  <rguenther@suse.de>
9903
9904	PR c/44555
9905	* c-common.c (c_common_truthvalue_conversion): Remove
9906	premature and wrong optimization concering ADDR_EXPRs.
9907
99082010-06-15  Arnaud Charlet  <charlet@adacore.com>
9909
9910	* c-ada-spec.c (dump_sloc): Remove column info.
9911	(is_simple_enum): New function.
9912	(dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
9913	enum types when relevant.
9914
99152010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
9916
9917	* c-common.c (conversion_warning): Warn at expression
9918	location.
9919
99202010-06-10  Joseph Myers  <joseph@codesourcery.com>
9921
9922	* c-opts.c (c_common_handle_option): Don't handle
9923	OPT_fshow_column.
9924
99252010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
9926
9927	* c-pragma.c (push_alignment): Use typed GC allocation.
9928	(handle_pragma_push_options): Likewise.
9929
9930	* c-common.c (parse_optimize_options): Likewise.
9931
9932	* c-common.h (struct sorted_fields_type): Add variable_size GTY
9933	option.
9934
99352010-06-07  Joseph Myers  <joseph@codesourcery.com>
9936
9937	* c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
9938	flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
9939	flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
9940	flag_signed_bitfields, warn_strict_null_sentinel,
9941	flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
9942	flag_gen_declaration, flag_no_gnu_keywords,
9943	flag_implement_inlines, flag_implicit_templates,
9944	flag_implicit_inline_templates, flag_optional_diags,
9945	flag_elide_constructors, flag_default_inline, flag_rtti,
9946	flag_conserve_space, flag_access_control, flag_check_new,
9947	flag_new_for_scope, flag_weak, flag_working_directory,
9948	flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
9949	flag_enforce_eh_specs, flag_threadsafe_statics,
9950	flag_pretty_templates): Remove.
9951	* c-common.h (flag_preprocess_only, flag_nil_receivers,
9952	flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
9953	flag_replace_objc_classes, flag_undef, flag_no_builtin,
9954	flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
9955	flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
9956	flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
9957	flag_no_gnu_keywords, flag_implement_inlines,
9958	flag_implicit_templates, flag_implicit_inline_templates,
9959	flag_optional_diags, flag_elide_constructors, flag_default_inline,
9960	flag_rtti, flag_conserve_space, flag_access_control,
9961	flag_check_new, flag_new_for_scope, flag_weak,
9962	flag_working_directory, flag_use_cxa_atexit,
9963	flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
9964	flag_threadsafe_statics, flag_pretty_templates,
9965	warn_strict_null_sentinel): Remove.
9966	* c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
9967	fbuiltin, fcheck-new, fconserve-space, felide-constructors,
9968	fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
9969	fimplicit-inline-templates, fimplicit-templates,
9970	flax-vector-conversions, fms-extensions, fnil-receivers,
9971	fnonansi-builtins, fpretty-templates, freplace-objc-classes,
9972	frtti, fshort-double, fshort-enums, fshort-wchar,
9973	fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
9974	funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
9975	fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
9976	gen-decls, undef): Use Var.
9977	(fdefault-inline, foptional-diags): Document as doing nothing.
9978	* c-opts.c (c_common_handle_option): Remove cases for options now
9979	using Var.  Mark ignored options as such.
9980
99812010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
9982
9983	* c-common.c: Moved to here from parent directory.
9984	* c-common.def: Likewise.
9985	* c-common.h: Likewise.
9986	* c-cppbuiltin.c: Likewise.
9987	* c-dump.c: Likewise.
9988	* c-format.c: Likewise.
9989	* c-format.h : Likewise.
9990	* c-gimplify.c: Likewise.
9991	* c-lex.c: Likewise.
9992	* c-omp.c: Likewise.
9993	* c.opt: Likewise.
9994	* c-opts.c: Likewise.
9995	* c-pch.c: Likewise.
9996	* c-ppoutput.c: Likewise.
9997	* c-pragma.c: Likewise.
9998	* c-pragma.h: Likewise.
9999	* c-pretty-print.c: Likewise.
10000	* c-pretty-print.h: Likewise.
10001	* c-semantics.c: Likewise.
10002	* stub-objc.c: Likewise.
10003
10004	* c-common.c: Include gt-c-family-c-common.h.
10005	* c-pragma.c: Include gt-c-family-c-pragma.h.
10006
10007Copyright (C) 2010-2019 Free Software Foundation, Inc.
10008
10009Copying and distribution of this file, with or without modification,
10010are permitted in any medium without royalty provided the copyright
10011notice and this notice are preserved.
10012