]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
rs6000.c (rs6000_function_ok_for_sibcall): Return false if the call takes a static...
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
a599af84
MP
12018-09-19 Marek Polacek <polacek@redhat.com>
2
3 * c.opt (Wclass-conversion): New.
4
9c4a4b3c
DM
52018-09-17 David Malcolm <dmalcolm@redhat.com>
6
7 * c-format.c (range_label_for_format_type_mismatch::get_text):
8 Update for new param.
9
c896ecfe
DM
102018-09-17 David Malcolm <dmalcolm@redhat.com>
11
12 * c-format.c (format_warning_at_char): Update for introduction of
13 format_string_diagnostic_t.
14 (format_type_warning): Likewise.
15
80c6d1f4
MJ
162018-09-17 Martin Jambor <mjambor@suse.cz>
17
18 PR c/63886
19 * c.opt (Wabsolute-value): New.
20
6d900107
BE
212018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
22
23 * c-common.c (complete_flexible_array_elts): New helper function.
24 * c-common.h (complete_flexible_array_elts): Declare.
25
b5764229
BE
262018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
27
28 * c-common.c (braced_list_to_string): Remove eval parameter.
29 Add some more checks. Always create zero-terminated STRING_CST.
30 * c-common.h (braced_list_to_string): Adjust prototype.
31
85204e23
DM
322018-08-27 David Malcolm <dmalcolm@redhat.com>
33
34 PR 87091
35 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
36 to a tri-state.
37 (maybe_suggest_missing_token_insertion): Likewise.
38 (maybe_add_include_fixit): Add param "override_location". If set,
39 and source-printing is enabled, then override the rich_location's
40 primary location with that of the insertion point for the fix-it
41 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
42 * c-common.h (extern void maybe_add_include_fixit): Add bool
43 param.
44 * c-format.c (selftest::test_type_mismatch_range_labels): Update
45 for conversion of show_caret_p to a tri-state.
46 * c-warn.c (warn_for_restrict): Likewise.
47 * known-headers.cc
48 (suggest_missing_header::~suggest_missing_header): Update call to
49 maybe_add_include_fixit to suggest overriding the location, as it
50 is for a note.
51
3d78e008
ML
522018-08-27 Martin Liska <mliska@suse.cz>
53
54 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
55 fndecl_built_in_p and remove check for FUNCTION_DECL if
56 possible.
3d78e008
ML
57 (check_builtin_function_arguments): Likewise.
58 (reject_gcc_builtin): Likewise.
59 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
60
b5be6d0c
MP
612018-08-26 Marek Polacek <polacek@redhat.com>
62
63 PR c++/87029, Implement -Wredundant-move.
64 * c.opt (Wredundant-move): New option.
65
79ca9c35
MP
662018-08-21 Marek Polacek <polacek@redhat.com>
67
68 PR c++/86981, Implement -Wpessimizing-move.
69 * c.opt (Wpessimizing-move): New option.
70
097f82ec
DM
712018-08-20 David Malcolm <dmalcolm@redhat.com>
72
73 PR other/84889
74 * c-attribs.c (common_handle_aligned_attribute): Add
75 auto_diagnostic_group instance.
76 * c-indentation.c (warn_for_misleading_indentation): Likewise.
77 * c-opts.c (c_common_post_options): Likewise.
78 * c-warn.c (warn_logical_not_parentheses): Likewise.
79 (warn_duplicated_cond_add_or_warn): Likewise.
80 (warn_for_multistatement_macros): Likewise.
81
3fb558b1
NS
822018-08-20 Nathan Sidwell <nathan@acm.org>
83
84 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
85 access.
86
800c0e98
NS
872018-08-17 Nathan Sidwell <nathan@acm.org>
88
89 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
90 field.
91 (laxy_hex_fp_value_count): Make unsigned.
92 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
93 manipulate the macro.
94 (builtin_defin_with_hex_fp_value): Adjust callback name, use
95 cpp_define_lazily.
96
6f795a92
DM
972018-08-17 David Malcolm <dmalcolm@redhat.com>
98
99 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
100 (gcc_dump_printf_length_specs): New.
101 (gcc_dump_printf_flag_pairs): New.
102 (gcc_dump_printf_flag_specs): New.
103 (gcc_dump_printf_char_table): New.
104 (format_types_orig): Add entry for "gcc_dump_printf".
105 (init_dynamic_diag_info): Set up length_char_specs and
106 conversion_specs for gcc_dump_printf_format_type.
107 (handle_format_attribute): Handle gcc_dump_printf_format_type.
108
c5d725c0
NS
1092018-08-17 Nathan Sidwell <nathan@acm.org>
110
10f04917
NS
111 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
112
c5d725c0
NS
113 * c-ada-spec.c: Don't #include "cpp-id-data.h"
114 * c-cppbuiltin.c: Likewise.
115
c0c12356
ML
1162018-08-17 Martin Liska <mliska@suse.cz>
117
118 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
119 Ignore/Deprecated flag. Warning is done automatically for
120 Deprecated flags.
c0c12356 121
10fcc142
DM
1222018-08-16 David Malcolm <dmalcolm@redhat.com>
123
124 PR c++/70693
125 * c-common.c (selftest::c_family_tests): Call
126 selftest::c_indentation_c_tests.
127 * c-common.h (selftest::c_indentation_c_tests): New decl.
128 * c-indentation.c: Include "selftest.h".
129 (next_tab_stop): Add "tab_width" param, rather than accessing
130 cpp_opts.
131 (get_visual_column): Likewise. Clarify comment. Bulletproof
132 against reading past the end of the line.
133 (get_first_nws_vis_column): Add "tab_width" param.
134 (detect_intervening_unindent): Likewise.
135 (should_warn_for_misleading_indentation): Read tab width from
136 cpp_opts and pass around.
137 (selftest::test_next_tab_stop): New test.
138 (selftest::assert_get_visual_column_succeeds): New function.
139 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
140 (selftest::assert_get_visual_column_fails): New function.
141 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
142 (selftest::test_get_visual_column): New test.
143 (selftest::c_indentation_c_tests): New function.
144
3f6677f4
NS
1452018-08-16 Nathan Sidwell <nathan@acm.org>
146
147 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
148 (store_ada_macro): Likewise.
149 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
150 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
151
96e6ae57
DM
1522018-08-15 David Malcolm <dmalcolm@redhat.com>
153
154 * c-format.c: Include "selftest-diagnostic.h" and
155 "gcc-rich-location.h".
156 (format_warning_at_char): Pass NULL for new label params of
157 format_warning_va.
158 (class indirection_suffix): New class.
159 (class range_label_for_format_type_mismatch): New class.
160 (format_type_warning): Move logic for generating "*" suffix to
161 class indirection_suffix. Create "fmt_label" and "param_label"
162 to show their types, and pass them to the
163 format_warning_at_substring calls.
164 (selftest::test_type_mismatch_range_labels): New test.
165 (selftest::c_format_c_tests): Call it.
166
23aa9f7c
MS
1672018-08-13 Martin Sebor <msebor@redhat.com>
168
169 PR tree-optimization/71625
170 * c-common.c (braced_list_to_string): New function.
171 * c-common.h (braced_list_to_string): Declare it.
172
f10a9135
NS
1732018-08-08 Nathan Sidwell <nathan@acm.org>
174
175 * c-common.c (try_to_locate_new_include_inertion_point): Use
176 linemap_included_from_linemap.
177 * c-lex.c (fe_file_change): Use linemap_included_from.
178 * c-ppoutput.c (pp_file_change): Likewise.
179
8a45b051
MS
1802018-08-01 Martin Sebor <msebor@redhat.com>
181
182 PR tree-optimization/86650
183 * c-family/c-format.c (gcc_tdiag_char_table): Update comment for "%G".
184 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
185 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
186 * c-format.h (T89_G): Update to be "gimple *" rather than
187 "gcall *".
188 (local_gcall_ptr_node): Rename...
189 (local_gimple_ptr_node): ...to this.
190
e540ccc0
DM
1912018-07-31 David Malcolm <dmalcolm@redhat.com>
192
193 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
194 table entries for gcc_diag_char_table, and the 'Z' entry from
195 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
196 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
197 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
198 adding missing "Z" for this table. Remove erroneous "G" and "K"
199 entries.
200 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
201 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
202 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
203
425fc685
RE
2042018-07-31 Richard Earnshaw <rearnsha@arm.com>
205
206 * c-common.c (speculation_safe_resolve_call): New function.
207 (speculation_safe_resolve_params): New function.
208 (speculation_safe_resolve_return): New function.
209 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
210 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
211 __HAVE_SPECULATION_SAFE_VALUE.
212
181463c2
DM
2132018-07-20 David Malcolm <dmalcolm@redhat.com>
214
215 * c-common.c (c_cpp_error): Remove redundant "line_table"
216 parameter from call to rich_location::set_range.
217 (maybe_suggest_missing_token_insertion): Likewise.
218
0d7f9065
MS
2192018-07-20 Martin Sebor <msebor@redhat.com>
220
221 PR middle-end/82063
222 * gcc/c-family/c.opt (-Warray-bounds): Remove redundant -Wall.
223
00abf86c
MS
2242018-07-20 Martin Sebor <msebor@redhat.com>
225
226 PR middle-end/82063
227 * c-common.h (c_common_handle_option): Change function argument
228 to HOST_WIDE_INT.
229 * c-opts.c (c_common_init_options): Same.
230 (c_common_handle_option): Same. Remove special handling of
231 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
232 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
233 options to take a HOST_WIDE_INT argument and accept a byte-size
234 suffix. Initialize.
235 (-Wvla-larger-than): Same.
236 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
237 (-Wno-vla-larger-than): Same.
238
9b452033
JJ
2392018-07-12 Jakub Jelinek <jakub@redhat.com>
240
241 * c-attribs.c (c_common_attribute_table): Add
242 "omp declare target implicit" attribute.
243
cd0762f3
RB
2442018-07-12 Richard Biener <rguenther@suse.de>
245
246 PR c/86453
247 * c-attribs.c (handle_packed_attribute): Do not build a variant
248 type with TYPE_PACKED, instead ignore the attribute if we may
249 not apply to the original type.
250
0b27c3ed
JJ
2512018-07-10 Jakub Jelinek <jakub@redhat.com>
252
253 PR c++/86443
254 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
255 to contain TREE_LIST for both the original class iterator and the
256 "last" helper var.
257
e730a0ef
EB
2582018-07-07 Eric Botcazou <ebotcazou@adacore.com>
259
260 * c-ada-spec.c (to_ada_name): Remove index parameter.
261 (pp_ada_tree_identifier): Likewise.
262 (dump_ada_macros): Adjust call to to_ada_name.
263 (struct overloaded_name_hash): Delete.
264 (struct overloaded_name_hasher): Likewise.
265 (overloaded_names): Likewise.
266 (compute_overloading_index): Likewise.
267 (dump_ada_decl_name): Do not call compute_overloading_index and
268 adjust calls to pp_ada_tree_identifier.
269 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
270 (dump_ada_import): Add spc parameter and switch to aspect syntax.
271 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
272 (dump_ada_enum_type): Remove type and display_convention parameters.
273 Adjust calls to pp_ada_tree_identifier.
274 (dump_ada_node): Likewise and for dump_ada_structure.
275 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
276 and tidy up.
277 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
278 syntax.
279 (print_constructor): Adjust call to pp_ada_tree_identifier.
280 (print_destructor): Likewise.
281 (dump_ada_declaration): Switch to aspect syntax.
282 (dump_ada_structure): Likewise and tidy up. Replace display_convention
283 parameter with nested parameter.
284 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
285 (dump_ada_specs): Do not delete overloaded_names table.
286
8de583fc
PB
2872018-07-06 Peter Bergner <bergner@linux.ibm.com>
288
289 PR target/86324
e730a0ef 290 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
291 target hook.
292
09cff37b
NS
2932018-07-05 Nathan Sidwell <nathan@acm.org>
294
295 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
296 NO_IMPLICIT_EXTERN_C.
297
98086b2b
ML
2982018-06-28 Martin Liska <mliska@suse.cz>
299
300 * cppspec.c: Include opt-suggestions.h.
301
829c6349
CLT
3022018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
303 Thomas Schwinge <thomas@codesourcery.com>
304 Cesar Philippidis <cesar@codesourcery.com>
305
306 * c-pragma.h (enum pragma_omp_clause): Add
307 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
308 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
309
f41b7612
JJ
3102018-06-20 Jakub Jelinek <jakub@redhat.com>
311
312 PR c++/86210
313 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
314 comment.
315
4252ccd7
MS
3162018-06-18 Martin Sebor <msebor@redhat.com>
317
318 PR middle-end/85602
319 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
320 nonstring.
321
e197e64e
KV
3222018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
323
324 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
325
34a7a230
JM
3262018-06-13 Jason Merrill <jason@redhat.com>
327
5cef3733
JM
328 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
329 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
330 handling.
331
34a7a230
JM
332 PR c++/86094 - wrong code with defaulted move ctor.
333 * c-opts.c (c_common_post_options): Bump the current ABI version to
334 13. Set warn_abi_version and flag_abi_compat_version to the current
335 version rather than 0. Fix defaulting flag_abi_compat_version from
336 warn_abi_version.
337
bb0f14ae
MS
3382018-06-12 Martin Sebor <msebor@redhat.com>
339
340 PR c/85931
341 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
342 sizeof source and destination yields the same value.
343
3713f2e2
ML
3442018-06-12 Martin Liska <mliska@suse.cz>
345
346 * c.opt: Make MPX-related options as Deprecated.
347
4af78ef8
DM
3482018-06-08 David Malcolm <dmalcolm@redhat.com>
349
350 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
351 rather than 0.
352
31db0fe0
ML
3532018-06-08 Martin Liska <mliska@suse.cz>
354
355 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
356 for MPX (macros, related functions, fields in cgraph_node, ...).
357 (handle_bnd_legacy): Likewise.
358 (handle_bnd_instrument): Likewise.
359 * c.opt: Likewise.
360
fe16acf2
JJ
3612018-06-06 Jakub Jelinek <jakub@redhat.com>
362
363 PR c++/86068
364 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
365 __cpp_transactional_memory to 201500 instead of 210500.
366
4dbdb49b
JM
3672018-06-06 Jason Merrill <jason@redhat.com>
368
369 PR c++/85710 - ICE with -Wmemset-elt-size.
370 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
371
f8ad043f
JM
3722018-06-01 Jason Merrill <jason@redhat.com>
373
374 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
375 201703.
376
abc24d93
EB
3772018-06-01 Eric Botcazou <ebotcazou@adacore.com>
378
379 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
380 declaration for a typedef independently of whether the declaration of
381 the subtype is generated.
382
d258f4aa
MS
3832018-05-31 Martin Sebor <msebor@redhat.com>
384
385 PR c/82063
386 * c.opt (-Wno-alloc-size-larger-than): New option.
387
b67b9225
DP
3882018-04-22 David Pagan <dave.pagan@oracle.com>
389
390 PR c/55976
391 * c-opts.c (c_common_post_options): Set default for warn_return_type
392 for C++/C++ with ObjC extensions only. For C, makes it possible to
393 differentiate between default (no option), -Wreturn-type, and
394 -Wno-return-type.
395
04eb9c55
JM
3962018-05-29 Jason Merrill <jason@redhat.com>
397
398 * c.opt (Winit-list-lifetime): New flag.
399
b0c31bc6
BE
4002018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
401
402 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
403 splay_tree_delete_pointers.
404
44284983
JJ
4052018-05-26 Jakub Jelinek <jakub@redhat.com>
406
407 PR bootstrap/85921
408 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
409 noinline variable to workaround broken kernel headers.
410
b46b715d
JM
4112018-05-18 Jason Merrill <jason@redhat.com>
412
413 * c.opt (Wdeprecated-copy): New flag.
414
40659769
ML
4152018-05-17 Martin Liska <mliska@suse.cz>
416
417 * c-warn.c (overflow_warning): Do not use
418 space in between 'G_' and '('.
419
403962ea
JM
4202018-05-09 Jason Merrill <jason@redhat.com>
421
422 * c-common.c (valid_array_size_p): Add complain parameter.
423 * c-common.h: ...which defaults to true.
424
1c9ee609
JJ
4252018-05-11 Jakub Jelinek <jakub@redhat.com>
426
427 PR c/85696
428 * c-omp.c (c_omp_predetermined_sharing): Return
429 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
430
19916065
ML
4312018-05-11 Martin Liska <mliska@suse.cz>
432
92a285c1 433 PR sanitizer/85556
19916065
ML
434 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
435 TREE_LIST values.
436
79e7b1fe
JJ
4372018-05-10 Jakub Jelinek <jakub@redhat.com>
438
439 PR c++/85662
440 * c-common.h (fold_offsetof_1): Removed.
441 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
442 CTX argument defaulted to ERROR_MARK.
443 * c-common.c (fold_offsetof_1): Renamed to ...
444 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
445 argument, convert the pointer constant to TYPE and use size_binop
446 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
447 a pointer type. Adjust recursive calls.
448
86c12f76
EB
4492018-05-10 Eric Botcazou <ebotcazou@adacore.com>
450
451 PR c++/85400
452 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
453
ee336e84
NS
4542018-05-07 Nathan Sidwell <nathan@acm.org>
455
456 * c.opt (ffor-scope): Remove functionality, issue warning.
457
6c072e21
NS
4582018-05-03 Nathan Sidwell <nathan@acm.org>
459
460 * c.opt (ffriend-injection): Remove functionality, issue warning.
461
2cc7d3a7
DM
4622018-05-01 David Malcolm <dmalcolm@redhat.com>
463
464 PR c/84258
465 * c-format.c (struct format_check_results): Add field
466 "number_non_char".
467 (check_format_info): Initialize it, and warn if encountered.
468 (check_format_arg): Distinguish between wide char and
469 everything else when detecting arrays of non-char.
470
7761dfbe
DM
4712018-04-30 David Malcolm <dmalcolm@redhat.com>
472
473 * c-format.c (get_corrected_substring): Update for
474 location_get_source_line returning a char_span. Use a char_span
475 when handling the prefix of the correction.
476 * c-indentation.c (get_visual_column): Update for
477 location_get_source_line returning a char_span.
478 (get_first_nws_vis_column): Likewise.
479
62e98ef1
DM
4802018-03-29 David Malcolm <dmalcolm@redhat.com>
481
482 PR c++/84269
483 * known-headers.cc (get_stdlib_header_for_name): Add various names
484 from <assert.h>, <string.h>, and <memory.h>; add more names from
485 <stdio.h>.
486
a7dea617
JJ
4872018-03-27 Jakub Jelinek <jakub@redhat.com>
488
489 PR c++/85061
490 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
491 get_base_address of the second operand is a VAR_P, rather than the
492 operand itself, and use gcc_checking_assert instead of gcc_assert.
493
889a3a30
MP
4942018-03-23 Marek Polacek <polacek@redhat.com>
495
496 PR c++/85045
497 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
498 <case RDIV_EXPR>: Tweak condition.
499
452154b9
EB
5002018-03-20 Eric Botcazou <ebotcazou@adacore.com>
501
502 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
503
63ecb626
JJ
5042018-03-16 Jakub Jelinek <jakub@redhat.com>
505
ce811fc4
JJ
506 PR c/84909
507 * c-warn.c (conversion_warning): Replace "to to" with "to" in
508 diagnostics.
509
63ecb626
JJ
510 PR c/84910
511 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
512 diagnostics.
513
a1295eec
RB
5142018-03-16 Richard Biener <rguenther@suse.de>
515
516 PR c/84873
517 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
518 unshare the possibly folded expression.
519
919674fb
RB
5202018-03-15 Richard Biener <rguenther@suse.de>
521
522 PR c/84873
523 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
524
f99309b2
MS
5252018-03-13 Martin Sebor <msebor@redhat.com>
526
527 PR tree-optimization/84725
528 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
529 with all three narrow character types, including their qualified forms.
530
e9b9fa4c
MS
5312018-03-12 Martin Sebor <msebor@redhat.com>
532
533 PR tree-optimization/83456
534 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
535 Restore checking of bounded built-in functions.
536 (check_function_arguments): Also return the result
537 of warn_for_restrict.
538 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
539 * gcc/c-family/c-warn.c (warn_for_restrict): Return bool.
540
0805d020
MP
5412018-03-02 Marek Polacek <polacek@redhat.com>
542
543 PR c++/84171
544 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
545 is erroneous.
546
ed2a2f08
TS
5472018-03-02 Thomas Schwinge <thomas@codesourcery.com>
548
549 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
550 function".
551
90abdde0
MP
5522018-03-01 Marek Polacek <polacek@redhat.com>
553
554 PR c++/84639
555 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
556 alignment in computation.
557
c6db43fa
EB
5582018-02-28 Eric Botcazou <ebotcazou@adacore.com>
559
560 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
561 <REAL_TYPE>: Deal specifically with _Float128/__float128.
562
9e25c7ed
EB
5632018-02-28 Eric Botcazou <ebotcazou@adacore.com>
564
565 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
566 (is_char_array): Take a type instead of a declaration.
567 (dump_ada_array_type): Likewise.
568 (is_simple_enum): Minor tweak.
569 (dump_ada_enum_type): New function extracted from...
570 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
571 <INTEGER_TYPE>: Remove unreachable code.
572 <RECORD_TYPE>: Likewise. Minor tweaks.
573 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
574 <ENUMERAL_TYPE>: New case.
575 <RECORD_TYPE>: Factor out common code.
576 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
577 Minor tweaks. Deal with enumeral types.
578 (dump_ada_structure): Minor tweaks.
579
09de3550
EB
5802018-02-28 Eric Botcazou <ebotcazou@adacore.com>
581
582 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
583 address for incomplete structures.
584 (dump_forward_type): Do not bail out for incomplete structures.
585 (dump_ada_declaration): Do not special-case incomplete structures
586 for subtypes. Dump them as null records for types.
587
095d8d4b
EB
5882018-02-28 Eric Botcazou <ebotcazou@adacore.com>
589
590 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
591 (is_char_array): Fix formatting.
592 (dump_template_types): Likewise.
593 (dump_generic_ada_node): Rename into...
594 (dump_ada_node): ...this.
595 <POINTER_TYPE>: Remove superfluous space. Use generic address for
596 incomplete structures and not for empty structures. Do not use it
597 when forward declarations are needed.
598 (dump_forward_type): New function.
599 (dump_nested_types): Remove FORWARD parameter. Do not consider
600 TREE_VISITED and do not generate a forward declaration. Only dump
601 original nested types for nested declaration.
602 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
603 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
604 <RECORD_TYPE>: Do not consider TREE_VISITED.
605 (dump_ada_declaration): Use booleans and fix formatting throughout.
606 <TYPE_DECL>: Skip incomplete structures and not empty structures.
607 Call dump_forward_type instead of dump_nested_types for a typedef.
608 Remove superfluous check and adjust call to dump_nested_types.
609 <POINTER_TYPE>: Call dump_forward_type and fall through.
610 (dump_ada_struct_decl): Rename into...
611 (dump_ada_structure): ...this. Do not special-case empty structures.
612
d4cfd486
MS
6132018-02-27 Martin Sebor <msebor@redhat.com>
614
615 PR c++/83871
616 * c.opt (-Wmissing-attributes): New option.
617
b22dbd03
ML
6182018-02-21 Martin Liska <mliska@suse.cz>
619
620 * c.opt (Wcatch-value=): Add IntegerRange.
621
883dfe2a
JM
6222018-02-15 Jason Merrill <jason@redhat.com>
623
624 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
625
0444aa9c
NS
6262018-02-09 Nathan Sidwell <nathan@acm.org>
627
628 PR c/84293
629 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
630 arg.
631 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
632 arg. Adjust.
633
cea71f0a
MS
6342018-02-09 Martin Sebor <msebor@redhat.com>
635
636 PR lto/84212
637 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
638 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
639 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
640 (-Wstrict-overflow, -Wsuggest-attribute): Same.
641 (-Wuninitialized): Same.
642
8c8b7be5
EB
6432018-02-09 Eric Botcazou <ebotcazou@adacore.com>
644
645 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
646 keyword for components.
647
7c30b12a
PC
6482018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
649
650 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
651
eece7fe5
JK
6522018-02-02 Julia Koval <julia.koval@intel.com>
653
654 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
655
7d07a93a
MP
6562018-01-29 Marek Polacek <polacek@redhat.com>
657
658 PR c/83966
659 * c-format.c (check_function_format): Check current_function_decl.
660
53723269
JJ
6612018-01-27 Jakub Jelinek <jakub@redhat.com>
662
663 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
664 argument.
665 (LAZY_HEX_FP_VALUES_CNT): Define.
666 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
667 values rather than just 12.
668 (builtin_define_with_hex_fp_value): Likewise.
669
7365279f
BK
6702018-01-18 Boris Kolpackov <boris@codesynthesis.com>
671
92a285c1
ML
672 PR other/70268
673 * c.opt (-fmacro-prefix-map): New option.
674 * c-opts.c (c_common_handle_option): Handle it.
675 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
676 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 677
bb9869d5
DM
6782018-01-17 David Malcolm <dmalcolm@redhat.com>
679
680 PR c++/83814
681 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
682
68dc87c3
EB
6832018-01-10 Eric Botcazou <ebotcazou@adacore.com>
684
685 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
686 Skip 'f' and 'F' characters if it is true.
687 (store_ada_macro): Minor tweak.
688 (dump_ada_macros) <CPP_COMMENT>: Likewise.
689 <CPP_WSTRING>: Likewise.
690 <CPP_STRING>: Output '&' in the buffer if not the first string.
691 <CPP_NUMBER>: Adjust calls to dump_number.
692
9a004410
DM
6932018-01-10 David Malcolm <dmalcolm@redhat.com>
694
695 PR c++/43486
696 * c-common.c: Include "selftest.h".
697 (get_atomic_generic_size): Perform the test for integral type
698 before the range test for any integer constant, fixing indentation
699 of braces. Call fold_for_warn before testing for an INTEGER_CST.
700 (reject_gcc_builtin): Strip any location wrapper from EXPR.
701 (selftest::test_fold_for_warn): New function.
702 (selftest::c_common_c_tests): New function.
703 (selftest::c_family_tests): Call it, and
704 selftest::c_pretty_print_c_tests.
705 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
706 * c-format.c (check_format_arg): Convert VAR_P check to a
707 fold_for_warn.
708 * c-pretty-print.c: Include "selftest.h".
709 (pp_c_cast_expression): Don't print casts for location wrappers.
710 (selftest::assert_c_pretty_printer_output): New function.
711 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
712 (selftest::test_location_wrappers): New function.
713 (selftest::c_pretty_print_c_tests): New function.
714 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
715
5c0caeb3
RS
7162018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
717 Alan Hayward <alan.hayward@arm.com>
718 David Sherwood <david.sherwood@arm.com>
719
720 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
721
73a699ae
RS
7222018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
723 Alan Hayward <alan.hayward@arm.com>
724 David Sherwood <david.sherwood@arm.com>
725
726 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
727 as polynomial.
728
928686b1
RS
7292018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
730 Alan Hayward <alan.hayward@arm.com>
731 David Sherwood <david.sherwood@arm.com>
732
733 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
734 (convert_vector_to_array_for_subscript): Handle polynomial
735 TYPE_VECTOR_SUBPARTS.
736 (c_common_type_for_mode): Check valid_vector_subparts_p.
737 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
738 VECTOR_CST_NELTS.
739
85ec4feb
JJ
7402018-01-03 Jakub Jelinek <jakub@redhat.com>
741
742 Update copyright years.
743
170a8bd6 7442017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 745 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
746
747 * c-pragma.c (init_pragma): Register pragma GCC unroll.
748 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
749
18408e96
AO
7502017-12-22 Alexandre Oliva <aoliva@redhat.com>
751
752 PR debug/83527
753 PR debug/83419
754 * c-semantics.c (only_debug_stmts_after_p): New.
755 (pop_stmt_list): Clear side effects in debug-only stmt list.
756 Check for single nondebug stmt followed by debug stmts only.
757
c12d20d4
AO
7582017-12-21 Alexandre Oliva <aoliva@redhat.com>
759
760 PR debug/83419
761 * c-semantics.c (pop_stmt_list): Propagate side effects from
762 single nondebug stmt to container list.
763
01512446
JJ
7642017-12-19 Jakub Jelinek <jakub@redhat.com>
765
766 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
767 conditions with typical order conditions.
768
82cfbd01
MP
7692017-12-18 Marek Polacek <polacek@redhat.com>
770
771 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
772 not in effect.
773
99da11ec
MS
7742017-12-17 Martin Sebor <msebor@redhat.com>
775
776 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
777 an error for attribute warn_if_not_aligned.
778
cc8bea0a
MS
7792017-12-16 Martin Sebor <msebor@redhat.com>
780
781 PR tree-optimization/78918
782 * c-common.c (check_function_restrict): Avoid checking built-ins.
783 * c.opt (-Wrestrict): Include in -Wall.
784
4849deb1
JJ
7852017-12-15 Jakub Jelinek <jakub@redhat.com>
786
787 * c-attribs.c (c_common_attribute_table,
788 c_common_format_attribute_table): Swap affects_type_identity
789 and handler fields, adjust comments.
790
c65e18d3
BE
7912017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
792
793 * c.opt (Wcast-function-type): New warning option.
794 * c-lex.c (get_fileinfo): Avoid warning.
795 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
796
2004617a
QZ
7972017-12-14 Qing Zhao <qing.zhao@oracle.com>
798
7365279f 799 PR middle_end/79538
2004617a
QZ
800 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
801 Adjust the size of buf1 and buf2, add a new buf to avoid
802 format-overflow warning.
803
96a95ac1
AO
8042017-12-12 Alexandre Oliva <aoliva@redhat.com>
805
806 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
807 subsequent statement list.
808
5d9ae53d
MS
8092017-12-07 Martin Sebor <msebor@redhat.com>
810
811 PR c/81544
812 PR c/81566
813 * c-attribs.c (attr_aligned_exclusions): New array.
814 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
815 (attr_common_exclusions, attr_const_pure_exclusions): Same.
816 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
817 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
818 (attr_warn_unused_result_exclusions): Same.
819 (handle_hot_attribute, handle_cold_attribute): Simplify.
820 (handle_const_attribute): Warn on function returning void.
821 (handle_pure_attribute): Same.
822 (handle_aligned_attribute): Diagnose conflicting attribute
823 specifications.
824 * c-warn.c (diagnose_mismatched_attributes): Simplify.
825
c79144f8
DM
8262017-12-06 David Malcolm <dmalcolm@redhat.com>
827
828 PR c/83236
829 * c-common.c (selftest::c_family_tests): Call
830 selftest::c_spellcheck_cc_tests.
831 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
832 * c-spellcheck.cc: Include "selftest.h".
833 (name_reserved_for_implementation_p): New function.
834 (should_suggest_as_macro_p): New function.
835 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
836 should_suggest_as_macro_p and call it.
837 (selftest::test_name_reserved_for_implementation_p): New function.
838 (selftest::c_spellcheck_cc_tests): New function.
839 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
840
613bc14f
DM
8412017-12-06 David Malcolm <dmalcolm@redhat.com>
842
843 * c-spellcheck.cc: New file, taken from macro-handling code in
844 spellcheck-tree.c.
845 * c-spellcheck.h: New file, taken from macro-handling code in
846 spellcheck-tree.h.
847
e76c7157
JJ
8482017-12-01 Jakub Jelinek <jakub@redhat.com>
849
850 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
851 attribute.
852 (handle_simd_attribute): Don't check for "cilk simd function"
853 attribute. Reindent, formatting changes.
854
b0da4034
JK
8552017-11-30 Julia Koval <julia.koval@intel.com>
856
857 * c-common.h (inv_list): Remove.
858
058f0b9e
JJ
8592017-11-28 Jakub Jelinek <jakub@redhat.com>
860
861 PR sanitizer/81275
862 * c-common.c (c_switch_covers_all_cases_p_1,
863 c_switch_covers_all_cases_p): New functions.
864 * c-common.h (c_switch_covers_all_cases_p): Declare.
865
5e9d6aa4 8662017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 867 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
868
869 * array-notation-common.c: Delete.
870 * c-cilkplus.c: Ditto.
871 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
872 * c-common.def (ARRAY_NOTATION_REF): Remove.
873 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
874 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
875 c_validate_cilk_plus_loop, cilkplus_an_parts,
876 cilk_ignorable_spawn_rhs_op,
877 cilk_recognize_spawn): Remove.
878 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
879 * c-omp.c: Remove CILK_SIMD check.
880 * c-pragma.c: Ditto.
881 * c-pragma.h: Remove CILK related pragmas.
882 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
883 ARRAY_NOTATION_REF condition.
884 (c_pretty_printer::expression): Ditto.
885 * c.opt (fcilkplus): Remove.
886 * cilk.c: Delete.
887
1af4ebf5
MG
8882017-11-21 Marc Glisse <marc.glisse@inria.fr>
889
890 * c-pretty-print.c (pp_c_additive_expression,
891 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
892
d44ed508
JJ
8932017-11-21 Jakub Jelinek <jakub@redhat.com>
894
7d2f0f9b
JJ
895 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
896
d44ed508
JJ
897 PR c++/83059
898 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
899 instead of tree_to_uhwi, formatting fix.
900
26edace6
DM
9012017-11-20 David Malcolm <dmalcolm@redhat.com>
902
903 PR c/81404
904 * known-headers.cc: New file, based on material from c/c-decl.c.
905 (suggest_missing_header): Copied as-is.
906 (get_stdlib_header_for_name): New, based on get_c_name_hint but
907 heavily edited to add C++ support. Add some knowledge about
908 <limits.h>, <stdint.h>, and <wchar.h>.
909 * known-headers.h: Likewise.
910
6c7a259b
DM
9112017-11-20 David Malcolm <dmalcolm@redhat.com>
912
913 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
914 (lookup_name_fuzzy): Likewise. Convert return type from
915 const char * to name_hint. Add location_t param.
916 * name-hint.h: New header.
917
f9c59f7e
JJ
9182017-11-19 Jakub Jelinek <jakub@redhat.com>
919
920 PR c/66618
921 PR c/69960
922 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
923
1e39313a
JM
9242017-11-16 Joseph Myers <joseph@codesourcery.com>
925
926 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
927 expected publication date of C17.
928 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
929
3ca0dc60
JM
9302017-11-15 Joseph Myers <joseph@codesourcery.com>
931
932 PR c/81156
933 * c-common.c (c_common_reswords): Add __builtin_tgmath.
934 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
935
025d57f0
MS
9362017-11-10 Martin Sebor <msebor@redhat.com>
937
938 PR c/81117
939 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
940 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
941 * c.opt (-Wstringop-truncation): New option.
942
1b6fa695
ML
9432017-11-06 Martin Liska <mliska@suse.cz>
944
945 PR middle-end/82404
946 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
947 FE.
948 * c.opt: Set default value of warn_return_type.
949
64a5912c
DM
9502017-10-31 David Malcolm <dmalcolm@redhat.com>
951
952 * c-common.c (binary_op_error): Update for renaming of
953 error_at_rich_loc.
954 (c_parse_error): Likewise.
955 * c-warn.c (warn_logical_not_parentheses): Likewise for
956 renaming of inform_at_rich_loc.
957 (warn_for_restrict): Likewise for renaming of
958 warning_at_rich_loc_n.
959
c76dc9c3
JM
9602017-10-30 Joseph Myers <joseph@codesourcery.com>
961
962 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
963 * c-opts.c (set_std_c17): New function.
964 (c_common_init_options): Use gnu17 as default C version.
965 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
966
ee5fd23a
MM
9672017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
968
969 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
970 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
971 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
972 __FP_FAST_FMA<N>X.
973
d1047465
MP
9742017-10-23 Marek Polacek <polacek@redhat.com>
975
976 PR c/82681
977 * c-warn.c (warnings_for_convert_and_check): Fix typos.
978
9e878cf1
EB
9792017-10-19 Eric Botcazou <ebotcazou@adacore.com>
980
981 * c-common.c (check_builtin_function_arguments): Also check arguments
982 of __builtin_alloca_with_align_and_max.
983
89b6abbb
DM
9842017-10-17 David Malcolm <dmalcolm@redhat.com>
985
986 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
987 rather than NULL to format_warning_va.
988 (check_format_types): Likewise when calling format_type_warning.
989 Remove code to extract source_ranges and source_range * in favor
990 of just a location_t.
991 (format_type_warning): Convert source_range * param to a
992 location_t.
993
39382c09
JJ
9942017-10-13 Jakub Jelinek <jakub@redhat.com>
995
996 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
997 [LR]SHIFT_EXPR.
998
62e1c678
DM
9992017-10-12 David Malcolm <dmalcolm@redhat.com>
1000
1001 * c-common.c (enum missing_token_insertion_kind): New enum.
1002 (get_missing_token_insertion_kind): New function.
1003 (maybe_suggest_missing_token_insertion): New function.
1004 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
1005
b90c9338
NS
10062017-10-11 Nathan Sidwell <nathan@acm.org>
1007
1008 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
1009 (c_common_handle_option): Update incpath_kind names.
1010
3a266bcd
ML
10112017-10-11 Martin Liska <mliska@suse.cz>
1012
1013 PR sanitizer/82490
1014 * c-attribs.c (handle_no_sanitize_attribute): Report directly
1015 Wattributes warning.
1016
8e6cdc90
RS
10172017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
1018
1019 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
1020 operating on trees as wide_ints.
1021 * c-common.c (pointer_int_sum): Likewise.
1022 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1023 * c-warn.c (match_case_to_enum_1): Likewise.
1024 (c_do_switch_warnings): Likewise.
1025 (maybe_warn_shift_overflow): Likewise.
1026
802b38c9
JJ
10272017-10-10 Jakub Jelinek <jakub@redhat.com>
1028
1029 PR c/82437
1030 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
1031 instead of wide_int::from.
1032
4e34b338
JJ
10332017-10-06 Jakub Jelinek <jakub@redhat.com>
1034
1035 PR c/82437
1036 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
1037 using to_widest use wide_int with the larger of the two precisions.
1038
4bc4b2b4
BE
10392017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1040
1041 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
1042 functions.
1043
a1488398
RS
10442017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
1045
1046 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
1047 when combining the original unconverted comparison operands.
1048
01c9fb68
JJ
10492017-09-29 Jakub Jelinek <jakub@redhat.com>
1050
1051 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
1052 attribute.
1053
6e3e8419
EB
10542017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1055
1056 * c-ada-spec.c (to_ada_name): Add index parameter.
1057 (pp_ada_tree_identifier): Likewise.
1058 (dump_ada_macros): Adjust call to to_ada_name.
1059 (struct overloaded_name_hash): New type.
1060 (struct overloaded_name_hasher): Likewise.
1061 (overloaded_names): New hash table.
1062 (compute_overloading_index): New function.
1063 (dump_ada_decl_name): Call it and pass the result to
1064 pp_ada_tree_identifier.
1065 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1066 (dump_ada_function_declaration): Likewise.
1067 (dump_generic_ada_node): Likewise.
1068 (print_constructor): Likewise.
1069 (print_destructor): Likewise.
1070 (dump_ada_specs): Delete overloaded_names table.
1071
79310774
EB
10722017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1073
1074 * c-ada-spec.c (max_ada_macros): Move around.
1075 (store_ada_macro_index): Likewise.
1076 (source_file): Rename into...
1077 (macro_source_file): ...this.
1078 (count_ada_macro): Move around.
1079 (store_ada_macro): Likewise.
1080 (compare_macro): Likewise.
1081 (print_ada_macros): Merge in...
1082 (dump_ada_macros): ...this.
1083 (source_file_base): Rename into...
1084 (current_source_file): ...this.
1085 (print_comment): Move around.
1086 (dump_ada_nodes): Call dump_ada_declaration directly.
1087 (struct with): Change type of limited field to bool.
1088 (append_withs): Change type of limited_access parameter to bool.
1089 (pp_ada_tree_identifie): Likewise.
1090 (dump_ada_decl_nam): Likewise.
1091 (dump_generic_ada_node): Likewise. Do not print the return type.
1092 (to_ada_name): Change type of space_found parameter to bool.
1093 (dump_ada_function_declaration): Return void and change type of
1094 parameters to bool. Also print the return type for a function.
1095 (print_ada_methods): Rename into...
1096 (dump_ada_methods): ...this.
1097 (print_ada_declaration): Rename into ...
1098 (dump_ada_declaration): ...this. Do not print the return type.
1099 (print_ada_struct_decl): Rename into...
1100 (dump_ada_struct_decl): ...this.
1101
7d386d45
JJ
11022017-09-29 Jakub Jelinek <jakub@redhat.com>
1103
1104 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
1105 rather than DECL_INITIAL.
1106 (common_handle_aligned_attribute): Likewise.
1107
9ed32e27
AO
11082017-09-20 Alexandre Oliva <aoliva@redhat.com>
1109
1110 * c.opt (gen-decls): Add RejectNegative.
1111
026a79f7
AS
11122017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
1113 Jakub Jelinek <jakub@redhat.com>
1114
1115 Add support for -std=c++2a.
1116 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
1117 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
1118 * c-opts.c (set_std_cxx2a): New.
1119 (c_common_handle_option): Set options when -std=c++2a is enabled.
1120 (c_common_post_options): Adjust comments.
1121 (set_std_cxx14, set_std_cxx17): Likewise.
1122
4a8ca690
EB
11232017-09-15 Eric Botcazou <ebotcazou@adacore.com>
1124
1125 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
1126 message for non-uniform endianness and issue a warning in C++.
1127
7b936140
JJ
11282017-09-15 Jakub Jelinek <jakub@redhat.com>
1129
1130 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
1131 (Wc++17-compat): Change from undocumented alias to option.
1132 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
1133 change C++1z to C++17 in description.
1134 (std=c++1z, std=gnu++1z): Change from option to undocumented
1135 deprecated alias.
1136 (std=c++17, std=gnu++17): Change from undocumented alias to option.
1137 Adjust description.
1138 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
1139 * c-opts.c (set_std_cxx1z): Rename to ...
1140 (set_std_cxx17): ... this.
1141 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
1142 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 1143 caller.
7b936140
JJ
1144 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
1145 comments.
1146
12263f13
L
11472017-09-12 H.J. Lu <hongjiu.lu@intel.com>
1148
1149 * c-attribs.c (common_handle_aligned_attribute): Don't warn
1150 function alignment if warn_if_not_aligned_p is true.
1151
6836632e
NS
11522017-09-12 Nathan Sidwell <nathan@acm.org>
1153
1154 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
1155 resort_sorted_fields): Move to c/c-decl.c.
1156 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
1157 (struct sorted_fields_type): Move to c/c-lang.h.
1158
019bf9ad
JW
11592017-09-09 Jonathan Wakely <jwakely@redhat.com>
1160
1161 PR c++/81852
1162 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
1163
bc7fe952
MP
11642017-09-04 Marek Polacek <polacek@redhat.com>
1165
1166 PR c/81783
1167 * c-warn.c (warn_tautological_bitwise_comparison): New function.
1168 (warn_tautological_cmp): Call it.
1169
de7c2c6a
BK
11702017-09-01 Boris Kolpackov <boris@codesynthesis.com>
1171
1172 * c-opts.c (c_common_finish): Write dependency information even if
1173 there are errors.
1174
d2e05fcb
JJ
11752017-09-01 Jakub Jelinek <jakub@redhat.com>
1176
1177 PR c/81887
1178 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
1179 (omp_pragmas_simd): ... here.
1180 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
1181 create new clauses list containing just simd clause.
1182
18e2a8b8
RS
11832017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1184 Alan Hayward <alan.hayward@arm.com>
1185 David Sherwood <david.sherwood@arm.com>
1186
1187 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
1188 into scalar_mode_supported_p call.
1189 (handle_mode_attribute): Update call to scalar_mode_supported_p.
1190
16d22000
RS
11912017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1192 Alan Hayward <alan.hayward@arm.com>
1193 David Sherwood <david.sherwood@arm.com>
1194
1195 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
1196 for the mode iterator.
1197
b397965c
RS
11982017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1199 Alan Hayward <alan.hayward@arm.com>
1200 David Sherwood <david.sherwood@arm.com>
1201
1202 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
1203 * c-common.c (c_build_vec_perm_expr): Likewise.
1204
357b7604
RS
12052017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1206 Alan Hayward <alan.hayward@arm.com>
1207 David Sherwood <david.sherwood@arm.com>
1208
1209 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
1210
e05c94ba
RS
12112017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1212 Alan Hayward <alan.hayward@arm.com>
1213 David Sherwood <david.sherwood@arm.com>
1214
1215 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
1216 before calling targetm.addr_space.valid_pointer_mode.
1217
5c20c4af
RS
12182017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1219 Alan Hayward <alan.hayward@arm.com>
1220 David Sherwood <david.sherwood@arm.com>
1221
1222 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
1223
c94843d2 12242017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
1225 Alan Hayward <alan.hayward@arm.com>
1226 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
1227
1228 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
1229 iterators.
1230 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1231
4e10a5a7
RS
12322017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1233 Alan Hayward <alan.hayward@arm.com>
1234 David Sherwood <david.sherwood@arm.com>
1235
1236 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
1237 case statements.
1238
130fcab0
ML
12392017-08-29 Martin Liska <mliska@suse.cz>
1240
1241 PR other/39851
1242 * c-common.c (parse_optimize_options): Add argument to function
1243 call.
1244 * c-pragma.c (handle_pragma_diagnostic): Likewise.
1245
14e18d71
DM
12462017-08-24 David Malcolm <dmalcolm@redhat.com>
1247
1248 * c-lex.c (interpret_float): Use token location
1249 when building an EXCESS_PRECISION_EXPR.
1250
2f687306
DM
12512017-08-21 David Malcolm <dmalcolm@redhat.com>
1252
1253 * c-common.c (check_function_arguments): Add "arglogs" param; pass
1254 it to check_function_format.
1255 * c-common.h (check_function_arguments): Add vec<location_t> *
1256 param.
1257 (check_function_format): Likewise.
1258 * c-format.c (struct format_check_context): Add field "arglocs".
1259 (check_function_format): Add param "arglocs"; pass it to
1260 check_format_info.
1261 (check_format_info): Add param "arglocs"; use it to initialize
1262 new field of format_ctx.
1263 (check_format_arg): Pass format_ctx->arglocs to new param of
1264 check_format_info_main.
1265 (class argument_parser): New field "arglocs".
1266 (argument_parser::argument_parser): Add "arglocs_" param and use
1267 it to initialize new field.
1268 (argument_parser::check_argument_type): Pass new arglocs field to
1269 check_format_types.
1270 (check_format_info_main): Add param "arglocs", and use it when
1271 constructing arg_parser.
1272 (check_format_types): Add param "arglocs"; use it if non-NULL when
1273 !EXPR_HAS_LOCATION (cur_param) to get at location information.
1274
00aa1fa2
L
12752017-08-18 H.J. Lu <hongjiu.lu@intel.com>
1276
1277 PR c/53037
1278 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
1279 (c_common_attribute_table): Add warn_if_not_aligned.
1280 (handle_aligned_attribute): Renamed to ...
1281 (common_handle_aligned_attribute): Remove argument, name, and add
1282 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
1283 (handle_aligned_attribute): New.
1284 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
1285
27be025d
MS
12862017-08-14 Martin Sebor <msebor@redhat.com>
1287
1288 PR c/81117
1289 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
1290 (handle_nonstring_attribute): New function.
1291
da67acb9
MS
12922017-08-14 Martin Sebor <msebor@redhat.com>
1293
1294 PR c/81117
1295 * c-format.h (T89_G): New macro.
1296 * c-format.c (local_gcall_ptr_node): New variable.
1297 (init_dynamic_diag_info): Initialize it.
1298
a8b522b4
ML
12992017-08-11 Martin Liska <mliska@suse.cz>
1300
1301 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
1302 TARGET_SUPPORTS_ALIASES.
1303
32129a17
DM
13042017-08-10 David Malcolm <dmalcolm@redhat.com>
1305
1306 * c-common.c (c_parse_error): Add rich_location * param, using it
1307 rather implicitly using input_location.
1308 * c-common.h (c_parse_error): Add rich_location * param.
1309
30af3a2b
MP
13102017-08-09 Marek Polacek <polacek@redhat.com>
1311
1312 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
1313 (c_common_truthvalue_conversion): Likewise.
1314 * c-omp.c (c_finish_omp_atomic): Likewise.
1315 * c-common.h (build_binary_op): Update declaration.
1316
314e6352
ML
13172017-08-08 Martin Liska <mliska@suse.cz>
1318
1319 * c-ada-spec.c: Include header files.
1320 * c-ubsan.c: Likewise.
1321 * c-warn.c: Likewise.
1322
56b5041c
JJ
13232017-08-07 Jakub Jelinek <jakub@redhat.com>
1324
1325 PR c/69389
1326 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
1327
db440138
EB
13282017-08-07 Eric Botcazou <ebotcazou@adacore.com>
1329
1330 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
1331 (print_ada_methods): Likewise.
1332 (print_ada_declaration): Likewise.
1333
577eec56
ML
13342017-08-07 Martin Liska <mliska@suse.cz>
1335
1336 * array-notation-common.c: Add new includes.
1337 * c-format.c( handle_format_attribute): Canonicalize a format
1338 function name.
1339 * c-lex.c (c_common_has_attribute): Canonicalize name of an
1340 attribute.
1341 * c-pretty-print.c: Add new include.
1342
b854df3c
EB
13432017-08-05 Eric Botcazou <ebotcazou@adacore.com>
1344
1345 * c-ada-spec.c (has_static_fields): Look only into variables.
1346 (print_constructor): Add TYPE parameter and use it for the name.
1347 (print_destructor): Likewise.
1348 (print_ada_declaration): Adjust to new constructor/destructor names.
1349 Adjust calls to print_constructor and print_destructor.
1350 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
1351 Look only into variables in the final loop.
1352
9f2cb25e
EB
13532017-08-01 Eric Botcazou <ebotcazou@adacore.com>
1354
1355 * c-ada-spec.c (has_static_fields): Look only into fields.
1356 (dump_generic_ada_node): Small tweak.
1357 (dump_nested_types): Look only into fields.
1358 (print_ada_declaration): Look only into methods. Small tweak.
1359 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
1360
f4bcd9eb
EB
13612017-08-01 Eric Botcazou <ebotcazou@adacore.com>
1362
1363 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
1364 (dump_ada_function_declaration): Likewise.
1365 (dump_generic_ada_node): Likewise.
1366 (print_ada_declaration): Add support for const-qualified variables.
1367
f34ebeb2
ML
13682017-07-31 Martin Liska <mliska@suse.cz>
1369
1370 PR sanitize/81530
1371 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
1372 Guard condition with flag_sanitize_p also with current_function_decl
1373 non-null equality.
1374 (ubsan_maybe_instrument_reference_or_call): Likewise.
1375
218e5d04
UB
13762017-07-30 Uros Bizjak <ubizjak@gmail.com>
1377
1378 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
1379
942047f2
EB
13802017-07-29 Eric Botcazou <ebotcazou@adacore.com>
1381
1382 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
1383 for enumeral types.
1384 (print_ada_declaration): Add missing guard for record types.
1385
a40ff0ae
JJ
13862017-07-27 Jakub Jelinek <jakub@redhat.com>
1387
1388 PR c/45784
1389 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
1390 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
1391 new COMPOUND_EXPRs around the rhs of the comparison.
1392
06bd22f6
MP
13932017-07-27 Marek Polacek <polacek@redhat.com>
1394
1395 PR c/81417
1396 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
1397 the types.
1398
036ea399
JJ
13992017-07-27 Jakub Jelinek <jakub@redhat.com>
1400
1401 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
1402 (handle_noipa_attribute): New function.
1403
417ca011
TD
14042017-07-07 Torsten Duwe <duwe@suse.de>
1405
1406 * c-attribs.c (c_common_attribute_table): Add entry for
1407 "patchable_function_entry".
1408
5aaa8fb4
NS
14092017-07-20 Nathan Sidwell <nathan@acm.org>
1410
1411 Remove TYPE_METHODS.
1412 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
1413 dump_ada_template, print_ada_methods,
1414 print_ada_declaration): Member fns are on TYPE_FIELDS.
1415
ff22eb12
NS
14162017-07-18 Nathan Sidwell <nathan@acm.org>
1417
1418 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
1419
eea77d1f
DM
14202017-07-14 David Malcolm <dmalcolm@redhat.com>
1421
1422 * c-common.c (try_to_locate_new_include_insertion_point): New
1423 function.
1424 (per_file_includes_t): New typedef.
1425 (added_includes_t): New typedef.
1426 (added_includes): New variable.
1427 (maybe_add_include_fixit): New function.
1428 * c-common.h (maybe_add_include_fixit): New decl.
1429
281ac396
MS
14302017-07-10 Martin Sebor <msebor@redhat.com>
1431
1432 PR other/81345
1433 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
1434
b6f43128
DM
14352017-07-06 David Malcolm <dmalcolm@redhat.com>
1436
1437 * c-common.c (selftest::c_family_tests): New.
1438 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
1439 (selftest::c_family_tests): New decl.
1440
efbf55b0
MP
14412017-07-04 Marek Polacek <polacek@redhat.com>
1442
1443 PR c/81231
1444 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
1445 types.
1446
6c86bd88
MP
14472017-07-04 Marek Polacek <polacek@redhat.com>
1448
1449 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
1450
17a7218b
ML
14512017-06-28 Martin Liska <mliska@suse.cz>
1452
1453 PR ipa/81128
1454 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
1455 to a function declaration.
1456
63010089
ML
14572017-06-28 Martin Liska <mliska@suse.cz>
1458
1459 PR driver/79659
1460 * c.opt: Add IntegerRange to various options.
1461
3e2becc4
MP
14622017-06-26 Marek Polacek <polacek@redhat.com>
1463
1464 PR c/80116
1465 * c-common.h (warn_for_multistatement_macros): Declare.
1466 * c-warn.c: Include "c-family/c-indentation.h".
1467 (warn_for_multistatement_macros): New function.
1468 * c.opt (Wmultistatement-macros): New option.
1469 * c-indentation.c (guard_tinfo_to_string): No longer static.
1470 Change the parameter type to "enum rid". Handle RID_SWITCH.
1471 * c-indentation.h (guard_tinfo_to_string): Declare.
1472
2db9b7cd
MG
14732017-06-23 Marc Glisse <marc.glisse@inria.fr>
1474
1475 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
1476
c3684b7b
MS
14772017-06-15 Martin Sebor <msebor@redhat.com>
1478
1479 PR c++/80560
1480 * c.opt (-Wclass-memaccess): New option.
1481
e72c4afd
BK
14822017-06-14 Boris Kolpackov <boris@codesynthesis.com>
1483
1484 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
1485
8a516588
MP
14862017-06-13 Marek Polacek <polacek@redhat.com>
1487
1488 PR objc/80949
1489 * c-warn.c (do_warn_duplicated_branches): Return if any of the
1490 branches is null.
1491
45b2222a
ML
14922017-06-13 Martin Liska <mliska@suse.cz>
1493
1494 PR sanitize/78204
1495 * c-attribs.c (add_no_sanitize_value): New function.
1496 (handle_no_sanitize_attribute): Likewise.
1497 (handle_no_sanitize_address_attribute): Use the function.
1498 (handle_no_sanitize_thread_attribute): New function.
1499 (handle_no_address_safety_analysis_attribute): Use
1500 add_no_sanitize_value.
1501 (handle_no_sanitize_undefined_attribute): Likewise.
1502 * c-common.h: Declare new functions.
1503 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
1504 (ubsan_instrument_shift): Likewise.
1505 (ubsan_instrument_bounds): Likewise.
1506 (ubsan_maybe_instrument_array_ref): Likewise.
1507 (ubsan_maybe_instrument_reference_or_call): Likewise.
1508
a01f151f
JM
15092017-06-11 Jason Merrill <jason@redhat.com>
1510
1511 * c-ada-spec.c, c-pragma.c: Use id_equal.
1512
3de4ac6d
MP
15132017-06-04 Marek Polacek <polacek@redhat.com>
1514
1515 PR c/80919
1516 * c-format.c (matching_type_p): Return false if any of the types
1517 requires structural equality.
1518
2474f48f
MS
15192017-06-02 Martin Sebor <msebor@redhat.com>
1520
1521 PR c/80892
1522 * c-warn.c (conversion_warning): Use -Wconversion for integer
1523 conversion and -Wfloat-conversion for floating one.
1524
40ffd95f
BE
15252017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1526
1527 * c.opt (Wsizeof-pointer-div): New warning option.
1528
3fa4634c
VR
15292017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
1530
1531 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
1532 (Wcatch-value=1): Enable by -Wall.
1533
f012c8ef
DM
15342017-05-30 David Malcolm <dmalcolm@redhat.com>
1535
1536 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
1537 format_chars.
1538 * c.opt (fdiagnostics-show-template-tree): New option.
1539 (felide-type): New option.
1540
63dbcd13
VR
15412017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
1542
1543 * c.opt (Wcatch-value=): New C++ warning flag.
1544
be136b5c
NS
15452017-05-24 Nathan Sidwell <nathan@acm.org>
1546
1547 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
1548 const casts to avoid warning.
1549
3cd211af
MS
15502017-05-24 Martin Sebor <msebor@redhat.com>
1551
1552 PR c/80731
1553 * c-common.h (unsafe_conversion_p): Add a function argument.
1554 * c-common.c (unsafe_conversion_p): Same.
1555 Add type names and values to diagnostics.
1556 (scalar_to_vector): Adjust.
1557 * c-warn.c (constant_expression_error): Add a function argument.
1558 Add type names and values to diagnostics.
1559 (conversion_warning): Add a function argument.
1560 Add type names and values to diagnostics.
1561 (warnings_for_convert_and_check): Same.
1562
1ff7be5a
JM
15632017-05-19 Jason Merrill <jason@redhat.com>
1564
1565 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
1566 enumerators.
1567
ff502317
BE
15682017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1569
1570 * c-format.c (locus): Move out of function scope,
1571 add GTY attribute.
1572
2a8a8d7b
NS
15732017-05-19 Nathan Sidwell <nathan@acm.org>
1574
1575 * c-opts.c (class_dump_file, class_dump_flags): Delete.
1576 (c_common_parse_file): Remove class dump handling.
1577 (get_dump_info): Likewise.
1578
39aac208
RB
15792017-05-19 Richard Biener <rguenther@suse.de>
1580
1581 PR c++/80593
1582 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
1583 to alias-set zero memory.
1584
6ecd2339
BE
15852017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
1586
1587 * c-format.c (local_tree_type_node): Add GTY attribute.
1588
6574d78e
MP
15892017-05-18 Marek Polacek <polacek@redhat.com>
1590
1591 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
1592 (c_common_fixed_point_type_for_size): Likewise.
1593 (c_common_type_for_mode): Likewise.
1594 (shorten_compare): Likewise.
1595 (c_promoting_integer_type_p): Use false/true instead of 0/1.
1596 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
1597
e3455240
MP
15982017-05-18 Marek Polacek <polacek@redhat.com>
1599
1600 * c-common.c (self_promoting_args_p): Change the return type to bool.
1601 Use false/true instead of 0/1.
1602 * c-common.h (self_promoting_args_p): Update.
1603
3fa8871b
MP
16042017-05-17 Marek Polacek <polacek@redhat.com>
1605
1606 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
1607 * c-warn.c: Likewise.
1608
b42cc3ca
VV
16092017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
1610
1611 Implement new C++ intrinsics __is_assignable and __is_constructible.
1612 * c-common.c (__is_assignable, __is_constructible): New.
1613 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
1614
1a817418
ML
16152017-05-17 Martin Liska <mliska@suse.cz>
1616
1617 * c-common.h: Introduce dump_flags_t type and
1618 use it instead of int type.
1619 * c-gimplify.c (c_genericize): Likewise.
1620 * c-opts.c: Likewise.
1621
b2fa0a8b
MP
16222017-05-17 Marek Polacek <polacek@redhat.com>
1623
1624 * c-common.c (c_save_expr): Remove.
1625 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
1626 * c-common.h (c_save_expr): Remove declaration.
1627
31c2d57d
VR
16282017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
1629
1630 PR c/35441
1631 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
1632 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
1633 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
1634 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
1635 RDIV_EXPR.
1636 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
1637
684f84de
MP
16382017-05-09 Marek Polacek <polacek@redhat.com>
1639
1640 PR c/80525
1641 * c-warn.c (unwrap_c_maybe_const): New.
1642 (warn_logical_operator): Call it.
1643
641da50a
NS
16442017-05-09 Nathan Sidwell <nathan@acm.org>
1645
1646 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
1647 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
1648
631238ac
MS
16492017-05-08 Martin Sebor <msebor@redhat.com>
1650
1651 PR translation/80280
1652 * c-format.h (struct format_flag_spec): Add new member.
1653 (T89_T): New macro.
1654 * c-format.c (local_tree_type_node): New global.
1655 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
1656 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
1657 (strfmon_flag_specs): Likewise.
1658 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
1659 with distinct quoting properties.
1660 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
1661 (flag_chars_t::validate): Add argument and handle bad quoting.
1662 (check_format_info_main): Handle quoting problems.
1663 (init_dynamic_diag_info): Simplify.
1664
49f0c04c
JM
16652017-05-08 Jason Merrill <jason@redhat.com>
1666
1667 * c-opts.c (c_common_post_options): Update defaults for
1668 flag_abi_version and flag_abi_compat_version.
1669
56d35585
DM
16702017-05-05 David Malcolm <dmalcolm@redhat.com>
1671
1672 * c-common.c (c_cpp_error): Replace report_diagnostic
1673 with diagnostic_report_diagnostic.
1674
0f2c4a8f
MS
16752017-05-04 Martin Sebor <msebor@redhat.com>
1676
1677 PR translation/80280
1678 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
1679 (handle_weakref_attribute): Same.
1680
6fe63fb4
NS
16812017-05-03 Nathan Sidwell <nathan@acm.org>
1682
1683 Canonicalize canonical type hashing
1684 * c-common.c (complete_array_type): Use type_hash_canon.
1685
815d9cc6
XR
16862017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
1687
92a285c1 1688 PR c++/80038
815d9cc6
XR
1689 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
1690 prototype.
1691 (cilk_install_body_pedigree_operations): Likewise.
1692 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
1693 detatched.
1694 (cilk_gimplify_call_params_in_spawned_fn): Remove.
1695 (cilk_install_body_pedigree_operations): Likewise.
1696 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
1697 unwrapping.
1698
f8a36447
JJ
16992017-04-27 Jakub Jelinek <jakub@redhat.com>
1700
1701 PR c++/80534
1702 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
1703 flag on non-aggregate element types.
1704
7c145456
BE
17052017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
1706
1707 * c-common.c (c_type_hasher, type_hash_table): Remove.
1708 (c_common_get_alias_set): Remove unreachable code.
1709 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
1710
c3cbcd45
VR
17112017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
1712
1713 * c.opt (Wextra-semi): New C++ warning flag.
1714
8a59d466
JJ
17152017-04-20 Jakub Jelinek <jakub@redhat.com>
1716
1717 PR middle-end/80423
1718 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
1719
8487c9a5
JJ
17202017-04-18 Jakub Jelinek <jakub@redhat.com>
1721
1722 PR middle-end/79788
1723 PR middle-end/80375
1724 * c-common.c (c_common_type_for_mode): Don't handle
1725 widest_*_literal_type_node here.
1726 c_common_signed_or_unsigned_type): Likewise.
1727 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
1728 to *intTI_type_node or *intDI_type_node depending on whether
1729 TImode is supported by the target or not.
1730
3ee0fb02
ML
17312017-04-10 Martin Liska <mliska@suse.cz>
1732
1733 PR sanitizer/80350
1734 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
1735 doing an UBSAN check.
1736
5764ee3c
JW
17372017-04-03 Jonathan Wakely <jwakely@redhat.com>
1738
1739 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
1740
6f3af356
JJ
17412017-03-31 Jakub Jelinek <jakub@redhat.com>
1742
1743 PR c++/79572
1744 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
1745 tree *.
1746 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
1747 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
1748 REFERENCE_TYPE.
1749
f6a7a9d5
DM
17502017-03-31 David Malcolm <dmalcolm@redhat.com>
1751
1752 PR documentation/78732
1753 * c.opt (Wendif-labels): Fix description to refer to
1754 #else rather than #elif.
1755
af88f557
JJ
17562017-03-31 Jakub Jelinek <jakub@redhat.com>
1757
1758 PR libstdc++/80251
1759 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
1760 * c-common.c (c_common_reswords): Add __is_aggregate trait.
1761
a9e4a1a5
JJ
17622017-03-27 Jakub Jelinek <jakub@redhat.com>
1763
1764 PR middle-end/80162
1765 * c-common.c (c_common_mark_addressable_vec): Don't set
1766 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
1767
3f01b620
MS
17682017-03-21 Martin Sebor <msebor@redhat.com>
1769
1770 PR c++/79548
1771 * c-common.c (set_underlying_type): Mark type used only when
1772 original del is declared unused.
1773
2f6f187a
DM
17742017-03-10 David Malcolm <dmalcolm@redhat.com>
1775
1776 PR translation/79848
1777 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
1778 "%qs".
1779
a02fa805
DM
17802017-03-10 David Malcolm <dmalcolm@redhat.com>
1781
1782 PR c/79921
1783 * c-indentation.c (warn_for_misleading_indentation): Remove parens
1784 from inform's message, so that xgettext can locate it.
1785
822a132c
MP
17862017-03-09 Marek Polacek <polacek@redhat.com>
1787
1788 PR c++/79962
1789 PR c++/79984
1790 * c-attribs.c (handle_nonnull_attribute): Save the result of default
1791 conversion to the attribute list.
1792
bba81f1c
ML
17932017-03-09 Martin Liska <mliska@suse.cz>
1794
1795 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
1796
108154ff
JM
17972017-03-03 Jason Merrill <jason@redhat.com>
1798
1799 * c.opt (Wnoexcept-type): New.
1800
eb0e7c34
RB
18012017-03-02 Richard Biener <rguenther@suse.de>
1802
1803 PR c/79756
1804 * c-common.c (c_common_mark_addressable_vec): Look through
1805 C_MAYBE_CONST_EXPR.
1806
9453ba0a
ML
18072017-02-28 Martin Liska <mliska@suse.cz>
1808
1809 * c.opt: Replace space with tabular for options of <number>
1810 type.
1811
6a825afe
ML
18122017-02-28 Martin Liska <mliska@suse.cz>
1813
1814 * c.opt: Fix --help=option -Q for options which are of
1815 an enum type.
1816
4227c9ad
JJ
18172017-02-24 Jakub Jelinek <jakub@redhat.com>
1818
1819 PR c++/79588
1820 * c-common.c (check_function_restrict): New function.
1821 (check_function_arguments): Add FNDECL argument. Call
1822 check_function_restrict if -Wrestrict.
1823 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
1824 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
1825 * c-common.h (check_function_arguments): Add FNDECL argument.
1826 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
1827
59909673
EB
18282017-02-24 Eric Botcazou <ebotcazou@adacore.com>
1829
1830 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
1831 treatment of parameters with pointer-to-tagged type and tidy up.
1832 (print_ada_methods): Remove the special treatment of C++ static member
1833 functions.
1834
54dcd526
ML
18352017-02-22 Martin Liska <mliska@suse.cz>
1836
1837 * c.opt: Replace inequality signs with square brackets
1838 for -Wnornalized.
1839
00bc9de3
JJ
18402017-02-21 Jakub Jelinek <jakub@redhat.com>
1841
1842 PR c++/79641
1843 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
1844 preserve quals.
1845
97fcf744
JM
18462017-02-17 Joseph Myers <joseph@codesourcery.com>
1847
1848 * c-cppbuiltin.c (builtin_define_float_constants): Define
1849 __DECIMAL_DIG__ to the value for long double.
1850
c7545f1c
MP
18512017-02-15 Marek Polacek <polacek@redhat.com>
1852
1853 PR c/79515
1854 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
1855 conversion has occured.
1856
c2e84327
DM
18572017-01-24 David Malcolm <dmalcolm@redhat.com>
1858
1859 * c-common.c (c_common_reswords): Add "__RTL".
1860 * c-common.h (enum rid): Add RID_RTL.
1861
2ebd93e1
MP
18622017-01-20 Marek Polacek <polacek@redhat.com>
1863
1864 PR c/64279
1865 * c-common.h (do_warn_duplicated_branches_r): Declare.
1866 * c-gimplify.c (c_genericize): Walk the function tree calling
1867 do_warn_duplicated_branches_r.
1868 * c-warn.c (expr_from_macro_expansion_r): New.
1869 (do_warn_duplicated_branches): New.
1870 (do_warn_duplicated_branches_r): New.
1871 * c.opt (Wduplicated-branches): New option.
1872
0d80ab91
DM
18732017-01-17 David Malcolm <dmalcolm@redhat.com>
1874
1875 PR c++/71497
1876 * c-indentation.c (warn_for_misleading_indentation): Use the past
1877 subjunctive in the note.
1878
7f991c36
AH
18792017-01-17 Aldy Hernandez <aldyh@redhat.com>
1880
1881 PR c/79116
1882 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
1883 start type to integer_type.
1884
1c70261c
JJ
18852017-01-16 Jakub Jelinek <jakub@redhat.com>
1886
1887 PR driver/49726
1888 * c.opt (gen-decls): Add Driver flag.
1889
1ddca3f3
PC
18902017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1891
1892 Revert:
1893 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1894
1895 PR c++/71737
1896 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
1897
7d2f3f1d
PC
18982017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1899
1900 PR c++/71737
1901 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
1902
bce6f760
MS
19032017-01-12 Martin Sebor <msebor@redhat.com>
1904
1905 (-Wformat-overflow): ...to this.
1906
bf5fbf46
MS
19072017-01-11 Martin Sebor <msebor@redhat.com>
1908
1909 PR c/78768
1910 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
1911 Also enable for LTO.
1912
e363df3f
JM
19132017-01-10 Jason Merrill <jason@redhat.com>
1914
1915 Implement P0195R2, C++17 variadic using.
1916 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
1917
bd2c6270
JJ
19182017-01-09 Jakub Jelinek <jakub@redhat.com>
1919
1920 PR translation/79019
1921 PR translation/79020
1922 * c.opt (Wnormalized=): Fix typo in description.
1923
efcc8d38
MS
19242017-01-08 Martin Sebor <msebor@redhat.com>
1925
1926 PR middle-end/77708
1927 * c.opt (-Wformat-truncation): New option.
1928
435f3f7a
AO
19292017-01-06 Alexandre Oliva <aoliva@redhat.com>
1930
1931 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
1932 value to unsigned short to fit in 4 hex digits without
1933 warnings.
1934
4e89adf9
EB
19352017-01-05 Eric Botcazou <ebotcazou@adacore.com>
1936
1937 * c.opt (fsso-struct): Add 'native' value.
1938
cd445b54
ML
19392017-01-05 Martin Liska <mliska@suse.cz>
1940
1941 PR pch/78970
1942 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
1943 header.
1944
a9342885
MP
19452017-01-04 Marek Polacek <polacek@redhat.com>
1946
1947 PR c++/64767
1948 * c.opt (Wpointer-compare): New option.
1949
fc73e60c
JJ
19502017-01-04 Jakub Jelinek <jakub@redhat.com>
1951
1952 PR driver/78957
1953 * c.opt (fsso-struct=): Add RejectNegative.
1954
cbe34bb5
JJ
19552017-01-01 Jakub Jelinek <jakub@redhat.com>
1956
1957 Update copyright years.
1958
d4a6c0ea
ML
19592016-12-29 Martin Liska <mliska@suse.cz>
1960
1961 PR c/78933
1962 * c.opt (strong-eval-order): Add RejectNegative keyword.
1963
67a5ad7c
JM
19642016-12-22 Jason Merrill <jason@redhat.com>
1965
1966 Implement P0522R0, matching of template template arguments.
1967 * c-cppbuiltin.c (c_cpp_builtins): Define
1968 __cpp_template_template_args.
1969
0dba7960
JJ
19702016-12-21 Jakub Jelinek <jakub@redhat.com>
1971
1972 PR bootstrap/78817
1973 * c-common.c (struct nonnull_arg_ctx): New type.
1974 (check_function_nonnull): Return bool instead of void. Use
1975 nonnull_arg_ctx as context rather than just location_t.
1976 (check_nonnull_arg): Adjust for the new context type, set
1977 warned_p to true if a warning has been diagnosed.
1978 (check_function_arguments): Return bool instead of void.
1979 * c-common.h (check_function_arguments): Adjust prototype.
1980
31bfc9b9
JM
19812016-12-21 Jason Merrill <jason@redhat.com>
1982
1983 * c.opt (-fnew-ttp-matching): New flag.
1984 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
1985
629b3d75
MJ
19862016-12-14 Martin Jambor <mjambor@suse.cz>
1987
1988 * c-omp.c: Include omp-general.h instead of omp-low.h.
1989 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
1990 name.
1991
474da67e
MS
19922016-12-14 Martin Sebor <msebor@redhat.com>
1993
1994 PR c/17308
1995 * c-common.c (check_nonnull_arg): Disable when optimization
1996 is enabled.
1997
fe366b87
MP
19982016-12-12 Marek Polacek <polacek@redhat.com>
1999
2000 PR c++/78647
2001 * c-common.c (attribute_fallthrough_p): Return false for
2002 error_mark_node.
2003
8bd9f164
MS
20042016-12-08 Martin Sebor <msebor@redhat.com>
2005
2006 PR c/78284
2007 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
2008
060162e0
MS
20092016-12-08 Martin Sebor <msebor@redhat.com>
2010
2011 PR c/78165
92a285c1
ML
2012 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
2013 suffix.
060162e0 2014
ee92e7ba
MS
20152016-12-07 Martin Sebor <msebor@redhat.com>
2016
2017 PR c/53562
2018 PR middle-end/77784
2019 PR middle-end/78149
2020 PR middle-end/78138
2021 * c.opt (-Wstringop-overflow): New option.
2022
84b0769e
MO
20232016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
2024
2025 * c-attribs.c (asan odr indicator): New attribute.
2026 (handle_asan_odr_indicator_attribute): New function.
2027
7fa6a965
PK
20282016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2029
2030 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
2031 ptrdiff_type_node;
2032
56d8ffc1
JG
20332016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2034
2035 * c-common.c (excess_precision_mode_join): New.
2036 (c_ts18661_flt_eval_method): New.
2037 (c_c11_flt_eval_method): Likewise.
2038 (c_flt_eval_method): Likewise.
2039 * c-common.h (excess_precision_mode_join): New.
2040 (c_flt_eval_method): Likewise.
2041 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
2042 (cpp_iec_559_value): Call it.
2043 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
2044 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
2045 __FLT_EVAL_METHOD_TS_18661_3__.
2046
04f0fcf7
JG
20472016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2048
2049 * c-opts.c (c_common_post_options): Add logic to handle the default
2050 case for -fpermitted-flt-eval-methods.
2051
fb2675cb
PB
20522016-11-23 Paolo Bonzini <bonzini@gnu.org>
2053
2054 * c.opt (Wexpansion-to-defined): New.
2055
ec1c5694
JJ
20562016-11-23 Jakub Jelinek <jakub@redhat.com>
2057
2058 PR target/78451
2059 * c-pragma.c (handle_pragma_target): Don't replace
2060 current_target_pragma, but chainon the new args to the current one.
2061
730c9e75
NS
20622016-11-22 Nathan Sidwell <nathan@acm.org>
2063
2064 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 2065 indentation and formatting.
730c9e75 2066
89990732
MS
20672016-11-21 Martin Sebor <msebor@redhat.com>
2068
2069 * c.opt (-fprintf-return-value): Enable by default.
2070
48330c93
BE
20712016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2072
2073 PR c++/71973
2074 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
2075 * c-common.c (c_common_nodes_and_builtins): Initialize
2076 const_tm_ptr_type_node.
2077
0d939c95
MP
20782016-11-16 Marek Polacek <polacek@redhat.com>
2079
2080 PR c/78285
2081 * c-common.c (c_add_case_label): Turn error_at calls into inform.
2082
8e745a17
JJ
20832016-11-14 Jakub Jelinek <jakub@redhat.com>
2084
2085 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
2086
1ee62b92 20872016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
2088 Richard Biener <rguenther@suse.de>
2089
2090 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
2091 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
2092 * c.opt (fgimple): New option.
1ee62b92 2093
22b15758
UB
20942016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2095
2096 PR c/35503
2097 * c-common.h (warn_for_restrict): Declare.
2098 * c-warn.c: Include gcc-rich-location.h.
2099 (warn_for_restrict): New function.
2100 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
2101 (gcc_cdiag_char_table): Likewise.
2102 (gcc_cxxdiag_char_table): Likewise.
2103 * c.opt (Wrestrict): New option.
2104
4be719cd
EB
21052016-11-13 Eric Botcazou <ebotcazou@adacore.com>
2106
2107 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
2108 for nested types only if the type is a record or union and dump SLOC.
2109
4a826ca6
JM
21102016-11-09 Jason Merrill <jason@redhat.com>
2111
2112 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
2113
2e955d50
JJ
21142016-11-09 Jakub Jelinek <jakub@redhat.com>
2115
2116 * c-ubsan.c (ubsan_instrument_shift): Handle split
2117 -fsanitize=shift-base and -fsanitize=shift-exponent.
2118
51dc6603
JM
21192016-11-07 Jason Merrill <jason@redhat.com>
2120
2121 * c.opt (Wc++1z-compat): New.
2122 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
2123
6dc4a604
ML
21242016-11-07 Martin Liska <mliska@suse.cz>
2125
2126 * c-warn.c (warn_for_unused_label): Save all labels used
2127 in goto or in &label.
2128
b302001e
JM
21292016-11-03 Jason Merrill <jason@redhat.com>
2130
2131 * c-cppbuiltin.c (c_cpp_builtins): Correct
2132 __cpp_inheriting_constructors.
2133
31f7f784
JM
21342016-11-01 Jason Merrill <jason@redhat.com>
2135
2bc78e3c
JM
2136 * c-cppbuiltin.c (c_cpp_builtins): Update
2137 __cpp_inheriting_constructors.
2138
31f7f784
JM
2139 * c.opt (-fnew-inheriting-ctors): New.
2140 * c-opts.c: Default to on for ABI 11+.
2141
dcb466ec
JJ
21422016-10-31 Jakub Jelinek <jakub@redhat.com>
2143
2144 PR c++/77948
2145 * c.opt (fext-numeric-literals): Add Var and Init.
2146 * c-opts.c (c_common_handle_option): Don't clear
2147 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
2148 (c_common_post_options): Clear it here if not set
2149 explicitly.
2150
52e1b91e
AH
21512016-10-28 Aldy Hernandez <aldyh@redhat.com>
2152
2153 PR debug/77773
2154 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
2155 if NULL.
2156
e16f1cc7
JJ
21572016-10-25 Jakub Jelinek <jakub@redhat.com>
2158
2159 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
2160 * c-common.c (c_common_reswords): Add __builtin_launder.
2161
f8348061
BE
21622016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
2163
2164 * c-common.c (c_common_truthvalue_conversion): Warn for
2165 multiplications in boolean context. Fix the quoting of '<<' and '<'
2166 in the shift warning.
2167
eff89e01
BE
21682016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
2169
2170 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
2171
24bc7bf4
JM
21722016-10-20 Jason Merrill <jason@redhat.com>
2173
2174 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
2175
4c712374
BE
21762016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2177
2178 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
2179 integer shift ops in boolean context.
2180
21812016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
2182
2183 * c.opt (Walloca): New.
2184 (Walloca-larger-than=): New.
2185 (Wvla-larger-than=): New.
2186
8fa18c06
MP
21872016-10-17 Marek Polacek <polacek@redhat.com>
2188
2189 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
2190 Return immediately when finding a match.
2191 (warn_tautological_cmp): Remove a boolean variable that is no longer
2192 needed.
2193
b12b1915
MP
21942016-10-17 Marek Polacek <polacek@redhat.com>
2195
2196 * c-attribs.c: New file.
2197 * c-common.c: Move attributes handling to c-attribs.c.
2198 (get_nonnull_operand): No longer static.
2199 * c-common.h: Move the declarations from c-attribs.c to its own section.
2200
2045acd9
JM
22012016-10-14 Jason Merrill <jason@redhat.com>
2202
2203 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
2204 and __cpp_deduction_guides.
2205
14a2c9aa
JM
22062016-10-13 Jason Merrill <jason@redhat.com>
2207
2208 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
2209
4d0cdd0c
TP
22102016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2211
2212 * c-cppbuiltin.c: Include memmodel.h.
2213 * c-opts.c: Likewise.
2214 * c-pragma.c: Likewise.
2215 * c-warn.c: Likewise.
2216
70f6d5e1
JJ
22172016-10-12 Jakub Jelinek <jakub@redhat.com>
2218
2219 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
2220 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
2221 * c-opts.c (sanitize_cpp_opts): Initialize
2222 cpp_opts->cpp_warn_implicit_fallthrough.
2223
78f61294
MP
22242016-10-11 Marek Polacek <polacek@redhat.com>
2225
2226 * c-common.c (warning_candidate_p): Change the return type to bool
2227 and return true/false instead of 1/0.
2228 (vector_mode_valid_p): Likewise.
2229
038b5cc0
MP
22302016-10-11 Marek Polacek <polacek@redhat.com>
2231
2232 * c-common.c (fold_for_warn): No longer static.
2233 (bool_promoted_to_int_p): Likewise.
2234 (c_common_get_narrower): Likewise.
2235 (constant_expression_warning): Move to c-warn.c.
2236 (constant_expression_error): Likewise.
2237 (overflow_warning): Likewise.
2238 (warn_logical_operator): Likewise.
2239 (find_array_ref_with_const_idx_r): Likewise.
2240 (warn_tautological_cmp): Likewise.
2241 (expr_has_boolean_operands_p): Likewise.
2242 (warn_logical_not_parentheses): Likewise.
2243 (warn_if_unused_value): Likewise.
2244 (strict_aliasing_warning): Likewise.
2245 (sizeof_pointer_memaccess_warning): Likewise.
2246 (check_main_parameter_types): Likewise.
2247 (conversion_warning): Likewise.
2248 (warnings_for_convert_and_check): Likewise.
2249 (match_case_to_enum_1): Likewise.
2250 (match_case_to_enum): Likewise.
2251 (c_do_switch_warnings): Likewise.
2252 (warn_for_omitted_condop): Likewise.
2253 (readonly_error): Likewise.
2254 (lvalue_error): Likewise.
2255 (invalid_indirection_error): Likewise.
2256 (warn_array_subscript_with_type_char): Likewise.
2257 (warn_about_parentheses): Likewise.
2258 (warn_for_unused_label): Likewise.
2259 (warn_for_div_by_zero): Likewise.
2260 (warn_for_memset): Likewise.
2261 (warn_for_sign_compare): Likewise.
2262 (do_warn_double_promotion): Likewise.
2263 (do_warn_unused_parameter): Likewise.
2264 (record_locally_defined_typedef): Likewise.
2265 (maybe_record_typedef_use): Likewise.
2266 (maybe_warn_unused_local_typedefs): Likewise.
2267 (maybe_warn_bool_compare): Likewise.
2268 (maybe_warn_shift_overflow): Likewise.
2269 (warn_duplicated_cond_add_or_warn): Likewise.
2270 (diagnose_mismatched_attributes): Likewise.
2271 * c-common.h: Move the declarations from c-warn.c to its own section.
2272 * c-warn.c: New file.
2273
627be19f
JM
22742016-10-08 Jason Merrill <jason@redhat.com>
2275
2276 * c-common.c (c_common_truthvalue_conversion): Don't distribute
2277 into COND_EXPR in C++.
2278
7bad794a
JJ
22792016-10-08 Jakub Jelinek <jakub@redhat.com>
2280
2281 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
2282 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
2283 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
2284
be845b04
JJ
22852016-10-07 Jakub Jelinek <jakub@redhat.com>
2286
2287 Implement LWG2296 helper intrinsic
2288 * c-common.h (enum rid): Add RID_ADDRESSOF.
2289 * c-common.c (c_common_reswords): Add __builtin_addressof.
2290
c09c4992
BE
22912016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
2292
2293 PR c++/77700
2294 * c-common.c (c_common_truthvalue_conversion): Warn also for
2295 suspicious enum values in boolean context.
2296
342cfb3e
JJ
22972016-10-06 Jakub Jelinek <jakub@redhat.com>
2298
2299 Implement P0258R2 - helper for C++17
2300 std::has_unique_object_representations trait
2301 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
2302 * c-common.c (c_common_reswords): Add
2303 __has_unique_object_representations.
2304
2e69f143
JJ
23052016-10-05 Jakub Jelinek <jakub@redhat.com>
2306
2307 PR sanitizer/66343
2308 * c-ubsan.c (ubsan_instrument_return): Don't call
2309 initialize_sanitizer_builtins here.
2310
700fff34
BE
23112016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2312
2313 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
2314 conditional expression in boolean context when only one arm is
2315 non-boolean.
2316
9563bfcd
JJ
23172016-10-05 Jakub Jelinek <jakub@redhat.com>
2318
04a32443
JJ
2319 PR sanitizer/77823
2320 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
2321 is not integral.
2322
9563bfcd
JJ
2323 * c-common.c (c_common_reswords): Update comment for C++11.
2324
f1644724
JM
23252016-10-04 Jason Merrill <jason@redhat.com>
2326
2327 * c-common.c (make_tree_vector_from_ctor): New.
2328 * c-common.h: Declare it.
2329
5a79befb
JJ
23302016-10-04 Jakub Jelinek <jakub@redhat.com>
2331
2332 * c-cppbuiltin.c (c_cpp_builtins): Don't define
2333 __LIBGCC_JCR_SECTION_NAME__.
2334
1633d3b9
BE
23352016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
2336
2337 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
2338 left shift in boolean context.
2339
a2c6e7f2
JJ
23402016-09-29 Jakub Jelinek <jakub@redhat.com>
2341
2342 Implement P0001R1 - C++17 removal of register storage class specifier
2343 * c.opt (Wregister): New warning.
2344 * c-opts.c (c_common_post_options): Enable -Wregister by
2345 default for C++17.
2346
75304c87
JG
23472016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
2348
2349 * c-opts.c (c_common_post_options): Remove special case for
2350 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
2351 in C++.
2352
bbfac6da
JJ
23532016-09-27 Jakub Jelinek <jakub@redhat.com>
2354
6e39060a
JJ
2355 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
2356 -std=c++1z.
2357
bbfac6da
JJ
2358 * c-ada-spec.c (print_ada_declaration): Remove break after return.
2359
e73cf9a2
TP
23602016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
2361
2362 * c-common.c: Include memmodel.h.
2363
c6147dc4
MP
23642016-09-26 Marek Polacek <polacek@redhat.com>
2365
2366 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
2367
81fea426
MP
23682016-09-26 Marek Polacek <polacek@redhat.com>
2369
2370 PR c/7652
2371 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
2372 (handle_fallthrough_attribute): New function.
2373 (attribute_fallthrough_p): New function.
2374 * c-common.h (attribute_fallthrough_p): Declare.
2375
9a2300e9
MP
23762016-09-24 Marek Polacek <polacek@redhat.com>
2377
2378 PR c/77490
2379 * c.opt (Wbool-operation): New.
2380
a09e9e35
BE
23812016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2382
2383 * c-common.c (c_common_truthvalue_conversion): Inhibit
2384 Wint-in-bool-context warning with from_macro_definition_at.
2385 Mention the expression will always evaluate to true.
2386
d43b4ccc
MS
23872016-09-21 Martin Sebor <msebor@redhat.com>
2388
2389 PR bootstrap/77676
2390 * c.opt (fprintf-return-value): Temporarily initialize to zero
2391 to unblock bootstrap failures.
2392
2e1c20b1
JJ
23932016-09-21 Jakub Jelinek <jakub@redhat.com>
2394
2395 PR c++/77651
2396 * c.opt (Waligned-new=): Add RejectNegative.
2397 (faligned-new=): Likewise. Spelling fix - change
2398 aligned_new_threshhold to aligned_new_threshold.
2399 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
2400 to aligned_new_threshold.
2401
88d0c3f0
MS
24022016-09-20 Martin Sebor <msebor@redhat.com>
2403
2404 PR middle-end/49905
2405 * c.opt: Add -Wformat-length and -fprintf-return-value.
2406
144a96e4
BE
24072016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2408
2409 PR c++/77434
2410 * c.opt (Wint-in-bool-context): New warning.
2411 * c-common.c (c_common_truthvalue_conversion): Warn on integer
2412 constants in boolean context.
2413
63012d9a
JM
24142016-09-19 Joseph Myers <joseph@codesourcery.com>
2415
2416 * c-common.c (max_align_t_align): Also consider alignment of
2417 float128_type_node.
2418
931388ce
JM
24192016-09-15 Jason Merrill <jason@redhat.com>
2420
2421 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
2422 DECL_EXTERNAL.
2423
38711381
JM
24242016-09-14 Jason Merrill <jason@redhat.com>
2425
2426 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
2427 limit FIELD_DECL, either.
2428
e51fbec3
MP
24292016-09-14 Marek Polacek <polacek@redhat.com>
2430
2431 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
2432 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
2433 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
2434
254830ba
DM
24352016-09-13 David Malcolm <dmalcolm@redhat.com>
2436
2437 * c-common.c (warn_logical_not_parentheses): Replace
2438 rich_location::add_fixit_insert calls with add_fixit_insert_before
2439 and add_fixit_insert_after, eliminating the "next_loc" calculation.
2440
42763690
JM
24412016-09-13 Jason Merrill <jason@redhat.com>
2442 Tom de Vries <tom@codesourcery.com>
2443
2444 PR c++/77427
2445 * c-common.c (set_underlying_type): Don't treat array as builtin type.
2446
9453eee9
JM
24472016-09-13 Jason Merrill <jason@redhat.com>
2448
2449 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
2450 limit types at all.
2451
e96809e3
JM
24522016-09-12 Jason Merrill <jason@redhat.com>
2453
2454 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
2455 bit/byte confusion, allow large alignment for types.
2456
54dcdb88
BE
24572016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
2458
2459 PR c++/77496
2460 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
2461
d1463eb9
DM
24622016-09-12 David Malcolm <dmalcolm@redhat.com>
2463
2464 PR c/72858
2465 * c-format.c (argument_parser::check_argument_type): Add params
2466 "type_start" and "conversion_char". Use the former to generate
2467 offset_to_type_start and pass it and conversion_char to
2468 check_format_types.
2469 (check_format_info_main): Capture the start of the type
2470 information as "type_start", and pass it an format_char
2471 to arg_parser.check_argument_type.
2472 (check_format_types): Provide an example in the leading comment.
2473 Add params "offset_to_type_start" and "conversion_char"; pass
2474 them to format_type_warning calls.
2475 (test_get_modifier_for_format_len): Likewise.
2476 (matching_type_p): New function.
2477 (get_format_for_type): Add param "conversion_char" and move
2478 implementation into...
2479 (get_format_for_type_1): ...new function, called twice.
2480 Use new function matching_type_p rather than checking for
2481 TYPE_CANONICAL equality.
2482 (get_corrected_substring): New function.
2483 (format_type_warning): Provide an example in the leading comment.
2484 Add params "offset_to_type_start" and "conversion_char". Replace
2485 call to get_format_for_type with call to get_corrected_substring
2486 and move rejection of hints for widths/precisions there.
2487 (assert_format_for_type_streq): Add param "conversion_char".
2488 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
2489 (test_get_format_for_type_printf): Add conversion chars to the
2490 tests, adding coverage for various combinations of integer
2491 vs double conversions, and for preserving octal and hexadecimal
2492 conversions.
2493 (test_get_format_for_type_scanf): Add conversion chars to the
2494 tests.
2495
5b28efbb
TV
24962016-09-10 Tom de Vries <tom@codesourcery.com>
2497
2498 PR C/71602
2499 * c-common.c (build_va_arg): Handle more strict
2500 targetm.canonical_va_list_type. Replace first argument type error with
2501 assert.
2502
3f0177e7
MS
25032016-09-09 Martin Sebor <msebor@redhat.com>
2504
2505 PR c/77520
2506 PR c/77521
2507 * c-format.c (argument_parser::find_format_char_info): Use %qc
2508 format directive unconditionally.
2509
af63ba4b
JM
25102016-09-09 Jason Merrill <jason@redhat.com>
2511
2512 Implement C++17 new of over-aligned types.
2513 * c.opt: Add -faligned-new and -Waligned-new.
2514 * c-common.c (max_align_t_align): Split out from...
2515 (cxx_fundamental_alignment_p): ...here.
2516 * c-common.h: Declare it.
2517 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
2518
c65248cb
JM
25192016-09-09 Joseph Myers <joseph@codesourcery.com>
2520
2521 * c-cppbuiltin.c (builtin_define_type_width): New function.
2522 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
2523 macros.
2524
e5106e27
DM
25252016-09-07 David Malcolm <dmalcolm@redhat.com>
2526
2527 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
2528 a POINTER_TYPE.
2529 (substring_loc::get_location): Move to substring-locations.c,
2530 keeping implementation as...
2531 (c_get_substring_location): New function, from the above, reworked
2532 to use accessors rather than member lookup.
2533 * c-common.h (class substring_loc): Move to substring-locations.h,
2534 replacing with a forward decl.
2535 (c_get_substring_location): New decl.
2536 * c-format.c: Include "substring-locations.h".
2537 (format_warning_va): Move to substring-locations.c.
2538 (format_warning_at_substring): Likewise.
2539
a42e7952
MS
25402016-09-06 Martin Sebor <msebor@redhat.com>
2541
2542 PR c/77336
2543 * c-format.c (check_function_format): Avoid issuing warnings for
2544 functions unless they call format functions with non-constant
2545 format strings.
2546
b772a565
RB
25472016-09-06 Richard Biener <rguenther@suse.de>
2548
2549 PR c/77450
2550 * c-common.c (c_common_mark_addressable_vec): Handle
2551 COMPOUND_LITERAL_EXPR.
2552
25ff5dd3
MP
25532016-09-05 Marek Polacek <polacek@redhat.com>
2554
2555 PR c/77423
2556 * c-common.c (bool_promoted_to_int_p): New function.
2557 (expr_has_boolean_operands_p): New function.
2558 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
2559 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
2560
21234eb5
TV
25612016-09-04 Tom de Vries <tom@codesourcery.com>
2562
2563 revert:
2564 2016-08-29 Tom de Vries <tom@codesourcery.com>
2565
2566 * c-common.c (build_va_arg): Replace first argument type error
2567 with assert.
2568
9dc5773f
JJ
25692016-09-02 Jakub Jelinek <jakub@redhat.com>
2570
2571 PR c/65467
2572 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
2573 (c_finish_omp_for): Reject _Atomic qualified iterators.
2574
25752016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
2576
2577 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
2578 size to guarantee it fits the output of the formatted function
2579 regardless of its arguments.
2580
295844f6
MP
25812016-09-01 Marek Polacek <polacek@redhat.com>
2582
2583 PR c/7652
2584 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
2585 FALLTHRU comments.
2586
3d06b6f2
MP
25872016-08-29 Marek Polacek <polacek@redhat.com>
2588
2589 PR c/77292
2590 * c-common.c (warn_logical_not_parentheses): Don't warn for
2591 a comparison or a logical operator.
2592
34cedad5
TV
25932016-08-29 Tom de Vries <tom@codesourcery.com>
2594
2595 * c-common.c (build_va_arg): Fix type comparison assert.
2596
f162d717
TV
25972016-08-29 Tom de Vries <tom@codesourcery.com>
2598
2599 * c-common.c (build_va_arg): Replace first argument type error
2600 with assert.
2601
ba9bbd6f
TV
26022016-08-29 Tom de Vries <tom@codesourcery.com>
2603
2604 PR c/77398
2605 * c-common.c (build_va_arg): Add first argument error. Build va_arg
2606 with error_mark_node as va_list instead of with illegal va_list.
2607
ebef225f
MP
26082016-08-25 Marek Polacek <polacek@redhat.com>
2609 David Malcolm <dmalcolm@redhat.com>
2610
2611 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
2612 * c-common.h (warn_logical_not_parentheses): Update declaration.
2613
b00e6e75
MP
26142016-08-22 Marek Polacek <polacek@redhat.com>
2615
2616 PR c++/77321
2617 * c-common.c (warn_for_memset): Check type for null.
2618
6dc198e3
JM
26192016-08-22 Joseph Myers <joseph@codesourcery.com>
2620
14ec014e 2621 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
2622 _FloatNx types for suffixes for built-in functions.
2623
c65699ef
JM
26242016-08-19 Joseph Myers <joseph@codesourcery.com>
2625
2626 PR c/32187
2627 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
2628 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
2629 (RID_FLOAT128X): New enum rid values.
2630 (CASE_RID_FLOATN_NX): New macro.
2631 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
2632 keywords.
2633 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
2634 corresponding complex types.
2635 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
2636 _FloatNx and corresponding complex types.
2637 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
2638 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
2639 and _FloatNx types for the widest type for determining
2640 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
2641 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
2642 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
2643 and _FloatNx types.
2644 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
2645 constants.
2646 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
2647 _FloatNx types.
2648
cc015f3a
DM
26492016-08-18 David Malcolm <dmalcolm@redhat.com>
2650
2651 * c-opts.c (c_diagnostic_finalizer): Update for change to
2652 diagnostic_show_locus.
2653
cb18fd07
DM
26542016-08-18 David Malcolm <dmalcolm@redhat.com>
2655
2656 * c-common.c: Include "spellcheck.h".
2657 (cb_get_suggestion): New function.
2658 * c-common.h (cb_get_suggestion): New decl.
2659 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
2660 cb_get_suggestion.
2661
a76989dc
MP
26622016-08-18 Marek Polacek <polacek@redhat.com>
2663
2664 PR c/71514
2665 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
2666 and pointer-to-VLA.
2667
65e736c0
DM
26682016-08-16 David Malcolm <dmalcolm@redhat.com>
2669
2670 PR c/72857
2671 * c-common.c (substring_loc::get_range): Rename to...
2672 (substring_loc::get_location): ...this, converting param from a
2673 source_range * to a location_t *. Call
2674 get_source_location_for_substring rather than
2675 get_source_range_for_substring, and pass in m_caret_idx.
2676 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
2677 (substring_loc::get_range): Replace with...
2678 (substring_loc::get_location): ...this.
2679 (substring_loc::set_caret_index): New method.
2680 (substring_loc): Add field m_caret_idx.
2681 * c-format.c (format_warning_va): Update for above changes.
2682 Rename local "substring_loc" to "fmt_substring_loc" to avoid
2683 clashing with type name.
2684 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
2685 (check_argument_type): Likewise.
2686 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
2687 Use a copy when emitting warnings, setting the caret index from TYPE.
2688
7e1dde14 26892016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 2690 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
2691
2692 * c-ada-spec.c (dump_number): New function.
2693 (handle_escape_character): Likewise.
2694 (print_ada_macros): Add handling of constant integers and strings.
2695
191816a3
MP
26962016-08-12 Marek Polacek <polacek@redhat.com>
2697
2698 PR c/7652
2699 * c-common.c (scalar_to_vector): Adjust fall through comment.
2700 * c-opts.c (c_common_handle_option): Likewise.
2701 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
2702 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
2703 fall through comment.
2704 * cilk.c (extract_free_variables): Add FALLTHRU.
2705
452df4a4
JM
27062016-08-10 Jason Merrill <jason@redhat.com>
2707
2708 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
2709
f3365c12
JM
27102016-08-09 Jason Merrill <jason@redhat.com>
2711
2712 * c-common.c (c_common_attribute_table): vector_size affects type
2713 identity.
2714
f0bc3323
MP
27152016-08-09 Marek Polacek <polacek@redhat.com>
2716
2717 PR c/7652
2718 * c-ada-spec.c (dump_generic_ada_node): Add return.
2719
98e5a19a
JM
27202016-08-09 Jason Merrill <jason@redhat.com>
2721
2722 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
2723 C++17 constexpr lambdas.
2724
895aa8e1
DM
27252016-08-08 David Malcolm <dmalcolm@redhat.com>
2726
2727 PR c/64955
2728 * c-common.h (selftest::c_format_c_tests): New declaration.
2729 (selftest::run_c_tests): New declaration.
2730 * c-format.c: Include "selftest.h.
2731 (format_warning_va): Add param "corrected_substring" and use
2732 it to add a replacement fix-it hint.
2733 (format_warning_at_substring): Likewise.
2734 (format_warning_at_char): Update for new param of
2735 format_warning_va.
2736 (argument_parser::check_argument_type): Pass "fki" to
2737 check_format_types.
2738 (check_format_types): Add param "fki" and pass it to
2739 format_type_warning.
2740 (deref_n_times): New function.
2741 (get_modifier_for_format_len): New function.
2742 (selftest::test_get_modifier_for_format_len): New function.
2743 (get_format_for_type): New function.
2744 (format_type_warning): Add param "fki" and use it to attempt
2745 to provide hints for argument types when calling
2746 format_warning_at_substring.
2747 (selftest::get_info): New function.
2748 (selftest::assert_format_for_type_streq): New function.
2749 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
2750 (selftest::test_get_format_for_type_printf): New function.
2751 (selftest::test_get_format_for_type_scanf): New function.
2752 (selftest::c_format_c_tests): New function.
2753
e52ed3fe
DM
27542016-08-08 David Malcolm <dmalcolm@redhat.com>
2755
2756 PR c/52952
2757 * c-format.c: Include "diagnostic.h".
2758 (location_column_from_byte_offset): Delete.
2759 (location_from_offset): Delete.
2760 (format_warning_va): New function.
2761 (format_warning_at_substring): New function.
2762 (format_warning_at_char): New function.
2763 (check_format_arg): Capture location of format_tree and pass to
2764 check_format_info_main.
2765 (argument_parser): Add fields "start_of_this_format" and
2766 "format_string_cst".
2767 (flag_chars_t::validate): Add param "format_string_cst". Convert
2768 warning_at call using location_from_offset to call to
2769 format_warning_at_char.
2770 (argument_parser::argument_parser): Add param "format_string_cst_"
2771 and use use it to initialize field "format_string_cst".
2772 Initialize new field "start_of_this_format".
2773 (argument_parser::read_format_flags): Convert warning_at call
2774 using location_from_offset to a call to format_warning_at_char.
2775 (argument_parser::read_any_format_left_precision): Likewise.
2776 (argument_parser::read_any_format_precision): Likewise.
2777 (argument_parser::read_any_other_modifier): Likewise.
2778 (argument_parser::find_format_char_info): Likewise, in three places.
2779 (argument_parser::parse_any_scan_set): Likewise, in one place.
2780 (argument_parser::handle_conversions): Likewise, in two places.
2781 (argument_parser::check_argument_type): Add param "fmt_param_loc"
2782 and use it to make a substring_loc. Pass the latter to
2783 check_format_types.
2784 (check_format_info_main): Add params "fmt_param_loc" and
2785 "format_string_cst". Convert warning_at calls using
2786 location_from_offset to calls to format_warning_at_char. Pass the
2787 new params to the arg_parser ctor. Pass "format_string_cst" to
2788 flag_chars.validate. Pass "fmt_param_loc" to
2789 arg_parser.check_argument_type.
2790 (check_format_types): Convert first param from a location_t
2791 to a const substring_loc & and rename to "fmt_loc". Attempt
2792 to extract the range of the relevant parameter and pass it
2793 to format_type_warning.
2794 (format_type_warning): Convert first param from a location_t
2795 to a const substring_loc & and rename to "fmt_loc". Add
2796 params "param_range" and "type". Replace calls to warning_at
2797 with calls to format_warning_at_substring.
2798
1c4d457e
DM
27992016-08-08 David Malcolm <dmalcolm@redhat.com>
2800
2801 * c-format.c (class flag_chars_t): New class.
2802 (struct length_modifier): New struct.
2803 (class argument_parser): New class.
2804 (flag_chars_t::flag_chars_t): New ctor.
2805 (flag_chars_t::has_char_p): New method.
2806 (flag_chars_t::add_char): New method.
2807 (flag_chars_t::validate): New method.
2808 (flag_chars_t::get_alloc_flag): New method.
2809 (flag_chars_t::assignment_suppression_p): New method.
2810 (argument_parser::argument_parser): New ctor.
2811 (argument_parser::read_any_dollar): New method.
2812 (argument_parser::read_format_flags): New method.
2813 (argument_parser::read_any_format_width): New method.
2814 (argument_parser::read_any_format_left_precision): New method.
2815 (argument_parser::read_any_format_precision): New method.
2816 (argument_parser::handle_alloc_chars): New method.
2817 (argument_parser::read_any_length_modifier): New method.
2818 (argument_parser::read_any_other_modifier): New method.
2819 (argument_parser::find_format_char_info): New method.
2820 (argument_parser::validate_flag_pairs): New method.
2821 (argument_parser::give_y2k_warnings): New method.
2822 (argument_parser::parse_any_scan_set): New method.
2823 (argument_parser::handle_conversions): New method.
2824 (argument_parser::check_argument_type): New method.
2825 (check_format_info_main): Introduce classes argument_parser
2826 and flag_chars_t, moving the code within the loop into methods
2827 of these classes. Make various locals "const".
2828
88fa5555
DM
28292016-08-05 David Malcolm <dmalcolm@redhat.com>
2830
2831 * c-common.c: Include "substring-locations.h".
2832 (get_cpp_ttype_from_string_type): New function.
2833 (g_string_concat_db): New global.
2834 (substring_loc::get_range): New method.
2835 * c-common.h (g_string_concat_db): New declaration.
2836 (class substring_loc): New class.
2837 * c-lex.c (lex_string): When concatenating strings, capture the
2838 locations of all tokens using a new obstack, and record the
2839 concatenation locations within g_string_concat_db.
2840 * c-opts.c (c_common_init_options): Construct g_string_concat_db
2841 on the ggc-heap.
2842
78169471
MP
28432016-07-29 Marek Polacek <polacek@redhat.com>
2844
638fc14f
MP
2845 PR c/71926
2846 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
2847 parentheses warning.
2848
78169471
MP
2849 PR c/71574
2850 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
2851
1225d6b1
ML
28522016-07-28 Martin Liska <mliska@suse.cz>
2853
2854 PR gcov-profile/68025
2855 * c-common.c (handle_no_profile_instrument_function_attribute):
2856
ec1e2a40
BE
28572016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
2858
2859 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
2860 BITS_PER_UNIT_LOG.
2861
5ec2cd9f
JM
28622016-07-25 Jason Merrill <jason@redhat.com>
2863
2864 PR c++/65970
2865 * c.opt (fconstexpr-loop-limit): New.
2866
9dc5773f 28672016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
2868
2869 PR c++/71675
2870 * c-common.c (resolve_overloaded_builtin): Avoid converting
2871 __atomic_compare_exchange_n return type to that of what its
2872 first argument points to.
2873
e3fe09c1
UB
28742016-07-22 Uros Bizjak <ubizjak@gmail.com>
2875
2876 * c-common.c: Use HOST_WIDE_INT_M1U instead of
2877 ~(unsigned HOST_WIDE_INT) 0.
2878
bc91c436
ML
28792016-07-22 Martin Liska <mliska@suse.cz>
2880
2881 PR gcov-profile/69028
2882 PR gcov-profile/62047
2883 * cilk.c (create_cilk_helper_decl): Set location of a new decl
2884 to the current_function_decl.
2885
451dcc66
JM
28862016-07-21 Jason Merrill <jason@redhat.com>
2887
2888 PR c++/65168
2889 * c-common.c (c_common_truthvalue_conversion): Check
2890 c_inhibit_evaluation_warnings for warning about address of
2891 reference.
2892
de6a69ee
DM
28932016-07-20 David Malcolm <dmalcolm@redhat.com>
2894
2895 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
2896 const char *.
2897
d022c55a
JM
28982016-07-15 Jason Merrill <jason@redhat.com>
2899
2900 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
2901
ddbbcb19
JJ
29022016-07-15 Jakub Jelinek <jakub@redhat.com>
2903
2904 PR c/71858
2905 * c-common.h (enum lookup_name_fuzzy_kind): Add
2906 FUZZY_LOOKUP_FUNCTION_NAME.
2907
d0cf395a
JM
29082016-07-08 Jason Merrill <jason@redhat.com>
2909
2910 P0145: Refining Expression Order for C++.
2911 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
2912 * c-opts.c: Adjust.
2913
98d44e93
MT
29142016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
2915
2916 PR c++/71214
2917 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
2918
f9d8d994
TS
29192016-06-29 Thomas Schwinge <thomas@codesourcery.com>
2920
2921 * c-pragma.h (enum pragma_kind): Rename
2922 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
2923 users.
2924
4aa83879
RB
29252016-06-29 Richard Biener <rguenther@suse.de>
2926
2927 PR middle-end/71002
2928 * c-common.c (c_common_get_alias_set): Remove union type punning case.
2929
a25bd9e6
JM
29302016-06-24 Jason Merrill <jason@redhat.com>
2931
2932 P0145R2: Refining Expression Order for C++.
2933 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
2934 MODIFY_EXPR.
2935
a86451b9
JJ
29362016-06-24 Jakub Jelinek <jakub@redhat.com>
2937
2938 * c-common.c (check_builtin_function_arguments): Require last
2939 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
2940 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
2941 if the last argument is pointer to enumerated or boolean type.
2942
1a4f11c8
DM
29432016-06-22 David Malcolm <dmalcolm@redhat.com>
2944
2945 PR c/70339
2946 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
2947 (lookup_name_fuzzy): New prototype.
2948
fe55692c
JDA
29492016-06-21 John David Anglin <danglin@gcc.gnu.org>
2950
2951 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
2952
4eb24e01
JM
29532016-06-14 Jason Merrill <jason@redhat.com>
2954
2955 P0145R2: Refining Expression Order for C++.
2956 * c.opt (fargs-in-order): New.
2957 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
2958
ef7cf206
JJ
29592016-06-13 Jakub Jelinek <jakub@redhat.com>
2960
0dda258b
JJ
2961 PR sanitizer/71498
2962 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
2963 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
2964
ef7cf206
JJ
2965 PR preprocessor/71183
2966 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
2967 to cb_get_source_date_epoch.
2968
50b15873
JJ
29692016-06-10 Jakub Jelinek <jakub@redhat.com>
2970
2971 PR c/68657
2972 * c.opt (Wpsabi): Add Warning flag.
2973
4d926e34
MS
29742016-06-10 Martin Sebor <msebor@redhat.com>
2975
2976 PR c/71392
14ec014e 2977 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
2978 the nonnull attribute in type-generic builtins.
2979
e01b4e16
MS
29802016-06-09 Martin Sebor <msebor@redhat.com>
2981
2982 PR c/70883
2983 * c-common.c (builtin_function_validate_nargs): Make text of error
2984 message consistent with others like it.
2985
44a845ca
MS
29862016-06-08 Martin Sebor <msebor@redhat.com>
2987 Jakub Jelinek <jakub@redhat.com>
2988
2989 PR c++/70507
2990 PR c/68120
2991 * c-common.c (check_builtin_function_arguments): Handle
2992 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
2993
a80a7051
RB
29942016-06-08 Richard Biener <rguenther@suse.de>
2995
2996 * c-common.c (parse_optimize_options): Improve diagnostic messages.
2997
bfd67b47
RB
29982016-06-07 Richard Biener <rguenther@suse.de>
2999
3000 PR c/61564
3001 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
3002 options and warn about others.
3003
15c98b2e
ES
30042016-06-01 Eduard Sanou <dhole@openmailbox.org>
3005
3006 * c-common.c (get_source_date_epoch): Rename to
3007 cb_get_source_date_epoch.
3008 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
3009 message when the parsing fails. Use error_at instead of fatal_error.
3010 * c-common.h (get_source_date_epoch): Rename to
3011 cb_get_source_date_epoch.
3012 * c-common.h (cb_get_source_date_epoch): Prototype.
3013 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
3014 * c-common.h (c_omp_region_type): Remove trailing comma.
3015 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
3016 * c-lex.c (c_lex_with_flags): Remove initialization of
3017 pfile->source_date_epoch.
3018
00631022
JJ
30192016-05-30 Jakub Jelinek <jakub@redhat.com>
3020
3021 PR c++/71349
3022 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
3023 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
3024 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
3025 instead of C_OMP_CLAUSE_SPLIT_FOR.
3026
f17a223d
RB
30272016-05-24 Richard Biener <rguenther@suse.de>
3028
3029 PR middle-end/70434
3030 PR c/69504
3031 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
3032 (convert_vector_to_array_for_subscript): ... this.
3033 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
3034 VIEW_CONVERT_EXPR to an array type. Rename to ...
3035 (convert_vector_to_array_for_subscript): ... this.
3036
4f2e1536
MP
30372016-05-12 Marek Polacek <polacek@redhat.com>
3038
3039 PR c/70756
3040 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
3041 size_in_bytes and pass LOC to it.
3042
d6e83a8d
MM
30432016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
3044
3045 PR c/43651
3046 * c.opt (Wduplicate-decl-specifier): New option.
3047
5c3a10fb
MP
30482016-05-11 Marek Polacek <polacek@redhat.com>
3049
3050 PR c++/71024
3051 * c-common.c (diagnose_mismatched_attributes): New function.
3052 * c-common.h (diagnose_mismatched_attributes): Declare.
3053
deef7113
MP
30542016-05-04 Marek Polacek <polacek@redhat.com>
3055
3056 * c.opt (Wdangling-else): New option.
3057
79ce98bc
MP
30582016-05-03 Marek Polacek <polacek@redhat.com>
3059
3060 PR c/70859
3061 * c-common.c (builtin_function_validate_nargs): Add location
3062 parameter. Use it.
3063 (check_builtin_function_arguments): Add location and arguments
3064 parameters. Use them.
3065 * c-common.h (check_builtin_function_arguments): Update declaration.
3066
381cdae4
RB
30672016-05-03 Richard Biener <rguenther@suse.de>
3068
3069 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
3070 allow call args to gimplify to SSA names.
3071
1d793c34
MP
30722016-05-03 Marek Polacek <polacek@redhat.com>
3073
3074 * c-common.h (enum c_omp_region_type): Remove stray comma.
3075
77886428
CP
30762016-05-02 Cesar Philippidis <cesar@codesourcery.com>
3077
3078 * c-common.h (enum c_omp_region_type): Define.
3079
697e0b28
RS
30802016-05-02 Richard Sandiford <richard.sandiford@arm.com>
3081
3082 * c-common.c (shorten_compare): Use wi::to_wide.
3083
e7ff0319
CP
30842016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3085
3086 PR middle-end/70626
3087 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
3088 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
3089 reduction clauses in acc parallel loops.
3090
2fff3db8
MP
30912016-04-29 Marek Polacek <polacek@redhat.com>
3092
3093 PR c/70852
3094 * c-common.c (warn_for_memset): Check domain before accessing it.
3095
509063eb
DV
30962016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
3097
3098 PR/69089
3099 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
3100 "aligned" attribute.
3101
b632761d
JM
31022016-04-28 Jason Merrill <jason@redhat.com>
3103
3104 * c-lex.c (c_common_has_attribute): Handle nodiscard.
3105
174f6622
ES
31062016-04-28 Eduard Sanou <dhole@openmailbox.org>
3107 Matthias Klose <doko@debian.org>
3108
3109 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 3110 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
3111 handling.
3112 * c-common.h (get_source_date_epoch): Prototype.
3113 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
3114
6bc2bb18
RB
31152015-04-27 Ryan Burn <contact@rnburn.com>
3116
3117 PR c++/69024
3118 PR c++/68997
3119 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
3120 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
3121 external linkage.
3122 (cilk_detect_and_unwrap): Corresponding changes.
3123 (extract_free_variables): Don't extract free variables from
3124 AGGR_INIT_EXPR slot.
3125 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
3126 (cilk_recognize_spawn): Likewise.
3127
c1e1f433
BS
31282016-04-27 Bernd Schmidt <bschmidt@redhat.com>
3129
3130 * c.opt (Wmemset-elt-size): New option.
3131 * c-common.c (warn_for_memset): New function.
3132 * c-common.h (warn_for_memset): Declare.
3133
d067e05f
JM
31342016-04-25 Jason Merrill <jason@redhat.com>
3135
3136 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
3137 No longer static.
3138 * c-common.h: Declare it.
3139 * c-lex.c (c_common_has_attribute): Add maybe_unused.
3140
9aa36ae5
JM
31412016-04-22 Jason Merrill <jason@redhat.com>
3142
3143 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
3144
477d4906
IV
31452016-04-20 Ilya Verbin <ilya.verbin@intel.com>
3146
3147 PR c++/69363
3148 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
3149 * c-common.h (c_finish_cilk_clauses): Remove declaration.
3150
fe37c7af
MM
31512016-04-18 Michael Matz <matz@suse.de>
3152
3153 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
3154 and SET_DECL_ALIGN.
3155
23f2660f
EB
31562016-04-17 Eric Botcazou <ebotcazou@adacore.com>
3157
3158 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
3159 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
3160 to incomplete types.
3161 (dump_nested_type): Remove redundant tests and tidy up.
3162 (print_ada_declaration): Also set TREE_VISITED on the declaration of
3163 a type which is the typedef of an original type.
3164
1e77281b
MP
31652016-04-15 Marek Polacek <polacek@redhat.com>
3166
3167 PR c/70651
3168 * c-common.c (build_va_arg): Change two asserts into errors and return
3169 error_mark_node.
3170
b3a77f21
MP
31712016-04-13 Marek Polacek <polacek@redhat.com>
3172
3173 PR c++/70639
3174 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
3175 for switch statements, too.
3176
322b8466
JM
31772016-03-28 Jason Merrill <jason@redhat.com>
3178
3179 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
3180
fbdb6baf
MP
31812016-03-23 Marek Polacek <polacek@redhat.com>
3182
3183 PR c++/69884
3184 * c.opt (Wignored-attributes): New option.
3185
5c240f4d
DM
31862016-03-22 David Malcolm <dmalcolm@redhat.com>
3187
3188 PR c/69993
3189 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
3190 diagnostic text, reversing the order of the warning and note so
3191 that they appear in source order.
3192
14ba7b28
MP
31932016-03-17 Marek Polacek <polacek@redhat.com>
3194
3195 PR c/69407
3196 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
3197 operations.
3198
08a1cadc
JM
31992016-03-14 Jason Merrill <jason@redhat.com>
3200
2aaeea19
JM
3201 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
3202
08a1cadc
JM
3203 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
3204
c06d25bb
RB
32052016-03-09 Richard Biener <rguenther@suse.de>
3206
3207 PR c/70143
3208 * c-common.c (strict_aliasing_warning): Add back
3209 alias_sets_conflict_p check.
3210
80aac5c8
JM
32112016-03-08 Jason Merrill <jason@redhat.com>
3212
3213 * c-opts.c (set_std_cxx1z): Don't enable concepts.
3214
64b23c13
DM
32152016-03-04 David Malcolm <dmalcolm@redhat.com>
3216
3217 PR c/68187
3218 * c-indentation.c (get_visual_column): Move code to determine next
3219 tab stop to...
3220 (next_tab_stop): ...this new function.
3221 (line_contains_hash_if): Delete function.
3222 (detect_preprocessor_logic): Delete function.
3223 (get_first_nws_vis_column): New function.
3224 (detect_intervening_unindent): New function.
3225 (should_warn_for_misleading_indentation): Replace call to
3226 detect_preprocessor_logic with a call to
3227 detect_intervening_unindent.
3228
729526f5
DM
32292016-03-04 David Malcolm <dmalcolm@redhat.com>
3230
3231 PR c/68187
3232 * c-indentation.c (should_warn_for_misleading_indentation): When
3233 suppressing warnings about cases where the guard and body are on
3234 the same column, only use the first non-whitespace column in place
3235 of the guard token column when dealing with "else" clauses.
3236 When rejecting aligned BODY and NEXT, loosen the requirement
3237 from equality with the first non-whitespace of guard to simply
3238 that they not be indented relative to it.
3239
e9a35493
RB
32402016-03-04 Richard Biener <rguenther@suse.de>
3241
3242 PR c++/70054
3243 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
3244 instead of alias_sets_conflict_p.
3245
1be56bc5
MP
32462016-03-01 Marek Polacek <polacek@redhat.com>
3247
3248 PR c++/69795
3249 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
3250 any DECL.
3251
35886f0b
MS
32522016-02-22 Martin Sebor <msebor@redhat.com>
3253
3254 PR middle-end/69780
3255 * c-common.c (check_builtin_function_arguments): Validate and
3256 reject invalid arguments to __builtin_alloca_with_align.
3257
4246c8da
MW
32582016-02-20 Mark Wielaard <mjw@redhat.com>
3259
3260 PR c/28901
3261 * c.opt (Wunused-const-variable): Turn into Alias for...
3262 (Wunused-const-variable=): New option.
3263
268be88c
BE
32642016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3265
3266 PR c++/69865
3267 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
3268 here...
3269 (c_common_init_options): ...to here.
3270 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
3271
871b3f47
JJ
32722016-02-19 Jakub Jelinek <jakub@redhat.com>
3273
3274 PR c++/69826
3275 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
3276 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
3277 flag_preprocess_only.
3278
bf14eba2
JJ
32792016-02-16 Jakub Jelinek <jakub@redhat.com>
3280
3281 PR c/69835
3282 * c.opt (Wnonnull-compare): Enable for -Wall.
3283
ba6b3795
JJ
32842016-02-15 Jakub Jelinek <jakub@redhat.com>
3285
3286 PR c++/69797
3287 * c-common.c (sync_resolve_size): Diagnose too few arguments
3288 even when params is non-NULL empty vector.
3289
a011cd92
BS
32902016-02-08 Bernd Schmidt <bschmidt@redhat.com>
3291
3292 PR target/60410
3293 * c.opt (fshort-double): Remove.
3294
46cb9332
MS
32952016-02-05 Martin Sebor <msebor@redhat.com>
3296
3297 PR c++/69662
3298 * c.opt (Warning options): Update -Wplacement-new to take
3299 an optional argument.
3300
e1b81f2b
JJ
33012016-02-01 Jakub Jelinek <jakub@redhat.com>
3302
3303 PR preprocessor/69543
3304 PR c/69558
3305 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
3306 instead of loc to control_warning_option.
3307
b6adbb9f
NS
33082016-02-01 Nathan Sidwell <nathan@codesourcery.com>
3309
3310 * c.opt (fopenacc-dim=): New option.
3311
5d70666e
RB
33122016-01-27 Ryan Burn <contact@rnburn.com>
3313
3314 PR cilkplus/69267
3315 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
3316 gimplify_arg. Removed superfluous post_p argument.
3317 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
3318 superfluous post_p argument.
3319 * c-gimplify.c (c_gimplify_expr): Likewise.
3320
01e1dea3
DM
33212016-01-26 David Malcolm <dmalcolm@redhat.com>
3322
3323 PR other/69006
3324 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
3325 pp_newline_and_flush with pp_flush.
3326
9f04a53e
MS
33272016-01-20 Martin Sebor <msebor@redhat.com>
3328
3329 PR c/69405
3330 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
3331 an incompatible argument when the argument isn't a valid tree node.
3332
7f26f7df
JM
33332016-01-18 Jason Merrill <jason@redhat.com>
3334
3335 PR c++/68767
3336 * c-common.c (check_function_arguments_recurse): Fold the whole
3337 COND_EXPR, not just the condition.
3338
f62bf092
TV
33392016-01-18 Tom de Vries <tom@codesourcery.com>
3340
3341 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
3342 classify as loop clause.
3343
e0a575ff
JJ
33442016-01-15 Jakub Jelinek <jakub@redhat.com>
3345
3346 PR bootstrap/68271
3347 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
3348 C++ FE no longer has limit on number of pragmas.
3349
33502015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
3351
3352 PR c++/69048
3353 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 3354 to add missing cleanup point.
b6e3db06 3355
c7df95d8
DM
33562016-01-14 David Malcolm <dmalcolm@redhat.com>
3357
3358 PR c++/68819
3359 * c-indentation.c (get_visual_column): Add location_t param.
3360 Handle the column number being zero by effectively disabling the
3361 warning, with an "inform".
3362 (should_warn_for_misleading_indentation): Add location_t argument
3363 for all uses of get_visual_column.
3364
21efdd80
PP
33652016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
3366
3367 PR c++/69029
3368 * c-indentation.c (should_warn_for_misleading_indentation):
3369 Don't warn about do-while statements.
3370
7a127fa7
MS
33712016-01-07 Martin Sebor <msebor@redhat.com>
3372
3373 PR c/68966
3374 * c-common.c (sync_resolve_size): Reject first argument when it's
3375 a pointer to _Bool.
3376
c589e975
DM
33772016-01-05 David Malcolm <dmalcolm@redhat.com>
3378
3379 PR c/69122
3380 * c-indentation.c (get_visual_column): Remove default argument.
3381 (should_warn_for_misleading_indentation): For the multiline case,
3382 update call to get_visual_column for next_stmt_exploc so that it
3383 captures the location of the first non-whitespace character in the
3384 relevant line. Don't issue warnings if there is non-whitespace
3385 before the next statement.
3386
818ab71a
JJ
33872016-01-04 Jakub Jelinek <jakub@redhat.com>
3388
3389 Update copyright years.
3390
745e411d
DM
33912015-12-21 David Malcolm <dmalcolm@redhat.com>
3392
3393 * c-common.c (binary_op_error): Convert first param from
3394 location_t to rich_location * and use it when emitting an error.
3395 * c-common.h (binary_op_error): Convert first param from
3396 location_t to rich_location *.
3397
de67c4c3
DM
33982015-12-16 David Malcolm <dmalcolm@redhat.com>
3399
3400 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
3401 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
3402
4a38b02b
IV
34032015-12-15 Ilya Verbin <ilya.verbin@intel.com>
3404
3405 * c-common.c (c_common_attribute_table): Handle "omp declare target
3406 link" attribute.
3407
54d62f51
JJ
34082015-12-14 Jakub Jelinek <jakub@redhat.com>
3409
3410 PR c/68833
3411 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
3412
8d4227c8
TB
34132014-12-12 Tobias Burnus <burnus@net-b.de>
3414
3415 PR fortran/68815
3416 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
3417 specifiers (%d, %i,%u and %c).
3418
f6069ccc
DM
34192015-12-10 David Malcolm <dmalcolm@redhat.com>
3420
3421 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
3422
63bbf46d
JJ
34232015-12-08 Jakub Jelinek <jakub@redhat.com>
3424
3425 PR c/48088
3426 PR c/68657
3427 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
3428 * c-pragma.c (handle_pragma_diagnostic): Adjust
3429 control_warning_option caller.
3430
f79520bb
DM
34312015-12-07 David Malcolm <dmalcolm@redhat.com>
3432
3433 * c-common.c (c_cpp_error): Update for change to
3434 rich_location::set_range.
3435
b3d5bc62
JJ
34362015-12-04 Paolo Bonzini <bonzini@gnu.org>
3437
3438 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
3439 shifting 1 out of the sign bit.
3440
34412015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
3442
3443 * c-common.c (c_common_attribute_table[]): Update max arguments
3444 count for "simd" attribute.
3445 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
3446
6eb4a537
JJ
34472015-12-03 Jakub Jelinek <jakub@redhat.com>
3448
3449 PR preprocessor/57580
3450 * c-ppoutput.c (print): Change printed field to bool.
3451 Move src_file last for smaller padding.
3452 (init_pp_output): Set print.printed to false instead of 0.
3453 (scan_translation_unit): Fix up formatting. Set print.printed
3454 to true after printing something other than newline.
3455 (scan_translation_unit_trad): Set print.printed to true instead of 1.
3456 (maybe_print_line_1): Set print.printed to false instead of 0.
3457 (print_line_1): Likewise.
3458 (do_line_change): Set print.printed to true instead of 1.
3459 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
3460 dump_macro): Set print.printed to false after printing newline.
3461
4250754e
JM
34622015-12-02 Jason Merrill <jason@redhat.com>
3463
f479b43d
JM
3464 * c-common.c (fold_for_warn): New.
3465 (warn_logical_operator, warn_tautological_cmp)
3466 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
3467
4250754e
JM
3468 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
3469 (c_fully_fold_internal, decl_constant_value_for_optimization):
3470 Move to c/c-fold.c.
3471 * c-common.h: Don't declare decl_constant_value_for_optimization.
3472
e9e32ee6
JM
34732015-12-02 Joseph Myers <joseph@codesourcery.com>
3474
3475 PR c/68162
3476 * c-common.h (c_build_qualified_type): Add extra default
3477 arguments.
3478
37d5ad46
JB
34792015-12-01 Julian Brown <julian@codesourcery.com>
3480 Cesar Philippidis <cesar@codesourcery.com>
3481 James Norris <James_Norris@mentor.com>
3482
3483 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
3484 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
3485 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
3486
f07862c7
EB
34872015-11-30 Eric Botcazou <ebotcazou@adacore.com>
3488
3489 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
3490 (decl_sloc_common): Delete and move bulk of processing to...
3491 (decl_sloc): ...here.
3492 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
3493 (dump_ada_double_name): Remove S parameter and compute the suffix.
3494 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
3495 element type and deal with an anonymous one.
3496 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
3497 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
3498 and remove reference to QUAL_UNION_TYPE.
3499 (dump_nested_types): Make 2 passes on the fields and move bulk to...
3500 (dump_nested_type): ...here. New function extracted from above.
3501 Generate a full declaration for anonymous element type of arrays.
3502 (print_ada_declaration): Really skip anonymous declarations. Remove
3503 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
3504 Clean up processing of declarations of array types and objects.
3505 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
3506 Remove obsolete code and tidy up.
3507
75c8aac3
JH
35082015-11-29 Jan Hubicka <hubicka@ucw.cz>
3509
3510 PR c/67581
3511 * c-common.c (handle_transparent_union_attribute): Update
3512 also type variants.
3513
b58d3df2
ML
35142015-11-27 Martin Liska <mliska@suse.cz>
3515
3516 PR c++/68312
3517 * array-notation-common.c (cilkplus_extract_an_triplets):
3518 Release vector of vectors.
3519 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
3520
89a01fcf
EB
35212015-11-26 Eric Botcazou <ebotcazou@adacore.com>
3522
3523 PR c++/68527
3524 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
3525 (print_ada_struct_decl): Likewise.
3526
cc5c5226
IZ
35272015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
3528
3529 PR c++/68001
3530 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
3531 * cilk.c (recognize_spawn): Determine location in a more precise
3532 way.
3533
269adb9d
JM
35342015-11-19 Jason Merrill <jason@redhat.com>
3535
3536 * c-common.c (shorten_compare): But look through macros from
3537 system headers.
3538
d0eccfcd
JM
35392015-11-18 Jason Merrill <jason@redhat.com>
3540
3541 * c-common.c (shorten_compare): Don't -Wtype-limits if the
3542 non-constant operand comes from a macro.
3543
3e44547c
JM
35442015-11-17 Jason Merrill <jason@redhat.com>
3545
3546 PR bootstrap/68346
3547 * c-common.c (warn_tautological_cmp): Fold before checking for
3548 constants.
3549
0f62c7a0
MP
35502015-11-16 Marek Polacek <polacek@redhat.com>
3551
3552 PR c++/68362
3553 * c-common.c (check_case_bounds): Fold low and high cases.
3554
a868811e
MP
35552015-11-16 Marek Polacek <polacek@redhat.com>
3556
3557 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
3558 * c-common.c (c_common_get_alias_set): Likewise.
3559 (handle_visibility_attribute): Likewise.
3560
fff77217
KY
35612015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
3562
3563 * c-common.c (handle_simd_attribute): New.
3564 (struct attribute_spec): Add entry for "simd".
3565 (handle_simd_attribute): New.
3566
269e63b7
KT
35672015-11-13 Kai Tietz <ktietz70@googlemail.com>
3568
3569 * c-lex.c (interpret_float): Use fold_convert.
3570
ebedc9a3
DM
35712015-11-13 David Malcolm <dmalcolm@redhat.com>
3572
3573 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
3574 and store it on the result.
3575 * c-opts.c (c_common_init_options): Set
3576 global_dc->colorize_source_p.
3577
6e232ba4
JN
35782015-11-12 James Norris <jnorris@codesourcery.com>
3579 Joseph Myers <joseph@codesourcery.com>
3580
7365279f 3581 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
3582 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
3583 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
3584 PRAGMA_OACC_CLAUSE_LINK.
3585
e78bede6
MP
35862015-11-11 Marek Polacek <polacek@redhat.com>
3587
3588 PR c/68107
3589 PR c++/68266
3590 * c-common.c (valid_array_size_p): New function.
3591 * c-common.h (valid_array_size_p): Declare.
3592
3f8257db 35932015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
3594
3595 PR bootstrap/68271
3596 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
3597
69f293c9
AM
35982015-11-11 Andrew MacLeod <amacleod@redhat.com>
3599
3600 * array-notation-common.c: Remove unused header files.
3601 * c-ada-spec.c: Likewise.
3602 * c-cilkplus.c: Likewise.
3603 * c-common.c: Likewise.
3604 * c-cppbuiltin.c: Likewise.
3605 * c-dump.c: Likewise.
3606 * c-format.c: Likewise.
3607 * c-gimplify.c: Likewise.
3608 * c-indentation.c: Likewise.
3609 * c-lex.c: Likewise.
3610 * c-omp.c: Likewise.
3611 * c-opts.c: Likewise.
3612 * c-pch.c: Likewise.
3613 * c-ppoutput.c: Likewise.
3614 * c-pragma.c: Likewise.
3615 * c-pretty-print.c: Likewise.
3616 * c-semantics.c: Likewise.
3617 * c-ubsan.c: Likewise.
3618 * cilk.c: Likewise.
3619 * stub-objc.c: Likewise.
3620
3a40d81d
NS
36212015-11-09 Thomas Schwinge <thomas@codesourcery.com>
3622 Cesar Philippidis <cesar@codesourcery.com>
3623 James Norris <jnorris@codesourcery.com>
3624 Julian Brown <julian@codesourcery.com>
3625 Nathan Sidwell <nathan@codesourcery.com>
3626
3627 * c-pragma.c (oacc_pragmas): Add "routine".
3628 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
3629
ee45a32d
EB
36302015-11-08 Eric Botcazou <ebotcazou@adacore.com>
3631
3632 * c-common.c (c_common_attributes): Add scalar_storage_order.
3633 (handle_scalar_storage_order_attribute): New function.
3634 * c-pragma.c (global_sso): New variable.
3635 (maybe_apply_pragma_scalar_storage_order): New function.
3636 (handle_pragma_scalar_storage_order): Likewise.
3637 (init_pragma): Register scalar_storage_order.
3638 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
3639 * c.opt (Wscalar-storage-order): New warning.
3640 (fsso-struct=): New option.
3641
eb11eb15
MS
36422015-11-08 Martin Sebor <msebor@redhat.com>
3643
3644 * c.opt (Wplacement-new): Add a period to the end of a sentence.
3645
0aad0198
RS
36462015-11-07 Richard Sandiford <richard.sandiford@arm.com>
3647
3648 * c-common.c: Don't undef DEF_BUILTIN.
3649
8a645150
DM
36502015-11-06 David Malcolm <dmalcolm@redhat.com>
3651
3652 * c-common.c (c_cpp_error): Convert parameter from location_t to
3653 rich_location *. Eliminate the "column_override" parameter and
3654 the call to diagnostic_override_column.
3655 Update the "done_lexing" clause to set range 0
3656 on the rich_location, rather than overwriting a location_t.
3657 * c-common.h (c_cpp_error): Convert parameter from location_t to
3658 rich_location *. Eliminate the "column_override" parameter.
3659
7a5e4956
CP
36602015-11-05 Cesar Philippidis <cesar@codesourcery.com>
3661 Thomas Schwinge <thomas@codesourcery.com>
3662 James Norris <jnorris@codesourcery.com>
3663
3664 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
3665 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
3666 clauses with parallel and kernels and loops.
3667 * c-pragma.h (enum pragma_omp_clause): Add entries for
3668 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
3669 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
3670 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
3671 INDEPENDENT,SEQ}.
3672 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
3673
e2f5cc96
MS
36742015-11-05 Martin Sebor <msebor@redhat.com>
3675
3676 PR c++/67942
3677 * c.opt (-Wplacement-new): New option.
3678
e01d41e5
JJ
36792015-11-05 Jakub Jelinek <jakub@redhat.com>
3680
3681 * c-common.h (c_finish_omp_atomic): Add TEST argument.
3682 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
3683 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
3684 save_expr or create_tmp_var* if TEST is true.
3685 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
3686 Don't call add_stmt here.
3687 (struct c_omp_check_loop_iv_data): New type.
3688 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
3689 c_omp_check_loop_iv_exprs): New functions.
3690 (c_omp_split_clauses): Adjust for lastprivate being allowed on
3691 distribute.
3692 (c_omp_declare_simd_clauses_to_numbers): Change
3693 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
3694 (c_omp_declare_simd_clauses_to_decls): Similarly change those
3695 from numbers to PARM_DECLs.
3696
595278be
MM
36972015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
3698
3699 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
3700 flag_checking.
3701
3f8257db 37022015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
3703
3704 PR c++-common/67882
b3d5bc62
JJ
3705 * c-common.h (fold_offsetof_1): Add argument.
3706 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
3707 offsetof expressions that reference elements past the end of
3708 an array.
3709
4bf9e5a8
TS
37102015-11-03 Thomas Schwinge <thomas@codesourcery.com>
3711 Chung-Lin Tang <cltang@codesourcery.com>
3712
3713 * c-pragma.c (oacc_pragmas): Add "atomic".
3714 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
3715
3b1661a9
ES
37162015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
3717
3718 * c-common.c (handle_target_clones_attribute): New.
3719 (c_common_attribute_table): Add handle_target_clones_attribute.
3720 (handle_always_inline_attribute): Add check on target_clones attribute.
3721 (handle_target_attribute): Ditto.
3722
2adfab87
AM
37232015-10-29 Andrew MacLeod <amacleod@redhat.com>
3724
3725 * array-notation-common.c: Reorder #include's and remove duplicates.
3726 * c-ada-spec.c: Likewise.
3727 * c-cilkplus.c: Likewise.
3728 * c-common.c: Likewise.
3729 * c-cppbuiltin.c: Likewise.
3730 * c-dump.c: Likewise.
3731 * c-format.c: Likewise.
3732 * c-gimplify.c: Likewise.
3733 * c-indentation.c: Likewise.
3734 * c-lex.c: Likewise.
3735 * c-omp.c: Likewise.
3736 * c-opts.c: Likewise.
3737 * c-pch.c: Likewise.
3738 * c-ppoutput.c: Likewise.
3739 * c-pragma.c: Likewise.
3740 * c-pretty-print.c: Likewise.
3741 * c-semantics.c: Likewise.
3742 * c-ubsan.c: Likewise.
3743 * cilk.c: Likewise.
3744 * stub-objc.c: Likewise.
3745
d90ec4f2
JM
37462015-10-28 Jason Merrill <jason@redhat.com>
3747
3748 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
3749
88bae6f4
TS
37502015-10-27 Thomas Schwinge <thomas@codesourcery.com>
3751 James Norris <jnorris@codesourcery.com>
3752 Cesar Philippidis <cesar@codesourcery.com>
3753
3754 PR c/64765
3755 PR c/64880
3756 * c-common.h (c_oacc_split_loop_clauses): Declare function.
3757 * c-omp.c (c_oacc_split_loop_clauses): New function.
3758
b1726d6c
MS
37592015-10-21 Martin Sebor <msebor@redhat.com>
3760
3761 PR driver/68043
3762 * c.opt: End each sentence that describes an option with a period.
3763
fa60eeb9
MP
37642015-10-20 Marek Polacek <polacek@redhat.com>
3765
3766 * array-notation-common.c (is_cilkplus_vector_p): Define.
3767 * c-common.h (is_cilkplus_vector_p): Declare.
3768
95979049
MP
37692015-10-20 Marek Polacek <polacek@redhat.com>
3770
3771 * c.opt (std=gnu++11): Do not describe as experimental.
3772 (std=gnu++14): Likewise.
3773
2a9fb712
JM
37742015-10-19 Jason Merrill <jason@redhat.com>
3775
3776 * c-cppbuiltin.c (c_cpp_builtins): Define
3777 __cpp_nontype_template_args.
3778
13b380a3
JM
37792015-10-19 Jason Merrill <jason@redhat.com>
3780
3781 * c-cppbuiltin.c (c_cpp_builtins): Define
3782 __cpp_enumerator_attributes, __cpp_fold_expressions,
3783 __cpp_unicode_characters.
3784
d9a6bd32
JJ
37852015-10-13 Jakub Jelinek <jakub@redhat.com>
3786 Aldy Hernandez <aldyh@redhat.com>
3787
3788 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
3789 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
3790 (c_define_builtins): Likewise.
3791 * c-common.h (enum c_omp_clause_split): Add
3792 C_OMP_CLAUSE_SPLIT_TASKLOOP.
3793 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
3794 (c_finish_omp_for): Add ORIG_DECLV argument.
3795 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
3796 201511 instead of 201307.
3797 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
3798 OMP_CRITICAL_CLAUSES to it.
3799 (c_finish_omp_ordered): Add CLAUSES argument, set
3800 OMP_ORDERED_CLAUSES to it.
3801 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
3802 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
3803 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
3804 constructs and new OpenMP 4.5 clauses. Clear
3805 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
3806 verification code.
3807 * c-pragma.c (omp_pragmas_simd): Add taskloop.
3808 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
3809 (enum pragma_omp_clause): Add
3810 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
3811 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
3812
624d31fe
RS
38132015-10-05 Richard Sandiford <richard.sandiford@arm.com>
3814
3815 * c-lex.c (interpret_float): Use real_equal instead of
3816 REAL_VALUES_EQUAL.
3817
b8fd7909
JM
38182015-10-04 Jason Merrill <jason@redhat.com>
3819
3820 Implement N4514, C++ Extensions for Transactional Memory.
3821 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
3822 (c_common_attribute_table): Add transaction_safe_dynamic.
3823 transaction_safe now affects type identity.
3824 (handle_tm_attribute): Handle transaction_safe_dynamic.
3825 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
3826 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
3827 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
3828 (D_TRANSMEM): New.
3829 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
3830 * c-pretty-print.c (pp_c_attributes_display): Don't print
3831 transaction_safe in C++.
3832
12651878
MP
38332015-10-02 Marek Polacek <polacek@redhat.com>
3834
3835 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
3836
3e3b8d63
MP
38372015-10-02 Marek Polacek <polacek@redhat.com>
3838
3839 PR c/64249
3840 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
3841 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
3842 * c.opt (Wduplicated-cond): New option.
3843
0d1a8f75
JM
38442015-10-01 Joseph Myers <joseph@codesourcery.com>
3845
3846 * c.opt (std=c11): Do not describe as experimental.
3847 (std=gnu11): Likewise.
3848 (std=iso9899:2011): Likewise.
3849
3e32ee19
NS
38502015-09-28 Nathan Sidwell <nathan@codesourcery.com>
3851
3852 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
3853 (DEF_FUNCTION_TYPE_VAR_11): Delete.
3854
974348ee
MP
38552015-09-25 Marek Polacek <polacek@redhat.com>
3856
3857 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
3858 (ubsan_instrument_shift): Likewise.
3859
15dbc1a6
MP
38602015-09-25 Marek Polacek <polacek@redhat.com>
3861
3862 PR sanitizer/64906
3863 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
3864
6b95d7cc
PP
38652015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
3866
3867 * c-indentation.c (should_warn_for_misleading_indentation):
3868 Compare next_stmt_vis_column with guard_line_first_nws instead
3869 of with guard_line_vis_column.
3870
c1822f9c
MLI
38712015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
3872
3873 PR c/49654
3874 PR c/49655
3875 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
3876 options and options not valid for the current language.
3877
d5398058
PP
38782015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
3879
3880 * c-indentation.c (should_warn_for_misleading_indentation):
3881 Float out and consolidate the calls to get_visual_column that
3882 are passed guard_exploc as an argument. Compare
3883 next_stmt_vis_column with guard_line_first_nws instead of with
3884 body_line_first_nws.
3885
6b333269
NS
38862015-09-22 Nathan Sidwell <nathan@codesourcery.com>
3887
3888 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
3889 Wnamespaces): New C++ warnings.
3890
a75f1574
JM
38912015-09-22 Jason Merrill <jason@redhat.com>
3892
3893 * c-common.h (abi_compat_version_crosses): New.
3894 (warn_abi_version): Declare.
3895 * c-common.c: Define it.
3896 * c-opts.c (c_common_post_options): Handle it.
3897 flag_abi_compat_version defaults to 8.
3898
bdaaa8b7
VV
38992015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
3900
3901 Complete the implementation of N4230, Nested namespace definition.
3902 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
3903 __cpp_nested_namespace_definitions.
3904
eaa797e8
MLI
39052015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
3906
3907 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
3908
c4914de6
MLI
39092015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
3910
3911 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
3912 when warning.
3913 * c-pragma.h (pragma_lex): Add optional loc argument.
3914
fcb87c50
MM
39152015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
3916
3917 * c-format.c (check_format_arg): Adjust to use common block size in all
3918 object pools.
3919
31bdd08a
DM
39202015-09-15 David Malcolm <dmalcolm@redhat.com>
3921
3922 * c-format.c (location_from_offset): Update for change in
3923 signature of location_get_source_line.
3924 * c-indentation.c (get_visual_column): Likewise.
3925 (line_contains_hash_if): Likewise.
3926
aa9f4b4c
MP
39272015-09-14 Marek Polacek <polacek@redhat.com>
3928
3929 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
3930 setting various warnings.
3931
aa256c4a
MP
39322015-09-14 Marek Polacek <polacek@redhat.com>
3933
3934 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
3935 a negative value.
3936
0f876f22
MW
39372015-09-11 Mark Wielaard <mjw@redhat.com>
3938
3939 PR c/28901
3940 * c.opt (Wunused-variable): Option from common.opt.
3941 (Wunused-const-variable): New option.
3942
273aa49e
PC
39432015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
3944
3945 PR c++/53184
3946 * c.opt ([Wsubobject-linkage]): Add.
3947
1807ffc1
MS
39482015-09-03 Martin Sebor <msebor@redhat.com>
3949
3950 PR c/66516
3951 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
3952 functions.
3953 * c-common.c (reject_gcc_builtin): Define.
3954
38942840
BI
39552015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
3956
3957 PR middle-end/60586
3958 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
3959 prototype.
3960 * c-gimplify.c (c_gimplify_expr): Added a call to the function
3961 cilk_gimplify_call_params_in_spawned_fn.
3962 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
3963 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
3964 unwrapping.
3965
c316b5e4
MP
39662015-08-25 Marek Polacek <polacek@redhat.com>
3967
3968 PR middle-end/67330
3969 * c-common.c (handle_weak_attribute): Don't check whether the
3970 visibility can be changed here.
3971
584a7c46
MLI
39722015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3973
3974 * c-lex.c (c_lex_with_flags): Use explicit locations.
3975
a79683d5
TS
39762015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
3977
3978 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
3979 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
3980
61717a45
FXC
39812015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3982
3983 PR middle-end/36757
3984 * c-common.c (check_builtin_function_arguments): Add check
3985 for BUILT_IN_SIGNBIT argument.
3986
329524f5
PC
39872015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
3988
3989 PR c++/67160
3990 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
3991 in c++1z mode.
3992
4ee55665
MP
39932015-08-17 Marek Polacek <polacek@redhat.com>
3994
3995 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
3996 with whitespaces before qualifier names.
3997
b893e375
MP
39982015-08-12 Marek Polacek <polacek@redhat.com>
3999
4000 PR c++/55095
4001 * c-common.c (maybe_warn_shift_overflow): Properly handle
4002 left-shifting 1 into the sign bit.
4003
c2d89095
MLI
40042015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4005
4006 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
4007
971e17ff
AS
40082015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
4009 Braden Obrzut <admin@maniacsvault.net>
4010 Jason Merrill <jason@redhat.com>
4011
4012 Add C++ Concepts TS support.
4013 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
4014 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
4015 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
4016 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
4017 * c-opts.c (set_std_cxx1z): Set flag_concepts.
4018 * c.opt (fconcepts): New.
4019
b3d5bc62
JJ
40202015-08-02 Martin Sebor <msebor@redhat.com>
4021
4022 * c.opt (-Wframe-address): New warning option.
4023
8ebca419
PP
40242015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4025
4026 * c-indentation.c (should_warn_for_misleading_indentation):
4027 Improve heuristics.
4028
1a1e101f
PP
40292015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4030
4031 * c-indentation.c (get_visual_column): Add parameter first_nws,
4032 use it. Update comment documenting the function.
4033 (is_first_nonwhitespace_on_line): Remove.
4034 (should_warn_for_misleading_indentation): Replace usage of
4035 of is_first_nonwhitespace_on_line with get_visual_column.
4036
992118a1
PP
40372015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4038
4039 * c-indentation.h (struct token_indent_info): Define.
4040 (get_token_indent_info): Define.
4041 (warn_for_misleading_information): Declare.
4042 * c-common.h (warn_for_misleading_information): Remove.
4043 * c-identation.c (warn_for_misleading_indentation):
4044 Change declaration to take three token_indent_infos. Adjust
4045 accordingly.
4046 * c-identation.c (should_warn_for_misleading_indentation):
4047 Likewise. Bail out early if the body is a compound statement.
4048 (guard_tinfo_to_string): Define.
4049
e8fa3817
JM
40502015-07-30 Jason Merrill <jason@redhat.com>
4051
4052 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
4053 '*' for reference decay.
4054
173864e8
MP
40552015-07-30 Marek Polacek <polacek@redhat.com>
4056
4057 * c-common.c (warn_tautological_cmp): Bail for float types.
4058
f2afe6dd
MP
40592015-07-27 Marek Polacek <polacek@redhat.com>
4060
4061 PR bootstrap/67030
4062 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
4063
05b28fd6
MP
40642015-07-27 Marek Polacek <polacek@redhat.com>
4065
4066 PR c++/66555
4067 PR c/54979
4068 * c-common.c (find_array_ref_with_const_idx_r): New function.
4069 (warn_tautological_cmp): New function.
4070 * c-common.h (warn_tautological_cmp): Declare.
4071 * c.opt (Wtautological-compare): New option.
4072
5a5062b8
MP
40732015-07-23 Marek Polacek <polacek@redhat.com>
4074
4075 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
4076 (ubsan_instrument_shift): Likewise.
4077
dc891fe7
MP
40782015-07-23 Marek Polacek <polacek@redhat.com>
4079
4080 PR sanitizer/66908
4081 * c-ubsan.c: Include gimplify.h.
4082 (ubsan_instrument_division): Unshare OP0 and OP1.
4083 (ubsan_instrument_shift): Likewise.
4084
451b5e48
MP
40852015-07-20 Marek Polacek <polacek@redhat.com>
4086 Richard Sandiford <richard.sandiford@arm.com>
4087
4088 PR c++/55095
4089 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
4090 Use EXPR_LOC_OR_LOC.
4091 (maybe_warn_shift_overflow): New function.
4092 * c-common.h (maybe_warn_shift_overflow): Declare.
4093 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
4094 * c.opt (Wshift-overflow): New option.
4095
fb0b2914
ML
40962015-07-16 Martin Liska <mliska@suse.cz>
4097
4098 * c-format.c (static void check_format_info_main): Use
4099 object_allocator instead of pool_allocator.
4100 (check_format_arg): Likewise.
4101 (check_format_info_main): Likewise.
4102
903f5c23
AM
41032015-07-15 Andrew MacLeod <amacleod@redhat.com>
4104
4105 * c-opts.c: Remove multiline #include comment.
4106
026c3cfd
AH
41072015-07-12 Aldy Hernandez <aldyh@redhat.com>
4108
4109 * c-common.c: Fix double word typos.
4110
bb49ee66
EB
41112015-07-10 Eric Botcazou <ebotcazou@adacore.com>
4112
4113 * c-ada-spec.h (cpp_operation): Revert latest change.
4114 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
4115 constructors and destructors.
4116
1916bcb5
AM
41172015-07-09 Andrew MacLeod <amacleod@redhat.com>
4118
4119 * c-common.h: Adjust includes for flags.h changes.
4120 * stub-objc.c: Likewise.
026c3cfd 4121
a9dcd529
EB
41222015-07-08 Eric Botcazou <ebotcazou@adacore.com>
4123
4124 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
4125 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
4126
b03b462f
JJ
41272015-07-08 Jakub Jelinek <jakub@redhat.com>
4128
4129 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
4130 are to be removed, return NULL rather than original clauses list.
4131
c7131fb2
AM
41322015-07-07 Andrew MacLeod <amacleod@redhat.com>
4133
4134 * array-notation-common.c: Adjust includes.
4135 * c-ada-spec.c: Likewise.
4136 * c-cilkplus.c: Likewise.
4137 * c-common.h: Likewise.
4138 * c-cppbuiltin.c: Likewise.
4139 * c-dump.c: Likewise.
4140 * c-format.c: Likewise.
4141 * c-gimplify.c: Likewise.
4142 * c-indentation.c: Likewise.
4143 * c-lex.c: Likewise.
4144 * c-omp.c: Likewise.
4145 * c-opts.c: Likewise.
4146 * c-pch.c: Likewise.
4147 * c-ppoutput.c: Likewise.
4148 * c-pragma.c: Likewise.
4149 * c-pretty-print.c: Likewise.
4150 * c-semantics.c: Likewise.
4151 * c-ubsan.c: Likewise.
4152 * cilk.c: Likewise.
4153 * stub-objc.c: Likewise.
4154
2a7fb83f
EB
41552015-07-07 Eric Botcazou <ebotcazou@adacore.com>
4156
4157 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
4158 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
4159
a03c9bf1
JM
41602015-07-01 Jason Merrill <jason@redhat.com>
4161
36a85135
JM
4162 * c-common.h (D_CXX11): Rename from D_CXX0X.
4163 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
4164 * c-common.c: Adjust.
4165
e7fa68d5
JM
4166 * c-opts.c (c_common_post_options): Default to C++14.
4167
a03c9bf1
JM
4168 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
4169
fe95b036
ESR
41702015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
4171
4172 Implement N4197 - Adding u8 character literals
b3d5bc62 4173 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 4174 CPP_CHAR.
b3d5bc62 4175 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 4176 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 4177 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
4178 and CPP_UTF8CHAR tokens.
4179 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 4180
da2e71c9
MLI
41812015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4182
4183 PR fortran/66605
4184 * c-common.c (do_warn_unused_parameter): Move here.
4185 * c-common.h (do_warn_unused_parameter): Declare.
4186
b155cfd9
MP
41872015-06-29 Marek Polacek <polacek@redhat.com>
4188
4189 PR c/66322
4190 * c-common.c (check_case_bounds): Add bool * parameter. Set
4191 OUTSIDE_RANGE_P.
4192 (c_add_case_label): Add bool * parameter. Pass it down to
4193 check_case_bounds.
4194 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
4195 warning here.
4196 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
4197 declarations.
4198
31521951
MP
41992015-06-27 Marek Polacek <polacek@redhat.com>
4200
4201 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
4202 or VECTOR_INTEGER_TYPE_P throughout.
4203 * c-gimplify.c: Likewise.
4204
22d03525
MP
42052015-06-26 Marek Polacek <polacek@redhat.com>
4206
4207 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
4208 * c-common.c (c_fully_fold_internal): Likewise.
4209 (c_alignof_expr): Likewise.
4210 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
4211 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 4212 * cilk.c (create_parm_list): Likewise.
22d03525 4213
af05e6e5
MP
42142015-06-26 Marek Polacek <polacek@redhat.com>
4215
4216 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
4217
f0889939
AM
42182015-06-25 Andrew MacLeod <amacleod@redhat.com>
4219
4220 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
4221 * c-gimplify.c: Likewise.
4222 * c-pragma.c: Likewise.
4223 * c-ubsan.c: Likewise.
4224 * cilk.c: Likewise.
4225
ca752f39
RS
42262015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4227
4228 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
4229 ggc_hasher.
4230
16a16ec7
AM
42312015-06-25 Andrew MacLeod <amacleod@redhat.com>
4232
4233 * cilk.c: Move calls.h after tm.h in the include chain.
4234
0ae9bd27
MP
42352015-06-25 Marek Polacek <polacek@redhat.com>
4236
4237 * array-notation-common.c: Use VAR_P throughout.
4238 * c-ada-spec.c: Likewise.
4239 * c-common.c: Likewise.
4240 * c-format.c: Likewise.
4241 * c-gimplify.c: Likewise.
4242 * c-omp.c: Likewise.
4243 * c-pragma.c: Likewise.
4244 * c-pretty-print.c: Likewise.
4245 * cilk.c: Likewise.
4246
62f9079a
MP
42472015-06-25 Marek Polacek <polacek@redhat.com>
4248
4249 * cilk.c (extract_free_variables): Use is_global_var.
4250
0fa16060
RS
42512015-06-23 Richard Sandiford <richard.sandiford@arm.com>
4252
4253 * c-common.c: Don't include target-def.h.
4254
a68ae2e1
MP
42552015-06-23 Marek Polacek <polacek@redhat.com>
4256
4257 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
4258 when comparing INTEGER_CSTs.
4259
c6a2f2d9
PMR
42602015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
4261
4262 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
4263 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
4264 (dump_ada_template): Skip partially specialized types.
4265
6b4db501
MM
42662015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
4267
4268 * c-common.c (scalar_to_vector): Use std::swap instead of manually
4269 swapping.
4270
abb226c9
AM
42712015-06-17 Andrew MacLeod <amacleod@redhat.com>
4272
4273 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
4274 * c-ada-spec.c: Likewise.
4275 * c-cilkplus.c: Likewise.
4276 * c-common.c: Likewise.
4277 * c-common.h: Likewise.
4278 * c-cppbuiltin.c: Likewise.
4279 * c-dump.c: Likewise.
4280 * c-format.c: Likewise.
4281 * c-gimplify.c: Likewise.
4282 * c-indentation.c: Likewise.
4283 * c-lex.c: Likewise.
4284 * c-omp.c: Likewise.
4285 * c-opts.c: Likewise.
4286 * c-pch.c: Likewise.
4287 * c-ppoutput.c: Likewise.
4288 * c-pragma.c: Likewise.
4289 * c-pretty-print.c: Likewise.
4290 * c-semantics.c: Likewise.
4291 * c-ubsan.c: Likewise.
4292 * cilk.c: Likewise.
4293 * stub-objc.c: Likewise.
4294
076fecad
PP
42952015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
4296
4297 PR c++/65168
4298 * c-common.c (c_common_truthvalue_conversion): Warn when
4299 converting an address of a reference to a truth value.
4300
13fdf2e2
AM
43012015-06-08 Andrew MacLeod <amacleod@redhat.com>
4302
4303 * array-notation-common.c : Adjust include files.
4304 * c-ada-spec.c : Likewise.
4305 * c-cilkplus.c : Likewise.
4306 * c-common.c : Likewise.
4307 * c-common.h : Likewise.
4308 * c-cppbuiltin.c : Likewise.
4309 * c-dump.c : Likewise.
4310 * c-format.c : Likewise.
4311 * c-gimplify.c : Likewise.
4312 * c-indentation.c : Likewise.
4313 * c-lex.c : Likewise.
4314 * c-omp.c : Likewise.
4315 * c-opts.c : Likewise.
4316 * c-pch.c : Likewise.
4317 * c-ppoutput.c : Likewise.
4318 * c-pragma.c : Likewise.
4319 * c-pretty-print.c : Likewise.
4320 * c-semantics.c : Likewise.
4321 * c-ubsan.c : Likewise.
4322 * cilk.c : Likewise.
4323 * stub-objc.c : Likewise.
4324
a1661b90
MP
43252015-06-08 Marek Polacek <polacek@redhat.com>
4326
4327 PR c/66415
4328 * c-format.c (location_from_offset): Return LOC if LINE is null.
4329
d7438551
AH
43302015-06-05 Aldy Hernandez <aldyh@redhat.com>
4331
4332 * c-common.h (c_parse_final_cleanups): New prototype.
4333 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
4334
b3d5bc62
JJ
43352015-06-04 Sriraman Tallam <tmsriram@google.com>
4336
4337 * c-common.c (noplt): New attribute.
4338 (handle_noplt_attribute): New handler.
4339
ecb9f223
AM
43402015-06-04 Andrew MacLeod <amacleod@redhat.com>
4341
4342 * array-notation-common.c: Adjust includes for restructured coretypes.h.
4343 * c-ada-spec.c: Likewise.
4344 * c-cilkplus.c: Likewise.
4345 * c-common.c: Likewise.
4346 * c-common.h: Likewise.
4347 * c-cppbuiltin.c: Likewise.
4348 * c-dump.c: Likewise.
4349 * c-format.c: Likewise.
4350 * c-gimplify.c: Likewise.
4351 * c-indentation.c: Likewise.
4352 * c-lex.c: Likewise.
4353 * c-omp.c: Likewise.
4354 * c-opts.c: Likewise.
4355 * c-pch.c: Likewise.
4356 * c-ppoutput.c: Likewise.
4357 * c-pragma.c: Likewise.
4358 * c-pretty-print.c: Likewise.
4359 * c-semantics.c: Likewise.
4360 * c-ubsan.c: Likewise.
4361 * cilk.c: Likewise.
4362 * stub-objc.c: Likewise.
4363
6ac48155
DM
43642015-06-02 David Malcolm <dmalcolm@redhat.com>
4365
4366 PR c/66220:
4367 * c-indentation.c (should_warn_for_misleading_indentation): Use
4368 expand_location rather than expand_location_to_spelling_point.
4369 Don't warn if the guarding statement is more indented than the
4370 next/body stmts.
4371
773ce42e
DM
43722015-06-02 David Malcolm <dmalcolm@redhat.com>
4373
4374 * c-indentation.c (warn_for_misleading_indentation): Bail out
4375 immediately if -Wmisleading-indentation isn't enabled.
4376
4fef8379
ML
43772015-06-01 Martin Liska <mliska@suse.cz>
4378
4379 * c-format.c (check_format_arg):Use new type-based pool allocator.
4380 (check_format_info_main) Likewise.
4381
1edfb384
EB
43822015-05-31 Eric Botcazou <ebotcazou@adacore.com>
4383
4384 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
4385 (has_nontrivial_methods): Likewise.
4386
9677ef52
MP
43872015-05-25 Marek Polacek <polacek@redhat.com>
4388
4389 * c-ubsan.c (ubsan_instrument_shift): Use type0.
4390
fd5c817a
MP
43912015-05-22 Marek Polacek <polacek@redhat.com>
4392
4393 PR c/47043
4394 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
4395
a2f45fe6 43962015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
4397
4398 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
4399 STACK_GROWS_DOWNWARD.
4400
a2f45fe6 44012015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
4402
4403 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
4404 STACK_GROWS_DOWNWARD rather than if it is defined.
4405
0fee2ac2 44062015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 4407
0fee2ac2
MLI
4408 PR c/52952
4409 * c-format.c (location_column_from_byte_offset): New.
4410 (location_from_offset): New.
4411 (struct format_wanted_type): Add offset_loc field.
4412 (check_format_info): Move handling of location for extra arguments
4413 closer to the point of warning.
4414 (check_format_info_main): Pass the result of location_from_offset
4415 to warning_at.
4416 (format_type_warning): Pass the result of location_from_offset
4417 to warning_at.
4418
cf4ef6f7
MP
44192015-05-20 Marek Polacek <polacek@redhat.com>
4420
4421 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
4422
3a65ee74
MP
44232015-05-20 Marek Polacek <polacek@redhat.com>
4424
4425 * c-ada-spec.c (dump_sloc): Use DECL_P.
4426
21b634ae
MP
44272015-05-20 Marek Polacek <polacek@redhat.com>
4428
4429 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
4430 * c-common.c: Likewise.
4431
0e50b624
DM
44322015-05-19 David Malcolm <dmalcolm@redhat.com>
4433
4434 * c-common.h (fe_file_change): Strengthen param from
4435 const line_map * to const line_map_ordinary *.
4436 (pp_file_change): Likewise.
4437 * c-lex.c (fe_file_change): Likewise.
4438 (cb_define): Use linemap_check_ordinary when invoking
4439 SOURCE_LINE.
4440 (cb_undef): Likewise.
4441 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
4442 invoking cb_file_change.
4443 (c_finish_options): Likewise.
4444 (push_command_line_include): Likewise.
4445 (cb_file_change): Strengthen param "new_map" from
4446 const line_map * to const line_map_ordinary *.
4447 * c-ppoutput.c (cb_define): Likewise for local "map".
4448 (pp_file_change): Likewise for param "map" and local "from".
4449
fab27f52
MM
44502015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
4451
4452 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
4453
2fe1d762
TV
44542015-05-18 Tom de Vries <tom@codesourcery.com>
4455
4456 * c-common.c (build_va_arg_1): New function.
4457 (build_va_arg): Add address operator to va_list operand if necessary.
4458
7a37fa90
MM
44592015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
4460
4461 PR c/48956
4462 * c-common.c (int_safely_convertible_to_real_p): Define.
4463 (unsafe_conversion_p): Check conversions involving complex types.
4464 (conversion_warning): Add new warning message for conversions which
4465 discard imaginary component.
4466 * c-common.h: (enum conversion_safety): Add new enumerator for such
4467 conversions.
4468
3aa3c9fc
MP
44692015-05-14 Marek Polacek <polacek@redhat.com>
4470
4471 PR c/66066
4472 PR c/66127
4473 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
4474 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
4475 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
4476 use it. If FOR_INT_CONST, require that all evaluated operands be
4477 INTEGER_CSTs.
4478
c3388e62
DM
44792015-05-12 David Malcolm <dmalcolm@redhat.com>
4480
4481 * c-common.h (warn_for_misleading_indentation): New prototype.
4482 * c-indentation.c: New file.
4483 * c.opt (Wmisleading-indentation): New option.
4484
c7b38fd5
TV
44852015-05-12 Tom de Vries <tom@codesourcery.com>
4486
4487 PR tree-optimization/66010
4488 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
4489
381bf11e
JM
44902015-05-09 Jason Merrill <jason@redhat.com>
4491
edff0c06
JM
4492 * c-opts.c (c_common_post_options): Also clear
4493 cpp_opts->cpp_warn_cxx11_compat.
4494
129211bc
JM
4495 * c-common.h (enum cxx_dialect): Add cxx_unset.
4496 * c-common.c (cxx_dialect): Initialize to cxx_unset.
4497 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
4498
381bf11e
JM
4499 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
4500 (std=gnu++0x): Mark as Undocumented.
4501 (std=gnu++1y): Add deprecated message.
4502
fe191308
JM
45032015-05-08 Jason Merrill <jason@redhat.com>
4504
765189ff
JM
4505 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
4506 * c-opts.c: Adjust.
4507
fe191308
JM
4508 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
4509
755e528f
MP
45102015-05-08 Marek Polacek <polacek@redhat.com>
4511
4512 PR c/64918
4513 * c.opt (Woverride-init-side-effects): New option.
4514
0173bd2a
MP
45152015-05-07 Marek Polacek <polacek@redhat.com>
4516
4517 PR c/65179
4518 * c-common.c (c_fully_fold_internal): Warn when left shifting a
4519 negative value.
4520 * c.opt (Wshift-negative-value): New option.
4521 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
4522 when -Wextra and C99/C++11 mode.
4523
e0f0d3b9
MP
45242015-05-07 Marek Polacek <polacek@redhat.com>
4525 Martin Uecker <uecker@eecs.berkeley.edu>
4526
4527 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
4528 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
4529
8243e2a9
JM
45302015-05-05 Jason Merrill <jason@redhat.com>
4531
4532 * c.opt (Wterminate): New.
4533
577cd070
MP
45342015-04-30 Marek Polacek <polacek@redhat.com>
4535
4536 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
4537 require that the non-constant be of a boolean type.
4538
0373796b
JT
45392015-04-29 Josh Triplett <josh@joshtriplett.org>
4540
e0f0d3b9
MP
4541 * c-common.c (handle_section_attribute): Refactor to reduce
4542 nesting and distinguish between error cases.
0373796b 4543
716c0ba6
MP
45442015-04-29 Marek Polacek <polacek@redhat.com>
4545
4546 PR c/64610
4547 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
4548 with 0/1.
4549
8848828b
JJ
45502015-04-29 Jakub Jelinek <jakub@redhat.com>
4551
4552 * c-common.h (omp_clause_mask): Unconditionally define as a class.
4553 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
4554 HOST_BITS_PER_WIDE_INT.
4555
ecd0e562
TV
45562015-04-28 Tom de Vries <tom@codesourcery.com>
4557
4558 PR tree-optimization/65887
4559 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
4560
2a877204 45612015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 4562 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
4563
4564 * c-ada-spec.c (in_function): Delete.
4565 (dump_generic_ada_node): Do not change in_function and remove the
4566 redundant code dealing with it.
4567 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
4568 (print_ada_methods): Output the static member functions in a nested
4569 package after the regular methods as well as associated renamings.
4570
4853031e
MP
45712015-04-24 Marek Polacek <polacek@redhat.com>
4572
4573 PR c/65830
4574 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
4575 and OPT_Wshift_count_overflow.
4576
8c2b7f79
MP
4577 PR c/63357
4578 * c-common.c (warn_logical_operator): Warn if the operands have the
4579 same expressions.
4580
b8787813
MP
45812015-04-24 Marek Polacek <polacek@redhat.com>
4582
4583 PR c/61534
4584 * c-common.c (warn_logical_operator): Bail if either operand comes
4585 from a macro expansion.
4586
8fba1830
BRF
45872015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
4588
4589 PR target/55143
4590 * c-common.c (c_default_pointer_mode): Add definition.
4591 * c-common.h (c_default_pointer_mode): Add declaration.
4592
17958621
JJ
45932015-03-11 Jakub Jelinek <jakub@redhat.com>
4594
4595 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
4596 on record_builtin_type argument.
4597
7ccb1a11
JJ
45982015-03-10 Jakub Jelinek <jakub@redhat.com>
4599
4600 PR c/65120
4601 * c-common.c (warn_logical_not_parentheses): Don't warn for
4602 !x == 0 or !x != 0.
4603
04fd785e
MP
46042015-03-07 Marek Polacek <polacek@redhat.com>
4605
4606 PR sanitizer/65280
4607 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
4608 before trying to figure out whether we have a flexible array member.
4609
a4e26206 46102015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 4611 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
4612
4613 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
4614
0d2489f4
EB
46152015-03-05 Eric Botcazou <ebotcazou@adacore.com>
4616
4617 PR ada/65319
4618 * c-ada-spec.c (print_destructor): Remove obsolete code.
4619
83ed54d7
EB
46202015-03-01 Eric Botcazou <ebotcazou@adacore.com>
4621
4622 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
4623 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
4624 DECL_TEMPLATE_RESULT emulations.
4625 (dump_ada_template)): Add guard for TYPE_METHODS.
4626
7631f0e2
MP
46272015-02-27 Marek Polacek <polacek@redhat.com>
4628
4629 PR c/65040
4630 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
4631
d1783ae5
KT
46322015-02-27 Kai Tietz <ktietz@redhat.com>
4633
4634 PR c/35330
4635 * c-pragma.c (handle_pragma_weak): Do not try to create
4636 weak/alias of declarations not being function, or variable
4637 declarations.
4638
56a9f6bc
TS
46392015-02-24 Thomas Schwinge <thomas@codesourcery.com>
4640
4641 PR libgomp/64625
4642 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
4643 Remove macros.
4644 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
4645
3d5cb23d
MP
46462015-02-16 Marek Polacek <polacek@redhat.com>
4647
4648 PR c/65066
4649 * c-format.c (check_format_types): Handle null param.
4650
fa008882
MP
46512015-02-13 Marek Polacek <polacek@redhat.com>
4652
4653 PR c/65040
4654 * c-format.c (check_format_types): Don't warn about different
4655 signedness if the original value is in the range of WANTED_TYPE.
4656
785f21af
JM
46572015-02-12 Jason Merrill <jason@redhat.com>
4658
4659 PR c++/64956
4660 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
4661 to the current highest version.
4662 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
4663
4886ec8e
JJ
46642015-02-04 Jakub Jelinek <jakub@redhat.com>
4665
4666 PR c/64824
4667 PR c/64868
4668 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
4669 instead of RDIV_EXPR. Use build_binary_op instead of
4670 build2_loc.
4671
40fecdd6
JM
46722015-01-30 Joseph Myers <joseph@codesourcery.com>
4673
4674 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
4675 to pass input_location as first argument.
4676
a0c88d06
TV
46772015-01-23 Tom de Vries <tom@codesourcery.com>
4678
4679 PR libgomp/64672
4680 * c.opt (fopenacc): Mark as LTO option.
4681
1506ae0e
TV
46822015-01-23 Tom de Vries <tom@codesourcery.com>
4683
4684 PR libgomp/64707
4685 * c.opt (fopenmp): Mark as LTO option.
4686
31be63ab
JJ
46872015-01-21 Jakub Jelinek <jakub@redhat.com>
4688
4689 PR c/63307
b1726d6c 4690 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
4691 (compare_decls): Fix up formatting.
4692
46932015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
4694
4695 PR c/63307
4696 * cilk.c: Include vec.h.
4697 (struct cilk_decls): New structure.
4698 (wrapper_parm_cb): Split this function to...
4699 (fill_decls_vec): ...this...
4700 (create_parm_list): ...and this.
4701 (compare_decls): New function.
4702 (for_local_cb): Remove.
4703 (wrapper_local_cb): Ditto.
4704 (build_wrapper_type): For now first traverse and fill vector of
4705 declarations then sort it and then deal with sorted vector.
4706 (cilk_outline): Ditto.
4707 (declare_one_free_variable): Ditto.
4708
6875457f
JM
47092015-01-21 Jason Merrill <jason@redhat.com>
4710
4711 PR c++/64629
4712 * c-format.c (check_format_arg): Call decl_constant_value.
4713
185c9e56
ML
47142015-01-19 Martin Liska <mliska@suse.cz>
4715
4716 * c-common.c (handle_noicf_attribute): New function.
4717
41dbbb37
TS
47182015-01-15 Thomas Schwinge <thomas@codesourcery.com>
4719 Bernd Schmidt <bernds@codesourcery.com>
4720 James Norris <jnorris@codesourcery.com>
4721 Cesar Philippidis <cesar@codesourcery.com>
4722 Ilmir Usmanov <i.usmanov@samsung.com>
4723 Jakub Jelinek <jakub@redhat.com>
4724
4725 * c.opt (fopenacc): New option.
4726 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
4727 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
4728 New macros.
4729 * c-common.h (c_finish_oacc_wait): New prototype.
4730 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
4731 (c_finish_oacc_wait): New function.
4732 * c-pragma.c (oacc_pragmas): New variable.
4733 (c_pp_lookup_pragma, init_pragma): Handle it.
4734 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
4735 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
4736 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
4737 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
4738 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
4739 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
4740 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
4741 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
4742 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
4743 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
4744 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
4745 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
4746 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
4747 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
4748 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
4749 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
4750 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
4751 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
4752 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
4753 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
4754 PRAGMA_OACC_CLAUSE_WORKER.
4755
3f8257db 47562015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
4757
4758 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
4759 for the new option fstack-protector_explicit.
4760 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
4761 (handle_stack_protect_attribute): New function.
4762
3f8257db 47632015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
4764
4765 * c.opt: New option -Warray-bounds=.
4766
adfac8df
JJ
47672015-01-09 Michael Collison <michael.collison@linaro.org>
4768
4769 * array-notation-common.c: Include hash-set.h, machmode.h,
4770 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4771 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
4772 * c-ada-spec.c: Ditto.
4773 * c-cilkplus.c: Ditto.
4774 * c-common.c: Include input.h due to flattening of tree.h.
4775 Define macro GCC_C_COMMON_C.
4776 * c-common.h: Flatten tree.h header files into c-common.h.
4777 Remove include of tree-core.h.
4778 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
4779 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4780 fold-const.h, wide-int.h, and inchash.h due to
4781 flattening of tree.h.
4782 * c-dump.c: Ditto.
4783 * c-format.c: Flatten tree.h header files into c-common.h.
4784 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
4785 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4786 fold-const.h, wide-int.h, and inchash.h due to
4787 flattening of tree.h.
4788 * c-dump.c: Include hash-set.h, machmode.h,
4789 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4790 fold-const.h, wide-int.h, and inchash.h due to
4791 flattening of tree.h.
4792 * c-format.c: Include hash-set.h, machmode.h,
4793 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4794 fold-const.h, wide-int.h, inchash.h and real.h due to
4795 flattening of tree.h.
4796 * c-gimplify.c: Include hash-set.h, machmode.h,
4797 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4798 fold-const.h, wide-int.h, and inchash.h due to
4799 flattening of tree.h.
4800 * cilk.c: Ditto.
4801 * c-lex.c: Ditto.
4802 * c-omp.c: Ditto.
4803 * c-opts.c: Ditto.
4804 * c-pch.c: Ditto.
4805 * c-ppoutput.c: Ditto.
4806 * c-pragma.c: Ditto.
4807 * c-pretty-print.c: Ditto.
4808 * c-semantics.c: Ditto.
4809 * c-ubsan.c: Ditto.
4810 * stub-objc.c: Ditto.
4811
f5481fc4
JM
48122015-01-08 Jason Merrill <jason@redhat.com>
4813
4814 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
4815 do_ubsan_in_current_function.
4816 (ubsan_maybe_instrument_reference_or_call): Likewise.
4817 * c-ubsan.h: Declare it.
4818
de35aa66
MS
48192015-01-08 Mike Stump <mikestump@comcast.net>
4820
4821 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
4822
4a9a42ab
MP
48232015-01-07 Marek Polacek <polacek@redhat.com>
4824
4825 PR c/64440
4826 * c-common.c (c_fully_fold_internal): Warn for division and modulo
4827 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
4828
2f42e5de
TS
48292015-01-05 Trevor Saunders <tsaunders@mozilla.com>
4830
4831 PR c++/31397
4832 * c.opt (Wsuggest-override): New option.
4833
5624e564
JJ
48342015-01-05 Jakub Jelinek <jakub@redhat.com>
4835
4836 Update copyright years.
4837
5bd012f8
MP
48382015-01-05 Marek Polacek <polacek@redhat.com>
4839
4840 PR c/64423
4841 * c-common.c (warn_array_subscript_with_type_char): Add location_t
4842 parameter. Use it.
4843 * c-common.h (warn_array_subscript_with_type_char): Update
4844 declaration.
4845
a7fa8d18
ESR
48462014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
4847
4848 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
4849 Control macro with flag_sized_deallocation.
4850
3f8257db 48512014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
4852
4853 * c.opt (Wdiscarded-array-qualifiers): New option.
4854
1f8d3e84
JJ
48552014-12-19 Jakub Jelinek <jakub@redhat.com>
4856
4857 PR preprocessor/63831
4858 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
4859 and __has_cpp_attribute here.
4860 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
4861 c_common_has_attribute.
4862 * c-common.h (c_common_has_attribute): New prototype.
4863 * c-lex.c (init_c_lex): Set cb->has_attribute to
4864 c_common_has_attribute instead of cb_has_attribute.
4865 (get_token_no_padding): New function.
4866 (cb_has_attribute): Renamed to ...
4867 (c_common_has_attribute): ... this. No longer static. Use
4868 get_token_no_padding, require ()s, don't build TREE_LIST
4869 unnecessarily, fix up formatting, adjust diagnostics, call
4870 init_attributes.
4871
20b06add
JM
48722014-12-15 Jason Merrill <jason@redhat.com>
4873
4874 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
4875 (-Wsized-deallocation): New.
4876 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
4877 to on in C++14 and up.
4878
94a073b2
JM
48792014-12-11 Jason Merrill <jason@redhat.com>
4880
acaa5911
JM
4881 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
4882
94a073b2
JM
4883 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
4884 we aren't complaining about VLAs.
4885
7fb66c15
MP
48862014-12-06 Marek Polacek <polacek@redhat.com>
4887
4888 PR tree-optimization/64183
4889 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
4890 shift-expression if it is integer_type_node. Use types_compatible_p.
4891
b731b390
JJ
48922014-11-29 Jakub Jelinek <jakub@redhat.com>
4893
4894 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
4895 last argument from create_tmp_var_raw and create_tmp_var calls.
4896 * cilk.c (gimplify_cilk_spawn): Likewise.
4897 * c-omp.c (c_finish_omp_atomic): Likewise.
4898
6a4da643
MP
48992014-11-28 Marek Polacek <polacek@redhat.com>
4900
4901 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
4902 instead of unsigned_type_node.
4903
541e35a6
MP
49042014-11-28 Marek Polacek <polacek@redhat.com>
4905
4906 PR c/63862
4907 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
4908 to op1_utype.
4909 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
4910 expression to unsigned_type_node.
4911
dcc97066
MW
49122014-11-20 Mark Wielaard <mjw@redhat.com>
4913
4914 PR debug/38757
4915 * c-opts.c (set_std_c89): Set lang_hooks.name.
4916 (set_std_c99): Likewise.
4917 (set_std_c11): Likewise.
4918 (set_std_cxx98): Likewise.
4919 (set_std_cxx11): Likewise.
4920 (set_std_cxx14): Likewise.
4921 (set_std_cxx1z): Likewise.
4922
aa7da51a
JJ
49232014-11-21 Jakub Jelinek <jakub@redhat.com>
4924
4925 PR target/63764
4926 * c-common.h (convert_vector_to_pointer_for_subscript): Change
4927 return type to bool.
009a3480 4928 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
4929 (convert_vector_to_pointer_for_subscript): Change return type to
4930 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
4931 and copy it into a TARGET_EXPR and use that instead of *vecp
4932 directly.
4933
538dd0b7
DM
49342014-11-19 David Malcolm <dmalcolm@redhat.com>
4935
4936 Merger of git branch "gimple-classes-v2-option-3".
4937 * ChangeLog.gimple-classes: New.
4938 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
4939 from being just a vec<gimple> to a vec<gbind *>.
4940
c39a5e99
JJ
49412014-11-18 Jakub Jelinek <jakub@redhat.com>
4942
4943 PR sanitizer/63813
4944 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
4945 argument to ptype, set type to TREE_TYPE (ptype). Don't call
4946 get_pointer_alignment for non-pointers. Use ptype, or if it is
4947 reference type, corresponding pointer type, as type of kind
4948 argument.
4949 (ubsan_maybe_instrument_reference,
4950 ubsan_maybe_instrument_member_call): Adjust callers.
4951
8537a4a9
MP
49522014-11-15 Marek Polacek <polacek@redhat.com>
4953
4954 PR middle-end/63884
4955 * array-notation-common.c (is_sec_implicit_index_fn): Return false
4956 for NULL fndecl.
4957 (extract_array_notation_exprs): Return for NULL node.
4958
2079956a
JM
49592014-11-12 Joseph Myers <joseph@codesourcery.com>
4960
4961 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
4962 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
4963
1304953e
JJ
49642014-11-12 Jakub Jelinek <jakub@redhat.com>
4965
4966 PR c/59708
4967 * c-common.c (check_builtin_function_arguments): Handle
4968 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
4969
e5e44252
AK
49702014-11-10 Andi Kleen <ak@linux.intel.com>
4971
4972 PR c/60804
4973 * c-common.h (check_no_cilk): Declare.
4974 * cilk.c (get_error_location): New function.
4975 (check_no_cilk): Dito.
4976
e64b984d
AK
49772014-11-10 Andi Kleen <ak@linux.intel.com>
4978
4979 * cilk.c (recognize_spawn): Use expression location
4980 for error message.
4981
13c21655
PC
49822014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
4983
4984 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
4985
42fd12b1
ESR
49862014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
4987
4988 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
4989 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
4990 (__cpp_range_based_for, __cpp_initializer_lists,
4991 __cpp_delegating_constructors, __cpp_nsdmi,
4992 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
4993 for C++11; (__cpp_attribute_deprecated): Remove in favor of
4994 __has_cpp_attribute.
4995 * c-lex.c (cb_has_attribute): New callback CPP function;
4996 (init_c_lex): Set has_attribute callback.
4997
6f450181
RB
49982014-11-04 Richard Biener <rguenther@suse.de>
4999
5000 * c-common.c (shorten_compare): Do not shorten mixed
5001 DFP and non-DFP compares.
5002
26f0e1d6
ESR
50032014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
5004
5005 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
5006 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
5007 Commentary and rearrangement of tests.
5008 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
5009 Commentary and rearrangement of tests.
5010 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
5011 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
5012
ef4bddc2
RS
50132014-10-29 Richard Sandiford <richard.sandiford@arm.com>
5014
5015 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
5016 enum from machine_mode.
5017
c582198b
AM
50182014-10-28 Andrew MacLeod <amacleod@redhat.com>
5019
adfac8df
JJ
5020 * c-common.c: Adjust include files.
5021 * c-gimplify.c: Ditto.
5022 * cilk.c: Ditto.
5023 * c-pragma.c: Ditto.
5024 * c-ubsan.c: Ditto.
c582198b 5025
60393bbc
AM
50262014-10-27 Andrew MacLeod <amacleod@redhat.com>
5027
5028 * c-gimplify.c: Adjust include files.
5029
d723bb7c
MLI
50302014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
5031
5032 PR c++/53061
5033 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
5034 c_common_initialize_diagnostics.
5035 * c-common.h: Likewise.
5036
90f3520e
MP
50372014-10-24 Marek Polacek <polacek@redhat.com>
5038
5039 PR c/56980
5040 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
5041 print "struct"/"union"/"enum" for typedefed names.
5042
59d7607a
MP
50432014-10-23 Marek Polacek <polacek@redhat.com>
5044
5045 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
5046 in unsigned type.
5047
d95a2703
JJ
50482014-10-22 Jakub Jelinek <jakub@redhat.com>
5049 Yury Gribov <y.gribov@samsung.com>
5050
5051 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5052 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
5053 instead of flag_sanitize_recover as bool flag.
5054
8e6ef852
KY
50552014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
5056
5057 * cilk.c: Revert previous change.
5058
948cf550
IZ
50592014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
5060
5061 PR c/63307
5062 * cilk.c: Include vec.h.
5063 (struct cilk_decls): New structure.
5064 (wrapper_parm_cb): Split this function to...
5065 (fill_decls_vec): ...this...
5066 (create_parm_list): ...and this.
5067 (compare_decls): New function.
5068 (for_local_cb): Remove.
5069 (wrapper_local_cb): Ditto.
5070 (build_wrapper_type): For now first traverse and fill vector of
5071 declarations then sort it and then deal with sorted vector.
5072 (cilk_outline): Ditto.
5073 (declare_one_free_variable): Ditto.
5074
92574c7c
MP
50752014-10-17 Marek Polacek <polacek@redhat.com>
5076
5077 * c-opts.c (c_common_post_options): Set warn_implicit_int.
5078 * c.opt (Wimplicit-int): Initialize to -1.
5079
83685514
AM
50802014-10-16 Andrew MacLeod <amacleod@redhat.com>
5081
5082 * c-pragma.c: Adjust include files.
5083 * c-semantics.c: Likewise.
5084
5b8300ea
DD
50852014-10-16 DJ Delorie <dj@redhat.com>
5086
5087 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
5088 multiples of bytes.
5089
5f83e90b
JM
50902014-10-14 Jason Merrill <jason@redhat.com>
5091
5092 PR c++/63455
5093 * c-common.h (CPP_PREPARSED_EXPR): New.
5094 (N_CP_TTYPES): Adjust.
5095
d73326ca
MP
50962014-10-15 Marek Polacek <polacek@redhat.com>
5097
5098 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
5099
78a7c317
DD
51002014-10-14 DJ Delorie <dj@redhat.com>
5101
5102 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
5103 types, not just __int128.
5104 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
5105 types, not just __int128.
5106 (cpp_atomic_builtins): Round pointer sizes up.
5107 (type_suffix): Use type precision, not specific types.
5108 * c-common.c (c_common_reswords): Remove __int128 special case.
5109 (c_common_type_for_size): Check for all __intN types, not just
5110 __int128.
5111 (c_common_type_for_mode): Likewise.
5112 (c_common_signed_or_unsigned_type): Likewise.
5113 (c_build_bitfield_integer_type): Likewise.
5114 (c_common_nodes_and_builtins): Likewise.
5115 (keyword_begins_type_specifier): Likewise.
5116 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
5117 __intN variants.
5118
2a22f99c
TS
51192014-10-12 Trevor Saunders <tsaunders@mozilla.com>
5120
5121 * c-common.c: Use hash_table instead of hashtab.
5122
2a8ef767
ESR
51232014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
5124
adfac8df 5125 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
5126 C++11 section.
5127
3c9aabbd
MG
51282014-10-03 Marc Glisse <marc.glisse@inria.fr>
5129
5130 PR c++/54427
5131 PR c++/57198
5132 PR c++/58845
5133 * c-common.c (warn_logical_operator): Punt for vectors.
5134
a15f7cb8
ESR
51352014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
5136
5137 Implement SD-6: SG10 Feature Test Recommendations
5138 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
5139 macros and the __has_header macro.
5140
8d0cf15e
JM
51412014-09-30 Jason Merrill <jason@redhat.com>
5142
dd5d5481
JM
5143 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
5144 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
5145 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5146
b752325e
JM
5147 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
5148 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5149
8d0cf15e
JM
5150 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
5151 * c-common.c (c_common_reswords): Remove __is_convertible_to.
5152
083e891e
MP
51532014-09-24 Marek Polacek <polacek@redhat.com>
5154
5155 PR c/61405
5156 PR c/53874
5157 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
5158
7861b648
AK
51592014-09-23 Andi Kleen <ak@linux.intel.com>
5160
5161 * c-common.c (handle_no_reorder_attribute): New function.
5162 (c_common_attribute_table): Add no_reorder attribute.
5163
9a79452d
JM
51642014-09-22 Joseph Myers <joseph@codesourcery.com>
5165
5166 * c-cppbuiltin.c (c_cpp_builtins): Define
5167 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
5168 modes.
5169
dd69f047
JM
51702014-09-18 Joseph Myers <joseph@codesourcery.com>
5171
5172 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
5173 for supported floating-point modes.
5174
737a4826
MLI
51752014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5176
5177 * c.opt (Wpsabi): Use LangEnabledBy.
5178 * c-opts.c (c_common_handle_option): Do not handle here.
5179
8cc4b7a2
JM
51802014-09-12 Joseph Myers <joseph@codesourcery.com>
5181
5182 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
5183 macros for floating-point modes.
5184
179b5a55
MG
51852014-09-11 Marc Glisse <marc.glisse@inria.fr>
5186
5187 PR target/58757
5188 * c-cppbuiltin.c (builtin_define_float_constants): Correct
5189 __*_DENORM_MIN__ without denormals.
5190
570a11fe
JJ
51912014-09-10 Jakub Jelinek <jakub@redhat.com>
5192
5193 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5194 ubsan_instrument_vla, ubsan_instrument_return): Adjust
5195 ubsan_create_data callers.
5196 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
5197 index is constant or BIT_AND_EXPR with constant mask and is
5198 small enough for the bound.
5199 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
5200 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
5201
b559c810
MLI
52022014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5203
5204 * c.opt: Add CppReason to various flags.
5205 (Wdate-time): Re-sort.
5206 * c-common.c: Include c-common.h earlier.
5207 (struct reason_option_codes_t): Delete.
5208 (c_option_controlling_cpp_error): Prefix global type and struct
5209 with cpp_.
5210
1ef33fd4
MLI
52112014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5212
5213 * c.opt (Wnormalized): New.
5214 (Wnormalized=): Use Enum and Reject Negative.
5215 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
5216
66bb34c0
JM
52172014-09-08 Joseph Myers <joseph@codesourcery.com>
5218
5219 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
5220 digits of floating-point modes if -fbuilding-libgcc.
5221
53d68b9f
JM
52222014-09-05 Joseph Myers <joseph@codesourcery.com>
5223
5224 * c-cppbuiltin.c (c_cpp_builtins): Also define
5225 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
5226 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
5227 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
5228 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
5229 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
5230 __LIBGCC_STACK_GROWS_DOWNWARD__,
5231 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
5232 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
5233 __LIBGCC_DWARF_FRAME_REGISTERS__,
5234 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
5235 __LIBGCC_STACK_POINTER_REGNUM__ and
5236 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
5237 (builtin_define_with_value): Handle backslash-escaping in string
5238 macro values.
5239
f65586dc
RB
52402014-09-05 Richard Biener <rguenther@suse.de>
5241
5242 PR middle-end/63148
5243 * c-format.c (check_format_arg): Properly handle
5244 effectively signed POINTER_PLUS_EXPR offset.
5245
2b71f4a4
MLI
52462014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5247
5248 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
5249 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
5250 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
5251 and Init.
5252 * c-opts.c (c_common_handle_option): Do not handle here.
5253 (sanitize_cpp_opts): Likewise.
5254 * c-common.c (struct reason_option_codes_t): Handle
5255 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
5256
d2e4feca
MP
52572014-09-03 Marek Polacek <polacek@redhat.com>
5258
5259 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
5260
9a771876
JJ
52612014-09-02 Jakub Jelinek <jakub@redhat.com>
5262 Balaji V. Iyer <balaji.v.iyer@intel.com>
5263 Igor Zamyatin <igor.zamyatin@intel.com>
5264
5265 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
5266 * c-common.c (c_common_reswords): Added _Cilk_for.
5267 * c-common.h (enum rid): Added RID_CILK_FOR.
5268 (cilk_for_number_of_iterations): Add declaration.
5269 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
5270 CILK_FOR.
5271 * c-pragma.c (init_pragma): Register "grainsize" pragma.
5272 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
5273
81b5d104
MLI
52742014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5275
5276 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
5277 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
5278 Wundef): Use CPP, Var and Init.
5279 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
5280
b753b37b
MLI
52812014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5282
5283 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
5284 * c-opts.c (c_common_handle_option): Do not handle here.
5285
028aee17
JM
52862014-08-25 Jason Merrill <jason@redhat.com>
5287
5288 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
5289 -std=c++14 and -std=gnu++14, rather than the reverse.
5290 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
5291 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
5292 * c-common.h (cxx_dialect): Remove cxx1y.
5293
e4276ba5
ESR
52942014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
5295
5296 * c-common.h (enum cxx_dialect): Add cxx14.
5297 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
5298 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
5299 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
5300
a545cacd
JM
53012014-08-22 Jason Merrill <jason@redhat.com>
5302
5303 * c.opt (std=gnu++17): Fix alias.
5304
59ea0364
MP
53052014-08-22 Marek Polacek <polacek@redhat.com>
5306
5307 PR c++/62199
5308 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
5309 check for vector types. Drop LHS argument.
5310 * c-common.h (warn_logical_not_parentheses): Adjust.
5311
596e808c
MLI
53122014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5313
5314 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
5315 (Wmultichar): Likewise.
5316 (Wdate-time): Use C-family languages instead of Common. Use CPP
5317 and Var.
5318 * c-opts.c (c_common_handle_option): Do not handle the above
5319 options here.
5320 (sanitize_cpp_opts): Likewise.
5321
18767f65
MLI
53222014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
5323
5324 PR fortran/44054
5325 * c-opts.c: Include tree-diagnostics.h.
5326 (c_diagnostic_finalizer): New.
5327 (c_common_initialize_diagnostics): Use it.
5328
b4413594
MLI
53292014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5330
5331 PR preprocessor/51303
5332 * c-common.c (struct reason_option_codes_t option_codes):
5333 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
5334
43f9a13c
MLI
53352014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5336
5337 PR c/60975
5338 PR c/53063
5339 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
5340 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
5341 (c_common_post_options): Call init_global_opts_from_cpp.
5342 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
5343
04159acf
MP
53442014-08-19 Marek Polacek <polacek@redhat.com>
5345
5346 PR c++/62153
5347 * c-common.c (maybe_warn_bool_compare): New function.
5348 * c-common.h (maybe_warn_bool_compare): Declare.
5349 * c.opt (Wbool-compare): New option.
5350
35aff4fb
MP
53512014-08-19 Marek Polacek <polacek@redhat.com>
5352
5353 * c.opt (Wc99-c11-compat): New option.
5354
177cce46
MP
53552014-08-19 Marek Polacek <polacek@redhat.com>
5356
5357 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
5358 to warn_c90_c99_compat.
5359 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
5360 to -1.
5361
6ae9194f
MLI
53622014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
5363 Steven Bosscher <steven@gcc.gnu.org>
5364
5365 PR c/52952
5366 * c-format.c: Add extra_arg_loc and format_string_loc to struct
5367 format_check_results.
5368 (check_function_format): Use true and add comment for boolean
5369 argument.
5370 (finish_dollar_format_checking): Use explicit location when warning.
5371 (check_format_info): Likewise.
5372 (check_format_arg): Set extra_arg_loc and format_string_loc.
5373 (check_format_info_main): Use explicit location when warning.
5374 (check_format_types): Pass explicit location.
5375 (format_type_warning): Likewise.
5376
8e54f6d3
MLI
53772014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5378
5379 PR fortran/44054
5380 * c-format.c: Handle Fortran flags.
5381
cd4e76fc
IZ
53822014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
5383
5384 PR other/61962
5385 * array-notation-common.c (find_rank): Added handling for other
5386 types of references.
5387
f3bede71
MP
53882014-08-10 Marek Polacek <polacek@redhat.com>
5389
5390 PR c/51849
5391 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
5392 * c.opt (Wc90-c99-compat): Add option.
5393
9f25a338
TS
53942014-08-07 Trevor Saunders <tsaunders@mozilla.com>
5395
5396 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
5397
62e4eb35
MP
53982014-08-03 Marek Polacek <polacek@redhat.com>
5399
5400 * c-common.c (check_case_value): Add location_t parameter. Use it.
5401 (c_add_case_label): Pass loc to check_case_value.
5402
b787e7a2
TS
54032014-08-02 Trevor Saunders <tsaunders@mozilla.com>
5404
5405 * cilk.c: Use hash_map instead of pointer_map.
5406
6e2830c3
TS
54072014-08-02 Trevor Saunders <tsaunders@mozilla.com>
5408
5409 * c-gimplify.c: Use hash_set instead of pointer_set.
5410
a7ee52fb
IZ
54112014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
5412
5413 PR middle-end/61455
5414 * array-notation-common.c (extract_array_notation_exprs): Handling
5415 of DECL_EXPR added.
5416
944fa280
JJ
54172014-08-01 Jakub Jelinek <jakub@redhat.com>
5418
5419 * c-common.h (min_align_of_type): Removed prototype.
5420 * c-common.c (min_align_of_type): Removed.
5421 * c-ubsan.h (ubsan_maybe_instrument_reference,
5422 ubsan_maybe_instrument_member_call): New prototypes.
5423 * c-ubsan.c: Include stor-layout.h and builtins.h.
5424 (ubsan_maybe_instrument_reference_or_call,
5425 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
5426 functions.
5427
b4dfdc11
MG
54282014-07-31 Marc Glisse <marc.glisse@inria.fr>
5429
5430 PR c++/60517
5431 * c.opt (-Wreturn-local-addr): Move to common.opt.
5432
a41844e5
JM
54332014-07-30 Jason Merrill <jason@redhat.com>
5434
5435 PR c++/61659
5436 PR c++/61687
5437 Revert:
5438 * c.opt (-fuse-all-virtuals): New.
5439
976d5a22
TT
54402014-07-30 Tom Tromey <tromey@redhat.com>
5441
5442 PR c/59855
5443 * c.opt (Wdesignated-init): New option.
5444 * c-common.c (c_common_attribute_table): Add "designated_init".
5445 (handle_designated_init): New function.
5446
cdc94aca
MP
54472014-07-24 Marek Polacek <polacek@redhat.com>
5448
5449 PR c/57653
5450 * c-opts.c (c_finish_options): If -imacros is in effect, return.
5451
f41373b6
DS
54522014-07-16 Dodji Seketeli <dodji@redhat.com>
5453
5454 PR preprocessor/60723 - missing system-ness marks for macro tokens
5455 * c-ppoutput.c (struct print::prev_was_system_token): New data
5456 member.
5457 (init_pp_output): Initialize it.
5458 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
5459 (do_line_change): Return a flag saying if a line marker was
5460 emitted or not.
5461 (scan_translation_unit): Detect if the system-ness of the token we
5462 are about to emit is different from the one of the previously
5463 emitted token. If so, emit a line marker. Avoid emitting useless
5464 adjacent line markers. Avoid emitting line markers for tokens
5465 originating from the expansion of built-in macros.
5466 (scan_translation_unit_directives_only): Adjust.
5467
4d661eaa
MP
54682014-07-15 Marek Polacek <polacek@redhat.com>
5469
5470 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
5471 TYPE_MAX_VALUE is NULL.
5472
b108f48f
JJ
54732014-07-14 Jakub Jelinek <jakub@redhat.com>
5474
5475 PR middle-end/61294
5476 * c.opt (Wmemset-transposed-args): New warning.
5477
c0221884
JM
54782014-07-10 Jason Merrill <jason@redhat.com>
5479
5480 PR c++/61659
5481 PR c++/61687
5482 * c.opt (-fuse-all-virtuals): New.
5483
63dfbb95
RB
54842014-07-09 Richard Biener <rguenther@suse.de>
5485
5486 PR c-family/61741
5487 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5488 using unsigned arithmetic if overflow does not wrap instead of
5489 if overflow is undefined.
5490
773ec47f
MP
54912014-07-06 Marek Polacek <polacek@redhat.com>
5492
5493 PR c/6940
5494 * c.opt (Wsizeof-array-argument): New option.
5495
00a7ba58
JJ
54962014-07-03 Jakub Jelinek <jakub@redhat.com>
5497
b1726d6c 5498 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
5499 comments->count <= 1, as comments->entries might be NULL.
5500
52ec0ea3
MP
55012014-07-01 Marek Polacek <polacek@redhat.com>
5502
5503 * c.opt (Wint-conversion): New option.
5504
d5c3d343
MP
55052014-07-01 Marek Polacek <polacek@redhat.com>
5506
5507 PR c/58286
5508 * c.opt (Wincompatible-pointer-types): New option.
5509
6e7ceb17
PC
55102014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
5511
5512 PR c++/51400
5513 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
5514 Do not discard TYPE_QUALS of type.
5515
da73100b
JM
55162014-06-26 Jason Merrill <jason@redhat.com>
5517
5518 * c-common.h (enum cxx_dialect): Add cxx1z.
5519 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
5520 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
5521
08eedf75
TJ
55222014-06-26 Teresa Johnson <tejohnson@google.com>
5523
5524 * c-common.h (get_dump_info): Declare.
5525 * c-gimplify.c (c_genericize): Use saved dump files.
5526 * c-opts.c (c_common_parse_file): Begin and end dumps
5527 once around parsing invocation.
5528 (get_dump_info): New function.
5529
7b56b2f8
MP
55302014-06-23 Marek Polacek <polacek@redhat.com>
5531 Andrew MacLeod <amacleod@redhat.com>
5532
5533 PR c/61553
5534 * c-common.c (get_atomic_generic_size): Don't segfault if the
5535 type doesn't have a size.
5536
0e37a2f3
MP
55372014-06-20 Marek Polacek <polacek@redhat.com>
5538
5539 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
5540 (ubsan_walk_array_refs_r): New function.
5541 (c_genericize): Instrument array bounds.
5542 * c-ubsan.c: Include "internal-fn.h".
5543 (ubsan_instrument_division): Mark instrumented arrays as having
5544 side effects. Adjust ubsan_type_descriptor call.
5545 (ubsan_instrument_shift): Likewise.
5546 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
5547 (ubsan_instrument_bounds): New function.
5548 (ubsan_array_ref_instrumented_p): New function.
5549 (ubsan_maybe_instrument_array_ref): New function.
5550 * c-ubsan.h (ubsan_instrument_bounds): Declare.
5551 (ubsan_array_ref_instrumented_p): Declare.
5552 (ubsan_maybe_instrument_array_ref): Declare.
5553
55542014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
5555
5556 PR lto/61123
5557 * c.opt (fshort-enums): Add to LTO.
5558 * c.opt (fshort-wchar): Likewise.
5559
5c3d09f7
MP
55602014-06-16 Marek Polacek <polacek@redhat.com>
5561
5562 PR c/60439
5563 * c.opt (Wswitch-bool): Add Var.
5564
9cf32741
JJ
55652014-06-12 Jakub Jelinek <jakub@redhat.com>
5566
5567 PR middle-end/61486
5568 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
5569 #pragma omp target teams or
5570 #pragma omp {,target }teams distribute simd.
5571
62984918
JM
55722014-06-12 Jason Merrill <jason@redhat.com>
5573
5574 * c.opt (Wabi=, fabi-compat-version): New.
5575 * c-opts.c (c_common_handle_option): Handle -Wabi=.
5576 (c_common_post_options): Handle flag_abi_compat_version default.
5577 Disallow -fabi-compat-version=1.
5578 * c-common.h (abi_version_crosses): New.
5579
f961457f
JH
55802014-06-11 Jan Hubicka <hubicka@ucw.cz>
5581
adfac8df 5582 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
5583 section names that are no longer trees.
5584
92d28cbb
JJ
55852014-06-10 Jakub Jelinek <jakub@redhat.com>
5586
5587 PR fortran/60928
5588 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
5589 (omp_pragmas): ... back here.
5590
742938c9
MP
55912014-06-05 Marek Polacek <polacek@redhat.com>
5592
5593 PR c/49706
5594 * c-common.c (warn_logical_not_parentheses): New function.
5595 * c-common.h (warn_logical_not_parentheses): Declare.
5596 * c.opt (Wlogical-not-parentheses): New option.
5597
9d548dfb
MP
55982014-06-04 Marek Polacek <polacek@redhat.com>
5599
5600 PR c/30020
5601 * c-common.c (check_case_bounds): Add location parameter.
5602 Use it.
5603 (c_add_case_label): Pass loc to check_case_bounds.
5604
fedfecef
MP
56052014-06-03 Marek Polacek <polacek@redhat.com>
5606
5607 PR c/60439
5608 * c.opt (Wswitch-bool): New option.
5609
f6a7cffc
TS
56102014-05-22 Thomas Schwinge <thomas@codesourcery.com>
5611
040d18b6
TS
5612 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
5613 Remove prototypes.
5614 (record_types_used_by_current_var_decl): Move prototype to where
5615 it belongs.
5616
f6a7cffc
TS
5617 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
5618 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
5619 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
5620
632f2871
RS
56212014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
5622
5623 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
5624 * c-common.c (c_common_nodes_and_builtins): Don't initialize
5625 void_zero_node.
5626 * c-pretty-print.c (pp_c_void_constant): New function.
5627 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
5628 (c_pretty_printer::expression): Handle VOID_CST.
5629 * cilk.c (extract_free_variables): Likewise.
5630 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
5631 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
5632
766090c2
TS
56332014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5634
5635 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
5636 * c-pragma.c (push_alignment): Adjust.
5637 (handle_pragma_push_options): Likewise.
5638
661a0813
MP
56392014-05-09 Marek Polacek <polacek@redhat.com>
5640
5641 PR c/50459
5642 * c-common.c (check_user_alignment): Return -1 if alignment is error
5643 node.
5644 (handle_aligned_attribute): Don't call default_conversion on
5645 FUNCTION_DECLs.
5646 (handle_vector_size_attribute): Likewise.
5647 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
5648 (handle_sentinel_attribute): Call default_conversion and allow even
5649 integral types as an argument.
5650
2793eeab
MP
56512014-05-08 Marek Polacek <polacek@redhat.com>
5652
5653 PR c/61053
5654 * c-common.c (min_align_of_type): New function factored out from...
5655 (c_sizeof_or_alignof_type): ...here.
5656 * c-common.h (min_align_of_type): Declare.
5657
f827930a
MP
56582014-05-08 Marek Polacek <polacek@redhat.com>
5659
5660 PR c/61077
5661 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
5662 parameter type of main.
5663
ca49b74e
DD
56642014-05-07 DJ Delorie <dj@redhat.com>
5665
5666 * c-cppbuiltin.c (print_bits_of_hex): New.
5667 (builtin_define_type_minmax): Print values using hex so as not to
5668 require a pre-computed list of string values.
5669
1d60af08
KZ
56702014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
5671 Mike Stump <mikestump@comcast.net>
5672 Richard Sandiford <rdsandiford@googlemail.com>
5673
5674 * c-ada-spec.c: Include wide-int.h.
5675 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
5676 (dump_generic_ada_node): Use wide-int interfaces.
5677 * c-common.c: Include wide-int-print.h.
5678 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
5679 (pointer_int_sum): Use wide-int interfaces.
5680 (c_common_nodes_and_builtins): Use make_int_cst.
5681 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
5682 (handle_alloc_size_attribute): Use wide-int interfaces.
5683 (get_nonnull_operand): Likewise.
5684 * c-format.c (get_constant): Use tree_fits_uhwi_p.
5685 * c-lex.c: Include wide-int.h.
5686 (narrowest_unsigned_type): Take a widest_int rather than two
5687 HOST_WIDE_INTs.
5688 (narrowest_signed_type): Likewise.
5689 (interpret_integer): Update accordingly. Use wide-int interfaces.
5690 (lex_charconst): Use wide-int interfaces.
5691 * c-pretty-print.c: Include wide-int.h.
5692 (pp_c_integer_constant): Use wide-int interfaces.
5693 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
5694 INT_CST_LT_UNSIGNED.
5695
b15458be
RB
56962014-05-06 Richard Biener <rguenther@suse.de>
5697
5698 * c-opts.c (c_common_post_options): For -freestanding,
5699 -fno-hosted and -fno-builtin disable pattern recognition
5700 if not enabled explicitely.
5701
6577374e
MP
57022014-05-02 Marek Polacek <polacek@redhat.com>
5703
5704 * c.opt (Wsizeof-pointer-memaccess): Describe option.
5705
d00887e8
MP
57062014-05-01 Marek Polacek <polacek@redhat.com>
5707
5708 PR c/43245
5709 * c.opt (Wdiscarded-qualifiers): Add.
5710
f8ed5150
MP
57112014-04-30 Marek Polacek <polacek@redhat.com>
5712
5713 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
5714 INT_MIN / -1 sanitization only for integer types.
5715
45484dcf
MP
57162014-04-25 Marek Polacek <polacek@redhat.com>
5717
5718 PR c/18079
5719 * c-common.c (handle_noinline_attribute): Warn if the attribute
5720 conflicts with always_inline attribute.
5721 (handle_always_inline_attribute): Warn if the attribute conflicts
5722 with noinline attribute.
5723
38e514c0
MP
57242014-04-25 Marek Polacek <polacek@redhat.com>
5725
5726 PR c/60156
5727 * c-common.c (check_main_parameter_types): Warn about variadic main.
5728
44875f92
MS
57292014-04-24 Mike Stump <mikestump@comcast.net>
5730
5731 * c.opt (Wshadow-ivar): Default to on.
5732
dcaaa5a0
DP
57332014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
5734
5735 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
5736
c07d7c02
MP
57372014-04-23 Marek Polacek <polacek@redhat.com>
5738
5739 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
5740
1c33c9b7
JJ
57412014-04-22 Jakub Jelinek <jakub@redhat.com>
5742
5743 PR sanitizer/60275
5744 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
5745 if flag_sanitize_undefined_trap_on_error.
5746 (ubsan_instrument_division, ubsan_instrument_shift,
5747 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
5748 if !flag_sanitize_recover.
5749
793c625f
MG
57502014-04-22 Marc Glisse <marc.glisse@inria.fr>
5751
5752 PR libstdc++/43622
5753 * c-common.c (registered_builtin_types): Make non-static.
5754 * c-common.h (registered_builtin_types): Declare.
5755
b0f1bf36
RB
57562014-04-14 Richard Biener <rguenther@suse.de>
5757 Marc Glisse <marc.glisse@inria.fr>
5758
5759 PR c/60819
5760 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
5761 apply may-alias the scalar pointer type when applicable.
5762
3b07fa4a
IZ
57632014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
5764
5765 PR middle-end/60467
5766 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
5767 as possible argument for Cilk_spawn.
5768
cbbd2b1c
TB
57692014-04-11 Tobias Burnus <burnus@net-b.de>
5770
5771 PR c/60194
5772 * c.opt (Wformat-signedness): Add
5773 * c-format.c(check_format_types): Use it.
5774
6415bd5d
JM
57752014-04-11 Jason Merrill <jason@redhat.com>
5776
5777 PR c++/57926
5778 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
5779 default_conversion for an array argument.
5780
6525783a
MP
57812014-04-08 Marek Polacek <polacek@redhat.com>
5782
5783 PR sanitizer/60745
5784 * c-ubsan.c: Include asan.h.
5785 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
5786
880a467b
NS
57872014-04-03 Nathan Sidwell <nathan@codesourcery.com>
5788
5789 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
5790
7b59ff2d
MP
57912014-04-02 Marek Polacek <polacek@redhat.com>
5792
5793 * c-common.h (c_expand_expr): Remove declaration.
5794
8edbfaa6
JJ
57952014-03-28 Jakub Jelinek <jakub@redhat.com>
5796
5797 PR c++/60689
5798 * c-common.c (add_atomic_size_parameter): When creating new
5799 params vector, push the size argument first.
5800
07d72e1d
JJ
58012014-03-26 Jakub Jelinek <jakub@redhat.com>
5802
5803 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5804 ubsan_instrument_vla, ubsan_instrument_return): Adjust
5805 ubsan_create_data callers.
5806
b35e0fa0
JJ
58072014-03-22 Jakub Jelinek <jakub@redhat.com>
5808
5809 PR debug/60603
5810 * c-opts.c (c_finish_options): Restore cb_file_change call to
5811 <built-in>.
5812
39a1ebb3
JJ
58132014-03-13 Jakub Jelinek <jakub@redhat.com>
5814
5815 PR middle-end/36282
5816 * c-pragma.c (apply_pragma_weak): Only look at
5817 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
5818 DECL_ASSEMBLER_NAME_SET_P (decl).
5819 (maybe_apply_pending_pragma_weaks): Exit early if
5820 vec_safe_is_empty (pending_weaks) rather than only when
5821 !pending_weaks.
5822 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
5823 set assembler name back to NULL afterwards.
5824
a07f6ed2
JM
58252014-03-11 Jason Merrill <jason@redhat.com>
5826
5827 * c.opt: Add -std=gnu++14.
5828
75b107f5
IB
58292014-03-11 Ian Bolton <ian.bolton@arm.com>
5830
5831 * c-opts.c (c_common_post_options): Don't override
5832 -ffp-contract=fast if unsafe-math-optimizations is on.
5833
f42c637e
PM
58342014-03-08 Paulo Matos <paulo@matos-sorge.com>
5835
22b15758 5836 * c.opt: Enable LTO FE for fshort-double.
f42c637e 5837
70e24808
JM
58382014-03-07 Jason Merrill <jason@redhat.com>
5839
5840 * c.opt: Add -std=c++14.
5841
3af9c5e9
MP
58422014-03-06 Marek Polacek <polacek@redhat.com>
5843
5844 PR c/60197
5845 * cilk.c (contains_cilk_spawn_stmt): New function.
5846 (contains_cilk_spawn_stmt_walker): Likewise.
5847 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
5848 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
5849
b3bdf019
JJ
58502014-03-03 Jakub Jelinek <jakub@redhat.com>
5851
5852 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
5853 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
5854 even when flag_preprocess_only.
5855
ca7e759d
JM
58562014-02-26 Jason Merrill <jason@redhat.com>
5857
5858 PR c++/59231
5859 PR c++/11586
5860 * c-common.c (shorten_compare): Don't check
5861 c_inhibit_evaluation_warnings.
5862
28e41874
JJ
58632014-02-19 Jakub Jelinek <jakub@redhat.com>
5864
cca615af
JJ
5865 PR c/37743
5866 * c-common.c (c_common_nodes_and_builtins): When initializing
5867 c_uint{16,32,64}_type_node, also set corresponding
5868 uint{16,32,64}_type_node to the same value.
5869
28e41874
JJ
5870 PR c++/60267
5871 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
5872 for PRAGMA_IVDEP if flag_preprocess_only.
5873
c2bf53a1
JJ
58742014-02-12 Jakub Jelinek <jakub@redhat.com>
5875
5876 PR c/60101
5877 * c-common.c (merge_tlist): If copy is true, call new_tlist,
5878 if false, add ADD itself, rather than vice versa.
5879 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
5880 copy. For SAVE_EXPR, only call merge_tlist once.
5881
8fcbce72
JJ
58822014-02-08 Jakub Jelinek <jakub@redhat.com>
5883
5884 PR middle-end/60092
5885 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
5886 and tree_to_uhwi.
5887 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
5888 functions.
5889 (c_common_attribute_table): Add alloc_align and assume_aligned
5890 attributes.
5891
0a756a3f
MP
58922014-02-06 Marek Polacek <polacek@redhat.com>
5893
5894 PR c/60087
5895 * c-common.c (warn_for_sign_compare): Call warning_at with location
5896 instead of warning.
5897
7ec4847a
MP
58982014-02-05 Marek Polacek <polacek@redhat.com>
5899
5900 PR c/53123
5901 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
5902 statement.
5903
66f20604
MP
59042014-02-04 Marek Polacek <polacek@redhat.com>
5905
5906 PR c/60036
5907 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
5908 SAVE_EXPR.
5909
5d77fb19
MG
59102014-02-03 Marc Glisse <marc.glisse@inria.fr>
5911
5912 PR c++/53017
5913 PR c++/59211
5914 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
5915 handle_vector_size_attribute, handle_nonnull_attribute): Call
5916 default_conversion on the attribute argument.
5917 (handle_nonnull_attribute): Increment the argument number.
5918
81e5eca8
MP
59192014-01-31 Marek Polacek <polacek@redhat.com>
5920
5921 PR c/59963
5922 * c-common.c (add_atomic_size_parameter): Pass vNULL to
5923 build_function_call_vec.
5924 (resolve_overloaded_builtin): Likewise.
5925 * c-common.h (build_function_call_vec): Adjust declaration.
5926
68fca595
MP
59272014-01-30 Marek Polacek <polacek@redhat.com>
5928
5929 PR c/59940
5930 * c-common.h (unsafe_conversion_p): Adjust declaration.
5931 (warnings_for_convert_and_check): Likewise.
5932 (convert_and_check): Likewise.
5933 * c-common.c (unsafe_conversion_p): Add location parameter. Call
5934 expansion_point_location_if_in_system_header on it.
5935 (warnings_for_convert_and_check): Add location parameter. Call
5936 expansion_point_location_if_in_system_header on it. Use it.
5937 (convert_and_check): Add location parameter. Use it.
5938 (conversion_warning): Likewise.
5939 (c_add_case_label): Adjust convert_and_check calls.
5940 (scalar_to_vector): Adjust unsafe_conversion_p calls.
5941
b72271b9
BI
59422014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
5943
5944 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
5945 flag_cilkplus.
5946 * c-pragma.c (init_pragma): Likewise.
5947 * c.opt: Likewise.
5948
393e8e8b
MP
59492014-01-23 Marek Polacek <polacek@redhat.com>
5950
5951 PR c/59846
5952 * c-common.c (shorten_compare): Add location_t parameter.
5953 * c-common.h (shorten_binary_op): Adjust declaration.
5954
f04dda30
MP
59552014-01-23 Marek Polacek <polacek@redhat.com>
5956
5957 PR c/58346
5958 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
5959 * c-common.h: Declare it.
5960
621955cb
EB
59612014-01-20 Eric Botcazou <ebotcazou@adacore.com>
5962
5963 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
5964 * c-ada-spec.c (dump_ads): Likewise.
5965 (cpp_check): Likewise.
5966 (dump_ada_specs): Likewise.
5967
59682014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
5969
5970 PR c++/49718
5971 * c-common.c (handle_no_instrument_function_attribute): Allow
5972 no_instrument_function attribute in class member
5973 definition/declaration.
5974
241f845a
JJ
59752014-01-15 Jakub Jelinek <jakub@redhat.com>
5976
5977 PR c/58943
5978 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
5979 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
5980 being COMPOUND_EXPR.
5981 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
5982 operand a SAVE_EXPR and second MODIFY_EXPR.
5983
e83b8e2e
JJ
59842014-01-09 Jakub Jelinek <jakub@redhat.com>
5985
5986 PR target/58115
5987 * c-pch.c (c_common_write_pch): Call
5988 prepare_target_option_nodes_for_pch.
5989
23a5b65a
RS
59902014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5991
5992 Update copyright years
5993
f9030485
RS
59942014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5995
5996 * array-notation-common.c, c-cilkplus.c: Use the standard form for
5997 the copyright notice.
5998
f2aa696b
EB
59992013-12-28 Eric Botcazou <ebotcazou@adacore.com>
6000
6001 * c-ada-spec.c (print_constructor): New function.
6002 (print_destructor): Retrieve the origin of the destructor.
6003 (print_ada_declaration): Revamp handling of constructors/destructors.
6004
3f8257db 60052013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
6006 Bill Maddox <maddox@google.com>
6007 Jason Merrill <jason@redhat.com>
6008
6009 * c.opt: Add -fdeclone-ctor-dtor.
6010 * c-opts.c (c_common_post_options): Default to on iff -Os.
6011
41958c28
BI
60122013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
6013
6014 * c-common.c (c_common_attribute_table): Added "cilk simd function"
6015 attribute.
6016 * c-pragma.h (enum pragma_cilk_clause): Remove.
6017 (enum pragma_omp_clause): Added the following fields:
6018 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
6019 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
6020 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
6021 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
6022 PRAGMA_CILK_CLAUSE_UNIFORM.
6023
b1726d6c 6024
12893402
BI
60252013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
6026
6027 * cilk.c (cilk_outline): Made this function non-static.
6028 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
6029 (create_cilk_wrapper): Added a new parameter: a function pointer.
6030 (c_install_body_w_frame_cleanup): Remove
6031 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
6032 * c-common.h (cilk_outline): New prototype.
6033 (gimplify_cilk_spawn): Removed two parameters.
6034 (cilk_install_body_with_frame_cleanup): New prototype.
6035 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
6036 CILK_SPAWN_STMT case.
6037
085b42ed
BS
60382013-12-11 Bernd Schmidt <bernds@codesourcery.com>
6039
2ce064c3
BS
6040 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
6041
085b42ed
BS
6042 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
6043 (int_array_type_node): Remove.
6044 * c-common.c (c_common_nodes_and_builtins): Don't build it.
6045
9e36c9ed
MP
60462013-12-05 Marek Polacek <polacek@redhat.com>
6047
6048 PR c/52023
6049 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
6050 [ADJUST_FIELD_ALIGN].
6051
296674db
JM
60522013-12-04 Joseph Myers <joseph@codesourcery.com>
6053
6054 PR c/52023
6055 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
6056 and check field alignment if set.
6057 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
6058 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
6059
b1726d6c 60602013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
6061 Marek Polacek <polacek@redhat.com>
6062
6063 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
6064 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
6065
d7947e19
L
60662013-11-29 H.J. Lu <hongjiu.lu@intel.com>
6067
6068 PR c/59309
6069 * cilk.c (gimplify_cilk_spawn): Properly handle function without
6070 arguments.
6071
fad7652e
JJ
60722013-11-29 Jakub Jelinek <jakub@redhat.com>
6073
6074 PR c/59280
6075 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
6076 goto invalid. If it is error_mark_node, don't issue further
6077 diagnostics.
6078
8b5e1202
SO
60792013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
6080
6081 * c.opt (Wopenmp-simd): New.
6082
0a508bb6
JJ
60832013-11-22 Jakub Jelinek <jakub@redhat.com>
6084
6085 * c-ubsan.h (ubsan_instrument_return): New prototype.
6086 * c-ubsan.c (ubsan_instrument_return): New function.
6087
2fb9a547
AM
60882013-11-22 Andrew MacLeod <amacleod@redhat.com>
6089
6090 * c-common.c: Add required include files from gimple.h.
6091 * c-gimplify.c: Likewise
6092 * cilk.c: Likewise
6093
8400e75e
DM
60942013-11-22 David Malcolm <dmalcolm@redhat.com>
6095
6096 * c-common.c (unsafe_conversion_p): Remove use of
6097 EXPR_LOC_OR_HERE macro.
6098 (conversion_warning): Likewise.
6099 (warnings_for_convert_and_check): Likewise.
6100 (warn_for_collisions_1): Likewise.
6101 (shorten_compare): Likewise, and remove use of in_system_header
6102 macro, using the location from the former.
6103 * c-lex.c (dump_one_header): Remove use of input_filename macro.
6104 (cb_def_pragma): Remove use of in_system_header macro.
6105 (lex_string): Likewise.
6106 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6107
eb1ce453
KZ
61082013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6109 Mike Stump <mikestump@comcast.net>
6110 Richard Sandiford <rdsandiford@googlemail.com>
6111
6112 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
6113 instead of TREE_INT_CST_LOW, in cases where there is a protecting
6114 tree_fits_shwi_p or tree_fits_uhwi_p.
6115 (dump_generic_ada_node): Likewise.
6116 * c-format.c (check_format_arg): Likewise.
6117 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6118
6b3b8c27
KZ
61192013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6120
6121 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
6122
49b0aa18
JC
61232013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
6124
6125 PR c/53001
6126 * c-common.c (unsafe_conversion_p): Make this function
6127 return an enumeration with more detail.
6128 (conversion_warning): Use the new return type of
6129 unsafe_conversion_p to separately warn either about conversions
6130 that lower floating point number precision or about the other
6131 kinds of conversions.
6132 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
6133 (unsafe_conversion_p): switching return type to
6134 conversion_safety enumeration.
49b0aa18
JC
6135 * c.opt: Adding new warning -Wfloat-conversion and
6136 enabling it with -Wconversion.
6137
b826515a
BS
61382013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
6139
8e745a17
JJ
6140 * c-opts.c: Include plugin.h.
6141 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 6142
b9a55b13
MP
61432013-11-19 Marek Polacek <polacek@redhat.com>
6144
6145 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
6146 call.
6147 (ubsan_instrument_shift): Likewise.
6148 (ubsan_instrument_vla): Likewise.
6149
7d362f6c
RS
61502013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6151
6152 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
6153 cast to unsigned type.
6154
386b1f1f
RS
61552013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6156
6157 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
6158 tree_low_cst.
6159 (complete_array_type): Update comment to refer to tree_to_[su]hwi
6160 rather than tree_low_cst.
6161
ae7e9ddd
RS
61622013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6163
6164 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
6165 tree_to_uhwi throughout.
6166
9439e9a1
RS
61672013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6168
6169 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
6170 tree_low_cst (..., 0) with tree_to_shwi throughout.
6171
cc269bb6
RS
61722013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6173
6174 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
6175 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
6176
9541ffee
RS
61772013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6178
6179 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
6180 host_integerp (..., 0) with tree_fits_shwi_p throughout.
6181
c02065fc
AH
61822013-11-15 Aldy Hernandez <aldyh@redhat.com>
6183
6184 * c-cilkplus.c: New file.
6185 * c-common.c (readonly_error): Add location argument.
6186 * c-common.h (readonly_error): Same.
6187 (c_finish_cilk_clauses): Protoize.
6188 (c_check_cilk_loop): Same.
6189 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
6190 Do not fail on error_mark_node.
6191 Abstract increment canonicalization to here...
6192 (c_omp_for_incr_canonicalize_ptr): New.
6193 c-pragma.c (init_pragma): Register "simd" pragma.
6194 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
6195 (enum pragma_cilk_clause): New.
6196
9cc65f15
RS
61972013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
6198
6199 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
6200 wchar_type and host_integerp checks.
6201
18f429e2
AM
62022013-11-14 Andrew MacLeod <amacleod@redhat.com>
6203
6204 * c-common.c: Likewise.
6205 * c-gimplify.c: Likewise.
6206 * cilk.c: Likewise.
6207
d8a2d370
DN
62082013-11-14 Diego Novillo <dnovillo@google.com>
6209
6210 * c-common.c: Include fold-const.h.
6211 Include stor-layout.h.
6212 Include calls.h.
6213 Include stringpool.h.
6214 Include attribs.h.
6215 Include varasm.h.
6216 Include trans-mem.h.
6217 * c-cppbuiltin.c: Include stor-layout.h.
6218 Include stringpool.h.
6219 * c-format.c: Include stringpool.h.
6220 * c-lex.c: Include stringpool.h.
6221 Include stor-layout.h.
6222 * c-pragma.c: Include stringpool.h.
6223 Include attribs.h.
6224 Include varasm.h.
6225 Include gcc-symtab.h.
6226 * c-pretty-print.c: Include stor-layout.h.
6227 Include attribs.h.
6228 * cilk.c: Include stringpool.h.
6229 Include calls.h.
6230
38b7bc7f
JM
62312013-11-13 Joseph Myers <joseph@codesourcery.com>
6232
6233 * c-common.h (enum rid): Add RID_AUTO_TYPE.
6234 * c-common.c (c_common_reswords): Add __auto_type.
6235 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
6236
45b0be94
AM
62372013-11-12 Andrew MacLeod <amacleod@redhat.com>
6238
18f429e2
AM
6239 * c-common.c: Include gimplify.h.
6240 * c-gimplify.c: Likewise.
6241 * cilk.c: Likewise.
6242 * c-omp.c: Include gimple-expr.h instead of gimple.h.
6243 * c-ubsan.c: Don't include gimple.h.
45b0be94 6244
582d9b50
JM
62452013-11-12 Joseph Myers <joseph@codesourcery.com>
6246
6247 * c-common.c (c_common_reswords): Add _Thread_local.
6248
6b28e197
JM
62492013-11-09 Joseph Myers <joseph@codesourcery.com>
6250
6251 * c-common.c (atomic_size_supported_p): New function.
6252 (resolve_overloaded_atomic_exchange)
6253 (resolve_overloaded_atomic_compare_exchange)
6254 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
6255 Use it instead of comparing size with a local list of sizes.
6256
267bac10
JM
62572013-11-07 Andrew MacLeod <amacleod@redhat.com>
6258 Joseph Myers <joseph@codesourcery.com>
6259
6260 * c-common.h (enum rid): Add RID_ATOMIC.
6261 * c-common.c (c_common_reswords): Add _Atomic.
6262 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
6263 (keyword_is_type_qualifier): Accept RID_ATOMIC.
6264 * c-format.c (check_format_types): Check for extra _Atomic
6265 qualifiers in format argument.
6266 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
6267 (pp_c_type_qualifier_list): Mention _Atomic in comment.
6268
5157b91e
TB
62692013-11-06 Tobias Burnus <burnus@net-b.de>
6270
6271 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
6272
6dbe0958
JM
62732013-11-06 Joseph Myers <joseph@codesourcery.com>
6274
6275 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
6276 standards modes.
6277 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
6278 to mean lack of IEEE 754 support.
6279
e8ff5196
TB
62802013-11-05 Tobias Burnus <burnus@net-b.de>
6281
6282 * c.opt (-Wdate-time): New option
6283 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
6284
254a0760
JM
62852013-11-05 Joseph Myers <joseph@codesourcery.com>
6286
6287 * c-cppbuiltin.c (cpp_iec_559_value): Test
6288 flag_excess_precision_cmdline not flag_excess_precision.
6289
6d7f7e0a
TB
62902013-11-05 Tobias Burnus <burnus@net-b.de>
6291
6292 * c.opt (fopenmp-simd): New option.
6293 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
6294 (omp_pragmas): ... this new struct.
6295 (c_pp_lookup_pragma): Also walk omp_pragmas.
6296 (init_pragma): Init pragmas for -fopenmp-simd.
6297
55a7f02f
MP
62982013-11-04 Marek Polacek <polacek@redhat.com>
6299
6300 PR c++/58979
6301 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
6302
9193fb05
JM
63032013-11-04 Joseph Myers <joseph@codesourcery.com>
6304
6305 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
6306 New functions.
6307 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
6308
94159ecf
EB
63092013-11-04 Eric Botcazou <ebotcazou@adacore.com>
6310
6311 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
6312 (dump_ada_specs): Adjust prototype of second callback.
6313 * c-ada-spec.c (cpp_check): New global variable.
6314 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
6315 (print_generic_ada_decl): Likewise.
6316 (has_static_fields): Change return type to bool and add guard.
6317 (has_nontrivial_methods): New predicate.
6318 (is_tagged_type): Change return type to bool.
6319 (separate_class_package): Call has_nontrivial_methods.
6320 (pp_ada_tree_identifier): Minor tweaks.
6321 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
6322 (dump_ada_array_domains): Likewise.
6323 (dump_ada_array_type): Likewise.
6324 (dump_template_types): Remove cpp_check parameter and do not pass it to
6325 dump_generic_ada_node.
6326 (dump_ada_template): Likewise.
6327 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
6328 recursively.
6329 (print_ada_methods): Change return type to integer. Remove cpp_check
6330 parameter and do not pass it down.
6331 (dump_nested_types): Remove cpp_check parameter and do not pass it to
6332 dump_generic_ada_node.
6333 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
6334 accessing methods.
6335 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
6336 down. Use has_nontrivial_methods to recognize C++ classes. Use return
6337 value of print_ada_methods.
6338 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
6339 Set cpp_check to it before invoking dump_ada_nodes.
6340 (dump_ada_specs): Likewise.
6341
b906f4ca
MP
63422013-11-03 Marek Polacek <polacek@redhat.com>
6343
6344 * c-ubsan.c: Don't include hash-table.h.
6345 (ubsan_instrument_vla): New function.
6346 * c-ubsan.h: Declare it.
6347
5e20cdc9
DM
63482013-10-31 David Malcolm <dmalcolm@redhat.com>
6349
6350 Automated part of renaming of symtab_node_base to symtab_node.
6351
6352 Patch autogenerated by rename_symtab.py from
6353 https://github.com/davidmalcolm/gcc-refactoring-scripts
6354 revision 58bb219cc090b2f4516a9297d868c245495ee622
6355
6356 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
6357 symtab_node_base to symtab_node.
6358
7057e645
ESR
63592013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
6360
8e745a17 6361 Implement C++14 digit separators.
7057e645
ESR
6362 * c-lex.c (interpret_float): Remove digit separators from scratch string
6363 before building real literal.
6364
193ea7bc
JJ
63652013-10-30 Jakub Jelinek <jakub@redhat.com>
6366
6367 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
6368
939b37da
BI
63692013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
6370
6371 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
6372 fields.
6373 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
6374 enabled.
6375 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
6376 (insert_cilk_frame): New prototype.
6377 (cilk_init_builtins): Likewise.
6378 (gimplify_cilk_spawn): Likewise.
6379 (c_cilk_install_body_w_frame_cleanup): Likewise.
6380 (cilk_detect_spawn_and_unwrap): Likewise.
6381 (cilk_set_spawn_marker): Likewise.
6382 (build_cilk_sync): Likewise.
6383 (build_cilk_spawn): Likewise.
6384 * cilk.c: New file.
6385
67348ccc
DM
63862013-10-29 David Malcolm <dmalcolm@redhat.com>
6387
6388 Patch autogenerated by refactor_symtab.py from
6389 https://github.com/davidmalcolm/gcc-refactoring-scripts
6390 revision 58bb219cc090b2f4516a9297d868c245495ee622
6391
6392 * c-gimplify.c (c_genericize): Update for conversion of symtab types
6393 to a true class hierarchy.
6394 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
6395
d570872d
RS
63962013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
6397
6398 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
6399
98906124
JL
64002013-10-26 Jeff Law <law@redhat.com>
6401
adfac8df
JJ
6402 * c-common.c (c_define_builtins): Remove mudflap support.
6403 * c.opt: Ignore and warn for mudflap options.
98906124 6404
d73749df 64052013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
6406
6407 PR other/33426
6408 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
6409 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
6410
3f04b1bb
JM
64112013-10-23 Jason Merrill <jason@redhat.com>
6412
6413 * c-format.c (gcc_cxxdiag_char_table): Add %X.
6414
acf0174b
JJ
64152013-10-11 Jakub Jelinek <jakub@redhat.com>
6416
acd15a28
JJ
6417 * c-common.h (omp_clause_mask::operator !=): New method.
6418 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
6419 instead of if (mask & something) tests everywhere.
6420
acf0174b
JJ
6421 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
6422 201307 instead of 201107.
6423 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
6424 (c_common_attribute_table): Add "omp declare target" and
6425 "omp declare simd" attributes.
6426 (handle_omp_declare_target_attribute,
6427 handle_omp_declare_simd_attribute): New functions.
6428 * c-omp.c: Include c-pragma.h.
6429 (c_finish_omp_taskgroup): New function.
6430 (c_finish_omp_atomic): Add swapped argument, if true,
6431 build the operation first with rhs, lhs arguments and use NOP_EXPR
6432 build_modify_expr.
6433 (c_finish_omp_for): Add code argument, pass it down to make_code.
6434 (c_omp_split_clauses): New function.
6435 (c_split_parallel_clauses): Removed.
6436 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
6437 c_omp_declare_simd_clauses_to_decls): New functions.
6438 * c-common.h (omp_clause_mask): New type.
6439 (OMP_CLAUSE_MASK_1): Define.
6440 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
6441 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
6442 omp_clause_mask::operator |, omp_clause_mask::operator &,
6443 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
6444 omp_clause_mask::operator ==): New methods.
6445 (enum c_omp_clause_split): New.
6446 (c_finish_omp_taskgroup): New prototype.
6447 (c_finish_omp_atomic): Add swapped argument.
6448 (c_finish_omp_for): Add code argument.
6449 (c_omp_split_clauses): New prototype.
6450 (c_split_parallel_clauses): Removed.
6451 (c_omp_declare_simd_clauses_to_numbers,
6452 c_omp_declare_simd_clauses_to_decls): New prototypes.
6453 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
6454 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
6455 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
6456 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
6457 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
6458 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
6459 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
6460 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
6461 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
6462 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
6463 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
6464 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
6465 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
6466 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
6467 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
6468 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
6469 PRAGMA_OMP_CLAUSE_UNIFORM.
6470
826cacfe
MG
64712013-10-09 Marc Glisse <marc.glisse@inria.fr>
6472
6473 PR tree-optimization/20318
6474 * c-common.c (handle_returns_nonnull_attribute): New function.
6475 (c_common_attribute_table): Add returns_nonnull.
6476
2284b034
MG
64772013-10-03 Marc Glisse <marc.glisse@inria.fr>
6478
6479 PR c++/19476
6480 * c.opt (fcheck-new): Move to common.opt.
6481
b56e9788
MP
64822013-09-25 Marek Polacek <polacek@redhat.com>
6483 Jakub Jelinek <jakub@redhat.com>
6484
6485 PR sanitizer/58413
6486 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
6487 an expression if we can prove it is correct.
6488 (ubsan_instrument_division): Likewise. Remove unnecessary
6489 check.
6490
ce6923c5
MP
64912013-09-18 Marek Polacek <polacek@redhat.com>
6492
6493 PR sanitizer/58411
6494 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
6495 Declare it.
6496 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
6497
fb5610fb
IS
64982013-09-14 Iain Sandoe <iain@codesourcery.com>
6499
6500 PR target/48094
6501 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
6502 fobjc-gc, freplace-objc-classes): Accept for LTO.
6503
88b0e79e
JC
65042013-09-13 Jacek Caban <jacek@codeweavers.com>
6505
6506 * c-target.def: New hook
6507
c9b0866a
PC
65082013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
6509
6510 PR c++/43452
6511 * c.opt (Wdelete-incomplete): Add.
6512
0af94e6f
JR
65132013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
6514
6515 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
6516 (vector_types_compatible_elements_p): New function.
6517 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
6518 declaration.
6519 (vector_types_compatible_elements_p): Declare.
6520
7c26172c
GDR
65212013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6522
6523 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
6524 a virtual member function.
6525 (pp_simple_type_specifier): Remove.
6526 (pp_c_type_specifier): Likewise.
6527 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
6528 Rename from pp_c_type_specifier. Adjust.
6529 (c_pretty_printer::c_pretty_printer): Do not assign to
6530 simple_type_specifier.
6531
20059c8b
GDR
65322013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6533
6534 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
6535 member function.
6536 (c_pretty_printer::storage_class_specifier): Likewise.
6537 (c_pretty_printer::initializer): Likewise.
6538 (pp_declaration): Remove.
6539 (pp_declaration_specifiers): Likewise.
6540 (pp_abstract_declarator): Likewise.
6541 (pp_declarator): Likewise.
6542 (pp_type_id): Likewise.
6543 (pp_statement): Likewise.
6544 (pp_constant): Likewise.
6545 (pp_id_expression): Likewise.
6546 (pp_primary_expression): Likewise.
6547 (pp_unary_expression): Likewise.
6548 (pp_multiplicative_expression): Likewise.
6549 (pp_conditional_expression): Likewise.
6550 (pp_assignment_expression): Likewise.
6551 (pp_expression): Likewise.
6552 (pp_c_type_id): Likewise.
6553 (pp_c_storage_class_specifier): Likewise.
6554 * c-pretty-print.c (pp_c_type_cast): Tidy.
6555 (pp_c_pointer): Likewise.
6556 (pp_c_type_specifier): Likewise.
6557 (pp_c_parameter_type_list): Likewise.
6558 (pp_c_function_definition): Likewise.
6559 (pp_c_init_declarator): Likewise.
6560 (pp_c_initializer_list): Likewise.
6561 (pp_c_constructor_elts): Likewise.
6562 (c_pretty_printer::direct_abstract_declarator): Likewise.
6563 (c_pretty_printer::declaration_specifiers): Likewise.
6564 (c_pretty_printer::primary_expression): Likewise.
6565 (c_pretty_printer::postfix_expression): Likewise.
6566 (c_pretty_printer::type_id): Rename from pp_c_type_id.
6567 (c_pretty_printer::storage_class_specifier): Rename from
6568 pp_c_storage_class_specifier.
6569 (c_pretty_printer::initializer): Rename from pp_c_initializer.
6570 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
6571 storage_class_specifier, initializer, offset_list, flags.
6572
de5a5fa1
MP
65732013-08-30 Marek Polacek <polacek@redhat.com>
6574
6575 * c-ubsan.c: New file.
6576 * c-ubsan.h: New file.
6577
8f0e4d72
GDR
65782013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
6579
6580 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
6581 member function.
6582 (c_pretty_printer::declaration_specifiers): Likewise.
6583 (c_pretty_printer::declarator): Likewise.
6584 (c_pretty_printer::abstract_declarator): Likewise.
6585 (c_pretty_printer::direct_abstract_declarator): Likewise.
6586 (c_pretty_printer::direct_declarator): Likewise.
6587 (c_pretty_printer::function_specifier): Likewise.
6588 (pp_declaration): Adjust.
6589 (pp_declaration_specifiers): Likewise.
6590 (pp_abstract_declarator): Likewise.
6591 (pp_direct_declarator): Likewise.
6592 (pp_function_specifier): Likewise.
6593 (pp_direct_abstract_declarator): Remove as unused.
6594 (pp_c_declaration): Remove.
6595 (pp_c_declaration_specifiers): Likewise.
6596 (pp_c_declarator): Likewise.
6597 (pp_c_direct_declarator): Likewise.
6598 (pp_c_function_specifier): Likewise.
6599 (pp_c_direct_abstract_declarator): Likewise.
6600 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
6601 from pp_c_abstract_declarator. Adjust.
6602 (c_pretty_printer::direct_abstract_declarator): Rename from
6603 pp_c_direct_abstract_declarator. Adjust.
6604 (c_pretty_printer::function_specifier): Rename from
6605 pp_c_function_specifier. Adjust.
6606 (c_pretty_printer::declaration_specifiers): Rename from
6607 pp_c_declaration_specifiers. Adjust.
6608 (c_pretty_printer::direct_declarator): Rename from
6609 pp_c_direct_declarator. Adjust.
6610 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
6611 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
6612 (c_pretty_printer::c_pretty_printer): Do not assign to
6613 declaration, declaration_specifiers, declarator,
6614 direct_declarator, direct_abstract_declarator, function_specifier.
6615
00d34d3a
GDR
66162013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
6617
6618 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
6619 virtual member function.
6620 (c_pretty_printer::multiplicative_expression): Likewise.
6621 (c_pretty_printer::conditional_expression): Likewise.
6622 (c_pretty_printer::assignment_expression): Likewise.
6623 (c_pretty_printer::expression): Likewise.
6624 (pp_unary_expression): Adjust.
6625 (pp_multiplicative_expression): Likewise.
6626 (pp_assignment_expression): Likewise.
6627 (pp_conditional_expression): Likewise.
6628 (pp_expression): Likewise.
6629 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
6630 from pp_c_unary_expression. Adjust.
6631 (c_pretty_printer::multiplicative_expression): Rename from
6632 pp_c_multiplicative_expression. Adjust.
6633 (c_pretty_printer::conditional_expression): Rename from
6634 pp_c_conditional_expression. Adjust.
6635 (c_pretty_printer::assignment_expression): Rename from
6636 pp_c_assignment_expression. Adjust.
6637 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
6638 (c_pretty_printer::c_pretty_printer): Do not assign to
6639 unary_expression, multiplicative_expression,
6640 conditional_expression, expression.
6641
fb22178f
GDR
66422013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
6643
6644 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
6645 virtual member function.
6646 (pp_postfix_expression): Adjust.
6647 (pp_c_postfix_expression): Remove.
6648 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
6649 from pp_c_postfix_expression. Adjust.
6650 (c_pretty_printer::c_pretty_printer): Do not assign to
6651 postfix_expression.
6652
7ecc2600
GDR
66532013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
6654
6655 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
6656 virtua member function.
6657 (pp_primary_expression): Adjust.
6658 (pp_c_primary_expression): Remove.
6659 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
6660 from pp_c_primary_expression. Adjust.
6661 (pp_c_initializer_list): Use pp_primary_expression.
6662 (c_pretty_printer::c_pretty_printer): Do not assign to
6663 primary_expression.
6664
0691175f
GDR
66652013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
6666
6667 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
6668 * c-pretty-print.c (M_): Remove.
6669 (c_pretty_printer::translate_string): Define.
6670 (pp_c_type_specifier): Use it.
6671 (pp_c_primary_expression): Likewise.
6672 (pp_c_expression): Likewise.
6673
66dfe4c4
GDR
66742013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
6675
6676 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
6677 virtual function.
6678 (pp_c_id_expression): Remove.
6679 (pp_id_expression): Adjust.
6680 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
6681 pp_c_id_expression. Adjust.
6682 (pp_c_postfix_expression): Use pp_id_expression.
6683 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
6684
ca43e9d5
GDR
66852013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
6686
6687 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
6688 member function.
6689 (pp_constant): Adjust.
6690 (pp_c_constant): Remove.
6691 * c-pretty-print.c (c_pretty_printer::constant): Rename from
6692 pp_c_constant. Adjust.
6693 (pp_c_constant)
6694 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
6695 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
6696
da6ca2b5
GDR
66972013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
6698
6699 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
6700 (c_pretty_printer::c_pretty_printer): Declare.
6701 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
6702 c_pretty_printer_init. Adjust.
6703 (print_c_tree): Do not call c_pretty_printer_init.
6704 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
6705
65a372f4
AC
67062013-08-09 Arnaud Charlet <charlet@adacore.com>
6707
6708 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
6709
fd9b0f32
PC
67102013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
6711
6712 PR c++/58080
6713 * c-common.c (pointer_int_sum): Add bool parameter.
6714 * c-common.h (pointer_int_sum): Adjust declaration.
6715
e0aec1e9
GDR
67162013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
6717
6718 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
6719 c_pretty_printer variable.
6720
b066401f
GDR
67212013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6722
6723 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
6724 (pp_base): Remove.
6725 (pp_c_base): Likewise. Adjust users.
6726 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
6727 (pp_c_whitespace): Do not call pp_base.
6728 (pp_c_left_paren): Likewise.
6729 (pp_c_right_paren): Likewise.
6730 (pp_c_left_brace): Likewise.
6731 (pp_c_right_brace): Likewise.
6732 (pp_c_left_bracket): Likewise.
6733 (pp_c_right_bracket): Likewise.
6734 (pp_c_dot): Likewise.
6735 (pp_c_ampersand): Likewise.
6736 (pp_c_star): Likewise.
6737 (pp_c_arrow): Likewise.
6738 (pp_c_semicolon): Likewise.
6739 (pp_c_complement): Likewise.
6740 (pp_c_exclamation): Likewise.
6741 (pp_c_direct_declarator): Likewise.
6742 (pp_c_ws_string): Likewise.
6743 (pp_c_identifier): Likewise.
6744 (pp_c_statement): Likewise.
6745 (print_c_tree): Likewise.
6746
65e5a578
ESR
67472013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
6748
6749 PR c++/58072
6750 * c-common.c (c_parse_error): Catch user-defined literal tokens and
6751 provide useful error strings.
6752
137a1a27
GDR
67532013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6754
6755 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
6756 printer functions instead of pp_string or operators and punctuators.
6757 (dump_generic_ada_node): Likewise.
6758 * c-pretty-print.c (pp_c_type_specifier): Likewise.
6759 (pp_c_relational_expression): Likewise.
6760 (pp_c_logical_or_expression): Likewise.
6761
07838b13
GDR
67622013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6763
6764 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
6765 functions instead of pp_character.
6766 (pp_ada_tree_identifier): Likewise.
6767 (dump_ada_double_name): Likewise.
6768 (dump_ada_function_declaration): Likewise.
6769 (dump_ada_array_domains): Likewise.
6770 (dump_template_types): Likewise.
6771 (dump_generic_ada_node): Likewise.
6772 (print_ada_declaration): Likewise.
6773 (print_ada_struct_decl): Likewise.
6774 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6775
433cc7b0
TT
67762013-07-23 Tom Tromey <tromey@redhat.com>
6777
6778 * c-common.h (enum rid) <RID_GENERIC>: New constant.
6779 * c-common.c (c_common_reswords): Add _Generic.
6780
688010ba
OB
67812013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
6782
6783 * c-common.c: Fix typos.
6784 * c-common.h: Likewise.
6785
2a99e5e6
LL
67862013-07-13 Lubos Lunak <l.lunak@suse.cz>
6787
6788 PR c++/55203
6789 * c-common.c (c_common_attribute_table): Add warn_unused.
6790 (handle_warn_unused_attribute): New.
6791
c26302d5
JJ
67922013-07-10 Jakub Jelinek <jakub@redhat.com>
6793
6794 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
6795 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
6796
dfeadaa0
PC
67972013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
6798
6799 PR c++/57869
6800 * c.opt: Add Wconditionally-supported.
6801
6a2fa4b2
GS
68022013-07-08 Graham Stott <graham.stott@btinternet.com>
6803
adfac8df 6804 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
6805 unused variables l_length and l_node.
6806
ecdbd01a 68072013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
6808
6809 PR c/57821
6810 * c-common.c (complete_array_type): Delay folding first index
6811 like other indices. When folding, check for index overflow.
6812
bedc293e
MG
68132013-06-27 Marc Glisse <marc.glisse@inria.fr>
6814
6815 PR c++/57509
6816 * c-common.h (c_build_vec_perm_expr): New complain argument.
6817 * c-common.c (c_build_vec_perm_expr): Likewise.
6818 Use save_expr also in C++.
6819
604b2bfc
GDR
68202013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
6821
6822 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
6823 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
6824 * c-opts.c (c_common_post_options): Likewise.
6825
dfeadaa0 68262013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
6827
6828 * array-notation-common.c (length_mismatch_in_expr): Changed the
6829 parameter type's from a dynamic array to a vec_tree. Also removed
6830 the size parameters.
6831 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
6832 the change above.
6833
2ce86d2e
BI
68342013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
6835
6836 * c-common.h (struct cilkplus_an_parts): New structure.
6837 (struct cilkplus_an_loop_parts): Likewise.
6838 (cilkplus_extract_an_triplets): New prototype.
6839 (fix_sec_implicit_args): Likewise.
6840 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
6841 (fix_sec_implicit_args): Likewise.
604b2bfc 6842
07a6825b
BI
68432013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
6844
6845 * array-notation-common.c (find_inv_trees): Removed an unwanted
6846 typecasting.
6847 * c-common.h (struct inv_list::additional_tcodes): Changed type from
6848 enum rid to enum tree_code.
6849
08346abd
JH
68502013-06-11 Jan Hubicka <jh@suse.cz>
6851
6852 * c-common.c (handle_alias_ifunc_attribute): Do not set
6853 DECL_EXTERNAL for weakref variables.
6854 * c-pragma.c (handle_pragma_weak): Make sure aliases
6855 are not declared as external.
6856
d60f1706
BI
68572013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
6858
6859 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
6860 function from c/c-array-notation.c.
6861 (is_cilkplus_reduce_builtin): Likewise.
6862 (find_rank): Likewise.
6863 (extract_array_notation_exprs): Likewise.
6864 (replace_array_notations): Likewise.
6865 (find_inv_trees): Likewise.
6866 (replace_inv_trees): Likewise.
6867 (contains_array_notation_expr): Likewise.
6868 (find_correct_array_notation_type): Likewise.
6869 * c-common.h (struct inv_list): Moved this struct from the file
6870 c/c-array-notation.c and added a new field called additional tcodes.
6871 (length_mismatch_in_expr_p): New prototype.
6872 (is_cilkplus_reduce_builtin): Likewise.
6873 (find_rank): Likewise.
6874 (extract_array_notation_exprs): Likewise.
6875 (replace_array_notation): Likewise.
6876 (find_inv_trees): Likewise.
6877 (replace_inv_trees): Likewise.
6878 (find_correct_array_notation_type): Likewise.
dfeadaa0 6879
36536d79
BI
68802013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
6881
6882 * c-common.c (c_define_builtins): When cilkplus is enabled, the
6883 function array_notation_init_builtins is called.
6884 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
6885 * c-common.def (ARRAY_NOTATION_REF): New tree.
6886 * c-common.h (build_array_notation_expr): New function declaration.
6887 (build_array_notation_ref): Likewise.
6888 (extract_sec_implicit_index_arg): New extern declaration.
6889 (is_sec_implicit_index_fn): Likewise.
6890 (ARRAY_NOTATION_CHECK): New define.
6891 (ARRAY_NOTATION_ARRAY): Likewise.
6892 (ARRAY_NOTATION_START): Likewise.
6893 (ARRAY_NOTATION_LENGTH): Likewise.
6894 (ARRAY_NOTATION_STRIDE): Likewise.
6895 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
6896 ARRAY_NOTATION_REF.
6897 (pp_c_expression): Likewise.
6898 * c.opt (flag_enable_cilkplus): New flag.
6899 * array-notation-common.c: New file.
6900
f7716d57
JJ
69012013-05-14 Jakub Jelinek <jakub@redhat.com>
6902
6903 PR c++/57274
6904 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
6905
a5e0cd1d
MG
69062013-05-10 Marc Glisse <marc.glisse@inria.fr>
6907
6908 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
6909 vectors.
6910
f6bc1c4a
HS
69112013-05-07 Han Shen <shenhan@google.com>
6912
6913 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
6914
3f12f6e9
SKS
69152013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
6916
6917 * c-common.c (check_user_alignment): Emit error for negative values.
6918
61949153
PC
69192013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6920
6921 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
6922
e93e18e9
PC
69232013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6924
6925 * c-cppbuiltin.c (c_cpp_builtins): Do not define
6926 __GXX_EXPERIMENTAL_CXX1Y__.
6927
44d90fe1 69282013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 6929 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
6930
6931 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
6932 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
6933 to simply use OPT_Wpointer_arith.
6934 (c_sizeof_or_alignof_type): Likewise.
6935
13f39b2e
PC
69362013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6937
6938 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
6939
4b84d650
JJ
69402013-04-12 Jakub Jelinek <jakub@redhat.com>
6941
6942 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
6943 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
6944 specifiers.
6945
fb037b5d
SB
69462013-04-07 Steven Bosscher <steven@gcc.gnu.org>
6947
6948 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
6949
4e856798
PC
69502013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
6951
6952 * c-common.c (pointer_int_sum): Remove dead code.
6953
4b1baac8
RS
69542013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
6955
6956 PR middle-end/56524
6957 * c-common.c (handle_optimize_attribute): Don't call
6958 save_optabs_if_changed.
6959
0b50e654
JJ
69602013-03-05 Jakub Jelinek <jakub@redhat.com>
6961
6962 PR middle-end/56461
6963 * c-pch.c (pch_init): Free target_validity at the end.
6964
48c41403
JJ
69652013-03-04 Jakub Jelinek <jakub@redhat.com>
6966
6967 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
6968
e664c61c
KS
69692013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
6970 Jakub Jelinek <jakub@redhat.com>
6971
6972 PR sanitizer/56454
6973 * c-common.c (handle_no_sanitize_address_attribute): New function.
6974 (c_common_attribute_table): Add no_sanitize_address attribute.
6975 (handle_no_address_safety_analysis_attribute): Add
6976 no_sanitize_address attribute, not no_address_safety_analysis
6977 attribute.
6978
a475fd3d 69792013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
6980
6981 PR target/52555
6982 * c-common.c (handle_optimize_attribute): Call
6983 save_optabs_if_changed.
6984
f6007d99
JJ
69852013-02-18 Jakub Jelinek <jakub@redhat.com>
6986 Steven Bosscher <steven@gcc.gnu.org>
6987
6988 PR pch/54117
6989 * c-opts.c (c_common_post_options): If debug info is enabled
6990 and non-dwarf*, refuse to load PCH files and when writing PCH
6991 file warn.
6992
cf35e2b1
JJ
69932013-02-05 Jakub Jelinek <jakub@redhat.com>
6994
6995 PR middle-end/56167
6996 * c-common.c (handle_error_attribute): Fix condition.
6997
32887460
JJ
69982013-01-30 Jakub Jelinek <jakub@redhat.com>
6999
7000 PR c++/55742
7001 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
7002
5af057d8
JM
70032013-01-18 Jason Merrill <jason@redhat.com>
7004
7005 PR target/54908
7006 * c.opt (-fextern-tls-init): New.
7007 * c-opts.c (c_common_post_options): Handle it.
7008
cc83c823
JJ
70092013-01-09 Jakub Jelinek <jakub@redhat.com>
7010
7011 PR c/48418
7012 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
7013 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
7014 and is either negative or bigger or equal to type precision
7015 of the first operand.
7016
a859517f
MP
70172012-12-03 Marek Polacek <polacek@redhat.com>
7018
7019 PR c/55570
7020 * c-common.c (check_user_alignment): Swap order of tests,
7021 check TREE_CODE first.
7022
2d7aa578
ESR
70232012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
7024
7025 PR c++/52654
7026 * c-common.h (overflow_type): New enum.
7027 (build_userdef_literal): Add overflow_type argument.
7028 (tree_userdef_literal): Add overflow_type.
7029 (USERDEF_LITERAL_OVERFLOW): New access macro.
7030 * c-common.c (build_userdef_literal): Add overflow_type
7031 argument.
7032 * c-lex.c (c_lex_with_flags): Add overflow_type to
7033 build_userdef_literal calls.
7034 (interpret_integer, interpret_float): Add overflow_type argument.
7035
cc3c4f62
RB
70362012-11-28 Richard Biener <rguenther@suse.de>
7037
7038 PR c/35634
7039 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7040 here and use a type with proper overflow behavior for types that would
7041 need to be promoted for the arithmetic.
7042
77bc5132
JJ
70432012-11-23 Jakub Jelinek <jakub@redhat.com>
7044
7045 PR sanitizer/55435
7046 * c-common.c (handle_no_address_safety_analysis_attribute): New
7047 function.
7048 (c_common_attribute_table): Add no_address_safety_analysis.
7049
5dc99c46
SB
70502012-11-16 Simon Baldwin <simonb@google.com>
7051
7052 * c.opt: Add f[no-]canonical-system-headers.
7053 * c-opts.c (c_common_handle_option): Handle
7054 OPT_fcanonical_system_headers.
7055
a4a0016d
ESR
70562012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
7057
7058 PR c++/54413
7059 * c-opts.c (c_common_handle_option): Set new flags.
7060 * c.opt: Describe new flags.
7061
7dbb85a7
JM
70622012-11-09 Jason Merrill <jason@redhat.com>
7063
7064 * c.opt (Wabi-tag): New.
7065
ad7bac31
AK
70662012-11-09 Andi Kleen <ak@linux.intel.com>
7067
7068 PR 55139
7069 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 7070 MEMMODEL_MASK
ad7bac31 7071
7332899a
MLI
70722012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7073
7074 PR c/53063
7075 * c.opt (Wformat): Make it Alias Wformat=1.
7076 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
7077 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
7078 LangEnabledBy.
7079 (Wformat=): RejectNegative. Use LangEnabledBy.
7080 (Wnonnull): Use LangEnabledBy.
7081 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
7082 * c-format.c (set_Wformat): Delete.
7083 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8e745a17
JJ
7084 (maybe_read_dollar_number): Likewise.
7085 (avoid_dollar_number): Likewise.
7086 (finish_dollar_format_checking): Likewise.
7087 (check_format_info): Likewise.
7088 (check_format_info_main): Likewise.
7089 (check_format_types): Likewise.
7090 (format_type_warning): Likewise.
7091 * c-common.c (int): Likewise.
7092 (check_function_sentinel): Likewise.
7093 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 7094
34a180a6
MLI
70952012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7096
7097 PR c/53063
7098 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
7099 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
7100 Use LangEnabledBy.
7101 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
7102 common.opt.
7103 (Wvariadic-macros): Init(1).
7104 * c-opts.c (c_common_handle_option): Do not handle them
7105 explicitly.
7106 (c_common_post_options): Likewise.
7107 (sanitize_cpp_opts): warn_unused_macros is now
7108 cpp_warn_unused_macros.
7109 (push_command_line_include): Likewise.
7110 * c-common.c (warn_unknown_pragmas): Do not define.
7111 * c-common.h (warn_unknown_pragmas): Do not declare.
7112
3f46d6a5
MLI
71132012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7114
7115 PR c/51294
7116 * c-common.c (conversion_warning): Handle conditional expressions.
7117
880661a4
JW
71182012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
7119
7120 PR c++/54930
7121 * c.opt (Wreturn_local_addr): Define new option.
7122
4514a96b
JM
71232012-10-25 Jason Merrill <jason@redhat.com>
7124
f14edc1a
JM
7125 * c.opt (Wvirtual-move-assign): New.
7126
4514a96b
JM
7127 * c.opt (Winherited-variadic-ctor): New.
7128
93100c6b
MG
71292012-10-25 Marc Glisse <marc.glisse@inria.fr>
7130
7131 PR c++/54427
7132 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
7133
1efcb8c6
JM
71342012-10-23 Joseph Myers <joseph@codesourcery.com>
7135
7136 * c-common.h (pch_cpp_save_state): Declare.
7137 * c-target.def (c_preinclude): New hook.
7138 * c-opts.c (done_preinclude): New.
7139 (push_command_line_include): Handle default preincluded header.
7140 (cb_file_change): Call pch_cpp_save_state when calling
7141 push_command_line_include.
7142 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
7143 (pch_cpp_save_state): New.
7144 (pch_init): Call pch_cpp_save_state conditionally, instead of
7145 calling cpp_save_state.
7146
4a0ae68e
MLI
71472012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7148
7149 PR c/53063
7150 PR c/40989
7151 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
7152 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
7153 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
7154 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
7155 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
7156 * c-opts.c (c_common_handle_option): Remove explicit handling from
7157 here.
7158 (c_common_post_options): Likewise.
7159
67e4210b
EB
71602012-10-18 Eric Botcazou <ebotcazou@adacore.com>
7161
7162 * c-ada-spec.c (LOCATION_COL): Delete.
7163 (compare_location): New function.
7164 (compare_node): Use it.
7165 (compare_comment): Likewise.
7166
65d4f2cd
MLI
71672012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
7168
7169 PR c/53063
7170 PR c/40989
7171 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
7172 * c-opts.c (c_common_handle_option): Do not set them here. Add
7173 comment.
7174 (c_common_post_options): Likewise.
7175
909881cb
EB
71762012-10-16 Eric Botcazou <ebotcazou@adacore.com>
7177
7178 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
7179 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
7180 Remove POINTER_TYPE handling, add large unsigned handling and use
7181 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
7182
3a785c97
JJ
71832012-10-12 Jakub Jelinek <jakub@redhat.com>
7184
7185 PR c/54381
7186 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
7187 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
7188 locs and array of 3 trees instead of just single loc and single
7189 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
7190 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
7191 For *cmp* builtins that take two sources strings report warnings
7192 about first and second source, not about destination and source.
7193
5e54f81d
MG
71942012-10-12 Marc Glisse <marc.glisse@inria.fr>
7195
7196 PR c++/53055
7197 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
7198
f5b02f1e
EB
71992012-10-11 Eric Botcazou <ebotcazou@adacore.com>
7200
7201 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
7202 declaring something coming from another file.
7203
b46dbc6c
AC
72042012-10-10 Arnaud Charlet <charlet@adacore.com>
7205
f5b02f1e 7206 PR ada/54845
b46dbc6c
AC
7207 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
7208
5d9de0d0
PC
72092012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
7210
7211 PR c++/54194
7212 * c-common.c (warn_about_parentheses): Add location_t parameter;
7213 use EXPR_LOC_OR_LOC.
7214 * c-common.h: Update declaration.
7215
a212e43f
MG
72162012-10-09 Marc Glisse <marc.glisse@inria.fr>
7217
7218 PR c++/54427
7219 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
7220 more operations. Make error messages optional.
7221 * c-common.h (enum stv_conv): Moved from c-typeck.c.
7222 (scalar_to_vector): Declare.
7223
b1db7f91
JM
72242012-10-08 Jason Merrill <jason@redhat.com>
7225
7226 * c-common.c (c_common_reswords): Add thread_local.
7227
e28d52cf
DS
72282012-10-08 Dodji Seketeli <dodji@redhat.com>
7229
7230 PR c++/53528 C++11 attribute support
7231 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
7232 new functions.
7233 * c-common.c (check_cxx_fundamental_alignment_constraints): New
7234 static function.
7235 (handle_aligned_attribute): In choose strictest alignment
7236 among many. Use new check_cxx_fundamental_alignment_constraints.
7237 (handle_transparent_union_attribute): In c++11 attribute syntax,
7238 don't look through typedefs.
7239
3b78de56
AC
72402012-10-04 Arnaud Charlet <charlet@adacore.com>
7241
7242 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
7243 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
7244 out of dumpfile.h.
7245
6040bb5f
DC
72462012-09-25 Dehao Chen <dehao@google.com>
7247
7248 PR middle-end/54645
3b78de56 7249 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
7250 map when read in the pch.
7251
3f8257db 72522012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
7253
7254 * c-ada-spec.c: Style fixes.
7255
3f8257db 72562012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
7257
7258 * c.opt (-fada-spec-parent): Define new command line switch.
7259 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
7260 is specified, generate binding spec as a child of the specified unit.
7261
0ccb505d
PC
72622012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
7263 Manuel López-Ibáñez <manu@gcc.gnu.org>
7264
7265 PR c++/53210
7266 * c.opt ([Winit-self]): Enabled by -Wall in C++.
7267
c583af79
AC
72682012-08-23 Arnaud Charlet <charlet@adacore.com>
7269
7270 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
7271 for pointers, and add missing Convention C pragma.
7272 (print_ada_struct_decl): Add missing aliased keyword.
7273 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
7274
1a4049e7
JJ
72752012-08-17 Jakub Jelinek <jakub@redhat.com>
7276
7277 * c-common.c (sizeof_pointer_memaccess_warning): New function.
7278 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
7279 * c-opts.c (c_common_handle_option): Enable it for -Wall.
7280 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
7281 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
7282
70b5e7dc
RG
72832012-08-10 Richard Guenther <rguenther@suse.de>
7284
7285 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
7286
f8923f7e
SB
72872012-08-07 Steven Bosscher <steven@gcc.gnu.org>
7288
7289 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
7290 instead of separate pp_newline and pp_flush.
7291 (print_c_tree): Likewise.
7292
e45abe1f
RH
72932012-07-26 Richard Henderson <rth@redhat.com>
7294
7295 * c-common.c (handle_hot_attribute): Allow labels.
7296 (handle_cold_attribute): Likewise.
7297
332f1d24
JJ
72982012-07-20 Jakub Jelinek <jakub@redhat.com>
7299
7300 PR c++/28656
7301 * c-common.c (check_function_nonnull): Handle multiple nonnull
7302 attributes properly.
7303
7ee2468b
SB
73042012-07-16 Steven Bosscher <steven@gcc.gnu.org>
7305
7306 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
7307 * c-ada-spec.c: Likewise.
7308 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
7309
ee7b28eb
SB
73102012-07-14 Steven Bosscher <steven@gcc.gnu.org>
7311
7312 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
7313 Remove code conditional on it.
7314
6bdf3519
SB
73152012-07-11 Steven Bosscher <steven@gcc.gnu.org>
7316
7317 * c-gimplify.c: Do not include basic-block.h.
7318 * c-common.c: Do not include linfuncs.h.
7319
532aafad
SB
73202012-07-08 Steven Bosscher <steven@gcc.gnu.org>
7321
7322 * c-common.h: Include tree.h.
7323
8d0d1915
JM
73242012-07-02 Jason Merrill <jason@redhat.com>
7325
7326 PR c++/53524
7327 * c-common.c (get_priority): Call default_conversion.
7328
fbc873ad
UB
73292012-07-01 Uros Bizjak <ubizjak@gmail.com>
7330
7331 * c-pch.c (c_common_write_pch): Remove unused variables.
7332
d4a10d0a
SB
73332012-06-29 Steven Bosscher <steven@gcc.gnu.org>
7334
7335 * cppspec.c: Moved from gcc/ to here.
7336
6f3a2e23
KT
73372012-06-27 Kai Tietz <ktietz@redhat.com>
7338
7339 PR preprocessor/37215
7340 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
7341
8ca92d04
SB
73422012-06-21 Steven Bosscher <steven@gcc.gnu.org>
7343
7344 * c-common.h (c_common_print_pch_checksum): Remove.
7345 * c-pch.c: Do not include output.h.
7346 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
7347 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
7348 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
7349 (struct c_pch_header): Remove.
7350 (get_ident): Update gpch version.
7351 (pch_init): Do not print executable_checksum to asm_out_file.
7352 Do not fail if there is no asm_out_file to read back from. Set
7353 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
7354 (c_common_write_pch): Verify that nothing was written to asm_out_file
7355 since pch_init was called. Do not write a c_pch_header, and do not
7356 copy from asm_out_file to the PCH.
7357 (c_common_read_pch): Do not read a c_pch_header, and do not restore
7358 the content of asm_out_file from the PCH.
7359 (c_common_print_pch_checksum): Remove.
7360 * c-opts.c (c_common_init): Print out executable_checksum directly.
7361
70f42967
SB
73622012-06-19 Steven Bosscher <steven@gcc.gnu.org>
7363
7364 * c-target.def (objc_declare_unresolved_class_reference,
7365 objc_declare_class_definition): Add new hooks.
7366
a8781821
SB
73672012-06-19 Steven Bosscher <steven@gcc.gnu.org>
7368
7369 * c-lex.c: Do not include output.h.
7370 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
7371 Remove uses of ASM_OUTPUT_IDENT.
7372
9e1a8dd1
RR
73732012-06-15 Marc Glisse <marc.glisse@inria.fr>
7374
7375 PR c++/51033
7376 * c-common.h (c_build_vec_perm_expr): Move decl here.
7377 * c-common.c (c_build_vec_perm_expr): Move definition
7378 here.
7379
6f07a821
SB
73802012-06-06 Steven Bosscher <steven@gcc.gnu.org>
7381
7382 * c.opt (fconserve-space): Turn into a no-op.
7383
9faeb493 73842012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
7385
7386 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
7387 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
7388 both the start and end of the function.
7389
a4b7d13c
SB
73902012-06-04 Steven Bosscher <steven@gcc.gnu.org>
7391
7392 * c-common.c: Do not include output.h.
7393 * c-pragma.c: Likewise.
7394
c265f413
SA
73952012-06-04 Steven Bosscher <steven@gcc.gnu.org>
7396
7397 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
7398 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
7399 (lang_decl_name): Handle namespace decls.
7400
be7a421e
SB
74012012-05-31 Steven Bosscher <steven@gcc.gnu.org>
7402
7403 * c-ada-spec.c: Do not include output.h.
7404 * c-semantics.c: Likewise.
7405
65de6659
JM
74062012-05-29 Joseph Myers <joseph@codesourcery.com>
7407
7408 * c-common.c: Fix typo.
7409
ca5f4331
MM
74102012-05-29 Michael Matz <matz@suse.de>
7411
7412 * c-common.h (c_expand_decl): Remove prototype.
7413
4f7f7aca
MLI
74142012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7415
7416 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
7417 * c-opts.c (c_common_handle_option): Remove code handling
7418 warn_missing_braces.
7419
4a792f9b
PC
74202012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
7421
7422 PR c++/25137
7423 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
7424 -Wmissing_braces.
7425
650dc14a
DS
74262012-05-22 Dodji Seketeli <dodji@redhat.com>
7427
7428 PR c++/53322
7429 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
7430
9b095bf1
MLI
74312012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
7432
7433 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
7434 * c-opts.c (c_common_handle_option): Do not handle explicitly
7435 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
7436
0b2c4be5
DS
74372012-05-16 Dodji Seketeli <dodji@redhat.com>
7438
7439 PR preprocessor/7263
7440 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
7441 to cpp_classify_number. For diagnostics, use the precise location
7442 instead of the global input_location.
7443
a1bde5af
PC
74442012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
7445
d02924ef 7446 PR c++/11856
a1bde5af
PC
7447 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
7448
d1ede5f4
BS
74492012-05-14 Bernd Schmidt <bernds@codesourcery.com>
7450
a1bde5af 7451 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 7452
f2bc201f
MLI
74532012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
7454
7455 PR 53063
7456 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
7457 Wreorder): Use LangEnabledBy.
7458 * c-opts.c (c_common_handle_option): Do not enable them
7459 explicitly. Call lang-specific generated functions.
7460 (c_common_post_options): Do not set them here.
7461
95744782
MLI
74622012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
7463
7464 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
7465 Wmissing-field-initializers,Wmissing-parameter-type,
7466 Wold-style-declaration,Woverride-init): Use EnabledBy.
7467 * c-opts.c (c_common_post_options): Do not set here explicitly.
7468
7d5a5747
MLI
74692012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7470
7471 PR 53063
7472 * c-opts.c (c_common_handle_option): Use handle_generated_option
7473 to enable sub-options.
7474
5a3c9cf2
PC
74752012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
7476
7477 PR c++/53158
7478 * c-common.c (warnings_for_convert_and_check): Use warning_at.
7479
3ac8781c
RG
74802012-05-10 Richard Guenther <rguenther@suse.de>
7481
7482 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
7483 adjust commentary about TYPE_IS_SIZETYPE types.
7484
1e537948
MLI
74852012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7486
7487 PR c++/53261
7488 * c-common.c (warn_logical_operator): Check that argument of
7489 integer_zerop is not NULL.
7490
f2c4a785
MLI
74912012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
7492
7493 PR c/43772
7494 * c-common.c (warn_logical_operator): Do not warn if either side
7495 is already true or false.
7496
50f305ca
MLI
74972012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
7498
7499 PR c/51712
7500 * c-common.c (expr_original_type): New.
7501 (shorten_compare): Do not warn for enumeration types.
7502
0c3641b0
MLI
75032012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7504
7505 * c.opt (fpermissive): Add Var(flag_permissive).
7506
7edaa4d2
MG
75072012-04-30 Marc Glisse <marc.glisse@inria.fr>
7508
7509 PR c++/51033
7510 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
7511 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
7512
b9c8da34
DS
75132012-04-30 Dodji Seketeli <dodji@redhat.com>
7514
7515 Add -Wvarargs option
7516 * c.opt (Wvarargs): Define new option.
7517
e6c69da0
MLI
75182012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7519
7520 * c-common.c (check_function_arguments): Replace
7521 Wmissing-format-attribute with Wsuggest-attribute=format.
7522
90137d8f
MLI
75232012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7524
7525 * c.opt (Wsuggest-attribute=format): New. Alias of
7526 Wmissing-format-attribute.
7527 * c-format.c (decode_format_type): Replace
7528 Wmissing-format-attribute with Wsuggest-attribute=format.
7529 (check_function_format): Likewise.
7530
9faeb493 75312012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
7532
7533 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
7534 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
7535 * c.opt: Add Wliteral-suffix.
7536
c1771a20
MLI
75372012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7538
7539 PR c/44774
7540 * c.opt (Wpedantic): New.
7541 (pedantic): Alias Wpedantic.
7542 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
7543 (c_common_post_options): Likewise.
7544 (sanitize_cpp_opts): Likewise.
7545 * c-lex.c (interpret_float): Likewise.
7546 * c-format.c (check_format_types): Likewise.
7547 * c-common.c (pointer_int_sum): Likewise.
7548 (c_sizeof_or_alignof_type): Likewise.
7549 (c_add_case_label): Likewise.
7550 (c_do_switch_warnings): Likewise.
7551 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
7552
04b391c1
JM
75532012-04-15 Jason Merrill <jason@redhat.com>
7554
7555 PR c++/52818
7556 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
7557 (C_STD_NAME): Distinguish between C++98 and C++11.
7558
ac868f29
EB
75592012-04-11 Eric Botcazou <ebotcazou@adacore.com>
7560
7561 PR target/52624
7562 * c-common.h (uint16_type_node): Rename into...
7563 (c_uint16_type_node): ...this.
7564 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
7565 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
7566
fd4116f4
MLI
75672012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
7568
7569 * c-common.c (warn_if_unused_value): Move definition to here.
7570 * c-common.h (warn_if_unused_value): Move declaration to here.
7571
573ac65e
WB
75722012-03-23 William Bader <williambader@hotmail.com>
7573
7574 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
7575
552b8185
JM
75762012-03-20 Jason Merrill <jason@redhat.com>
7577
7578 * c-common.h (enum cxx_dialect): Add cxx1y.
7579 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
7580 test.
7581 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
7582 * c-opts.c (c_common_post_options): Likewise.
7583 (set_std_cxx1y): New.
7584 (c_common_handle_option): Call it.
7585 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
7586
04398fa8
PC
75872012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
7588
7589 PR c++/14710
7590 * c.opt ([Wuseless-cast]): Add.
7591
d2a12ae7
RG
75922012-03-16 Richard Guenther <rguenther@suse.de>
7593
7594 * c-pretty-print.c (pp_c_initializer_list): Adjust.
7595
a12bf402
MLI
75962012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7597
7598 PR c++/44783
7599 * c.opt (ftemplate-backtrace-limit) Add.
7600
5c30094f
RO
76012012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7602
7603 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
7604 handling.
7605 * c-pragma.c (handle_pragma_extern_prefix): Remove.
7606 (init_pragma): Don't register extern_prefix.
7607
21fa2faf
RG
76082012-03-12 Richard Guenther <rguenther@suse.de>
7609
7610 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
7611 (builtin_type_for_size): Likewise.
7612
e3793c6f
JJ
76132012-02-13 Jakub Jelinek <jakub@redhat.com>
7614
7615 PR c++/52215
7616 * c-common.c (sync_resolve_params): Don't decide whether to convert
7617 or not based on TYPE_SIZE comparison, convert whenever arg_type
7618 is unsigned INTEGER_TYPE.
7619
93286335
PC
76202012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
7621
7622 PR c/52118
7623 * c.opt ([Wunused-local-typedefs]): Fix description.
7624
7a421706
MS
76252012-01-24 Mike Stump <mikestump@comcast.net>
7626
7627 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
7628 exactly.
7629
ba9b1f11
RG
76302012-01-18 Richard Guenther <rguenther@suse.de>
7631
7632 * c-opts.c (c_common_post_options): Reset LTO flags if
7633 we are about to generate a PCH.
7634
465406be
PC
76352012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
7636
7637 PR c++/51777
7638 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
7639 use pp_unsigned_wide_integer.
7640
aee15221
RG
76412012-01-10 Richard Guenther <rguenther@suse.de>
7642
7643 PR middle-end/51806
7644 * c-opts.c (c_common_handle_option): Move -Werror handling
7645 to language independent code.
7646
5720c0dc
RG
76472012-01-05 Richard Guenther <rguenther@suse.de>
7648
7649 PR middle-end/51764
7650 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
7651 from common.opt.
7652
73ac190a
PC
76532011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
7654
7655 PR c++/51316
7656 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
7657 of array types with an unknown bound.
7658
48b0b196
JM
76592011-12-20 Joseph Myers <joseph@codesourcery.com>
7660
7661 * c-common.c (flag_isoc99): Update comment to refer to C11.
7662 (flag_isoc1x): Change to flag_isoc11.
7663 * c-common.h (flag_isoc99): Update comment to refer to C11.
7664 (flag_isoc1x): Change to flag_isoc11.
7665 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
7666 C11.
7667 * c-opts.c (set_std_c1x): Change to set_std_c11.
7668 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
7669 Call set_std_c11.
7670 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
7671 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
7672 * c.opt (std=c1x): Change to std=c11. Document as non-draft
7673 standard.
7674 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
7675 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
7676 (std=gnu1x): Make alias of std=gnu11.
7677
d58d6eb5
JM
76782011-12-19 Jason Merrill <jason@redhat.com>
7679
7680 PR c++/51228
7681 * c-common.c (handle_transparent_union_attribute): Check the first
7682 field if the type is complete.
7683
b3908fcc
JW
76842011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
7685
7686 PR libstdc++/51365
7687 * c-common.c (RID_IS_FINAL): Add.
7688 * c-common.h (RID_IS_FINAL): Add.
7689
fea3ca91
IS
76902011-11-30 Iain Sandoe <iains@gcc.gnu.org>
7691
7692 * c.opt (fgnu-runtime): Provide full description.
7693 (fnext-runtime): Likewise.
7694 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
7695
62bad7cd
AM
76962011-11-28 Andrew MacLeod <amacleod@redhat.com>
7697
7698 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
7699 predefines in one place. Add LOCK_FREE predefines.
7700 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
7701 new func.
7702
c466c4ff
AM
77032011-11-24 Andrew MacLeod <amacleod@redhat.com>
7704
7705 PR c/51256
9faeb493 7706 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 7707 conditions
9faeb493
UB
7708 (resolve_overloaded_atomic_exchange,
7709 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
7710 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
7711 error_mark_node for error conditions.
9faeb493 7712
a5952633
RG
77132011-11-08 Richard Guenther <rguenther@suse.de>
7714
7715 PR middle-end/51010
7716 c-family/
7717
0a35513e
AH
77182011-11-07 Richard Henderson <rth@redhat.com>
7719 Aldy Hernandez <aldyh@redhat.com>
7720 Torvald Riegel <triegel@redhat.com>
7721
7722 Merged from transactional-memory.
7723
7724 * c-common.c (handle_tm_wrap_attribute,
7725 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
7726 (struct c_common_reswords): Added __transaction* keywords.
7727 (struct c_common_attribute_table): Added transaction* and tm_regparm
7728 attributes.
7729 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
7730 masks.
7731 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
7732 find_tm_attribute): Declare.
7733
6d87092d
JM
77342011-11-07 Jason Merrill <jason@redhat.com>
7735
7736 PR c++/35688
7737 * c-common.c, c-common.h: Revert yesterday's changes.
7738
8e7860a1
JM
77392011-11-06 Jason Merrill <jason@redhat.com>
7740
7741 PR c++/35688
7742 * c-common.c (decl_has_visibility_attr): Split out from...
7743 (c_determine_visibility): ...here.
7744 * c-common.h: Declare it.
7745
d19fa6b5
JM
77462011-11-06 Joseph Myers <joseph@codesourcery.com>
7747
7748 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
7749 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
7750 type.
7751 (check_user_alignment): New. Split out of
7752 handle_aligned_attribute. Disallow integer constants with
7753 noninteger types. Conditionally allow zero.
7754 (handle_aligned_attribute): Use check_user_alignment.
7755 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
7756
86951993
AM
77572011-11-06 Andrew MacLeod <amacleod@redhat.com>
7758 Richard Henderson <rth@redhat.com>
7759
7760 Merged from cxx-mem-model.
7761
7762 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 7763 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
7764 parameters that are the same type size.
7765 (get_atomic_generic_size): New. Find size of generic
7766 atomic function parameters and do typechecking.
7767 (add_atomic_size_parameter): New. Insert size into parameter list.
7768 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
7769 either __atomic_exchange_n or external library call.
9faeb493 7770 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 7771 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 7772 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
7773 __atomic_load_n or an external library call.
7774 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
7775 __atomic_store_n or an external library call.
7776 (resolve_overloaded_builtin): Handle new __atomic builtins.
7777
cf9e9959
EB
77782011-11-04 Eric Botcazou <ebotcazou@adacore.com>
7779
7780 PR c++/50608
7781 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
7782 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
7783 <INDIRECT_REF>: Return the argument.
7784 <ARRAY_REF>: Remove special code for negative offset.
7785 Call fold_build_pointer_plus instead of size_binop.
7786 (fold_offsetof): Remove STOP_REF argument and adjust.
7787 * c-common.h (fold_offsetof_1): Declare.
7788 (fold_offsetof): Remove STOP_REF argument.
7789
25339f10
JM
77902011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
7791
7792 PR c++/50810
7793 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
7794 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
7795 Wnarrowing for C++0x and C++98.
7796 * c.opt ([Wnarrowing]): Update.
7797
89401152
PC
77982011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
7799
7800 PR c++/44277
7801 * c.opt: Add Wzero-as-null-pointer-constant.
7802
97e3ad20
JM
78032011-10-31 Jason Merrill <jason@redhat.com>
7804
15694fdd
JM
7805 * c.opt (-fdeduce-init-list): Off by default.
7806
97e3ad20
JM
7807 PR c++/50920
7808 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
7809 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
7810 and -Wc++11-compat.
7811 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
7812
fb9120e3
RAV
78132011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
7814
7815 PR c++/30066
7816 * c.opt (fvisibility-inlines-hidden): Description change.
7817
3ce4f9e4
ESR
78182011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
7819
7820 Implement C++11 user-defined literals.
7821 * c-common.c (build_userdef_literal): New.
7822 * c-common.def: New tree code.
7823 * c-common.h (tree_userdef_literal): New tree struct and accessors.
7824 * c-lex.c (interpret_float): Add suffix parm.
7825 (c_lex_with_flags): Build literal tokens.
7826
5f53c243
PC
78272011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
7828
7829 PR c++/50841
7830 Revert:
7831 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
7832
7833 PR c++/50810
7834 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
7835 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
7836 Wnarrowing for C++0x and C++98.
7837 * c.opt ([Wnarrowing]): Update.
7838
263734e1
PC
78392011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
7840
7841 PR c++/50810
7842 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
7843 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
7844 Wnarrowing for C++0x and C++98.
7845 * c.opt ([Wnarrowing]): Update.
7846
d2e312d7
PC
78472011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
7848
7849 PR c++/45385
7850 * c-common.c (conversion_warning): Remove code looking for
7851 artificial operands.
7852
d17687f6
DS
78532011-10-18 Dodji Seketeli <dodji@redhat.com>
7854
7855 PR bootstrap/50760
7856 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 7857 !NO_IMPLICIT_EXTERN_C.
d17687f6 7858
fc8396e9
PC
78592011-10-17 Michael Spertus <mike_spertus@symantec.com>
7860
7861 * c-common.c (c_common_reswords): Add __bases,
7862 __direct_bases.
7863 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
7864
78652011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
7866
7867 PR c++/50757
7868 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
7869
847e697a
TT
78702011-10-15 Tom Tromey <tromey@redhat.com>
7871 Dodji Seketeli <dodji@redhat.com>
7872
7873 * c.opt (fdebug-cpp): New option.
7874 * c-opts.c (c_common_handle_option): Handle the option.
7875 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
7876 output stream in parameter. Factorized from ...
7877 (maybe_print_line): ... this. Dump location debug information when
7878 -fdebug-cpp is in effect.
7879 (print_line_1): New static function. Takes an output stream in
7880 parameter. Factorized from ...
7881 (print_line): ... here. Dump location information when -fdebug-cpp
7882 is in effect.
7883 (scan_translation_unit): Dump location information when
7884 -fdebug-cpp is in effect.
7885
92582b75
TT
78862011-10-15 Tom Tromey <tromey@redhat.com>
7887 Dodji Seketeli <dodji@redhat.com>
7888
7889 * c.opt (ftrack-macro-expansion): New option. Handle it with and
7890 without argument.
7891 * c-opts.c (c_common_handle_option)<case
7892 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
7893 cases. Handle -ftrack-macro-expansion with and without argument.
7894
46427374
TT
78952011-10-15 Tom Tromey <tromey@redhat.com>
7896 Dodji Seketeli <dodji@redhat.com>
7897
7898 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
7899 (print_line, cb_define, do_line_change): Adjust to avoid touching
7900 the internals of struct line_map. Use the public API instead.
7901 * c-pch.c (c_common_read_pch): Likewise.
7902 * c-lex.c (fe_file_change): Likewise.
7903
fc8396e9
PC
79042011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
7905
7906 PR c++/17212
7907 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
7908
79092011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
7910
7911 PR c++/33067
7912 * c-pretty-print.c (pp_c_floating_constant): Output
7913 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
7914
e79983f4
MM
79152011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
7916
7917 * c-common.c (def_builtin_1): Delete old interface with two
7918 parallel arrays to hold standard builtin declarations, and replace
7919 it with a function based interface that can support creating
7920 builtins on the fly in the future. Change all uses, and poison
7921 the old names. Make sure 0 is not a legitimate builtin index.
7922 * c-omp.c (c_finish_omp_barrier): Ditto.
7923 (c_finish_omp_taskwait): Ditto.
7924 (c_finish_omp_flush): Ditto.
7925
6637388f
TG
79262011-10-11 Tristan Gingold <gingold@adacore.com>
7927
7928 * c.opt: (fallow-parameterless-variadic-functions): New.
7929
3797cb21
DS
79302011-09-08 Dodji Seketeli <dodji@redhat.com>
7931
7932 PR c++/33255 - Support -Wunused-local-typedefs warning
7933 * c-common.h (struct c_language_function::local_typedefs): New
7934 field.
9faeb493
UB
7935 (record_locally_defined_typedef, maybe_record_typedef_use)
7936 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 7937 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
7938 (maybe_record_typedef_use)
7939 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
7940 * c.opt: Declare new -Wunused-local-typedefs flag.
7941
693ddb1b
EB
79422011-09-06 Eric Botcazou <ebotcazou@adacore.com>
7943
7944 PR middle-end/50266
7945 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
7946 computations.
7947
830c740f
RG
79482011-09-05 Richard Guenther <rguenther@suse.de>
7949
7950 * c-common.c (complete_array_type): Use ssize_int (-1) instead
7951 of integer_minus_one_node for empty array upper bounds.
7952
892a371f
DS
79532011-08-28 Dodji Seketeli <dodji@redhat.com>
7954
7955 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
7956 it's the first time it's being called on this main TU.
7957
0e3fdb48
RB
79582011-08-24 Richard Guenther <rguenther@suse.de>
7959
7960 PR c/49396
7961 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
7962
79632011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
7964
7965 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
7966 defined in cpp_init_builtins and c_cpp_builtins.
7967
d4a83c10
JM
79682011-08-19 Joseph Myers <joseph@codesourcery.com>
7969
7970 * c-common.c (c_common_reswords): Add __builtin_complex.
7971 * c-common.h (RID_BUILTIN_COMPLEX): New.
7972
bbceee64
JM
79732011-08-18 Joseph Myers <joseph@codesourcery.com>
7974
7975 * c-common.c (c_common_reswords): Add _Noreturn.
7976 (keyword_is_function_specifier): Handle RID_NORETURN.
7977 * c-common.h (RID_NORETURN): New.
7978
3f8257db 79792011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
7980
7981 * c-common.c (unsafe_conversion_p): New function. Check if it is
7982 unsafe to convert an expression to the type.
7983 (conversion_warning): Adjust, use unsafe_conversion_p.
7984 * c-common.h (unsafe_conversion_p): New function declaration.
7985
20906c66
JJ
79862011-08-02 Jakub Jelinek <jakub@redhat.com>
7987
7988 * c-common.h (c_finish_omp_atomic): Adjust prototype.
7989 (c_finish_omp_taskyield): New prototype.
7990 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
7991 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
7992 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
7993 or RHS1 have side-effects, evaluate those too in the right spot,
7994 if it is a decl and LHS is also a decl, error out if they
7995 aren't the same.
7996 (c_finish_omp_taskyield): New function.
7997 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
7998 * c-pragma.c (omp_pragmas): Add taskyield.
7999 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
8000 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
8001 PRAGMA_OMP_CLAUSE_MERGEABLE.
8002
770e5a2e
DS
80032011-07-25 Dodji Seketeli <dodji@redhat.com>
8004
8005 * c-common.h (set_underlying_type): Remove parm name from
8006 declaration.
8007
1baae426
RG
80082011-07-25 Romain Geissler <romain.geissler@gmail.com>
8009
8010 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 8011
fcb21722
JM
80122011-07-22 Jason Merrill <jason@redhat.com>
8013
76f86d00
JM
8014 PR c++/49793
8015 * c.opt (Wnarrowing): New.
8016
3a636414
JM
8017 PR c++/30112
8018 * c-common.h: Declare c_linkage_bindings.
8019 * c-pragma.c (handle_pragma_redefine_extname): Use it.
8020
fcb21722
JM
8021 PR c++/49813
8022 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
8023 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
8024 as flag_isoc99 for 'restrict'.
8025 (pp_c_specifier_qualifier_list): Likewise for _Complex.
8026
02614448
ILT
80272011-07-21 Ian Lance Taylor <iant@google.com>
8028
8029 PR middle-end/49705
8030 * c-common.c (c_disable_warnings): New static function.
8031 (c_enable_warnings): New static function.
8032 (c_fully_fold_internal): Change local unused_p to bool. Call
8033 c_disable_warnings and c_enable_warnings rather than change
8034 c_inhibit_evaluation_warnings.
8035
34429675
JM
80362011-07-20 Jason Merrill <jason@redhat.com>
8037
8038 PR c++/6709 (DR 743)
8039 PR c++/42603 (DR 950)
8040 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
8041 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
8042 (CPP_DECLTYPE): New.
8043 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
8044
5d49b6a7
RG
80452011-07-19 Richard Guenther <rguenther@suse.de>
8046
8047 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
8048 * c-omp.c (c_finish_omp_for): Likewise.
8049
e84a58ff
EB
80502011-07-12 Eric Botcazou <ebotcazou@adacore.com>
8051
8052 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
8053 body on the next line.
8054
329af3c7
JM
80552011-07-08 Jason Merrill <jason@redhat.com>
8056
4063e61b
JM
8057 PR c++/45437
8058 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
8059
329af3c7
JM
8060 PR c++/49673
8061 * c-common.c (c_apply_type_quals_to_decl): Don't check
8062 TYPE_NEEDS_CONSTRUCTING.
8063
1a072294
RG
80642011-07-06 Richard Guenther <rguenther@suse.de>
8065
8066 * c-common.c (c_common_nodes_and_builtins):
8067 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
8068
fce5dddd
RG
80692011-07-05 Richard Guenther <rguenther@suse.de>
8070
8071 * c-common.c (c_common_nodes_and_builtins): Build all common
8072 tree nodes first.
8073
45d439ac
JJ
80742011-06-27 Jakub Jelinek <jakub@redhat.com>
8075
56300785
JJ
8076 * c-common.h (c_tree_chain_next): New static inline function.
8077
45d439ac
JJ
8078 * c-common.c (check_builtin_function_arguments): Handle
8079 BUILT_IN_ASSUME_ALIGNED.
8080
e0a8ecf2
AM
80812011-06-21 Andrew MacLeod <amacleod@redhat.com>
8082
8083 * c-common.c: Add sync_ or SYNC__ to builtin names.
8084 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
8085
80862011-06-20 Pierre Vittet <piervit@pvittet.com>
8087
8088 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
8089 handler.
8090 (gen_pragma_handler): New union.
8091 (internal_pragma_handler): New type.
8092 (c_register_pragma_with_data)
8093 (c_register_pragma_with_expansion_and_data): New functions.
8094
8095 * c-pragma.c (registered_pragmas, c_register_pragma_1)
8096 (c_register_pragma, c_register_pragma_with_expansion)
8097 (c_invoke_pragma_handler): Changed to work with
8098 internal_pragma_handler.
8099 (c_register_pragma_with_data)
8100 (c_register_pragma_with_expansion_and_data): New functions.
8101
677f3fa8
JM
81022011-06-14 Joseph Myers <joseph@codesourcery.com>
8103
8104 * c-common.c: Include common/common-target.h.
8105 (handle_section_attribute): Use
8106 targetm_common.have_named_sections.
8107 * c-cppbuiltin.c: Include common/common-target.h.
8108 (c_cpp_builtins): Use targetm_common.except_unwind_info.
8109
d7fc8c14
RG
81102011-06-10 Richard Guenther <rguenther@suse.de>
8111
8112 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
8113 to print a IDENTIFIER_NODE.
8114
10e48e39
RO
81152011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8116 Joseph Myers <joseph@codesourcery.com>
8117
8118 * c.opt (fbuilding-libgcc): New option.
8119 * c-cppbuiltin.c (c_cpp_builtins): Define
8120 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
8121
6976ae51
JM
81222011-06-07 Jason Merrill <jason@redhat.com>
8123
3ff60975
JM
8124 * c-common.c (max_tinst_depth): Lower default to 900.
8125
6976ae51
JM
8126 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
8127
009db074
RG
81282011-06-07 Richard Guenther <rguenther@suse.de>
8129
8130 * c-common.c (c_common_nodes_and_builtins): Do not set
8131 size_type_node or call set_sizetype.
8132
b4592b92
DS
81332011-06-07 Dodji Seketeli <dodji@redhat.com>
8134
8135 PR debug/49130
8136 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 8137 type when using pointer comparison to compare types.
b4592b92 8138
014ab419
JW
81392011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
8140
8141 * c.opt: Add -Wdelete-non-virtual-dtor.
8142 * c-opts.c (c_common_handle_option): Include it in -Wall.
8143
4f60111f
NF
81442011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
8145
8146 PR bootstrap/49190
8147
8148 Revert:
8149 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8150
8151 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8152 not tree_common.
8153
4cc4f2f4
JJ
81542011-05-27 Jakub Jelinek <jakub@redhat.com>
8155
8156 PR c++/49165
8157 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
8158 C++ don't call c_common_truthvalue_conversion on void type arms.
8159
38e01f9e
NF
81602011-05-27 Nathan Froyd <froydnj@codesourcery.com>
8161
8162 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
8163 (stmt_list_stack): Define.
8164 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
8165 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
8166
92e948a8
NF
81672011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8168
8169 * c-common.c (warning_candidate_p): Check for BLOCKs.
8170
a2fc3e63
NF
81712011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8172
8173 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8174 not tree_common.
8175
0957c029
JJ
81762011-05-25 Jakub Jelinek <jakub@redhat.com>
8177
8178 * c-common.c (def_fn_type): Remove extra va_end.
8179
828fb3ba
JM
81802011-05-23 Jason Merrill <jason@redhat.com>
8181
8182 PR c++/48106
8183 * c-common.c (c_common_get_narrower): New.
8184 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
8185
dde05067
NF
81862011-05-23 Nathan Froyd <froydnj@codesourcery.com>
8187
8188 * c-common.h (check_function_arguments): Tweak prototype of
8189 check_function_arguments.
8190 * c-common.c (check_function_arguments): Likewise. Adjust
8191 calls to check_function_nonnull, check_function_format, and
8192 check_function_sentinel.
8193 (check_function_sentinel): Take a FUNCTION_TYPE rather than
8194 separate attributes and typelist arguments. Use
8195 FOREACH_FUNCTION_ARGS to iterate over argument types.
8196
3c0d13bf
PC
81972011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8198
8199 * c-common.c (c_common_reswords): Reorder.
8200 * c-common.h (rid): Likewise.
8201
8242dd04
NF
82022011-05-10 Nathan Froyd <froydnj@codesourcery.com>
8203
8204 * c-common.c (def_fn_type): Don't call build_function_type, call
8205 build_function_type_array or build_varargs_function_type_array
8206 instead.
8207 (c_common_nodes_and_builtins): Likewise.
8208
3d528853
NF
82092011-05-05 Nathan Froyd <froydnj@codesourcery.com>
8210
8211 * c-common.c (c_add_case_label): Omit the loc argument to
8212 build_case_label.
8213 * c-common.h (build_case_label): Remove.
8214 * c-semantics.c (build_case_label): Remove.
8215
a04a722b
JM
82162011-05-05 Joseph Myers <joseph@codesourcery.com>
8217
8218 * c-objc.h (objc_start_method_definition): Update prototype.
8219 * stub-objc.c (objc_start_method_definition): Add extra parameter.
8220
e19a18d4
NF
82212011-05-04 Nathan Froyd <froydnj@codesourcery.com>
8222
8223 * c-common.c (check_main_parameter_types): Reindent. Don't use
8224 TYPE_ARG_TYPES directly.
8225 (handle_nonnull_attribute): Likewise.
8226 (sync_resolve_params): Likewise.
8227 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
8228 to check_format_string.
8229 (handle_format_attribute): Likewise.
8230 (check_format_string): Take a function type to examine instead of
8231 a type list. Use a function_arg_iterator to step through argument
8232 types.
8233
c62c040f
RG
82342011-05-04 Richard Guenther <rguenther@suse.de>
8235
8236 * c-common.c (fix_string_type): Use size_int for index type bounds.
8237 (start_fname_decls): Do not pass NULL to build_int_cst.
8238 (c_init_attributes): Likewise.
8239 * c-lex.c (c_lex_with_flags): Likewise.
8240
c12ff9d8
JM
82412011-04-27 Jason Merrill <jason@redhat.com>
8242
8243 * c-common.c (make_tree_vector_from_list): New.
8244 * c-common.h: Declare it.
8245
304dfbe3
RG
82462011-04-26 Richard Guenther <rguenther@suse.de>
8247
8248 PR preprocessor/48248
8249 * c-ppoutput.c (maybe_print_line): Always optimize newlines
8250 for output size with -P.
8251
3c0d13bf
PC
82522011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
8253
8254 * c-common.c (struct c_common_resword): Add __underlying_type.
8255 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
8256
04695783
JM
82572011-04-20 Jim Meyering <meyering@redhat.com>
8258
8259 * c-format.c (init_dollar_format_checking): Remove useless
8260 if-before-free.
8261
0dc33c3c
NP
82622011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
8263
8264 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 8265 (objc_detect_field_duplicates): New.
0dc33c3c 8266 * stub-objc.c: Likewise.
3c0d13bf 8267
c59633d9
NP
82682011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8269
8270 * stub-objc.c (objc_declare_protocols): Renamed to
8271 objc_declare_protocol.
8272 * c-objc.h: Likewise.
3c0d13bf 8273
32dabdaf
NP
82742011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8275
8276 * stub-objc.c (objc_declare_class): Updated argument name.
8277
81f653d6
NF
82782011-04-12 Nathan Froyd <froydnj@codesourcery.com>
8279
8280 * c-common.h (c_common_init_ts): Declare.
8281 * c-common.c (c_common_init_ts): Define.
8282
eb345401
NP
82832011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
8284
8285 * c-objc.h (objc_build_message_expr): Updated prototype.
8286 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 8287
a358e188
MJ
82882011-04-12 Martin Jambor <mjambor@suse.cz>
8289
8290 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
8291 of cgraph_node.
8292
e6313a78
RG
82932011-04-11 Richard Guenther <rguenther@suse.de>
8294
8295 * c-common.c (complete_array_type): Build a range type of
8296 proper type.
8297
dcf0c47e
NF
82982011-04-08 Nathan Froyd <froydnj@codesourcery.com>
8299
8300 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
8301 (handle_type_generic_attribute): Likewise.
8302
1ee44b26
JM
83032011-04-07 Jason Merrill <jason@redhat.com>
8304
8305 PR c++/48450
8306 * c-common.c (c_common_truthvalue_conversion): Don't ignore
8307 conversion from C++0x scoped enum.
8308
acce4e77
JM
83092011-04-06 Joseph Myers <joseph@codesourcery.com>
8310
8311 * c-target-def.h: New file.
8312 * c-target.def: New file.
8313 * c-target.h: New file.
8314 * c-common.c (targetcm): Don't define here.
8315 * c-common.h (default_handle_c_option): Declare.
8316 * c-format.c: Include c-target.h instead of target.h.
8317 * c-opts.c: Include c-target.h instead of target.h. Explicitly
8318 include tm.h.
8319 (default_handle_c_option): Move from targhooks.c.
8320
e2eefb55
JJ
83212011-03-29 Jakub Jelinek <jakub@redhat.com>
8322
8323 PR preprocessor/48248
8324 * c-ppoutput.c (print): Add src_file field.
8325 (init_pp_output): Initialize it.
8326 (maybe_print_line): Don't optimize by adding up to 8 newlines
8327 if map->to_file and print.src_file are different file.
8328 (print_line): Update print.src_file.
8329
ba78087b
KT
83302011-03-25 Kai Tietz <ktietz@redhat.com>
8331
8332 * c-ada-spec.c (compare_comment): Use filename_cmp
8333 instead of strcmp for filename.
8334
0edf1bb2
JL
83352011-03-25 Jeff Law <law@redhat.com>
8336
adfac8df 8337 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 8338
c7dc8804
JM
83392011-03-25 Jason Merrill <jason@redhat.com>
8340
8341 * c.opt: Add -std=c++03.
8342
d1d879b1
EB
83432011-03-22 Eric Botcazou <ebotcazou@adacore.com>
8344
8345 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
8346
3f8257db 83472011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
8348
8349 PR target/12171
5050afdf
KT
8350 * c-pretty-print.c (pp_c_specifier_qualifier_list):
8351 Display allowed attributes for function pointer types.
8352 (pp_c_attributes_display): New function to display
8353 attributes having affects_type_identity flag set to true.
8354 * c-pretty-print.h (pp_c_attributes_display): New prototype.
8355
62d784f7
KT
8356 * c-common.c (c_common_attribute_table):
8357 Add new element.
8358 (c_common_format_attribute_table): Likewise.
8359
82d37118
JM
83602011-03-18 Jason Merrill <jason@redhat.com>
8361
49a000c3
JM
8362 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
8363 * c-common.h: Don't declare it here.
8364 * c-common.c: Or define it here.
8365 * c-opts.c (c_common_handle_option): Or set it here.
8366
82d37118
JM
8367 PR c++/35315
8368 * c-common.c (handle_transparent_union_attribute): Don't
8369 make a duplicate type in C++.
8370
17bc631c
JM
83712011-03-15 Jason Merrill <jason@redhat.com>
8372
8373 * c-common.c (max_constexpr_depth): New.
8374 * c-common.h: Declare it.
8375 * c-opts.c (c_common_handle_option): Set it.
8376 * c.opt (fconstexpr-depth): New option.
8377
1b9b91a6
JM
83782011-03-11 Jason Merrill <jason@redhat.com>
8379
f231b5ff
JM
8380 * c-common.c (attribute_takes_identifier_p): Add missing const.
8381
1b9b91a6
JM
8382 PR c++/46803
8383 * c-common.c (attribute_takes_identifier_p): Assume that an
8384 unknown attribute takes an identifier.
8385
a19e4d44
NF
83862011-03-07 Nathan Froyd <froydnj@codesourcery.com>
8387
8388 PR c/47786
8389 * c-common.c (c_type_hash): Call list_length instead of iterating
8390 through DECL_CHAIN. Rename 'i' to 'n_elements'.
8391
982d62f6
JJ
83922011-02-19 Jakub Jelinek <jakub@redhat.com>
8393
8394 PR c/47809
8395 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
8396
0a256240
NP
83972011-02-17 Iain Sandoe <iains@gcc.gnu.org>
8398
8399 * c.opt (fobjc-abi-version=) New.
8400 (fobjc-nilcheck): New.
8401
ba9e6dd5
NF
84022011-02-03 Nathan Froyd <froydnj@codesourcery.com>
8403
8404 PR c++/46890
8405 * c-common.h (keyword_is_decl_specifier): Declare.
8406 * c-common.c (keyword_is_decl_specifier): Define.
8407 (keyword_is_function_specifier): New function.
8408
7273813a
JJ
84092011-01-26 Jakub Jelinek <jakub@redhat.com>
8410
8411 PR c/47473
8412 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
8413 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
8414 REAL_TYPE.
8415
908ef79b
AC
84162011-01-26 Arnaud Charlet <charlet@adacore.com>
8417
8418 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
8419
237e9384
JJ
84202011-01-26 Jakub Jelinek <jakub@redhat.com>
8421
8422 PR pch/47430
8423 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
8424 after init_c_lex if pch_file is set.
8425
47ea1edf
DK
84262011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
8427
d4dba752 8428 PR c++/43601
47ea1edf
DK
8429 * c.opt (-fkeep-inline-dllexport): New switch.
8430
2aa9c6ae
RG
84312011-01-12 Richard Guenther <rguenther@suse.de>
8432
8433 PR middle-end/32511
8434 * c-common.c (handle_weak_attribute): Warn instead of error
8435 on declaring an inline function weak.
8436
7bd11157
TT
84372011-01-05 Tom Tromey <tromey@redhat.com>
8438
8439 * c-common.h (lvalue_error): Update.
8440 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
8441 not error.
8442
0e66e494 84432010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 8444
b4f588c4
NP
8445 PR objc/47075
8446 * c-objc.h (objc_finish_message_expr): Added argument to
8447 prototype.
8448
f4da8dce
NF
84492010-12-22 Nathan Froyd <froydnj@codesourcery.com>
8450
8451 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
8452 Use prototype_p.
8453
46270f14
NP
84542010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
8455
8456 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 8457 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 8458
4816c593
NF
84592010-12-10 Nathan Froyd <froydnj@codesourcery.com>
8460
8461 * c-common.h (readonly_error): Declare.
8462 * c-common.c (readonly_error): Define.
8463
7a6daeb0
NF
84642010-12-09 Nathan Froyd <froydnj@codesourcery.com>
8465
8466 * c-common.h (invalid_indirection_error): Declare.
8467 * c-common.c (invalid_indirection_error): Define.
8468
892f6119
RG
84692010-12-03 Richard Guenther <rguenther@suse.de>
8470
8471 PR c/46745
8472 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
8473 (pp_c_unary_expression): Likewise.
8474 (pp_c_expression): Likewise.
8475
6c39e757
NP
84762010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
8477
8478 * c-common.h (objc_finish_function): New.
8479 (objc_non_volatilized_type): Removed.
8480 (objc_type_quals_match): Removed.
8481 * stub-objc.c (objc_finish_function): New.
8482 (objc_non_volatilized_type): Removed.
8483 (objc_type_quals_match): Removed.
9faeb493 8484
7c475d11
JM
84852010-11-30 Joseph Myers <joseph@codesourcery.com>
8486
8487 * c-common.h (parse_optimize_options): Declare.
8488 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
8489 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
8490
71f3e391
JM
84912010-11-29 Joseph Myers <joseph@codesourcery.com>
8492
8493 * c-opts.c (check_deps_environment_vars): Use getenv instead of
8494 GET_ENVIRONMENT.
8495 * c-pch.c (O_BINARY): Don't define here.
8496 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
8497
d5fabb58
JM
84982010-11-25 Joseph Myers <joseph@codesourcery.com>
8499
8500 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
8501 targetm.except_unwind_info.
8502
299404a1
JM
85032010-11-23 Joseph Myers <joseph@codesourcery.com>
8504
8505 * c-opts.c (c_common_handle_option): Pass location to
8506 set_struct_debug_option.
8507
c98cd5bf
JM
85082010-11-23 Joseph Myers <joseph@codesourcery.com>
8509
8510 * c-common.c (visibility_options): Move from ../opts.c.
8511 * c-common.h (struct visibility_flags, visibility_options):
8512 Declare here.
8513 * c-opts.c (finish_options): Rename to c_finish_options.
8514 (c_common_init): Update call to finish_options.
8515
a9546771
NP
85162010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
8517
8518 PR objc/34033
8519 * c-lex.c (lex_string): Check that each string in an Objective-C
8520 string concat sequence starts with either one or zero '@', and
8521 that there are no spurious '@' signs at the end.
8522
24a57808
JM
85232010-11-20 Joseph Myers <joseph@codesourcery.com>
8524
8525 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
8526 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
8527 HANDLE_PRAGMA_VISIBILITY.
8528 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
8529 HANDLE_PRAGMA_VISIBILITY): Don't define.
8530 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
8531
a9aa2c3a
NF
85322010-11-20 Nathan Froyd <froydnj@codesourcery.com>
8533
8534 PR c++/16189
8535 PR c++/36888
8536 PR c++/45331
8537 * c-common.h (keyword_begins_type_specifier): Declare.
8538 (keyword_is_storage_class_specifier): Declare.
8539 (keyword_is_type_qualifier): Declare.
8540 * c-common.c (keyword_begins_type_specifier): New function.
8541 (keyword_is_storage_class_specifier): New function.
8542 (keyword_is_type_qualifier): Declare.
8543
5386338c
JM
85442010-11-19 Joseph Myers <joseph@codesourcery.com>
8545
8546 PR c/46547
8547 * c-common.c (in_late_binary_op): Define.
8548 (c_common_truthvalue_conversion): Check in_late_binary_op before
8549 calling c_save_expr.
8550 * c-common.h (in_late_binary_op): Declare.
8551
69ccdddb
JM
85522010-11-19 Joseph Myers <joseph@codesourcery.com>
8553
8554 * c-opts.c (c_common_handle_option): Update calls to
8555 set_struct_debug_option.
8556
6b192a09
NP
85572010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
8558
8559 * c-common.h (objc_declare_protocols): Added additional argument.
8560 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 8561
fb52b50a
NF
85622010-11-18 Nathan Froyd <froydnj@codesourcery.com>
8563
8564 PR c/33193
8565 * c-common.h (build_real_imag_expr): Declare.
8566 * c-semantics.c (build_real_imag_expr): Define.
8567
b37421c6
JM
85682010-11-17 Joseph Myers <joseph@codesourcery.com>
8569
8570 * c-opts.c (c_common_parse_file): Take no arguments.
8571 * c-common.h (c_common_parse_file): Update prototype.
8572
07078664
JJ
85732010-11-16 Jakub Jelinek <jakub@redhat.com>
8574
8575 PR c++/46401
8576 * c-common.c (warning_candidate_p): Don't track non-const calls
8577 or STRING_CSTs.
8578
c6a13190
ILT
85792010-11-15 Ian Lance Taylor <iant@google.com>
8580
8581 * c-lex.c (init_c_lex): Set macro debug callbacks if
8582 flag_dump_go_spec is set.
8583
925e8657
NP
85842010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
8585
8586 * c-common.h (objc_build_incr_expr_for_property_ref): New.
8587 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
8588
bb0a9581
NF
85892010-11-15 Nathan Froyd <froydnj@codesourcery.com>
8590
8591 PR preprocessor/45038
8592 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
8593 dialects.
8594
c5fa0890
JM
85952010-11-12 Joseph Myers <joseph@codesourcery.com>
8596
8597 * c-common.h (c_family_lang_mask): Declare.
8598 * c-opts.c (c_family_lang_mask): Make extern.
8599 * c-pragma.c (handle_pragma_diagnostic): Use
8600 control_warning_option.
8601
a4d8c676
JM
86022010-11-12 Joseph Myers <joseph@codesourcery.com>
8603
8604 * c-common.c (parse_optimize_options): Update call to
8605 decode_options.
8606 * c-common.h (c_common_handle_option): Update prototype.
8607 * c-opts.c (c_common_handle_option): Take location_t parameter and
8608 pass it to other functions.
8609
f954bd2c
JM
86102010-11-11 Joseph Myers <joseph@codesourcery.com>
8611
8612 * c-opts.c (warning_as_error_callback): Remove.
8613 (c_common_initialize_diagnostics): Don't call
8614 register_warning_as_error_callback.
8615 (c_common_handle_option): Handle -Werror=normalized= here.
8616
d8a07487
JM
86172010-11-10 Joseph Myers <joseph@codesourcery.com>
8618
8619 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
8620 in diagnostic.
8621 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
8622 letter.
8623 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
8624 Remove trailing '.' from diagnostics.
8625 * c.opt (Wwrite-strings_: Avoid '`' in help text.
8626
d5478783
JM
86272010-11-10 Joseph Myers <joseph@codesourcery.com>
8628
8629 * c-common.c (parse_optimize_options): Pass global_dc to
8630 decode_options.
8631 * c-opts.c (c_common_handle_option): Pass &global_options to
8632 set_Wstrict_aliasing.
8633 * c.opt (v): Don't mark Common or document here.
8634
91ebb981
IS
86352010-11-06 Iain Sandoe <iains@gcc.gnu.org>
8636
8637 PR target/44981
8638 * c-format.c (format_type): New type gcc_objc_string_format_type.
8639 (valid_stringptr_type_p): New.
8640 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 8641 (check_format_string): Pass expected type, use
91ebb981
IS
8642 valid_stringptr_type_p (), check that the format string types are
8643 consistent with the format specification.
8644 (decode_format_attr): Warn if NSString is used outside objective-c.
8645 (format_types_orig): Add NSString.
8646 (format_name): New.
8647 (format_flags): New.
8648 (check_format_arg): Handle format strings requiring an external parser.
8649 first_target_format_type: New variable.
8650 (handle_format_attribute): Set up first_target_format_type, pass the
8651 expected format arg string type to check_format_string().
8652 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
8653 * stub-objc.c (objc_string_ref_type_p): New.
8654 (objc_check_format_arg): New.
8655
bede2adc
NP
86562010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
8657
9faeb493 8658 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
8659 * c-common.h (objc_build_class_component_ref): New.
8660 * stub-objc.c (objc_build_class_component_ref): New.
8661
9a179d01
NP
86622010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
8663
8664 * c.opt (Wproperty-assign-default): New option.
8665
22d8d616
NP
86662010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
8667
8668 Implemented -fobjc-std=objc1 flag.
8669 * c.opt (fobjc-std=objc1): New option.
8670
2debdb4f
NP
86712010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
8672
8673 Implemented format and noreturn attributes for Objective-C methods.
8674 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
8675 attribute for Objective-C methods.
8676
ec52b111
JM
86772010-10-31 Jason Merrill <jason@redhat.com>
8678
8679 * c-common.c (conversion_warning, warn_for_collisions_1): Use
8680 EXPR_LOC_OR_HERE.
8681
46a88c12
NP
86822010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
8683
8684 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
8685 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
8686 (objc_add_property_declaration): Removed arguments for copies and
8687 ivar.
8688 (objc_build_getter_call): Renamed to
8689 objc_maybe_build_component_ref.
8690 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
8691 (objc_is_property_ref): New.
8692 * c-common.c (c_common_reswords): Removed copies and ivar.
8693 * stub-objc.c (objc_add_property_declaration): Removed arguments
8694 for copies and ivar.
8695 (objc_build_getter_call): Renamed to
8696 objc_maybe_build_component_ref.
8697 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
8698 (objc_is_property_ref): New.
9faeb493 8699
1e4bf85b
AC
87002010-10-29 Arnaud Charlet <charlet@adacore.com>
8701 Matthew Gingell <gingell@adacore.com>
8702
8703 * c-ada-spec.c (separate_class_package): New function.
8704 (pp_ada_tree_identifier): Prefix references to C++ classes with the
8705 name of their enclosing package.
8706 (print_ada_declaration): Use separate_class_package.
8707
81f0bab2
JM
87082010-10-27 Jason Merrill <jason@redhat.com>
8709
2b08f2c5
JM
8710 * c-common.c (c_common_reswords): Add __is_literal_type.
8711 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
8712
81f0bab2
JM
8713 * c-common.c (check_case_value): Remove special C++ code.
8714
200290f2
NP
87152010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
8716
8717 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
8718 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
8719 and RID_LAST_PATTR.
8720 (objc_add_property_declaration): Added additional arguments.
8721 (objc_property_attribute_kind): Removed.
8722 (objc_set_property_attr): Removed.
8723 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
8724 copy and nonatomic.
8725 * stub-objc.c (objc_add_property_declaration): Added additional
8726 arguments.
8727 (objc_set_property_attr): Removed.
9faeb493 8728
f614132b
NP
87292010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
8730
8731 * c-common.h (objc_add_property_variable): Renamed to
8732 objc_add_property_declaration. Added location argument.
8733 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 8734
b8a18805
NP
87352010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
8736
8737 * c-common.h (objc_maybe_printable_name): New.
8738 * stub-objc.c (objc_maybe_printable_name): New.
8739
3f8257db
JJ
87402010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
8741 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
8742
8743 * c-common.h (c_common_mark_addressable_vec): Declare.
8744 * c-common.c (c_common_mark_addressable_vec): New function.
8745
249a82c4
NP
87462010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
8747
8748 * c-common.h (objc_set_method_type): Removed.
8749 (objc_add_method_declaration): Added boolean argument.
8750 (objc_start_method_definition): Same change.
8751 (objc_build_method_signature): Same change.
8752 * stub-objc.c (objc_set_method_type): Removed.
8753 (objc_add_method_declaration): Added boolean argument.
8754 (objc_start_method_definition): Same change.
8755 (objc_build_method_signature): Same change.
8756
977e30bc
NP
87572010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
8758
8759 * c-common.h (finish_file): Removed.
8760 (objc_write_global_declarations): New.
8761 * c-opts.c (c_common_parse_file): Do not call finish_file.
8762 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 8763
da57d1b9
NP
87642010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8765
8766 Implemented parsing @synthesize and @dynamic for
8767 Objective-C/Objective-C++.
8768 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
8769 (objc_add_synthesize_declaration): New.
8770 (objc_add_dynamic_declaration): New.
8771 * c-common.c (c_common_reswords): Add synthesize and dynamic.
8772 * stub-objc.c (objc_add_synthesize_declaration): New.
8773 (objc_add_dynamic_declaration): New.
9faeb493 8774
0069111f
MM
87752010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
8776
8777 PR target/46041
8778 * c-cppbuiltin.c (mode_has_fma): Move function here from
8779 builtins.c. Don't use the fma optab, instead just use the
8780 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
8781 using -save-temps.
8782
e426b47b
NP
87832010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8784
8785 Merge from 'apple/trunk' branch on FSF servers.
0069111f 8786
3f8257db 8787 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 8788
9faeb493 8789 Radar 4330422
e426b47b
NP
8790 * c-common.h (objc_non_volatilized_type): New declaration
8791 * stub-objc.c (objc_non_volatilized_type): New stub.
8792
90fbfdc3
NP
87932010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
8794
e426b47b 8795 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 8796
3f8257db 8797 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 8798
9faeb493 8799 Radar 4133425
90fbfdc3 8800 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 8801 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 8802
c37d8c30
IS
88032010-10-17 Iain Sandoe <iains@gcc.gnu.org>
8804
8805 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
8806 * c-common.h (enum rid): Add RID_AT_PACKAGE.
8807 (objc_ivar_visibility_kind): New enum.
8808 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 8809 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
8810 visibility enum.
8811
1b1562a5
MM
88122010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
8813
8814 * c-cppbuiltin.c (builtin_define_float_constants): Emit
8815 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
8816 has the appropriate fma builtins.
8817 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
8818
668ea4b1
IS
88192010-10-14 Iain Sandoe <iains@gcc.gnu.org>
8820
1b1562a5 8821 merge from FSF apple 'trunk' branch.
3f8257db 8822 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 8823
668ea4b1
IS
8824 Radars 4436866, 4505126, 4506903, 4517826
8825 * c-common.c (c_common_resword): Define @property and its attributes.
8826 * c-common.h: Define property attribute enum entries.
8827 (OBJC_IS_PATTR_KEYWORD): New.
8828 (objc_property_attribute_kind): New enum.
8829 Declare objc_set_property_attr (), objc_add_property_variable (),
8830 objc_build_getter_call () and objc_build_setter_call ().
8831 * stub-objc.c (objc_set_property_attr): New stub.
8832 (objc_add_property_variable): Likewise.
8833 (objc_build_getter_call): Likewise.
8834 (objc_build_setter_call) Likewise.
1b1562a5 8835
a1178b30
IS
88362010-10-13 Iain Sandoe <iains@gcc.gnu.org>
8837
1b1562a5 8838 merge from FSF apple 'trunk' branch.
3f8257db 8839 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
8840
8841 Radar 3803157 (method attributes)
8842 * c-common.c (handle_deprecated_attribute): Recognize
8843 objc methods as valid declarations.
8844 * c-common.h: Declare objc_method_decl ().
1b1562a5 8845 * stub-objc.c (objc_method_decl): New stub.
a1178b30 8846
a75bfaa6
JM
88472010-10-08 Joseph Myers <joseph@codesourcery.com>
8848
8849 * c-common.c (parse_optimize_options): Call
8850 decode_cmdline_options_to_array_default_mask before
8851 decode_options. Update arguments to decode_options.
8852 * c-common.h (c_common_init_options_struct): Declare.
8853 * c-opts.c (c_common_init_options_struct): New. Split out from
8854 c_common_init_options.
8855
f05b9d93
NP
88562010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
8857
8858 Implemented fast enumeration for Objective-C.
8859 * c-common.h (objc_finish_foreach_loop): New.
8860 * stub-objc.c (objc_finish_foreach_loop): New.
8861
1ebe4b4f
JM
88622010-10-05 Joseph Myers <joseph@codesourcery.com>
8863
8864 * c-common.h (struct diagnostic_context): Don't declare here.
8865 (c_common_initialize_diagnostics): Declare using
8866 diagnostic_context typedef.
8867 * c-opts.c (c_common_handle_option): Pass global_dc to
8868 handle_generated_option.
8869
d4d24ba4
JM
88702010-10-04 Joseph Myers <joseph@codesourcery.com>
8871
8872 * c-opts.c (c_common_handle_option): Pass &global_options_set to
8873 handle_generated_option.
8874
478a1c5b
ILT
88752010-10-03 Ian Lance Taylor <iant@google.com>
8876
8877 * c.opt (-fplan9-extensions): New option.
8878
82a1c2fe
FXC
88792010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8880
8881 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
8882 Remove.
8883 (c_cpp_builtins): Call functions from cppbuiltin.c instead
8884 of duplicating code.
8885
92902b1b
IS
88862010-09-30 Iain Sandoe <iains@gcc.gnu.org>
8887
8888 * c-common.c: Add two new entries for @optional
8889 and @required keywords.
8890
8891 merge from FSF 'apple/trunk' branch.
3f8257db 8892 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
8893
8894 Radar 4386773
8895 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
8896 objective-c keywords.
8897 (objc_set_method_opt): New declaration.
8898 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 8899
46625112
JM
89002010-09-30 Joseph Myers <joseph@codesourcery.com>
8901
8902 * c-common.c (handle_optimize_attribute): Pass &global_options to
8903 cl_optimization_save and cl_optimization_restore.
8904 * c-opts.c (c_common_handle_option): Pass &global_options to
8905 handle_generated_option.
8906 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
8907 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
8908 &global_options to cl_optimization_restore.
8909
49b91f05
NP
89102010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
8911
8912 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
8913 Objective-C/Objective-C++ keywords.
8914
13ed556f 89152010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 8916
9faeb493
UB
8917 Merge from 'apple/trunk' branch on FSF servers.
8918
3f8257db 8919 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
8920
8921 Radar 4281748
8922 * c-common.h (objc_check_global_decl): New declaration.
8923 * stub-objc.c (objc_check_global_decl): New stub.
8924
f0036cca
JM
89252010-09-29 Joseph Myers <joseph@codesourcery.com>
8926
8927 * c.opt: Don't use VarExists.
8928
e3339d0f
JM
89292010-09-29 Joseph Myers <joseph@codesourcery.com>
8930
8931 * c-common.c (c_cpp_error): Update names of diagnostic_context
8932 members.
8933 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
8934 cl_optimization members.
8935 * c-opts.c (warning_as_error_callback, c_common_handle_option,
8936 sanitize_cpp_opts, finish_options): Update names of cpp_options
8937 members.
8938
1973201f
NP
89392010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
8940
8941 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
8942 (objc_is_reserved_word): Removed.
8943 * c-common.c: Updated comments.
8944 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
8945 objc_is_reserved_word.
8946 * stub-objc.c (objc_is_reserved_word): Removed.
8947
f7e71da5
IS
89482010-09-28 Iain Sandoe <iains@gcc.gnu.org>
8949
9faeb493 8950 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
8951 include attributes.
8952 (objc_start_method_definition): Likewise.
8953 (objc_build_keyword_decl): Likewise.
8954 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
8955 (objc_start_method_definition): Likewise.
8956 (objc_build_keyword_decl): Likewise.
8957
c165dca7
IS
89582010-09-28 Iain Sandoe <iains@gcc.gnu.org>
8959
8960 * c-common.h (objc_start_class_interface): Adjust prototype.
8961 (objc_start_category_interface): Likewise.
8962 (objc_start_protocol): Likewise.
8963 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
8964 (objc_start_class_interface): Likewise.
8965 (objc_start_category_interface): Likewise.
8966
7458026b
ILT
89672010-09-27 Ian Lance Taylor <iant@google.com>
8968
8969 * c-common.c (c_common_attribute_table): Add no_split_stack.
8970 (handle_no_split_stack_attribute): New static function.
8971
b581b85b
NP
89722010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
8973
9faeb493 8974 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 8975
3f8257db 8976 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 8977
9faeb493 8978 Radar 4229905
b581b85b
NP
8979 * c-common.h (objc_have_common_type): New declaration.
8980 * stub-objc.c (objc_have_common_type): New stub.
8981
8982 2005-06-22 Ziemowit Laski <zlaski@apple.com>
8983
8984 Radar 4154928
8985 * c-common.h (objc_common_type): New prototype.
9faeb493 8986 * stub-objc.c (objc_common_type): New stub.
b581b85b 8987
46a4da10
JH
89882010-09-24 Jan Hubicka <jh@suse.cz>
8989
8990 * c-common.c (handle_leaf_attribute): New function.
8991 (struct attribute_spec c_common_att): Add leaf.
8992
e200444e
JM
89932010-09-22 Joseph Myers <joseph@codesourcery.com>
8994
8995 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
8996 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
8997 -dump, -dump=, -imacros, -imacros=, -include, -include=,
8998 -include-barrier, -include-directory, -include-directory=,
8999 -include-directory-after, -include-directory-after=,
9000 -include-prefix, -include-prefix=, -include-with-prefix,
9001 -include-with-prefix=, -include-with-prefix-after,
9002 -include-with-prefix-after=, -include-with-prefix-before,
9003 -include-with-prefix-before=, -no-integrated-cpp,
9004 -no-line-commands, -no-standard-includes, -no-warnings, -output,
9005 -output=, -pedantic, -pedantic-errors, -preprocess,
9006 -print-missing-file-dependencies, -trace-includes, -traditional,
9007 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
9008 -user-dependencies, -verbose, -write-dependencies,
9009 -write-user-dependencies, no-integrated-cpp, traditional): New.
9010
29a80ea6
NP
90112010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
9012
9013 PR objc/23710
ac1fc2fc
NP
9014 * c-common.h (objc_start_method_definition): Return bool instead
9015 of void.
9016 * stub-objc.c (objc_start_method_definition): Return bool instead
9017 of void.
9018
90192010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
9020
9021 PR objc/25965
9022 * c-common.h (objc_get_interface_ivars): New declaration.
9023 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 9024
de621752
ILT
90252010-09-15 Ian Lance Taylor <iant@google.com>
9026
9027 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 9028 messages. Remove period at end of warning message.
de621752 9029
ba885ec5
NS
90302010-09-09 Nathan Sidwell <nathan@codesourcery.com>
9031
9032 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
9033 (handle_alias_attribute): ... here.
9034 (handle_ifunc_attribute): New.
9035
c5ee1358
MM
90362010-09-06 Mark Mitchell <mark@codesourcery.com>
9037
9038 * c-common.h (do_warn_double_promotion): Declare.
9039 * c-common.c (do_warn_double_promotion): Define.
9040
0a0b3574
MM
90412010-09-05 Mark Mitchell <mark@codesourcery.com>
9042
9043 * c.opt (Wdouble-promotion): New.
9044
d1779886
JM
90452010-09-02 Joseph Myers <joseph@codesourcery.com>
9046
9047 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
9048 fvtable-thunks, fxref): Mark no longer supported in help text.
9049
2d2bd949
JM
90502010-09-02 Joseph Myers <joseph@codesourcery.com>
9051
9052 * c.opt (Wimport, fall-virtual, falt-external-templates,
9053 fdefault-inline, fenum-int-equiv, fexternal-templates,
9054 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
9055 fname-mangling-version-, fnew-abi, fnonnull-objects,
9056 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
9057 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
9058 applicable.
9059 (fhandle-exceptions): Mark with Alias and Warn.
9060 * c-opts.c (c_common_handle_option): Don't handle options marked
9061 as ignored.
9062
5de8299c
JM
90632010-09-02 Joseph Myers <joseph@codesourcery.com>
9064
9065 * c.opt (Wcomments, Werror-implicit-function-declaration,
9066 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
9067 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
9068 aliases.
9069 * c-common.c (option_codes): Use OPT_Wcomment instead of
9070 OPT_Wcomments.
9071 * c-opts.c (warning_as_error_callback, c_common_handle_option):
9072 Don't handle options marked as aliases.
9073
0ceb0201
RG
90742010-08-25 Richard Guenther <rguenther@suse.de>
9075
9076 * c-common.c (c_common_get_alias_set): Remove special
9077 handling for pointers.
9078
ac47786e
NF
90792010-08-20 Nathan Froyd <froydnj@codesourcery.com>
9080
9081 * c-common.c: Use FOR_EACH_VEC_ELT.
9082 * c-gimplify.c: Likewise.
9083 * c-pragma.c: Likewise.
9084
c878765b
JM
90852010-08-16 Joseph Myers <joseph@codesourcery.com>
9086
9087 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
9088 RejectDriver.
9089 (MMDX): Change back to MMD. Mark NoDriverArg instead of
9090 RejectDriver.
9091 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
9092 instead of OPT_MDX and OPT_MMDX.
9093
603349bf
JM
90942010-08-16 Joseph Myers <joseph@codesourcery.com>
9095
9096 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
9097
644fa7ac
JM
90982010-08-12 Joseph Myers <joseph@codesourcery.com>
9099
9100 * c.opt (MD, MMD): Change to MDX and MMDX.
9101 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
9102
481e1176
JM
91032010-08-11 Joseph Myers <joseph@codesourcery.com>
9104
9105 * c-opts.c (c_common_handle_option): Call handle_generated_option
9106 instead of handle_option.
9107
ac8dc9f7
NF
91082010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9109
9110 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
9111 (maybe_apply_renaming_pragma): Delete unneeded declarations.
9112
4f8c876d
NF
91132010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9114
9115 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
9116 (pending_redefine_extname): Change type to a VEC.
9117 (add_to_renaming_pragma_list): Update for new type of
9118 pending_redefine_extname.
ac8dc9f7 9119 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 9120
3b0c690e
AC
91212010-08-04 Arnaud Charlet <charlet@adacore.com>
9122
9123 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
9124 visited.
9125 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
9126 decide whether a type has already been declared/seen.
9127 Do not go to the original type.
9128 (dump_nested_types): New parameter forward.
9129 Generate forward declaration if needed and mark type as visited.
9130 (print_ada_declaration): Call dump_nested_types if not already done.
9131 Mark types as visited.
9132
1890bccc
JM
91332010-08-03 Joseph Myers <joseph@codesourcery.com>
9134
9135 * c.opt (-print-pch-checksum): Remove option.
9136 * c-opts.c (c_common_handle_option): Don't handle
9137 OPT_print_pch_checksum.
9138
5f20c657
JM
91392010-07-27 Joseph Myers <joseph@codesourcery.com>
9140
9141 * c-common.h (c_common_handle_option): Update prototype and return
9142 value type.
9143 * c-opts.c (c_common_handle_option): Update prototype and return
9144 value type. Update calls to handle_option and
9145 enable_warning_as_error.
9146
f551f80c
JJ
91472010-07-27 Jakub Jelinek <jakub@redhat.com>
9148
9149 PR c/45079
9150 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
9151
61ff2bdc
JM
91522010-07-27 Joseph Myers <joseph@codesourcery.com>
9153
9154 * c-common.h (c_common_missing_argument): Remove.
9155 * c-opts.c (c_common_missing_argument): Remove.
9156 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
9157 idirafter, imacros, include, isysroot, isystem, iquote): Add
9158 MissingArgError.
9159 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
9160
7a9bf9a4
JM
91612010-07-27 Joseph Myers <joseph@codesourcery.com>
9162
9163 * c-common.h (c_common_option_lang_mask,
9164 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
9165 New.
9166 (c_common_init_options): Update prototype.
9167 * c-opts.c (c_common_option_lang_mask): New.
9168 (c_common_initialize_diagnostics): Split out of
9169 c_common_init_options.
9170 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
9171 New.
9172 (c_common_init_options): Update prototype. Use decoded options in
9173 search for -lang-asm.
9174
910ad8de
NF
91752010-07-15 Nathan Froyd <froydnj@codesourcery.com>
9176
9177 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
9178 * c-format.c: Likewise.
9179
718f9c0f
MLI
91802010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
9181
9182 * c-common.h: Include diagnostic-core.h. Error if already
9183 included.
9184 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
9185
4d451982
MLI
91862010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
9187
adfac8df 9188 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
9189 Do not include expr.h
9190 (vector_mode_valid_p): Move here.
9191
119fe915
SB
91922010-06-21 DJ Delorie <dj@redhat.com>
9193
9194 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
9195 allow these pragmas anywhere.
9196
91972010-06-14 Jakub Jelinek <jakub@redhat.com>
9198
9199 PR bootstrap/44509
9200 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
9201 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
9202 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
9203 ggc_strdup instead of xstrdup.
9204
92052010-06-10 Jakub Jelinek <jakub@redhat.com>
9206
9207 * c-cppbuiltin.c: Include cpp-id-data.h.
9208 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
9209 (lazy_hex_fp_value): New function.
9210 (builtin_define_with_hex_fp_value): Provide definitions lazily.
9211
6662d794
MLI
92122010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9213
9214 * c-gimplify.c: Do not include tree-flow.h
9215
38f8b050
JR
92162010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
9217
9218 PR other/44034
9219 * c-common.c: Rename targetm member:
9220 targetm.enum_va_list -> targetm.enum_va_list_p
9221
9589f23e
AS
92222010-06-28 Anatoly Sokolov <aesok@post.ru>
9223
9224 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
9225
3b06d379
SB
92262010-06-28 Steven Bosscher <steven@gcc.gnu.org>
9227
9228 * c-cppbuiltin.c: Do not include except.h.
9229
d166d4c3
AK
92302010-06-24 Andi Kleen <ak@linux.intel.com>
9231
9faeb493
UB
9232 * c-common.c (warn_for_omitted_condop): New.
9233 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 9234
70cb8be6
JM
92352010-06-21 Joseph Myers <joseph@codesourcery.com>
9236
9237 * c.opt (lang-objc): Remove.
9238 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
9239
a4c97feb
JR
92402010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
9241
9242 * c-opts.c: Include "tm_p.h".
9243
6e2f1956
JM
92442010-06-20 Joseph Myers <joseph@codesourcery.com>
9245
9246 * c-common.c (parse_optimize_options): Update call to
9247 decode_options.
9248
bc87224e
NF
92492010-06-18 Nathan Froyd <froydnj@codesourcery.com>
9250
9251 * c-common.c (record_types_used_by_current_var_decl): Adjust for
9252 new type of types_used_by_cur_var_decl.
9253
b49cf425
JR
92542010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
9255
9256 PR bootstrap/44512
9257 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
9258 for C++ standard compliance.
9259
59f9c2ed
JM
92602010-06-16 Jason Merrill <jason@redhat.com>
9261
9262 * c.opt: Add -Wnoexcept.
9263
33766b66
RG
92642010-06-16 Richard Guenther <rguenther@suse.de>
9265
9266 PR c/44555
9267 * c-common.c (c_common_truthvalue_conversion): Remove
9268 premature and wrong optimization concering ADDR_EXPRs.
9269
eff7e30c
AC
92702010-06-15 Arnaud Charlet <charlet@adacore.com>
9271
9272 * c-ada-spec.c (dump_sloc): Remove column info.
9273 (is_simple_enum): New function.
9274 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
9275 enum types when relevant.
9276
6312e84d
MLI
92772010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9278
9faeb493 9279 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
9280 location.
9281
1cb42611
JM
92822010-06-10 Joseph Myers <joseph@codesourcery.com>
9283
9284 * c-opts.c (c_common_handle_option): Don't handle
9285 OPT_fshow_column.
9286
a9429e29
LB
92872010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
9288
9289 * c-pragma.c (push_alignment): Use typed GC allocation.
9290 (handle_pragma_push_options): Likewise.
9291
9292 * c-common.c (parse_optimize_options): Likewise.
9293
9294 * c-common.h (struct sorted_fields_type): Add variable_size GTY
9295 option.
9296
5498f011
JM
92972010-06-07 Joseph Myers <joseph@codesourcery.com>
9298
9299 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
9300 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
9301 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
9302 flag_signed_bitfields, warn_strict_null_sentinel,
9303 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
9304 flag_gen_declaration, flag_no_gnu_keywords,
9305 flag_implement_inlines, flag_implicit_templates,
9306 flag_implicit_inline_templates, flag_optional_diags,
9307 flag_elide_constructors, flag_default_inline, flag_rtti,
9308 flag_conserve_space, flag_access_control, flag_check_new,
9309 flag_new_for_scope, flag_weak, flag_working_directory,
9310 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
9311 flag_enforce_eh_specs, flag_threadsafe_statics,
9312 flag_pretty_templates): Remove.
9313 * c-common.h (flag_preprocess_only, flag_nil_receivers,
9314 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
9315 flag_replace_objc_classes, flag_undef, flag_no_builtin,
9316 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
9317 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
9318 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
9319 flag_no_gnu_keywords, flag_implement_inlines,
9320 flag_implicit_templates, flag_implicit_inline_templates,
9321 flag_optional_diags, flag_elide_constructors, flag_default_inline,
9322 flag_rtti, flag_conserve_space, flag_access_control,
9323 flag_check_new, flag_new_for_scope, flag_weak,
9324 flag_working_directory, flag_use_cxa_atexit,
9325 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
9326 flag_threadsafe_statics, flag_pretty_templates,
9327 warn_strict_null_sentinel): Remove.
9328 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
9329 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
9330 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
9331 fimplicit-inline-templates, fimplicit-templates,
9332 flax-vector-conversions, fms-extensions, fnil-receivers,
9333 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
9334 frtti, fshort-double, fshort-enums, fshort-wchar,
9335 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
9336 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
9337 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
9338 gen-decls, undef): Use Var.
9339 (fdefault-inline, foptional-diags): Document as doing nothing.
9340 * c-opts.c (c_common_handle_option): Remove cases for options now
9341 using Var. Mark ignored options as such.
9342
39dabefd
SB
93432010-06-05 Steven Bosscher <steven@gcc.gnu.org>
9344
9faeb493 9345 * c-common.c: Moved to here from parent directory.
39dabefd
SB
9346 * c-common.def: Likewise.
9347 * c-common.h: Likewise.
9348 * c-cppbuiltin.c: Likewise.
9349 * c-dump.c: Likewise.
9350 * c-format.c: Likewise.
9351 * c-format.h : Likewise.
9352 * c-gimplify.c: Likewise.
9353 * c-lex.c: Likewise.
9354 * c-omp.c: Likewise.
9355 * c.opt: Likewise.
9356 * c-opts.c: Likewise.
9357 * c-pch.c: Likewise.
9358 * c-ppoutput.c: Likewise.
9359 * c-pragma.c: Likewise.
9360 * c-pragma.h: Likewise.
9361 * c-pretty-print.c: Likewise.
9362 * c-pretty-print.h: Likewise.
9363 * c-semantics.c: Likewise.
9364 * stub-objc.c: Likewise.
9365
9366 * c-common.c: Include gt-c-family-c-common.h.
9367 * c-pragma.c: Include gt-c-family-c-pragma.h.
9368\f
85ec4feb 9369Copyright (C) 2010-2018 Free Software Foundation, Inc.
39dabefd
SB
9370
9371Copying and distribution of this file, with or without modification,
9372are permitted in any medium without royalty provided the copyright
9373notice and this notice are preserved.
This page took 3.169914 seconds and 5 git commands to generate.