]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/c-family/ChangeLog
Replace 8 spaces with a tabular in ChangeLog files.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
1 2018-08-27 David Malcolm <dmalcolm@redhat.com>
2
3 PR 87091
4 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
5 to a tri-state.
6 (maybe_suggest_missing_token_insertion): Likewise.
7 (maybe_add_include_fixit): Add param "override_location". If set,
8 and source-printing is enabled, then override the rich_location's
9 primary location with that of the insertion point for the fix-it
10 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
11 * c-common.h (extern void maybe_add_include_fixit): Add bool
12 param.
13 * c-format.c (selftest::test_type_mismatch_range_labels): Update
14 for conversion of show_caret_p to a tri-state.
15 * c-warn.c (warn_for_restrict): Likewise.
16 * known-headers.cc
17 (suggest_missing_header::~suggest_missing_header): Update call to
18 maybe_add_include_fixit to suggest overriding the location, as it
19 is for a note.
20
21 2018-08-27 Martin Liska <mliska@suse.cz>
22
23 * c-common.c (check_function_restrict): Use new function
24 fndecl_built_in_p and remove check for FUNCTION_DECL if
25 possible.
26 (check_builtin_function_arguments): Likewise.
27 (reject_gcc_builtin): Likewise.
28 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
29
30 2018-08-26 Marek Polacek <polacek@redhat.com>
31
32 PR c++/87029, Implement -Wredundant-move.
33 * c.opt (Wredundant-move): New option.
34
35 2018-08-21 Marek Polacek <polacek@redhat.com>
36
37 PR c++/86981, Implement -Wpessimizing-move.
38 * c.opt (Wpessimizing-move): New option.
39
40 2018-08-20 David Malcolm <dmalcolm@redhat.com>
41
42 PR other/84889
43 * c-attribs.c (common_handle_aligned_attribute): Add
44 auto_diagnostic_group instance.
45 * c-indentation.c (warn_for_misleading_indentation): Likewise.
46 * c-opts.c (c_common_post_options): Likewise.
47 * c-warn.c (warn_logical_not_parentheses): Likewise.
48 (warn_duplicated_cond_add_or_warn): Likewise.
49 (warn_for_multistatement_macros): Likewise.
50
51 2018-08-20 Nathan Sidwell <nathan@acm.org>
52
53 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
54 access.
55
56 2018-08-17 Nathan Sidwell <nathan@acm.org>
57
58 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
59 field.
60 (laxy_hex_fp_value_count): Make unsigned.
61 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
62 manipulate the macro.
63 (builtin_defin_with_hex_fp_value): Adjust callback name, use
64 cpp_define_lazily.
65
66 2018-08-17 David Malcolm <dmalcolm@redhat.com>
67
68 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
69 (gcc_dump_printf_length_specs): New.
70 (gcc_dump_printf_flag_pairs): New.
71 (gcc_dump_printf_flag_specs): New.
72 (gcc_dump_printf_char_table): New.
73 (format_types_orig): Add entry for "gcc_dump_printf".
74 (init_dynamic_diag_info): Set up length_char_specs and
75 conversion_specs for gcc_dump_printf_format_type.
76 (handle_format_attribute): Handle gcc_dump_printf_format_type.
77
78 2018-08-17 Nathan Sidwell <nathan@acm.org>
79
80 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
81
82 * c-ada-spec.c: Don't #include "cpp-id-data.h"
83 * c-cppbuiltin.c: Likewise.
84
85 2018-08-17 Martin Liska <mliska@suse.cz>
86
87 * c.opt: Remove Warn, Init and Report for options with
88 Ignore/Deprecated flag. Warning is done automatically for
89 Deprecated flags.
90
91 2018-08-16 David Malcolm <dmalcolm@redhat.com>
92
93 PR c++/70693
94 * c-common.c (selftest::c_family_tests): Call
95 selftest::c_indentation_c_tests.
96 * c-common.h (selftest::c_indentation_c_tests): New decl.
97 * c-indentation.c: Include "selftest.h".
98 (next_tab_stop): Add "tab_width" param, rather than accessing
99 cpp_opts.
100 (get_visual_column): Likewise. Clarify comment. Bulletproof
101 against reading past the end of the line.
102 (get_first_nws_vis_column): Add "tab_width" param.
103 (detect_intervening_unindent): Likewise.
104 (should_warn_for_misleading_indentation): Read tab width from
105 cpp_opts and pass around.
106 (selftest::test_next_tab_stop): New test.
107 (selftest::assert_get_visual_column_succeeds): New function.
108 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
109 (selftest::assert_get_visual_column_fails): New function.
110 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
111 (selftest::test_get_visual_column): New test.
112 (selftest::c_indentation_c_tests): New function.
113
114 2018-08-16 Nathan Sidwell <nathan@acm.org>
115
116 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
117 (store_ada_macro): Likewise.
118 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
119 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
120
121 2018-08-15 David Malcolm <dmalcolm@redhat.com>
122
123 * c-format.c: Include "selftest-diagnostic.h" and
124 "gcc-rich-location.h".
125 (format_warning_at_char): Pass NULL for new label params of
126 format_warning_va.
127 (class indirection_suffix): New class.
128 (class range_label_for_format_type_mismatch): New class.
129 (format_type_warning): Move logic for generating "*" suffix to
130 class indirection_suffix. Create "fmt_label" and "param_label"
131 to show their types, and pass them to the
132 format_warning_at_substring calls.
133 (selftest::test_type_mismatch_range_labels): New test.
134 (selftest::c_format_c_tests): Call it.
135
136 2018-08-13 Martin Sebor <msebor@redhat.com>
137
138 PR tree-optimization/71625
139 * c-common.c (braced_list_to_string): New function.
140 * c-common.h (braced_list_to_string): Declare it.
141
142 2018-08-08 Nathan Sidwell <nathan@acm.org>
143
144 * c-common.c (try_to_locate_new_include_inertion_point): Use
145 linemap_included_from_linemap.
146 * c-lex.c (fe_file_change): Use linemap_included_from.
147 * c-ppoutput.c (pp_file_change): Likewise.
148
149 2018-08-01 Martin Sebor <msebor@redhat.com>
150
151 PR tree-optimization/86650
152 * c-family/c-format.c (gcc_tdiag_char_table): Update comment for "%G".
153 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
154 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
155 * c-format.h (T89_G): Update to be "gimple *" rather than
156 "gcall *".
157 (local_gcall_ptr_node): Rename...
158 (local_gimple_ptr_node): ...to this.
159
160 2018-07-31 David Malcolm <dmalcolm@redhat.com>
161
162 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
163 table entries for gcc_diag_char_table, and the 'Z' entry from
164 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
165 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
166 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
167 adding missing "Z" for this table. Remove erroneous "G" and "K"
168 entries.
169 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
170 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
171 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
172
173 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
174
175 * c-common.c (speculation_safe_resolve_call): New function.
176 (speculation_safe_resolve_params): New function.
177 (speculation_safe_resolve_return): New function.
178 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
179 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
180 __HAVE_SPECULATION_SAFE_VALUE.
181
182 2018-07-20 David Malcolm <dmalcolm@redhat.com>
183
184 * c-common.c (c_cpp_error): Remove redundant "line_table"
185 parameter from call to rich_location::set_range.
186 (maybe_suggest_missing_token_insertion): Likewise.
187
188 2018-07-20 Martin Sebor <msebor@redhat.com>
189
190 PR middle-end/82063
191 * gcc/c-family/c.opt (-Warray-bounds): Remove redundant -Wall.
192
193 2018-07-20 Martin Sebor <msebor@redhat.com>
194
195 PR middle-end/82063
196 * c-common.h (c_common_handle_option): Change function argument
197 to HOST_WIDE_INT.
198 * c-opts.c (c_common_init_options): Same.
199 (c_common_handle_option): Same. Remove special handling of
200 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
201 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
202 options to take a HOST_WIDE_INT argument and accept a byte-size
203 suffix. Initialize.
204 (-Wvla-larger-than): Same.
205 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
206 (-Wno-vla-larger-than): Same.
207
208 2018-07-12 Jakub Jelinek <jakub@redhat.com>
209
210 * c-attribs.c (c_common_attribute_table): Add
211 "omp declare target implicit" attribute.
212
213 2018-07-12 Richard Biener <rguenther@suse.de>
214
215 PR c/86453
216 * c-attribs.c (handle_packed_attribute): Do not build a variant
217 type with TYPE_PACKED, instead ignore the attribute if we may
218 not apply to the original type.
219
220 2018-07-10 Jakub Jelinek <jakub@redhat.com>
221
222 PR c++/86443
223 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
224 to contain TREE_LIST for both the original class iterator and the
225 "last" helper var.
226
227 2018-07-07 Eric Botcazou <ebotcazou@adacore.com>
228
229 * c-ada-spec.c (to_ada_name): Remove index parameter.
230 (pp_ada_tree_identifier): Likewise.
231 (dump_ada_macros): Adjust call to to_ada_name.
232 (struct overloaded_name_hash): Delete.
233 (struct overloaded_name_hasher): Likewise.
234 (overloaded_names): Likewise.
235 (compute_overloading_index): Likewise.
236 (dump_ada_decl_name): Do not call compute_overloading_index and
237 adjust calls to pp_ada_tree_identifier.
238 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
239 (dump_ada_import): Add spc parameter and switch to aspect syntax.
240 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
241 (dump_ada_enum_type): Remove type and display_convention parameters.
242 Adjust calls to pp_ada_tree_identifier.
243 (dump_ada_node): Likewise and for dump_ada_structure.
244 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
245 and tidy up.
246 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
247 syntax.
248 (print_constructor): Adjust call to pp_ada_tree_identifier.
249 (print_destructor): Likewise.
250 (dump_ada_declaration): Switch to aspect syntax.
251 (dump_ada_structure): Likewise and tidy up. Replace display_convention
252 parameter with nested parameter.
253 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
254 (dump_ada_specs): Do not delete overloaded_names table.
255
256 2018-07-06 Peter Bergner <bergner@linux.ibm.com>
257
258 PR target/86324
259 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
260 target hook.
261
262 2018-07-05 Nathan Sidwell <nathan@acm.org>
263
264 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
265 NO_IMPLICIT_EXTERN_C.
266
267 2018-06-28 Martin Liska <mliska@suse.cz>
268
269 * cppspec.c: Include opt-suggestions.h.
270
271 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
272 Thomas Schwinge <thomas@codesourcery.com>
273 Cesar Philippidis <cesar@codesourcery.com>
274
275 * c-pragma.h (enum pragma_omp_clause): Add
276 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
277 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
278
279 2018-06-20 Jakub Jelinek <jakub@redhat.com>
280
281 PR c++/86210
282 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
283 comment.
284
285 2018-06-18 Martin Sebor <msebor@redhat.com>
286
287 PR middle-end/85602
288 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
289 nonstring.
290
291 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
292
293 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
294
295 2018-06-13 Jason Merrill <jason@redhat.com>
296
297 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
298 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
299 handling.
300
301 PR c++/86094 - wrong code with defaulted move ctor.
302 * c-opts.c (c_common_post_options): Bump the current ABI version to
303 13. Set warn_abi_version and flag_abi_compat_version to the current
304 version rather than 0. Fix defaulting flag_abi_compat_version from
305 warn_abi_version.
306
307 2018-06-12 Martin Sebor <msebor@redhat.com>
308
309 PR c/85931
310 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
311 sizeof source and destination yields the same value.
312
313 2018-06-12 Martin Liska <mliska@suse.cz>
314
315 * c.opt: Make MPX-related options as Deprecated.
316
317 2018-06-08 David Malcolm <dmalcolm@redhat.com>
318
319 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
320 rather than 0.
321
322 2018-06-08 Martin Liska <mliska@suse.cz>
323
324 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
325 for MPX (macros, related functions, fields in cgraph_node, ...).
326 (handle_bnd_legacy): Likewise.
327 (handle_bnd_instrument): Likewise.
328 * c.opt: Likewise.
329
330 2018-06-06 Jakub Jelinek <jakub@redhat.com>
331
332 PR c++/86068
333 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
334 __cpp_transactional_memory to 201500 instead of 210500.
335
336 2018-06-06 Jason Merrill <jason@redhat.com>
337
338 PR c++/85710 - ICE with -Wmemset-elt-size.
339 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
340
341 2018-06-01 Jason Merrill <jason@redhat.com>
342
343 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
344 201703.
345
346 2018-06-01 Eric Botcazou <ebotcazou@adacore.com>
347
348 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
349 declaration for a typedef independently of whether the declaration of
350 the subtype is generated.
351
352 2018-05-31 Martin Sebor <msebor@redhat.com>
353
354 PR c/82063
355 * c.opt (-Wno-alloc-size-larger-than): New option.
356
357 2018-04-22 David Pagan <dave.pagan@oracle.com>
358
359 PR c/55976
360 * c-opts.c (c_common_post_options): Set default for warn_return_type
361 for C++/C++ with ObjC extensions only. For C, makes it possible to
362 differentiate between default (no option), -Wreturn-type, and
363 -Wno-return-type.
364
365 2018-05-29 Jason Merrill <jason@redhat.com>
366
367 * c.opt (Winit-list-lifetime): New flag.
368
369 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
370
371 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
372 splay_tree_delete_pointers.
373
374 2018-05-26 Jakub Jelinek <jakub@redhat.com>
375
376 PR bootstrap/85921
377 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
378 noinline variable to workaround broken kernel headers.
379
380 2018-05-18 Jason Merrill <jason@redhat.com>
381
382 * c.opt (Wdeprecated-copy): New flag.
383
384 2018-05-17 Martin Liska <mliska@suse.cz>
385
386 * c-warn.c (overflow_warning): Do not use
387 space in between 'G_' and '('.
388
389 2018-05-09 Jason Merrill <jason@redhat.com>
390
391 * c-common.c (valid_array_size_p): Add complain parameter.
392 * c-common.h: ...which defaults to true.
393
394 2018-05-11 Jakub Jelinek <jakub@redhat.com>
395
396 PR c/85696
397 * c-omp.c (c_omp_predetermined_sharing): Return
398 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
399
400 2018-05-11 Martin Liska <mliska@suse.cz>
401
402 PR sanitizer/85556
403 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
404 TREE_LIST values.
405
406 2018-05-10 Jakub Jelinek <jakub@redhat.com>
407
408 PR c++/85662
409 * c-common.h (fold_offsetof_1): Removed.
410 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
411 CTX argument defaulted to ERROR_MARK.
412 * c-common.c (fold_offsetof_1): Renamed to ...
413 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
414 argument, convert the pointer constant to TYPE and use size_binop
415 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
416 a pointer type. Adjust recursive calls.
417
418 2018-05-10 Eric Botcazou <ebotcazou@adacore.com>
419
420 PR c++/85400
421 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
422
423 2018-05-07 Nathan Sidwell <nathan@acm.org>
424
425 * c.opt (ffor-scope): Remove functionality, issue warning.
426
427 2018-05-03 Nathan Sidwell <nathan@acm.org>
428
429 * c.opt (ffriend-injection): Remove functionality, issue warning.
430
431 2018-05-01 David Malcolm <dmalcolm@redhat.com>
432
433 PR c/84258
434 * c-format.c (struct format_check_results): Add field
435 "number_non_char".
436 (check_format_info): Initialize it, and warn if encountered.
437 (check_format_arg): Distinguish between wide char and
438 everything else when detecting arrays of non-char.
439
440 2018-04-30 David Malcolm <dmalcolm@redhat.com>
441
442 * c-format.c (get_corrected_substring): Update for
443 location_get_source_line returning a char_span. Use a char_span
444 when handling the prefix of the correction.
445 * c-indentation.c (get_visual_column): Update for
446 location_get_source_line returning a char_span.
447 (get_first_nws_vis_column): Likewise.
448
449 2018-03-29 David Malcolm <dmalcolm@redhat.com>
450
451 PR c++/84269
452 * known-headers.cc (get_stdlib_header_for_name): Add various names
453 from <assert.h>, <string.h>, and <memory.h>; add more names from
454 <stdio.h>.
455
456 2018-03-27 Jakub Jelinek <jakub@redhat.com>
457
458 PR c++/85061
459 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
460 get_base_address of the second operand is a VAR_P, rather than the
461 operand itself, and use gcc_checking_assert instead of gcc_assert.
462
463 2018-03-23 Marek Polacek <polacek@redhat.com>
464
465 PR c++/85045
466 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
467 <case RDIV_EXPR>: Tweak condition.
468
469 2018-03-20 Eric Botcazou <ebotcazou@adacore.com>
470
471 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
472
473 2018-03-16 Jakub Jelinek <jakub@redhat.com>
474
475 PR c/84909
476 * c-warn.c (conversion_warning): Replace "to to" with "to" in
477 diagnostics.
478
479 PR c/84910
480 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
481 diagnostics.
482
483 2018-03-16 Richard Biener <rguenther@suse.de>
484
485 PR c/84873
486 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
487 unshare the possibly folded expression.
488
489 2018-03-15 Richard Biener <rguenther@suse.de>
490
491 PR c/84873
492 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
493
494 2018-03-13 Martin Sebor <msebor@redhat.com>
495
496 PR tree-optimization/84725
497 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
498 with all three narrow character types, including their qualified forms.
499
500 2018-03-12 Martin Sebor <msebor@redhat.com>
501
502 PR tree-optimization/83456
503 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
504 Restore checking of bounded built-in functions.
505 (check_function_arguments): Also return the result
506 of warn_for_restrict.
507 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
508 * gcc/c-family/c-warn.c (warn_for_restrict): Return bool.
509
510 2018-03-02 Marek Polacek <polacek@redhat.com>
511
512 PR c++/84171
513 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
514 is erroneous.
515
516 2018-03-02 Thomas Schwinge <thomas@codesourcery.com>
517
518 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
519 function".
520
521 2018-03-01 Marek Polacek <polacek@redhat.com>
522
523 PR c++/84639
524 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
525 alignment in computation.
526
527 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
528
529 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
530 <REAL_TYPE>: Deal specifically with _Float128/__float128.
531
532 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
533
534 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
535 (is_char_array): Take a type instead of a declaration.
536 (dump_ada_array_type): Likewise.
537 (is_simple_enum): Minor tweak.
538 (dump_ada_enum_type): New function extracted from...
539 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
540 <INTEGER_TYPE>: Remove unreachable code.
541 <RECORD_TYPE>: Likewise. Minor tweaks.
542 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
543 <ENUMERAL_TYPE>: New case.
544 <RECORD_TYPE>: Factor out common code.
545 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
546 Minor tweaks. Deal with enumeral types.
547 (dump_ada_structure): Minor tweaks.
548
549 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
550
551 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
552 address for incomplete structures.
553 (dump_forward_type): Do not bail out for incomplete structures.
554 (dump_ada_declaration): Do not special-case incomplete structures
555 for subtypes. Dump them as null records for types.
556
557 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
558
559 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
560 (is_char_array): Fix formatting.
561 (dump_template_types): Likewise.
562 (dump_generic_ada_node): Rename into...
563 (dump_ada_node): ...this.
564 <POINTER_TYPE>: Remove superfluous space. Use generic address for
565 incomplete structures and not for empty structures. Do not use it
566 when forward declarations are needed.
567 (dump_forward_type): New function.
568 (dump_nested_types): Remove FORWARD parameter. Do not consider
569 TREE_VISITED and do not generate a forward declaration. Only dump
570 original nested types for nested declaration.
571 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
572 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
573 <RECORD_TYPE>: Do not consider TREE_VISITED.
574 (dump_ada_declaration): Use booleans and fix formatting throughout.
575 <TYPE_DECL>: Skip incomplete structures and not empty structures.
576 Call dump_forward_type instead of dump_nested_types for a typedef.
577 Remove superfluous check and adjust call to dump_nested_types.
578 <POINTER_TYPE>: Call dump_forward_type and fall through.
579 (dump_ada_struct_decl): Rename into...
580 (dump_ada_structure): ...this. Do not special-case empty structures.
581
582 2018-02-27 Martin Sebor <msebor@redhat.com>
583
584 PR c++/83871
585 * c.opt (-Wmissing-attributes): New option.
586
587 2018-02-21 Martin Liska <mliska@suse.cz>
588
589 * c.opt (Wcatch-value=): Add IntegerRange.
590
591 2018-02-15 Jason Merrill <jason@redhat.com>
592
593 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
594
595 2018-02-09 Nathan Sidwell <nathan@acm.org>
596
597 PR c/84293
598 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
599 arg.
600 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
601 arg. Adjust.
602
603 2018-02-09 Martin Sebor <msebor@redhat.com>
604
605 PR lto/84212
606 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
607 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
608 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
609 (-Wstrict-overflow, -Wsuggest-attribute): Same.
610 (-Wuninitialized): Same.
611
612 2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
613
614 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
615 keyword for components.
616
617 2018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
618
619 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
620
621 2018-02-02 Julia Koval <julia.koval@intel.com>
622
623 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
624
625 2018-01-29 Marek Polacek <polacek@redhat.com>
626
627 PR c/83966
628 * c-format.c (check_function_format): Check current_function_decl.
629
630 2018-01-27 Jakub Jelinek <jakub@redhat.com>
631
632 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
633 argument.
634 (LAZY_HEX_FP_VALUES_CNT): Define.
635 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
636 values rather than just 12.
637 (builtin_define_with_hex_fp_value): Likewise.
638
639 2018-01-18 Boris Kolpackov <boris@codesynthesis.com>
640
641 PR other/70268
642 * c.opt (-fmacro-prefix-map): New option.
643 * c-opts.c (c_common_handle_option): Handle it.
644 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
645 * c-ppoutput.c (init_pp_output): Likewise.
646
647 2018-01-17 David Malcolm <dmalcolm@redhat.com>
648
649 PR c++/83814
650 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
651
652 2018-01-10 Eric Botcazou <ebotcazou@adacore.com>
653
654 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
655 Skip 'f' and 'F' characters if it is true.
656 (store_ada_macro): Minor tweak.
657 (dump_ada_macros) <CPP_COMMENT>: Likewise.
658 <CPP_WSTRING>: Likewise.
659 <CPP_STRING>: Output '&' in the buffer if not the first string.
660 <CPP_NUMBER>: Adjust calls to dump_number.
661
662 2018-01-10 David Malcolm <dmalcolm@redhat.com>
663
664 PR c++/43486
665 * c-common.c: Include "selftest.h".
666 (get_atomic_generic_size): Perform the test for integral type
667 before the range test for any integer constant, fixing indentation
668 of braces. Call fold_for_warn before testing for an INTEGER_CST.
669 (reject_gcc_builtin): Strip any location wrapper from EXPR.
670 (selftest::test_fold_for_warn): New function.
671 (selftest::c_common_c_tests): New function.
672 (selftest::c_family_tests): Call it, and
673 selftest::c_pretty_print_c_tests.
674 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
675 * c-format.c (check_format_arg): Convert VAR_P check to a
676 fold_for_warn.
677 * c-pretty-print.c: Include "selftest.h".
678 (pp_c_cast_expression): Don't print casts for location wrappers.
679 (selftest::assert_c_pretty_printer_output): New function.
680 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
681 (selftest::test_location_wrappers): New function.
682 (selftest::c_pretty_print_c_tests): New function.
683 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
684
685 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
686 Alan Hayward <alan.hayward@arm.com>
687 David Sherwood <david.sherwood@arm.com>
688
689 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
690
691 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
692 Alan Hayward <alan.hayward@arm.com>
693 David Sherwood <david.sherwood@arm.com>
694
695 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
696 as polynomial.
697
698 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
699 Alan Hayward <alan.hayward@arm.com>
700 David Sherwood <david.sherwood@arm.com>
701
702 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
703 (convert_vector_to_array_for_subscript): Handle polynomial
704 TYPE_VECTOR_SUBPARTS.
705 (c_common_type_for_mode): Check valid_vector_subparts_p.
706 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
707 VECTOR_CST_NELTS.
708
709 2018-01-03 Jakub Jelinek <jakub@redhat.com>
710
711 Update copyright years.
712
713 2017-12-22 Mike Stump <mikestump@comcast.net>
714 Eric Botcazou <ebotcazou@adacore.com>
715
716 * c-pragma.c (init_pragma): Register pragma GCC unroll.
717 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
718
719 2017-12-22 Alexandre Oliva <aoliva@redhat.com>
720
721 PR debug/83527
722 PR debug/83419
723 * c-semantics.c (only_debug_stmts_after_p): New.
724 (pop_stmt_list): Clear side effects in debug-only stmt list.
725 Check for single nondebug stmt followed by debug stmts only.
726
727 2017-12-21 Alexandre Oliva <aoliva@redhat.com>
728
729 PR debug/83419
730 * c-semantics.c (pop_stmt_list): Propagate side effects from
731 single nondebug stmt to container list.
732
733 2017-12-19 Jakub Jelinek <jakub@redhat.com>
734
735 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
736 conditions with typical order conditions.
737
738 2017-12-18 Marek Polacek <polacek@redhat.com>
739
740 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
741 not in effect.
742
743 2017-12-17 Martin Sebor <msebor@redhat.com>
744
745 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
746 an error for attribute warn_if_not_aligned.
747
748 2017-12-16 Martin Sebor <msebor@redhat.com>
749
750 PR tree-optimization/78918
751 * c-common.c (check_function_restrict): Avoid checking built-ins.
752 * c.opt (-Wrestrict): Include in -Wall.
753
754 2017-12-15 Jakub Jelinek <jakub@redhat.com>
755
756 * c-attribs.c (c_common_attribute_table,
757 c_common_format_attribute_table): Swap affects_type_identity
758 and handler fields, adjust comments.
759
760 2017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
761
762 * c.opt (Wcast-function-type): New warning option.
763 * c-lex.c (get_fileinfo): Avoid warning.
764 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
765
766 2017-12-14 Qing Zhao <qing.zhao@oracle.com>
767
768 PR middle_end/79538
769 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
770 Adjust the size of buf1 and buf2, add a new buf to avoid
771 format-overflow warning.
772
773 2017-12-12 Alexandre Oliva <aoliva@redhat.com>
774
775 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
776 subsequent statement list.
777
778 2017-12-07 Martin Sebor <msebor@redhat.com>
779
780 PR c/81544
781 PR c/81566
782 * c-attribs.c (attr_aligned_exclusions): New array.
783 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
784 (attr_common_exclusions, attr_const_pure_exclusions): Same.
785 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
786 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
787 (attr_warn_unused_result_exclusions): Same.
788 (handle_hot_attribute, handle_cold_attribute): Simplify.
789 (handle_const_attribute): Warn on function returning void.
790 (handle_pure_attribute): Same.
791 (handle_aligned_attribute): Diagnose conflicting attribute
792 specifications.
793 * c-warn.c (diagnose_mismatched_attributes): Simplify.
794
795 2017-12-06 David Malcolm <dmalcolm@redhat.com>
796
797 PR c/83236
798 * c-common.c (selftest::c_family_tests): Call
799 selftest::c_spellcheck_cc_tests.
800 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
801 * c-spellcheck.cc: Include "selftest.h".
802 (name_reserved_for_implementation_p): New function.
803 (should_suggest_as_macro_p): New function.
804 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
805 should_suggest_as_macro_p and call it.
806 (selftest::test_name_reserved_for_implementation_p): New function.
807 (selftest::c_spellcheck_cc_tests): New function.
808 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
809
810 2017-12-06 David Malcolm <dmalcolm@redhat.com>
811
812 * c-spellcheck.cc: New file, taken from macro-handling code in
813 spellcheck-tree.c.
814 * c-spellcheck.h: New file, taken from macro-handling code in
815 spellcheck-tree.h.
816
817 2017-12-01 Jakub Jelinek <jakub@redhat.com>
818
819 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
820 attribute.
821 (handle_simd_attribute): Don't check for "cilk simd function"
822 attribute. Reindent, formatting changes.
823
824 2017-11-30 Julia Koval <julia.koval@intel.com>
825
826 * c-common.h (inv_list): Remove.
827
828 2017-11-28 Jakub Jelinek <jakub@redhat.com>
829
830 PR sanitizer/81275
831 * c-common.c (c_switch_covers_all_cases_p_1,
832 c_switch_covers_all_cases_p): New functions.
833 * c-common.h (c_switch_covers_all_cases_p): Declare.
834
835 2017-11-28 Julia Koval <julia.koval@intel.com>
836 Sebastian Peryt <sebastian.peryt@intel.com>
837
838 * array-notation-common.c: Delete.
839 * c-cilkplus.c: Ditto.
840 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
841 * c-common.def (ARRAY_NOTATION_REF): Remove.
842 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
843 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
844 c_validate_cilk_plus_loop, cilkplus_an_parts,
845 cilk_ignorable_spawn_rhs_op,
846 cilk_recognize_spawn): Remove.
847 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
848 * c-omp.c: Remove CILK_SIMD check.
849 * c-pragma.c: Ditto.
850 * c-pragma.h: Remove CILK related pragmas.
851 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
852 ARRAY_NOTATION_REF condition.
853 (c_pretty_printer::expression): Ditto.
854 * c.opt (fcilkplus): Remove.
855 * cilk.c: Delete.
856
857 2017-11-21 Marc Glisse <marc.glisse@inria.fr>
858
859 * c-pretty-print.c (pp_c_additive_expression,
860 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
861
862 2017-11-21 Jakub Jelinek <jakub@redhat.com>
863
864 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
865
866 PR c++/83059
867 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
868 instead of tree_to_uhwi, formatting fix.
869
870 2017-11-20 David Malcolm <dmalcolm@redhat.com>
871
872 PR c/81404
873 * known-headers.cc: New file, based on material from c/c-decl.c.
874 (suggest_missing_header): Copied as-is.
875 (get_stdlib_header_for_name): New, based on get_c_name_hint but
876 heavily edited to add C++ support. Add some knowledge about
877 <limits.h>, <stdint.h>, and <wchar.h>.
878 * known-headers.h: Likewise.
879
880 2017-11-20 David Malcolm <dmalcolm@redhat.com>
881
882 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
883 (lookup_name_fuzzy): Likewise. Convert return type from
884 const char * to name_hint. Add location_t param.
885 * name-hint.h: New header.
886
887 2017-11-19 Jakub Jelinek <jakub@redhat.com>
888
889 PR c/66618
890 PR c/69960
891 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
892
893 2017-11-16 Joseph Myers <joseph@codesourcery.com>
894
895 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
896 expected publication date of C17.
897 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
898
899 2017-11-15 Joseph Myers <joseph@codesourcery.com>
900
901 PR c/81156
902 * c-common.c (c_common_reswords): Add __builtin_tgmath.
903 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
904
905 2017-11-10 Martin Sebor <msebor@redhat.com>
906
907 PR c/81117
908 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
909 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
910 * c.opt (-Wstringop-truncation): New option.
911
912 2017-11-06 Martin Liska <mliska@suse.cz>
913
914 PR middle-end/82404
915 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
916 FE.
917 * c.opt: Set default value of warn_return_type.
918
919 2017-10-31 David Malcolm <dmalcolm@redhat.com>
920
921 * c-common.c (binary_op_error): Update for renaming of
922 error_at_rich_loc.
923 (c_parse_error): Likewise.
924 * c-warn.c (warn_logical_not_parentheses): Likewise for
925 renaming of inform_at_rich_loc.
926 (warn_for_restrict): Likewise for renaming of
927 warning_at_rich_loc_n.
928
929 2017-10-30 Joseph Myers <joseph@codesourcery.com>
930
931 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
932 * c-opts.c (set_std_c17): New function.
933 (c_common_init_options): Use gnu17 as default C version.
934 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
935
936 2017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
937
938 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
939 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
940 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
941 __FP_FAST_FMA<N>X.
942
943 2017-10-23 Marek Polacek <polacek@redhat.com>
944
945 PR c/82681
946 * c-warn.c (warnings_for_convert_and_check): Fix typos.
947
948 2017-10-19 Eric Botcazou <ebotcazou@adacore.com>
949
950 * c-common.c (check_builtin_function_arguments): Also check arguments
951 of __builtin_alloca_with_align_and_max.
952
953 2017-10-17 David Malcolm <dmalcolm@redhat.com>
954
955 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
956 rather than NULL to format_warning_va.
957 (check_format_types): Likewise when calling format_type_warning.
958 Remove code to extract source_ranges and source_range * in favor
959 of just a location_t.
960 (format_type_warning): Convert source_range * param to a
961 location_t.
962
963 2017-10-13 Jakub Jelinek <jakub@redhat.com>
964
965 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
966 [LR]SHIFT_EXPR.
967
968 2017-10-12 David Malcolm <dmalcolm@redhat.com>
969
970 * c-common.c (enum missing_token_insertion_kind): New enum.
971 (get_missing_token_insertion_kind): New function.
972 (maybe_suggest_missing_token_insertion): New function.
973 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
974
975 2017-10-11 Nathan Sidwell <nathan@acm.org>
976
977 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
978 (c_common_handle_option): Update incpath_kind names.
979
980 2017-10-11 Martin Liska <mliska@suse.cz>
981
982 PR sanitizer/82490
983 * c-attribs.c (handle_no_sanitize_attribute): Report directly
984 Wattributes warning.
985
986 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
987
988 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
989 operating on trees as wide_ints.
990 * c-common.c (pointer_int_sum): Likewise.
991 * c-pretty-print.c (pp_c_integer_constant): Likewise.
992 * c-warn.c (match_case_to_enum_1): Likewise.
993 (c_do_switch_warnings): Likewise.
994 (maybe_warn_shift_overflow): Likewise.
995
996 2017-10-10 Jakub Jelinek <jakub@redhat.com>
997
998 PR c/82437
999 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
1000 instead of wide_int::from.
1001
1002 2017-10-06 Jakub Jelinek <jakub@redhat.com>
1003
1004 PR c/82437
1005 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
1006 using to_widest use wide_int with the larger of the two precisions.
1007
1008 2017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1009
1010 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
1011 functions.
1012
1013 2017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
1014
1015 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
1016 when combining the original unconverted comparison operands.
1017
1018 2017-09-29 Jakub Jelinek <jakub@redhat.com>
1019
1020 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
1021 attribute.
1022
1023 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1024
1025 * c-ada-spec.c (to_ada_name): Add index parameter.
1026 (pp_ada_tree_identifier): Likewise.
1027 (dump_ada_macros): Adjust call to to_ada_name.
1028 (struct overloaded_name_hash): New type.
1029 (struct overloaded_name_hasher): Likewise.
1030 (overloaded_names): New hash table.
1031 (compute_overloading_index): New function.
1032 (dump_ada_decl_name): Call it and pass the result to
1033 pp_ada_tree_identifier.
1034 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1035 (dump_ada_function_declaration): Likewise.
1036 (dump_generic_ada_node): Likewise.
1037 (print_constructor): Likewise.
1038 (print_destructor): Likewise.
1039 (dump_ada_specs): Delete overloaded_names table.
1040
1041 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1042
1043 * c-ada-spec.c (max_ada_macros): Move around.
1044 (store_ada_macro_index): Likewise.
1045 (source_file): Rename into...
1046 (macro_source_file): ...this.
1047 (count_ada_macro): Move around.
1048 (store_ada_macro): Likewise.
1049 (compare_macro): Likewise.
1050 (print_ada_macros): Merge in...
1051 (dump_ada_macros): ...this.
1052 (source_file_base): Rename into...
1053 (current_source_file): ...this.
1054 (print_comment): Move around.
1055 (dump_ada_nodes): Call dump_ada_declaration directly.
1056 (struct with): Change type of limited field to bool.
1057 (append_withs): Change type of limited_access parameter to bool.
1058 (pp_ada_tree_identifie): Likewise.
1059 (dump_ada_decl_nam): Likewise.
1060 (dump_generic_ada_node): Likewise. Do not print the return type.
1061 (to_ada_name): Change type of space_found parameter to bool.
1062 (dump_ada_function_declaration): Return void and change type of
1063 parameters to bool. Also print the return type for a function.
1064 (print_ada_methods): Rename into...
1065 (dump_ada_methods): ...this.
1066 (print_ada_declaration): Rename into ...
1067 (dump_ada_declaration): ...this. Do not print the return type.
1068 (print_ada_struct_decl): Rename into...
1069 (dump_ada_struct_decl): ...this.
1070
1071 2017-09-29 Jakub Jelinek <jakub@redhat.com>
1072
1073 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
1074 rather than DECL_INITIAL.
1075 (common_handle_aligned_attribute): Likewise.
1076
1077 2017-09-20 Alexandre Oliva <aoliva@redhat.com>
1078
1079 * c.opt (gen-decls): Add RejectNegative.
1080
1081 2017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
1082 Jakub Jelinek <jakub@redhat.com>
1083
1084 Add support for -std=c++2a.
1085 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
1086 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
1087 * c-opts.c (set_std_cxx2a): New.
1088 (c_common_handle_option): Set options when -std=c++2a is enabled.
1089 (c_common_post_options): Adjust comments.
1090 (set_std_cxx14, set_std_cxx17): Likewise.
1091
1092 2017-09-15 Eric Botcazou <ebotcazou@adacore.com>
1093
1094 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
1095 message for non-uniform endianness and issue a warning in C++.
1096
1097 2017-09-15 Jakub Jelinek <jakub@redhat.com>
1098
1099 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
1100 (Wc++17-compat): Change from undocumented alias to option.
1101 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
1102 change C++1z to C++17 in description.
1103 (std=c++1z, std=gnu++1z): Change from option to undocumented
1104 deprecated alias.
1105 (std=c++17, std=gnu++17): Change from undocumented alias to option.
1106 Adjust description.
1107 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
1108 * c-opts.c (set_std_cxx1z): Rename to ...
1109 (set_std_cxx17): ... this.
1110 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
1111 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
1112 caller.
1113 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
1114 comments.
1115
1116 2017-09-12 H.J. Lu <hongjiu.lu@intel.com>
1117
1118 * c-attribs.c (common_handle_aligned_attribute): Don't warn
1119 function alignment if warn_if_not_aligned_p is true.
1120
1121 2017-09-12 Nathan Sidwell <nathan@acm.org>
1122
1123 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
1124 resort_sorted_fields): Move to c/c-decl.c.
1125 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
1126 (struct sorted_fields_type): Move to c/c-lang.h.
1127
1128 2017-09-09 Jonathan Wakely <jwakely@redhat.com>
1129
1130 PR c++/81852
1131 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
1132
1133 2017-09-04 Marek Polacek <polacek@redhat.com>
1134
1135 PR c/81783
1136 * c-warn.c (warn_tautological_bitwise_comparison): New function.
1137 (warn_tautological_cmp): Call it.
1138
1139 2017-09-01 Boris Kolpackov <boris@codesynthesis.com>
1140
1141 * c-opts.c (c_common_finish): Write dependency information even if
1142 there are errors.
1143
1144 2017-09-01 Jakub Jelinek <jakub@redhat.com>
1145
1146 PR c/81887
1147 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
1148 (omp_pragmas_simd): ... here.
1149 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
1150 create new clauses list containing just simd clause.
1151
1152 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1153 Alan Hayward <alan.hayward@arm.com>
1154 David Sherwood <david.sherwood@arm.com>
1155
1156 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
1157 into scalar_mode_supported_p call.
1158 (handle_mode_attribute): Update call to scalar_mode_supported_p.
1159
1160 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1161 Alan Hayward <alan.hayward@arm.com>
1162 David Sherwood <david.sherwood@arm.com>
1163
1164 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
1165 for the mode iterator.
1166
1167 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1168 Alan Hayward <alan.hayward@arm.com>
1169 David Sherwood <david.sherwood@arm.com>
1170
1171 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
1172 * c-common.c (c_build_vec_perm_expr): Likewise.
1173
1174 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1175 Alan Hayward <alan.hayward@arm.com>
1176 David Sherwood <david.sherwood@arm.com>
1177
1178 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
1179
1180 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1181 Alan Hayward <alan.hayward@arm.com>
1182 David Sherwood <david.sherwood@arm.com>
1183
1184 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
1185 before calling targetm.addr_space.valid_pointer_mode.
1186
1187 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1188 Alan Hayward <alan.hayward@arm.com>
1189 David Sherwood <david.sherwood@arm.com>
1190
1191 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
1192
1193 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1194 Alan Hayward <alan.hayward@arm.com>
1195 David Sherwood <david.sherwood@arm.com>
1196
1197 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
1198 iterators.
1199 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1200
1201 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1202 Alan Hayward <alan.hayward@arm.com>
1203 David Sherwood <david.sherwood@arm.com>
1204
1205 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
1206 case statements.
1207
1208 2017-08-29 Martin Liska <mliska@suse.cz>
1209
1210 PR other/39851
1211 * c-common.c (parse_optimize_options): Add argument to function
1212 call.
1213 * c-pragma.c (handle_pragma_diagnostic): Likewise.
1214
1215 2017-08-24 David Malcolm <dmalcolm@redhat.com>
1216
1217 * c-lex.c (interpret_float): Use token location
1218 when building an EXCESS_PRECISION_EXPR.
1219
1220 2017-08-21 David Malcolm <dmalcolm@redhat.com>
1221
1222 * c-common.c (check_function_arguments): Add "arglogs" param; pass
1223 it to check_function_format.
1224 * c-common.h (check_function_arguments): Add vec<location_t> *
1225 param.
1226 (check_function_format): Likewise.
1227 * c-format.c (struct format_check_context): Add field "arglocs".
1228 (check_function_format): Add param "arglocs"; pass it to
1229 check_format_info.
1230 (check_format_info): Add param "arglocs"; use it to initialize
1231 new field of format_ctx.
1232 (check_format_arg): Pass format_ctx->arglocs to new param of
1233 check_format_info_main.
1234 (class argument_parser): New field "arglocs".
1235 (argument_parser::argument_parser): Add "arglocs_" param and use
1236 it to initialize new field.
1237 (argument_parser::check_argument_type): Pass new arglocs field to
1238 check_format_types.
1239 (check_format_info_main): Add param "arglocs", and use it when
1240 constructing arg_parser.
1241 (check_format_types): Add param "arglocs"; use it if non-NULL when
1242 !EXPR_HAS_LOCATION (cur_param) to get at location information.
1243
1244 2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
1245
1246 PR c/53037
1247 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
1248 (c_common_attribute_table): Add warn_if_not_aligned.
1249 (handle_aligned_attribute): Renamed to ...
1250 (common_handle_aligned_attribute): Remove argument, name, and add
1251 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
1252 (handle_aligned_attribute): New.
1253 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
1254
1255 2017-08-14 Martin Sebor <msebor@redhat.com>
1256
1257 PR c/81117
1258 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
1259 (handle_nonstring_attribute): New function.
1260
1261 2017-08-14 Martin Sebor <msebor@redhat.com>
1262
1263 PR c/81117
1264 * c-format.h (T89_G): New macro.
1265 * c-format.c (local_gcall_ptr_node): New variable.
1266 (init_dynamic_diag_info): Initialize it.
1267
1268 2017-08-11 Martin Liska <mliska@suse.cz>
1269
1270 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
1271 TARGET_SUPPORTS_ALIASES.
1272
1273 2017-08-10 David Malcolm <dmalcolm@redhat.com>
1274
1275 * c-common.c (c_parse_error): Add rich_location * param, using it
1276 rather implicitly using input_location.
1277 * c-common.h (c_parse_error): Add rich_location * param.
1278
1279 2017-08-09 Marek Polacek <polacek@redhat.com>
1280
1281 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
1282 (c_common_truthvalue_conversion): Likewise.
1283 * c-omp.c (c_finish_omp_atomic): Likewise.
1284 * c-common.h (build_binary_op): Update declaration.
1285
1286 2017-08-08 Martin Liska <mliska@suse.cz>
1287
1288 * c-ada-spec.c: Include header files.
1289 * c-ubsan.c: Likewise.
1290 * c-warn.c: Likewise.
1291
1292 2017-08-07 Jakub Jelinek <jakub@redhat.com>
1293
1294 PR c/69389
1295 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
1296
1297 2017-08-07 Eric Botcazou <ebotcazou@adacore.com>
1298
1299 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
1300 (print_ada_methods): Likewise.
1301 (print_ada_declaration): Likewise.
1302
1303 2017-08-07 Martin Liska <mliska@suse.cz>
1304
1305 * array-notation-common.c: Add new includes.
1306 * c-format.c( handle_format_attribute): Canonicalize a format
1307 function name.
1308 * c-lex.c (c_common_has_attribute): Canonicalize name of an
1309 attribute.
1310 * c-pretty-print.c: Add new include.
1311
1312 2017-08-05 Eric Botcazou <ebotcazou@adacore.com>
1313
1314 * c-ada-spec.c (has_static_fields): Look only into variables.
1315 (print_constructor): Add TYPE parameter and use it for the name.
1316 (print_destructor): Likewise.
1317 (print_ada_declaration): Adjust to new constructor/destructor names.
1318 Adjust calls to print_constructor and print_destructor.
1319 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
1320 Look only into variables in the final loop.
1321
1322 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
1323
1324 * c-ada-spec.c (has_static_fields): Look only into fields.
1325 (dump_generic_ada_node): Small tweak.
1326 (dump_nested_types): Look only into fields.
1327 (print_ada_declaration): Look only into methods. Small tweak.
1328 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
1329
1330 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
1331
1332 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
1333 (dump_ada_function_declaration): Likewise.
1334 (dump_generic_ada_node): Likewise.
1335 (print_ada_declaration): Add support for const-qualified variables.
1336
1337 2017-07-31 Martin Liska <mliska@suse.cz>
1338
1339 PR sanitize/81530
1340 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
1341 Guard condition with flag_sanitize_p also with current_function_decl
1342 non-null equality.
1343 (ubsan_maybe_instrument_reference_or_call): Likewise.
1344
1345 2017-07-30 Uros Bizjak <ubizjak@gmail.com>
1346
1347 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
1348
1349 2017-07-29 Eric Botcazou <ebotcazou@adacore.com>
1350
1351 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
1352 for enumeral types.
1353 (print_ada_declaration): Add missing guard for record types.
1354
1355 2017-07-27 Jakub Jelinek <jakub@redhat.com>
1356
1357 PR c/45784
1358 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
1359 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
1360 new COMPOUND_EXPRs around the rhs of the comparison.
1361
1362 2017-07-27 Marek Polacek <polacek@redhat.com>
1363
1364 PR c/81417
1365 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
1366 the types.
1367
1368 2017-07-27 Jakub Jelinek <jakub@redhat.com>
1369
1370 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
1371 (handle_noipa_attribute): New function.
1372
1373 2017-07-07 Torsten Duwe <duwe@suse.de>
1374
1375 * c-attribs.c (c_common_attribute_table): Add entry for
1376 "patchable_function_entry".
1377
1378 2017-07-20 Nathan Sidwell <nathan@acm.org>
1379
1380 Remove TYPE_METHODS.
1381 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
1382 dump_ada_template, print_ada_methods,
1383 print_ada_declaration): Member fns are on TYPE_FIELDS.
1384
1385 2017-07-18 Nathan Sidwell <nathan@acm.org>
1386
1387 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
1388
1389 2017-07-14 David Malcolm <dmalcolm@redhat.com>
1390
1391 * c-common.c (try_to_locate_new_include_insertion_point): New
1392 function.
1393 (per_file_includes_t): New typedef.
1394 (added_includes_t): New typedef.
1395 (added_includes): New variable.
1396 (maybe_add_include_fixit): New function.
1397 * c-common.h (maybe_add_include_fixit): New decl.
1398
1399 2017-07-10 Martin Sebor <msebor@redhat.com>
1400
1401 PR other/81345
1402 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
1403
1404 2017-07-06 David Malcolm <dmalcolm@redhat.com>
1405
1406 * c-common.c (selftest::c_family_tests): New.
1407 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
1408 (selftest::c_family_tests): New decl.
1409
1410 2017-07-04 Marek Polacek <polacek@redhat.com>
1411
1412 PR c/81231
1413 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
1414 types.
1415
1416 2017-07-04 Marek Polacek <polacek@redhat.com>
1417
1418 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
1419
1420 2017-06-28 Martin Liska <mliska@suse.cz>
1421
1422 PR ipa/81128
1423 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
1424 to a function declaration.
1425
1426 2017-06-28 Martin Liska <mliska@suse.cz>
1427
1428 PR driver/79659
1429 * c.opt: Add IntegerRange to various options.
1430
1431 2017-06-26 Marek Polacek <polacek@redhat.com>
1432
1433 PR c/80116
1434 * c-common.h (warn_for_multistatement_macros): Declare.
1435 * c-warn.c: Include "c-family/c-indentation.h".
1436 (warn_for_multistatement_macros): New function.
1437 * c.opt (Wmultistatement-macros): New option.
1438 * c-indentation.c (guard_tinfo_to_string): No longer static.
1439 Change the parameter type to "enum rid". Handle RID_SWITCH.
1440 * c-indentation.h (guard_tinfo_to_string): Declare.
1441
1442 2017-06-23 Marc Glisse <marc.glisse@inria.fr>
1443
1444 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
1445
1446 2017-06-15 Martin Sebor <msebor@redhat.com>
1447
1448 PR c++/80560
1449 * c.opt (-Wclass-memaccess): New option.
1450
1451 2017-06-14 Boris Kolpackov <boris@codesynthesis.com>
1452
1453 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
1454
1455 2017-06-13 Marek Polacek <polacek@redhat.com>
1456
1457 PR objc/80949
1458 * c-warn.c (do_warn_duplicated_branches): Return if any of the
1459 branches is null.
1460
1461 2017-06-13 Martin Liska <mliska@suse.cz>
1462
1463 PR sanitize/78204
1464 * c-attribs.c (add_no_sanitize_value): New function.
1465 (handle_no_sanitize_attribute): Likewise.
1466 (handle_no_sanitize_address_attribute): Use the function.
1467 (handle_no_sanitize_thread_attribute): New function.
1468 (handle_no_address_safety_analysis_attribute): Use
1469 add_no_sanitize_value.
1470 (handle_no_sanitize_undefined_attribute): Likewise.
1471 * c-common.h: Declare new functions.
1472 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
1473 (ubsan_instrument_shift): Likewise.
1474 (ubsan_instrument_bounds): Likewise.
1475 (ubsan_maybe_instrument_array_ref): Likewise.
1476 (ubsan_maybe_instrument_reference_or_call): Likewise.
1477
1478 2017-06-11 Jason Merrill <jason@redhat.com>
1479
1480 * c-ada-spec.c, c-pragma.c: Use id_equal.
1481
1482 2017-06-04 Marek Polacek <polacek@redhat.com>
1483
1484 PR c/80919
1485 * c-format.c (matching_type_p): Return false if any of the types
1486 requires structural equality.
1487
1488 2017-06-02 Martin Sebor <msebor@redhat.com>
1489
1490 PR c/80892
1491 * c-warn.c (conversion_warning): Use -Wconversion for integer
1492 conversion and -Wfloat-conversion for floating one.
1493
1494 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1495
1496 * c.opt (Wsizeof-pointer-div): New warning option.
1497
1498 2017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
1499
1500 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
1501 (Wcatch-value=1): Enable by -Wall.
1502
1503 2017-05-30 David Malcolm <dmalcolm@redhat.com>
1504
1505 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
1506 format_chars.
1507 * c.opt (fdiagnostics-show-template-tree): New option.
1508 (felide-type): New option.
1509
1510 2017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
1511
1512 * c.opt (Wcatch-value=): New C++ warning flag.
1513
1514 2017-05-24 Nathan Sidwell <nathan@acm.org>
1515
1516 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
1517 const casts to avoid warning.
1518
1519 2017-05-24 Martin Sebor <msebor@redhat.com>
1520
1521 PR c/80731
1522 * c-common.h (unsafe_conversion_p): Add a function argument.
1523 * c-common.c (unsafe_conversion_p): Same.
1524 Add type names and values to diagnostics.
1525 (scalar_to_vector): Adjust.
1526 * c-warn.c (constant_expression_error): Add a function argument.
1527 Add type names and values to diagnostics.
1528 (conversion_warning): Add a function argument.
1529 Add type names and values to diagnostics.
1530 (warnings_for_convert_and_check): Same.
1531
1532 2017-05-19 Jason Merrill <jason@redhat.com>
1533
1534 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
1535 enumerators.
1536
1537 2017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1538
1539 * c-format.c (locus): Move out of function scope,
1540 add GTY attribute.
1541
1542 2017-05-19 Nathan Sidwell <nathan@acm.org>
1543
1544 * c-opts.c (class_dump_file, class_dump_flags): Delete.
1545 (c_common_parse_file): Remove class dump handling.
1546 (get_dump_info): Likewise.
1547
1548 2017-05-19 Richard Biener <rguenther@suse.de>
1549
1550 PR c++/80593
1551 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
1552 to alias-set zero memory.
1553
1554 2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
1555
1556 * c-format.c (local_tree_type_node): Add GTY attribute.
1557
1558 2017-05-18 Marek Polacek <polacek@redhat.com>
1559
1560 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
1561 (c_common_fixed_point_type_for_size): Likewise.
1562 (c_common_type_for_mode): Likewise.
1563 (shorten_compare): Likewise.
1564 (c_promoting_integer_type_p): Use false/true instead of 0/1.
1565 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
1566
1567 2017-05-18 Marek Polacek <polacek@redhat.com>
1568
1569 * c-common.c (self_promoting_args_p): Change the return type to bool.
1570 Use false/true instead of 0/1.
1571 * c-common.h (self_promoting_args_p): Update.
1572
1573 2017-05-17 Marek Polacek <polacek@redhat.com>
1574
1575 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
1576 * c-warn.c: Likewise.
1577
1578 2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
1579
1580 Implement new C++ intrinsics __is_assignable and __is_constructible.
1581 * c-common.c (__is_assignable, __is_constructible): New.
1582 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
1583
1584 2017-05-17 Martin Liska <mliska@suse.cz>
1585
1586 * c-common.h: Introduce dump_flags_t type and
1587 use it instead of int type.
1588 * c-gimplify.c (c_genericize): Likewise.
1589 * c-opts.c: Likewise.
1590
1591 2017-05-17 Marek Polacek <polacek@redhat.com>
1592
1593 * c-common.c (c_save_expr): Remove.
1594 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
1595 * c-common.h (c_save_expr): Remove declaration.
1596
1597 2017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
1598
1599 PR c/35441
1600 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
1601 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
1602 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
1603 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
1604 RDIV_EXPR.
1605 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
1606
1607 2017-05-09 Marek Polacek <polacek@redhat.com>
1608
1609 PR c/80525
1610 * c-warn.c (unwrap_c_maybe_const): New.
1611 (warn_logical_operator): Call it.
1612
1613 2017-05-09 Nathan Sidwell <nathan@acm.org>
1614
1615 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
1616 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
1617
1618 2017-05-08 Martin Sebor <msebor@redhat.com>
1619
1620 PR translation/80280
1621 * c-format.h (struct format_flag_spec): Add new member.
1622 (T89_T): New macro.
1623 * c-format.c (local_tree_type_node): New global.
1624 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
1625 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
1626 (strfmon_flag_specs): Likewise.
1627 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
1628 with distinct quoting properties.
1629 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
1630 (flag_chars_t::validate): Add argument and handle bad quoting.
1631 (check_format_info_main): Handle quoting problems.
1632 (init_dynamic_diag_info): Simplify.
1633
1634 2017-05-08 Jason Merrill <jason@redhat.com>
1635
1636 * c-opts.c (c_common_post_options): Update defaults for
1637 flag_abi_version and flag_abi_compat_version.
1638
1639 2017-05-05 David Malcolm <dmalcolm@redhat.com>
1640
1641 * c-common.c (c_cpp_error): Replace report_diagnostic
1642 with diagnostic_report_diagnostic.
1643
1644 2017-05-04 Martin Sebor <msebor@redhat.com>
1645
1646 PR translation/80280
1647 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
1648 (handle_weakref_attribute): Same.
1649
1650 2017-05-03 Nathan Sidwell <nathan@acm.org>
1651
1652 Canonicalize canonical type hashing
1653 * c-common.c (complete_array_type): Use type_hash_canon.
1654
1655 2017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
1656
1657 PR c++/80038
1658 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
1659 prototype.
1660 (cilk_install_body_pedigree_operations): Likewise.
1661 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
1662 detatched.
1663 (cilk_gimplify_call_params_in_spawned_fn): Remove.
1664 (cilk_install_body_pedigree_operations): Likewise.
1665 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
1666 unwrapping.
1667
1668 2017-04-27 Jakub Jelinek <jakub@redhat.com>
1669
1670 PR c++/80534
1671 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
1672 flag on non-aggregate element types.
1673
1674 2017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
1675
1676 * c-common.c (c_type_hasher, type_hash_table): Remove.
1677 (c_common_get_alias_set): Remove unreachable code.
1678 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
1679
1680 2017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
1681
1682 * c.opt (Wextra-semi): New C++ warning flag.
1683
1684 2017-04-20 Jakub Jelinek <jakub@redhat.com>
1685
1686 PR middle-end/80423
1687 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
1688
1689 2017-04-18 Jakub Jelinek <jakub@redhat.com>
1690
1691 PR middle-end/79788
1692 PR middle-end/80375
1693 * c-common.c (c_common_type_for_mode): Don't handle
1694 widest_*_literal_type_node here.
1695 c_common_signed_or_unsigned_type): Likewise.
1696 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
1697 to *intTI_type_node or *intDI_type_node depending on whether
1698 TImode is supported by the target or not.
1699
1700 2017-04-10 Martin Liska <mliska@suse.cz>
1701
1702 PR sanitizer/80350
1703 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
1704 doing an UBSAN check.
1705
1706 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
1707
1708 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
1709
1710 2017-03-31 Jakub Jelinek <jakub@redhat.com>
1711
1712 PR c++/79572
1713 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
1714 tree *.
1715 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
1716 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
1717 REFERENCE_TYPE.
1718
1719 2017-03-31 David Malcolm <dmalcolm@redhat.com>
1720
1721 PR documentation/78732
1722 * c.opt (Wendif-labels): Fix description to refer to
1723 #else rather than #elif.
1724
1725 2017-03-31 Jakub Jelinek <jakub@redhat.com>
1726
1727 PR libstdc++/80251
1728 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
1729 * c-common.c (c_common_reswords): Add __is_aggregate trait.
1730
1731 2017-03-27 Jakub Jelinek <jakub@redhat.com>
1732
1733 PR middle-end/80162
1734 * c-common.c (c_common_mark_addressable_vec): Don't set
1735 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
1736
1737 2017-03-21 Martin Sebor <msebor@redhat.com>
1738
1739 PR c++/79548
1740 * c-common.c (set_underlying_type): Mark type used only when
1741 original del is declared unused.
1742
1743 2017-03-10 David Malcolm <dmalcolm@redhat.com>
1744
1745 PR translation/79848
1746 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
1747 "%qs".
1748
1749 2017-03-10 David Malcolm <dmalcolm@redhat.com>
1750
1751 PR c/79921
1752 * c-indentation.c (warn_for_misleading_indentation): Remove parens
1753 from inform's message, so that xgettext can locate it.
1754
1755 2017-03-09 Marek Polacek <polacek@redhat.com>
1756
1757 PR c++/79962
1758 PR c++/79984
1759 * c-attribs.c (handle_nonnull_attribute): Save the result of default
1760 conversion to the attribute list.
1761
1762 2017-03-09 Martin Liska <mliska@suse.cz>
1763
1764 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
1765
1766 2017-03-03 Jason Merrill <jason@redhat.com>
1767
1768 * c.opt (Wnoexcept-type): New.
1769
1770 2017-03-02 Richard Biener <rguenther@suse.de>
1771
1772 PR c/79756
1773 * c-common.c (c_common_mark_addressable_vec): Look through
1774 C_MAYBE_CONST_EXPR.
1775
1776 2017-02-28 Martin Liska <mliska@suse.cz>
1777
1778 * c.opt: Replace space with tabular for options of <number>
1779 type.
1780
1781 2017-02-28 Martin Liska <mliska@suse.cz>
1782
1783 * c.opt: Fix --help=option -Q for options which are of
1784 an enum type.
1785
1786 2017-02-24 Jakub Jelinek <jakub@redhat.com>
1787
1788 PR c++/79588
1789 * c-common.c (check_function_restrict): New function.
1790 (check_function_arguments): Add FNDECL argument. Call
1791 check_function_restrict if -Wrestrict.
1792 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
1793 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
1794 * c-common.h (check_function_arguments): Add FNDECL argument.
1795 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
1796
1797 2017-02-24 Eric Botcazou <ebotcazou@adacore.com>
1798
1799 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
1800 treatment of parameters with pointer-to-tagged type and tidy up.
1801 (print_ada_methods): Remove the special treatment of C++ static member
1802 functions.
1803
1804 2017-02-22 Martin Liska <mliska@suse.cz>
1805
1806 * c.opt: Replace inequality signs with square brackets
1807 for -Wnornalized.
1808
1809 2017-02-21 Jakub Jelinek <jakub@redhat.com>
1810
1811 PR c++/79641
1812 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
1813 preserve quals.
1814
1815 2017-02-17 Joseph Myers <joseph@codesourcery.com>
1816
1817 * c-cppbuiltin.c (builtin_define_float_constants): Define
1818 __DECIMAL_DIG__ to the value for long double.
1819
1820 2017-02-15 Marek Polacek <polacek@redhat.com>
1821
1822 PR c/79515
1823 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
1824 conversion has occured.
1825
1826 2017-01-24 David Malcolm <dmalcolm@redhat.com>
1827
1828 * c-common.c (c_common_reswords): Add "__RTL".
1829 * c-common.h (enum rid): Add RID_RTL.
1830
1831 2017-01-20 Marek Polacek <polacek@redhat.com>
1832
1833 PR c/64279
1834 * c-common.h (do_warn_duplicated_branches_r): Declare.
1835 * c-gimplify.c (c_genericize): Walk the function tree calling
1836 do_warn_duplicated_branches_r.
1837 * c-warn.c (expr_from_macro_expansion_r): New.
1838 (do_warn_duplicated_branches): New.
1839 (do_warn_duplicated_branches_r): New.
1840 * c.opt (Wduplicated-branches): New option.
1841
1842 2017-01-17 David Malcolm <dmalcolm@redhat.com>
1843
1844 PR c++/71497
1845 * c-indentation.c (warn_for_misleading_indentation): Use the past
1846 subjunctive in the note.
1847
1848 2017-01-17 Aldy Hernandez <aldyh@redhat.com>
1849
1850 PR c/79116
1851 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
1852 start type to integer_type.
1853
1854 2017-01-16 Jakub Jelinek <jakub@redhat.com>
1855
1856 PR driver/49726
1857 * c.opt (gen-decls): Add Driver flag.
1858
1859 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1860
1861 Revert:
1862 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1863
1864 PR c++/71737
1865 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
1866
1867 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1868
1869 PR c++/71737
1870 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
1871
1872 2017-01-12 Martin Sebor <msebor@redhat.com>
1873
1874 (-Wformat-overflow): ...to this.
1875
1876 2017-01-11 Martin Sebor <msebor@redhat.com>
1877
1878 PR c/78768
1879 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
1880 Also enable for LTO.
1881
1882 2017-01-10 Jason Merrill <jason@redhat.com>
1883
1884 Implement P0195R2, C++17 variadic using.
1885 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
1886
1887 2017-01-09 Jakub Jelinek <jakub@redhat.com>
1888
1889 PR translation/79019
1890 PR translation/79020
1891 * c.opt (Wnormalized=): Fix typo in description.
1892
1893 2017-01-08 Martin Sebor <msebor@redhat.com>
1894
1895 PR middle-end/77708
1896 * c.opt (-Wformat-truncation): New option.
1897
1898 2017-01-06 Alexandre Oliva <aoliva@redhat.com>
1899
1900 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
1901 value to unsigned short to fit in 4 hex digits without
1902 warnings.
1903
1904 2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
1905
1906 * c.opt (fsso-struct): Add 'native' value.
1907
1908 2017-01-05 Martin Liska <mliska@suse.cz>
1909
1910 PR pch/78970
1911 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
1912 header.
1913
1914 2017-01-04 Marek Polacek <polacek@redhat.com>
1915
1916 PR c++/64767
1917 * c.opt (Wpointer-compare): New option.
1918
1919 2017-01-04 Jakub Jelinek <jakub@redhat.com>
1920
1921 PR driver/78957
1922 * c.opt (fsso-struct=): Add RejectNegative.
1923
1924 2017-01-01 Jakub Jelinek <jakub@redhat.com>
1925
1926 Update copyright years.
1927
1928 2016-12-29 Martin Liska <mliska@suse.cz>
1929
1930 PR c/78933
1931 * c.opt (strong-eval-order): Add RejectNegative keyword.
1932
1933 2016-12-22 Jason Merrill <jason@redhat.com>
1934
1935 Implement P0522R0, matching of template template arguments.
1936 * c-cppbuiltin.c (c_cpp_builtins): Define
1937 __cpp_template_template_args.
1938
1939 2016-12-21 Jakub Jelinek <jakub@redhat.com>
1940
1941 PR bootstrap/78817
1942 * c-common.c (struct nonnull_arg_ctx): New type.
1943 (check_function_nonnull): Return bool instead of void. Use
1944 nonnull_arg_ctx as context rather than just location_t.
1945 (check_nonnull_arg): Adjust for the new context type, set
1946 warned_p to true if a warning has been diagnosed.
1947 (check_function_arguments): Return bool instead of void.
1948 * c-common.h (check_function_arguments): Adjust prototype.
1949
1950 2016-12-21 Jason Merrill <jason@redhat.com>
1951
1952 * c.opt (-fnew-ttp-matching): New flag.
1953 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
1954
1955 2016-12-14 Martin Jambor <mjambor@suse.cz>
1956
1957 * c-omp.c: Include omp-general.h instead of omp-low.h.
1958 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
1959 name.
1960
1961 2016-12-14 Martin Sebor <msebor@redhat.com>
1962
1963 PR c/17308
1964 * c-common.c (check_nonnull_arg): Disable when optimization
1965 is enabled.
1966
1967 2016-12-12 Marek Polacek <polacek@redhat.com>
1968
1969 PR c++/78647
1970 * c-common.c (attribute_fallthrough_p): Return false for
1971 error_mark_node.
1972
1973 2016-12-08 Martin Sebor <msebor@redhat.com>
1974
1975 PR c/78284
1976 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
1977
1978 2016-12-08 Martin Sebor <msebor@redhat.com>
1979
1980 PR c/78165
1981 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
1982 suffix.
1983
1984 2016-12-07 Martin Sebor <msebor@redhat.com>
1985
1986 PR c/53562
1987 PR middle-end/77784
1988 PR middle-end/78149
1989 PR middle-end/78138
1990 * c.opt (-Wstringop-overflow): New option.
1991
1992 2016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
1993
1994 * c-attribs.c (asan odr indicator): New attribute.
1995 (handle_asan_odr_indicator_attribute): New function.
1996
1997 2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1998
1999 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
2000 ptrdiff_type_node;
2001
2002 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2003
2004 * c-common.c (excess_precision_mode_join): New.
2005 (c_ts18661_flt_eval_method): New.
2006 (c_c11_flt_eval_method): Likewise.
2007 (c_flt_eval_method): Likewise.
2008 * c-common.h (excess_precision_mode_join): New.
2009 (c_flt_eval_method): Likewise.
2010 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
2011 (cpp_iec_559_value): Call it.
2012 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
2013 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
2014 __FLT_EVAL_METHOD_TS_18661_3__.
2015
2016 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2017
2018 * c-opts.c (c_common_post_options): Add logic to handle the default
2019 case for -fpermitted-flt-eval-methods.
2020
2021 2016-11-23 Paolo Bonzini <bonzini@gnu.org>
2022
2023 * c.opt (Wexpansion-to-defined): New.
2024
2025 2016-11-23 Jakub Jelinek <jakub@redhat.com>
2026
2027 PR target/78451
2028 * c-pragma.c (handle_pragma_target): Don't replace
2029 current_target_pragma, but chainon the new args to the current one.
2030
2031 2016-11-22 Nathan Sidwell <nathan@acm.org>
2032
2033 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
2034 indentation and formatting.
2035
2036 2016-11-21 Martin Sebor <msebor@redhat.com>
2037
2038 * c.opt (-fprintf-return-value): Enable by default.
2039
2040 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2041
2042 PR c++/71973
2043 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
2044 * c-common.c (c_common_nodes_and_builtins): Initialize
2045 const_tm_ptr_type_node.
2046
2047 2016-11-16 Marek Polacek <polacek@redhat.com>
2048
2049 PR c/78285
2050 * c-common.c (c_add_case_label): Turn error_at calls into inform.
2051
2052 2016-11-14 Jakub Jelinek <jakub@redhat.com>
2053
2054 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
2055
2056 2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
2057 Richard Biener <rguenther@suse.de>
2058
2059 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
2060 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
2061 * c.opt (fgimple): New option.
2062
2063 2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2064
2065 PR c/35503
2066 * c-common.h (warn_for_restrict): Declare.
2067 * c-warn.c: Include gcc-rich-location.h.
2068 (warn_for_restrict): New function.
2069 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
2070 (gcc_cdiag_char_table): Likewise.
2071 (gcc_cxxdiag_char_table): Likewise.
2072 * c.opt (Wrestrict): New option.
2073
2074 2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
2075
2076 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
2077 for nested types only if the type is a record or union and dump SLOC.
2078
2079 2016-11-09 Jason Merrill <jason@redhat.com>
2080
2081 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
2082
2083 2016-11-09 Jakub Jelinek <jakub@redhat.com>
2084
2085 * c-ubsan.c (ubsan_instrument_shift): Handle split
2086 -fsanitize=shift-base and -fsanitize=shift-exponent.
2087
2088 2016-11-07 Jason Merrill <jason@redhat.com>
2089
2090 * c.opt (Wc++1z-compat): New.
2091 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
2092
2093 2016-11-07 Martin Liska <mliska@suse.cz>
2094
2095 * c-warn.c (warn_for_unused_label): Save all labels used
2096 in goto or in &label.
2097
2098 2016-11-03 Jason Merrill <jason@redhat.com>
2099
2100 * c-cppbuiltin.c (c_cpp_builtins): Correct
2101 __cpp_inheriting_constructors.
2102
2103 2016-11-01 Jason Merrill <jason@redhat.com>
2104
2105 * c-cppbuiltin.c (c_cpp_builtins): Update
2106 __cpp_inheriting_constructors.
2107
2108 * c.opt (-fnew-inheriting-ctors): New.
2109 * c-opts.c: Default to on for ABI 11+.
2110
2111 2016-10-31 Jakub Jelinek <jakub@redhat.com>
2112
2113 PR c++/77948
2114 * c.opt (fext-numeric-literals): Add Var and Init.
2115 * c-opts.c (c_common_handle_option): Don't clear
2116 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
2117 (c_common_post_options): Clear it here if not set
2118 explicitly.
2119
2120 2016-10-28 Aldy Hernandez <aldyh@redhat.com>
2121
2122 PR debug/77773
2123 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
2124 if NULL.
2125
2126 2016-10-25 Jakub Jelinek <jakub@redhat.com>
2127
2128 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
2129 * c-common.c (c_common_reswords): Add __builtin_launder.
2130
2131 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
2132
2133 * c-common.c (c_common_truthvalue_conversion): Warn for
2134 multiplications in boolean context. Fix the quoting of '<<' and '<'
2135 in the shift warning.
2136
2137 2016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
2138
2139 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
2140
2141 2016-10-20 Jason Merrill <jason@redhat.com>
2142
2143 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
2144
2145 2016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2146
2147 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
2148 integer shift ops in boolean context.
2149
2150 2016-10-18 Aldy Hernandez <aldyh@redhat.com>
2151
2152 * c.opt (Walloca): New.
2153 (Walloca-larger-than=): New.
2154 (Wvla-larger-than=): New.
2155
2156 2016-10-17 Marek Polacek <polacek@redhat.com>
2157
2158 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
2159 Return immediately when finding a match.
2160 (warn_tautological_cmp): Remove a boolean variable that is no longer
2161 needed.
2162
2163 2016-10-17 Marek Polacek <polacek@redhat.com>
2164
2165 * c-attribs.c: New file.
2166 * c-common.c: Move attributes handling to c-attribs.c.
2167 (get_nonnull_operand): No longer static.
2168 * c-common.h: Move the declarations from c-attribs.c to its own section.
2169
2170 2016-10-14 Jason Merrill <jason@redhat.com>
2171
2172 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
2173 and __cpp_deduction_guides.
2174
2175 2016-10-13 Jason Merrill <jason@redhat.com>
2176
2177 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
2178
2179 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2180
2181 * c-cppbuiltin.c: Include memmodel.h.
2182 * c-opts.c: Likewise.
2183 * c-pragma.c: Likewise.
2184 * c-warn.c: Likewise.
2185
2186 2016-10-12 Jakub Jelinek <jakub@redhat.com>
2187
2188 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
2189 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
2190 * c-opts.c (sanitize_cpp_opts): Initialize
2191 cpp_opts->cpp_warn_implicit_fallthrough.
2192
2193 2016-10-11 Marek Polacek <polacek@redhat.com>
2194
2195 * c-common.c (warning_candidate_p): Change the return type to bool
2196 and return true/false instead of 1/0.
2197 (vector_mode_valid_p): Likewise.
2198
2199 2016-10-11 Marek Polacek <polacek@redhat.com>
2200
2201 * c-common.c (fold_for_warn): No longer static.
2202 (bool_promoted_to_int_p): Likewise.
2203 (c_common_get_narrower): Likewise.
2204 (constant_expression_warning): Move to c-warn.c.
2205 (constant_expression_error): Likewise.
2206 (overflow_warning): Likewise.
2207 (warn_logical_operator): Likewise.
2208 (find_array_ref_with_const_idx_r): Likewise.
2209 (warn_tautological_cmp): Likewise.
2210 (expr_has_boolean_operands_p): Likewise.
2211 (warn_logical_not_parentheses): Likewise.
2212 (warn_if_unused_value): Likewise.
2213 (strict_aliasing_warning): Likewise.
2214 (sizeof_pointer_memaccess_warning): Likewise.
2215 (check_main_parameter_types): Likewise.
2216 (conversion_warning): Likewise.
2217 (warnings_for_convert_and_check): Likewise.
2218 (match_case_to_enum_1): Likewise.
2219 (match_case_to_enum): Likewise.
2220 (c_do_switch_warnings): Likewise.
2221 (warn_for_omitted_condop): Likewise.
2222 (readonly_error): Likewise.
2223 (lvalue_error): Likewise.
2224 (invalid_indirection_error): Likewise.
2225 (warn_array_subscript_with_type_char): Likewise.
2226 (warn_about_parentheses): Likewise.
2227 (warn_for_unused_label): Likewise.
2228 (warn_for_div_by_zero): Likewise.
2229 (warn_for_memset): Likewise.
2230 (warn_for_sign_compare): Likewise.
2231 (do_warn_double_promotion): Likewise.
2232 (do_warn_unused_parameter): Likewise.
2233 (record_locally_defined_typedef): Likewise.
2234 (maybe_record_typedef_use): Likewise.
2235 (maybe_warn_unused_local_typedefs): Likewise.
2236 (maybe_warn_bool_compare): Likewise.
2237 (maybe_warn_shift_overflow): Likewise.
2238 (warn_duplicated_cond_add_or_warn): Likewise.
2239 (diagnose_mismatched_attributes): Likewise.
2240 * c-common.h: Move the declarations from c-warn.c to its own section.
2241 * c-warn.c: New file.
2242
2243 2016-10-08 Jason Merrill <jason@redhat.com>
2244
2245 * c-common.c (c_common_truthvalue_conversion): Don't distribute
2246 into COND_EXPR in C++.
2247
2248 2016-10-08 Jakub Jelinek <jakub@redhat.com>
2249
2250 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
2251 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
2252 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
2253
2254 2016-10-07 Jakub Jelinek <jakub@redhat.com>
2255
2256 Implement LWG2296 helper intrinsic
2257 * c-common.h (enum rid): Add RID_ADDRESSOF.
2258 * c-common.c (c_common_reswords): Add __builtin_addressof.
2259
2260 2016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
2261
2262 PR c++/77700
2263 * c-common.c (c_common_truthvalue_conversion): Warn also for
2264 suspicious enum values in boolean context.
2265
2266 2016-10-06 Jakub Jelinek <jakub@redhat.com>
2267
2268 Implement P0258R2 - helper for C++17
2269 std::has_unique_object_representations trait
2270 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
2271 * c-common.c (c_common_reswords): Add
2272 __has_unique_object_representations.
2273
2274 2016-10-05 Jakub Jelinek <jakub@redhat.com>
2275
2276 PR sanitizer/66343
2277 * c-ubsan.c (ubsan_instrument_return): Don't call
2278 initialize_sanitizer_builtins here.
2279
2280 2016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2281
2282 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
2283 conditional expression in boolean context when only one arm is
2284 non-boolean.
2285
2286 2016-10-05 Jakub Jelinek <jakub@redhat.com>
2287
2288 PR sanitizer/77823
2289 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
2290 is not integral.
2291
2292 * c-common.c (c_common_reswords): Update comment for C++11.
2293
2294 2016-10-04 Jason Merrill <jason@redhat.com>
2295
2296 * c-common.c (make_tree_vector_from_ctor): New.
2297 * c-common.h: Declare it.
2298
2299 2016-10-04 Jakub Jelinek <jakub@redhat.com>
2300
2301 * c-cppbuiltin.c (c_cpp_builtins): Don't define
2302 __LIBGCC_JCR_SECTION_NAME__.
2303
2304 2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
2305
2306 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
2307 left shift in boolean context.
2308
2309 2016-09-29 Jakub Jelinek <jakub@redhat.com>
2310
2311 Implement P0001R1 - C++17 removal of register storage class specifier
2312 * c.opt (Wregister): New warning.
2313 * c-opts.c (c_common_post_options): Enable -Wregister by
2314 default for C++17.
2315
2316 2016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
2317
2318 * c-opts.c (c_common_post_options): Remove special case for
2319 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
2320 in C++.
2321
2322 2016-09-27 Jakub Jelinek <jakub@redhat.com>
2323
2324 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
2325 -std=c++1z.
2326
2327 * c-ada-spec.c (print_ada_declaration): Remove break after return.
2328
2329 2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
2330
2331 * c-common.c: Include memmodel.h.
2332
2333 2016-09-26 Marek Polacek <polacek@redhat.com>
2334
2335 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
2336
2337 2016-09-26 Marek Polacek <polacek@redhat.com>
2338
2339 PR c/7652
2340 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
2341 (handle_fallthrough_attribute): New function.
2342 (attribute_fallthrough_p): New function.
2343 * c-common.h (attribute_fallthrough_p): Declare.
2344
2345 2016-09-24 Marek Polacek <polacek@redhat.com>
2346
2347 PR c/77490
2348 * c.opt (Wbool-operation): New.
2349
2350 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2351
2352 * c-common.c (c_common_truthvalue_conversion): Inhibit
2353 Wint-in-bool-context warning with from_macro_definition_at.
2354 Mention the expression will always evaluate to true.
2355
2356 2016-09-21 Martin Sebor <msebor@redhat.com>
2357
2358 PR bootstrap/77676
2359 * c.opt (fprintf-return-value): Temporarily initialize to zero
2360 to unblock bootstrap failures.
2361
2362 2016-09-21 Jakub Jelinek <jakub@redhat.com>
2363
2364 PR c++/77651
2365 * c.opt (Waligned-new=): Add RejectNegative.
2366 (faligned-new=): Likewise. Spelling fix - change
2367 aligned_new_threshhold to aligned_new_threshold.
2368 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
2369 to aligned_new_threshold.
2370
2371 2016-09-20 Martin Sebor <msebor@redhat.com>
2372
2373 PR middle-end/49905
2374 * c.opt: Add -Wformat-length and -fprintf-return-value.
2375
2376 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2377
2378 PR c++/77434
2379 * c.opt (Wint-in-bool-context): New warning.
2380 * c-common.c (c_common_truthvalue_conversion): Warn on integer
2381 constants in boolean context.
2382
2383 2016-09-19 Joseph Myers <joseph@codesourcery.com>
2384
2385 * c-common.c (max_align_t_align): Also consider alignment of
2386 float128_type_node.
2387
2388 2016-09-15 Jason Merrill <jason@redhat.com>
2389
2390 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
2391 DECL_EXTERNAL.
2392
2393 2016-09-14 Jason Merrill <jason@redhat.com>
2394
2395 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
2396 limit FIELD_DECL, either.
2397
2398 2016-09-14 Marek Polacek <polacek@redhat.com>
2399
2400 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
2401 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
2402 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
2403
2404 2016-09-13 David Malcolm <dmalcolm@redhat.com>
2405
2406 * c-common.c (warn_logical_not_parentheses): Replace
2407 rich_location::add_fixit_insert calls with add_fixit_insert_before
2408 and add_fixit_insert_after, eliminating the "next_loc" calculation.
2409
2410 2016-09-13 Jason Merrill <jason@redhat.com>
2411 Tom de Vries <tom@codesourcery.com>
2412
2413 PR c++/77427
2414 * c-common.c (set_underlying_type): Don't treat array as builtin type.
2415
2416 2016-09-13 Jason Merrill <jason@redhat.com>
2417
2418 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
2419 limit types at all.
2420
2421 2016-09-12 Jason Merrill <jason@redhat.com>
2422
2423 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
2424 bit/byte confusion, allow large alignment for types.
2425
2426 2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
2427
2428 PR c++/77496
2429 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
2430
2431 2016-09-12 David Malcolm <dmalcolm@redhat.com>
2432
2433 PR c/72858
2434 * c-format.c (argument_parser::check_argument_type): Add params
2435 "type_start" and "conversion_char". Use the former to generate
2436 offset_to_type_start and pass it and conversion_char to
2437 check_format_types.
2438 (check_format_info_main): Capture the start of the type
2439 information as "type_start", and pass it an format_char
2440 to arg_parser.check_argument_type.
2441 (check_format_types): Provide an example in the leading comment.
2442 Add params "offset_to_type_start" and "conversion_char"; pass
2443 them to format_type_warning calls.
2444 (test_get_modifier_for_format_len): Likewise.
2445 (matching_type_p): New function.
2446 (get_format_for_type): Add param "conversion_char" and move
2447 implementation into...
2448 (get_format_for_type_1): ...new function, called twice.
2449 Use new function matching_type_p rather than checking for
2450 TYPE_CANONICAL equality.
2451 (get_corrected_substring): New function.
2452 (format_type_warning): Provide an example in the leading comment.
2453 Add params "offset_to_type_start" and "conversion_char". Replace
2454 call to get_format_for_type with call to get_corrected_substring
2455 and move rejection of hints for widths/precisions there.
2456 (assert_format_for_type_streq): Add param "conversion_char".
2457 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
2458 (test_get_format_for_type_printf): Add conversion chars to the
2459 tests, adding coverage for various combinations of integer
2460 vs double conversions, and for preserving octal and hexadecimal
2461 conversions.
2462 (test_get_format_for_type_scanf): Add conversion chars to the
2463 tests.
2464
2465 2016-09-10 Tom de Vries <tom@codesourcery.com>
2466
2467 PR C/71602
2468 * c-common.c (build_va_arg): Handle more strict
2469 targetm.canonical_va_list_type. Replace first argument type error with
2470 assert.
2471
2472 2016-09-09 Martin Sebor <msebor@redhat.com>
2473
2474 PR c/77520
2475 PR c/77521
2476 * c-format.c (argument_parser::find_format_char_info): Use %qc
2477 format directive unconditionally.
2478
2479 2016-09-09 Jason Merrill <jason@redhat.com>
2480
2481 Implement C++17 new of over-aligned types.
2482 * c.opt: Add -faligned-new and -Waligned-new.
2483 * c-common.c (max_align_t_align): Split out from...
2484 (cxx_fundamental_alignment_p): ...here.
2485 * c-common.h: Declare it.
2486 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
2487
2488 2016-09-09 Joseph Myers <joseph@codesourcery.com>
2489
2490 * c-cppbuiltin.c (builtin_define_type_width): New function.
2491 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
2492 macros.
2493
2494 2016-09-07 David Malcolm <dmalcolm@redhat.com>
2495
2496 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
2497 a POINTER_TYPE.
2498 (substring_loc::get_location): Move to substring-locations.c,
2499 keeping implementation as...
2500 (c_get_substring_location): New function, from the above, reworked
2501 to use accessors rather than member lookup.
2502 * c-common.h (class substring_loc): Move to substring-locations.h,
2503 replacing with a forward decl.
2504 (c_get_substring_location): New decl.
2505 * c-format.c: Include "substring-locations.h".
2506 (format_warning_va): Move to substring-locations.c.
2507 (format_warning_at_substring): Likewise.
2508
2509 2016-09-06 Martin Sebor <msebor@redhat.com>
2510
2511 PR c/77336
2512 * c-format.c (check_function_format): Avoid issuing warnings for
2513 functions unless they call format functions with non-constant
2514 format strings.
2515
2516 2016-09-06 Richard Biener <rguenther@suse.de>
2517
2518 PR c/77450
2519 * c-common.c (c_common_mark_addressable_vec): Handle
2520 COMPOUND_LITERAL_EXPR.
2521
2522 2016-09-05 Marek Polacek <polacek@redhat.com>
2523
2524 PR c/77423
2525 * c-common.c (bool_promoted_to_int_p): New function.
2526 (expr_has_boolean_operands_p): New function.
2527 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
2528 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
2529
2530 2016-09-04 Tom de Vries <tom@codesourcery.com>
2531
2532 revert:
2533 2016-08-29 Tom de Vries <tom@codesourcery.com>
2534
2535 * c-common.c (build_va_arg): Replace first argument type error
2536 with assert.
2537
2538 2016-09-02 Jakub Jelinek <jakub@redhat.com>
2539
2540 PR c/65467
2541 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
2542 (c_finish_omp_for): Reject _Atomic qualified iterators.
2543
2544 2016-09-01 Martin Sebor <msebor@redhat.com>
2545
2546 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
2547 size to guarantee it fits the output of the formatted function
2548 regardless of its arguments.
2549
2550 2016-09-01 Marek Polacek <polacek@redhat.com>
2551
2552 PR c/7652
2553 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
2554 FALLTHRU comments.
2555
2556 2016-08-29 Marek Polacek <polacek@redhat.com>
2557
2558 PR c/77292
2559 * c-common.c (warn_logical_not_parentheses): Don't warn for
2560 a comparison or a logical operator.
2561
2562 2016-08-29 Tom de Vries <tom@codesourcery.com>
2563
2564 * c-common.c (build_va_arg): Fix type comparison assert.
2565
2566 2016-08-29 Tom de Vries <tom@codesourcery.com>
2567
2568 * c-common.c (build_va_arg): Replace first argument type error
2569 with assert.
2570
2571 2016-08-29 Tom de Vries <tom@codesourcery.com>
2572
2573 PR c/77398
2574 * c-common.c (build_va_arg): Add first argument error. Build va_arg
2575 with error_mark_node as va_list instead of with illegal va_list.
2576
2577 2016-08-25 Marek Polacek <polacek@redhat.com>
2578 David Malcolm <dmalcolm@redhat.com>
2579
2580 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
2581 * c-common.h (warn_logical_not_parentheses): Update declaration.
2582
2583 2016-08-22 Marek Polacek <polacek@redhat.com>
2584
2585 PR c++/77321
2586 * c-common.c (warn_for_memset): Check type for null.
2587
2588 2016-08-22 Joseph Myers <joseph@codesourcery.com>
2589
2590 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
2591 _FloatNx types for suffixes for built-in functions.
2592
2593 2016-08-19 Joseph Myers <joseph@codesourcery.com>
2594
2595 PR c/32187
2596 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
2597 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
2598 (RID_FLOAT128X): New enum rid values.
2599 (CASE_RID_FLOATN_NX): New macro.
2600 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
2601 keywords.
2602 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
2603 corresponding complex types.
2604 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
2605 _FloatNx and corresponding complex types.
2606 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
2607 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
2608 and _FloatNx types for the widest type for determining
2609 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
2610 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
2611 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
2612 and _FloatNx types.
2613 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
2614 constants.
2615 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
2616 _FloatNx types.
2617
2618 2016-08-18 David Malcolm <dmalcolm@redhat.com>
2619
2620 * c-opts.c (c_diagnostic_finalizer): Update for change to
2621 diagnostic_show_locus.
2622
2623 2016-08-18 David Malcolm <dmalcolm@redhat.com>
2624
2625 * c-common.c: Include "spellcheck.h".
2626 (cb_get_suggestion): New function.
2627 * c-common.h (cb_get_suggestion): New decl.
2628 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
2629 cb_get_suggestion.
2630
2631 2016-08-18 Marek Polacek <polacek@redhat.com>
2632
2633 PR c/71514
2634 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
2635 and pointer-to-VLA.
2636
2637 2016-08-16 David Malcolm <dmalcolm@redhat.com>
2638
2639 PR c/72857
2640 * c-common.c (substring_loc::get_range): Rename to...
2641 (substring_loc::get_location): ...this, converting param from a
2642 source_range * to a location_t *. Call
2643 get_source_location_for_substring rather than
2644 get_source_range_for_substring, and pass in m_caret_idx.
2645 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
2646 (substring_loc::get_range): Replace with...
2647 (substring_loc::get_location): ...this.
2648 (substring_loc::set_caret_index): New method.
2649 (substring_loc): Add field m_caret_idx.
2650 * c-format.c (format_warning_va): Update for above changes.
2651 Rename local "substring_loc" to "fmt_substring_loc" to avoid
2652 clashing with type name.
2653 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
2654 (check_argument_type): Likewise.
2655 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
2656 Use a copy when emitting warnings, setting the caret index from TYPE.
2657
2658 2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
2659 Arnaud Charlet <charlet@adacore.com>
2660
2661 * c-ada-spec.c (dump_number): New function.
2662 (handle_escape_character): Likewise.
2663 (print_ada_macros): Add handling of constant integers and strings.
2664
2665 2016-08-12 Marek Polacek <polacek@redhat.com>
2666
2667 PR c/7652
2668 * c-common.c (scalar_to_vector): Adjust fall through comment.
2669 * c-opts.c (c_common_handle_option): Likewise.
2670 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
2671 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
2672 fall through comment.
2673 * cilk.c (extract_free_variables): Add FALLTHRU.
2674
2675 2016-08-10 Jason Merrill <jason@redhat.com>
2676
2677 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
2678
2679 2016-08-09 Jason Merrill <jason@redhat.com>
2680
2681 * c-common.c (c_common_attribute_table): vector_size affects type
2682 identity.
2683
2684 2016-08-09 Marek Polacek <polacek@redhat.com>
2685
2686 PR c/7652
2687 * c-ada-spec.c (dump_generic_ada_node): Add return.
2688
2689 2016-08-09 Jason Merrill <jason@redhat.com>
2690
2691 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
2692 C++17 constexpr lambdas.
2693
2694 2016-08-08 David Malcolm <dmalcolm@redhat.com>
2695
2696 PR c/64955
2697 * c-common.h (selftest::c_format_c_tests): New declaration.
2698 (selftest::run_c_tests): New declaration.
2699 * c-format.c: Include "selftest.h.
2700 (format_warning_va): Add param "corrected_substring" and use
2701 it to add a replacement fix-it hint.
2702 (format_warning_at_substring): Likewise.
2703 (format_warning_at_char): Update for new param of
2704 format_warning_va.
2705 (argument_parser::check_argument_type): Pass "fki" to
2706 check_format_types.
2707 (check_format_types): Add param "fki" and pass it to
2708 format_type_warning.
2709 (deref_n_times): New function.
2710 (get_modifier_for_format_len): New function.
2711 (selftest::test_get_modifier_for_format_len): New function.
2712 (get_format_for_type): New function.
2713 (format_type_warning): Add param "fki" and use it to attempt
2714 to provide hints for argument types when calling
2715 format_warning_at_substring.
2716 (selftest::get_info): New function.
2717 (selftest::assert_format_for_type_streq): New function.
2718 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
2719 (selftest::test_get_format_for_type_printf): New function.
2720 (selftest::test_get_format_for_type_scanf): New function.
2721 (selftest::c_format_c_tests): New function.
2722
2723 2016-08-08 David Malcolm <dmalcolm@redhat.com>
2724
2725 PR c/52952
2726 * c-format.c: Include "diagnostic.h".
2727 (location_column_from_byte_offset): Delete.
2728 (location_from_offset): Delete.
2729 (format_warning_va): New function.
2730 (format_warning_at_substring): New function.
2731 (format_warning_at_char): New function.
2732 (check_format_arg): Capture location of format_tree and pass to
2733 check_format_info_main.
2734 (argument_parser): Add fields "start_of_this_format" and
2735 "format_string_cst".
2736 (flag_chars_t::validate): Add param "format_string_cst". Convert
2737 warning_at call using location_from_offset to call to
2738 format_warning_at_char.
2739 (argument_parser::argument_parser): Add param "format_string_cst_"
2740 and use use it to initialize field "format_string_cst".
2741 Initialize new field "start_of_this_format".
2742 (argument_parser::read_format_flags): Convert warning_at call
2743 using location_from_offset to a call to format_warning_at_char.
2744 (argument_parser::read_any_format_left_precision): Likewise.
2745 (argument_parser::read_any_format_precision): Likewise.
2746 (argument_parser::read_any_other_modifier): Likewise.
2747 (argument_parser::find_format_char_info): Likewise, in three places.
2748 (argument_parser::parse_any_scan_set): Likewise, in one place.
2749 (argument_parser::handle_conversions): Likewise, in two places.
2750 (argument_parser::check_argument_type): Add param "fmt_param_loc"
2751 and use it to make a substring_loc. Pass the latter to
2752 check_format_types.
2753 (check_format_info_main): Add params "fmt_param_loc" and
2754 "format_string_cst". Convert warning_at calls using
2755 location_from_offset to calls to format_warning_at_char. Pass the
2756 new params to the arg_parser ctor. Pass "format_string_cst" to
2757 flag_chars.validate. Pass "fmt_param_loc" to
2758 arg_parser.check_argument_type.
2759 (check_format_types): Convert first param from a location_t
2760 to a const substring_loc & and rename to "fmt_loc". Attempt
2761 to extract the range of the relevant parameter and pass it
2762 to format_type_warning.
2763 (format_type_warning): Convert first param from a location_t
2764 to a const substring_loc & and rename to "fmt_loc". Add
2765 params "param_range" and "type". Replace calls to warning_at
2766 with calls to format_warning_at_substring.
2767
2768 2016-08-08 David Malcolm <dmalcolm@redhat.com>
2769
2770 * c-format.c (class flag_chars_t): New class.
2771 (struct length_modifier): New struct.
2772 (class argument_parser): New class.
2773 (flag_chars_t::flag_chars_t): New ctor.
2774 (flag_chars_t::has_char_p): New method.
2775 (flag_chars_t::add_char): New method.
2776 (flag_chars_t::validate): New method.
2777 (flag_chars_t::get_alloc_flag): New method.
2778 (flag_chars_t::assignment_suppression_p): New method.
2779 (argument_parser::argument_parser): New ctor.
2780 (argument_parser::read_any_dollar): New method.
2781 (argument_parser::read_format_flags): New method.
2782 (argument_parser::read_any_format_width): New method.
2783 (argument_parser::read_any_format_left_precision): New method.
2784 (argument_parser::read_any_format_precision): New method.
2785 (argument_parser::handle_alloc_chars): New method.
2786 (argument_parser::read_any_length_modifier): New method.
2787 (argument_parser::read_any_other_modifier): New method.
2788 (argument_parser::find_format_char_info): New method.
2789 (argument_parser::validate_flag_pairs): New method.
2790 (argument_parser::give_y2k_warnings): New method.
2791 (argument_parser::parse_any_scan_set): New method.
2792 (argument_parser::handle_conversions): New method.
2793 (argument_parser::check_argument_type): New method.
2794 (check_format_info_main): Introduce classes argument_parser
2795 and flag_chars_t, moving the code within the loop into methods
2796 of these classes. Make various locals "const".
2797
2798 2016-08-05 David Malcolm <dmalcolm@redhat.com>
2799
2800 * c-common.c: Include "substring-locations.h".
2801 (get_cpp_ttype_from_string_type): New function.
2802 (g_string_concat_db): New global.
2803 (substring_loc::get_range): New method.
2804 * c-common.h (g_string_concat_db): New declaration.
2805 (class substring_loc): New class.
2806 * c-lex.c (lex_string): When concatenating strings, capture the
2807 locations of all tokens using a new obstack, and record the
2808 concatenation locations within g_string_concat_db.
2809 * c-opts.c (c_common_init_options): Construct g_string_concat_db
2810 on the ggc-heap.
2811
2812 2016-07-29 Marek Polacek <polacek@redhat.com>
2813
2814 PR c/71926
2815 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
2816 parentheses warning.
2817
2818 PR c/71574
2819 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
2820
2821 2016-07-28 Martin Liska <mliska@suse.cz>
2822
2823 PR gcov-profile/68025
2824 * c-common.c (handle_no_profile_instrument_function_attribute):
2825
2826 2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
2827
2828 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
2829 BITS_PER_UNIT_LOG.
2830
2831 2016-07-25 Jason Merrill <jason@redhat.com>
2832
2833 PR c++/65970
2834 * c.opt (fconstexpr-loop-limit): New.
2835
2836 2016-07-22 Martin Sebor <msebor@redhat.com>
2837
2838 PR c++/71675
2839 * c-common.c (resolve_overloaded_builtin): Avoid converting
2840 __atomic_compare_exchange_n return type to that of what its
2841 first argument points to.
2842
2843 2016-07-22 Uros Bizjak <ubizjak@gmail.com>
2844
2845 * c-common.c: Use HOST_WIDE_INT_M1U instead of
2846 ~(unsigned HOST_WIDE_INT) 0.
2847
2848 2016-07-22 Martin Liska <mliska@suse.cz>
2849
2850 PR gcov-profile/69028
2851 PR gcov-profile/62047
2852 * cilk.c (create_cilk_helper_decl): Set location of a new decl
2853 to the current_function_decl.
2854
2855 2016-07-21 Jason Merrill <jason@redhat.com>
2856
2857 PR c++/65168
2858 * c-common.c (c_common_truthvalue_conversion): Check
2859 c_inhibit_evaluation_warnings for warning about address of
2860 reference.
2861
2862 2016-07-20 David Malcolm <dmalcolm@redhat.com>
2863
2864 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
2865 const char *.
2866
2867 2016-07-15 Jason Merrill <jason@redhat.com>
2868
2869 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
2870
2871 2016-07-15 Jakub Jelinek <jakub@redhat.com>
2872
2873 PR c/71858
2874 * c-common.h (enum lookup_name_fuzzy_kind): Add
2875 FUZZY_LOOKUP_FUNCTION_NAME.
2876
2877 2016-07-08 Jason Merrill <jason@redhat.com>
2878
2879 P0145: Refining Expression Order for C++.
2880 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
2881 * c-opts.c: Adjust.
2882
2883 2016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
2884
2885 PR c++/71214
2886 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
2887
2888 2016-06-29 Thomas Schwinge <thomas@codesourcery.com>
2889
2890 * c-pragma.h (enum pragma_kind): Rename
2891 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
2892 users.
2893
2894 2016-06-29 Richard Biener <rguenther@suse.de>
2895
2896 PR middle-end/71002
2897 * c-common.c (c_common_get_alias_set): Remove union type punning case.
2898
2899 2016-06-24 Jason Merrill <jason@redhat.com>
2900
2901 P0145R2: Refining Expression Order for C++.
2902 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
2903 MODIFY_EXPR.
2904
2905 2016-06-24 Jakub Jelinek <jakub@redhat.com>
2906
2907 * c-common.c (check_builtin_function_arguments): Require last
2908 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
2909 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
2910 if the last argument is pointer to enumerated or boolean type.
2911
2912 2016-06-22 David Malcolm <dmalcolm@redhat.com>
2913
2914 PR c/70339
2915 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
2916 (lookup_name_fuzzy): New prototype.
2917
2918 2016-06-21 John David Anglin <danglin@gcc.gnu.org>
2919
2920 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
2921
2922 2016-06-14 Jason Merrill <jason@redhat.com>
2923
2924 P0145R2: Refining Expression Order for C++.
2925 * c.opt (fargs-in-order): New.
2926 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
2927
2928 2016-06-13 Jakub Jelinek <jakub@redhat.com>
2929
2930 PR sanitizer/71498
2931 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
2932 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
2933
2934 PR preprocessor/71183
2935 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
2936 to cb_get_source_date_epoch.
2937
2938 2016-06-10 Jakub Jelinek <jakub@redhat.com>
2939
2940 PR c/68657
2941 * c.opt (Wpsabi): Add Warning flag.
2942
2943 2016-06-10 Martin Sebor <msebor@redhat.com>
2944
2945 PR c/71392
2946 * c-common.c (handle_nonnull_attribute): Accept
2947 the nonnull attribute in type-generic builtins.
2948
2949 2016-06-09 Martin Sebor <msebor@redhat.com>
2950
2951 PR c/70883
2952 * c-common.c (builtin_function_validate_nargs): Make text of error
2953 message consistent with others like it.
2954
2955 2016-06-08 Martin Sebor <msebor@redhat.com>
2956 Jakub Jelinek <jakub@redhat.com>
2957
2958 PR c++/70507
2959 PR c/68120
2960 * c-common.c (check_builtin_function_arguments): Handle
2961 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
2962
2963 2016-06-08 Richard Biener <rguenther@suse.de>
2964
2965 * c-common.c (parse_optimize_options): Improve diagnostic messages.
2966
2967 2016-06-07 Richard Biener <rguenther@suse.de>
2968
2969 PR c/61564
2970 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
2971 options and warn about others.
2972
2973 2016-06-01 Eduard Sanou <dhole@openmailbox.org>
2974
2975 * c-common.c (get_source_date_epoch): Rename to
2976 cb_get_source_date_epoch.
2977 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
2978 message when the parsing fails. Use error_at instead of fatal_error.
2979 * c-common.h (get_source_date_epoch): Rename to
2980 cb_get_source_date_epoch.
2981 * c-common.h (cb_get_source_date_epoch): Prototype.
2982 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
2983 * c-common.h (c_omp_region_type): Remove trailing comma.
2984 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
2985 * c-lex.c (c_lex_with_flags): Remove initialization of
2986 pfile->source_date_epoch.
2987
2988 2016-05-30 Jakub Jelinek <jakub@redhat.com>
2989
2990 PR c++/71349
2991 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
2992 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
2993 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
2994 instead of C_OMP_CLAUSE_SPLIT_FOR.
2995
2996 2016-05-24 Richard Biener <rguenther@suse.de>
2997
2998 PR middle-end/70434
2999 PR c/69504
3000 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
3001 (convert_vector_to_array_for_subscript): ... this.
3002 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
3003 VIEW_CONVERT_EXPR to an array type. Rename to ...
3004 (convert_vector_to_array_for_subscript): ... this.
3005
3006 2016-05-12 Marek Polacek <polacek@redhat.com>
3007
3008 PR c/70756
3009 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
3010 size_in_bytes and pass LOC to it.
3011
3012 2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
3013
3014 PR c/43651
3015 * c.opt (Wduplicate-decl-specifier): New option.
3016
3017 2016-05-11 Marek Polacek <polacek@redhat.com>
3018
3019 PR c++/71024
3020 * c-common.c (diagnose_mismatched_attributes): New function.
3021 * c-common.h (diagnose_mismatched_attributes): Declare.
3022
3023 2016-05-04 Marek Polacek <polacek@redhat.com>
3024
3025 * c.opt (Wdangling-else): New option.
3026
3027 2016-05-03 Marek Polacek <polacek@redhat.com>
3028
3029 PR c/70859
3030 * c-common.c (builtin_function_validate_nargs): Add location
3031 parameter. Use it.
3032 (check_builtin_function_arguments): Add location and arguments
3033 parameters. Use them.
3034 * c-common.h (check_builtin_function_arguments): Update declaration.
3035
3036 2016-05-03 Richard Biener <rguenther@suse.de>
3037
3038 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
3039 allow call args to gimplify to SSA names.
3040
3041 2016-05-03 Marek Polacek <polacek@redhat.com>
3042
3043 * c-common.h (enum c_omp_region_type): Remove stray comma.
3044
3045 2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
3046
3047 * c-common.h (enum c_omp_region_type): Define.
3048
3049 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
3050
3051 * c-common.c (shorten_compare): Use wi::to_wide.
3052
3053 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3054
3055 PR middle-end/70626
3056 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
3057 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
3058 reduction clauses in acc parallel loops.
3059
3060 2016-04-29 Marek Polacek <polacek@redhat.com>
3061
3062 PR c/70852
3063 * c-common.c (warn_for_memset): Check domain before accessing it.
3064
3065 2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
3066
3067 PR/69089
3068 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
3069 "aligned" attribute.
3070
3071 2016-04-28 Jason Merrill <jason@redhat.com>
3072
3073 * c-lex.c (c_common_has_attribute): Handle nodiscard.
3074
3075 2016-04-28 Eduard Sanou <dhole@openmailbox.org>
3076 Matthias Klose <doko@debian.org>
3077
3078 * c-common.c (get_source_date_epoch): New function, gets the environment
3079 variable SOURCE_DATE_EPOCH and parses it as long long with error
3080 handling.
3081 * c-common.h (get_source_date_epoch): Prototype.
3082 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
3083
3084 2015-04-27 Ryan Burn <contact@rnburn.com>
3085
3086 PR c++/69024
3087 PR c++/68997
3088 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
3089 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
3090 external linkage.
3091 (cilk_detect_and_unwrap): Corresponding changes.
3092 (extract_free_variables): Don't extract free variables from
3093 AGGR_INIT_EXPR slot.
3094 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
3095 (cilk_recognize_spawn): Likewise.
3096
3097 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
3098
3099 * c.opt (Wmemset-elt-size): New option.
3100 * c-common.c (warn_for_memset): New function.
3101 * c-common.h (warn_for_memset): Declare.
3102
3103 2016-04-25 Jason Merrill <jason@redhat.com>
3104
3105 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
3106 No longer static.
3107 * c-common.h: Declare it.
3108 * c-lex.c (c_common_has_attribute): Add maybe_unused.
3109
3110 2016-04-22 Jason Merrill <jason@redhat.com>
3111
3112 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
3113
3114 2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
3115
3116 PR c++/69363
3117 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
3118 * c-common.h (c_finish_cilk_clauses): Remove declaration.
3119
3120 2016-04-18 Michael Matz <matz@suse.de>
3121
3122 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
3123 and SET_DECL_ALIGN.
3124
3125 2016-04-17 Eric Botcazou <ebotcazou@adacore.com>
3126
3127 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
3128 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
3129 to incomplete types.
3130 (dump_nested_type): Remove redundant tests and tidy up.
3131 (print_ada_declaration): Also set TREE_VISITED on the declaration of
3132 a type which is the typedef of an original type.
3133
3134 2016-04-15 Marek Polacek <polacek@redhat.com>
3135
3136 PR c/70651
3137 * c-common.c (build_va_arg): Change two asserts into errors and return
3138 error_mark_node.
3139
3140 2016-04-13 Marek Polacek <polacek@redhat.com>
3141
3142 PR c++/70639
3143 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
3144 for switch statements, too.
3145
3146 2016-03-28 Jason Merrill <jason@redhat.com>
3147
3148 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
3149
3150 2016-03-23 Marek Polacek <polacek@redhat.com>
3151
3152 PR c++/69884
3153 * c.opt (Wignored-attributes): New option.
3154
3155 2016-03-22 David Malcolm <dmalcolm@redhat.com>
3156
3157 PR c/69993
3158 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
3159 diagnostic text, reversing the order of the warning and note so
3160 that they appear in source order.
3161
3162 2016-03-17 Marek Polacek <polacek@redhat.com>
3163
3164 PR c/69407
3165 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
3166 operations.
3167
3168 2016-03-14 Jason Merrill <jason@redhat.com>
3169
3170 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
3171
3172 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
3173
3174 2016-03-09 Richard Biener <rguenther@suse.de>
3175
3176 PR c/70143
3177 * c-common.c (strict_aliasing_warning): Add back
3178 alias_sets_conflict_p check.
3179
3180 2016-03-08 Jason Merrill <jason@redhat.com>
3181
3182 * c-opts.c (set_std_cxx1z): Don't enable concepts.
3183
3184 2016-03-04 David Malcolm <dmalcolm@redhat.com>
3185
3186 PR c/68187
3187 * c-indentation.c (get_visual_column): Move code to determine next
3188 tab stop to...
3189 (next_tab_stop): ...this new function.
3190 (line_contains_hash_if): Delete function.
3191 (detect_preprocessor_logic): Delete function.
3192 (get_first_nws_vis_column): New function.
3193 (detect_intervening_unindent): New function.
3194 (should_warn_for_misleading_indentation): Replace call to
3195 detect_preprocessor_logic with a call to
3196 detect_intervening_unindent.
3197
3198 2016-03-04 David Malcolm <dmalcolm@redhat.com>
3199
3200 PR c/68187
3201 * c-indentation.c (should_warn_for_misleading_indentation): When
3202 suppressing warnings about cases where the guard and body are on
3203 the same column, only use the first non-whitespace column in place
3204 of the guard token column when dealing with "else" clauses.
3205 When rejecting aligned BODY and NEXT, loosen the requirement
3206 from equality with the first non-whitespace of guard to simply
3207 that they not be indented relative to it.
3208
3209 2016-03-04 Richard Biener <rguenther@suse.de>
3210
3211 PR c++/70054
3212 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
3213 instead of alias_sets_conflict_p.
3214
3215 2016-03-01 Marek Polacek <polacek@redhat.com>
3216
3217 PR c++/69795
3218 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
3219 any DECL.
3220
3221 2016-02-22 Martin Sebor <msebor@redhat.com>
3222
3223 PR middle-end/69780
3224 * c-common.c (check_builtin_function_arguments): Validate and
3225 reject invalid arguments to __builtin_alloca_with_align.
3226
3227 2016-02-20 Mark Wielaard <mjw@redhat.com>
3228
3229 PR c/28901
3230 * c.opt (Wunused-const-variable): Turn into Alias for...
3231 (Wunused-const-variable=): New option.
3232
3233 2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3234
3235 PR c++/69865
3236 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
3237 here...
3238 (c_common_init_options): ...to here.
3239 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
3240
3241 2016-02-19 Jakub Jelinek <jakub@redhat.com>
3242
3243 PR c++/69826
3244 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
3245 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
3246 flag_preprocess_only.
3247
3248 2016-02-16 Jakub Jelinek <jakub@redhat.com>
3249
3250 PR c/69835
3251 * c.opt (Wnonnull-compare): Enable for -Wall.
3252
3253 2016-02-15 Jakub Jelinek <jakub@redhat.com>
3254
3255 PR c++/69797
3256 * c-common.c (sync_resolve_size): Diagnose too few arguments
3257 even when params is non-NULL empty vector.
3258
3259 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
3260
3261 PR target/60410
3262 * c.opt (fshort-double): Remove.
3263
3264 2016-02-05 Martin Sebor <msebor@redhat.com>
3265
3266 PR c++/69662
3267 * c.opt (Warning options): Update -Wplacement-new to take
3268 an optional argument.
3269
3270 2016-02-01 Jakub Jelinek <jakub@redhat.com>
3271
3272 PR preprocessor/69543
3273 PR c/69558
3274 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
3275 instead of loc to control_warning_option.
3276
3277 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
3278
3279 * c.opt (fopenacc-dim=): New option.
3280
3281 2016-01-27 Ryan Burn <contact@rnburn.com>
3282
3283 PR cilkplus/69267
3284 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
3285 gimplify_arg. Removed superfluous post_p argument.
3286 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
3287 superfluous post_p argument.
3288 * c-gimplify.c (c_gimplify_expr): Likewise.
3289
3290 2016-01-26 David Malcolm <dmalcolm@redhat.com>
3291
3292 PR other/69006
3293 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
3294 pp_newline_and_flush with pp_flush.
3295
3296 2016-01-20 Martin Sebor <msebor@redhat.com>
3297
3298 PR c/69405
3299 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
3300 an incompatible argument when the argument isn't a valid tree node.
3301
3302 2016-01-18 Jason Merrill <jason@redhat.com>
3303
3304 PR c++/68767
3305 * c-common.c (check_function_arguments_recurse): Fold the whole
3306 COND_EXPR, not just the condition.
3307
3308 2016-01-18 Tom de Vries <tom@codesourcery.com>
3309
3310 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
3311 classify as loop clause.
3312
3313 2016-01-15 Jakub Jelinek <jakub@redhat.com>
3314
3315 PR bootstrap/68271
3316 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
3317 C++ FE no longer has limit on number of pragmas.
3318
3319 2015-01-14 Ryan Burn <contact@rnburn.com>
3320
3321 PR c++/69048
3322 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
3323 to add missing cleanup point.
3324
3325 2016-01-14 David Malcolm <dmalcolm@redhat.com>
3326
3327 PR c++/68819
3328 * c-indentation.c (get_visual_column): Add location_t param.
3329 Handle the column number being zero by effectively disabling the
3330 warning, with an "inform".
3331 (should_warn_for_misleading_indentation): Add location_t argument
3332 for all uses of get_visual_column.
3333
3334 2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
3335
3336 PR c++/69029
3337 * c-indentation.c (should_warn_for_misleading_indentation):
3338 Don't warn about do-while statements.
3339
3340 2016-01-07 Martin Sebor <msebor@redhat.com>
3341
3342 PR c/68966
3343 * c-common.c (sync_resolve_size): Reject first argument when it's
3344 a pointer to _Bool.
3345
3346 2016-01-05 David Malcolm <dmalcolm@redhat.com>
3347
3348 PR c/69122
3349 * c-indentation.c (get_visual_column): Remove default argument.
3350 (should_warn_for_misleading_indentation): For the multiline case,
3351 update call to get_visual_column for next_stmt_exploc so that it
3352 captures the location of the first non-whitespace character in the
3353 relevant line. Don't issue warnings if there is non-whitespace
3354 before the next statement.
3355
3356 2016-01-04 Jakub Jelinek <jakub@redhat.com>
3357
3358 Update copyright years.
3359
3360 2015-12-21 David Malcolm <dmalcolm@redhat.com>
3361
3362 * c-common.c (binary_op_error): Convert first param from
3363 location_t to rich_location * and use it when emitting an error.
3364 * c-common.h (binary_op_error): Convert first param from
3365 location_t to rich_location *.
3366
3367 2015-12-16 David Malcolm <dmalcolm@redhat.com>
3368
3369 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
3370 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
3371
3372 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
3373
3374 * c-common.c (c_common_attribute_table): Handle "omp declare target
3375 link" attribute.
3376
3377 2015-12-14 Jakub Jelinek <jakub@redhat.com>
3378
3379 PR c/68833
3380 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
3381
3382 2014-12-12 Tobias Burnus <burnus@net-b.de>
3383
3384 PR fortran/68815
3385 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
3386 specifiers (%d, %i,%u and %c).
3387
3388 2015-12-10 David Malcolm <dmalcolm@redhat.com>
3389
3390 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
3391
3392 2015-12-08 Jakub Jelinek <jakub@redhat.com>
3393
3394 PR c/48088
3395 PR c/68657
3396 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
3397 * c-pragma.c (handle_pragma_diagnostic): Adjust
3398 control_warning_option caller.
3399
3400 2015-12-07 David Malcolm <dmalcolm@redhat.com>
3401
3402 * c-common.c (c_cpp_error): Update for change to
3403 rich_location::set_range.
3404
3405 2015-12-04 Paolo Bonzini <bonzini@gnu.org>
3406
3407 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
3408 shifting 1 out of the sign bit.
3409
3410 2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
3411
3412 * c-common.c (c_common_attribute_table[]): Update max arguments
3413 count for "simd" attribute.
3414 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
3415
3416 2015-12-03 Jakub Jelinek <jakub@redhat.com>
3417
3418 PR preprocessor/57580
3419 * c-ppoutput.c (print): Change printed field to bool.
3420 Move src_file last for smaller padding.
3421 (init_pp_output): Set print.printed to false instead of 0.
3422 (scan_translation_unit): Fix up formatting. Set print.printed
3423 to true after printing something other than newline.
3424 (scan_translation_unit_trad): Set print.printed to true instead of 1.
3425 (maybe_print_line_1): Set print.printed to false instead of 0.
3426 (print_line_1): Likewise.
3427 (do_line_change): Set print.printed to true instead of 1.
3428 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
3429 dump_macro): Set print.printed to false after printing newline.
3430
3431 2015-12-02 Jason Merrill <jason@redhat.com>
3432
3433 * c-common.c (fold_for_warn): New.
3434 (warn_logical_operator, warn_tautological_cmp)
3435 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
3436
3437 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
3438 (c_fully_fold_internal, decl_constant_value_for_optimization):
3439 Move to c/c-fold.c.
3440 * c-common.h: Don't declare decl_constant_value_for_optimization.
3441
3442 2015-12-02 Joseph Myers <joseph@codesourcery.com>
3443
3444 PR c/68162
3445 * c-common.h (c_build_qualified_type): Add extra default
3446 arguments.
3447
3448 2015-12-01 Julian Brown <julian@codesourcery.com>
3449 Cesar Philippidis <cesar@codesourcery.com>
3450 James Norris <James_Norris@mentor.com>
3451
3452 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
3453 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
3454 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
3455
3456 2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
3457
3458 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
3459 (decl_sloc_common): Delete and move bulk of processing to...
3460 (decl_sloc): ...here.
3461 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
3462 (dump_ada_double_name): Remove S parameter and compute the suffix.
3463 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
3464 element type and deal with an anonymous one.
3465 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
3466 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
3467 and remove reference to QUAL_UNION_TYPE.
3468 (dump_nested_types): Make 2 passes on the fields and move bulk to...
3469 (dump_nested_type): ...here. New function extracted from above.
3470 Generate a full declaration for anonymous element type of arrays.
3471 (print_ada_declaration): Really skip anonymous declarations. Remove
3472 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
3473 Clean up processing of declarations of array types and objects.
3474 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
3475 Remove obsolete code and tidy up.
3476
3477 2015-11-29 Jan Hubicka <hubicka@ucw.cz>
3478
3479 PR c/67581
3480 * c-common.c (handle_transparent_union_attribute): Update
3481 also type variants.
3482
3483 2015-11-27 Martin Liska <mliska@suse.cz>
3484
3485 PR c++/68312
3486 * array-notation-common.c (cilkplus_extract_an_triplets):
3487 Release vector of vectors.
3488 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
3489
3490 2015-11-26 Eric Botcazou <ebotcazou@adacore.com>
3491
3492 PR c++/68527
3493 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
3494 (print_ada_struct_decl): Likewise.
3495
3496 2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
3497
3498 PR c++/68001
3499 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
3500 * cilk.c (recognize_spawn): Determine location in a more precise
3501 way.
3502
3503 2015-11-19 Jason Merrill <jason@redhat.com>
3504
3505 * c-common.c (shorten_compare): But look through macros from
3506 system headers.
3507
3508 2015-11-18 Jason Merrill <jason@redhat.com>
3509
3510 * c-common.c (shorten_compare): Don't -Wtype-limits if the
3511 non-constant operand comes from a macro.
3512
3513 2015-11-17 Jason Merrill <jason@redhat.com>
3514
3515 PR bootstrap/68346
3516 * c-common.c (warn_tautological_cmp): Fold before checking for
3517 constants.
3518
3519 2015-11-16 Marek Polacek <polacek@redhat.com>
3520
3521 PR c++/68362
3522 * c-common.c (check_case_bounds): Fold low and high cases.
3523
3524 2015-11-16 Marek Polacek <polacek@redhat.com>
3525
3526 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
3527 * c-common.c (c_common_get_alias_set): Likewise.
3528 (handle_visibility_attribute): Likewise.
3529
3530 2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
3531
3532 * c-common.c (handle_simd_attribute): New.
3533 (struct attribute_spec): Add entry for "simd".
3534 (handle_simd_attribute): New.
3535
3536 2015-11-13 Kai Tietz <ktietz70@googlemail.com>
3537
3538 * c-lex.c (interpret_float): Use fold_convert.
3539
3540 2015-11-13 David Malcolm <dmalcolm@redhat.com>
3541
3542 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
3543 and store it on the result.
3544 * c-opts.c (c_common_init_options): Set
3545 global_dc->colorize_source_p.
3546
3547 2015-11-12 James Norris <jnorris@codesourcery.com>
3548 Joseph Myers <joseph@codesourcery.com>
3549
3550 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
3551 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
3552 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
3553 PRAGMA_OACC_CLAUSE_LINK.
3554
3555 2015-11-11 Marek Polacek <polacek@redhat.com>
3556
3557 PR c/68107
3558 PR c++/68266
3559 * c-common.c (valid_array_size_p): New function.
3560 * c-common.h (valid_array_size_p): Declare.
3561
3562 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
3563
3564 PR bootstrap/68271
3565 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
3566
3567 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
3568
3569 * array-notation-common.c: Remove unused header files.
3570 * c-ada-spec.c: Likewise.
3571 * c-cilkplus.c: Likewise.
3572 * c-common.c: Likewise.
3573 * c-cppbuiltin.c: Likewise.
3574 * c-dump.c: Likewise.
3575 * c-format.c: Likewise.
3576 * c-gimplify.c: Likewise.
3577 * c-indentation.c: Likewise.
3578 * c-lex.c: Likewise.
3579 * c-omp.c: Likewise.
3580 * c-opts.c: Likewise.
3581 * c-pch.c: Likewise.
3582 * c-ppoutput.c: Likewise.
3583 * c-pragma.c: Likewise.
3584 * c-pretty-print.c: Likewise.
3585 * c-semantics.c: Likewise.
3586 * c-ubsan.c: Likewise.
3587 * cilk.c: Likewise.
3588 * stub-objc.c: Likewise.
3589
3590 2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
3591 Cesar Philippidis <cesar@codesourcery.com>
3592 James Norris <jnorris@codesourcery.com>
3593 Julian Brown <julian@codesourcery.com>
3594 Nathan Sidwell <nathan@codesourcery.com>
3595
3596 * c-pragma.c (oacc_pragmas): Add "routine".
3597 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
3598
3599 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
3600
3601 * c-common.c (c_common_attributes): Add scalar_storage_order.
3602 (handle_scalar_storage_order_attribute): New function.
3603 * c-pragma.c (global_sso): New variable.
3604 (maybe_apply_pragma_scalar_storage_order): New function.
3605 (handle_pragma_scalar_storage_order): Likewise.
3606 (init_pragma): Register scalar_storage_order.
3607 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
3608 * c.opt (Wscalar-storage-order): New warning.
3609 (fsso-struct=): New option.
3610
3611 2015-11-08 Martin Sebor <msebor@redhat.com>
3612
3613 * c.opt (Wplacement-new): Add a period to the end of a sentence.
3614
3615 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
3616
3617 * c-common.c: Don't undef DEF_BUILTIN.
3618
3619 2015-11-06 David Malcolm <dmalcolm@redhat.com>
3620
3621 * c-common.c (c_cpp_error): Convert parameter from location_t to
3622 rich_location *. Eliminate the "column_override" parameter and
3623 the call to diagnostic_override_column.
3624 Update the "done_lexing" clause to set range 0
3625 on the rich_location, rather than overwriting a location_t.
3626 * c-common.h (c_cpp_error): Convert parameter from location_t to
3627 rich_location *. Eliminate the "column_override" parameter.
3628
3629 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
3630 Thomas Schwinge <thomas@codesourcery.com>
3631 James Norris <jnorris@codesourcery.com>
3632
3633 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
3634 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
3635 clauses with parallel and kernels and loops.
3636 * c-pragma.h (enum pragma_omp_clause): Add entries for
3637 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
3638 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
3639 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
3640 INDEPENDENT,SEQ}.
3641 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
3642
3643 2015-11-05 Martin Sebor <msebor@redhat.com>
3644
3645 PR c++/67942
3646 * c.opt (-Wplacement-new): New option.
3647
3648 2015-11-05 Jakub Jelinek <jakub@redhat.com>
3649
3650 * c-common.h (c_finish_omp_atomic): Add TEST argument.
3651 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
3652 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
3653 save_expr or create_tmp_var* if TEST is true.
3654 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
3655 Don't call add_stmt here.
3656 (struct c_omp_check_loop_iv_data): New type.
3657 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
3658 c_omp_check_loop_iv_exprs): New functions.
3659 (c_omp_split_clauses): Adjust for lastprivate being allowed on
3660 distribute.
3661 (c_omp_declare_simd_clauses_to_numbers): Change
3662 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
3663 (c_omp_declare_simd_clauses_to_decls): Similarly change those
3664 from numbers to PARM_DECLs.
3665
3666 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
3667
3668 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
3669 flag_checking.
3670
3671 2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
3672
3673 PR c++-common/67882
3674 * c-common.h (fold_offsetof_1): Add argument.
3675 * c-common.c (fold_offsetof_1): Diagnose more invalid
3676 offsetof expressions that reference elements past the end of
3677 an array.
3678
3679 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
3680 Chung-Lin Tang <cltang@codesourcery.com>
3681
3682 * c-pragma.c (oacc_pragmas): Add "atomic".
3683 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
3684
3685 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
3686
3687 * c-common.c (handle_target_clones_attribute): New.
3688 (c_common_attribute_table): Add handle_target_clones_attribute.
3689 (handle_always_inline_attribute): Add check on target_clones attribute.
3690 (handle_target_attribute): Ditto.
3691
3692 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
3693
3694 * array-notation-common.c: Reorder #include's and remove duplicates.
3695 * c-ada-spec.c: Likewise.
3696 * c-cilkplus.c: Likewise.
3697 * c-common.c: Likewise.
3698 * c-cppbuiltin.c: Likewise.
3699 * c-dump.c: Likewise.
3700 * c-format.c: Likewise.
3701 * c-gimplify.c: Likewise.
3702 * c-indentation.c: Likewise.
3703 * c-lex.c: Likewise.
3704 * c-omp.c: Likewise.
3705 * c-opts.c: Likewise.
3706 * c-pch.c: Likewise.
3707 * c-ppoutput.c: Likewise.
3708 * c-pragma.c: Likewise.
3709 * c-pretty-print.c: Likewise.
3710 * c-semantics.c: Likewise.
3711 * c-ubsan.c: Likewise.
3712 * cilk.c: Likewise.
3713 * stub-objc.c: Likewise.
3714
3715 2015-10-28 Jason Merrill <jason@redhat.com>
3716
3717 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
3718
3719 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
3720 James Norris <jnorris@codesourcery.com>
3721 Cesar Philippidis <cesar@codesourcery.com>
3722
3723 PR c/64765
3724 PR c/64880
3725 * c-common.h (c_oacc_split_loop_clauses): Declare function.
3726 * c-omp.c (c_oacc_split_loop_clauses): New function.
3727
3728 2015-10-21 Martin Sebor <msebor@redhat.com>
3729
3730 PR driver/68043
3731 * c.opt: End each sentence that describes an option with a period.
3732
3733 2015-10-20 Marek Polacek <polacek@redhat.com>
3734
3735 * array-notation-common.c (is_cilkplus_vector_p): Define.
3736 * c-common.h (is_cilkplus_vector_p): Declare.
3737
3738 2015-10-20 Marek Polacek <polacek@redhat.com>
3739
3740 * c.opt (std=gnu++11): Do not describe as experimental.
3741 (std=gnu++14): Likewise.
3742
3743 2015-10-19 Jason Merrill <jason@redhat.com>
3744
3745 * c-cppbuiltin.c (c_cpp_builtins): Define
3746 __cpp_nontype_template_args.
3747
3748 2015-10-19 Jason Merrill <jason@redhat.com>
3749
3750 * c-cppbuiltin.c (c_cpp_builtins): Define
3751 __cpp_enumerator_attributes, __cpp_fold_expressions,
3752 __cpp_unicode_characters.
3753
3754 2015-10-13 Jakub Jelinek <jakub@redhat.com>
3755 Aldy Hernandez <aldyh@redhat.com>
3756
3757 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
3758 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
3759 (c_define_builtins): Likewise.
3760 * c-common.h (enum c_omp_clause_split): Add
3761 C_OMP_CLAUSE_SPLIT_TASKLOOP.
3762 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
3763 (c_finish_omp_for): Add ORIG_DECLV argument.
3764 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
3765 201511 instead of 201307.
3766 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
3767 OMP_CRITICAL_CLAUSES to it.
3768 (c_finish_omp_ordered): Add CLAUSES argument, set
3769 OMP_ORDERED_CLAUSES to it.
3770 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
3771 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
3772 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
3773 constructs and new OpenMP 4.5 clauses. Clear
3774 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
3775 verification code.
3776 * c-pragma.c (omp_pragmas_simd): Add taskloop.
3777 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
3778 (enum pragma_omp_clause): Add
3779 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
3780 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
3781
3782 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
3783
3784 * c-lex.c (interpret_float): Use real_equal instead of
3785 REAL_VALUES_EQUAL.
3786
3787 2015-10-04 Jason Merrill <jason@redhat.com>
3788
3789 Implement N4514, C++ Extensions for Transactional Memory.
3790 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
3791 (c_common_attribute_table): Add transaction_safe_dynamic.
3792 transaction_safe now affects type identity.
3793 (handle_tm_attribute): Handle transaction_safe_dynamic.
3794 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
3795 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
3796 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
3797 (D_TRANSMEM): New.
3798 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
3799 * c-pretty-print.c (pp_c_attributes_display): Don't print
3800 transaction_safe in C++.
3801
3802 2015-10-02 Marek Polacek <polacek@redhat.com>
3803
3804 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
3805
3806 2015-10-02 Marek Polacek <polacek@redhat.com>
3807
3808 PR c/64249
3809 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
3810 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
3811 * c.opt (Wduplicated-cond): New option.
3812
3813 2015-10-01 Joseph Myers <joseph@codesourcery.com>
3814
3815 * c.opt (std=c11): Do not describe as experimental.
3816 (std=gnu11): Likewise.
3817 (std=iso9899:2011): Likewise.
3818
3819 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
3820
3821 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
3822 (DEF_FUNCTION_TYPE_VAR_11): Delete.
3823
3824 2015-09-25 Marek Polacek <polacek@redhat.com>
3825
3826 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
3827 (ubsan_instrument_shift): Likewise.
3828
3829 2015-09-25 Marek Polacek <polacek@redhat.com>
3830
3831 PR sanitizer/64906
3832 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
3833
3834 2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
3835
3836 * c-indentation.c (should_warn_for_misleading_indentation):
3837 Compare next_stmt_vis_column with guard_line_first_nws instead
3838 of with guard_line_vis_column.
3839
3840 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
3841
3842 PR c/49654
3843 PR c/49655
3844 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
3845 options and options not valid for the current language.
3846
3847 2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
3848
3849 * c-indentation.c (should_warn_for_misleading_indentation):
3850 Float out and consolidate the calls to get_visual_column that
3851 are passed guard_exploc as an argument. Compare
3852 next_stmt_vis_column with guard_line_first_nws instead of with
3853 body_line_first_nws.
3854
3855 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
3856
3857 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
3858 Wnamespaces): New C++ warnings.
3859
3860 2015-09-22 Jason Merrill <jason@redhat.com>
3861
3862 * c-common.h (abi_compat_version_crosses): New.
3863 (warn_abi_version): Declare.
3864 * c-common.c: Define it.
3865 * c-opts.c (c_common_post_options): Handle it.
3866 flag_abi_compat_version defaults to 8.
3867
3868 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
3869
3870 Complete the implementation of N4230, Nested namespace definition.
3871 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
3872 __cpp_nested_namespace_definitions.
3873
3874 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
3875
3876 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
3877
3878 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
3879
3880 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
3881 when warning.
3882 * c-pragma.h (pragma_lex): Add optional loc argument.
3883
3884 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
3885
3886 * c-format.c (check_format_arg): Adjust to use common block size in all
3887 object pools.
3888
3889 2015-09-15 David Malcolm <dmalcolm@redhat.com>
3890
3891 * c-format.c (location_from_offset): Update for change in
3892 signature of location_get_source_line.
3893 * c-indentation.c (get_visual_column): Likewise.
3894 (line_contains_hash_if): Likewise.
3895
3896 2015-09-14 Marek Polacek <polacek@redhat.com>
3897
3898 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
3899 setting various warnings.
3900
3901 2015-09-14 Marek Polacek <polacek@redhat.com>
3902
3903 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
3904 a negative value.
3905
3906 2015-09-11 Mark Wielaard <mjw@redhat.com>
3907
3908 PR c/28901
3909 * c.opt (Wunused-variable): Option from common.opt.
3910 (Wunused-const-variable): New option.
3911
3912 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
3913
3914 PR c++/53184
3915 * c.opt ([Wsubobject-linkage]): Add.
3916
3917 2015-09-03 Martin Sebor <msebor@redhat.com>
3918
3919 PR c/66516
3920 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
3921 functions.
3922 * c-common.c (reject_gcc_builtin): Define.
3923
3924 2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
3925
3926 PR middle-end/60586
3927 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
3928 prototype.
3929 * c-gimplify.c (c_gimplify_expr): Added a call to the function
3930 cilk_gimplify_call_params_in_spawned_fn.
3931 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
3932 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
3933 unwrapping.
3934
3935 2015-08-25 Marek Polacek <polacek@redhat.com>
3936
3937 PR middle-end/67330
3938 * c-common.c (handle_weak_attribute): Don't check whether the
3939 visibility can be changed here.
3940
3941 2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3942
3943 * c-lex.c (c_lex_with_flags): Use explicit locations.
3944
3945 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
3946
3947 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
3948 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
3949
3950 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3951
3952 PR middle-end/36757
3953 * c-common.c (check_builtin_function_arguments): Add check
3954 for BUILT_IN_SIGNBIT argument.
3955
3956 2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
3957
3958 PR c++/67160
3959 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
3960 in c++1z mode.
3961
3962 2015-08-17 Marek Polacek <polacek@redhat.com>
3963
3964 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
3965 with whitespaces before qualifier names.
3966
3967 2015-08-12 Marek Polacek <polacek@redhat.com>
3968
3969 PR c++/55095
3970 * c-common.c (maybe_warn_shift_overflow): Properly handle
3971 left-shifting 1 into the sign bit.
3972
3973 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3974
3975 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
3976
3977 2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
3978 Braden Obrzut <admin@maniacsvault.net>
3979 Jason Merrill <jason@redhat.com>
3980
3981 Add C++ Concepts TS support.
3982 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
3983 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
3984 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
3985 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
3986 * c-opts.c (set_std_cxx1z): Set flag_concepts.
3987 * c.opt (fconcepts): New.
3988
3989 2015-08-02 Martin Sebor <msebor@redhat.com>
3990
3991 * c.opt (-Wframe-address): New warning option.
3992
3993 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
3994
3995 * c-indentation.c (should_warn_for_misleading_indentation):
3996 Improve heuristics.
3997
3998 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
3999
4000 * c-indentation.c (get_visual_column): Add parameter first_nws,
4001 use it. Update comment documenting the function.
4002 (is_first_nonwhitespace_on_line): Remove.
4003 (should_warn_for_misleading_indentation): Replace usage of
4004 of is_first_nonwhitespace_on_line with get_visual_column.
4005
4006 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4007
4008 * c-indentation.h (struct token_indent_info): Define.
4009 (get_token_indent_info): Define.
4010 (warn_for_misleading_information): Declare.
4011 * c-common.h (warn_for_misleading_information): Remove.
4012 * c-identation.c (warn_for_misleading_indentation):
4013 Change declaration to take three token_indent_infos. Adjust
4014 accordingly.
4015 * c-identation.c (should_warn_for_misleading_indentation):
4016 Likewise. Bail out early if the body is a compound statement.
4017 (guard_tinfo_to_string): Define.
4018
4019 2015-07-30 Jason Merrill <jason@redhat.com>
4020
4021 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
4022 '*' for reference decay.
4023
4024 2015-07-30 Marek Polacek <polacek@redhat.com>
4025
4026 * c-common.c (warn_tautological_cmp): Bail for float types.
4027
4028 2015-07-27 Marek Polacek <polacek@redhat.com>
4029
4030 PR bootstrap/67030
4031 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
4032
4033 2015-07-27 Marek Polacek <polacek@redhat.com>
4034
4035 PR c++/66555
4036 PR c/54979
4037 * c-common.c (find_array_ref_with_const_idx_r): New function.
4038 (warn_tautological_cmp): New function.
4039 * c-common.h (warn_tautological_cmp): Declare.
4040 * c.opt (Wtautological-compare): New option.
4041
4042 2015-07-23 Marek Polacek <polacek@redhat.com>
4043
4044 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
4045 (ubsan_instrument_shift): Likewise.
4046
4047 2015-07-23 Marek Polacek <polacek@redhat.com>
4048
4049 PR sanitizer/66908
4050 * c-ubsan.c: Include gimplify.h.
4051 (ubsan_instrument_division): Unshare OP0 and OP1.
4052 (ubsan_instrument_shift): Likewise.
4053
4054 2015-07-20 Marek Polacek <polacek@redhat.com>
4055 Richard Sandiford <richard.sandiford@arm.com>
4056
4057 PR c++/55095
4058 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
4059 Use EXPR_LOC_OR_LOC.
4060 (maybe_warn_shift_overflow): New function.
4061 * c-common.h (maybe_warn_shift_overflow): Declare.
4062 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
4063 * c.opt (Wshift-overflow): New option.
4064
4065 2015-07-16 Martin Liska <mliska@suse.cz>
4066
4067 * c-format.c (static void check_format_info_main): Use
4068 object_allocator instead of pool_allocator.
4069 (check_format_arg): Likewise.
4070 (check_format_info_main): Likewise.
4071
4072 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
4073
4074 * c-opts.c: Remove multiline #include comment.
4075
4076 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
4077
4078 * c-common.c: Fix double word typos.
4079
4080 2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
4081
4082 * c-ada-spec.h (cpp_operation): Revert latest change.
4083 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
4084 constructors and destructors.
4085
4086 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
4087
4088 * c-common.h: Adjust includes for flags.h changes.
4089 * stub-objc.c: Likewise.
4090
4091 2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
4092
4093 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
4094 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
4095
4096 2015-07-08 Jakub Jelinek <jakub@redhat.com>
4097
4098 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
4099 are to be removed, return NULL rather than original clauses list.
4100
4101 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
4102
4103 * array-notation-common.c: Adjust includes.
4104 * c-ada-spec.c: Likewise.
4105 * c-cilkplus.c: Likewise.
4106 * c-common.h: Likewise.
4107 * c-cppbuiltin.c: Likewise.
4108 * c-dump.c: Likewise.
4109 * c-format.c: Likewise.
4110 * c-gimplify.c: Likewise.
4111 * c-indentation.c: Likewise.
4112 * c-lex.c: Likewise.
4113 * c-omp.c: Likewise.
4114 * c-opts.c: Likewise.
4115 * c-pch.c: Likewise.
4116 * c-ppoutput.c: Likewise.
4117 * c-pragma.c: Likewise.
4118 * c-pretty-print.c: Likewise.
4119 * c-semantics.c: Likewise.
4120 * c-ubsan.c: Likewise.
4121 * cilk.c: Likewise.
4122 * stub-objc.c: Likewise.
4123
4124 2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
4125
4126 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
4127 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
4128
4129 2015-07-01 Jason Merrill <jason@redhat.com>
4130
4131 * c-common.h (D_CXX11): Rename from D_CXX0X.
4132 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
4133 * c-common.c: Adjust.
4134
4135 * c-opts.c (c_common_post_options): Default to C++14.
4136
4137 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
4138
4139 2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
4140
4141 Implement N4197 - Adding u8 character literals
4142 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
4143 CPP_CHAR.
4144 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
4145 CPP_UTF8CHAR_USERDEF tokens.
4146 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
4147 and CPP_UTF8CHAR tokens.
4148 (lex_charconst): Treat CPP_UTF8CHAR token.
4149
4150 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4151
4152 PR fortran/66605
4153 * c-common.c (do_warn_unused_parameter): Move here.
4154 * c-common.h (do_warn_unused_parameter): Declare.
4155
4156 2015-06-29 Marek Polacek <polacek@redhat.com>
4157
4158 PR c/66322
4159 * c-common.c (check_case_bounds): Add bool * parameter. Set
4160 OUTSIDE_RANGE_P.
4161 (c_add_case_label): Add bool * parameter. Pass it down to
4162 check_case_bounds.
4163 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
4164 warning here.
4165 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
4166 declarations.
4167
4168 2015-06-27 Marek Polacek <polacek@redhat.com>
4169
4170 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
4171 or VECTOR_INTEGER_TYPE_P throughout.
4172 * c-gimplify.c: Likewise.
4173
4174 2015-06-26 Marek Polacek <polacek@redhat.com>
4175
4176 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
4177 * c-common.c (c_fully_fold_internal): Likewise.
4178 (c_alignof_expr): Likewise.
4179 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
4180 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
4181 * cilk.c (create_parm_list): Likewise.
4182
4183 2015-06-26 Marek Polacek <polacek@redhat.com>
4184
4185 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
4186
4187 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4188
4189 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
4190 * c-gimplify.c: Likewise.
4191 * c-pragma.c: Likewise.
4192 * c-ubsan.c: Likewise.
4193 * cilk.c: Likewise.
4194
4195 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4196
4197 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
4198 ggc_hasher.
4199
4200 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
4201
4202 * cilk.c: Move calls.h after tm.h in the include chain.
4203
4204 2015-06-25 Marek Polacek <polacek@redhat.com>
4205
4206 * array-notation-common.c: Use VAR_P throughout.
4207 * c-ada-spec.c: Likewise.
4208 * c-common.c: Likewise.
4209 * c-format.c: Likewise.
4210 * c-gimplify.c: Likewise.
4211 * c-omp.c: Likewise.
4212 * c-pragma.c: Likewise.
4213 * c-pretty-print.c: Likewise.
4214 * cilk.c: Likewise.
4215
4216 2015-06-25 Marek Polacek <polacek@redhat.com>
4217
4218 * cilk.c (extract_free_variables): Use is_global_var.
4219
4220 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
4221
4222 * c-common.c: Don't include target-def.h.
4223
4224 2015-06-23 Marek Polacek <polacek@redhat.com>
4225
4226 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
4227 when comparing INTEGER_CSTs.
4228
4229 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
4230
4231 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
4232 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
4233 (dump_ada_template): Skip partially specialized types.
4234
4235 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
4236
4237 * c-common.c (scalar_to_vector): Use std::swap instead of manually
4238 swapping.
4239
4240 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
4241
4242 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
4243 * c-ada-spec.c: Likewise.
4244 * c-cilkplus.c: Likewise.
4245 * c-common.c: Likewise.
4246 * c-common.h: Likewise.
4247 * c-cppbuiltin.c: Likewise.
4248 * c-dump.c: Likewise.
4249 * c-format.c: Likewise.
4250 * c-gimplify.c: Likewise.
4251 * c-indentation.c: Likewise.
4252 * c-lex.c: Likewise.
4253 * c-omp.c: Likewise.
4254 * c-opts.c: Likewise.
4255 * c-pch.c: Likewise.
4256 * c-ppoutput.c: Likewise.
4257 * c-pragma.c: Likewise.
4258 * c-pretty-print.c: Likewise.
4259 * c-semantics.c: Likewise.
4260 * c-ubsan.c: Likewise.
4261 * cilk.c: Likewise.
4262 * stub-objc.c: Likewise.
4263
4264 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
4265
4266 PR c++/65168
4267 * c-common.c (c_common_truthvalue_conversion): Warn when
4268 converting an address of a reference to a truth value.
4269
4270 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
4271
4272 * array-notation-common.c : Adjust include files.
4273 * c-ada-spec.c : Likewise.
4274 * c-cilkplus.c : Likewise.
4275 * c-common.c : Likewise.
4276 * c-common.h : Likewise.
4277 * c-cppbuiltin.c : Likewise.
4278 * c-dump.c : Likewise.
4279 * c-format.c : Likewise.
4280 * c-gimplify.c : Likewise.
4281 * c-indentation.c : Likewise.
4282 * c-lex.c : Likewise.
4283 * c-omp.c : Likewise.
4284 * c-opts.c : Likewise.
4285 * c-pch.c : Likewise.
4286 * c-ppoutput.c : Likewise.
4287 * c-pragma.c : Likewise.
4288 * c-pretty-print.c : Likewise.
4289 * c-semantics.c : Likewise.
4290 * c-ubsan.c : Likewise.
4291 * cilk.c : Likewise.
4292 * stub-objc.c : Likewise.
4293
4294 2015-06-08 Marek Polacek <polacek@redhat.com>
4295
4296 PR c/66415
4297 * c-format.c (location_from_offset): Return LOC if LINE is null.
4298
4299 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
4300
4301 * c-common.h (c_parse_final_cleanups): New prototype.
4302 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
4303
4304 2015-06-04 Sriraman Tallam <tmsriram@google.com>
4305
4306 * c-common.c (noplt): New attribute.
4307 (handle_noplt_attribute): New handler.
4308
4309 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
4310
4311 * array-notation-common.c: Adjust includes for restructured coretypes.h.
4312 * c-ada-spec.c: Likewise.
4313 * c-cilkplus.c: Likewise.
4314 * c-common.c: Likewise.
4315 * c-common.h: Likewise.
4316 * c-cppbuiltin.c: Likewise.
4317 * c-dump.c: Likewise.
4318 * c-format.c: Likewise.
4319 * c-gimplify.c: Likewise.
4320 * c-indentation.c: Likewise.
4321 * c-lex.c: Likewise.
4322 * c-omp.c: Likewise.
4323 * c-opts.c: Likewise.
4324 * c-pch.c: Likewise.
4325 * c-ppoutput.c: Likewise.
4326 * c-pragma.c: Likewise.
4327 * c-pretty-print.c: Likewise.
4328 * c-semantics.c: Likewise.
4329 * c-ubsan.c: Likewise.
4330 * cilk.c: Likewise.
4331 * stub-objc.c: Likewise.
4332
4333 2015-06-02 David Malcolm <dmalcolm@redhat.com>
4334
4335 PR c/66220:
4336 * c-indentation.c (should_warn_for_misleading_indentation): Use
4337 expand_location rather than expand_location_to_spelling_point.
4338 Don't warn if the guarding statement is more indented than the
4339 next/body stmts.
4340
4341 2015-06-02 David Malcolm <dmalcolm@redhat.com>
4342
4343 * c-indentation.c (warn_for_misleading_indentation): Bail out
4344 immediately if -Wmisleading-indentation isn't enabled.
4345
4346 2015-06-01 Martin Liska <mliska@suse.cz>
4347
4348 * c-format.c (check_format_arg):Use new type-based pool allocator.
4349 (check_format_info_main) Likewise.
4350
4351 2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
4352
4353 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
4354 (has_nontrivial_methods): Likewise.
4355
4356 2015-05-25 Marek Polacek <polacek@redhat.com>
4357
4358 * c-ubsan.c (ubsan_instrument_shift): Use type0.
4359
4360 2015-05-22 Marek Polacek <polacek@redhat.com>
4361
4362 PR c/47043
4363 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
4364
4365 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4366
4367 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
4368 STACK_GROWS_DOWNWARD.
4369
4370 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
4371
4372 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
4373 STACK_GROWS_DOWNWARD rather than if it is defined.
4374
4375 2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
4376
4377 PR c/52952
4378 * c-format.c (location_column_from_byte_offset): New.
4379 (location_from_offset): New.
4380 (struct format_wanted_type): Add offset_loc field.
4381 (check_format_info): Move handling of location for extra arguments
4382 closer to the point of warning.
4383 (check_format_info_main): Pass the result of location_from_offset
4384 to warning_at.
4385 (format_type_warning): Pass the result of location_from_offset
4386 to warning_at.
4387
4388 2015-05-20 Marek Polacek <polacek@redhat.com>
4389
4390 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
4391
4392 2015-05-20 Marek Polacek <polacek@redhat.com>
4393
4394 * c-ada-spec.c (dump_sloc): Use DECL_P.
4395
4396 2015-05-20 Marek Polacek <polacek@redhat.com>
4397
4398 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
4399 * c-common.c: Likewise.
4400
4401 2015-05-19 David Malcolm <dmalcolm@redhat.com>
4402
4403 * c-common.h (fe_file_change): Strengthen param from
4404 const line_map * to const line_map_ordinary *.
4405 (pp_file_change): Likewise.
4406 * c-lex.c (fe_file_change): Likewise.
4407 (cb_define): Use linemap_check_ordinary when invoking
4408 SOURCE_LINE.
4409 (cb_undef): Likewise.
4410 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
4411 invoking cb_file_change.
4412 (c_finish_options): Likewise.
4413 (push_command_line_include): Likewise.
4414 (cb_file_change): Strengthen param "new_map" from
4415 const line_map * to const line_map_ordinary *.
4416 * c-ppoutput.c (cb_define): Likewise for local "map".
4417 (pp_file_change): Likewise for param "map" and local "from".
4418
4419 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
4420
4421 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
4422
4423 2015-05-18 Tom de Vries <tom@codesourcery.com>
4424
4425 * c-common.c (build_va_arg_1): New function.
4426 (build_va_arg): Add address operator to va_list operand if necessary.
4427
4428 2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
4429
4430 PR c/48956
4431 * c-common.c (int_safely_convertible_to_real_p): Define.
4432 (unsafe_conversion_p): Check conversions involving complex types.
4433 (conversion_warning): Add new warning message for conversions which
4434 discard imaginary component.
4435 * c-common.h: (enum conversion_safety): Add new enumerator for such
4436 conversions.
4437
4438 2015-05-14 Marek Polacek <polacek@redhat.com>
4439
4440 PR c/66066
4441 PR c/66127
4442 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
4443 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
4444 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
4445 use it. If FOR_INT_CONST, require that all evaluated operands be
4446 INTEGER_CSTs.
4447
4448 2015-05-12 David Malcolm <dmalcolm@redhat.com>
4449
4450 * c-common.h (warn_for_misleading_indentation): New prototype.
4451 * c-indentation.c: New file.
4452 * c.opt (Wmisleading-indentation): New option.
4453
4454 2015-05-12 Tom de Vries <tom@codesourcery.com>
4455
4456 PR tree-optimization/66010
4457 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
4458
4459 2015-05-09 Jason Merrill <jason@redhat.com>
4460
4461 * c-opts.c (c_common_post_options): Also clear
4462 cpp_opts->cpp_warn_cxx11_compat.
4463
4464 * c-common.h (enum cxx_dialect): Add cxx_unset.
4465 * c-common.c (cxx_dialect): Initialize to cxx_unset.
4466 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
4467
4468 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
4469 (std=gnu++0x): Mark as Undocumented.
4470 (std=gnu++1y): Add deprecated message.
4471
4472 2015-05-08 Jason Merrill <jason@redhat.com>
4473
4474 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
4475 * c-opts.c: Adjust.
4476
4477 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
4478
4479 2015-05-08 Marek Polacek <polacek@redhat.com>
4480
4481 PR c/64918
4482 * c.opt (Woverride-init-side-effects): New option.
4483
4484 2015-05-07 Marek Polacek <polacek@redhat.com>
4485
4486 PR c/65179
4487 * c-common.c (c_fully_fold_internal): Warn when left shifting a
4488 negative value.
4489 * c.opt (Wshift-negative-value): New option.
4490 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
4491 when -Wextra and C99/C++11 mode.
4492
4493 2015-05-07 Marek Polacek <polacek@redhat.com>
4494 Martin Uecker <uecker@eecs.berkeley.edu>
4495
4496 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
4497 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
4498
4499 2015-05-05 Jason Merrill <jason@redhat.com>
4500
4501 * c.opt (Wterminate): New.
4502
4503 2015-04-30 Marek Polacek <polacek@redhat.com>
4504
4505 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
4506 require that the non-constant be of a boolean type.
4507
4508 2015-04-29 Josh Triplett <josh@joshtriplett.org>
4509
4510 * c-common.c (handle_section_attribute): Refactor to reduce
4511 nesting and distinguish between error cases.
4512
4513 2015-04-29 Marek Polacek <polacek@redhat.com>
4514
4515 PR c/64610
4516 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
4517 with 0/1.
4518
4519 2015-04-29 Jakub Jelinek <jakub@redhat.com>
4520
4521 * c-common.h (omp_clause_mask): Unconditionally define as a class.
4522 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
4523 HOST_BITS_PER_WIDE_INT.
4524
4525 2015-04-28 Tom de Vries <tom@codesourcery.com>
4526
4527 PR tree-optimization/65887
4528 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
4529
4530 2015-04-28 Eric Botcazou <ebotcazou@adacore.com>
4531 Pierre-Marie de Rodat <derodat@adacore.com>
4532
4533 * c-ada-spec.c (in_function): Delete.
4534 (dump_generic_ada_node): Do not change in_function and remove the
4535 redundant code dealing with it.
4536 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
4537 (print_ada_methods): Output the static member functions in a nested
4538 package after the regular methods as well as associated renamings.
4539
4540 2015-04-24 Marek Polacek <polacek@redhat.com>
4541
4542 PR c/65830
4543 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
4544 and OPT_Wshift_count_overflow.
4545
4546 PR c/63357
4547 * c-common.c (warn_logical_operator): Warn if the operands have the
4548 same expressions.
4549
4550 2015-04-24 Marek Polacek <polacek@redhat.com>
4551
4552 PR c/61534
4553 * c-common.c (warn_logical_operator): Bail if either operand comes
4554 from a macro expansion.
4555
4556 2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
4557
4558 PR target/55143
4559 * c-common.c (c_default_pointer_mode): Add definition.
4560 * c-common.h (c_default_pointer_mode): Add declaration.
4561
4562 2015-03-11 Jakub Jelinek <jakub@redhat.com>
4563
4564 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
4565 on record_builtin_type argument.
4566
4567 2015-03-10 Jakub Jelinek <jakub@redhat.com>
4568
4569 PR c/65120
4570 * c-common.c (warn_logical_not_parentheses): Don't warn for
4571 !x == 0 or !x != 0.
4572
4573 2015-03-07 Marek Polacek <polacek@redhat.com>
4574
4575 PR sanitizer/65280
4576 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
4577 before trying to figure out whether we have a flexible array member.
4578
4579 2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
4580 Jonathan Wakely <jwakely.gcc@gmail.com>
4581
4582 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
4583
4584 2015-03-05 Eric Botcazou <ebotcazou@adacore.com>
4585
4586 PR ada/65319
4587 * c-ada-spec.c (print_destructor): Remove obsolete code.
4588
4589 2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
4590
4591 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
4592 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
4593 DECL_TEMPLATE_RESULT emulations.
4594 (dump_ada_template)): Add guard for TYPE_METHODS.
4595
4596 2015-02-27 Marek Polacek <polacek@redhat.com>
4597
4598 PR c/65040
4599 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
4600
4601 2015-02-27 Kai Tietz <ktietz@redhat.com>
4602
4603 PR c/35330
4604 * c-pragma.c (handle_pragma_weak): Do not try to create
4605 weak/alias of declarations not being function, or variable
4606 declarations.
4607
4608 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
4609
4610 PR libgomp/64625
4611 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
4612 Remove macros.
4613 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
4614
4615 2015-02-16 Marek Polacek <polacek@redhat.com>
4616
4617 PR c/65066
4618 * c-format.c (check_format_types): Handle null param.
4619
4620 2015-02-13 Marek Polacek <polacek@redhat.com>
4621
4622 PR c/65040
4623 * c-format.c (check_format_types): Don't warn about different
4624 signedness if the original value is in the range of WANTED_TYPE.
4625
4626 2015-02-12 Jason Merrill <jason@redhat.com>
4627
4628 PR c++/64956
4629 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
4630 to the current highest version.
4631 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
4632
4633 2015-02-04 Jakub Jelinek <jakub@redhat.com>
4634
4635 PR c/64824
4636 PR c/64868
4637 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
4638 instead of RDIV_EXPR. Use build_binary_op instead of
4639 build2_loc.
4640
4641 2015-01-30 Joseph Myers <joseph@codesourcery.com>
4642
4643 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
4644 to pass input_location as first argument.
4645
4646 2015-01-23 Tom de Vries <tom@codesourcery.com>
4647
4648 PR libgomp/64672
4649 * c.opt (fopenacc): Mark as LTO option.
4650
4651 2015-01-23 Tom de Vries <tom@codesourcery.com>
4652
4653 PR libgomp/64707
4654 * c.opt (fopenmp): Mark as LTO option.
4655
4656 2015-01-21 Jakub Jelinek <jakub@redhat.com>
4657
4658 PR c/63307
4659 * cilk.c (fill_decls_vec): Only put decls into vector v.
4660 (compare_decls): Fix up formatting.
4661
4662 2015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
4663
4664 PR c/63307
4665 * cilk.c: Include vec.h.
4666 (struct cilk_decls): New structure.
4667 (wrapper_parm_cb): Split this function to...
4668 (fill_decls_vec): ...this...
4669 (create_parm_list): ...and this.
4670 (compare_decls): New function.
4671 (for_local_cb): Remove.
4672 (wrapper_local_cb): Ditto.
4673 (build_wrapper_type): For now first traverse and fill vector of
4674 declarations then sort it and then deal with sorted vector.
4675 (cilk_outline): Ditto.
4676 (declare_one_free_variable): Ditto.
4677
4678 2015-01-21 Jason Merrill <jason@redhat.com>
4679
4680 PR c++/64629
4681 * c-format.c (check_format_arg): Call decl_constant_value.
4682
4683 2015-01-19 Martin Liska <mliska@suse.cz>
4684
4685 * c-common.c (handle_noicf_attribute): New function.
4686
4687 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
4688 Bernd Schmidt <bernds@codesourcery.com>
4689 James Norris <jnorris@codesourcery.com>
4690 Cesar Philippidis <cesar@codesourcery.com>
4691 Ilmir Usmanov <i.usmanov@samsung.com>
4692 Jakub Jelinek <jakub@redhat.com>
4693
4694 * c.opt (fopenacc): New option.
4695 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
4696 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
4697 New macros.
4698 * c-common.h (c_finish_oacc_wait): New prototype.
4699 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
4700 (c_finish_oacc_wait): New function.
4701 * c-pragma.c (oacc_pragmas): New variable.
4702 (c_pp_lookup_pragma, init_pragma): Handle it.
4703 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
4704 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
4705 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
4706 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
4707 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
4708 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
4709 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
4710 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
4711 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
4712 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
4713 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
4714 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
4715 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
4716 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
4717 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
4718 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
4719 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
4720 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
4721 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
4722 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
4723 PRAGMA_OACC_CLAUSE_WORKER.
4724
4725 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
4726
4727 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
4728 for the new option fstack-protector_explicit.
4729 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
4730 (handle_stack_protect_attribute): New function.
4731
4732 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
4733
4734 * c.opt: New option -Warray-bounds=.
4735
4736 2015-01-09 Michael Collison <michael.collison@linaro.org>
4737
4738 * array-notation-common.c: Include hash-set.h, machmode.h,
4739 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4740 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
4741 * c-ada-spec.c: Ditto.
4742 * c-cilkplus.c: Ditto.
4743 * c-common.c: Include input.h due to flattening of tree.h.
4744 Define macro GCC_C_COMMON_C.
4745 * c-common.h: Flatten tree.h header files into c-common.h.
4746 Remove include of tree-core.h.
4747 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
4748 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4749 fold-const.h, wide-int.h, and inchash.h due to
4750 flattening of tree.h.
4751 * c-dump.c: Ditto.
4752 * c-format.c: Flatten tree.h header files into c-common.h.
4753 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
4754 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4755 fold-const.h, wide-int.h, and inchash.h due to
4756 flattening of tree.h.
4757 * c-dump.c: Include hash-set.h, machmode.h,
4758 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4759 fold-const.h, wide-int.h, and inchash.h due to
4760 flattening of tree.h.
4761 * c-format.c: Include hash-set.h, machmode.h,
4762 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4763 fold-const.h, wide-int.h, inchash.h and real.h due to
4764 flattening of tree.h.
4765 * c-gimplify.c: Include hash-set.h, machmode.h,
4766 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4767 fold-const.h, wide-int.h, and inchash.h due to
4768 flattening of tree.h.
4769 * cilk.c: Ditto.
4770 * c-lex.c: Ditto.
4771 * c-omp.c: Ditto.
4772 * c-opts.c: Ditto.
4773 * c-pch.c: Ditto.
4774 * c-ppoutput.c: Ditto.
4775 * c-pragma.c: Ditto.
4776 * c-pretty-print.c: Ditto.
4777 * c-semantics.c: Ditto.
4778 * c-ubsan.c: Ditto.
4779 * stub-objc.c: Ditto.
4780
4781 2015-01-08 Jason Merrill <jason@redhat.com>
4782
4783 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
4784 do_ubsan_in_current_function.
4785 (ubsan_maybe_instrument_reference_or_call): Likewise.
4786 * c-ubsan.h: Declare it.
4787
4788 2015-01-08 Mike Stump <mikestump@comcast.net>
4789
4790 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
4791
4792 2015-01-07 Marek Polacek <polacek@redhat.com>
4793
4794 PR c/64440
4795 * c-common.c (c_fully_fold_internal): Warn for division and modulo
4796 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
4797
4798 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
4799
4800 PR c++/31397
4801 * c.opt (Wsuggest-override): New option.
4802
4803 2015-01-05 Jakub Jelinek <jakub@redhat.com>
4804
4805 Update copyright years.
4806
4807 2015-01-05 Marek Polacek <polacek@redhat.com>
4808
4809 PR c/64423
4810 * c-common.c (warn_array_subscript_with_type_char): Add location_t
4811 parameter. Use it.
4812 * c-common.h (warn_array_subscript_with_type_char): Update
4813 declaration.
4814
4815 2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
4816
4817 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
4818 Control macro with flag_sized_deallocation.
4819
4820 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
4821
4822 * c.opt (Wdiscarded-array-qualifiers): New option.
4823
4824 2014-12-19 Jakub Jelinek <jakub@redhat.com>
4825
4826 PR preprocessor/63831
4827 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
4828 and __has_cpp_attribute here.
4829 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
4830 c_common_has_attribute.
4831 * c-common.h (c_common_has_attribute): New prototype.
4832 * c-lex.c (init_c_lex): Set cb->has_attribute to
4833 c_common_has_attribute instead of cb_has_attribute.
4834 (get_token_no_padding): New function.
4835 (cb_has_attribute): Renamed to ...
4836 (c_common_has_attribute): ... this. No longer static. Use
4837 get_token_no_padding, require ()s, don't build TREE_LIST
4838 unnecessarily, fix up formatting, adjust diagnostics, call
4839 init_attributes.
4840
4841 2014-12-15 Jason Merrill <jason@redhat.com>
4842
4843 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
4844 (-Wsized-deallocation): New.
4845 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
4846 to on in C++14 and up.
4847
4848 2014-12-11 Jason Merrill <jason@redhat.com>
4849
4850 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
4851
4852 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
4853 we aren't complaining about VLAs.
4854
4855 2014-12-06 Marek Polacek <polacek@redhat.com>
4856
4857 PR tree-optimization/64183
4858 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
4859 shift-expression if it is integer_type_node. Use types_compatible_p.
4860
4861 2014-11-29 Jakub Jelinek <jakub@redhat.com>
4862
4863 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
4864 last argument from create_tmp_var_raw and create_tmp_var calls.
4865 * cilk.c (gimplify_cilk_spawn): Likewise.
4866 * c-omp.c (c_finish_omp_atomic): Likewise.
4867
4868 2014-11-28 Marek Polacek <polacek@redhat.com>
4869
4870 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
4871 instead of unsigned_type_node.
4872
4873 2014-11-28 Marek Polacek <polacek@redhat.com>
4874
4875 PR c/63862
4876 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
4877 to op1_utype.
4878 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
4879 expression to unsigned_type_node.
4880
4881 2014-11-20 Mark Wielaard <mjw@redhat.com>
4882
4883 PR debug/38757
4884 * c-opts.c (set_std_c89): Set lang_hooks.name.
4885 (set_std_c99): Likewise.
4886 (set_std_c11): Likewise.
4887 (set_std_cxx98): Likewise.
4888 (set_std_cxx11): Likewise.
4889 (set_std_cxx14): Likewise.
4890 (set_std_cxx1z): Likewise.
4891
4892 2014-11-21 Jakub Jelinek <jakub@redhat.com>
4893
4894 PR target/63764
4895 * c-common.h (convert_vector_to_pointer_for_subscript): Change
4896 return type to bool.
4897 * c-common.c: Include gimple-expr.h.
4898 (convert_vector_to_pointer_for_subscript): Change return type to
4899 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
4900 and copy it into a TARGET_EXPR and use that instead of *vecp
4901 directly.
4902
4903 2014-11-19 David Malcolm <dmalcolm@redhat.com>
4904
4905 Merger of git branch "gimple-classes-v2-option-3".
4906 * ChangeLog.gimple-classes: New.
4907 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
4908 from being just a vec<gimple> to a vec<gbind *>.
4909
4910 2014-11-18 Jakub Jelinek <jakub@redhat.com>
4911
4912 PR sanitizer/63813
4913 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
4914 argument to ptype, set type to TREE_TYPE (ptype). Don't call
4915 get_pointer_alignment for non-pointers. Use ptype, or if it is
4916 reference type, corresponding pointer type, as type of kind
4917 argument.
4918 (ubsan_maybe_instrument_reference,
4919 ubsan_maybe_instrument_member_call): Adjust callers.
4920
4921 2014-11-15 Marek Polacek <polacek@redhat.com>
4922
4923 PR middle-end/63884
4924 * array-notation-common.c (is_sec_implicit_index_fn): Return false
4925 for NULL fndecl.
4926 (extract_array_notation_exprs): Return for NULL node.
4927
4928 2014-11-12 Joseph Myers <joseph@codesourcery.com>
4929
4930 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
4931 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
4932
4933 2014-11-12 Jakub Jelinek <jakub@redhat.com>
4934
4935 PR c/59708
4936 * c-common.c (check_builtin_function_arguments): Handle
4937 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
4938
4939 2014-11-10 Andi Kleen <ak@linux.intel.com>
4940
4941 PR c/60804
4942 * c-common.h (check_no_cilk): Declare.
4943 * cilk.c (get_error_location): New function.
4944 (check_no_cilk): Dito.
4945
4946 2014-11-10 Andi Kleen <ak@linux.intel.com>
4947
4948 * cilk.c (recognize_spawn): Use expression location
4949 for error message.
4950
4951 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
4952
4953 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
4954
4955 2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
4956
4957 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
4958 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
4959 (__cpp_range_based_for, __cpp_initializer_lists,
4960 __cpp_delegating_constructors, __cpp_nsdmi,
4961 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
4962 for C++11; (__cpp_attribute_deprecated): Remove in favor of
4963 __has_cpp_attribute.
4964 * c-lex.c (cb_has_attribute): New callback CPP function;
4965 (init_c_lex): Set has_attribute callback.
4966
4967 2014-11-04 Richard Biener <rguenther@suse.de>
4968
4969 * c-common.c (shorten_compare): Do not shorten mixed
4970 DFP and non-DFP compares.
4971
4972 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
4973
4974 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
4975 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
4976 Commentary and rearrangement of tests.
4977 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
4978 Commentary and rearrangement of tests.
4979 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
4980 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
4981
4982 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
4983
4984 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
4985 enum from machine_mode.
4986
4987 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
4988
4989 * c-common.c: Adjust include files.
4990 * c-gimplify.c: Ditto.
4991 * cilk.c: Ditto.
4992 * c-pragma.c: Ditto.
4993 * c-ubsan.c: Ditto.
4994
4995 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
4996
4997 * c-gimplify.c: Adjust include files.
4998
4999 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
5000
5001 PR c++/53061
5002 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
5003 c_common_initialize_diagnostics.
5004 * c-common.h: Likewise.
5005
5006 2014-10-24 Marek Polacek <polacek@redhat.com>
5007
5008 PR c/56980
5009 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
5010 print "struct"/"union"/"enum" for typedefed names.
5011
5012 2014-10-23 Marek Polacek <polacek@redhat.com>
5013
5014 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
5015 in unsigned type.
5016
5017 2014-10-22 Jakub Jelinek <jakub@redhat.com>
5018 Yury Gribov <y.gribov@samsung.com>
5019
5020 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5021 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
5022 instead of flag_sanitize_recover as bool flag.
5023
5024 2014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
5025
5026 * cilk.c: Revert previous change.
5027
5028 2014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
5029
5030 PR c/63307
5031 * cilk.c: Include vec.h.
5032 (struct cilk_decls): New structure.
5033 (wrapper_parm_cb): Split this function to...
5034 (fill_decls_vec): ...this...
5035 (create_parm_list): ...and this.
5036 (compare_decls): New function.
5037 (for_local_cb): Remove.
5038 (wrapper_local_cb): Ditto.
5039 (build_wrapper_type): For now first traverse and fill vector of
5040 declarations then sort it and then deal with sorted vector.
5041 (cilk_outline): Ditto.
5042 (declare_one_free_variable): Ditto.
5043
5044 2014-10-17 Marek Polacek <polacek@redhat.com>
5045
5046 * c-opts.c (c_common_post_options): Set warn_implicit_int.
5047 * c.opt (Wimplicit-int): Initialize to -1.
5048
5049 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
5050
5051 * c-pragma.c: Adjust include files.
5052 * c-semantics.c: Likewise.
5053
5054 2014-10-16 DJ Delorie <dj@redhat.com>
5055
5056 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
5057 multiples of bytes.
5058
5059 2014-10-14 Jason Merrill <jason@redhat.com>
5060
5061 PR c++/63455
5062 * c-common.h (CPP_PREPARSED_EXPR): New.
5063 (N_CP_TTYPES): Adjust.
5064
5065 2014-10-15 Marek Polacek <polacek@redhat.com>
5066
5067 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
5068
5069 2014-10-14 DJ Delorie <dj@redhat.com>
5070
5071 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
5072 types, not just __int128.
5073 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
5074 types, not just __int128.
5075 (cpp_atomic_builtins): Round pointer sizes up.
5076 (type_suffix): Use type precision, not specific types.
5077 * c-common.c (c_common_reswords): Remove __int128 special case.
5078 (c_common_type_for_size): Check for all __intN types, not just
5079 __int128.
5080 (c_common_type_for_mode): Likewise.
5081 (c_common_signed_or_unsigned_type): Likewise.
5082 (c_build_bitfield_integer_type): Likewise.
5083 (c_common_nodes_and_builtins): Likewise.
5084 (keyword_begins_type_specifier): Likewise.
5085 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
5086 __intN variants.
5087
5088 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
5089
5090 * c-common.c: Use hash_table instead of hashtab.
5091
5092 2014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
5093
5094 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5095 C++11 section.
5096
5097 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
5098
5099 PR c++/54427
5100 PR c++/57198
5101 PR c++/58845
5102 * c-common.c (warn_logical_operator): Punt for vectors.
5103
5104 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
5105
5106 Implement SD-6: SG10 Feature Test Recommendations
5107 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
5108 macros and the __has_header macro.
5109
5110 2014-09-30 Jason Merrill <jason@redhat.com>
5111
5112 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
5113 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
5114 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5115
5116 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
5117 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5118
5119 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
5120 * c-common.c (c_common_reswords): Remove __is_convertible_to.
5121
5122 2014-09-24 Marek Polacek <polacek@redhat.com>
5123
5124 PR c/61405
5125 PR c/53874
5126 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
5127
5128 2014-09-23 Andi Kleen <ak@linux.intel.com>
5129
5130 * c-common.c (handle_no_reorder_attribute): New function.
5131 (c_common_attribute_table): Add no_reorder attribute.
5132
5133 2014-09-22 Joseph Myers <joseph@codesourcery.com>
5134
5135 * c-cppbuiltin.c (c_cpp_builtins): Define
5136 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
5137 modes.
5138
5139 2014-09-18 Joseph Myers <joseph@codesourcery.com>
5140
5141 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
5142 for supported floating-point modes.
5143
5144 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5145
5146 * c.opt (Wpsabi): Use LangEnabledBy.
5147 * c-opts.c (c_common_handle_option): Do not handle here.
5148
5149 2014-09-12 Joseph Myers <joseph@codesourcery.com>
5150
5151 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
5152 macros for floating-point modes.
5153
5154 2014-09-11 Marc Glisse <marc.glisse@inria.fr>
5155
5156 PR target/58757
5157 * c-cppbuiltin.c (builtin_define_float_constants): Correct
5158 __*_DENORM_MIN__ without denormals.
5159
5160 2014-09-10 Jakub Jelinek <jakub@redhat.com>
5161
5162 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5163 ubsan_instrument_vla, ubsan_instrument_return): Adjust
5164 ubsan_create_data callers.
5165 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
5166 index is constant or BIT_AND_EXPR with constant mask and is
5167 small enough for the bound.
5168 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
5169 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
5170
5171 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5172
5173 * c.opt: Add CppReason to various flags.
5174 (Wdate-time): Re-sort.
5175 * c-common.c: Include c-common.h earlier.
5176 (struct reason_option_codes_t): Delete.
5177 (c_option_controlling_cpp_error): Prefix global type and struct
5178 with cpp_.
5179
5180 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5181
5182 * c.opt (Wnormalized): New.
5183 (Wnormalized=): Use Enum and Reject Negative.
5184 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
5185
5186 2014-09-08 Joseph Myers <joseph@codesourcery.com>
5187
5188 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
5189 digits of floating-point modes if -fbuilding-libgcc.
5190
5191 2014-09-05 Joseph Myers <joseph@codesourcery.com>
5192
5193 * c-cppbuiltin.c (c_cpp_builtins): Also define
5194 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
5195 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
5196 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
5197 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
5198 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
5199 __LIBGCC_STACK_GROWS_DOWNWARD__,
5200 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
5201 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
5202 __LIBGCC_DWARF_FRAME_REGISTERS__,
5203 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
5204 __LIBGCC_STACK_POINTER_REGNUM__ and
5205 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
5206 (builtin_define_with_value): Handle backslash-escaping in string
5207 macro values.
5208
5209 2014-09-05 Richard Biener <rguenther@suse.de>
5210
5211 PR middle-end/63148
5212 * c-format.c (check_format_arg): Properly handle
5213 effectively signed POINTER_PLUS_EXPR offset.
5214
5215 2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5216
5217 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
5218 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
5219 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
5220 and Init.
5221 * c-opts.c (c_common_handle_option): Do not handle here.
5222 (sanitize_cpp_opts): Likewise.
5223 * c-common.c (struct reason_option_codes_t): Handle
5224 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
5225
5226 2014-09-03 Marek Polacek <polacek@redhat.com>
5227
5228 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
5229
5230 2014-09-02 Jakub Jelinek <jakub@redhat.com>
5231 Balaji V. Iyer <balaji.v.iyer@intel.com>
5232 Igor Zamyatin <igor.zamyatin@intel.com>
5233
5234 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
5235 * c-common.c (c_common_reswords): Added _Cilk_for.
5236 * c-common.h (enum rid): Added RID_CILK_FOR.
5237 (cilk_for_number_of_iterations): Add declaration.
5238 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
5239 CILK_FOR.
5240 * c-pragma.c (init_pragma): Register "grainsize" pragma.
5241 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
5242
5243 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5244
5245 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
5246 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
5247 Wundef): Use CPP, Var and Init.
5248 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
5249
5250 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5251
5252 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
5253 * c-opts.c (c_common_handle_option): Do not handle here.
5254
5255 2014-08-25 Jason Merrill <jason@redhat.com>
5256
5257 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
5258 -std=c++14 and -std=gnu++14, rather than the reverse.
5259 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
5260 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
5261 * c-common.h (cxx_dialect): Remove cxx1y.
5262
5263 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
5264
5265 * c-common.h (enum cxx_dialect): Add cxx14.
5266 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
5267 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
5268 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
5269
5270 2014-08-22 Jason Merrill <jason@redhat.com>
5271
5272 * c.opt (std=gnu++17): Fix alias.
5273
5274 2014-08-22 Marek Polacek <polacek@redhat.com>
5275
5276 PR c++/62199
5277 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
5278 check for vector types. Drop LHS argument.
5279 * c-common.h (warn_logical_not_parentheses): Adjust.
5280
5281 2014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5282
5283 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
5284 (Wmultichar): Likewise.
5285 (Wdate-time): Use C-family languages instead of Common. Use CPP
5286 and Var.
5287 * c-opts.c (c_common_handle_option): Do not handle the above
5288 options here.
5289 (sanitize_cpp_opts): Likewise.
5290
5291 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
5292
5293 PR fortran/44054
5294 * c-opts.c: Include tree-diagnostics.h.
5295 (c_diagnostic_finalizer): New.
5296 (c_common_initialize_diagnostics): Use it.
5297
5298 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5299
5300 PR preprocessor/51303
5301 * c-common.c (struct reason_option_codes_t option_codes):
5302 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
5303
5304 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5305
5306 PR c/60975
5307 PR c/53063
5308 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
5309 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
5310 (c_common_post_options): Call init_global_opts_from_cpp.
5311 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
5312
5313 2014-08-19 Marek Polacek <polacek@redhat.com>
5314
5315 PR c++/62153
5316 * c-common.c (maybe_warn_bool_compare): New function.
5317 * c-common.h (maybe_warn_bool_compare): Declare.
5318 * c.opt (Wbool-compare): New option.
5319
5320 2014-08-19 Marek Polacek <polacek@redhat.com>
5321
5322 * c.opt (Wc99-c11-compat): New option.
5323
5324 2014-08-19 Marek Polacek <polacek@redhat.com>
5325
5326 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
5327 to warn_c90_c99_compat.
5328 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
5329 to -1.
5330
5331 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
5332 Steven Bosscher <steven@gcc.gnu.org>
5333
5334 PR c/52952
5335 * c-format.c: Add extra_arg_loc and format_string_loc to struct
5336 format_check_results.
5337 (check_function_format): Use true and add comment for boolean
5338 argument.
5339 (finish_dollar_format_checking): Use explicit location when warning.
5340 (check_format_info): Likewise.
5341 (check_format_arg): Set extra_arg_loc and format_string_loc.
5342 (check_format_info_main): Use explicit location when warning.
5343 (check_format_types): Pass explicit location.
5344 (format_type_warning): Likewise.
5345
5346 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5347
5348 PR fortran/44054
5349 * c-format.c: Handle Fortran flags.
5350
5351 2014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
5352
5353 PR other/61962
5354 * array-notation-common.c (find_rank): Added handling for other
5355 types of references.
5356
5357 2014-08-10 Marek Polacek <polacek@redhat.com>
5358
5359 PR c/51849
5360 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
5361 * c.opt (Wc90-c99-compat): Add option.
5362
5363 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
5364
5365 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
5366
5367 2014-08-03 Marek Polacek <polacek@redhat.com>
5368
5369 * c-common.c (check_case_value): Add location_t parameter. Use it.
5370 (c_add_case_label): Pass loc to check_case_value.
5371
5372 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
5373
5374 * cilk.c: Use hash_map instead of pointer_map.
5375
5376 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
5377
5378 * c-gimplify.c: Use hash_set instead of pointer_set.
5379
5380 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
5381
5382 PR middle-end/61455
5383 * array-notation-common.c (extract_array_notation_exprs): Handling
5384 of DECL_EXPR added.
5385
5386 2014-08-01 Jakub Jelinek <jakub@redhat.com>
5387
5388 * c-common.h (min_align_of_type): Removed prototype.
5389 * c-common.c (min_align_of_type): Removed.
5390 * c-ubsan.h (ubsan_maybe_instrument_reference,
5391 ubsan_maybe_instrument_member_call): New prototypes.
5392 * c-ubsan.c: Include stor-layout.h and builtins.h.
5393 (ubsan_maybe_instrument_reference_or_call,
5394 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
5395 functions.
5396
5397 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
5398
5399 PR c++/60517
5400 * c.opt (-Wreturn-local-addr): Move to common.opt.
5401
5402 2014-07-30 Jason Merrill <jason@redhat.com>
5403
5404 PR c++/61659
5405 PR c++/61687
5406 Revert:
5407 * c.opt (-fuse-all-virtuals): New.
5408
5409 2014-07-30 Tom Tromey <tromey@redhat.com>
5410
5411 PR c/59855
5412 * c.opt (Wdesignated-init): New option.
5413 * c-common.c (c_common_attribute_table): Add "designated_init".
5414 (handle_designated_init): New function.
5415
5416 2014-07-24 Marek Polacek <polacek@redhat.com>
5417
5418 PR c/57653
5419 * c-opts.c (c_finish_options): If -imacros is in effect, return.
5420
5421 2014-07-16 Dodji Seketeli <dodji@redhat.com>
5422
5423 PR preprocessor/60723 - missing system-ness marks for macro tokens
5424 * c-ppoutput.c (struct print::prev_was_system_token): New data
5425 member.
5426 (init_pp_output): Initialize it.
5427 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
5428 (do_line_change): Return a flag saying if a line marker was
5429 emitted or not.
5430 (scan_translation_unit): Detect if the system-ness of the token we
5431 are about to emit is different from the one of the previously
5432 emitted token. If so, emit a line marker. Avoid emitting useless
5433 adjacent line markers. Avoid emitting line markers for tokens
5434 originating from the expansion of built-in macros.
5435 (scan_translation_unit_directives_only): Adjust.
5436
5437 2014-07-15 Marek Polacek <polacek@redhat.com>
5438
5439 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
5440 TYPE_MAX_VALUE is NULL.
5441
5442 2014-07-14 Jakub Jelinek <jakub@redhat.com>
5443
5444 PR middle-end/61294
5445 * c.opt (Wmemset-transposed-args): New warning.
5446
5447 2014-07-10 Jason Merrill <jason@redhat.com>
5448
5449 PR c++/61659
5450 PR c++/61687
5451 * c.opt (-fuse-all-virtuals): New.
5452
5453 2014-07-09 Richard Biener <rguenther@suse.de>
5454
5455 PR c-family/61741
5456 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5457 using unsigned arithmetic if overflow does not wrap instead of
5458 if overflow is undefined.
5459
5460 2014-07-06 Marek Polacek <polacek@redhat.com>
5461
5462 PR c/6940
5463 * c.opt (Wsizeof-array-argument): New option.
5464
5465 2014-07-03 Jakub Jelinek <jakub@redhat.com>
5466
5467 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
5468 comments->count <= 1, as comments->entries might be NULL.
5469
5470 2014-07-01 Marek Polacek <polacek@redhat.com>
5471
5472 * c.opt (Wint-conversion): New option.
5473
5474 2014-07-01 Marek Polacek <polacek@redhat.com>
5475
5476 PR c/58286
5477 * c.opt (Wincompatible-pointer-types): New option.
5478
5479 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
5480
5481 PR c++/51400
5482 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
5483 Do not discard TYPE_QUALS of type.
5484
5485 2014-06-26 Jason Merrill <jason@redhat.com>
5486
5487 * c-common.h (enum cxx_dialect): Add cxx1z.
5488 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
5489 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
5490
5491 2014-06-26 Teresa Johnson <tejohnson@google.com>
5492
5493 * c-common.h (get_dump_info): Declare.
5494 * c-gimplify.c (c_genericize): Use saved dump files.
5495 * c-opts.c (c_common_parse_file): Begin and end dumps
5496 once around parsing invocation.
5497 (get_dump_info): New function.
5498
5499 2014-06-23 Marek Polacek <polacek@redhat.com>
5500 Andrew MacLeod <amacleod@redhat.com>
5501
5502 PR c/61553
5503 * c-common.c (get_atomic_generic_size): Don't segfault if the
5504 type doesn't have a size.
5505
5506 2014-06-20 Marek Polacek <polacek@redhat.com>
5507
5508 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
5509 (ubsan_walk_array_refs_r): New function.
5510 (c_genericize): Instrument array bounds.
5511 * c-ubsan.c: Include "internal-fn.h".
5512 (ubsan_instrument_division): Mark instrumented arrays as having
5513 side effects. Adjust ubsan_type_descriptor call.
5514 (ubsan_instrument_shift): Likewise.
5515 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
5516 (ubsan_instrument_bounds): New function.
5517 (ubsan_array_ref_instrumented_p): New function.
5518 (ubsan_maybe_instrument_array_ref): New function.
5519 * c-ubsan.h (ubsan_instrument_bounds): Declare.
5520 (ubsan_array_ref_instrumented_p): Declare.
5521 (ubsan_maybe_instrument_array_ref): Declare.
5522
5523 2014-06-20 Hale Wang <hale.wang@arm.com>
5524
5525 PR lto/61123
5526 * c.opt (fshort-enums): Add to LTO.
5527 * c.opt (fshort-wchar): Likewise.
5528
5529 2014-06-16 Marek Polacek <polacek@redhat.com>
5530
5531 PR c/60439
5532 * c.opt (Wswitch-bool): Add Var.
5533
5534 2014-06-12 Jakub Jelinek <jakub@redhat.com>
5535
5536 PR middle-end/61486
5537 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
5538 #pragma omp target teams or
5539 #pragma omp {,target }teams distribute simd.
5540
5541 2014-06-12 Jason Merrill <jason@redhat.com>
5542
5543 * c.opt (Wabi=, fabi-compat-version): New.
5544 * c-opts.c (c_common_handle_option): Handle -Wabi=.
5545 (c_common_post_options): Handle flag_abi_compat_version default.
5546 Disallow -fabi-compat-version=1.
5547 * c-common.h (abi_version_crosses): New.
5548
5549 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
5550
5551 * c-common.c (handle_section_attribute): Update handling for
5552 section names that are no longer trees.
5553
5554 2014-06-10 Jakub Jelinek <jakub@redhat.com>
5555
5556 PR fortran/60928
5557 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
5558 (omp_pragmas): ... back here.
5559
5560 2014-06-05 Marek Polacek <polacek@redhat.com>
5561
5562 PR c/49706
5563 * c-common.c (warn_logical_not_parentheses): New function.
5564 * c-common.h (warn_logical_not_parentheses): Declare.
5565 * c.opt (Wlogical-not-parentheses): New option.
5566
5567 2014-06-04 Marek Polacek <polacek@redhat.com>
5568
5569 PR c/30020
5570 * c-common.c (check_case_bounds): Add location parameter.
5571 Use it.
5572 (c_add_case_label): Pass loc to check_case_bounds.
5573
5574 2014-06-03 Marek Polacek <polacek@redhat.com>
5575
5576 PR c/60439
5577 * c.opt (Wswitch-bool): New option.
5578
5579 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
5580
5581 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
5582 Remove prototypes.
5583 (record_types_used_by_current_var_decl): Move prototype to where
5584 it belongs.
5585
5586 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
5587 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
5588 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
5589
5590 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
5591
5592 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
5593 * c-common.c (c_common_nodes_and_builtins): Don't initialize
5594 void_zero_node.
5595 * c-pretty-print.c (pp_c_void_constant): New function.
5596 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
5597 (c_pretty_printer::expression): Handle VOID_CST.
5598 * cilk.c (extract_free_variables): Likewise.
5599 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
5600 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
5601
5602 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5603
5604 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
5605 * c-pragma.c (push_alignment): Adjust.
5606 (handle_pragma_push_options): Likewise.
5607
5608 2014-05-09 Marek Polacek <polacek@redhat.com>
5609
5610 PR c/50459
5611 * c-common.c (check_user_alignment): Return -1 if alignment is error
5612 node.
5613 (handle_aligned_attribute): Don't call default_conversion on
5614 FUNCTION_DECLs.
5615 (handle_vector_size_attribute): Likewise.
5616 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
5617 (handle_sentinel_attribute): Call default_conversion and allow even
5618 integral types as an argument.
5619
5620 2014-05-08 Marek Polacek <polacek@redhat.com>
5621
5622 PR c/61053
5623 * c-common.c (min_align_of_type): New function factored out from...
5624 (c_sizeof_or_alignof_type): ...here.
5625 * c-common.h (min_align_of_type): Declare.
5626
5627 2014-05-08 Marek Polacek <polacek@redhat.com>
5628
5629 PR c/61077
5630 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
5631 parameter type of main.
5632
5633 2014-05-07 DJ Delorie <dj@redhat.com>
5634
5635 * c-cppbuiltin.c (print_bits_of_hex): New.
5636 (builtin_define_type_minmax): Print values using hex so as not to
5637 require a pre-computed list of string values.
5638
5639 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
5640 Mike Stump <mikestump@comcast.net>
5641 Richard Sandiford <rdsandiford@googlemail.com>
5642
5643 * c-ada-spec.c: Include wide-int.h.
5644 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
5645 (dump_generic_ada_node): Use wide-int interfaces.
5646 * c-common.c: Include wide-int-print.h.
5647 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
5648 (pointer_int_sum): Use wide-int interfaces.
5649 (c_common_nodes_and_builtins): Use make_int_cst.
5650 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
5651 (handle_alloc_size_attribute): Use wide-int interfaces.
5652 (get_nonnull_operand): Likewise.
5653 * c-format.c (get_constant): Use tree_fits_uhwi_p.
5654 * c-lex.c: Include wide-int.h.
5655 (narrowest_unsigned_type): Take a widest_int rather than two
5656 HOST_WIDE_INTs.
5657 (narrowest_signed_type): Likewise.
5658 (interpret_integer): Update accordingly. Use wide-int interfaces.
5659 (lex_charconst): Use wide-int interfaces.
5660 * c-pretty-print.c: Include wide-int.h.
5661 (pp_c_integer_constant): Use wide-int interfaces.
5662 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
5663 INT_CST_LT_UNSIGNED.
5664
5665 2014-05-06 Richard Biener <rguenther@suse.de>
5666
5667 * c-opts.c (c_common_post_options): For -freestanding,
5668 -fno-hosted and -fno-builtin disable pattern recognition
5669 if not enabled explicitely.
5670
5671 2014-05-02 Marek Polacek <polacek@redhat.com>
5672
5673 * c.opt (Wsizeof-pointer-memaccess): Describe option.
5674
5675 2014-05-01 Marek Polacek <polacek@redhat.com>
5676
5677 PR c/43245
5678 * c.opt (Wdiscarded-qualifiers): Add.
5679
5680 2014-04-30 Marek Polacek <polacek@redhat.com>
5681
5682 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
5683 INT_MIN / -1 sanitization only for integer types.
5684
5685 2014-04-25 Marek Polacek <polacek@redhat.com>
5686
5687 PR c/18079
5688 * c-common.c (handle_noinline_attribute): Warn if the attribute
5689 conflicts with always_inline attribute.
5690 (handle_always_inline_attribute): Warn if the attribute conflicts
5691 with noinline attribute.
5692
5693 2014-04-25 Marek Polacek <polacek@redhat.com>
5694
5695 PR c/60156
5696 * c-common.c (check_main_parameter_types): Warn about variadic main.
5697
5698 2014-04-24 Mike Stump <mikestump@comcast.net>
5699
5700 * c.opt (Wshadow-ivar): Default to on.
5701
5702 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
5703
5704 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
5705
5706 2014-04-23 Marek Polacek <polacek@redhat.com>
5707
5708 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
5709
5710 2014-04-22 Jakub Jelinek <jakub@redhat.com>
5711
5712 PR sanitizer/60275
5713 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
5714 if flag_sanitize_undefined_trap_on_error.
5715 (ubsan_instrument_division, ubsan_instrument_shift,
5716 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
5717 if !flag_sanitize_recover.
5718
5719 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
5720
5721 PR libstdc++/43622
5722 * c-common.c (registered_builtin_types): Make non-static.
5723 * c-common.h (registered_builtin_types): Declare.
5724
5725 2014-04-14 Richard Biener <rguenther@suse.de>
5726 Marc Glisse <marc.glisse@inria.fr>
5727
5728 PR c/60819
5729 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
5730 apply may-alias the scalar pointer type when applicable.
5731
5732 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
5733
5734 PR middle-end/60467
5735 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
5736 as possible argument for Cilk_spawn.
5737
5738 2014-04-11 Tobias Burnus <burnus@net-b.de>
5739
5740 PR c/60194
5741 * c.opt (Wformat-signedness): Add
5742 * c-format.c(check_format_types): Use it.
5743
5744 2014-04-11 Jason Merrill <jason@redhat.com>
5745
5746 PR c++/57926
5747 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
5748 default_conversion for an array argument.
5749
5750 2014-04-08 Marek Polacek <polacek@redhat.com>
5751
5752 PR sanitizer/60745
5753 * c-ubsan.c: Include asan.h.
5754 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
5755
5756 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
5757
5758 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
5759
5760 2014-04-02 Marek Polacek <polacek@redhat.com>
5761
5762 * c-common.h (c_expand_expr): Remove declaration.
5763
5764 2014-03-28 Jakub Jelinek <jakub@redhat.com>
5765
5766 PR c++/60689
5767 * c-common.c (add_atomic_size_parameter): When creating new
5768 params vector, push the size argument first.
5769
5770 2014-03-26 Jakub Jelinek <jakub@redhat.com>
5771
5772 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5773 ubsan_instrument_vla, ubsan_instrument_return): Adjust
5774 ubsan_create_data callers.
5775
5776 2014-03-22 Jakub Jelinek <jakub@redhat.com>
5777
5778 PR debug/60603
5779 * c-opts.c (c_finish_options): Restore cb_file_change call to
5780 <built-in>.
5781
5782 2014-03-13 Jakub Jelinek <jakub@redhat.com>
5783
5784 PR middle-end/36282
5785 * c-pragma.c (apply_pragma_weak): Only look at
5786 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
5787 DECL_ASSEMBLER_NAME_SET_P (decl).
5788 (maybe_apply_pending_pragma_weaks): Exit early if
5789 vec_safe_is_empty (pending_weaks) rather than only when
5790 !pending_weaks.
5791 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
5792 set assembler name back to NULL afterwards.
5793
5794 2014-03-11 Jason Merrill <jason@redhat.com>
5795
5796 * c.opt: Add -std=gnu++14.
5797
5798 2014-03-11 Ian Bolton <ian.bolton@arm.com>
5799
5800 * c-opts.c (c_common_post_options): Don't override
5801 -ffp-contract=fast if unsafe-math-optimizations is on.
5802
5803 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
5804
5805 * c.opt: Enable LTO FE for fshort-double.
5806
5807 2014-03-07 Jason Merrill <jason@redhat.com>
5808
5809 * c.opt: Add -std=c++14.
5810
5811 2014-03-06 Marek Polacek <polacek@redhat.com>
5812
5813 PR c/60197
5814 * cilk.c (contains_cilk_spawn_stmt): New function.
5815 (contains_cilk_spawn_stmt_walker): Likewise.
5816 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
5817 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
5818
5819 2014-03-03 Jakub Jelinek <jakub@redhat.com>
5820
5821 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
5822 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
5823 even when flag_preprocess_only.
5824
5825 2014-02-26 Jason Merrill <jason@redhat.com>
5826
5827 PR c++/59231
5828 PR c++/11586
5829 * c-common.c (shorten_compare): Don't check
5830 c_inhibit_evaluation_warnings.
5831
5832 2014-02-19 Jakub Jelinek <jakub@redhat.com>
5833
5834 PR c/37743
5835 * c-common.c (c_common_nodes_and_builtins): When initializing
5836 c_uint{16,32,64}_type_node, also set corresponding
5837 uint{16,32,64}_type_node to the same value.
5838
5839 PR c++/60267
5840 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
5841 for PRAGMA_IVDEP if flag_preprocess_only.
5842
5843 2014-02-12 Jakub Jelinek <jakub@redhat.com>
5844
5845 PR c/60101
5846 * c-common.c (merge_tlist): If copy is true, call new_tlist,
5847 if false, add ADD itself, rather than vice versa.
5848 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
5849 copy. For SAVE_EXPR, only call merge_tlist once.
5850
5851 2014-02-08 Jakub Jelinek <jakub@redhat.com>
5852
5853 PR middle-end/60092
5854 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
5855 and tree_to_uhwi.
5856 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
5857 functions.
5858 (c_common_attribute_table): Add alloc_align and assume_aligned
5859 attributes.
5860
5861 2014-02-06 Marek Polacek <polacek@redhat.com>
5862
5863 PR c/60087
5864 * c-common.c (warn_for_sign_compare): Call warning_at with location
5865 instead of warning.
5866
5867 2014-02-05 Marek Polacek <polacek@redhat.com>
5868
5869 PR c/53123
5870 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
5871 statement.
5872
5873 2014-02-04 Marek Polacek <polacek@redhat.com>
5874
5875 PR c/60036
5876 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
5877 SAVE_EXPR.
5878
5879 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
5880
5881 PR c++/53017
5882 PR c++/59211
5883 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
5884 handle_vector_size_attribute, handle_nonnull_attribute): Call
5885 default_conversion on the attribute argument.
5886 (handle_nonnull_attribute): Increment the argument number.
5887
5888 2014-01-31 Marek Polacek <polacek@redhat.com>
5889
5890 PR c/59963
5891 * c-common.c (add_atomic_size_parameter): Pass vNULL to
5892 build_function_call_vec.
5893 (resolve_overloaded_builtin): Likewise.
5894 * c-common.h (build_function_call_vec): Adjust declaration.
5895
5896 2014-01-30 Marek Polacek <polacek@redhat.com>
5897
5898 PR c/59940
5899 * c-common.h (unsafe_conversion_p): Adjust declaration.
5900 (warnings_for_convert_and_check): Likewise.
5901 (convert_and_check): Likewise.
5902 * c-common.c (unsafe_conversion_p): Add location parameter. Call
5903 expansion_point_location_if_in_system_header on it.
5904 (warnings_for_convert_and_check): Add location parameter. Call
5905 expansion_point_location_if_in_system_header on it. Use it.
5906 (convert_and_check): Add location parameter. Use it.
5907 (conversion_warning): Likewise.
5908 (c_add_case_label): Adjust convert_and_check calls.
5909 (scalar_to_vector): Adjust unsafe_conversion_p calls.
5910
5911 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
5912
5913 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
5914 flag_cilkplus.
5915 * c-pragma.c (init_pragma): Likewise.
5916 * c.opt: Likewise.
5917
5918 2014-01-23 Marek Polacek <polacek@redhat.com>
5919
5920 PR c/59846
5921 * c-common.c (shorten_compare): Add location_t parameter.
5922 * c-common.h (shorten_binary_op): Adjust declaration.
5923
5924 2014-01-23 Marek Polacek <polacek@redhat.com>
5925
5926 PR c/58346
5927 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
5928 * c-common.h: Declare it.
5929
5930 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
5931
5932 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
5933 * c-ada-spec.c (dump_ads): Likewise.
5934 (cpp_check): Likewise.
5935 (dump_ada_specs): Likewise.
5936
5937 2014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
5938
5939 PR c++/49718
5940 * c-common.c (handle_no_instrument_function_attribute): Allow
5941 no_instrument_function attribute in class member
5942 definition/declaration.
5943
5944 2014-01-15 Jakub Jelinek <jakub@redhat.com>
5945
5946 PR c/58943
5947 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
5948 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
5949 being COMPOUND_EXPR.
5950 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
5951 operand a SAVE_EXPR and second MODIFY_EXPR.
5952
5953 2014-01-09 Jakub Jelinek <jakub@redhat.com>
5954
5955 PR target/58115
5956 * c-pch.c (c_common_write_pch): Call
5957 prepare_target_option_nodes_for_pch.
5958
5959 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5960
5961 Update copyright years
5962
5963 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5964
5965 * array-notation-common.c, c-cilkplus.c: Use the standard form for
5966 the copyright notice.
5967
5968 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
5969
5970 * c-ada-spec.c (print_constructor): New function.
5971 (print_destructor): Retrieve the origin of the destructor.
5972 (print_ada_declaration): Revamp handling of constructors/destructors.
5973
5974 2013-12-23 Stuart Hastings <stuart@apple.com>
5975 Bill Maddox <maddox@google.com>
5976 Jason Merrill <jason@redhat.com>
5977
5978 * c.opt: Add -fdeclone-ctor-dtor.
5979 * c-opts.c (c_common_post_options): Default to on iff -Os.
5980
5981 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
5982
5983 * c-common.c (c_common_attribute_table): Added "cilk simd function"
5984 attribute.
5985 * c-pragma.h (enum pragma_cilk_clause): Remove.
5986 (enum pragma_omp_clause): Added the following fields:
5987 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
5988 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
5989 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
5990 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
5991 PRAGMA_CILK_CLAUSE_UNIFORM.
5992
5993
5994 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
5995
5996 * cilk.c (cilk_outline): Made this function non-static.
5997 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
5998 (create_cilk_wrapper): Added a new parameter: a function pointer.
5999 (c_install_body_w_frame_cleanup): Remove
6000 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
6001 * c-common.h (cilk_outline): New prototype.
6002 (gimplify_cilk_spawn): Removed two parameters.
6003 (cilk_install_body_with_frame_cleanup): New prototype.
6004 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
6005 CILK_SPAWN_STMT case.
6006
6007 2013-12-11 Bernd Schmidt <bernds@codesourcery.com>
6008
6009 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
6010
6011 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
6012 (int_array_type_node): Remove.
6013 * c-common.c (c_common_nodes_and_builtins): Don't build it.
6014
6015 2013-12-05 Marek Polacek <polacek@redhat.com>
6016
6017 PR c/52023
6018 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
6019 [ADJUST_FIELD_ALIGN].
6020
6021 2013-12-04 Joseph Myers <joseph@codesourcery.com>
6022
6023 PR c/52023
6024 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
6025 and check field alignment if set.
6026 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
6027 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
6028
6029 2013-12-04 Jakub Jelinek <jakub@redhat.com>
6030 Marek Polacek <polacek@redhat.com>
6031
6032 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
6033 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
6034
6035 2013-11-29 H.J. Lu <hongjiu.lu@intel.com>
6036
6037 PR c/59309
6038 * cilk.c (gimplify_cilk_spawn): Properly handle function without
6039 arguments.
6040
6041 2013-11-29 Jakub Jelinek <jakub@redhat.com>
6042
6043 PR c/59280
6044 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
6045 goto invalid. If it is error_mark_node, don't issue further
6046 diagnostics.
6047
6048 2013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
6049
6050 * c.opt (Wopenmp-simd): New.
6051
6052 2013-11-22 Jakub Jelinek <jakub@redhat.com>
6053
6054 * c-ubsan.h (ubsan_instrument_return): New prototype.
6055 * c-ubsan.c (ubsan_instrument_return): New function.
6056
6057 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
6058
6059 * c-common.c: Add required include files from gimple.h.
6060 * c-gimplify.c: Likewise
6061 * cilk.c: Likewise
6062
6063 2013-11-22 David Malcolm <dmalcolm@redhat.com>
6064
6065 * c-common.c (unsafe_conversion_p): Remove use of
6066 EXPR_LOC_OR_HERE macro.
6067 (conversion_warning): Likewise.
6068 (warnings_for_convert_and_check): Likewise.
6069 (warn_for_collisions_1): Likewise.
6070 (shorten_compare): Likewise, and remove use of in_system_header
6071 macro, using the location from the former.
6072 * c-lex.c (dump_one_header): Remove use of input_filename macro.
6073 (cb_def_pragma): Remove use of in_system_header macro.
6074 (lex_string): Likewise.
6075 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6076
6077 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6078 Mike Stump <mikestump@comcast.net>
6079 Richard Sandiford <rdsandiford@googlemail.com>
6080
6081 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
6082 instead of TREE_INT_CST_LOW, in cases where there is a protecting
6083 tree_fits_shwi_p or tree_fits_uhwi_p.
6084 (dump_generic_ada_node): Likewise.
6085 * c-format.c (check_format_arg): Likewise.
6086 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6087
6088 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6089
6090 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
6091
6092 2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
6093
6094 PR c/53001
6095 * c-common.c (unsafe_conversion_p): Make this function
6096 return an enumeration with more detail.
6097 (conversion_warning): Use the new return type of
6098 unsafe_conversion_p to separately warn either about conversions
6099 that lower floating point number precision or about the other
6100 kinds of conversions.
6101 * c-common.h (enum conversion_safety): New enumeration.
6102 (unsafe_conversion_p): switching return type to
6103 conversion_safety enumeration.
6104 * c.opt: Adding new warning -Wfloat-conversion and
6105 enabling it with -Wconversion.
6106
6107 2013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
6108
6109 * c-opts.c: Include plugin.h.
6110 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
6111
6112 2013-11-19 Marek Polacek <polacek@redhat.com>
6113
6114 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
6115 call.
6116 (ubsan_instrument_shift): Likewise.
6117 (ubsan_instrument_vla): Likewise.
6118
6119 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6120
6121 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
6122 cast to unsigned type.
6123
6124 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6125
6126 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
6127 tree_low_cst.
6128 (complete_array_type): Update comment to refer to tree_to_[su]hwi
6129 rather than tree_low_cst.
6130
6131 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6132
6133 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
6134 tree_to_uhwi throughout.
6135
6136 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6137
6138 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
6139 tree_low_cst (..., 0) with tree_to_shwi throughout.
6140
6141 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6142
6143 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
6144 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
6145
6146 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6147
6148 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
6149 host_integerp (..., 0) with tree_fits_shwi_p throughout.
6150
6151 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
6152
6153 * c-cilkplus.c: New file.
6154 * c-common.c (readonly_error): Add location argument.
6155 * c-common.h (readonly_error): Same.
6156 (c_finish_cilk_clauses): Protoize.
6157 (c_check_cilk_loop): Same.
6158 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
6159 Do not fail on error_mark_node.
6160 Abstract increment canonicalization to here...
6161 (c_omp_for_incr_canonicalize_ptr): New.
6162 c-pragma.c (init_pragma): Register "simd" pragma.
6163 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
6164 (enum pragma_cilk_clause): New.
6165
6166 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
6167
6168 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
6169 wchar_type and host_integerp checks.
6170
6171 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
6172
6173 * c-common.c: Likewise.
6174 * c-gimplify.c: Likewise.
6175 * cilk.c: Likewise.
6176
6177 2013-11-14 Diego Novillo <dnovillo@google.com>
6178
6179 * c-common.c: Include fold-const.h.
6180 Include stor-layout.h.
6181 Include calls.h.
6182 Include stringpool.h.
6183 Include attribs.h.
6184 Include varasm.h.
6185 Include trans-mem.h.
6186 * c-cppbuiltin.c: Include stor-layout.h.
6187 Include stringpool.h.
6188 * c-format.c: Include stringpool.h.
6189 * c-lex.c: Include stringpool.h.
6190 Include stor-layout.h.
6191 * c-pragma.c: Include stringpool.h.
6192 Include attribs.h.
6193 Include varasm.h.
6194 Include gcc-symtab.h.
6195 * c-pretty-print.c: Include stor-layout.h.
6196 Include attribs.h.
6197 * cilk.c: Include stringpool.h.
6198 Include calls.h.
6199
6200 2013-11-13 Joseph Myers <joseph@codesourcery.com>
6201
6202 * c-common.h (enum rid): Add RID_AUTO_TYPE.
6203 * c-common.c (c_common_reswords): Add __auto_type.
6204 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
6205
6206 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
6207
6208 * c-common.c: Include gimplify.h.
6209 * c-gimplify.c: Likewise.
6210 * cilk.c: Likewise.
6211 * c-omp.c: Include gimple-expr.h instead of gimple.h.
6212 * c-ubsan.c: Don't include gimple.h.
6213
6214 2013-11-12 Joseph Myers <joseph@codesourcery.com>
6215
6216 * c-common.c (c_common_reswords): Add _Thread_local.
6217
6218 2013-11-09 Joseph Myers <joseph@codesourcery.com>
6219
6220 * c-common.c (atomic_size_supported_p): New function.
6221 (resolve_overloaded_atomic_exchange)
6222 (resolve_overloaded_atomic_compare_exchange)
6223 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
6224 Use it instead of comparing size with a local list of sizes.
6225
6226 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
6227 Joseph Myers <joseph@codesourcery.com>
6228
6229 * c-common.h (enum rid): Add RID_ATOMIC.
6230 * c-common.c (c_common_reswords): Add _Atomic.
6231 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
6232 (keyword_is_type_qualifier): Accept RID_ATOMIC.
6233 * c-format.c (check_format_types): Check for extra _Atomic
6234 qualifiers in format argument.
6235 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
6236 (pp_c_type_qualifier_list): Mention _Atomic in comment.
6237
6238 2013-11-06 Tobias Burnus <burnus@net-b.de>
6239
6240 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
6241
6242 2013-11-06 Joseph Myers <joseph@codesourcery.com>
6243
6244 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
6245 standards modes.
6246 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
6247 to mean lack of IEEE 754 support.
6248
6249 2013-11-05 Tobias Burnus <burnus@net-b.de>
6250
6251 * c.opt (-Wdate-time): New option
6252 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
6253
6254 2013-11-05 Joseph Myers <joseph@codesourcery.com>
6255
6256 * c-cppbuiltin.c (cpp_iec_559_value): Test
6257 flag_excess_precision_cmdline not flag_excess_precision.
6258
6259 2013-11-05 Tobias Burnus <burnus@net-b.de>
6260
6261 * c.opt (fopenmp-simd): New option.
6262 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
6263 (omp_pragmas): ... this new struct.
6264 (c_pp_lookup_pragma): Also walk omp_pragmas.
6265 (init_pragma): Init pragmas for -fopenmp-simd.
6266
6267 2013-11-04 Marek Polacek <polacek@redhat.com>
6268
6269 PR c++/58979
6270 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
6271
6272 2013-11-04 Joseph Myers <joseph@codesourcery.com>
6273
6274 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
6275 New functions.
6276 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
6277
6278 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
6279
6280 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
6281 (dump_ada_specs): Adjust prototype of second callback.
6282 * c-ada-spec.c (cpp_check): New global variable.
6283 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
6284 (print_generic_ada_decl): Likewise.
6285 (has_static_fields): Change return type to bool and add guard.
6286 (has_nontrivial_methods): New predicate.
6287 (is_tagged_type): Change return type to bool.
6288 (separate_class_package): Call has_nontrivial_methods.
6289 (pp_ada_tree_identifier): Minor tweaks.
6290 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
6291 (dump_ada_array_domains): Likewise.
6292 (dump_ada_array_type): Likewise.
6293 (dump_template_types): Remove cpp_check parameter and do not pass it to
6294 dump_generic_ada_node.
6295 (dump_ada_template): Likewise.
6296 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
6297 recursively.
6298 (print_ada_methods): Change return type to integer. Remove cpp_check
6299 parameter and do not pass it down.
6300 (dump_nested_types): Remove cpp_check parameter and do not pass it to
6301 dump_generic_ada_node.
6302 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
6303 accessing methods.
6304 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
6305 down. Use has_nontrivial_methods to recognize C++ classes. Use return
6306 value of print_ada_methods.
6307 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
6308 Set cpp_check to it before invoking dump_ada_nodes.
6309 (dump_ada_specs): Likewise.
6310
6311 2013-11-03 Marek Polacek <polacek@redhat.com>
6312
6313 * c-ubsan.c: Don't include hash-table.h.
6314 (ubsan_instrument_vla): New function.
6315 * c-ubsan.h: Declare it.
6316
6317 2013-10-31 David Malcolm <dmalcolm@redhat.com>
6318
6319 Automated part of renaming of symtab_node_base to symtab_node.
6320
6321 Patch autogenerated by rename_symtab.py from
6322 https://github.com/davidmalcolm/gcc-refactoring-scripts
6323 revision 58bb219cc090b2f4516a9297d868c245495ee622
6324
6325 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
6326 symtab_node_base to symtab_node.
6327
6328 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
6329
6330 Implement C++14 digit separators.
6331 * c-lex.c (interpret_float): Remove digit separators from scratch string
6332 before building real literal.
6333
6334 2013-10-30 Jakub Jelinek <jakub@redhat.com>
6335
6336 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
6337
6338 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
6339
6340 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
6341 fields.
6342 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
6343 enabled.
6344 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
6345 (insert_cilk_frame): New prototype.
6346 (cilk_init_builtins): Likewise.
6347 (gimplify_cilk_spawn): Likewise.
6348 (c_cilk_install_body_w_frame_cleanup): Likewise.
6349 (cilk_detect_spawn_and_unwrap): Likewise.
6350 (cilk_set_spawn_marker): Likewise.
6351 (build_cilk_sync): Likewise.
6352 (build_cilk_spawn): Likewise.
6353 * cilk.c: New file.
6354
6355 2013-10-29 David Malcolm <dmalcolm@redhat.com>
6356
6357 Patch autogenerated by refactor_symtab.py from
6358 https://github.com/davidmalcolm/gcc-refactoring-scripts
6359 revision 58bb219cc090b2f4516a9297d868c245495ee622
6360
6361 * c-gimplify.c (c_genericize): Update for conversion of symtab types
6362 to a true class hierarchy.
6363 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
6364
6365 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
6366
6367 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
6368
6369 2013-10-26 Jeff Law <law@redhat.com>
6370
6371 * c-common.c (c_define_builtins): Remove mudflap support.
6372 * c.opt: Ignore and warn for mudflap options.
6373
6374 2013-10-24 Tobias Burnus <burnus@net-b.de>
6375
6376 PR other/33426
6377 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
6378 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
6379
6380 2013-10-23 Jason Merrill <jason@redhat.com>
6381
6382 * c-format.c (gcc_cxxdiag_char_table): Add %X.
6383
6384 2013-10-11 Jakub Jelinek <jakub@redhat.com>
6385
6386 * c-common.h (omp_clause_mask::operator !=): New method.
6387 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
6388 instead of if (mask & something) tests everywhere.
6389
6390 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
6391 201307 instead of 201107.
6392 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
6393 (c_common_attribute_table): Add "omp declare target" and
6394 "omp declare simd" attributes.
6395 (handle_omp_declare_target_attribute,
6396 handle_omp_declare_simd_attribute): New functions.
6397 * c-omp.c: Include c-pragma.h.
6398 (c_finish_omp_taskgroup): New function.
6399 (c_finish_omp_atomic): Add swapped argument, if true,
6400 build the operation first with rhs, lhs arguments and use NOP_EXPR
6401 build_modify_expr.
6402 (c_finish_omp_for): Add code argument, pass it down to make_code.
6403 (c_omp_split_clauses): New function.
6404 (c_split_parallel_clauses): Removed.
6405 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
6406 c_omp_declare_simd_clauses_to_decls): New functions.
6407 * c-common.h (omp_clause_mask): New type.
6408 (OMP_CLAUSE_MASK_1): Define.
6409 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
6410 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
6411 omp_clause_mask::operator |, omp_clause_mask::operator &,
6412 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
6413 omp_clause_mask::operator ==): New methods.
6414 (enum c_omp_clause_split): New.
6415 (c_finish_omp_taskgroup): New prototype.
6416 (c_finish_omp_atomic): Add swapped argument.
6417 (c_finish_omp_for): Add code argument.
6418 (c_omp_split_clauses): New prototype.
6419 (c_split_parallel_clauses): Removed.
6420 (c_omp_declare_simd_clauses_to_numbers,
6421 c_omp_declare_simd_clauses_to_decls): New prototypes.
6422 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
6423 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
6424 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
6425 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
6426 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
6427 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
6428 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
6429 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
6430 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
6431 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
6432 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
6433 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
6434 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
6435 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
6436 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
6437 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
6438 PRAGMA_OMP_CLAUSE_UNIFORM.
6439
6440 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
6441
6442 PR tree-optimization/20318
6443 * c-common.c (handle_returns_nonnull_attribute): New function.
6444 (c_common_attribute_table): Add returns_nonnull.
6445
6446 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
6447
6448 PR c++/19476
6449 * c.opt (fcheck-new): Move to common.opt.
6450
6451 2013-09-25 Marek Polacek <polacek@redhat.com>
6452 Jakub Jelinek <jakub@redhat.com>
6453
6454 PR sanitizer/58413
6455 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
6456 an expression if we can prove it is correct.
6457 (ubsan_instrument_division): Likewise. Remove unnecessary
6458 check.
6459
6460 2013-09-18 Marek Polacek <polacek@redhat.com>
6461
6462 PR sanitizer/58411
6463 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
6464 Declare it.
6465 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
6466
6467 2013-09-14 Iain Sandoe <iain@codesourcery.com>
6468
6469 PR target/48094
6470 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
6471 fobjc-gc, freplace-objc-classes): Accept for LTO.
6472
6473 2013-09-13 Jacek Caban <jacek@codeweavers.com>
6474
6475 * c-target.def: New hook
6476
6477 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
6478
6479 PR c++/43452
6480 * c.opt (Wdelete-incomplete): Add.
6481
6482 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
6483
6484 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
6485 (vector_types_compatible_elements_p): New function.
6486 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
6487 declaration.
6488 (vector_types_compatible_elements_p): Declare.
6489
6490 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6491
6492 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
6493 a virtual member function.
6494 (pp_simple_type_specifier): Remove.
6495 (pp_c_type_specifier): Likewise.
6496 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
6497 Rename from pp_c_type_specifier. Adjust.
6498 (c_pretty_printer::c_pretty_printer): Do not assign to
6499 simple_type_specifier.
6500
6501 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6502
6503 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
6504 member function.
6505 (c_pretty_printer::storage_class_specifier): Likewise.
6506 (c_pretty_printer::initializer): Likewise.
6507 (pp_declaration): Remove.
6508 (pp_declaration_specifiers): Likewise.
6509 (pp_abstract_declarator): Likewise.
6510 (pp_declarator): Likewise.
6511 (pp_type_id): Likewise.
6512 (pp_statement): Likewise.
6513 (pp_constant): Likewise.
6514 (pp_id_expression): Likewise.
6515 (pp_primary_expression): Likewise.
6516 (pp_unary_expression): Likewise.
6517 (pp_multiplicative_expression): Likewise.
6518 (pp_conditional_expression): Likewise.
6519 (pp_assignment_expression): Likewise.
6520 (pp_expression): Likewise.
6521 (pp_c_type_id): Likewise.
6522 (pp_c_storage_class_specifier): Likewise.
6523 * c-pretty-print.c (pp_c_type_cast): Tidy.
6524 (pp_c_pointer): Likewise.
6525 (pp_c_type_specifier): Likewise.
6526 (pp_c_parameter_type_list): Likewise.
6527 (pp_c_function_definition): Likewise.
6528 (pp_c_init_declarator): Likewise.
6529 (pp_c_initializer_list): Likewise.
6530 (pp_c_constructor_elts): Likewise.
6531 (c_pretty_printer::direct_abstract_declarator): Likewise.
6532 (c_pretty_printer::declaration_specifiers): Likewise.
6533 (c_pretty_printer::primary_expression): Likewise.
6534 (c_pretty_printer::postfix_expression): Likewise.
6535 (c_pretty_printer::type_id): Rename from pp_c_type_id.
6536 (c_pretty_printer::storage_class_specifier): Rename from
6537 pp_c_storage_class_specifier.
6538 (c_pretty_printer::initializer): Rename from pp_c_initializer.
6539 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
6540 storage_class_specifier, initializer, offset_list, flags.
6541
6542 2013-08-30 Marek Polacek <polacek@redhat.com>
6543
6544 * c-ubsan.c: New file.
6545 * c-ubsan.h: New file.
6546
6547 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
6548
6549 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
6550 member function.
6551 (c_pretty_printer::declaration_specifiers): Likewise.
6552 (c_pretty_printer::declarator): Likewise.
6553 (c_pretty_printer::abstract_declarator): Likewise.
6554 (c_pretty_printer::direct_abstract_declarator): Likewise.
6555 (c_pretty_printer::direct_declarator): Likewise.
6556 (c_pretty_printer::function_specifier): Likewise.
6557 (pp_declaration): Adjust.
6558 (pp_declaration_specifiers): Likewise.
6559 (pp_abstract_declarator): Likewise.
6560 (pp_direct_declarator): Likewise.
6561 (pp_function_specifier): Likewise.
6562 (pp_direct_abstract_declarator): Remove as unused.
6563 (pp_c_declaration): Remove.
6564 (pp_c_declaration_specifiers): Likewise.
6565 (pp_c_declarator): Likewise.
6566 (pp_c_direct_declarator): Likewise.
6567 (pp_c_function_specifier): Likewise.
6568 (pp_c_direct_abstract_declarator): Likewise.
6569 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
6570 from pp_c_abstract_declarator. Adjust.
6571 (c_pretty_printer::direct_abstract_declarator): Rename from
6572 pp_c_direct_abstract_declarator. Adjust.
6573 (c_pretty_printer::function_specifier): Rename from
6574 pp_c_function_specifier. Adjust.
6575 (c_pretty_printer::declaration_specifiers): Rename from
6576 pp_c_declaration_specifiers. Adjust.
6577 (c_pretty_printer::direct_declarator): Rename from
6578 pp_c_direct_declarator. Adjust.
6579 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
6580 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
6581 (c_pretty_printer::c_pretty_printer): Do not assign to
6582 declaration, declaration_specifiers, declarator,
6583 direct_declarator, direct_abstract_declarator, function_specifier.
6584
6585 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
6586
6587 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
6588 virtual member function.
6589 (c_pretty_printer::multiplicative_expression): Likewise.
6590 (c_pretty_printer::conditional_expression): Likewise.
6591 (c_pretty_printer::assignment_expression): Likewise.
6592 (c_pretty_printer::expression): Likewise.
6593 (pp_unary_expression): Adjust.
6594 (pp_multiplicative_expression): Likewise.
6595 (pp_assignment_expression): Likewise.
6596 (pp_conditional_expression): Likewise.
6597 (pp_expression): Likewise.
6598 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
6599 from pp_c_unary_expression. Adjust.
6600 (c_pretty_printer::multiplicative_expression): Rename from
6601 pp_c_multiplicative_expression. Adjust.
6602 (c_pretty_printer::conditional_expression): Rename from
6603 pp_c_conditional_expression. Adjust.
6604 (c_pretty_printer::assignment_expression): Rename from
6605 pp_c_assignment_expression. Adjust.
6606 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
6607 (c_pretty_printer::c_pretty_printer): Do not assign to
6608 unary_expression, multiplicative_expression,
6609 conditional_expression, expression.
6610
6611 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
6612
6613 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
6614 virtual member function.
6615 (pp_postfix_expression): Adjust.
6616 (pp_c_postfix_expression): Remove.
6617 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
6618 from pp_c_postfix_expression. Adjust.
6619 (c_pretty_printer::c_pretty_printer): Do not assign to
6620 postfix_expression.
6621
6622 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
6623
6624 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
6625 virtua member function.
6626 (pp_primary_expression): Adjust.
6627 (pp_c_primary_expression): Remove.
6628 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
6629 from pp_c_primary_expression. Adjust.
6630 (pp_c_initializer_list): Use pp_primary_expression.
6631 (c_pretty_printer::c_pretty_printer): Do not assign to
6632 primary_expression.
6633
6634 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
6635
6636 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
6637 * c-pretty-print.c (M_): Remove.
6638 (c_pretty_printer::translate_string): Define.
6639 (pp_c_type_specifier): Use it.
6640 (pp_c_primary_expression): Likewise.
6641 (pp_c_expression): Likewise.
6642
6643 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
6644
6645 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
6646 virtual function.
6647 (pp_c_id_expression): Remove.
6648 (pp_id_expression): Adjust.
6649 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
6650 pp_c_id_expression. Adjust.
6651 (pp_c_postfix_expression): Use pp_id_expression.
6652 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
6653
6654 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
6655
6656 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
6657 member function.
6658 (pp_constant): Adjust.
6659 (pp_c_constant): Remove.
6660 * c-pretty-print.c (c_pretty_printer::constant): Rename from
6661 pp_c_constant. Adjust.
6662 (pp_c_constant)
6663 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
6664 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
6665
6666 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
6667
6668 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
6669 (c_pretty_printer::c_pretty_printer): Declare.
6670 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
6671 c_pretty_printer_init. Adjust.
6672 (print_c_tree): Do not call c_pretty_printer_init.
6673 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
6674
6675 2013-08-09 Arnaud Charlet <charlet@adacore.com>
6676
6677 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
6678
6679 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
6680
6681 PR c++/58080
6682 * c-common.c (pointer_int_sum): Add bool parameter.
6683 * c-common.h (pointer_int_sum): Adjust declaration.
6684
6685 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
6686
6687 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
6688 c_pretty_printer variable.
6689
6690 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6691
6692 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
6693 (pp_base): Remove.
6694 (pp_c_base): Likewise. Adjust users.
6695 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
6696 (pp_c_whitespace): Do not call pp_base.
6697 (pp_c_left_paren): Likewise.
6698 (pp_c_right_paren): Likewise.
6699 (pp_c_left_brace): Likewise.
6700 (pp_c_right_brace): Likewise.
6701 (pp_c_left_bracket): Likewise.
6702 (pp_c_right_bracket): Likewise.
6703 (pp_c_dot): Likewise.
6704 (pp_c_ampersand): Likewise.
6705 (pp_c_star): Likewise.
6706 (pp_c_arrow): Likewise.
6707 (pp_c_semicolon): Likewise.
6708 (pp_c_complement): Likewise.
6709 (pp_c_exclamation): Likewise.
6710 (pp_c_direct_declarator): Likewise.
6711 (pp_c_ws_string): Likewise.
6712 (pp_c_identifier): Likewise.
6713 (pp_c_statement): Likewise.
6714 (print_c_tree): Likewise.
6715
6716 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
6717
6718 PR c++/58072
6719 * c-common.c (c_parse_error): Catch user-defined literal tokens and
6720 provide useful error strings.
6721
6722 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6723
6724 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
6725 printer functions instead of pp_string or operators and punctuators.
6726 (dump_generic_ada_node): Likewise.
6727 * c-pretty-print.c (pp_c_type_specifier): Likewise.
6728 (pp_c_relational_expression): Likewise.
6729 (pp_c_logical_or_expression): Likewise.
6730
6731 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6732
6733 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
6734 functions instead of pp_character.
6735 (pp_ada_tree_identifier): Likewise.
6736 (dump_ada_double_name): Likewise.
6737 (dump_ada_function_declaration): Likewise.
6738 (dump_ada_array_domains): Likewise.
6739 (dump_template_types): Likewise.
6740 (dump_generic_ada_node): Likewise.
6741 (print_ada_declaration): Likewise.
6742 (print_ada_struct_decl): Likewise.
6743 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6744
6745 2013-07-23 Tom Tromey <tromey@redhat.com>
6746
6747 * c-common.h (enum rid) <RID_GENERIC>: New constant.
6748 * c-common.c (c_common_reswords): Add _Generic.
6749
6750 2013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
6751
6752 * c-common.c: Fix typos.
6753 * c-common.h: Likewise.
6754
6755 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
6756
6757 PR c++/55203
6758 * c-common.c (c_common_attribute_table): Add warn_unused.
6759 (handle_warn_unused_attribute): New.
6760
6761 2013-07-10 Jakub Jelinek <jakub@redhat.com>
6762
6763 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
6764 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
6765
6766 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
6767
6768 PR c++/57869
6769 * c.opt: Add Wconditionally-supported.
6770
6771 2013-07-08 Graham Stott <graham.stott@btinternet.com>
6772
6773 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6774 unused variables l_length and l_node.
6775
6776 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
6777
6778 PR c/57821
6779 * c-common.c (complete_array_type): Delay folding first index
6780 like other indices. When folding, check for index overflow.
6781
6782 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
6783
6784 PR c++/57509
6785 * c-common.h (c_build_vec_perm_expr): New complain argument.
6786 * c-common.c (c_build_vec_perm_expr): Likewise.
6787 Use save_expr also in C++.
6788
6789 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
6790
6791 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
6792 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
6793 * c-opts.c (c_common_post_options): Likewise.
6794
6795 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
6796
6797 * array-notation-common.c (length_mismatch_in_expr): Changed the
6798 parameter type's from a dynamic array to a vec_tree. Also removed
6799 the size parameters.
6800 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
6801 the change above.
6802
6803 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
6804
6805 * c-common.h (struct cilkplus_an_parts): New structure.
6806 (struct cilkplus_an_loop_parts): Likewise.
6807 (cilkplus_extract_an_triplets): New prototype.
6808 (fix_sec_implicit_args): Likewise.
6809 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
6810 (fix_sec_implicit_args): Likewise.
6811
6812 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
6813
6814 * array-notation-common.c (find_inv_trees): Removed an unwanted
6815 typecasting.
6816 * c-common.h (struct inv_list::additional_tcodes): Changed type from
6817 enum rid to enum tree_code.
6818
6819 2013-06-11 Jan Hubicka <jh@suse.cz>
6820
6821 * c-common.c (handle_alias_ifunc_attribute): Do not set
6822 DECL_EXTERNAL for weakref variables.
6823 * c-pragma.c (handle_pragma_weak): Make sure aliases
6824 are not declared as external.
6825
6826 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
6827
6828 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
6829 function from c/c-array-notation.c.
6830 (is_cilkplus_reduce_builtin): Likewise.
6831 (find_rank): Likewise.
6832 (extract_array_notation_exprs): Likewise.
6833 (replace_array_notations): Likewise.
6834 (find_inv_trees): Likewise.
6835 (replace_inv_trees): Likewise.
6836 (contains_array_notation_expr): Likewise.
6837 (find_correct_array_notation_type): Likewise.
6838 * c-common.h (struct inv_list): Moved this struct from the file
6839 c/c-array-notation.c and added a new field called additional tcodes.
6840 (length_mismatch_in_expr_p): New prototype.
6841 (is_cilkplus_reduce_builtin): Likewise.
6842 (find_rank): Likewise.
6843 (extract_array_notation_exprs): Likewise.
6844 (replace_array_notation): Likewise.
6845 (find_inv_trees): Likewise.
6846 (replace_inv_trees): Likewise.
6847 (find_correct_array_notation_type): Likewise.
6848
6849 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
6850
6851 * c-common.c (c_define_builtins): When cilkplus is enabled, the
6852 function array_notation_init_builtins is called.
6853 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
6854 * c-common.def (ARRAY_NOTATION_REF): New tree.
6855 * c-common.h (build_array_notation_expr): New function declaration.
6856 (build_array_notation_ref): Likewise.
6857 (extract_sec_implicit_index_arg): New extern declaration.
6858 (is_sec_implicit_index_fn): Likewise.
6859 (ARRAY_NOTATION_CHECK): New define.
6860 (ARRAY_NOTATION_ARRAY): Likewise.
6861 (ARRAY_NOTATION_START): Likewise.
6862 (ARRAY_NOTATION_LENGTH): Likewise.
6863 (ARRAY_NOTATION_STRIDE): Likewise.
6864 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
6865 ARRAY_NOTATION_REF.
6866 (pp_c_expression): Likewise.
6867 * c.opt (flag_enable_cilkplus): New flag.
6868 * array-notation-common.c: New file.
6869
6870 2013-05-14 Jakub Jelinek <jakub@redhat.com>
6871
6872 PR c++/57274
6873 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
6874
6875 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
6876
6877 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
6878 vectors.
6879
6880 2013-05-07 Han Shen <shenhan@google.com>
6881
6882 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
6883
6884 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
6885
6886 * c-common.c (check_user_alignment): Emit error for negative values.
6887
6888 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6889
6890 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
6891
6892 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6893
6894 * c-cppbuiltin.c (c_cpp_builtins): Do not define
6895 __GXX_EXPERIMENTAL_CXX1Y__.
6896
6897 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6898 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
6899
6900 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
6901 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
6902 to simply use OPT_Wpointer_arith.
6903 (c_sizeof_or_alignof_type): Likewise.
6904
6905 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6906
6907 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
6908
6909 2013-04-12 Jakub Jelinek <jakub@redhat.com>
6910
6911 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
6912 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
6913 specifiers.
6914
6915 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
6916
6917 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
6918
6919 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
6920
6921 * c-common.c (pointer_int_sum): Remove dead code.
6922
6923 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
6924
6925 PR middle-end/56524
6926 * c-common.c (handle_optimize_attribute): Don't call
6927 save_optabs_if_changed.
6928
6929 2013-03-05 Jakub Jelinek <jakub@redhat.com>
6930
6931 PR middle-end/56461
6932 * c-pch.c (pch_init): Free target_validity at the end.
6933
6934 2013-03-04 Jakub Jelinek <jakub@redhat.com>
6935
6936 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
6937
6938 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
6939 Jakub Jelinek <jakub@redhat.com>
6940
6941 PR sanitizer/56454
6942 * c-common.c (handle_no_sanitize_address_attribute): New function.
6943 (c_common_attribute_table): Add no_sanitize_address attribute.
6944 (handle_no_address_safety_analysis_attribute): Add
6945 no_sanitize_address attribute, not no_address_safety_analysis
6946 attribute.
6947
6948 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
6949
6950 PR target/52555
6951 * c-common.c (handle_optimize_attribute): Call
6952 save_optabs_if_changed.
6953
6954 2013-02-18 Jakub Jelinek <jakub@redhat.com>
6955 Steven Bosscher <steven@gcc.gnu.org>
6956
6957 PR pch/54117
6958 * c-opts.c (c_common_post_options): If debug info is enabled
6959 and non-dwarf*, refuse to load PCH files and when writing PCH
6960 file warn.
6961
6962 2013-02-05 Jakub Jelinek <jakub@redhat.com>
6963
6964 PR middle-end/56167
6965 * c-common.c (handle_error_attribute): Fix condition.
6966
6967 2013-01-30 Jakub Jelinek <jakub@redhat.com>
6968
6969 PR c++/55742
6970 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
6971
6972 2013-01-18 Jason Merrill <jason@redhat.com>
6973
6974 PR target/54908
6975 * c.opt (-fextern-tls-init): New.
6976 * c-opts.c (c_common_post_options): Handle it.
6977
6978 2013-01-09 Jakub Jelinek <jakub@redhat.com>
6979
6980 PR c/48418
6981 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
6982 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
6983 and is either negative or bigger or equal to type precision
6984 of the first operand.
6985
6986 2012-12-03 Marek Polacek <polacek@redhat.com>
6987
6988 PR c/55570
6989 * c-common.c (check_user_alignment): Swap order of tests,
6990 check TREE_CODE first.
6991
6992 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
6993
6994 PR c++/52654
6995 * c-common.h (overflow_type): New enum.
6996 (build_userdef_literal): Add overflow_type argument.
6997 (tree_userdef_literal): Add overflow_type.
6998 (USERDEF_LITERAL_OVERFLOW): New access macro.
6999 * c-common.c (build_userdef_literal): Add overflow_type
7000 argument.
7001 * c-lex.c (c_lex_with_flags): Add overflow_type to
7002 build_userdef_literal calls.
7003 (interpret_integer, interpret_float): Add overflow_type argument.
7004
7005 2012-11-28 Richard Biener <rguenther@suse.de>
7006
7007 PR c/35634
7008 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7009 here and use a type with proper overflow behavior for types that would
7010 need to be promoted for the arithmetic.
7011
7012 2012-11-23 Jakub Jelinek <jakub@redhat.com>
7013
7014 PR sanitizer/55435
7015 * c-common.c (handle_no_address_safety_analysis_attribute): New
7016 function.
7017 (c_common_attribute_table): Add no_address_safety_analysis.
7018
7019 2012-11-16 Simon Baldwin <simonb@google.com>
7020
7021 * c.opt: Add f[no-]canonical-system-headers.
7022 * c-opts.c (c_common_handle_option): Handle
7023 OPT_fcanonical_system_headers.
7024
7025 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
7026
7027 PR c++/54413
7028 * c-opts.c (c_common_handle_option): Set new flags.
7029 * c.opt: Describe new flags.
7030
7031 2012-11-09 Jason Merrill <jason@redhat.com>
7032
7033 * c.opt (Wabi-tag): New.
7034
7035 2012-11-09 Andi Kleen <ak@linux.intel.com>
7036
7037 PR 55139
7038 * c-common.c (get_atomic_generic_size): Mask with
7039 MEMMODEL_MASK
7040
7041 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7042
7043 PR c/53063
7044 * c.opt (Wformat): Make it Alias Wformat=1.
7045 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
7046 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
7047 LangEnabledBy.
7048 (Wformat=): RejectNegative. Use LangEnabledBy.
7049 (Wnonnull): Use LangEnabledBy.
7050 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
7051 * c-format.c (set_Wformat): Delete.
7052 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
7053 (maybe_read_dollar_number): Likewise.
7054 (avoid_dollar_number): Likewise.
7055 (finish_dollar_format_checking): Likewise.
7056 (check_format_info): Likewise.
7057 (check_format_info_main): Likewise.
7058 (check_format_types): Likewise.
7059 (format_type_warning): Likewise.
7060 * c-common.c (int): Likewise.
7061 (check_function_sentinel): Likewise.
7062 * c-common.h (warn_format,set_Wformat): Do not declare here.
7063
7064 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7065
7066 PR c/53063
7067 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
7068 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
7069 Use LangEnabledBy.
7070 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
7071 common.opt.
7072 (Wvariadic-macros): Init(1).
7073 * c-opts.c (c_common_handle_option): Do not handle them
7074 explicitly.
7075 (c_common_post_options): Likewise.
7076 (sanitize_cpp_opts): warn_unused_macros is now
7077 cpp_warn_unused_macros.
7078 (push_command_line_include): Likewise.
7079 * c-common.c (warn_unknown_pragmas): Do not define.
7080 * c-common.h (warn_unknown_pragmas): Do not declare.
7081
7082 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7083
7084 PR c/51294
7085 * c-common.c (conversion_warning): Handle conditional expressions.
7086
7087 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
7088
7089 PR c++/54930
7090 * c.opt (Wreturn_local_addr): Define new option.
7091
7092 2012-10-25 Jason Merrill <jason@redhat.com>
7093
7094 * c.opt (Wvirtual-move-assign): New.
7095
7096 * c.opt (Winherited-variadic-ctor): New.
7097
7098 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
7099
7100 PR c++/54427
7101 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
7102
7103 2012-10-23 Joseph Myers <joseph@codesourcery.com>
7104
7105 * c-common.h (pch_cpp_save_state): Declare.
7106 * c-target.def (c_preinclude): New hook.
7107 * c-opts.c (done_preinclude): New.
7108 (push_command_line_include): Handle default preincluded header.
7109 (cb_file_change): Call pch_cpp_save_state when calling
7110 push_command_line_include.
7111 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
7112 (pch_cpp_save_state): New.
7113 (pch_init): Call pch_cpp_save_state conditionally, instead of
7114 calling cpp_save_state.
7115
7116 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7117
7118 PR c/53063
7119 PR c/40989
7120 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
7121 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
7122 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
7123 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
7124 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
7125 * c-opts.c (c_common_handle_option): Remove explicit handling from
7126 here.
7127 (c_common_post_options): Likewise.
7128
7129 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
7130
7131 * c-ada-spec.c (LOCATION_COL): Delete.
7132 (compare_location): New function.
7133 (compare_node): Use it.
7134 (compare_comment): Likewise.
7135
7136 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
7137
7138 PR c/53063
7139 PR c/40989
7140 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
7141 * c-opts.c (c_common_handle_option): Do not set them here. Add
7142 comment.
7143 (c_common_post_options): Likewise.
7144
7145 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
7146
7147 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
7148 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
7149 Remove POINTER_TYPE handling, add large unsigned handling and use
7150 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
7151
7152 2012-10-12 Jakub Jelinek <jakub@redhat.com>
7153
7154 PR c/54381
7155 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
7156 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
7157 locs and array of 3 trees instead of just single loc and single
7158 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
7159 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
7160 For *cmp* builtins that take two sources strings report warnings
7161 about first and second source, not about destination and source.
7162
7163 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
7164
7165 PR c++/53055
7166 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
7167
7168 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
7169
7170 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
7171 declaring something coming from another file.
7172
7173 2012-10-10 Arnaud Charlet <charlet@adacore.com>
7174
7175 PR ada/54845
7176 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
7177
7178 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
7179
7180 PR c++/54194
7181 * c-common.c (warn_about_parentheses): Add location_t parameter;
7182 use EXPR_LOC_OR_LOC.
7183 * c-common.h: Update declaration.
7184
7185 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
7186
7187 PR c++/54427
7188 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
7189 more operations. Make error messages optional.
7190 * c-common.h (enum stv_conv): Moved from c-typeck.c.
7191 (scalar_to_vector): Declare.
7192
7193 2012-10-08 Jason Merrill <jason@redhat.com>
7194
7195 * c-common.c (c_common_reswords): Add thread_local.
7196
7197 2012-10-08 Dodji Seketeli <dodji@redhat.com>
7198
7199 PR c++/53528 C++11 attribute support
7200 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
7201 new functions.
7202 * c-common.c (check_cxx_fundamental_alignment_constraints): New
7203 static function.
7204 (handle_aligned_attribute): In choose strictest alignment
7205 among many. Use new check_cxx_fundamental_alignment_constraints.
7206 (handle_transparent_union_attribute): In c++11 attribute syntax,
7207 don't look through typedefs.
7208
7209 2012-10-04 Arnaud Charlet <charlet@adacore.com>
7210
7211 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
7212 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
7213 out of dumpfile.h.
7214
7215 2012-09-25 Dehao Chen <dehao@google.com>
7216
7217 PR middle-end/54645
7218 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
7219 map when read in the pch.
7220
7221 2012-09-18 Arnaud Charlet <charlet@adacore.com>
7222
7223 * c-ada-spec.c: Style fixes.
7224
7225 2012-09-18 Thomas Quinot <quinot@adacore.com>
7226
7227 * c.opt (-fada-spec-parent): Define new command line switch.
7228 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
7229 is specified, generate binding spec as a child of the specified unit.
7230
7231 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
7232 Manuel López-Ibáñez <manu@gcc.gnu.org>
7233
7234 PR c++/53210
7235 * c.opt ([Winit-self]): Enabled by -Wall in C++.
7236
7237 2012-08-23 Arnaud Charlet <charlet@adacore.com>
7238
7239 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
7240 for pointers, and add missing Convention C pragma.
7241 (print_ada_struct_decl): Add missing aliased keyword.
7242 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
7243
7244 2012-08-17 Jakub Jelinek <jakub@redhat.com>
7245
7246 * c-common.c (sizeof_pointer_memaccess_warning): New function.
7247 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
7248 * c-opts.c (c_common_handle_option): Enable it for -Wall.
7249 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
7250 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
7251
7252 2012-08-10 Richard Guenther <rguenther@suse.de>
7253
7254 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
7255
7256 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
7257
7258 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
7259 instead of separate pp_newline and pp_flush.
7260 (print_c_tree): Likewise.
7261
7262 2012-07-26 Richard Henderson <rth@redhat.com>
7263
7264 * c-common.c (handle_hot_attribute): Allow labels.
7265 (handle_cold_attribute): Likewise.
7266
7267 2012-07-20 Jakub Jelinek <jakub@redhat.com>
7268
7269 PR c++/28656
7270 * c-common.c (check_function_nonnull): Handle multiple nonnull
7271 attributes properly.
7272
7273 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
7274
7275 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
7276 * c-ada-spec.c: Likewise.
7277 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
7278
7279 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
7280
7281 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
7282 Remove code conditional on it.
7283
7284 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
7285
7286 * c-gimplify.c: Do not include basic-block.h.
7287 * c-common.c: Do not include linfuncs.h.
7288
7289 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
7290
7291 * c-common.h: Include tree.h.
7292
7293 2012-07-02 Jason Merrill <jason@redhat.com>
7294
7295 PR c++/53524
7296 * c-common.c (get_priority): Call default_conversion.
7297
7298 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
7299
7300 * c-pch.c (c_common_write_pch): Remove unused variables.
7301
7302 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
7303
7304 * cppspec.c: Moved from gcc/ to here.
7305
7306 2012-06-27 Kai Tietz <ktietz@redhat.com>
7307
7308 PR preprocessor/37215
7309 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
7310
7311 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
7312
7313 * c-common.h (c_common_print_pch_checksum): Remove.
7314 * c-pch.c: Do not include output.h.
7315 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
7316 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
7317 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
7318 (struct c_pch_header): Remove.
7319 (get_ident): Update gpch version.
7320 (pch_init): Do not print executable_checksum to asm_out_file.
7321 Do not fail if there is no asm_out_file to read back from. Set
7322 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
7323 (c_common_write_pch): Verify that nothing was written to asm_out_file
7324 since pch_init was called. Do not write a c_pch_header, and do not
7325 copy from asm_out_file to the PCH.
7326 (c_common_read_pch): Do not read a c_pch_header, and do not restore
7327 the content of asm_out_file from the PCH.
7328 (c_common_print_pch_checksum): Remove.
7329 * c-opts.c (c_common_init): Print out executable_checksum directly.
7330
7331 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
7332
7333 * c-target.def (objc_declare_unresolved_class_reference,
7334 objc_declare_class_definition): Add new hooks.
7335
7336 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
7337
7338 * c-lex.c: Do not include output.h.
7339 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
7340 Remove uses of ASM_OUTPUT_IDENT.
7341
7342 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
7343
7344 PR c++/51033
7345 * c-common.h (c_build_vec_perm_expr): Move decl here.
7346 * c-common.c (c_build_vec_perm_expr): Move definition
7347 here.
7348
7349 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
7350
7351 * c.opt (fconserve-space): Turn into a no-op.
7352
7353 2012-06-04 Sterling Augustine <saugustine@google.com>
7354
7355 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
7356 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
7357 both the start and end of the function.
7358
7359 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
7360
7361 * c-common.c: Do not include output.h.
7362 * c-pragma.c: Likewise.
7363
7364 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
7365
7366 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
7367 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
7368 (lang_decl_name): Handle namespace decls.
7369
7370 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
7371
7372 * c-ada-spec.c: Do not include output.h.
7373 * c-semantics.c: Likewise.
7374
7375 2012-05-29 Joseph Myers <joseph@codesourcery.com>
7376
7377 * c-common.c: Fix typo.
7378
7379 2012-05-29 Michael Matz <matz@suse.de>
7380
7381 * c-common.h (c_expand_decl): Remove prototype.
7382
7383 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7384
7385 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
7386 * c-opts.c (c_common_handle_option): Remove code handling
7387 warn_missing_braces.
7388
7389 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
7390
7391 PR c++/25137
7392 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
7393 -Wmissing_braces.
7394
7395 2012-05-22 Dodji Seketeli <dodji@redhat.com>
7396
7397 PR c++/53322
7398 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
7399
7400 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
7401
7402 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
7403 * c-opts.c (c_common_handle_option): Do not handle explicitly
7404 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
7405
7406 2012-05-16 Dodji Seketeli <dodji@redhat.com>
7407
7408 PR preprocessor/7263
7409 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
7410 to cpp_classify_number. For diagnostics, use the precise location
7411 instead of the global input_location.
7412
7413 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
7414
7415 PR c++/11856
7416 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
7417
7418 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
7419
7420 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
7421
7422 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
7423
7424 PR 53063
7425 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
7426 Wreorder): Use LangEnabledBy.
7427 * c-opts.c (c_common_handle_option): Do not enable them
7428 explicitly. Call lang-specific generated functions.
7429 (c_common_post_options): Do not set them here.
7430
7431 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
7432
7433 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
7434 Wmissing-field-initializers,Wmissing-parameter-type,
7435 Wold-style-declaration,Woverride-init): Use EnabledBy.
7436 * c-opts.c (c_common_post_options): Do not set here explicitly.
7437
7438 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7439
7440 PR 53063
7441 * c-opts.c (c_common_handle_option): Use handle_generated_option
7442 to enable sub-options.
7443
7444 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
7445
7446 PR c++/53158
7447 * c-common.c (warnings_for_convert_and_check): Use warning_at.
7448
7449 2012-05-10 Richard Guenther <rguenther@suse.de>
7450
7451 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
7452 adjust commentary about TYPE_IS_SIZETYPE types.
7453
7454 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7455
7456 PR c++/53261
7457 * c-common.c (warn_logical_operator): Check that argument of
7458 integer_zerop is not NULL.
7459
7460 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
7461
7462 PR c/43772
7463 * c-common.c (warn_logical_operator): Do not warn if either side
7464 is already true or false.
7465
7466 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
7467
7468 PR c/51712
7469 * c-common.c (expr_original_type): New.
7470 (shorten_compare): Do not warn for enumeration types.
7471
7472 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7473
7474 * c.opt (fpermissive): Add Var(flag_permissive).
7475
7476 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
7477
7478 PR c++/51033
7479 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
7480 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
7481
7482 2012-04-30 Dodji Seketeli <dodji@redhat.com>
7483
7484 Add -Wvarargs option
7485 * c.opt (Wvarargs): Define new option.
7486
7487 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7488
7489 * c-common.c (check_function_arguments): Replace
7490 Wmissing-format-attribute with Wsuggest-attribute=format.
7491
7492 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7493
7494 * c.opt (Wsuggest-attribute=format): New. Alias of
7495 Wmissing-format-attribute.
7496 * c-format.c (decode_format_type): Replace
7497 Wmissing-format-attribute with Wsuggest-attribute=format.
7498 (check_function_format): Likewise.
7499
7500 2012-04-27 Ollie Wild <aaw@google.com>
7501
7502 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
7503 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
7504 * c.opt: Add Wliteral-suffix.
7505
7506 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7507
7508 PR c/44774
7509 * c.opt (Wpedantic): New.
7510 (pedantic): Alias Wpedantic.
7511 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
7512 (c_common_post_options): Likewise.
7513 (sanitize_cpp_opts): Likewise.
7514 * c-lex.c (interpret_float): Likewise.
7515 * c-format.c (check_format_types): Likewise.
7516 * c-common.c (pointer_int_sum): Likewise.
7517 (c_sizeof_or_alignof_type): Likewise.
7518 (c_add_case_label): Likewise.
7519 (c_do_switch_warnings): Likewise.
7520 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
7521
7522 2012-04-15 Jason Merrill <jason@redhat.com>
7523
7524 PR c++/52818
7525 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
7526 (C_STD_NAME): Distinguish between C++98 and C++11.
7527
7528 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
7529
7530 PR target/52624
7531 * c-common.h (uint16_type_node): Rename into...
7532 (c_uint16_type_node): ...this.
7533 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
7534 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
7535
7536 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
7537
7538 * c-common.c (warn_if_unused_value): Move definition to here.
7539 * c-common.h (warn_if_unused_value): Move declaration to here.
7540
7541 2012-03-23 William Bader <williambader@hotmail.com>
7542
7543 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
7544
7545 2012-03-20 Jason Merrill <jason@redhat.com>
7546
7547 * c-common.h (enum cxx_dialect): Add cxx1y.
7548 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
7549 test.
7550 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
7551 * c-opts.c (c_common_post_options): Likewise.
7552 (set_std_cxx1y): New.
7553 (c_common_handle_option): Call it.
7554 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
7555
7556 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
7557
7558 PR c++/14710
7559 * c.opt ([Wuseless-cast]): Add.
7560
7561 2012-03-16 Richard Guenther <rguenther@suse.de>
7562
7563 * c-pretty-print.c (pp_c_initializer_list): Adjust.
7564
7565 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7566
7567 PR c++/44783
7568 * c.opt (ftemplate-backtrace-limit) Add.
7569
7570 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7571
7572 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
7573 handling.
7574 * c-pragma.c (handle_pragma_extern_prefix): Remove.
7575 (init_pragma): Don't register extern_prefix.
7576
7577 2012-03-12 Richard Guenther <rguenther@suse.de>
7578
7579 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
7580 (builtin_type_for_size): Likewise.
7581
7582 2012-02-13 Jakub Jelinek <jakub@redhat.com>
7583
7584 PR c++/52215
7585 * c-common.c (sync_resolve_params): Don't decide whether to convert
7586 or not based on TYPE_SIZE comparison, convert whenever arg_type
7587 is unsigned INTEGER_TYPE.
7588
7589 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
7590
7591 PR c/52118
7592 * c.opt ([Wunused-local-typedefs]): Fix description.
7593
7594 2012-01-24 Mike Stump <mikestump@comcast.net>
7595
7596 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
7597 exactly.
7598
7599 2012-01-18 Richard Guenther <rguenther@suse.de>
7600
7601 * c-opts.c (c_common_post_options): Reset LTO flags if
7602 we are about to generate a PCH.
7603
7604 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
7605
7606 PR c++/51777
7607 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
7608 use pp_unsigned_wide_integer.
7609
7610 2012-01-10 Richard Guenther <rguenther@suse.de>
7611
7612 PR middle-end/51806
7613 * c-opts.c (c_common_handle_option): Move -Werror handling
7614 to language independent code.
7615
7616 2012-01-05 Richard Guenther <rguenther@suse.de>
7617
7618 PR middle-end/51764
7619 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
7620 from common.opt.
7621
7622 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
7623
7624 PR c++/51316
7625 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
7626 of array types with an unknown bound.
7627
7628 2011-12-20 Joseph Myers <joseph@codesourcery.com>
7629
7630 * c-common.c (flag_isoc99): Update comment to refer to C11.
7631 (flag_isoc1x): Change to flag_isoc11.
7632 * c-common.h (flag_isoc99): Update comment to refer to C11.
7633 (flag_isoc1x): Change to flag_isoc11.
7634 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
7635 C11.
7636 * c-opts.c (set_std_c1x): Change to set_std_c11.
7637 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
7638 Call set_std_c11.
7639 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
7640 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
7641 * c.opt (std=c1x): Change to std=c11. Document as non-draft
7642 standard.
7643 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
7644 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
7645 (std=gnu1x): Make alias of std=gnu11.
7646
7647 2011-12-19 Jason Merrill <jason@redhat.com>
7648
7649 PR c++/51228
7650 * c-common.c (handle_transparent_union_attribute): Check the first
7651 field if the type is complete.
7652
7653 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
7654
7655 PR libstdc++/51365
7656 * c-common.c (RID_IS_FINAL): Add.
7657 * c-common.h (RID_IS_FINAL): Add.
7658
7659 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
7660
7661 * c.opt (fgnu-runtime): Provide full description.
7662 (fnext-runtime): Likewise.
7663 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
7664
7665 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
7666
7667 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
7668 predefines in one place. Add LOCK_FREE predefines.
7669 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
7670 new func.
7671
7672 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
7673
7674 PR c/51256
7675 * c-common.c (get_atomic_generic_size): Check for various error
7676 conditions
7677 (resolve_overloaded_atomic_exchange,
7678 resolve_overloaded_atomic_compare_exchange,
7679 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
7680 error_mark_node for error conditions.
7681
7682 2011-11-08 Richard Guenther <rguenther@suse.de>
7683
7684 PR middle-end/51010
7685 c-family/
7686
7687 2011-11-07 Richard Henderson <rth@redhat.com>
7688 Aldy Hernandez <aldyh@redhat.com>
7689 Torvald Riegel <triegel@redhat.com>
7690
7691 Merged from transactional-memory.
7692
7693 * c-common.c (handle_tm_wrap_attribute,
7694 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
7695 (struct c_common_reswords): Added __transaction* keywords.
7696 (struct c_common_attribute_table): Added transaction* and tm_regparm
7697 attributes.
7698 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
7699 masks.
7700 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
7701 find_tm_attribute): Declare.
7702
7703 2011-11-07 Jason Merrill <jason@redhat.com>
7704
7705 PR c++/35688
7706 * c-common.c, c-common.h: Revert yesterday's changes.
7707
7708 2011-11-06 Jason Merrill <jason@redhat.com>
7709
7710 PR c++/35688
7711 * c-common.c (decl_has_visibility_attr): Split out from...
7712 (c_determine_visibility): ...here.
7713 * c-common.h: Declare it.
7714
7715 2011-11-06 Joseph Myers <joseph@codesourcery.com>
7716
7717 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
7718 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
7719 type.
7720 (check_user_alignment): New. Split out of
7721 handle_aligned_attribute. Disallow integer constants with
7722 noninteger types. Conditionally allow zero.
7723 (handle_aligned_attribute): Use check_user_alignment.
7724 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
7725
7726 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
7727 Richard Henderson <rth@redhat.com>
7728
7729 Merged from cxx-mem-model.
7730
7731 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
7732 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
7733 parameters that are the same type size.
7734 (get_atomic_generic_size): New. Find size of generic
7735 atomic function parameters and do typechecking.
7736 (add_atomic_size_parameter): New. Insert size into parameter list.
7737 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
7738 either __atomic_exchange_n or external library call.
7739 (resolve_overloaded_atomic_compare_exchange): Restructure
7740 __atomic_compare_exchange to either _n variant or external library call.
7741 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
7742 __atomic_load_n or an external library call.
7743 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
7744 __atomic_store_n or an external library call.
7745 (resolve_overloaded_builtin): Handle new __atomic builtins.
7746
7747 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
7748
7749 PR c++/50608
7750 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
7751 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
7752 <INDIRECT_REF>: Return the argument.
7753 <ARRAY_REF>: Remove special code for negative offset.
7754 Call fold_build_pointer_plus instead of size_binop.
7755 (fold_offsetof): Remove STOP_REF argument and adjust.
7756 * c-common.h (fold_offsetof_1): Declare.
7757 (fold_offsetof): Remove STOP_REF argument.
7758
7759 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
7760
7761 PR c++/50810
7762 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
7763 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
7764 Wnarrowing for C++0x and C++98.
7765 * c.opt ([Wnarrowing]): Update.
7766
7767 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
7768
7769 PR c++/44277
7770 * c.opt: Add Wzero-as-null-pointer-constant.
7771
7772 2011-10-31 Jason Merrill <jason@redhat.com>
7773
7774 * c.opt (-fdeduce-init-list): Off by default.
7775
7776 PR c++/50920
7777 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
7778 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
7779 and -Wc++11-compat.
7780 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
7781
7782 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
7783
7784 PR c++/30066
7785 * c.opt (fvisibility-inlines-hidden): Description change.
7786
7787 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
7788
7789 Implement C++11 user-defined literals.
7790 * c-common.c (build_userdef_literal): New.
7791 * c-common.def: New tree code.
7792 * c-common.h (tree_userdef_literal): New tree struct and accessors.
7793 * c-lex.c (interpret_float): Add suffix parm.
7794 (c_lex_with_flags): Build literal tokens.
7795
7796 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
7797
7798 PR c++/50841
7799 Revert:
7800 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
7801
7802 PR c++/50810
7803 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
7804 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
7805 Wnarrowing for C++0x and C++98.
7806 * c.opt ([Wnarrowing]): Update.
7807
7808 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
7809
7810 PR c++/50810
7811 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
7812 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
7813 Wnarrowing for C++0x and C++98.
7814 * c.opt ([Wnarrowing]): Update.
7815
7816 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
7817
7818 PR c++/45385
7819 * c-common.c (conversion_warning): Remove code looking for
7820 artificial operands.
7821
7822 2011-10-18 Dodji Seketeli <dodji@redhat.com>
7823
7824 PR bootstrap/50760
7825 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
7826 !NO_IMPLICIT_EXTERN_C.
7827
7828 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
7829
7830 * c-common.c (c_common_reswords): Add __bases,
7831 __direct_bases.
7832 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
7833
7834 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
7835
7836 PR c++/50757
7837 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
7838
7839 2011-10-15 Tom Tromey <tromey@redhat.com>
7840 Dodji Seketeli <dodji@redhat.com>
7841
7842 * c.opt (fdebug-cpp): New option.
7843 * c-opts.c (c_common_handle_option): Handle the option.
7844 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
7845 output stream in parameter. Factorized from ...
7846 (maybe_print_line): ... this. Dump location debug information when
7847 -fdebug-cpp is in effect.
7848 (print_line_1): New static function. Takes an output stream in
7849 parameter. Factorized from ...
7850 (print_line): ... here. Dump location information when -fdebug-cpp
7851 is in effect.
7852 (scan_translation_unit): Dump location information when
7853 -fdebug-cpp is in effect.
7854
7855 2011-10-15 Tom Tromey <tromey@redhat.com>
7856 Dodji Seketeli <dodji@redhat.com>
7857
7858 * c.opt (ftrack-macro-expansion): New option. Handle it with and
7859 without argument.
7860 * c-opts.c (c_common_handle_option)<case
7861 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
7862 cases. Handle -ftrack-macro-expansion with and without argument.
7863
7864 2011-10-15 Tom Tromey <tromey@redhat.com>
7865 Dodji Seketeli <dodji@redhat.com>
7866
7867 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
7868 (print_line, cb_define, do_line_change): Adjust to avoid touching
7869 the internals of struct line_map. Use the public API instead.
7870 * c-pch.c (c_common_read_pch): Likewise.
7871 * c-lex.c (fe_file_change): Likewise.
7872
7873 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
7874
7875 PR c++/17212
7876 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
7877
7878 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
7879
7880 PR c++/33067
7881 * c-pretty-print.c (pp_c_floating_constant): Output
7882 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
7883
7884 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
7885
7886 * c-common.c (def_builtin_1): Delete old interface with two
7887 parallel arrays to hold standard builtin declarations, and replace
7888 it with a function based interface that can support creating
7889 builtins on the fly in the future. Change all uses, and poison
7890 the old names. Make sure 0 is not a legitimate builtin index.
7891 * c-omp.c (c_finish_omp_barrier): Ditto.
7892 (c_finish_omp_taskwait): Ditto.
7893 (c_finish_omp_flush): Ditto.
7894
7895 2011-10-11 Tristan Gingold <gingold@adacore.com>
7896
7897 * c.opt: (fallow-parameterless-variadic-functions): New.
7898
7899 2011-09-08 Dodji Seketeli <dodji@redhat.com>
7900
7901 PR c++/33255 - Support -Wunused-local-typedefs warning
7902 * c-common.h (struct c_language_function::local_typedefs): New
7903 field.
7904 (record_locally_defined_typedef, maybe_record_typedef_use)
7905 (maybe_warn_unused_local_typedefs): Declare new functions.
7906 * c-common.c (record_locally_defined_typedef)
7907 (maybe_record_typedef_use)
7908 (maybe_warn_unused_local_typedefs): Define new functions.
7909 * c.opt: Declare new -Wunused-local-typedefs flag.
7910
7911 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
7912
7913 PR middle-end/50266
7914 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
7915 computations.
7916
7917 2011-09-05 Richard Guenther <rguenther@suse.de>
7918
7919 * c-common.c (complete_array_type): Use ssize_int (-1) instead
7920 of integer_minus_one_node for empty array upper bounds.
7921
7922 2011-08-28 Dodji Seketeli <dodji@redhat.com>
7923
7924 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
7925 it's the first time it's being called on this main TU.
7926
7927 2011-08-24 Richard Guenther <rguenther@suse.de>
7928
7929 PR c/49396
7930 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
7931
7932 2011-08-22 Gabriel Charette <gchare@google.com>
7933
7934 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
7935 defined in cpp_init_builtins and c_cpp_builtins.
7936
7937 2011-08-19 Joseph Myers <joseph@codesourcery.com>
7938
7939 * c-common.c (c_common_reswords): Add __builtin_complex.
7940 * c-common.h (RID_BUILTIN_COMPLEX): New.
7941
7942 2011-08-18 Joseph Myers <joseph@codesourcery.com>
7943
7944 * c-common.c (c_common_reswords): Add _Noreturn.
7945 (keyword_is_function_specifier): Handle RID_NORETURN.
7946 * c-common.h (RID_NORETURN): New.
7947
7948 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7949
7950 * c-common.c (unsafe_conversion_p): New function. Check if it is
7951 unsafe to convert an expression to the type.
7952 (conversion_warning): Adjust, use unsafe_conversion_p.
7953 * c-common.h (unsafe_conversion_p): New function declaration.
7954
7955 2011-08-02 Jakub Jelinek <jakub@redhat.com>
7956
7957 * c-common.h (c_finish_omp_atomic): Adjust prototype.
7958 (c_finish_omp_taskyield): New prototype.
7959 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
7960 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
7961 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
7962 or RHS1 have side-effects, evaluate those too in the right spot,
7963 if it is a decl and LHS is also a decl, error out if they
7964 aren't the same.
7965 (c_finish_omp_taskyield): New function.
7966 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
7967 * c-pragma.c (omp_pragmas): Add taskyield.
7968 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
7969 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
7970 PRAGMA_OMP_CLAUSE_MERGEABLE.
7971
7972 2011-07-25 Dodji Seketeli <dodji@redhat.com>
7973
7974 * c-common.h (set_underlying_type): Remove parm name from
7975 declaration.
7976
7977 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
7978
7979 * c-pretty-print.h: Search c-common.h in c-family.
7980
7981 2011-07-22 Jason Merrill <jason@redhat.com>
7982
7983 PR c++/49793
7984 * c.opt (Wnarrowing): New.
7985
7986 PR c++/30112
7987 * c-common.h: Declare c_linkage_bindings.
7988 * c-pragma.c (handle_pragma_redefine_extname): Use it.
7989
7990 PR c++/49813
7991 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
7992 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
7993 as flag_isoc99 for 'restrict'.
7994 (pp_c_specifier_qualifier_list): Likewise for _Complex.
7995
7996 2011-07-21 Ian Lance Taylor <iant@google.com>
7997
7998 PR middle-end/49705
7999 * c-common.c (c_disable_warnings): New static function.
8000 (c_enable_warnings): New static function.
8001 (c_fully_fold_internal): Change local unused_p to bool. Call
8002 c_disable_warnings and c_enable_warnings rather than change
8003 c_inhibit_evaluation_warnings.
8004
8005 2011-07-20 Jason Merrill <jason@redhat.com>
8006
8007 PR c++/6709 (DR 743)
8008 PR c++/42603 (DR 950)
8009 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
8010 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
8011 (CPP_DECLTYPE): New.
8012 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
8013
8014 2011-07-19 Richard Guenther <rguenther@suse.de>
8015
8016 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
8017 * c-omp.c (c_finish_omp_for): Likewise.
8018
8019 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
8020
8021 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
8022 body on the next line.
8023
8024 2011-07-08 Jason Merrill <jason@redhat.com>
8025
8026 PR c++/45437
8027 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
8028
8029 PR c++/49673
8030 * c-common.c (c_apply_type_quals_to_decl): Don't check
8031 TYPE_NEEDS_CONSTRUCTING.
8032
8033 2011-07-06 Richard Guenther <rguenther@suse.de>
8034
8035 * c-common.c (c_common_nodes_and_builtins):
8036 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
8037
8038 2011-07-05 Richard Guenther <rguenther@suse.de>
8039
8040 * c-common.c (c_common_nodes_and_builtins): Build all common
8041 tree nodes first.
8042
8043 2011-06-27 Jakub Jelinek <jakub@redhat.com>
8044
8045 * c-common.h (c_tree_chain_next): New static inline function.
8046
8047 * c-common.c (check_builtin_function_arguments): Handle
8048 BUILT_IN_ASSUME_ALIGNED.
8049
8050 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
8051
8052 * c-common.c: Add sync_ or SYNC__ to builtin names.
8053 * c-omp.c: Add sync_ or SYNC__ to builtin names.
8054
8055 2011-06-20 Pierre Vittet <piervit@pvittet.com>
8056
8057 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
8058 handler.
8059 (gen_pragma_handler): New union.
8060 (internal_pragma_handler): New type.
8061 (c_register_pragma_with_data)
8062 (c_register_pragma_with_expansion_and_data): New functions.
8063
8064 * c-pragma.c (registered_pragmas, c_register_pragma_1)
8065 (c_register_pragma, c_register_pragma_with_expansion)
8066 (c_invoke_pragma_handler): Changed to work with
8067 internal_pragma_handler.
8068 (c_register_pragma_with_data)
8069 (c_register_pragma_with_expansion_and_data): New functions.
8070
8071 2011-06-14 Joseph Myers <joseph@codesourcery.com>
8072
8073 * c-common.c: Include common/common-target.h.
8074 (handle_section_attribute): Use
8075 targetm_common.have_named_sections.
8076 * c-cppbuiltin.c: Include common/common-target.h.
8077 (c_cpp_builtins): Use targetm_common.except_unwind_info.
8078
8079 2011-06-10 Richard Guenther <rguenther@suse.de>
8080
8081 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
8082 to print a IDENTIFIER_NODE.
8083
8084 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8085 Joseph Myers <joseph@codesourcery.com>
8086
8087 * c.opt (fbuilding-libgcc): New option.
8088 * c-cppbuiltin.c (c_cpp_builtins): Define
8089 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
8090
8091 2011-06-07 Jason Merrill <jason@redhat.com>
8092
8093 * c-common.c (max_tinst_depth): Lower default to 900.
8094
8095 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
8096
8097 2011-06-07 Richard Guenther <rguenther@suse.de>
8098
8099 * c-common.c (c_common_nodes_and_builtins): Do not set
8100 size_type_node or call set_sizetype.
8101
8102 2011-06-07 Dodji Seketeli <dodji@redhat.com>
8103
8104 PR debug/49130
8105 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
8106 type when using pointer comparison to compare types.
8107
8108 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
8109
8110 * c.opt: Add -Wdelete-non-virtual-dtor.
8111 * c-opts.c (c_common_handle_option): Include it in -Wall.
8112
8113 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
8114
8115 PR bootstrap/49190
8116
8117 Revert:
8118 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8119
8120 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8121 not tree_common.
8122
8123 2011-05-27 Jakub Jelinek <jakub@redhat.com>
8124
8125 PR c++/49165
8126 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
8127 C++ don't call c_common_truthvalue_conversion on void type arms.
8128
8129 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
8130
8131 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
8132 (stmt_list_stack): Define.
8133 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
8134 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
8135
8136 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8137
8138 * c-common.c (warning_candidate_p): Check for BLOCKs.
8139
8140 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8141
8142 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8143 not tree_common.
8144
8145 2011-05-25 Jakub Jelinek <jakub@redhat.com>
8146
8147 * c-common.c (def_fn_type): Remove extra va_end.
8148
8149 2011-05-23 Jason Merrill <jason@redhat.com>
8150
8151 PR c++/48106
8152 * c-common.c (c_common_get_narrower): New.
8153 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
8154
8155 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
8156
8157 * c-common.h (check_function_arguments): Tweak prototype of
8158 check_function_arguments.
8159 * c-common.c (check_function_arguments): Likewise. Adjust
8160 calls to check_function_nonnull, check_function_format, and
8161 check_function_sentinel.
8162 (check_function_sentinel): Take a FUNCTION_TYPE rather than
8163 separate attributes and typelist arguments. Use
8164 FOREACH_FUNCTION_ARGS to iterate over argument types.
8165
8166 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8167
8168 * c-common.c (c_common_reswords): Reorder.
8169 * c-common.h (rid): Likewise.
8170
8171 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
8172
8173 * c-common.c (def_fn_type): Don't call build_function_type, call
8174 build_function_type_array or build_varargs_function_type_array
8175 instead.
8176 (c_common_nodes_and_builtins): Likewise.
8177
8178 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
8179
8180 * c-common.c (c_add_case_label): Omit the loc argument to
8181 build_case_label.
8182 * c-common.h (build_case_label): Remove.
8183 * c-semantics.c (build_case_label): Remove.
8184
8185 2011-05-05 Joseph Myers <joseph@codesourcery.com>
8186
8187 * c-objc.h (objc_start_method_definition): Update prototype.
8188 * stub-objc.c (objc_start_method_definition): Add extra parameter.
8189
8190 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
8191
8192 * c-common.c (check_main_parameter_types): Reindent. Don't use
8193 TYPE_ARG_TYPES directly.
8194 (handle_nonnull_attribute): Likewise.
8195 (sync_resolve_params): Likewise.
8196 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
8197 to check_format_string.
8198 (handle_format_attribute): Likewise.
8199 (check_format_string): Take a function type to examine instead of
8200 a type list. Use a function_arg_iterator to step through argument
8201 types.
8202
8203 2011-05-04 Richard Guenther <rguenther@suse.de>
8204
8205 * c-common.c (fix_string_type): Use size_int for index type bounds.
8206 (start_fname_decls): Do not pass NULL to build_int_cst.
8207 (c_init_attributes): Likewise.
8208 * c-lex.c (c_lex_with_flags): Likewise.
8209
8210 2011-04-27 Jason Merrill <jason@redhat.com>
8211
8212 * c-common.c (make_tree_vector_from_list): New.
8213 * c-common.h: Declare it.
8214
8215 2011-04-26 Richard Guenther <rguenther@suse.de>
8216
8217 PR preprocessor/48248
8218 * c-ppoutput.c (maybe_print_line): Always optimize newlines
8219 for output size with -P.
8220
8221 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
8222
8223 * c-common.c (struct c_common_resword): Add __underlying_type.
8224 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
8225
8226 2011-04-20 Jim Meyering <meyering@redhat.com>
8227
8228 * c-format.c (init_dollar_format_checking): Remove useless
8229 if-before-free.
8230
8231 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
8232
8233 * c-objc.h (objc_get_interface_ivars): Removed.
8234 (objc_detect_field_duplicates): New.
8235 * stub-objc.c: Likewise.
8236
8237 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8238
8239 * stub-objc.c (objc_declare_protocols): Renamed to
8240 objc_declare_protocol.
8241 * c-objc.h: Likewise.
8242
8243 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8244
8245 * stub-objc.c (objc_declare_class): Updated argument name.
8246
8247 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
8248
8249 * c-common.h (c_common_init_ts): Declare.
8250 * c-common.c (c_common_init_ts): Define.
8251
8252 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
8253
8254 * c-objc.h (objc_build_message_expr): Updated prototype.
8255 * stub-objc.c (objc_build_message_expr): Likewise.
8256
8257 2011-04-12 Martin Jambor <mjambor@suse.cz>
8258
8259 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
8260 of cgraph_node.
8261
8262 2011-04-11 Richard Guenther <rguenther@suse.de>
8263
8264 * c-common.c (complete_array_type): Build a range type of
8265 proper type.
8266
8267 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
8268
8269 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
8270 (handle_type_generic_attribute): Likewise.
8271
8272 2011-04-07 Jason Merrill <jason@redhat.com>
8273
8274 PR c++/48450
8275 * c-common.c (c_common_truthvalue_conversion): Don't ignore
8276 conversion from C++0x scoped enum.
8277
8278 2011-04-06 Joseph Myers <joseph@codesourcery.com>
8279
8280 * c-target-def.h: New file.
8281 * c-target.def: New file.
8282 * c-target.h: New file.
8283 * c-common.c (targetcm): Don't define here.
8284 * c-common.h (default_handle_c_option): Declare.
8285 * c-format.c: Include c-target.h instead of target.h.
8286 * c-opts.c: Include c-target.h instead of target.h. Explicitly
8287 include tm.h.
8288 (default_handle_c_option): Move from targhooks.c.
8289
8290 2011-03-29 Jakub Jelinek <jakub@redhat.com>
8291
8292 PR preprocessor/48248
8293 * c-ppoutput.c (print): Add src_file field.
8294 (init_pp_output): Initialize it.
8295 (maybe_print_line): Don't optimize by adding up to 8 newlines
8296 if map->to_file and print.src_file are different file.
8297 (print_line): Update print.src_file.
8298
8299 2011-03-25 Kai Tietz <ktietz@redhat.com>
8300
8301 * c-ada-spec.c (compare_comment): Use filename_cmp
8302 instead of strcmp for filename.
8303
8304 2011-03-25 Jeff Law <law@redhat.com>
8305
8306 * c-common.c (def_fn_type): Add missing va_end.
8307
8308 2011-03-25 Jason Merrill <jason@redhat.com>
8309
8310 * c.opt: Add -std=c++03.
8311
8312 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
8313
8314 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
8315
8316 2011-03-17 Kai Tietz <ktietz@redhat.com>
8317
8318 PR target/12171
8319 * c-pretty-print.c (pp_c_specifier_qualifier_list):
8320 Display allowed attributes for function pointer types.
8321 (pp_c_attributes_display): New function to display
8322 attributes having affects_type_identity flag set to true.
8323 * c-pretty-print.h (pp_c_attributes_display): New prototype.
8324
8325 * c-common.c (c_common_attribute_table):
8326 Add new element.
8327 (c_common_format_attribute_table): Likewise.
8328
8329 2011-03-18 Jason Merrill <jason@redhat.com>
8330
8331 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
8332 * c-common.h: Don't declare it here.
8333 * c-common.c: Or define it here.
8334 * c-opts.c (c_common_handle_option): Or set it here.
8335
8336 PR c++/35315
8337 * c-common.c (handle_transparent_union_attribute): Don't
8338 make a duplicate type in C++.
8339
8340 2011-03-15 Jason Merrill <jason@redhat.com>
8341
8342 * c-common.c (max_constexpr_depth): New.
8343 * c-common.h: Declare it.
8344 * c-opts.c (c_common_handle_option): Set it.
8345 * c.opt (fconstexpr-depth): New option.
8346
8347 2011-03-11 Jason Merrill <jason@redhat.com>
8348
8349 * c-common.c (attribute_takes_identifier_p): Add missing const.
8350
8351 PR c++/46803
8352 * c-common.c (attribute_takes_identifier_p): Assume that an
8353 unknown attribute takes an identifier.
8354
8355 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
8356
8357 PR c/47786
8358 * c-common.c (c_type_hash): Call list_length instead of iterating
8359 through DECL_CHAIN. Rename 'i' to 'n_elements'.
8360
8361 2011-02-19 Jakub Jelinek <jakub@redhat.com>
8362
8363 PR c/47809
8364 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
8365
8366 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
8367
8368 * c.opt (fobjc-abi-version=) New.
8369 (fobjc-nilcheck): New.
8370
8371 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
8372
8373 PR c++/46890
8374 * c-common.h (keyword_is_decl_specifier): Declare.
8375 * c-common.c (keyword_is_decl_specifier): Define.
8376 (keyword_is_function_specifier): New function.
8377
8378 2011-01-26 Jakub Jelinek <jakub@redhat.com>
8379
8380 PR c/47473
8381 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
8382 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
8383 REAL_TYPE.
8384
8385 2011-01-26 Arnaud Charlet <charlet@adacore.com>
8386
8387 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
8388
8389 2011-01-26 Jakub Jelinek <jakub@redhat.com>
8390
8391 PR pch/47430
8392 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
8393 after init_c_lex if pch_file is set.
8394
8395 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
8396
8397 PR c++/43601
8398 * c.opt (-fkeep-inline-dllexport): New switch.
8399
8400 2011-01-12 Richard Guenther <rguenther@suse.de>
8401
8402 PR middle-end/32511
8403 * c-common.c (handle_weak_attribute): Warn instead of error
8404 on declaring an inline function weak.
8405
8406 2011-01-05 Tom Tromey <tromey@redhat.com>
8407
8408 * c-common.h (lvalue_error): Update.
8409 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
8410 not error.
8411
8412 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
8413
8414 PR objc/47075
8415 * c-objc.h (objc_finish_message_expr): Added argument to
8416 prototype.
8417
8418 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
8419
8420 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
8421 Use prototype_p.
8422
8423 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
8424
8425 * c-objc.h (objc_maybe_warn_exceptions): New.
8426 * stub-objc.c (objc_maybe_warn_exceptions): New.
8427
8428 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
8429
8430 * c-common.h (readonly_error): Declare.
8431 * c-common.c (readonly_error): Define.
8432
8433 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
8434
8435 * c-common.h (invalid_indirection_error): Declare.
8436 * c-common.c (invalid_indirection_error): Define.
8437
8438 2010-12-03 Richard Guenther <rguenther@suse.de>
8439
8440 PR c/46745
8441 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
8442 (pp_c_unary_expression): Likewise.
8443 (pp_c_expression): Likewise.
8444
8445 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
8446
8447 * c-common.h (objc_finish_function): New.
8448 (objc_non_volatilized_type): Removed.
8449 (objc_type_quals_match): Removed.
8450 * stub-objc.c (objc_finish_function): New.
8451 (objc_non_volatilized_type): Removed.
8452 (objc_type_quals_match): Removed.
8453
8454 2010-11-30 Joseph Myers <joseph@codesourcery.com>
8455
8456 * c-common.h (parse_optimize_options): Declare.
8457 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
8458 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
8459
8460 2010-11-29 Joseph Myers <joseph@codesourcery.com>
8461
8462 * c-opts.c (check_deps_environment_vars): Use getenv instead of
8463 GET_ENVIRONMENT.
8464 * c-pch.c (O_BINARY): Don't define here.
8465 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
8466
8467 2010-11-25 Joseph Myers <joseph@codesourcery.com>
8468
8469 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
8470 targetm.except_unwind_info.
8471
8472 2010-11-23 Joseph Myers <joseph@codesourcery.com>
8473
8474 * c-opts.c (c_common_handle_option): Pass location to
8475 set_struct_debug_option.
8476
8477 2010-11-23 Joseph Myers <joseph@codesourcery.com>
8478
8479 * c-common.c (visibility_options): Move from ../opts.c.
8480 * c-common.h (struct visibility_flags, visibility_options):
8481 Declare here.
8482 * c-opts.c (finish_options): Rename to c_finish_options.
8483 (c_common_init): Update call to finish_options.
8484
8485 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
8486
8487 PR objc/34033
8488 * c-lex.c (lex_string): Check that each string in an Objective-C
8489 string concat sequence starts with either one or zero '@', and
8490 that there are no spurious '@' signs at the end.
8491
8492 2010-11-20 Joseph Myers <joseph@codesourcery.com>
8493
8494 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
8495 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
8496 HANDLE_PRAGMA_VISIBILITY.
8497 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
8498 HANDLE_PRAGMA_VISIBILITY): Don't define.
8499 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
8500
8501 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
8502
8503 PR c++/16189
8504 PR c++/36888
8505 PR c++/45331
8506 * c-common.h (keyword_begins_type_specifier): Declare.
8507 (keyword_is_storage_class_specifier): Declare.
8508 (keyword_is_type_qualifier): Declare.
8509 * c-common.c (keyword_begins_type_specifier): New function.
8510 (keyword_is_storage_class_specifier): New function.
8511 (keyword_is_type_qualifier): Declare.
8512
8513 2010-11-19 Joseph Myers <joseph@codesourcery.com>
8514
8515 PR c/46547
8516 * c-common.c (in_late_binary_op): Define.
8517 (c_common_truthvalue_conversion): Check in_late_binary_op before
8518 calling c_save_expr.
8519 * c-common.h (in_late_binary_op): Declare.
8520
8521 2010-11-19 Joseph Myers <joseph@codesourcery.com>
8522
8523 * c-opts.c (c_common_handle_option): Update calls to
8524 set_struct_debug_option.
8525
8526 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
8527
8528 * c-common.h (objc_declare_protocols): Added additional argument.
8529 * stub-objc.c (objc_declare_protocol): Same change.
8530
8531 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
8532
8533 PR c/33193
8534 * c-common.h (build_real_imag_expr): Declare.
8535 * c-semantics.c (build_real_imag_expr): Define.
8536
8537 2010-11-17 Joseph Myers <joseph@codesourcery.com>
8538
8539 * c-opts.c (c_common_parse_file): Take no arguments.
8540 * c-common.h (c_common_parse_file): Update prototype.
8541
8542 2010-11-16 Jakub Jelinek <jakub@redhat.com>
8543
8544 PR c++/46401
8545 * c-common.c (warning_candidate_p): Don't track non-const calls
8546 or STRING_CSTs.
8547
8548 2010-11-15 Ian Lance Taylor <iant@google.com>
8549
8550 * c-lex.c (init_c_lex): Set macro debug callbacks if
8551 flag_dump_go_spec is set.
8552
8553 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
8554
8555 * c-common.h (objc_build_incr_expr_for_property_ref): New.
8556 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
8557
8558 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
8559
8560 PR preprocessor/45038
8561 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
8562 dialects.
8563
8564 2010-11-12 Joseph Myers <joseph@codesourcery.com>
8565
8566 * c-common.h (c_family_lang_mask): Declare.
8567 * c-opts.c (c_family_lang_mask): Make extern.
8568 * c-pragma.c (handle_pragma_diagnostic): Use
8569 control_warning_option.
8570
8571 2010-11-12 Joseph Myers <joseph@codesourcery.com>
8572
8573 * c-common.c (parse_optimize_options): Update call to
8574 decode_options.
8575 * c-common.h (c_common_handle_option): Update prototype.
8576 * c-opts.c (c_common_handle_option): Take location_t parameter and
8577 pass it to other functions.
8578
8579 2010-11-11 Joseph Myers <joseph@codesourcery.com>
8580
8581 * c-opts.c (warning_as_error_callback): Remove.
8582 (c_common_initialize_diagnostics): Don't call
8583 register_warning_as_error_callback.
8584 (c_common_handle_option): Handle -Werror=normalized= here.
8585
8586 2010-11-10 Joseph Myers <joseph@codesourcery.com>
8587
8588 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
8589 in diagnostic.
8590 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
8591 letter.
8592 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
8593 Remove trailing '.' from diagnostics.
8594 * c.opt (Wwrite-strings_: Avoid '`' in help text.
8595
8596 2010-11-10 Joseph Myers <joseph@codesourcery.com>
8597
8598 * c-common.c (parse_optimize_options): Pass global_dc to
8599 decode_options.
8600 * c-opts.c (c_common_handle_option): Pass &global_options to
8601 set_Wstrict_aliasing.
8602 * c.opt (v): Don't mark Common or document here.
8603
8604 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
8605
8606 PR target/44981
8607 * c-format.c (format_type): New type gcc_objc_string_format_type.
8608 (valid_stringptr_type_p): New.
8609 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
8610 (check_format_string): Pass expected type, use
8611 valid_stringptr_type_p (), check that the format string types are
8612 consistent with the format specification.
8613 (decode_format_attr): Warn if NSString is used outside objective-c.
8614 (format_types_orig): Add NSString.
8615 (format_name): New.
8616 (format_flags): New.
8617 (check_format_arg): Handle format strings requiring an external parser.
8618 first_target_format_type: New variable.
8619 (handle_format_attribute): Set up first_target_format_type, pass the
8620 expected format arg string type to check_format_string().
8621 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
8622 * stub-objc.c (objc_string_ref_type_p): New.
8623 (objc_check_format_arg): New.
8624
8625 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
8626
8627 Fixed using the Objective-C 2.0 dot-syntax with class names.
8628 * c-common.h (objc_build_class_component_ref): New.
8629 * stub-objc.c (objc_build_class_component_ref): New.
8630
8631 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
8632
8633 * c.opt (Wproperty-assign-default): New option.
8634
8635 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
8636
8637 Implemented -fobjc-std=objc1 flag.
8638 * c.opt (fobjc-std=objc1): New option.
8639
8640 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
8641
8642 Implemented format and noreturn attributes for Objective-C methods.
8643 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
8644 attribute for Objective-C methods.
8645
8646 2010-10-31 Jason Merrill <jason@redhat.com>
8647
8648 * c-common.c (conversion_warning, warn_for_collisions_1): Use
8649 EXPR_LOC_OR_HERE.
8650
8651 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
8652
8653 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
8654 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
8655 (objc_add_property_declaration): Removed arguments for copies and
8656 ivar.
8657 (objc_build_getter_call): Renamed to
8658 objc_maybe_build_component_ref.
8659 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
8660 (objc_is_property_ref): New.
8661 * c-common.c (c_common_reswords): Removed copies and ivar.
8662 * stub-objc.c (objc_add_property_declaration): Removed arguments
8663 for copies and ivar.
8664 (objc_build_getter_call): Renamed to
8665 objc_maybe_build_component_ref.
8666 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
8667 (objc_is_property_ref): New.
8668
8669 2010-10-29 Arnaud Charlet <charlet@adacore.com>
8670 Matthew Gingell <gingell@adacore.com>
8671
8672 * c-ada-spec.c (separate_class_package): New function.
8673 (pp_ada_tree_identifier): Prefix references to C++ classes with the
8674 name of their enclosing package.
8675 (print_ada_declaration): Use separate_class_package.
8676
8677 2010-10-27 Jason Merrill <jason@redhat.com>
8678
8679 * c-common.c (c_common_reswords): Add __is_literal_type.
8680 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
8681
8682 * c-common.c (check_case_value): Remove special C++ code.
8683
8684 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
8685
8686 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
8687 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
8688 and RID_LAST_PATTR.
8689 (objc_add_property_declaration): Added additional arguments.
8690 (objc_property_attribute_kind): Removed.
8691 (objc_set_property_attr): Removed.
8692 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
8693 copy and nonatomic.
8694 * stub-objc.c (objc_add_property_declaration): Added additional
8695 arguments.
8696 (objc_set_property_attr): Removed.
8697
8698 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
8699
8700 * c-common.h (objc_add_property_variable): Renamed to
8701 objc_add_property_declaration. Added location argument.
8702 * stub-objc.c (objc_add_property_variable): Same change.
8703
8704 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
8705
8706 * c-common.h (objc_maybe_printable_name): New.
8707 * stub-objc.c (objc_maybe_printable_name): New.
8708
8709 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
8710 Andrew Pinski <pinskia@gmail.com>
8711
8712 * c-common.h (c_common_mark_addressable_vec): Declare.
8713 * c-common.c (c_common_mark_addressable_vec): New function.
8714
8715 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
8716
8717 * c-common.h (objc_set_method_type): Removed.
8718 (objc_add_method_declaration): Added boolean argument.
8719 (objc_start_method_definition): Same change.
8720 (objc_build_method_signature): Same change.
8721 * stub-objc.c (objc_set_method_type): Removed.
8722 (objc_add_method_declaration): Added boolean argument.
8723 (objc_start_method_definition): Same change.
8724 (objc_build_method_signature): Same change.
8725
8726 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
8727
8728 * c-common.h (finish_file): Removed.
8729 (objc_write_global_declarations): New.
8730 * c-opts.c (c_common_parse_file): Do not call finish_file.
8731 * stub-objc.c (objc_write_global_declarations): New.
8732
8733 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8734
8735 Implemented parsing @synthesize and @dynamic for
8736 Objective-C/Objective-C++.
8737 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
8738 (objc_add_synthesize_declaration): New.
8739 (objc_add_dynamic_declaration): New.
8740 * c-common.c (c_common_reswords): Add synthesize and dynamic.
8741 * stub-objc.c (objc_add_synthesize_declaration): New.
8742 (objc_add_dynamic_declaration): New.
8743
8744 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
8745
8746 PR target/46041
8747 * c-cppbuiltin.c (mode_has_fma): Move function here from
8748 builtins.c. Don't use the fma optab, instead just use the
8749 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
8750 using -save-temps.
8751
8752 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8753
8754 Merge from 'apple/trunk' branch on FSF servers.
8755
8756 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
8757
8758 Radar 4330422
8759 * c-common.h (objc_non_volatilized_type): New declaration
8760 * stub-objc.c (objc_non_volatilized_type): New stub.
8761
8762 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
8763
8764 Merge from 'apple/trunk' branch on FSF servers.
8765
8766 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
8767
8768 Radar 4133425
8769 * c-common.h (objc_diagnose_private_ivar): New decl.
8770 * stub-objc.c (objc_diagnose_private_ivar): New stub.
8771
8772 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
8773
8774 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
8775 * c-common.h (enum rid): Add RID_AT_PACKAGE.
8776 (objc_ivar_visibility_kind): New enum.
8777 (objc_set_visibility): Adjust prototype to use visibility enum.
8778 * stub-objc.c (objc_set_visibility): Adjust stub to use
8779 visibility enum.
8780
8781 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
8782
8783 * c-cppbuiltin.c (builtin_define_float_constants): Emit
8784 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
8785 has the appropriate fma builtins.
8786 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
8787
8788 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
8789
8790 merge from FSF apple 'trunk' branch.
8791 2006 Fariborz Jahanian <fjahanian@apple.com>
8792
8793 Radars 4436866, 4505126, 4506903, 4517826
8794 * c-common.c (c_common_resword): Define @property and its attributes.
8795 * c-common.h: Define property attribute enum entries.
8796 (OBJC_IS_PATTR_KEYWORD): New.
8797 (objc_property_attribute_kind): New enum.
8798 Declare objc_set_property_attr (), objc_add_property_variable (),
8799 objc_build_getter_call () and objc_build_setter_call ().
8800 * stub-objc.c (objc_set_property_attr): New stub.
8801 (objc_add_property_variable): Likewise.
8802 (objc_build_getter_call): Likewise.
8803 (objc_build_setter_call) Likewise.
8804
8805 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
8806
8807 merge from FSF apple 'trunk' branch.
8808 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
8809
8810 Radar 3803157 (method attributes)
8811 * c-common.c (handle_deprecated_attribute): Recognize
8812 objc methods as valid declarations.
8813 * c-common.h: Declare objc_method_decl ().
8814 * stub-objc.c (objc_method_decl): New stub.
8815
8816 2010-10-08 Joseph Myers <joseph@codesourcery.com>
8817
8818 * c-common.c (parse_optimize_options): Call
8819 decode_cmdline_options_to_array_default_mask before
8820 decode_options. Update arguments to decode_options.
8821 * c-common.h (c_common_init_options_struct): Declare.
8822 * c-opts.c (c_common_init_options_struct): New. Split out from
8823 c_common_init_options.
8824
8825 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
8826
8827 Implemented fast enumeration for Objective-C.
8828 * c-common.h (objc_finish_foreach_loop): New.
8829 * stub-objc.c (objc_finish_foreach_loop): New.
8830
8831 2010-10-05 Joseph Myers <joseph@codesourcery.com>
8832
8833 * c-common.h (struct diagnostic_context): Don't declare here.
8834 (c_common_initialize_diagnostics): Declare using
8835 diagnostic_context typedef.
8836 * c-opts.c (c_common_handle_option): Pass global_dc to
8837 handle_generated_option.
8838
8839 2010-10-04 Joseph Myers <joseph@codesourcery.com>
8840
8841 * c-opts.c (c_common_handle_option): Pass &global_options_set to
8842 handle_generated_option.
8843
8844 2010-10-03 Ian Lance Taylor <iant@google.com>
8845
8846 * c.opt (-fplan9-extensions): New option.
8847
8848 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8849
8850 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
8851 Remove.
8852 (c_cpp_builtins): Call functions from cppbuiltin.c instead
8853 of duplicating code.
8854
8855 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
8856
8857 * c-common.c: Add two new entries for @optional
8858 and @required keywords.
8859
8860 merge from FSF 'apple/trunk' branch.
8861 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
8862
8863 Radar 4386773
8864 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
8865 objective-c keywords.
8866 (objc_set_method_opt): New declaration.
8867 * stub-objc.c (objc_set_method_opt): New stub.
8868
8869 2010-09-30 Joseph Myers <joseph@codesourcery.com>
8870
8871 * c-common.c (handle_optimize_attribute): Pass &global_options to
8872 cl_optimization_save and cl_optimization_restore.
8873 * c-opts.c (c_common_handle_option): Pass &global_options to
8874 handle_generated_option.
8875 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
8876 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
8877 &global_options to cl_optimization_restore.
8878
8879 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
8880
8881 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
8882 Objective-C/Objective-C++ keywords.
8883
8884 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
8885
8886 Merge from 'apple/trunk' branch on FSF servers.
8887
8888 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
8889
8890 Radar 4281748
8891 * c-common.h (objc_check_global_decl): New declaration.
8892 * stub-objc.c (objc_check_global_decl): New stub.
8893
8894 2010-09-29 Joseph Myers <joseph@codesourcery.com>
8895
8896 * c.opt: Don't use VarExists.
8897
8898 2010-09-29 Joseph Myers <joseph@codesourcery.com>
8899
8900 * c-common.c (c_cpp_error): Update names of diagnostic_context
8901 members.
8902 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
8903 cl_optimization members.
8904 * c-opts.c (warning_as_error_callback, c_common_handle_option,
8905 sanitize_cpp_opts, finish_options): Update names of cpp_options
8906 members.
8907
8908 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
8909
8910 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
8911 (objc_is_reserved_word): Removed.
8912 * c-common.c: Updated comments.
8913 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
8914 objc_is_reserved_word.
8915 * stub-objc.c (objc_is_reserved_word): Removed.
8916
8917 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
8918
8919 * c-common.h (objc_add_method_declaration): Adjust prototype to
8920 include attributes.
8921 (objc_start_method_definition): Likewise.
8922 (objc_build_keyword_decl): Likewise.
8923 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
8924 (objc_start_method_definition): Likewise.
8925 (objc_build_keyword_decl): Likewise.
8926
8927 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
8928
8929 * c-common.h (objc_start_class_interface): Adjust prototype.
8930 (objc_start_category_interface): Likewise.
8931 (objc_start_protocol): Likewise.
8932 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
8933 (objc_start_class_interface): Likewise.
8934 (objc_start_category_interface): Likewise.
8935
8936 2010-09-27 Ian Lance Taylor <iant@google.com>
8937
8938 * c-common.c (c_common_attribute_table): Add no_split_stack.
8939 (handle_no_split_stack_attribute): New static function.
8940
8941 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
8942
8943 Merge from 'apple/trunk' branch on FSF servers.
8944
8945 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
8946
8947 Radar 4229905
8948 * c-common.h (objc_have_common_type): New declaration.
8949 * stub-objc.c (objc_have_common_type): New stub.
8950
8951 2005-06-22 Ziemowit Laski <zlaski@apple.com>
8952
8953 Radar 4154928
8954 * c-common.h (objc_common_type): New prototype.
8955 * stub-objc.c (objc_common_type): New stub.
8956
8957 2010-09-24 Jan Hubicka <jh@suse.cz>
8958
8959 * c-common.c (handle_leaf_attribute): New function.
8960 (struct attribute_spec c_common_att): Add leaf.
8961
8962 2010-09-22 Joseph Myers <joseph@codesourcery.com>
8963
8964 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
8965 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
8966 -dump, -dump=, -imacros, -imacros=, -include, -include=,
8967 -include-barrier, -include-directory, -include-directory=,
8968 -include-directory-after, -include-directory-after=,
8969 -include-prefix, -include-prefix=, -include-with-prefix,
8970 -include-with-prefix=, -include-with-prefix-after,
8971 -include-with-prefix-after=, -include-with-prefix-before,
8972 -include-with-prefix-before=, -no-integrated-cpp,
8973 -no-line-commands, -no-standard-includes, -no-warnings, -output,
8974 -output=, -pedantic, -pedantic-errors, -preprocess,
8975 -print-missing-file-dependencies, -trace-includes, -traditional,
8976 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
8977 -user-dependencies, -verbose, -write-dependencies,
8978 -write-user-dependencies, no-integrated-cpp, traditional): New.
8979
8980 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
8981
8982 PR objc/23710
8983 * c-common.h (objc_start_method_definition): Return bool instead
8984 of void.
8985 * stub-objc.c (objc_start_method_definition): Return bool instead
8986 of void.
8987
8988 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
8989
8990 PR objc/25965
8991 * c-common.h (objc_get_interface_ivars): New declaration.
8992 * stub-objc.c (objc_get_interface_ivars): New stub.
8993
8994 2010-09-15 Ian Lance Taylor <iant@google.com>
8995
8996 * c-common.c (parse_optimize_options): Do not capitalize warning
8997 messages. Remove period at end of warning message.
8998
8999 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
9000
9001 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
9002 (handle_alias_attribute): ... here.
9003 (handle_ifunc_attribute): New.
9004
9005 2010-09-06 Mark Mitchell <mark@codesourcery.com>
9006
9007 * c-common.h (do_warn_double_promotion): Declare.
9008 * c-common.c (do_warn_double_promotion): Define.
9009
9010 2010-09-05 Mark Mitchell <mark@codesourcery.com>
9011
9012 * c.opt (Wdouble-promotion): New.
9013
9014 2010-09-02 Joseph Myers <joseph@codesourcery.com>
9015
9016 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
9017 fvtable-thunks, fxref): Mark no longer supported in help text.
9018
9019 2010-09-02 Joseph Myers <joseph@codesourcery.com>
9020
9021 * c.opt (Wimport, fall-virtual, falt-external-templates,
9022 fdefault-inline, fenum-int-equiv, fexternal-templates,
9023 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
9024 fname-mangling-version-, fnew-abi, fnonnull-objects,
9025 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
9026 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
9027 applicable.
9028 (fhandle-exceptions): Mark with Alias and Warn.
9029 * c-opts.c (c_common_handle_option): Don't handle options marked
9030 as ignored.
9031
9032 2010-09-02 Joseph Myers <joseph@codesourcery.com>
9033
9034 * c.opt (Wcomments, Werror-implicit-function-declaration,
9035 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
9036 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
9037 aliases.
9038 * c-common.c (option_codes): Use OPT_Wcomment instead of
9039 OPT_Wcomments.
9040 * c-opts.c (warning_as_error_callback, c_common_handle_option):
9041 Don't handle options marked as aliases.
9042
9043 2010-08-25 Richard Guenther <rguenther@suse.de>
9044
9045 * c-common.c (c_common_get_alias_set): Remove special
9046 handling for pointers.
9047
9048 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
9049
9050 * c-common.c: Use FOR_EACH_VEC_ELT.
9051 * c-gimplify.c: Likewise.
9052 * c-pragma.c: Likewise.
9053
9054 2010-08-16 Joseph Myers <joseph@codesourcery.com>
9055
9056 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
9057 RejectDriver.
9058 (MMDX): Change back to MMD. Mark NoDriverArg instead of
9059 RejectDriver.
9060 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
9061 instead of OPT_MDX and OPT_MMDX.
9062
9063 2010-08-16 Joseph Myers <joseph@codesourcery.com>
9064
9065 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
9066
9067 2010-08-12 Joseph Myers <joseph@codesourcery.com>
9068
9069 * c.opt (MD, MMD): Change to MDX and MMDX.
9070 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
9071
9072 2010-08-11 Joseph Myers <joseph@codesourcery.com>
9073
9074 * c-opts.c (c_common_handle_option): Call handle_generated_option
9075 instead of handle_option.
9076
9077 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9078
9079 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
9080 (maybe_apply_renaming_pragma): Delete unneeded declarations.
9081
9082 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9083
9084 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
9085 (pending_redefine_extname): Change type to a VEC.
9086 (add_to_renaming_pragma_list): Update for new type of
9087 pending_redefine_extname.
9088 (maybe_apply_renaming_pragma): Likewise.
9089
9090 2010-08-04 Arnaud Charlet <charlet@adacore.com>
9091
9092 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
9093 visited.
9094 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
9095 decide whether a type has already been declared/seen.
9096 Do not go to the original type.
9097 (dump_nested_types): New parameter forward.
9098 Generate forward declaration if needed and mark type as visited.
9099 (print_ada_declaration): Call dump_nested_types if not already done.
9100 Mark types as visited.
9101
9102 2010-08-03 Joseph Myers <joseph@codesourcery.com>
9103
9104 * c.opt (-print-pch-checksum): Remove option.
9105 * c-opts.c (c_common_handle_option): Don't handle
9106 OPT_print_pch_checksum.
9107
9108 2010-07-27 Joseph Myers <joseph@codesourcery.com>
9109
9110 * c-common.h (c_common_handle_option): Update prototype and return
9111 value type.
9112 * c-opts.c (c_common_handle_option): Update prototype and return
9113 value type. Update calls to handle_option and
9114 enable_warning_as_error.
9115
9116 2010-07-27 Jakub Jelinek <jakub@redhat.com>
9117
9118 PR c/45079
9119 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
9120
9121 2010-07-27 Joseph Myers <joseph@codesourcery.com>
9122
9123 * c-common.h (c_common_missing_argument): Remove.
9124 * c-opts.c (c_common_missing_argument): Remove.
9125 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
9126 idirafter, imacros, include, isysroot, isystem, iquote): Add
9127 MissingArgError.
9128 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
9129
9130 2010-07-27 Joseph Myers <joseph@codesourcery.com>
9131
9132 * c-common.h (c_common_option_lang_mask,
9133 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
9134 New.
9135 (c_common_init_options): Update prototype.
9136 * c-opts.c (c_common_option_lang_mask): New.
9137 (c_common_initialize_diagnostics): Split out of
9138 c_common_init_options.
9139 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
9140 New.
9141 (c_common_init_options): Update prototype. Use decoded options in
9142 search for -lang-asm.
9143
9144 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
9145
9146 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
9147 * c-format.c: Likewise.
9148
9149 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
9150
9151 * c-common.h: Include diagnostic-core.h. Error if already
9152 included.
9153 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
9154
9155 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
9156
9157 * c-common.c (IN_GCC_FRONTEND): Do not undef.
9158 Do not include expr.h
9159 (vector_mode_valid_p): Move here.
9160
9161 2010-06-21 DJ Delorie <dj@redhat.com>
9162
9163 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
9164 allow these pragmas anywhere.
9165
9166 2010-06-14 Jakub Jelinek <jakub@redhat.com>
9167
9168 PR bootstrap/44509
9169 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
9170 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
9171 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
9172 ggc_strdup instead of xstrdup.
9173
9174 2010-06-10 Jakub Jelinek <jakub@redhat.com>
9175
9176 * c-cppbuiltin.c: Include cpp-id-data.h.
9177 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
9178 (lazy_hex_fp_value): New function.
9179 (builtin_define_with_hex_fp_value): Provide definitions lazily.
9180
9181 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9182
9183 * c-gimplify.c: Do not include tree-flow.h
9184
9185 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
9186
9187 PR other/44034
9188 * c-common.c: Rename targetm member:
9189 targetm.enum_va_list -> targetm.enum_va_list_p
9190
9191 2010-06-28 Anatoly Sokolov <aesok@post.ru>
9192
9193 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
9194
9195 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
9196
9197 * c-cppbuiltin.c: Do not include except.h.
9198
9199 2010-06-24 Andi Kleen <ak@linux.intel.com>
9200
9201 * c-common.c (warn_for_omitted_condop): New.
9202 * c-common.h (warn_for_omitted_condop): Add prototype.
9203
9204 2010-06-21 Joseph Myers <joseph@codesourcery.com>
9205
9206 * c.opt (lang-objc): Remove.
9207 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
9208
9209 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
9210
9211 * c-opts.c: Include "tm_p.h".
9212
9213 2010-06-20 Joseph Myers <joseph@codesourcery.com>
9214
9215 * c-common.c (parse_optimize_options): Update call to
9216 decode_options.
9217
9218 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
9219
9220 * c-common.c (record_types_used_by_current_var_decl): Adjust for
9221 new type of types_used_by_cur_var_decl.
9222
9223 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
9224
9225 PR bootstrap/44512
9226 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
9227 for C++ standard compliance.
9228
9229 2010-06-16 Jason Merrill <jason@redhat.com>
9230
9231 * c.opt: Add -Wnoexcept.
9232
9233 2010-06-16 Richard Guenther <rguenther@suse.de>
9234
9235 PR c/44555
9236 * c-common.c (c_common_truthvalue_conversion): Remove
9237 premature and wrong optimization concering ADDR_EXPRs.
9238
9239 2010-06-15 Arnaud Charlet <charlet@adacore.com>
9240
9241 * c-ada-spec.c (dump_sloc): Remove column info.
9242 (is_simple_enum): New function.
9243 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
9244 enum types when relevant.
9245
9246 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9247
9248 * c-common.c (conversion_warning): Warn at expression
9249 location.
9250
9251 2010-06-10 Joseph Myers <joseph@codesourcery.com>
9252
9253 * c-opts.c (c_common_handle_option): Don't handle
9254 OPT_fshow_column.
9255
9256 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
9257
9258 * c-pragma.c (push_alignment): Use typed GC allocation.
9259 (handle_pragma_push_options): Likewise.
9260
9261 * c-common.c (parse_optimize_options): Likewise.
9262
9263 * c-common.h (struct sorted_fields_type): Add variable_size GTY
9264 option.
9265
9266 2010-06-07 Joseph Myers <joseph@codesourcery.com>
9267
9268 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
9269 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
9270 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
9271 flag_signed_bitfields, warn_strict_null_sentinel,
9272 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
9273 flag_gen_declaration, flag_no_gnu_keywords,
9274 flag_implement_inlines, flag_implicit_templates,
9275 flag_implicit_inline_templates, flag_optional_diags,
9276 flag_elide_constructors, flag_default_inline, flag_rtti,
9277 flag_conserve_space, flag_access_control, flag_check_new,
9278 flag_new_for_scope, flag_weak, flag_working_directory,
9279 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
9280 flag_enforce_eh_specs, flag_threadsafe_statics,
9281 flag_pretty_templates): Remove.
9282 * c-common.h (flag_preprocess_only, flag_nil_receivers,
9283 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
9284 flag_replace_objc_classes, flag_undef, flag_no_builtin,
9285 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
9286 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
9287 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
9288 flag_no_gnu_keywords, flag_implement_inlines,
9289 flag_implicit_templates, flag_implicit_inline_templates,
9290 flag_optional_diags, flag_elide_constructors, flag_default_inline,
9291 flag_rtti, flag_conserve_space, flag_access_control,
9292 flag_check_new, flag_new_for_scope, flag_weak,
9293 flag_working_directory, flag_use_cxa_atexit,
9294 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
9295 flag_threadsafe_statics, flag_pretty_templates,
9296 warn_strict_null_sentinel): Remove.
9297 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
9298 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
9299 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
9300 fimplicit-inline-templates, fimplicit-templates,
9301 flax-vector-conversions, fms-extensions, fnil-receivers,
9302 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
9303 frtti, fshort-double, fshort-enums, fshort-wchar,
9304 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
9305 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
9306 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
9307 gen-decls, undef): Use Var.
9308 (fdefault-inline, foptional-diags): Document as doing nothing.
9309 * c-opts.c (c_common_handle_option): Remove cases for options now
9310 using Var. Mark ignored options as such.
9311
9312 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
9313
9314 * c-common.c: Moved to here from parent directory.
9315 * c-common.def: Likewise.
9316 * c-common.h: Likewise.
9317 * c-cppbuiltin.c: Likewise.
9318 * c-dump.c: Likewise.
9319 * c-format.c: Likewise.
9320 * c-format.h : Likewise.
9321 * c-gimplify.c: Likewise.
9322 * c-lex.c: Likewise.
9323 * c-omp.c: Likewise.
9324 * c.opt: Likewise.
9325 * c-opts.c: Likewise.
9326 * c-pch.c: Likewise.
9327 * c-ppoutput.c: Likewise.
9328 * c-pragma.c: Likewise.
9329 * c-pragma.h: Likewise.
9330 * c-pretty-print.c: Likewise.
9331 * c-pretty-print.h: Likewise.
9332 * c-semantics.c: Likewise.
9333 * stub-objc.c: Likewise.
9334
9335 * c-common.c: Include gt-c-family-c-common.h.
9336 * c-pragma.c: Include gt-c-family-c-pragma.h.
9337 \f
9338 Copyright (C) 2010-2018 Free Software Foundation, Inc.
9339
9340 Copying and distribution of this file, with or without modification,
9341 are permitted in any medium without royalty provided the copyright
9342 notice and this notice are preserved.