]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Less verbose fix-it hints for missing header files (PR 87091)
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
85204e23
DM
12018-08-27 David Malcolm <dmalcolm@redhat.com>
2
3 PR 87091
4 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
5 to a tri-state.
6 (maybe_suggest_missing_token_insertion): Likewise.
7 (maybe_add_include_fixit): Add param "override_location". If set,
8 and source-printing is enabled, then override the rich_location's
9 primary location with that of the insertion point for the fix-it
10 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
11 * c-common.h (extern void maybe_add_include_fixit): Add bool
12 param.
13 * c-format.c (selftest::test_type_mismatch_range_labels): Update
14 for conversion of show_caret_p to a tri-state.
15 * c-warn.c (warn_for_restrict): Likewise.
16 * known-headers.cc
17 (suggest_missing_header::~suggest_missing_header): Update call to
18 maybe_add_include_fixit to suggest overriding the location, as it
19 is for a note.
20
3d78e008
ML
212018-08-27 Martin Liska <mliska@suse.cz>
22
23 * c-common.c (check_function_restrict): Use new function
24 fndecl_built_in_p and remove check for FUNCTION_DECL if
25 possible.
26 (check_builtin_function_arguments): Likewise.
27 (reject_gcc_builtin): Likewise.
28 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
29
b5be6d0c
MP
302018-08-26 Marek Polacek <polacek@redhat.com>
31
32 PR c++/87029, Implement -Wredundant-move.
33 * c.opt (Wredundant-move): New option.
34
79ca9c35
MP
352018-08-21 Marek Polacek <polacek@redhat.com>
36
37 PR c++/86981, Implement -Wpessimizing-move.
38 * c.opt (Wpessimizing-move): New option.
39
097f82ec
DM
402018-08-20 David Malcolm <dmalcolm@redhat.com>
41
42 PR other/84889
43 * c-attribs.c (common_handle_aligned_attribute): Add
44 auto_diagnostic_group instance.
45 * c-indentation.c (warn_for_misleading_indentation): Likewise.
46 * c-opts.c (c_common_post_options): Likewise.
47 * c-warn.c (warn_logical_not_parentheses): Likewise.
48 (warn_duplicated_cond_add_or_warn): Likewise.
49 (warn_for_multistatement_macros): Likewise.
50
3fb558b1
NS
512018-08-20 Nathan Sidwell <nathan@acm.org>
52
53 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
54 access.
55
800c0e98
NS
562018-08-17 Nathan Sidwell <nathan@acm.org>
57
58 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
59 field.
60 (laxy_hex_fp_value_count): Make unsigned.
61 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
62 manipulate the macro.
63 (builtin_defin_with_hex_fp_value): Adjust callback name, use
64 cpp_define_lazily.
65
6f795a92
DM
662018-08-17 David Malcolm <dmalcolm@redhat.com>
67
68 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
69 (gcc_dump_printf_length_specs): New.
70 (gcc_dump_printf_flag_pairs): New.
71 (gcc_dump_printf_flag_specs): New.
72 (gcc_dump_printf_char_table): New.
73 (format_types_orig): Add entry for "gcc_dump_printf".
74 (init_dynamic_diag_info): Set up length_char_specs and
75 conversion_specs for gcc_dump_printf_format_type.
76 (handle_format_attribute): Handle gcc_dump_printf_format_type.
77
c5d725c0
NS
782018-08-17 Nathan Sidwell <nathan@acm.org>
79
10f04917
NS
80 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
81
c5d725c0
NS
82 * c-ada-spec.c: Don't #include "cpp-id-data.h"
83 * c-cppbuiltin.c: Likewise.
84
c0c12356
ML
852018-08-17 Martin Liska <mliska@suse.cz>
86
87 * c.opt: Remove Warn, Init and Report for options with
88 Ignore/Deprecated flag. Warning is done automatically for
89 Deprecated flags.
90
10fcc142
DM
912018-08-16 David Malcolm <dmalcolm@redhat.com>
92
93 PR c++/70693
94 * c-common.c (selftest::c_family_tests): Call
95 selftest::c_indentation_c_tests.
96 * c-common.h (selftest::c_indentation_c_tests): New decl.
97 * c-indentation.c: Include "selftest.h".
98 (next_tab_stop): Add "tab_width" param, rather than accessing
99 cpp_opts.
100 (get_visual_column): Likewise. Clarify comment. Bulletproof
101 against reading past the end of the line.
102 (get_first_nws_vis_column): Add "tab_width" param.
103 (detect_intervening_unindent): Likewise.
104 (should_warn_for_misleading_indentation): Read tab width from
105 cpp_opts and pass around.
106 (selftest::test_next_tab_stop): New test.
107 (selftest::assert_get_visual_column_succeeds): New function.
108 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
109 (selftest::assert_get_visual_column_fails): New function.
110 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
111 (selftest::test_get_visual_column): New test.
112 (selftest::c_indentation_c_tests): New function.
113
3f6677f4
NS
1142018-08-16 Nathan Sidwell <nathan@acm.org>
115
116 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
117 (store_ada_macro): Likewise.
118 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
119 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
120
96e6ae57
DM
1212018-08-15 David Malcolm <dmalcolm@redhat.com>
122
123 * c-format.c: Include "selftest-diagnostic.h" and
124 "gcc-rich-location.h".
125 (format_warning_at_char): Pass NULL for new label params of
126 format_warning_va.
127 (class indirection_suffix): New class.
128 (class range_label_for_format_type_mismatch): New class.
129 (format_type_warning): Move logic for generating "*" suffix to
130 class indirection_suffix. Create "fmt_label" and "param_label"
131 to show their types, and pass them to the
132 format_warning_at_substring calls.
133 (selftest::test_type_mismatch_range_labels): New test.
134 (selftest::c_format_c_tests): Call it.
135
23aa9f7c
MS
1362018-08-13 Martin Sebor <msebor@redhat.com>
137
138 PR tree-optimization/71625
139 * c-common.c (braced_list_to_string): New function.
140 * c-common.h (braced_list_to_string): Declare it.
141
f10a9135
NS
1422018-08-08 Nathan Sidwell <nathan@acm.org>
143
144 * c-common.c (try_to_locate_new_include_inertion_point): Use
145 linemap_included_from_linemap.
146 * c-lex.c (fe_file_change): Use linemap_included_from.
147 * c-ppoutput.c (pp_file_change): Likewise.
148
8a45b051
MS
1492018-08-01 Martin Sebor <msebor@redhat.com>
150
151 PR tree-optimization/86650
152 * c-family/c-format.c (gcc_tdiag_char_table): Update comment for "%G".
153 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
154 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
155 * c-format.h (T89_G): Update to be "gimple *" rather than
156 "gcall *".
157 (local_gcall_ptr_node): Rename...
158 (local_gimple_ptr_node): ...to this.
159
e540ccc0
DM
1602018-07-31 David Malcolm <dmalcolm@redhat.com>
161
162 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
163 table entries for gcc_diag_char_table, and the 'Z' entry from
164 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
165 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
166 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
167 adding missing "Z" for this table. Remove erroneous "G" and "K"
168 entries.
169 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
170 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
171 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
172
425fc685
RE
1732018-07-31 Richard Earnshaw <rearnsha@arm.com>
174
175 * c-common.c (speculation_safe_resolve_call): New function.
176 (speculation_safe_resolve_params): New function.
177 (speculation_safe_resolve_return): New function.
178 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
179 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
180 __HAVE_SPECULATION_SAFE_VALUE.
181
181463c2
DM
1822018-07-20 David Malcolm <dmalcolm@redhat.com>
183
184 * c-common.c (c_cpp_error): Remove redundant "line_table"
185 parameter from call to rich_location::set_range.
186 (maybe_suggest_missing_token_insertion): Likewise.
187
0d7f9065
MS
1882018-07-20 Martin Sebor <msebor@redhat.com>
189
190 PR middle-end/82063
191 * gcc/c-family/c.opt (-Warray-bounds): Remove redundant -Wall.
192
00abf86c
MS
1932018-07-20 Martin Sebor <msebor@redhat.com>
194
195 PR middle-end/82063
196 * c-common.h (c_common_handle_option): Change function argument
197 to HOST_WIDE_INT.
198 * c-opts.c (c_common_init_options): Same.
199 (c_common_handle_option): Same. Remove special handling of
200 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
201 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
202 options to take a HOST_WIDE_INT argument and accept a byte-size
203 suffix. Initialize.
204 (-Wvla-larger-than): Same.
205 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
206 (-Wno-vla-larger-than): Same.
207
9b452033
JJ
2082018-07-12 Jakub Jelinek <jakub@redhat.com>
209
210 * c-attribs.c (c_common_attribute_table): Add
211 "omp declare target implicit" attribute.
212
cd0762f3
RB
2132018-07-12 Richard Biener <rguenther@suse.de>
214
215 PR c/86453
216 * c-attribs.c (handle_packed_attribute): Do not build a variant
217 type with TYPE_PACKED, instead ignore the attribute if we may
218 not apply to the original type.
219
0b27c3ed
JJ
2202018-07-10 Jakub Jelinek <jakub@redhat.com>
221
222 PR c++/86443
223 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
224 to contain TREE_LIST for both the original class iterator and the
225 "last" helper var.
226
e730a0ef
EB
2272018-07-07 Eric Botcazou <ebotcazou@adacore.com>
228
229 * c-ada-spec.c (to_ada_name): Remove index parameter.
230 (pp_ada_tree_identifier): Likewise.
231 (dump_ada_macros): Adjust call to to_ada_name.
232 (struct overloaded_name_hash): Delete.
233 (struct overloaded_name_hasher): Likewise.
234 (overloaded_names): Likewise.
235 (compute_overloading_index): Likewise.
236 (dump_ada_decl_name): Do not call compute_overloading_index and
237 adjust calls to pp_ada_tree_identifier.
238 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
239 (dump_ada_import): Add spc parameter and switch to aspect syntax.
240 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
241 (dump_ada_enum_type): Remove type and display_convention parameters.
242 Adjust calls to pp_ada_tree_identifier.
243 (dump_ada_node): Likewise and for dump_ada_structure.
244 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
245 and tidy up.
246 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
247 syntax.
248 (print_constructor): Adjust call to pp_ada_tree_identifier.
249 (print_destructor): Likewise.
250 (dump_ada_declaration): Switch to aspect syntax.
251 (dump_ada_structure): Likewise and tidy up. Replace display_convention
252 parameter with nested parameter.
253 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
254 (dump_ada_specs): Do not delete overloaded_names table.
255
8de583fc
PB
2562018-07-06 Peter Bergner <bergner@linux.ibm.com>
257
258 PR target/86324
e730a0ef 259 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
260 target hook.
261
09cff37b
NS
2622018-07-05 Nathan Sidwell <nathan@acm.org>
263
264 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
265 NO_IMPLICIT_EXTERN_C.
266
98086b2b
ML
2672018-06-28 Martin Liska <mliska@suse.cz>
268
269 * cppspec.c: Include opt-suggestions.h.
270
829c6349
CLT
2712018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
272 Thomas Schwinge <thomas@codesourcery.com>
273 Cesar Philippidis <cesar@codesourcery.com>
274
275 * c-pragma.h (enum pragma_omp_clause): Add
276 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
277 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
278
f41b7612
JJ
2792018-06-20 Jakub Jelinek <jakub@redhat.com>
280
281 PR c++/86210
282 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
283 comment.
284
4252ccd7
MS
2852018-06-18 Martin Sebor <msebor@redhat.com>
286
287 PR middle-end/85602
288 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
289 nonstring.
290
e197e64e
KV
2912018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
292
293 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
294
34a7a230
JM
2952018-06-13 Jason Merrill <jason@redhat.com>
296
5cef3733
JM
297 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
298 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
299 handling.
300
34a7a230
JM
301 PR c++/86094 - wrong code with defaulted move ctor.
302 * c-opts.c (c_common_post_options): Bump the current ABI version to
303 13. Set warn_abi_version and flag_abi_compat_version to the current
304 version rather than 0. Fix defaulting flag_abi_compat_version from
305 warn_abi_version.
306
bb0f14ae
MS
3072018-06-12 Martin Sebor <msebor@redhat.com>
308
309 PR c/85931
310 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
311 sizeof source and destination yields the same value.
312
3713f2e2
ML
3132018-06-12 Martin Liska <mliska@suse.cz>
314
315 * c.opt: Make MPX-related options as Deprecated.
316
4af78ef8
DM
3172018-06-08 David Malcolm <dmalcolm@redhat.com>
318
319 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
320 rather than 0.
321
31db0fe0
ML
3222018-06-08 Martin Liska <mliska@suse.cz>
323
324 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
325 for MPX (macros, related functions, fields in cgraph_node, ...).
326 (handle_bnd_legacy): Likewise.
327 (handle_bnd_instrument): Likewise.
328 * c.opt: Likewise.
329
fe16acf2
JJ
3302018-06-06 Jakub Jelinek <jakub@redhat.com>
331
332 PR c++/86068
333 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
334 __cpp_transactional_memory to 201500 instead of 210500.
335
4dbdb49b
JM
3362018-06-06 Jason Merrill <jason@redhat.com>
337
338 PR c++/85710 - ICE with -Wmemset-elt-size.
339 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
340
f8ad043f
JM
3412018-06-01 Jason Merrill <jason@redhat.com>
342
343 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
344 201703.
345
abc24d93
EB
3462018-06-01 Eric Botcazou <ebotcazou@adacore.com>
347
348 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
349 declaration for a typedef independently of whether the declaration of
350 the subtype is generated.
351
d258f4aa
MS
3522018-05-31 Martin Sebor <msebor@redhat.com>
353
354 PR c/82063
355 * c.opt (-Wno-alloc-size-larger-than): New option.
356
b67b9225
DP
3572018-04-22 David Pagan <dave.pagan@oracle.com>
358
359 PR c/55976
360 * c-opts.c (c_common_post_options): Set default for warn_return_type
361 for C++/C++ with ObjC extensions only. For C, makes it possible to
362 differentiate between default (no option), -Wreturn-type, and
363 -Wno-return-type.
364
04eb9c55
JM
3652018-05-29 Jason Merrill <jason@redhat.com>
366
367 * c.opt (Winit-list-lifetime): New flag.
368
b0c31bc6
BE
3692018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
370
371 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
372 splay_tree_delete_pointers.
373
44284983
JJ
3742018-05-26 Jakub Jelinek <jakub@redhat.com>
375
376 PR bootstrap/85921
377 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
378 noinline variable to workaround broken kernel headers.
379
b46b715d
JM
3802018-05-18 Jason Merrill <jason@redhat.com>
381
382 * c.opt (Wdeprecated-copy): New flag.
383
40659769
ML
3842018-05-17 Martin Liska <mliska@suse.cz>
385
386 * c-warn.c (overflow_warning): Do not use
387 space in between 'G_' and '('.
388
403962ea
JM
3892018-05-09 Jason Merrill <jason@redhat.com>
390
391 * c-common.c (valid_array_size_p): Add complain parameter.
392 * c-common.h: ...which defaults to true.
393
1c9ee609
JJ
3942018-05-11 Jakub Jelinek <jakub@redhat.com>
395
396 PR c/85696
397 * c-omp.c (c_omp_predetermined_sharing): Return
398 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
399
19916065
ML
4002018-05-11 Martin Liska <mliska@suse.cz>
401
402 PR sanitizer/85556
403 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
404 TREE_LIST values.
405
79e7b1fe
JJ
4062018-05-10 Jakub Jelinek <jakub@redhat.com>
407
408 PR c++/85662
409 * c-common.h (fold_offsetof_1): Removed.
410 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
411 CTX argument defaulted to ERROR_MARK.
412 * c-common.c (fold_offsetof_1): Renamed to ...
413 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
414 argument, convert the pointer constant to TYPE and use size_binop
415 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
416 a pointer type. Adjust recursive calls.
417
86c12f76
EB
4182018-05-10 Eric Botcazou <ebotcazou@adacore.com>
419
420 PR c++/85400
421 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
422
ee336e84
NS
4232018-05-07 Nathan Sidwell <nathan@acm.org>
424
425 * c.opt (ffor-scope): Remove functionality, issue warning.
426
6c072e21
NS
4272018-05-03 Nathan Sidwell <nathan@acm.org>
428
429 * c.opt (ffriend-injection): Remove functionality, issue warning.
430
2cc7d3a7
DM
4312018-05-01 David Malcolm <dmalcolm@redhat.com>
432
433 PR c/84258
434 * c-format.c (struct format_check_results): Add field
435 "number_non_char".
436 (check_format_info): Initialize it, and warn if encountered.
437 (check_format_arg): Distinguish between wide char and
438 everything else when detecting arrays of non-char.
439
7761dfbe
DM
4402018-04-30 David Malcolm <dmalcolm@redhat.com>
441
442 * c-format.c (get_corrected_substring): Update for
443 location_get_source_line returning a char_span. Use a char_span
444 when handling the prefix of the correction.
445 * c-indentation.c (get_visual_column): Update for
446 location_get_source_line returning a char_span.
447 (get_first_nws_vis_column): Likewise.
448
62e98ef1
DM
4492018-03-29 David Malcolm <dmalcolm@redhat.com>
450
451 PR c++/84269
452 * known-headers.cc (get_stdlib_header_for_name): Add various names
453 from <assert.h>, <string.h>, and <memory.h>; add more names from
454 <stdio.h>.
455
a7dea617
JJ
4562018-03-27 Jakub Jelinek <jakub@redhat.com>
457
458 PR c++/85061
459 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
460 get_base_address of the second operand is a VAR_P, rather than the
461 operand itself, and use gcc_checking_assert instead of gcc_assert.
462
889a3a30
MP
4632018-03-23 Marek Polacek <polacek@redhat.com>
464
465 PR c++/85045
466 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
467 <case RDIV_EXPR>: Tweak condition.
468
452154b9
EB
4692018-03-20 Eric Botcazou <ebotcazou@adacore.com>
470
471 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
472
63ecb626
JJ
4732018-03-16 Jakub Jelinek <jakub@redhat.com>
474
ce811fc4
JJ
475 PR c/84909
476 * c-warn.c (conversion_warning): Replace "to to" with "to" in
477 diagnostics.
478
63ecb626
JJ
479 PR c/84910
480 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
481 diagnostics.
482
a1295eec
RB
4832018-03-16 Richard Biener <rguenther@suse.de>
484
485 PR c/84873
486 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
487 unshare the possibly folded expression.
488
919674fb
RB
4892018-03-15 Richard Biener <rguenther@suse.de>
490
491 PR c/84873
492 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
493
f99309b2
MS
4942018-03-13 Martin Sebor <msebor@redhat.com>
495
496 PR tree-optimization/84725
497 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
498 with all three narrow character types, including their qualified forms.
499
e9b9fa4c
MS
5002018-03-12 Martin Sebor <msebor@redhat.com>
501
502 PR tree-optimization/83456
503 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
504 Restore checking of bounded built-in functions.
505 (check_function_arguments): Also return the result
506 of warn_for_restrict.
507 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
508 * gcc/c-family/c-warn.c (warn_for_restrict): Return bool.
509
0805d020
MP
5102018-03-02 Marek Polacek <polacek@redhat.com>
511
512 PR c++/84171
513 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
514 is erroneous.
515
ed2a2f08
TS
5162018-03-02 Thomas Schwinge <thomas@codesourcery.com>
517
518 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
519 function".
520
90abdde0
MP
5212018-03-01 Marek Polacek <polacek@redhat.com>
522
523 PR c++/84639
524 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
525 alignment in computation.
526
c6db43fa
EB
5272018-02-28 Eric Botcazou <ebotcazou@adacore.com>
528
529 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
530 <REAL_TYPE>: Deal specifically with _Float128/__float128.
531
9e25c7ed
EB
5322018-02-28 Eric Botcazou <ebotcazou@adacore.com>
533
534 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
535 (is_char_array): Take a type instead of a declaration.
536 (dump_ada_array_type): Likewise.
537 (is_simple_enum): Minor tweak.
538 (dump_ada_enum_type): New function extracted from...
539 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
540 <INTEGER_TYPE>: Remove unreachable code.
541 <RECORD_TYPE>: Likewise. Minor tweaks.
542 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
543 <ENUMERAL_TYPE>: New case.
544 <RECORD_TYPE>: Factor out common code.
545 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
546 Minor tweaks. Deal with enumeral types.
547 (dump_ada_structure): Minor tweaks.
548
09de3550
EB
5492018-02-28 Eric Botcazou <ebotcazou@adacore.com>
550
551 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
552 address for incomplete structures.
553 (dump_forward_type): Do not bail out for incomplete structures.
554 (dump_ada_declaration): Do not special-case incomplete structures
555 for subtypes. Dump them as null records for types.
556
095d8d4b
EB
5572018-02-28 Eric Botcazou <ebotcazou@adacore.com>
558
559 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
560 (is_char_array): Fix formatting.
561 (dump_template_types): Likewise.
562 (dump_generic_ada_node): Rename into...
563 (dump_ada_node): ...this.
564 <POINTER_TYPE>: Remove superfluous space. Use generic address for
565 incomplete structures and not for empty structures. Do not use it
566 when forward declarations are needed.
567 (dump_forward_type): New function.
568 (dump_nested_types): Remove FORWARD parameter. Do not consider
569 TREE_VISITED and do not generate a forward declaration. Only dump
570 original nested types for nested declaration.
571 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
572 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
573 <RECORD_TYPE>: Do not consider TREE_VISITED.
574 (dump_ada_declaration): Use booleans and fix formatting throughout.
575 <TYPE_DECL>: Skip incomplete structures and not empty structures.
576 Call dump_forward_type instead of dump_nested_types for a typedef.
577 Remove superfluous check and adjust call to dump_nested_types.
578 <POINTER_TYPE>: Call dump_forward_type and fall through.
579 (dump_ada_struct_decl): Rename into...
580 (dump_ada_structure): ...this. Do not special-case empty structures.
581
d4cfd486
MS
5822018-02-27 Martin Sebor <msebor@redhat.com>
583
584 PR c++/83871
585 * c.opt (-Wmissing-attributes): New option.
586
b22dbd03
ML
5872018-02-21 Martin Liska <mliska@suse.cz>
588
589 * c.opt (Wcatch-value=): Add IntegerRange.
590
883dfe2a
JM
5912018-02-15 Jason Merrill <jason@redhat.com>
592
593 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
594
0444aa9c
NS
5952018-02-09 Nathan Sidwell <nathan@acm.org>
596
597 PR c/84293
598 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
599 arg.
600 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
601 arg. Adjust.
602
cea71f0a
MS
6032018-02-09 Martin Sebor <msebor@redhat.com>
604
605 PR lto/84212
606 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
607 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
608 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
609 (-Wstrict-overflow, -Wsuggest-attribute): Same.
610 (-Wuninitialized): Same.
611
8c8b7be5
EB
6122018-02-09 Eric Botcazou <ebotcazou@adacore.com>
613
614 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
615 keyword for components.
616
7c30b12a
PC
6172018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
618
619 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
620
eece7fe5
JK
6212018-02-02 Julia Koval <julia.koval@intel.com>
622
623 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
624
7d07a93a
MP
6252018-01-29 Marek Polacek <polacek@redhat.com>
626
627 PR c/83966
628 * c-format.c (check_function_format): Check current_function_decl.
629
53723269
JJ
6302018-01-27 Jakub Jelinek <jakub@redhat.com>
631
632 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
633 argument.
634 (LAZY_HEX_FP_VALUES_CNT): Define.
635 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
636 values rather than just 12.
637 (builtin_define_with_hex_fp_value): Likewise.
638
7365279f
BK
6392018-01-18 Boris Kolpackov <boris@codesynthesis.com>
640
641 PR other/70268
53723269
JJ
642 * c.opt (-fmacro-prefix-map): New option.
643 * c-opts.c (c_common_handle_option): Handle it.
644 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
645 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 646
bb9869d5
DM
6472018-01-17 David Malcolm <dmalcolm@redhat.com>
648
649 PR c++/83814
650 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
651
68dc87c3
EB
6522018-01-10 Eric Botcazou <ebotcazou@adacore.com>
653
654 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
655 Skip 'f' and 'F' characters if it is true.
656 (store_ada_macro): Minor tweak.
657 (dump_ada_macros) <CPP_COMMENT>: Likewise.
658 <CPP_WSTRING>: Likewise.
659 <CPP_STRING>: Output '&' in the buffer if not the first string.
660 <CPP_NUMBER>: Adjust calls to dump_number.
661
9a004410
DM
6622018-01-10 David Malcolm <dmalcolm@redhat.com>
663
664 PR c++/43486
665 * c-common.c: Include "selftest.h".
666 (get_atomic_generic_size): Perform the test for integral type
667 before the range test for any integer constant, fixing indentation
668 of braces. Call fold_for_warn before testing for an INTEGER_CST.
669 (reject_gcc_builtin): Strip any location wrapper from EXPR.
670 (selftest::test_fold_for_warn): New function.
671 (selftest::c_common_c_tests): New function.
672 (selftest::c_family_tests): Call it, and
673 selftest::c_pretty_print_c_tests.
674 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
675 * c-format.c (check_format_arg): Convert VAR_P check to a
676 fold_for_warn.
677 * c-pretty-print.c: Include "selftest.h".
678 (pp_c_cast_expression): Don't print casts for location wrappers.
679 (selftest::assert_c_pretty_printer_output): New function.
680 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
681 (selftest::test_location_wrappers): New function.
682 (selftest::c_pretty_print_c_tests): New function.
683 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
684
5c0caeb3
RS
6852018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
686 Alan Hayward <alan.hayward@arm.com>
687 David Sherwood <david.sherwood@arm.com>
688
689 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
690
73a699ae
RS
6912018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
692 Alan Hayward <alan.hayward@arm.com>
693 David Sherwood <david.sherwood@arm.com>
694
695 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
696 as polynomial.
697
928686b1
RS
6982018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
699 Alan Hayward <alan.hayward@arm.com>
700 David Sherwood <david.sherwood@arm.com>
701
702 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
703 (convert_vector_to_array_for_subscript): Handle polynomial
704 TYPE_VECTOR_SUBPARTS.
705 (c_common_type_for_mode): Check valid_vector_subparts_p.
706 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
707 VECTOR_CST_NELTS.
708
85ec4feb
JJ
7092018-01-03 Jakub Jelinek <jakub@redhat.com>
710
711 Update copyright years.
712
170a8bd6
EB
7132017-12-22 Mike Stump <mikestump@comcast.net>
714 Eric Botcazou <ebotcazou@adacore.com>
715
716 * c-pragma.c (init_pragma): Register pragma GCC unroll.
717 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
718
18408e96
AO
7192017-12-22 Alexandre Oliva <aoliva@redhat.com>
720
721 PR debug/83527
722 PR debug/83419
723 * c-semantics.c (only_debug_stmts_after_p): New.
724 (pop_stmt_list): Clear side effects in debug-only stmt list.
725 Check for single nondebug stmt followed by debug stmts only.
726
c12d20d4
AO
7272017-12-21 Alexandre Oliva <aoliva@redhat.com>
728
729 PR debug/83419
730 * c-semantics.c (pop_stmt_list): Propagate side effects from
731 single nondebug stmt to container list.
732
01512446
JJ
7332017-12-19 Jakub Jelinek <jakub@redhat.com>
734
735 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
736 conditions with typical order conditions.
737
82cfbd01
MP
7382017-12-18 Marek Polacek <polacek@redhat.com>
739
740 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
741 not in effect.
742
99da11ec
MS
7432017-12-17 Martin Sebor <msebor@redhat.com>
744
745 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
746 an error for attribute warn_if_not_aligned.
747
cc8bea0a
MS
7482017-12-16 Martin Sebor <msebor@redhat.com>
749
750 PR tree-optimization/78918
751 * c-common.c (check_function_restrict): Avoid checking built-ins.
752 * c.opt (-Wrestrict): Include in -Wall.
753
4849deb1
JJ
7542017-12-15 Jakub Jelinek <jakub@redhat.com>
755
756 * c-attribs.c (c_common_attribute_table,
757 c_common_format_attribute_table): Swap affects_type_identity
758 and handler fields, adjust comments.
759
c65e18d3
BE
7602017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
761
762 * c.opt (Wcast-function-type): New warning option.
763 * c-lex.c (get_fileinfo): Avoid warning.
764 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
765
2004617a
QZ
7662017-12-14 Qing Zhao <qing.zhao@oracle.com>
767
7365279f 768 PR middle_end/79538
2004617a
QZ
769 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
770 Adjust the size of buf1 and buf2, add a new buf to avoid
771 format-overflow warning.
772
96a95ac1
AO
7732017-12-12 Alexandre Oliva <aoliva@redhat.com>
774
775 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
776 subsequent statement list.
777
5d9ae53d
MS
7782017-12-07 Martin Sebor <msebor@redhat.com>
779
780 PR c/81544
781 PR c/81566
782 * c-attribs.c (attr_aligned_exclusions): New array.
783 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
784 (attr_common_exclusions, attr_const_pure_exclusions): Same.
785 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
786 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
787 (attr_warn_unused_result_exclusions): Same.
788 (handle_hot_attribute, handle_cold_attribute): Simplify.
789 (handle_const_attribute): Warn on function returning void.
790 (handle_pure_attribute): Same.
791 (handle_aligned_attribute): Diagnose conflicting attribute
792 specifications.
793 * c-warn.c (diagnose_mismatched_attributes): Simplify.
794
c79144f8
DM
7952017-12-06 David Malcolm <dmalcolm@redhat.com>
796
797 PR c/83236
798 * c-common.c (selftest::c_family_tests): Call
799 selftest::c_spellcheck_cc_tests.
800 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
801 * c-spellcheck.cc: Include "selftest.h".
802 (name_reserved_for_implementation_p): New function.
803 (should_suggest_as_macro_p): New function.
804 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
805 should_suggest_as_macro_p and call it.
806 (selftest::test_name_reserved_for_implementation_p): New function.
807 (selftest::c_spellcheck_cc_tests): New function.
808 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
809
613bc14f
DM
8102017-12-06 David Malcolm <dmalcolm@redhat.com>
811
812 * c-spellcheck.cc: New file, taken from macro-handling code in
813 spellcheck-tree.c.
814 * c-spellcheck.h: New file, taken from macro-handling code in
815 spellcheck-tree.h.
816
e76c7157
JJ
8172017-12-01 Jakub Jelinek <jakub@redhat.com>
818
819 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
820 attribute.
821 (handle_simd_attribute): Don't check for "cilk simd function"
822 attribute. Reindent, formatting changes.
823
b0da4034
JK
8242017-11-30 Julia Koval <julia.koval@intel.com>
825
826 * c-common.h (inv_list): Remove.
827
058f0b9e
JJ
8282017-11-28 Jakub Jelinek <jakub@redhat.com>
829
830 PR sanitizer/81275
831 * c-common.c (c_switch_covers_all_cases_p_1,
832 c_switch_covers_all_cases_p): New functions.
833 * c-common.h (c_switch_covers_all_cases_p): Declare.
834
5e9d6aa4
JK
8352017-11-28 Julia Koval <julia.koval@intel.com>
836 Sebastian Peryt <sebastian.peryt@intel.com>
837
838 * array-notation-common.c: Delete.
839 * c-cilkplus.c: Ditto.
840 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
841 * c-common.def (ARRAY_NOTATION_REF): Remove.
842 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
843 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
844 c_validate_cilk_plus_loop, cilkplus_an_parts,
845 cilk_ignorable_spawn_rhs_op,
846 cilk_recognize_spawn): Remove.
847 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
848 * c-omp.c: Remove CILK_SIMD check.
849 * c-pragma.c: Ditto.
850 * c-pragma.h: Remove CILK related pragmas.
851 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
852 ARRAY_NOTATION_REF condition.
853 (c_pretty_printer::expression): Ditto.
854 * c.opt (fcilkplus): Remove.
855 * cilk.c: Delete.
856
1af4ebf5
MG
8572017-11-21 Marc Glisse <marc.glisse@inria.fr>
858
859 * c-pretty-print.c (pp_c_additive_expression,
860 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
861
d44ed508
JJ
8622017-11-21 Jakub Jelinek <jakub@redhat.com>
863
7d2f0f9b
JJ
864 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
865
d44ed508
JJ
866 PR c++/83059
867 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
868 instead of tree_to_uhwi, formatting fix.
869
26edace6
DM
8702017-11-20 David Malcolm <dmalcolm@redhat.com>
871
872 PR c/81404
873 * known-headers.cc: New file, based on material from c/c-decl.c.
874 (suggest_missing_header): Copied as-is.
875 (get_stdlib_header_for_name): New, based on get_c_name_hint but
876 heavily edited to add C++ support. Add some knowledge about
877 <limits.h>, <stdint.h>, and <wchar.h>.
878 * known-headers.h: Likewise.
879
6c7a259b
DM
8802017-11-20 David Malcolm <dmalcolm@redhat.com>
881
882 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
883 (lookup_name_fuzzy): Likewise. Convert return type from
884 const char * to name_hint. Add location_t param.
885 * name-hint.h: New header.
886
f9c59f7e
JJ
8872017-11-19 Jakub Jelinek <jakub@redhat.com>
888
889 PR c/66618
890 PR c/69960
891 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
892
1e39313a
JM
8932017-11-16 Joseph Myers <joseph@codesourcery.com>
894
895 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
896 expected publication date of C17.
897 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
898
3ca0dc60
JM
8992017-11-15 Joseph Myers <joseph@codesourcery.com>
900
901 PR c/81156
902 * c-common.c (c_common_reswords): Add __builtin_tgmath.
903 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
904
025d57f0
MS
9052017-11-10 Martin Sebor <msebor@redhat.com>
906
907 PR c/81117
908 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
909 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
910 * c.opt (-Wstringop-truncation): New option.
911
1b6fa695
ML
9122017-11-06 Martin Liska <mliska@suse.cz>
913
914 PR middle-end/82404
915 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
916 FE.
917 * c.opt: Set default value of warn_return_type.
918
64a5912c
DM
9192017-10-31 David Malcolm <dmalcolm@redhat.com>
920
921 * c-common.c (binary_op_error): Update for renaming of
922 error_at_rich_loc.
923 (c_parse_error): Likewise.
924 * c-warn.c (warn_logical_not_parentheses): Likewise for
925 renaming of inform_at_rich_loc.
926 (warn_for_restrict): Likewise for renaming of
927 warning_at_rich_loc_n.
928
c76dc9c3
JM
9292017-10-30 Joseph Myers <joseph@codesourcery.com>
930
931 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
932 * c-opts.c (set_std_c17): New function.
933 (c_common_init_options): Use gnu17 as default C version.
934 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
935
ee5fd23a
MM
9362017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
937
938 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
939 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
940 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
941 __FP_FAST_FMA<N>X.
942
d1047465
MP
9432017-10-23 Marek Polacek <polacek@redhat.com>
944
945 PR c/82681
946 * c-warn.c (warnings_for_convert_and_check): Fix typos.
947
9e878cf1
EB
9482017-10-19 Eric Botcazou <ebotcazou@adacore.com>
949
950 * c-common.c (check_builtin_function_arguments): Also check arguments
951 of __builtin_alloca_with_align_and_max.
952
89b6abbb
DM
9532017-10-17 David Malcolm <dmalcolm@redhat.com>
954
955 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
956 rather than NULL to format_warning_va.
957 (check_format_types): Likewise when calling format_type_warning.
958 Remove code to extract source_ranges and source_range * in favor
959 of just a location_t.
960 (format_type_warning): Convert source_range * param to a
961 location_t.
962
39382c09
JJ
9632017-10-13 Jakub Jelinek <jakub@redhat.com>
964
965 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
966 [LR]SHIFT_EXPR.
967
62e1c678
DM
9682017-10-12 David Malcolm <dmalcolm@redhat.com>
969
970 * c-common.c (enum missing_token_insertion_kind): New enum.
971 (get_missing_token_insertion_kind): New function.
972 (maybe_suggest_missing_token_insertion): New function.
973 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
974
b90c9338
NS
9752017-10-11 Nathan Sidwell <nathan@acm.org>
976
977 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
978 (c_common_handle_option): Update incpath_kind names.
979
3a266bcd
ML
9802017-10-11 Martin Liska <mliska@suse.cz>
981
982 PR sanitizer/82490
983 * c-attribs.c (handle_no_sanitize_attribute): Report directly
984 Wattributes warning.
985
8e6cdc90
RS
9862017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
987
988 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
989 operating on trees as wide_ints.
990 * c-common.c (pointer_int_sum): Likewise.
991 * c-pretty-print.c (pp_c_integer_constant): Likewise.
992 * c-warn.c (match_case_to_enum_1): Likewise.
993 (c_do_switch_warnings): Likewise.
994 (maybe_warn_shift_overflow): Likewise.
995
802b38c9
JJ
9962017-10-10 Jakub Jelinek <jakub@redhat.com>
997
998 PR c/82437
999 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
1000 instead of wide_int::from.
1001
4e34b338
JJ
10022017-10-06 Jakub Jelinek <jakub@redhat.com>
1003
1004 PR c/82437
1005 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
1006 using to_widest use wide_int with the larger of the two precisions.
1007
4bc4b2b4
BE
10082017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1009
1010 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
1011 functions.
1012
a1488398
RS
10132017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
1014
1015 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
1016 when combining the original unconverted comparison operands.
1017
01c9fb68
JJ
10182017-09-29 Jakub Jelinek <jakub@redhat.com>
1019
1020 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
1021 attribute.
1022
6e3e8419
EB
10232017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1024
1025 * c-ada-spec.c (to_ada_name): Add index parameter.
1026 (pp_ada_tree_identifier): Likewise.
1027 (dump_ada_macros): Adjust call to to_ada_name.
1028 (struct overloaded_name_hash): New type.
1029 (struct overloaded_name_hasher): Likewise.
1030 (overloaded_names): New hash table.
1031 (compute_overloading_index): New function.
1032 (dump_ada_decl_name): Call it and pass the result to
1033 pp_ada_tree_identifier.
1034 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1035 (dump_ada_function_declaration): Likewise.
1036 (dump_generic_ada_node): Likewise.
1037 (print_constructor): Likewise.
1038 (print_destructor): Likewise.
1039 (dump_ada_specs): Delete overloaded_names table.
1040
79310774
EB
10412017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1042
1043 * c-ada-spec.c (max_ada_macros): Move around.
1044 (store_ada_macro_index): Likewise.
1045 (source_file): Rename into...
1046 (macro_source_file): ...this.
1047 (count_ada_macro): Move around.
1048 (store_ada_macro): Likewise.
1049 (compare_macro): Likewise.
1050 (print_ada_macros): Merge in...
1051 (dump_ada_macros): ...this.
1052 (source_file_base): Rename into...
1053 (current_source_file): ...this.
1054 (print_comment): Move around.
1055 (dump_ada_nodes): Call dump_ada_declaration directly.
1056 (struct with): Change type of limited field to bool.
1057 (append_withs): Change type of limited_access parameter to bool.
1058 (pp_ada_tree_identifie): Likewise.
1059 (dump_ada_decl_nam): Likewise.
1060 (dump_generic_ada_node): Likewise. Do not print the return type.
1061 (to_ada_name): Change type of space_found parameter to bool.
1062 (dump_ada_function_declaration): Return void and change type of
1063 parameters to bool. Also print the return type for a function.
1064 (print_ada_methods): Rename into...
1065 (dump_ada_methods): ...this.
1066 (print_ada_declaration): Rename into ...
1067 (dump_ada_declaration): ...this. Do not print the return type.
1068 (print_ada_struct_decl): Rename into...
1069 (dump_ada_struct_decl): ...this.
1070
7d386d45
JJ
10712017-09-29 Jakub Jelinek <jakub@redhat.com>
1072
1073 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
1074 rather than DECL_INITIAL.
1075 (common_handle_aligned_attribute): Likewise.
1076
9ed32e27
AO
10772017-09-20 Alexandre Oliva <aoliva@redhat.com>
1078
1079 * c.opt (gen-decls): Add RejectNegative.
1080
026a79f7
AS
10812017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
1082 Jakub Jelinek <jakub@redhat.com>
1083
1084 Add support for -std=c++2a.
1085 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
1086 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
1087 * c-opts.c (set_std_cxx2a): New.
1088 (c_common_handle_option): Set options when -std=c++2a is enabled.
1089 (c_common_post_options): Adjust comments.
1090 (set_std_cxx14, set_std_cxx17): Likewise.
1091
4a8ca690
EB
10922017-09-15 Eric Botcazou <ebotcazou@adacore.com>
1093
1094 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
1095 message for non-uniform endianness and issue a warning in C++.
1096
7b936140
JJ
10972017-09-15 Jakub Jelinek <jakub@redhat.com>
1098
1099 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
1100 (Wc++17-compat): Change from undocumented alias to option.
1101 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
1102 change C++1z to C++17 in description.
1103 (std=c++1z, std=gnu++1z): Change from option to undocumented
1104 deprecated alias.
1105 (std=c++17, std=gnu++17): Change from undocumented alias to option.
1106 Adjust description.
1107 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
1108 * c-opts.c (set_std_cxx1z): Rename to ...
1109 (set_std_cxx17): ... this.
1110 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
1111 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 1112 caller.
7b936140
JJ
1113 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
1114 comments.
1115
12263f13
L
11162017-09-12 H.J. Lu <hongjiu.lu@intel.com>
1117
1118 * c-attribs.c (common_handle_aligned_attribute): Don't warn
1119 function alignment if warn_if_not_aligned_p is true.
1120
6836632e
NS
11212017-09-12 Nathan Sidwell <nathan@acm.org>
1122
1123 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
1124 resort_sorted_fields): Move to c/c-decl.c.
1125 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
1126 (struct sorted_fields_type): Move to c/c-lang.h.
1127
019bf9ad
JW
11282017-09-09 Jonathan Wakely <jwakely@redhat.com>
1129
1130 PR c++/81852
1131 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
1132
bc7fe952
MP
11332017-09-04 Marek Polacek <polacek@redhat.com>
1134
1135 PR c/81783
1136 * c-warn.c (warn_tautological_bitwise_comparison): New function.
1137 (warn_tautological_cmp): Call it.
1138
de7c2c6a
BK
11392017-09-01 Boris Kolpackov <boris@codesynthesis.com>
1140
1141 * c-opts.c (c_common_finish): Write dependency information even if
1142 there are errors.
1143
d2e05fcb
JJ
11442017-09-01 Jakub Jelinek <jakub@redhat.com>
1145
1146 PR c/81887
1147 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
1148 (omp_pragmas_simd): ... here.
1149 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
1150 create new clauses list containing just simd clause.
1151
18e2a8b8
RS
11522017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1153 Alan Hayward <alan.hayward@arm.com>
1154 David Sherwood <david.sherwood@arm.com>
1155
1156 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
1157 into scalar_mode_supported_p call.
1158 (handle_mode_attribute): Update call to scalar_mode_supported_p.
1159
16d22000
RS
11602017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1161 Alan Hayward <alan.hayward@arm.com>
1162 David Sherwood <david.sherwood@arm.com>
1163
1164 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
1165 for the mode iterator.
1166
b397965c
RS
11672017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1168 Alan Hayward <alan.hayward@arm.com>
1169 David Sherwood <david.sherwood@arm.com>
1170
1171 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
1172 * c-common.c (c_build_vec_perm_expr): Likewise.
1173
357b7604
RS
11742017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1175 Alan Hayward <alan.hayward@arm.com>
1176 David Sherwood <david.sherwood@arm.com>
1177
1178 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
1179
e05c94ba
RS
11802017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1181 Alan Hayward <alan.hayward@arm.com>
1182 David Sherwood <david.sherwood@arm.com>
1183
1184 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
1185 before calling targetm.addr_space.valid_pointer_mode.
1186
5c20c4af
RS
11872017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1188 Alan Hayward <alan.hayward@arm.com>
1189 David Sherwood <david.sherwood@arm.com>
1190
1191 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
1192
c94843d2
RS
11932017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1194 Alan Hayward <alan.hayward@arm.com>
1195 David Sherwood <david.sherwood@arm.com>
1196
1197 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
1198 iterators.
1199 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1200
4e10a5a7
RS
12012017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1202 Alan Hayward <alan.hayward@arm.com>
1203 David Sherwood <david.sherwood@arm.com>
1204
1205 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
1206 case statements.
1207
130fcab0
ML
12082017-08-29 Martin Liska <mliska@suse.cz>
1209
1210 PR other/39851
1211 * c-common.c (parse_optimize_options): Add argument to function
1212 call.
1213 * c-pragma.c (handle_pragma_diagnostic): Likewise.
1214
14e18d71
DM
12152017-08-24 David Malcolm <dmalcolm@redhat.com>
1216
1217 * c-lex.c (interpret_float): Use token location
1218 when building an EXCESS_PRECISION_EXPR.
1219
2f687306
DM
12202017-08-21 David Malcolm <dmalcolm@redhat.com>
1221
1222 * c-common.c (check_function_arguments): Add "arglogs" param; pass
1223 it to check_function_format.
1224 * c-common.h (check_function_arguments): Add vec<location_t> *
1225 param.
1226 (check_function_format): Likewise.
1227 * c-format.c (struct format_check_context): Add field "arglocs".
1228 (check_function_format): Add param "arglocs"; pass it to
1229 check_format_info.
1230 (check_format_info): Add param "arglocs"; use it to initialize
1231 new field of format_ctx.
1232 (check_format_arg): Pass format_ctx->arglocs to new param of
1233 check_format_info_main.
1234 (class argument_parser): New field "arglocs".
1235 (argument_parser::argument_parser): Add "arglocs_" param and use
1236 it to initialize new field.
1237 (argument_parser::check_argument_type): Pass new arglocs field to
1238 check_format_types.
1239 (check_format_info_main): Add param "arglocs", and use it when
1240 constructing arg_parser.
1241 (check_format_types): Add param "arglocs"; use it if non-NULL when
1242 !EXPR_HAS_LOCATION (cur_param) to get at location information.
1243
00aa1fa2
L
12442017-08-18 H.J. Lu <hongjiu.lu@intel.com>
1245
1246 PR c/53037
1247 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
1248 (c_common_attribute_table): Add warn_if_not_aligned.
1249 (handle_aligned_attribute): Renamed to ...
1250 (common_handle_aligned_attribute): Remove argument, name, and add
1251 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
1252 (handle_aligned_attribute): New.
1253 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
1254
27be025d
MS
12552017-08-14 Martin Sebor <msebor@redhat.com>
1256
1257 PR c/81117
1258 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
1259 (handle_nonstring_attribute): New function.
1260
da67acb9
MS
12612017-08-14 Martin Sebor <msebor@redhat.com>
1262
1263 PR c/81117
1264 * c-format.h (T89_G): New macro.
1265 * c-format.c (local_gcall_ptr_node): New variable.
1266 (init_dynamic_diag_info): Initialize it.
1267
a8b522b4
ML
12682017-08-11 Martin Liska <mliska@suse.cz>
1269
1270 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
1271 TARGET_SUPPORTS_ALIASES.
1272
32129a17
DM
12732017-08-10 David Malcolm <dmalcolm@redhat.com>
1274
1275 * c-common.c (c_parse_error): Add rich_location * param, using it
1276 rather implicitly using input_location.
1277 * c-common.h (c_parse_error): Add rich_location * param.
1278
30af3a2b
MP
12792017-08-09 Marek Polacek <polacek@redhat.com>
1280
1281 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
1282 (c_common_truthvalue_conversion): Likewise.
1283 * c-omp.c (c_finish_omp_atomic): Likewise.
1284 * c-common.h (build_binary_op): Update declaration.
1285
314e6352
ML
12862017-08-08 Martin Liska <mliska@suse.cz>
1287
1288 * c-ada-spec.c: Include header files.
1289 * c-ubsan.c: Likewise.
1290 * c-warn.c: Likewise.
1291
56b5041c
JJ
12922017-08-07 Jakub Jelinek <jakub@redhat.com>
1293
1294 PR c/69389
1295 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
1296
db440138
EB
12972017-08-07 Eric Botcazou <ebotcazou@adacore.com>
1298
1299 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
1300 (print_ada_methods): Likewise.
1301 (print_ada_declaration): Likewise.
1302
577eec56
ML
13032017-08-07 Martin Liska <mliska@suse.cz>
1304
1305 * array-notation-common.c: Add new includes.
1306 * c-format.c( handle_format_attribute): Canonicalize a format
1307 function name.
1308 * c-lex.c (c_common_has_attribute): Canonicalize name of an
1309 attribute.
1310 * c-pretty-print.c: Add new include.
1311
b854df3c
EB
13122017-08-05 Eric Botcazou <ebotcazou@adacore.com>
1313
1314 * c-ada-spec.c (has_static_fields): Look only into variables.
1315 (print_constructor): Add TYPE parameter and use it for the name.
1316 (print_destructor): Likewise.
1317 (print_ada_declaration): Adjust to new constructor/destructor names.
1318 Adjust calls to print_constructor and print_destructor.
1319 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
1320 Look only into variables in the final loop.
1321
9f2cb25e
EB
13222017-08-01 Eric Botcazou <ebotcazou@adacore.com>
1323
1324 * c-ada-spec.c (has_static_fields): Look only into fields.
1325 (dump_generic_ada_node): Small tweak.
1326 (dump_nested_types): Look only into fields.
1327 (print_ada_declaration): Look only into methods. Small tweak.
1328 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
1329
f4bcd9eb
EB
13302017-08-01 Eric Botcazou <ebotcazou@adacore.com>
1331
1332 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
1333 (dump_ada_function_declaration): Likewise.
1334 (dump_generic_ada_node): Likewise.
1335 (print_ada_declaration): Add support for const-qualified variables.
1336
f34ebeb2
ML
13372017-07-31 Martin Liska <mliska@suse.cz>
1338
1339 PR sanitize/81530
1340 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
1341 Guard condition with flag_sanitize_p also with current_function_decl
1342 non-null equality.
1343 (ubsan_maybe_instrument_reference_or_call): Likewise.
1344
218e5d04
UB
13452017-07-30 Uros Bizjak <ubizjak@gmail.com>
1346
1347 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
1348
942047f2
EB
13492017-07-29 Eric Botcazou <ebotcazou@adacore.com>
1350
1351 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
1352 for enumeral types.
1353 (print_ada_declaration): Add missing guard for record types.
1354
a40ff0ae
JJ
13552017-07-27 Jakub Jelinek <jakub@redhat.com>
1356
1357 PR c/45784
1358 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
1359 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
1360 new COMPOUND_EXPRs around the rhs of the comparison.
1361
06bd22f6
MP
13622017-07-27 Marek Polacek <polacek@redhat.com>
1363
1364 PR c/81417
1365 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
1366 the types.
1367
036ea399
JJ
13682017-07-27 Jakub Jelinek <jakub@redhat.com>
1369
1370 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
1371 (handle_noipa_attribute): New function.
1372
417ca011
TD
13732017-07-07 Torsten Duwe <duwe@suse.de>
1374
1375 * c-attribs.c (c_common_attribute_table): Add entry for
1376 "patchable_function_entry".
1377
5aaa8fb4
NS
13782017-07-20 Nathan Sidwell <nathan@acm.org>
1379
1380 Remove TYPE_METHODS.
1381 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
1382 dump_ada_template, print_ada_methods,
1383 print_ada_declaration): Member fns are on TYPE_FIELDS.
1384
ff22eb12
NS
13852017-07-18 Nathan Sidwell <nathan@acm.org>
1386
1387 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
1388
eea77d1f
DM
13892017-07-14 David Malcolm <dmalcolm@redhat.com>
1390
1391 * c-common.c (try_to_locate_new_include_insertion_point): New
1392 function.
1393 (per_file_includes_t): New typedef.
1394 (added_includes_t): New typedef.
1395 (added_includes): New variable.
1396 (maybe_add_include_fixit): New function.
1397 * c-common.h (maybe_add_include_fixit): New decl.
1398
281ac396
MS
13992017-07-10 Martin Sebor <msebor@redhat.com>
1400
1401 PR other/81345
1402 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
1403
b6f43128
DM
14042017-07-06 David Malcolm <dmalcolm@redhat.com>
1405
1406 * c-common.c (selftest::c_family_tests): New.
1407 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
1408 (selftest::c_family_tests): New decl.
1409
efbf55b0
MP
14102017-07-04 Marek Polacek <polacek@redhat.com>
1411
1412 PR c/81231
1413 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
1414 types.
1415
6c86bd88
MP
14162017-07-04 Marek Polacek <polacek@redhat.com>
1417
1418 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
1419
17a7218b
ML
14202017-06-28 Martin Liska <mliska@suse.cz>
1421
1422 PR ipa/81128
1423 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
1424 to a function declaration.
1425
63010089
ML
14262017-06-28 Martin Liska <mliska@suse.cz>
1427
1428 PR driver/79659
1429 * c.opt: Add IntegerRange to various options.
1430
3e2becc4
MP
14312017-06-26 Marek Polacek <polacek@redhat.com>
1432
1433 PR c/80116
1434 * c-common.h (warn_for_multistatement_macros): Declare.
1435 * c-warn.c: Include "c-family/c-indentation.h".
1436 (warn_for_multistatement_macros): New function.
1437 * c.opt (Wmultistatement-macros): New option.
1438 * c-indentation.c (guard_tinfo_to_string): No longer static.
1439 Change the parameter type to "enum rid". Handle RID_SWITCH.
1440 * c-indentation.h (guard_tinfo_to_string): Declare.
1441
2db9b7cd
MG
14422017-06-23 Marc Glisse <marc.glisse@inria.fr>
1443
1444 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
1445
c3684b7b
MS
14462017-06-15 Martin Sebor <msebor@redhat.com>
1447
1448 PR c++/80560
1449 * c.opt (-Wclass-memaccess): New option.
1450
e72c4afd
BK
14512017-06-14 Boris Kolpackov <boris@codesynthesis.com>
1452
1453 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
1454
8a516588
MP
14552017-06-13 Marek Polacek <polacek@redhat.com>
1456
1457 PR objc/80949
1458 * c-warn.c (do_warn_duplicated_branches): Return if any of the
1459 branches is null.
1460
45b2222a
ML
14612017-06-13 Martin Liska <mliska@suse.cz>
1462
1463 PR sanitize/78204
1464 * c-attribs.c (add_no_sanitize_value): New function.
1465 (handle_no_sanitize_attribute): Likewise.
1466 (handle_no_sanitize_address_attribute): Use the function.
1467 (handle_no_sanitize_thread_attribute): New function.
1468 (handle_no_address_safety_analysis_attribute): Use
1469 add_no_sanitize_value.
1470 (handle_no_sanitize_undefined_attribute): Likewise.
1471 * c-common.h: Declare new functions.
1472 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
1473 (ubsan_instrument_shift): Likewise.
1474 (ubsan_instrument_bounds): Likewise.
1475 (ubsan_maybe_instrument_array_ref): Likewise.
1476 (ubsan_maybe_instrument_reference_or_call): Likewise.
1477
a01f151f
JM
14782017-06-11 Jason Merrill <jason@redhat.com>
1479
1480 * c-ada-spec.c, c-pragma.c: Use id_equal.
1481
3de4ac6d
MP
14822017-06-04 Marek Polacek <polacek@redhat.com>
1483
1484 PR c/80919
1485 * c-format.c (matching_type_p): Return false if any of the types
1486 requires structural equality.
1487
2474f48f
MS
14882017-06-02 Martin Sebor <msebor@redhat.com>
1489
1490 PR c/80892
1491 * c-warn.c (conversion_warning): Use -Wconversion for integer
1492 conversion and -Wfloat-conversion for floating one.
1493
40ffd95f
BE
14942017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1495
1496 * c.opt (Wsizeof-pointer-div): New warning option.
1497
3fa4634c
VR
14982017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
1499
1500 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
1501 (Wcatch-value=1): Enable by -Wall.
1502
f012c8ef
DM
15032017-05-30 David Malcolm <dmalcolm@redhat.com>
1504
1505 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
1506 format_chars.
1507 * c.opt (fdiagnostics-show-template-tree): New option.
1508 (felide-type): New option.
1509
63dbcd13
VR
15102017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
1511
1512 * c.opt (Wcatch-value=): New C++ warning flag.
1513
be136b5c
NS
15142017-05-24 Nathan Sidwell <nathan@acm.org>
1515
1516 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
1517 const casts to avoid warning.
1518
3cd211af
MS
15192017-05-24 Martin Sebor <msebor@redhat.com>
1520
1521 PR c/80731
1522 * c-common.h (unsafe_conversion_p): Add a function argument.
1523 * c-common.c (unsafe_conversion_p): Same.
1524 Add type names and values to diagnostics.
1525 (scalar_to_vector): Adjust.
1526 * c-warn.c (constant_expression_error): Add a function argument.
1527 Add type names and values to diagnostics.
1528 (conversion_warning): Add a function argument.
1529 Add type names and values to diagnostics.
1530 (warnings_for_convert_and_check): Same.
1531
1ff7be5a
JM
15322017-05-19 Jason Merrill <jason@redhat.com>
1533
1534 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
1535 enumerators.
1536
ff502317
BE
15372017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1538
1539 * c-format.c (locus): Move out of function scope,
1540 add GTY attribute.
1541
2a8a8d7b
NS
15422017-05-19 Nathan Sidwell <nathan@acm.org>
1543
1544 * c-opts.c (class_dump_file, class_dump_flags): Delete.
1545 (c_common_parse_file): Remove class dump handling.
1546 (get_dump_info): Likewise.
1547
39aac208
RB
15482017-05-19 Richard Biener <rguenther@suse.de>
1549
1550 PR c++/80593
1551 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
1552 to alias-set zero memory.
1553
6ecd2339
BE
15542017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
1555
1556 * c-format.c (local_tree_type_node): Add GTY attribute.
1557
6574d78e
MP
15582017-05-18 Marek Polacek <polacek@redhat.com>
1559
1560 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
1561 (c_common_fixed_point_type_for_size): Likewise.
1562 (c_common_type_for_mode): Likewise.
1563 (shorten_compare): Likewise.
1564 (c_promoting_integer_type_p): Use false/true instead of 0/1.
1565 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
1566
e3455240
MP
15672017-05-18 Marek Polacek <polacek@redhat.com>
1568
1569 * c-common.c (self_promoting_args_p): Change the return type to bool.
1570 Use false/true instead of 0/1.
1571 * c-common.h (self_promoting_args_p): Update.
1572
3fa8871b
MP
15732017-05-17 Marek Polacek <polacek@redhat.com>
1574
1575 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
1576 * c-warn.c: Likewise.
1577
b42cc3ca
VV
15782017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
1579
1580 Implement new C++ intrinsics __is_assignable and __is_constructible.
1581 * c-common.c (__is_assignable, __is_constructible): New.
1582 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
1583
1a817418
ML
15842017-05-17 Martin Liska <mliska@suse.cz>
1585
1586 * c-common.h: Introduce dump_flags_t type and
1587 use it instead of int type.
1588 * c-gimplify.c (c_genericize): Likewise.
1589 * c-opts.c: Likewise.
1590
b2fa0a8b
MP
15912017-05-17 Marek Polacek <polacek@redhat.com>
1592
1593 * c-common.c (c_save_expr): Remove.
1594 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
1595 * c-common.h (c_save_expr): Remove declaration.
1596
31c2d57d
VR
15972017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
1598
1599 PR c/35441
1600 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
1601 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
1602 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
1603 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
1604 RDIV_EXPR.
1605 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
1606
684f84de
MP
16072017-05-09 Marek Polacek <polacek@redhat.com>
1608
1609 PR c/80525
1610 * c-warn.c (unwrap_c_maybe_const): New.
1611 (warn_logical_operator): Call it.
1612
641da50a
NS
16132017-05-09 Nathan Sidwell <nathan@acm.org>
1614
1615 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
1616 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
1617
631238ac
MS
16182017-05-08 Martin Sebor <msebor@redhat.com>
1619
1620 PR translation/80280
1621 * c-format.h (struct format_flag_spec): Add new member.
1622 (T89_T): New macro.
1623 * c-format.c (local_tree_type_node): New global.
1624 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
1625 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
1626 (strfmon_flag_specs): Likewise.
1627 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
1628 with distinct quoting properties.
1629 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
1630 (flag_chars_t::validate): Add argument and handle bad quoting.
1631 (check_format_info_main): Handle quoting problems.
1632 (init_dynamic_diag_info): Simplify.
1633
49f0c04c
JM
16342017-05-08 Jason Merrill <jason@redhat.com>
1635
1636 * c-opts.c (c_common_post_options): Update defaults for
1637 flag_abi_version and flag_abi_compat_version.
1638
56d35585
DM
16392017-05-05 David Malcolm <dmalcolm@redhat.com>
1640
1641 * c-common.c (c_cpp_error): Replace report_diagnostic
1642 with diagnostic_report_diagnostic.
1643
0f2c4a8f
MS
16442017-05-04 Martin Sebor <msebor@redhat.com>
1645
1646 PR translation/80280
1647 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
1648 (handle_weakref_attribute): Same.
1649
6fe63fb4
NS
16502017-05-03 Nathan Sidwell <nathan@acm.org>
1651
1652 Canonicalize canonical type hashing
1653 * c-common.c (complete_array_type): Use type_hash_canon.
1654
815d9cc6
XR
16552017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
1656
1657 PR c++/80038
1658 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
1659 prototype.
1660 (cilk_install_body_pedigree_operations): Likewise.
1661 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
1662 detatched.
1663 (cilk_gimplify_call_params_in_spawned_fn): Remove.
1664 (cilk_install_body_pedigree_operations): Likewise.
1665 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
1666 unwrapping.
1667
f8a36447
JJ
16682017-04-27 Jakub Jelinek <jakub@redhat.com>
1669
1670 PR c++/80534
1671 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
1672 flag on non-aggregate element types.
1673
7c145456
BE
16742017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
1675
1676 * c-common.c (c_type_hasher, type_hash_table): Remove.
1677 (c_common_get_alias_set): Remove unreachable code.
1678 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
1679
c3cbcd45
VR
16802017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
1681
1682 * c.opt (Wextra-semi): New C++ warning flag.
1683
8a59d466
JJ
16842017-04-20 Jakub Jelinek <jakub@redhat.com>
1685
1686 PR middle-end/80423
1687 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
1688
8487c9a5
JJ
16892017-04-18 Jakub Jelinek <jakub@redhat.com>
1690
1691 PR middle-end/79788
1692 PR middle-end/80375
1693 * c-common.c (c_common_type_for_mode): Don't handle
1694 widest_*_literal_type_node here.
1695 c_common_signed_or_unsigned_type): Likewise.
1696 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
1697 to *intTI_type_node or *intDI_type_node depending on whether
1698 TImode is supported by the target or not.
1699
3ee0fb02
ML
17002017-04-10 Martin Liska <mliska@suse.cz>
1701
1702 PR sanitizer/80350
1703 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
1704 doing an UBSAN check.
1705
5764ee3c
JW
17062017-04-03 Jonathan Wakely <jwakely@redhat.com>
1707
1708 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
1709
6f3af356
JJ
17102017-03-31 Jakub Jelinek <jakub@redhat.com>
1711
1712 PR c++/79572
1713 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
1714 tree *.
1715 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
1716 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
1717 REFERENCE_TYPE.
1718
f6a7a9d5
DM
17192017-03-31 David Malcolm <dmalcolm@redhat.com>
1720
1721 PR documentation/78732
1722 * c.opt (Wendif-labels): Fix description to refer to
1723 #else rather than #elif.
1724
af88f557
JJ
17252017-03-31 Jakub Jelinek <jakub@redhat.com>
1726
1727 PR libstdc++/80251
1728 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
1729 * c-common.c (c_common_reswords): Add __is_aggregate trait.
1730
a9e4a1a5
JJ
17312017-03-27 Jakub Jelinek <jakub@redhat.com>
1732
1733 PR middle-end/80162
1734 * c-common.c (c_common_mark_addressable_vec): Don't set
1735 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
1736
3f01b620
MS
17372017-03-21 Martin Sebor <msebor@redhat.com>
1738
1739 PR c++/79548
1740 * c-common.c (set_underlying_type): Mark type used only when
1741 original del is declared unused.
1742
2f6f187a
DM
17432017-03-10 David Malcolm <dmalcolm@redhat.com>
1744
1745 PR translation/79848
1746 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
1747 "%qs".
1748
a02fa805
DM
17492017-03-10 David Malcolm <dmalcolm@redhat.com>
1750
1751 PR c/79921
1752 * c-indentation.c (warn_for_misleading_indentation): Remove parens
1753 from inform's message, so that xgettext can locate it.
1754
822a132c
MP
17552017-03-09 Marek Polacek <polacek@redhat.com>
1756
1757 PR c++/79962
1758 PR c++/79984
1759 * c-attribs.c (handle_nonnull_attribute): Save the result of default
1760 conversion to the attribute list.
1761
bba81f1c
ML
17622017-03-09 Martin Liska <mliska@suse.cz>
1763
1764 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
1765
108154ff
JM
17662017-03-03 Jason Merrill <jason@redhat.com>
1767
1768 * c.opt (Wnoexcept-type): New.
1769
eb0e7c34
RB
17702017-03-02 Richard Biener <rguenther@suse.de>
1771
1772 PR c/79756
1773 * c-common.c (c_common_mark_addressable_vec): Look through
1774 C_MAYBE_CONST_EXPR.
1775
9453ba0a
ML
17762017-02-28 Martin Liska <mliska@suse.cz>
1777
1778 * c.opt: Replace space with tabular for options of <number>
1779 type.
1780
6a825afe
ML
17812017-02-28 Martin Liska <mliska@suse.cz>
1782
1783 * c.opt: Fix --help=option -Q for options which are of
1784 an enum type.
1785
4227c9ad
JJ
17862017-02-24 Jakub Jelinek <jakub@redhat.com>
1787
1788 PR c++/79588
1789 * c-common.c (check_function_restrict): New function.
1790 (check_function_arguments): Add FNDECL argument. Call
1791 check_function_restrict if -Wrestrict.
1792 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
1793 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
1794 * c-common.h (check_function_arguments): Add FNDECL argument.
1795 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
1796
59909673
EB
17972017-02-24 Eric Botcazou <ebotcazou@adacore.com>
1798
1799 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
1800 treatment of parameters with pointer-to-tagged type and tidy up.
1801 (print_ada_methods): Remove the special treatment of C++ static member
1802 functions.
1803
54dcd526
ML
18042017-02-22 Martin Liska <mliska@suse.cz>
1805
1806 * c.opt: Replace inequality signs with square brackets
1807 for -Wnornalized.
1808
00bc9de3
JJ
18092017-02-21 Jakub Jelinek <jakub@redhat.com>
1810
1811 PR c++/79641
1812 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
1813 preserve quals.
1814
97fcf744
JM
18152017-02-17 Joseph Myers <joseph@codesourcery.com>
1816
1817 * c-cppbuiltin.c (builtin_define_float_constants): Define
1818 __DECIMAL_DIG__ to the value for long double.
1819
c7545f1c
MP
18202017-02-15 Marek Polacek <polacek@redhat.com>
1821
1822 PR c/79515
1823 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
1824 conversion has occured.
1825
c2e84327
DM
18262017-01-24 David Malcolm <dmalcolm@redhat.com>
1827
1828 * c-common.c (c_common_reswords): Add "__RTL".
1829 * c-common.h (enum rid): Add RID_RTL.
1830
2ebd93e1
MP
18312017-01-20 Marek Polacek <polacek@redhat.com>
1832
1833 PR c/64279
1834 * c-common.h (do_warn_duplicated_branches_r): Declare.
1835 * c-gimplify.c (c_genericize): Walk the function tree calling
1836 do_warn_duplicated_branches_r.
1837 * c-warn.c (expr_from_macro_expansion_r): New.
1838 (do_warn_duplicated_branches): New.
1839 (do_warn_duplicated_branches_r): New.
1840 * c.opt (Wduplicated-branches): New option.
1841
0d80ab91
DM
18422017-01-17 David Malcolm <dmalcolm@redhat.com>
1843
1844 PR c++/71497
1845 * c-indentation.c (warn_for_misleading_indentation): Use the past
1846 subjunctive in the note.
1847
7f991c36
AH
18482017-01-17 Aldy Hernandez <aldyh@redhat.com>
1849
1850 PR c/79116
1851 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
1852 start type to integer_type.
1853
1c70261c
JJ
18542017-01-16 Jakub Jelinek <jakub@redhat.com>
1855
1856 PR driver/49726
1857 * c.opt (gen-decls): Add Driver flag.
1858
1ddca3f3
PC
18592017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1860
1861 Revert:
1862 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1863
1864 PR c++/71737
1865 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
1866
7d2f3f1d
PC
18672017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1868
1869 PR c++/71737
1870 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
1871
bce6f760
MS
18722017-01-12 Martin Sebor <msebor@redhat.com>
1873
1874 (-Wformat-overflow): ...to this.
1875
bf5fbf46
MS
18762017-01-11 Martin Sebor <msebor@redhat.com>
1877
1878 PR c/78768
1879 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
1880 Also enable for LTO.
1881
e363df3f
JM
18822017-01-10 Jason Merrill <jason@redhat.com>
1883
1884 Implement P0195R2, C++17 variadic using.
1885 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
1886
bd2c6270
JJ
18872017-01-09 Jakub Jelinek <jakub@redhat.com>
1888
1889 PR translation/79019
1890 PR translation/79020
1891 * c.opt (Wnormalized=): Fix typo in description.
1892
efcc8d38
MS
18932017-01-08 Martin Sebor <msebor@redhat.com>
1894
1895 PR middle-end/77708
1896 * c.opt (-Wformat-truncation): New option.
1897
435f3f7a
AO
18982017-01-06 Alexandre Oliva <aoliva@redhat.com>
1899
1900 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
1901 value to unsigned short to fit in 4 hex digits without
1902 warnings.
1903
4e89adf9
EB
19042017-01-05 Eric Botcazou <ebotcazou@adacore.com>
1905
1906 * c.opt (fsso-struct): Add 'native' value.
1907
cd445b54
ML
19082017-01-05 Martin Liska <mliska@suse.cz>
1909
1910 PR pch/78970
1911 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
1912 header.
1913
a9342885
MP
19142017-01-04 Marek Polacek <polacek@redhat.com>
1915
1916 PR c++/64767
1917 * c.opt (Wpointer-compare): New option.
1918
fc73e60c
JJ
19192017-01-04 Jakub Jelinek <jakub@redhat.com>
1920
1921 PR driver/78957
1922 * c.opt (fsso-struct=): Add RejectNegative.
1923
cbe34bb5
JJ
19242017-01-01 Jakub Jelinek <jakub@redhat.com>
1925
1926 Update copyright years.
1927
d4a6c0ea
ML
19282016-12-29 Martin Liska <mliska@suse.cz>
1929
1930 PR c/78933
1931 * c.opt (strong-eval-order): Add RejectNegative keyword.
1932
67a5ad7c
JM
19332016-12-22 Jason Merrill <jason@redhat.com>
1934
1935 Implement P0522R0, matching of template template arguments.
1936 * c-cppbuiltin.c (c_cpp_builtins): Define
1937 __cpp_template_template_args.
1938
0dba7960
JJ
19392016-12-21 Jakub Jelinek <jakub@redhat.com>
1940
1941 PR bootstrap/78817
1942 * c-common.c (struct nonnull_arg_ctx): New type.
1943 (check_function_nonnull): Return bool instead of void. Use
1944 nonnull_arg_ctx as context rather than just location_t.
1945 (check_nonnull_arg): Adjust for the new context type, set
1946 warned_p to true if a warning has been diagnosed.
1947 (check_function_arguments): Return bool instead of void.
1948 * c-common.h (check_function_arguments): Adjust prototype.
1949
31bfc9b9
JM
19502016-12-21 Jason Merrill <jason@redhat.com>
1951
1952 * c.opt (-fnew-ttp-matching): New flag.
1953 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
1954
629b3d75
MJ
19552016-12-14 Martin Jambor <mjambor@suse.cz>
1956
1957 * c-omp.c: Include omp-general.h instead of omp-low.h.
1958 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
1959 name.
1960
474da67e
MS
19612016-12-14 Martin Sebor <msebor@redhat.com>
1962
1963 PR c/17308
1964 * c-common.c (check_nonnull_arg): Disable when optimization
1965 is enabled.
1966
fe366b87
MP
19672016-12-12 Marek Polacek <polacek@redhat.com>
1968
1969 PR c++/78647
1970 * c-common.c (attribute_fallthrough_p): Return false for
1971 error_mark_node.
1972
8bd9f164
MS
19732016-12-08 Martin Sebor <msebor@redhat.com>
1974
1975 PR c/78284
1976 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
1977
060162e0
MS
19782016-12-08 Martin Sebor <msebor@redhat.com>
1979
1980 PR c/78165
1d0cf89a
MS
1981 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
1982 suffix.
060162e0 1983
ee92e7ba
MS
19842016-12-07 Martin Sebor <msebor@redhat.com>
1985
1986 PR c/53562
1987 PR middle-end/77784
1988 PR middle-end/78149
1989 PR middle-end/78138
1990 * c.opt (-Wstringop-overflow): New option.
1991
84b0769e
MO
19922016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
1993
1994 * c-attribs.c (asan odr indicator): New attribute.
1995 (handle_asan_odr_indicator_attribute): New function.
1996
7fa6a965
PK
19972016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1998
1999 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
2000 ptrdiff_type_node;
2001
56d8ffc1
JG
20022016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2003
2004 * c-common.c (excess_precision_mode_join): New.
2005 (c_ts18661_flt_eval_method): New.
2006 (c_c11_flt_eval_method): Likewise.
2007 (c_flt_eval_method): Likewise.
2008 * c-common.h (excess_precision_mode_join): New.
2009 (c_flt_eval_method): Likewise.
2010 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
2011 (cpp_iec_559_value): Call it.
2012 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
2013 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
2014 __FLT_EVAL_METHOD_TS_18661_3__.
2015
04f0fcf7
JG
20162016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2017
2018 * c-opts.c (c_common_post_options): Add logic to handle the default
2019 case for -fpermitted-flt-eval-methods.
2020
fb2675cb
PB
20212016-11-23 Paolo Bonzini <bonzini@gnu.org>
2022
2023 * c.opt (Wexpansion-to-defined): New.
2024
ec1c5694
JJ
20252016-11-23 Jakub Jelinek <jakub@redhat.com>
2026
2027 PR target/78451
2028 * c-pragma.c (handle_pragma_target): Don't replace
2029 current_target_pragma, but chainon the new args to the current one.
2030
730c9e75
NS
20312016-11-22 Nathan Sidwell <nathan@acm.org>
2032
2033 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 2034 indentation and formatting.
730c9e75 2035
89990732
MS
20362016-11-21 Martin Sebor <msebor@redhat.com>
2037
2038 * c.opt (-fprintf-return-value): Enable by default.
2039
48330c93
BE
20402016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2041
2042 PR c++/71973
2043 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
2044 * c-common.c (c_common_nodes_and_builtins): Initialize
2045 const_tm_ptr_type_node.
2046
0d939c95
MP
20472016-11-16 Marek Polacek <polacek@redhat.com>
2048
2049 PR c/78285
2050 * c-common.c (c_add_case_label): Turn error_at calls into inform.
2051
8e745a17
JJ
20522016-11-14 Jakub Jelinek <jakub@redhat.com>
2053
2054 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
2055
1ee62b92 20562016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
2057 Richard Biener <rguenther@suse.de>
2058
2059 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
2060 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
2061 * c.opt (fgimple): New option.
1ee62b92 2062
22b15758
UB
20632016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2064
2065 PR c/35503
2066 * c-common.h (warn_for_restrict): Declare.
2067 * c-warn.c: Include gcc-rich-location.h.
2068 (warn_for_restrict): New function.
2069 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
2070 (gcc_cdiag_char_table): Likewise.
2071 (gcc_cxxdiag_char_table): Likewise.
2072 * c.opt (Wrestrict): New option.
2073
4be719cd
EB
20742016-11-13 Eric Botcazou <ebotcazou@adacore.com>
2075
2076 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
2077 for nested types only if the type is a record or union and dump SLOC.
2078
4a826ca6
JM
20792016-11-09 Jason Merrill <jason@redhat.com>
2080
2081 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
2082
2e955d50
JJ
20832016-11-09 Jakub Jelinek <jakub@redhat.com>
2084
2085 * c-ubsan.c (ubsan_instrument_shift): Handle split
2086 -fsanitize=shift-base and -fsanitize=shift-exponent.
2087
51dc6603
JM
20882016-11-07 Jason Merrill <jason@redhat.com>
2089
2090 * c.opt (Wc++1z-compat): New.
2091 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
2092
6dc4a604
ML
20932016-11-07 Martin Liska <mliska@suse.cz>
2094
2095 * c-warn.c (warn_for_unused_label): Save all labels used
2096 in goto or in &label.
2097
b302001e
JM
20982016-11-03 Jason Merrill <jason@redhat.com>
2099
2100 * c-cppbuiltin.c (c_cpp_builtins): Correct
2101 __cpp_inheriting_constructors.
2102
31f7f784
JM
21032016-11-01 Jason Merrill <jason@redhat.com>
2104
2bc78e3c
JM
2105 * c-cppbuiltin.c (c_cpp_builtins): Update
2106 __cpp_inheriting_constructors.
2107
31f7f784
JM
2108 * c.opt (-fnew-inheriting-ctors): New.
2109 * c-opts.c: Default to on for ABI 11+.
2110
dcb466ec
JJ
21112016-10-31 Jakub Jelinek <jakub@redhat.com>
2112
2113 PR c++/77948
2114 * c.opt (fext-numeric-literals): Add Var and Init.
2115 * c-opts.c (c_common_handle_option): Don't clear
2116 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
2117 (c_common_post_options): Clear it here if not set
2118 explicitly.
2119
52e1b91e
AH
21202016-10-28 Aldy Hernandez <aldyh@redhat.com>
2121
2122 PR debug/77773
2123 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
2124 if NULL.
2125
e16f1cc7
JJ
21262016-10-25 Jakub Jelinek <jakub@redhat.com>
2127
2128 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
2129 * c-common.c (c_common_reswords): Add __builtin_launder.
2130
f8348061
BE
21312016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
2132
2133 * c-common.c (c_common_truthvalue_conversion): Warn for
2134 multiplications in boolean context. Fix the quoting of '<<' and '<'
2135 in the shift warning.
2136
eff89e01
BE
21372016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
2138
2139 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
2140
24bc7bf4
JM
21412016-10-20 Jason Merrill <jason@redhat.com>
2142
2143 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
2144
4c712374
BE
21452016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2146
2147 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
2148 integer shift ops in boolean context.
2149
21502016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
2151
2152 * c.opt (Walloca): New.
2153 (Walloca-larger-than=): New.
2154 (Wvla-larger-than=): New.
2155
8fa18c06
MP
21562016-10-17 Marek Polacek <polacek@redhat.com>
2157
2158 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
2159 Return immediately when finding a match.
2160 (warn_tautological_cmp): Remove a boolean variable that is no longer
2161 needed.
2162
b12b1915
MP
21632016-10-17 Marek Polacek <polacek@redhat.com>
2164
2165 * c-attribs.c: New file.
2166 * c-common.c: Move attributes handling to c-attribs.c.
2167 (get_nonnull_operand): No longer static.
2168 * c-common.h: Move the declarations from c-attribs.c to its own section.
2169
2045acd9
JM
21702016-10-14 Jason Merrill <jason@redhat.com>
2171
2172 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
2173 and __cpp_deduction_guides.
2174
14a2c9aa
JM
21752016-10-13 Jason Merrill <jason@redhat.com>
2176
2177 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
2178
4d0cdd0c
TP
21792016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2180
2181 * c-cppbuiltin.c: Include memmodel.h.
2182 * c-opts.c: Likewise.
2183 * c-pragma.c: Likewise.
2184 * c-warn.c: Likewise.
2185
70f6d5e1
JJ
21862016-10-12 Jakub Jelinek <jakub@redhat.com>
2187
2188 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
2189 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
2190 * c-opts.c (sanitize_cpp_opts): Initialize
2191 cpp_opts->cpp_warn_implicit_fallthrough.
2192
78f61294
MP
21932016-10-11 Marek Polacek <polacek@redhat.com>
2194
2195 * c-common.c (warning_candidate_p): Change the return type to bool
2196 and return true/false instead of 1/0.
2197 (vector_mode_valid_p): Likewise.
2198
038b5cc0
MP
21992016-10-11 Marek Polacek <polacek@redhat.com>
2200
2201 * c-common.c (fold_for_warn): No longer static.
2202 (bool_promoted_to_int_p): Likewise.
2203 (c_common_get_narrower): Likewise.
2204 (constant_expression_warning): Move to c-warn.c.
2205 (constant_expression_error): Likewise.
2206 (overflow_warning): Likewise.
2207 (warn_logical_operator): Likewise.
2208 (find_array_ref_with_const_idx_r): Likewise.
2209 (warn_tautological_cmp): Likewise.
2210 (expr_has_boolean_operands_p): Likewise.
2211 (warn_logical_not_parentheses): Likewise.
2212 (warn_if_unused_value): Likewise.
2213 (strict_aliasing_warning): Likewise.
2214 (sizeof_pointer_memaccess_warning): Likewise.
2215 (check_main_parameter_types): Likewise.
2216 (conversion_warning): Likewise.
2217 (warnings_for_convert_and_check): Likewise.
2218 (match_case_to_enum_1): Likewise.
2219 (match_case_to_enum): Likewise.
2220 (c_do_switch_warnings): Likewise.
2221 (warn_for_omitted_condop): Likewise.
2222 (readonly_error): Likewise.
2223 (lvalue_error): Likewise.
2224 (invalid_indirection_error): Likewise.
2225 (warn_array_subscript_with_type_char): Likewise.
2226 (warn_about_parentheses): Likewise.
2227 (warn_for_unused_label): Likewise.
2228 (warn_for_div_by_zero): Likewise.
2229 (warn_for_memset): Likewise.
2230 (warn_for_sign_compare): Likewise.
2231 (do_warn_double_promotion): Likewise.
2232 (do_warn_unused_parameter): Likewise.
2233 (record_locally_defined_typedef): Likewise.
2234 (maybe_record_typedef_use): Likewise.
2235 (maybe_warn_unused_local_typedefs): Likewise.
2236 (maybe_warn_bool_compare): Likewise.
2237 (maybe_warn_shift_overflow): Likewise.
2238 (warn_duplicated_cond_add_or_warn): Likewise.
2239 (diagnose_mismatched_attributes): Likewise.
2240 * c-common.h: Move the declarations from c-warn.c to its own section.
2241 * c-warn.c: New file.
2242
627be19f
JM
22432016-10-08 Jason Merrill <jason@redhat.com>
2244
2245 * c-common.c (c_common_truthvalue_conversion): Don't distribute
2246 into COND_EXPR in C++.
2247
7bad794a
JJ
22482016-10-08 Jakub Jelinek <jakub@redhat.com>
2249
2250 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
2251 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
2252 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
2253
be845b04
JJ
22542016-10-07 Jakub Jelinek <jakub@redhat.com>
2255
2256 Implement LWG2296 helper intrinsic
2257 * c-common.h (enum rid): Add RID_ADDRESSOF.
2258 * c-common.c (c_common_reswords): Add __builtin_addressof.
2259
c09c4992
BE
22602016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
2261
2262 PR c++/77700
2263 * c-common.c (c_common_truthvalue_conversion): Warn also for
2264 suspicious enum values in boolean context.
2265
342cfb3e
JJ
22662016-10-06 Jakub Jelinek <jakub@redhat.com>
2267
2268 Implement P0258R2 - helper for C++17
2269 std::has_unique_object_representations trait
2270 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
2271 * c-common.c (c_common_reswords): Add
2272 __has_unique_object_representations.
2273
2e69f143
JJ
22742016-10-05 Jakub Jelinek <jakub@redhat.com>
2275
2276 PR sanitizer/66343
2277 * c-ubsan.c (ubsan_instrument_return): Don't call
2278 initialize_sanitizer_builtins here.
2279
700fff34
BE
22802016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2281
2282 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
2283 conditional expression in boolean context when only one arm is
2284 non-boolean.
2285
9563bfcd
JJ
22862016-10-05 Jakub Jelinek <jakub@redhat.com>
2287
04a32443
JJ
2288 PR sanitizer/77823
2289 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
2290 is not integral.
2291
9563bfcd
JJ
2292 * c-common.c (c_common_reswords): Update comment for C++11.
2293
f1644724
JM
22942016-10-04 Jason Merrill <jason@redhat.com>
2295
2296 * c-common.c (make_tree_vector_from_ctor): New.
2297 * c-common.h: Declare it.
2298
5a79befb
JJ
22992016-10-04 Jakub Jelinek <jakub@redhat.com>
2300
2301 * c-cppbuiltin.c (c_cpp_builtins): Don't define
2302 __LIBGCC_JCR_SECTION_NAME__.
2303
1633d3b9
BE
23042016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
2305
2306 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
2307 left shift in boolean context.
2308
a2c6e7f2
JJ
23092016-09-29 Jakub Jelinek <jakub@redhat.com>
2310
2311 Implement P0001R1 - C++17 removal of register storage class specifier
2312 * c.opt (Wregister): New warning.
2313 * c-opts.c (c_common_post_options): Enable -Wregister by
2314 default for C++17.
2315
75304c87
JG
23162016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
2317
2318 * c-opts.c (c_common_post_options): Remove special case for
2319 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
2320 in C++.
2321
bbfac6da
JJ
23222016-09-27 Jakub Jelinek <jakub@redhat.com>
2323
6e39060a
JJ
2324 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
2325 -std=c++1z.
2326
bbfac6da
JJ
2327 * c-ada-spec.c (print_ada_declaration): Remove break after return.
2328
e73cf9a2
TP
23292016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
2330
2331 * c-common.c: Include memmodel.h.
2332
c6147dc4
MP
23332016-09-26 Marek Polacek <polacek@redhat.com>
2334
2335 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
2336
81fea426
MP
23372016-09-26 Marek Polacek <polacek@redhat.com>
2338
2339 PR c/7652
2340 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
2341 (handle_fallthrough_attribute): New function.
2342 (attribute_fallthrough_p): New function.
2343 * c-common.h (attribute_fallthrough_p): Declare.
2344
9a2300e9
MP
23452016-09-24 Marek Polacek <polacek@redhat.com>
2346
2347 PR c/77490
2348 * c.opt (Wbool-operation): New.
2349
a09e9e35
BE
23502016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2351
2352 * c-common.c (c_common_truthvalue_conversion): Inhibit
2353 Wint-in-bool-context warning with from_macro_definition_at.
2354 Mention the expression will always evaluate to true.
2355
d43b4ccc
MS
23562016-09-21 Martin Sebor <msebor@redhat.com>
2357
2358 PR bootstrap/77676
2359 * c.opt (fprintf-return-value): Temporarily initialize to zero
2360 to unblock bootstrap failures.
2361
2e1c20b1
JJ
23622016-09-21 Jakub Jelinek <jakub@redhat.com>
2363
2364 PR c++/77651
2365 * c.opt (Waligned-new=): Add RejectNegative.
2366 (faligned-new=): Likewise. Spelling fix - change
2367 aligned_new_threshhold to aligned_new_threshold.
2368 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
2369 to aligned_new_threshold.
2370
88d0c3f0
MS
23712016-09-20 Martin Sebor <msebor@redhat.com>
2372
2373 PR middle-end/49905
2374 * c.opt: Add -Wformat-length and -fprintf-return-value.
2375
144a96e4
BE
23762016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2377
2378 PR c++/77434
2379 * c.opt (Wint-in-bool-context): New warning.
2380 * c-common.c (c_common_truthvalue_conversion): Warn on integer
2381 constants in boolean context.
2382
63012d9a
JM
23832016-09-19 Joseph Myers <joseph@codesourcery.com>
2384
2385 * c-common.c (max_align_t_align): Also consider alignment of
2386 float128_type_node.
2387
931388ce
JM
23882016-09-15 Jason Merrill <jason@redhat.com>
2389
2390 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
2391 DECL_EXTERNAL.
2392
38711381
JM
23932016-09-14 Jason Merrill <jason@redhat.com>
2394
2395 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
2396 limit FIELD_DECL, either.
2397
e51fbec3
MP
23982016-09-14 Marek Polacek <polacek@redhat.com>
2399
2400 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
2401 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
2402 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
2403
254830ba
DM
24042016-09-13 David Malcolm <dmalcolm@redhat.com>
2405
2406 * c-common.c (warn_logical_not_parentheses): Replace
2407 rich_location::add_fixit_insert calls with add_fixit_insert_before
2408 and add_fixit_insert_after, eliminating the "next_loc" calculation.
2409
42763690
JM
24102016-09-13 Jason Merrill <jason@redhat.com>
2411 Tom de Vries <tom@codesourcery.com>
2412
2413 PR c++/77427
2414 * c-common.c (set_underlying_type): Don't treat array as builtin type.
2415
9453eee9
JM
24162016-09-13 Jason Merrill <jason@redhat.com>
2417
2418 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
2419 limit types at all.
2420
e96809e3
JM
24212016-09-12 Jason Merrill <jason@redhat.com>
2422
2423 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
2424 bit/byte confusion, allow large alignment for types.
2425
54dcdb88
BE
24262016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
2427
2428 PR c++/77496
2429 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
2430
d1463eb9
DM
24312016-09-12 David Malcolm <dmalcolm@redhat.com>
2432
2433 PR c/72858
2434 * c-format.c (argument_parser::check_argument_type): Add params
2435 "type_start" and "conversion_char". Use the former to generate
2436 offset_to_type_start and pass it and conversion_char to
2437 check_format_types.
2438 (check_format_info_main): Capture the start of the type
2439 information as "type_start", and pass it an format_char
2440 to arg_parser.check_argument_type.
2441 (check_format_types): Provide an example in the leading comment.
2442 Add params "offset_to_type_start" and "conversion_char"; pass
2443 them to format_type_warning calls.
2444 (test_get_modifier_for_format_len): Likewise.
2445 (matching_type_p): New function.
2446 (get_format_for_type): Add param "conversion_char" and move
2447 implementation into...
2448 (get_format_for_type_1): ...new function, called twice.
2449 Use new function matching_type_p rather than checking for
2450 TYPE_CANONICAL equality.
2451 (get_corrected_substring): New function.
2452 (format_type_warning): Provide an example in the leading comment.
2453 Add params "offset_to_type_start" and "conversion_char". Replace
2454 call to get_format_for_type with call to get_corrected_substring
2455 and move rejection of hints for widths/precisions there.
2456 (assert_format_for_type_streq): Add param "conversion_char".
2457 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
2458 (test_get_format_for_type_printf): Add conversion chars to the
2459 tests, adding coverage for various combinations of integer
2460 vs double conversions, and for preserving octal and hexadecimal
2461 conversions.
2462 (test_get_format_for_type_scanf): Add conversion chars to the
2463 tests.
2464
5b28efbb
TV
24652016-09-10 Tom de Vries <tom@codesourcery.com>
2466
2467 PR C/71602
2468 * c-common.c (build_va_arg): Handle more strict
2469 targetm.canonical_va_list_type. Replace first argument type error with
2470 assert.
2471
3f0177e7
MS
24722016-09-09 Martin Sebor <msebor@redhat.com>
2473
2474 PR c/77520
2475 PR c/77521
2476 * c-format.c (argument_parser::find_format_char_info): Use %qc
2477 format directive unconditionally.
2478
af63ba4b
JM
24792016-09-09 Jason Merrill <jason@redhat.com>
2480
2481 Implement C++17 new of over-aligned types.
2482 * c.opt: Add -faligned-new and -Waligned-new.
2483 * c-common.c (max_align_t_align): Split out from...
2484 (cxx_fundamental_alignment_p): ...here.
2485 * c-common.h: Declare it.
2486 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
2487
c65248cb
JM
24882016-09-09 Joseph Myers <joseph@codesourcery.com>
2489
2490 * c-cppbuiltin.c (builtin_define_type_width): New function.
2491 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
2492 macros.
2493
e5106e27
DM
24942016-09-07 David Malcolm <dmalcolm@redhat.com>
2495
2496 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
2497 a POINTER_TYPE.
2498 (substring_loc::get_location): Move to substring-locations.c,
2499 keeping implementation as...
2500 (c_get_substring_location): New function, from the above, reworked
2501 to use accessors rather than member lookup.
2502 * c-common.h (class substring_loc): Move to substring-locations.h,
2503 replacing with a forward decl.
2504 (c_get_substring_location): New decl.
2505 * c-format.c: Include "substring-locations.h".
2506 (format_warning_va): Move to substring-locations.c.
2507 (format_warning_at_substring): Likewise.
2508
a42e7952
MS
25092016-09-06 Martin Sebor <msebor@redhat.com>
2510
2511 PR c/77336
2512 * c-format.c (check_function_format): Avoid issuing warnings for
2513 functions unless they call format functions with non-constant
2514 format strings.
2515
b772a565
RB
25162016-09-06 Richard Biener <rguenther@suse.de>
2517
2518 PR c/77450
2519 * c-common.c (c_common_mark_addressable_vec): Handle
2520 COMPOUND_LITERAL_EXPR.
2521
25ff5dd3
MP
25222016-09-05 Marek Polacek <polacek@redhat.com>
2523
2524 PR c/77423
2525 * c-common.c (bool_promoted_to_int_p): New function.
2526 (expr_has_boolean_operands_p): New function.
2527 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
2528 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
2529
21234eb5
TV
25302016-09-04 Tom de Vries <tom@codesourcery.com>
2531
2532 revert:
2533 2016-08-29 Tom de Vries <tom@codesourcery.com>
2534
2535 * c-common.c (build_va_arg): Replace first argument type error
2536 with assert.
2537
9dc5773f
JJ
25382016-09-02 Jakub Jelinek <jakub@redhat.com>
2539
2540 PR c/65467
2541 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
2542 (c_finish_omp_for): Reject _Atomic qualified iterators.
2543
25442016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
2545
2546 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
2547 size to guarantee it fits the output of the formatted function
2548 regardless of its arguments.
2549
295844f6
MP
25502016-09-01 Marek Polacek <polacek@redhat.com>
2551
2552 PR c/7652
2553 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
2554 FALLTHRU comments.
2555
3d06b6f2
MP
25562016-08-29 Marek Polacek <polacek@redhat.com>
2557
2558 PR c/77292
2559 * c-common.c (warn_logical_not_parentheses): Don't warn for
2560 a comparison or a logical operator.
2561
34cedad5
TV
25622016-08-29 Tom de Vries <tom@codesourcery.com>
2563
2564 * c-common.c (build_va_arg): Fix type comparison assert.
2565
f162d717
TV
25662016-08-29 Tom de Vries <tom@codesourcery.com>
2567
2568 * c-common.c (build_va_arg): Replace first argument type error
2569 with assert.
2570
ba9bbd6f
TV
25712016-08-29 Tom de Vries <tom@codesourcery.com>
2572
2573 PR c/77398
2574 * c-common.c (build_va_arg): Add first argument error. Build va_arg
2575 with error_mark_node as va_list instead of with illegal va_list.
2576
ebef225f
MP
25772016-08-25 Marek Polacek <polacek@redhat.com>
2578 David Malcolm <dmalcolm@redhat.com>
2579
2580 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
2581 * c-common.h (warn_logical_not_parentheses): Update declaration.
2582
b00e6e75
MP
25832016-08-22 Marek Polacek <polacek@redhat.com>
2584
2585 PR c++/77321
2586 * c-common.c (warn_for_memset): Check type for null.
2587
6dc198e3
JM
25882016-08-22 Joseph Myers <joseph@codesourcery.com>
2589
14ec014e 2590 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
2591 _FloatNx types for suffixes for built-in functions.
2592
c65699ef
JM
25932016-08-19 Joseph Myers <joseph@codesourcery.com>
2594
2595 PR c/32187
2596 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
2597 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
2598 (RID_FLOAT128X): New enum rid values.
2599 (CASE_RID_FLOATN_NX): New macro.
2600 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
2601 keywords.
2602 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
2603 corresponding complex types.
2604 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
2605 _FloatNx and corresponding complex types.
2606 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
2607 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
2608 and _FloatNx types for the widest type for determining
2609 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
2610 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
2611 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
2612 and _FloatNx types.
2613 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
2614 constants.
2615 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
2616 _FloatNx types.
2617
cc015f3a
DM
26182016-08-18 David Malcolm <dmalcolm@redhat.com>
2619
2620 * c-opts.c (c_diagnostic_finalizer): Update for change to
2621 diagnostic_show_locus.
2622
cb18fd07
DM
26232016-08-18 David Malcolm <dmalcolm@redhat.com>
2624
2625 * c-common.c: Include "spellcheck.h".
2626 (cb_get_suggestion): New function.
2627 * c-common.h (cb_get_suggestion): New decl.
2628 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
2629 cb_get_suggestion.
2630
a76989dc
MP
26312016-08-18 Marek Polacek <polacek@redhat.com>
2632
2633 PR c/71514
2634 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
2635 and pointer-to-VLA.
2636
65e736c0
DM
26372016-08-16 David Malcolm <dmalcolm@redhat.com>
2638
2639 PR c/72857
2640 * c-common.c (substring_loc::get_range): Rename to...
2641 (substring_loc::get_location): ...this, converting param from a
2642 source_range * to a location_t *. Call
2643 get_source_location_for_substring rather than
2644 get_source_range_for_substring, and pass in m_caret_idx.
2645 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
2646 (substring_loc::get_range): Replace with...
2647 (substring_loc::get_location): ...this.
2648 (substring_loc::set_caret_index): New method.
2649 (substring_loc): Add field m_caret_idx.
2650 * c-format.c (format_warning_va): Update for above changes.
2651 Rename local "substring_loc" to "fmt_substring_loc" to avoid
2652 clashing with type name.
2653 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
2654 (check_argument_type): Likewise.
2655 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
2656 Use a copy when emitting warnings, setting the caret index from TYPE.
2657
7e1dde14 26582016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 2659 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
2660
2661 * c-ada-spec.c (dump_number): New function.
2662 (handle_escape_character): Likewise.
2663 (print_ada_macros): Add handling of constant integers and strings.
2664
191816a3
MP
26652016-08-12 Marek Polacek <polacek@redhat.com>
2666
2667 PR c/7652
2668 * c-common.c (scalar_to_vector): Adjust fall through comment.
2669 * c-opts.c (c_common_handle_option): Likewise.
2670 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
2671 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
2672 fall through comment.
2673 * cilk.c (extract_free_variables): Add FALLTHRU.
2674
452df4a4
JM
26752016-08-10 Jason Merrill <jason@redhat.com>
2676
2677 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
2678
f3365c12
JM
26792016-08-09 Jason Merrill <jason@redhat.com>
2680
2681 * c-common.c (c_common_attribute_table): vector_size affects type
2682 identity.
2683
f0bc3323
MP
26842016-08-09 Marek Polacek <polacek@redhat.com>
2685
2686 PR c/7652
2687 * c-ada-spec.c (dump_generic_ada_node): Add return.
2688
98e5a19a
JM
26892016-08-09 Jason Merrill <jason@redhat.com>
2690
2691 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
2692 C++17 constexpr lambdas.
2693
895aa8e1
DM
26942016-08-08 David Malcolm <dmalcolm@redhat.com>
2695
2696 PR c/64955
2697 * c-common.h (selftest::c_format_c_tests): New declaration.
2698 (selftest::run_c_tests): New declaration.
2699 * c-format.c: Include "selftest.h.
2700 (format_warning_va): Add param "corrected_substring" and use
2701 it to add a replacement fix-it hint.
2702 (format_warning_at_substring): Likewise.
2703 (format_warning_at_char): Update for new param of
2704 format_warning_va.
2705 (argument_parser::check_argument_type): Pass "fki" to
2706 check_format_types.
2707 (check_format_types): Add param "fki" and pass it to
2708 format_type_warning.
2709 (deref_n_times): New function.
2710 (get_modifier_for_format_len): New function.
2711 (selftest::test_get_modifier_for_format_len): New function.
2712 (get_format_for_type): New function.
2713 (format_type_warning): Add param "fki" and use it to attempt
2714 to provide hints for argument types when calling
2715 format_warning_at_substring.
2716 (selftest::get_info): New function.
2717 (selftest::assert_format_for_type_streq): New function.
2718 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
2719 (selftest::test_get_format_for_type_printf): New function.
2720 (selftest::test_get_format_for_type_scanf): New function.
2721 (selftest::c_format_c_tests): New function.
2722
e52ed3fe
DM
27232016-08-08 David Malcolm <dmalcolm@redhat.com>
2724
2725 PR c/52952
2726 * c-format.c: Include "diagnostic.h".
2727 (location_column_from_byte_offset): Delete.
2728 (location_from_offset): Delete.
2729 (format_warning_va): New function.
2730 (format_warning_at_substring): New function.
2731 (format_warning_at_char): New function.
2732 (check_format_arg): Capture location of format_tree and pass to
2733 check_format_info_main.
2734 (argument_parser): Add fields "start_of_this_format" and
2735 "format_string_cst".
2736 (flag_chars_t::validate): Add param "format_string_cst". Convert
2737 warning_at call using location_from_offset to call to
2738 format_warning_at_char.
2739 (argument_parser::argument_parser): Add param "format_string_cst_"
2740 and use use it to initialize field "format_string_cst".
2741 Initialize new field "start_of_this_format".
2742 (argument_parser::read_format_flags): Convert warning_at call
2743 using location_from_offset to a call to format_warning_at_char.
2744 (argument_parser::read_any_format_left_precision): Likewise.
2745 (argument_parser::read_any_format_precision): Likewise.
2746 (argument_parser::read_any_other_modifier): Likewise.
2747 (argument_parser::find_format_char_info): Likewise, in three places.
2748 (argument_parser::parse_any_scan_set): Likewise, in one place.
2749 (argument_parser::handle_conversions): Likewise, in two places.
2750 (argument_parser::check_argument_type): Add param "fmt_param_loc"
2751 and use it to make a substring_loc. Pass the latter to
2752 check_format_types.
2753 (check_format_info_main): Add params "fmt_param_loc" and
2754 "format_string_cst". Convert warning_at calls using
2755 location_from_offset to calls to format_warning_at_char. Pass the
2756 new params to the arg_parser ctor. Pass "format_string_cst" to
2757 flag_chars.validate. Pass "fmt_param_loc" to
2758 arg_parser.check_argument_type.
2759 (check_format_types): Convert first param from a location_t
2760 to a const substring_loc & and rename to "fmt_loc". Attempt
2761 to extract the range of the relevant parameter and pass it
2762 to format_type_warning.
2763 (format_type_warning): Convert first param from a location_t
2764 to a const substring_loc & and rename to "fmt_loc". Add
2765 params "param_range" and "type". Replace calls to warning_at
2766 with calls to format_warning_at_substring.
2767
1c4d457e
DM
27682016-08-08 David Malcolm <dmalcolm@redhat.com>
2769
2770 * c-format.c (class flag_chars_t): New class.
2771 (struct length_modifier): New struct.
2772 (class argument_parser): New class.
2773 (flag_chars_t::flag_chars_t): New ctor.
2774 (flag_chars_t::has_char_p): New method.
2775 (flag_chars_t::add_char): New method.
2776 (flag_chars_t::validate): New method.
2777 (flag_chars_t::get_alloc_flag): New method.
2778 (flag_chars_t::assignment_suppression_p): New method.
2779 (argument_parser::argument_parser): New ctor.
2780 (argument_parser::read_any_dollar): New method.
2781 (argument_parser::read_format_flags): New method.
2782 (argument_parser::read_any_format_width): New method.
2783 (argument_parser::read_any_format_left_precision): New method.
2784 (argument_parser::read_any_format_precision): New method.
2785 (argument_parser::handle_alloc_chars): New method.
2786 (argument_parser::read_any_length_modifier): New method.
2787 (argument_parser::read_any_other_modifier): New method.
2788 (argument_parser::find_format_char_info): New method.
2789 (argument_parser::validate_flag_pairs): New method.
2790 (argument_parser::give_y2k_warnings): New method.
2791 (argument_parser::parse_any_scan_set): New method.
2792 (argument_parser::handle_conversions): New method.
2793 (argument_parser::check_argument_type): New method.
2794 (check_format_info_main): Introduce classes argument_parser
2795 and flag_chars_t, moving the code within the loop into methods
2796 of these classes. Make various locals "const".
2797
88fa5555
DM
27982016-08-05 David Malcolm <dmalcolm@redhat.com>
2799
2800 * c-common.c: Include "substring-locations.h".
2801 (get_cpp_ttype_from_string_type): New function.
2802 (g_string_concat_db): New global.
2803 (substring_loc::get_range): New method.
2804 * c-common.h (g_string_concat_db): New declaration.
2805 (class substring_loc): New class.
2806 * c-lex.c (lex_string): When concatenating strings, capture the
2807 locations of all tokens using a new obstack, and record the
2808 concatenation locations within g_string_concat_db.
2809 * c-opts.c (c_common_init_options): Construct g_string_concat_db
2810 on the ggc-heap.
2811
78169471
MP
28122016-07-29 Marek Polacek <polacek@redhat.com>
2813
638fc14f
MP
2814 PR c/71926
2815 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
2816 parentheses warning.
2817
78169471
MP
2818 PR c/71574
2819 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
2820
1225d6b1
ML
28212016-07-28 Martin Liska <mliska@suse.cz>
2822
2823 PR gcov-profile/68025
2824 * c-common.c (handle_no_profile_instrument_function_attribute):
2825
ec1e2a40
BE
28262016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
2827
2828 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
2829 BITS_PER_UNIT_LOG.
2830
5ec2cd9f
JM
28312016-07-25 Jason Merrill <jason@redhat.com>
2832
2833 PR c++/65970
2834 * c.opt (fconstexpr-loop-limit): New.
2835
9dc5773f 28362016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
2837
2838 PR c++/71675
2839 * c-common.c (resolve_overloaded_builtin): Avoid converting
2840 __atomic_compare_exchange_n return type to that of what its
2841 first argument points to.
2842
e3fe09c1
UB
28432016-07-22 Uros Bizjak <ubizjak@gmail.com>
2844
2845 * c-common.c: Use HOST_WIDE_INT_M1U instead of
2846 ~(unsigned HOST_WIDE_INT) 0.
2847
bc91c436
ML
28482016-07-22 Martin Liska <mliska@suse.cz>
2849
2850 PR gcov-profile/69028
2851 PR gcov-profile/62047
2852 * cilk.c (create_cilk_helper_decl): Set location of a new decl
2853 to the current_function_decl.
2854
451dcc66
JM
28552016-07-21 Jason Merrill <jason@redhat.com>
2856
2857 PR c++/65168
2858 * c-common.c (c_common_truthvalue_conversion): Check
2859 c_inhibit_evaluation_warnings for warning about address of
2860 reference.
2861
de6a69ee
DM
28622016-07-20 David Malcolm <dmalcolm@redhat.com>
2863
2864 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
2865 const char *.
2866
d022c55a
JM
28672016-07-15 Jason Merrill <jason@redhat.com>
2868
2869 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
2870
ddbbcb19
JJ
28712016-07-15 Jakub Jelinek <jakub@redhat.com>
2872
2873 PR c/71858
2874 * c-common.h (enum lookup_name_fuzzy_kind): Add
2875 FUZZY_LOOKUP_FUNCTION_NAME.
2876
d0cf395a
JM
28772016-07-08 Jason Merrill <jason@redhat.com>
2878
2879 P0145: Refining Expression Order for C++.
2880 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
2881 * c-opts.c: Adjust.
2882
98d44e93
MT
28832016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
2884
2885 PR c++/71214
2886 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
2887
f9d8d994
TS
28882016-06-29 Thomas Schwinge <thomas@codesourcery.com>
2889
2890 * c-pragma.h (enum pragma_kind): Rename
2891 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
2892 users.
2893
4aa83879
RB
28942016-06-29 Richard Biener <rguenther@suse.de>
2895
2896 PR middle-end/71002
2897 * c-common.c (c_common_get_alias_set): Remove union type punning case.
2898
a25bd9e6
JM
28992016-06-24 Jason Merrill <jason@redhat.com>
2900
2901 P0145R2: Refining Expression Order for C++.
2902 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
2903 MODIFY_EXPR.
2904
a86451b9
JJ
29052016-06-24 Jakub Jelinek <jakub@redhat.com>
2906
2907 * c-common.c (check_builtin_function_arguments): Require last
2908 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
2909 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
2910 if the last argument is pointer to enumerated or boolean type.
2911
1a4f11c8
DM
29122016-06-22 David Malcolm <dmalcolm@redhat.com>
2913
2914 PR c/70339
2915 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
2916 (lookup_name_fuzzy): New prototype.
2917
fe55692c
JDA
29182016-06-21 John David Anglin <danglin@gcc.gnu.org>
2919
2920 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
2921
4eb24e01
JM
29222016-06-14 Jason Merrill <jason@redhat.com>
2923
2924 P0145R2: Refining Expression Order for C++.
2925 * c.opt (fargs-in-order): New.
2926 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
2927
ef7cf206
JJ
29282016-06-13 Jakub Jelinek <jakub@redhat.com>
2929
0dda258b
JJ
2930 PR sanitizer/71498
2931 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
2932 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
2933
ef7cf206
JJ
2934 PR preprocessor/71183
2935 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
2936 to cb_get_source_date_epoch.
2937
50b15873
JJ
29382016-06-10 Jakub Jelinek <jakub@redhat.com>
2939
2940 PR c/68657
2941 * c.opt (Wpsabi): Add Warning flag.
2942
4d926e34
MS
29432016-06-10 Martin Sebor <msebor@redhat.com>
2944
2945 PR c/71392
14ec014e 2946 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
2947 the nonnull attribute in type-generic builtins.
2948
e01b4e16
MS
29492016-06-09 Martin Sebor <msebor@redhat.com>
2950
2951 PR c/70883
2952 * c-common.c (builtin_function_validate_nargs): Make text of error
2953 message consistent with others like it.
2954
44a845ca
MS
29552016-06-08 Martin Sebor <msebor@redhat.com>
2956 Jakub Jelinek <jakub@redhat.com>
2957
2958 PR c++/70507
2959 PR c/68120
2960 * c-common.c (check_builtin_function_arguments): Handle
2961 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
2962
a80a7051
RB
29632016-06-08 Richard Biener <rguenther@suse.de>
2964
2965 * c-common.c (parse_optimize_options): Improve diagnostic messages.
2966
bfd67b47
RB
29672016-06-07 Richard Biener <rguenther@suse.de>
2968
2969 PR c/61564
2970 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
2971 options and warn about others.
2972
15c98b2e
ES
29732016-06-01 Eduard Sanou <dhole@openmailbox.org>
2974
2975 * c-common.c (get_source_date_epoch): Rename to
2976 cb_get_source_date_epoch.
2977 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
2978 message when the parsing fails. Use error_at instead of fatal_error.
2979 * c-common.h (get_source_date_epoch): Rename to
2980 cb_get_source_date_epoch.
2981 * c-common.h (cb_get_source_date_epoch): Prototype.
2982 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
2983 * c-common.h (c_omp_region_type): Remove trailing comma.
2984 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
2985 * c-lex.c (c_lex_with_flags): Remove initialization of
2986 pfile->source_date_epoch.
2987
00631022
JJ
29882016-05-30 Jakub Jelinek <jakub@redhat.com>
2989
2990 PR c++/71349
2991 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
2992 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
2993 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
2994 instead of C_OMP_CLAUSE_SPLIT_FOR.
2995
f17a223d
RB
29962016-05-24 Richard Biener <rguenther@suse.de>
2997
2998 PR middle-end/70434
2999 PR c/69504
3000 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
3001 (convert_vector_to_array_for_subscript): ... this.
3002 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
3003 VIEW_CONVERT_EXPR to an array type. Rename to ...
3004 (convert_vector_to_array_for_subscript): ... this.
3005
4f2e1536
MP
30062016-05-12 Marek Polacek <polacek@redhat.com>
3007
3008 PR c/70756
3009 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
3010 size_in_bytes and pass LOC to it.
3011
d6e83a8d
MM
30122016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
3013
3014 PR c/43651
3015 * c.opt (Wduplicate-decl-specifier): New option.
3016
5c3a10fb
MP
30172016-05-11 Marek Polacek <polacek@redhat.com>
3018
3019 PR c++/71024
3020 * c-common.c (diagnose_mismatched_attributes): New function.
3021 * c-common.h (diagnose_mismatched_attributes): Declare.
3022
deef7113
MP
30232016-05-04 Marek Polacek <polacek@redhat.com>
3024
3025 * c.opt (Wdangling-else): New option.
3026
79ce98bc
MP
30272016-05-03 Marek Polacek <polacek@redhat.com>
3028
3029 PR c/70859
3030 * c-common.c (builtin_function_validate_nargs): Add location
3031 parameter. Use it.
3032 (check_builtin_function_arguments): Add location and arguments
3033 parameters. Use them.
3034 * c-common.h (check_builtin_function_arguments): Update declaration.
3035
381cdae4
RB
30362016-05-03 Richard Biener <rguenther@suse.de>
3037
3038 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
3039 allow call args to gimplify to SSA names.
3040
1d793c34
MP
30412016-05-03 Marek Polacek <polacek@redhat.com>
3042
3043 * c-common.h (enum c_omp_region_type): Remove stray comma.
3044
77886428
CP
30452016-05-02 Cesar Philippidis <cesar@codesourcery.com>
3046
3047 * c-common.h (enum c_omp_region_type): Define.
3048
697e0b28
RS
30492016-05-02 Richard Sandiford <richard.sandiford@arm.com>
3050
3051 * c-common.c (shorten_compare): Use wi::to_wide.
3052
e7ff0319
CP
30532016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3054
3055 PR middle-end/70626
3056 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
3057 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
3058 reduction clauses in acc parallel loops.
3059
2fff3db8
MP
30602016-04-29 Marek Polacek <polacek@redhat.com>
3061
3062 PR c/70852
3063 * c-common.c (warn_for_memset): Check domain before accessing it.
3064
509063eb
DV
30652016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
3066
3067 PR/69089
3068 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
3069 "aligned" attribute.
3070
b632761d
JM
30712016-04-28 Jason Merrill <jason@redhat.com>
3072
3073 * c-lex.c (c_common_has_attribute): Handle nodiscard.
3074
174f6622
ES
30752016-04-28 Eduard Sanou <dhole@openmailbox.org>
3076 Matthias Klose <doko@debian.org>
3077
3078 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 3079 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
3080 handling.
3081 * c-common.h (get_source_date_epoch): Prototype.
3082 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
3083
6bc2bb18
RB
30842015-04-27 Ryan Burn <contact@rnburn.com>
3085
3086 PR c++/69024
3087 PR c++/68997
3088 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
3089 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
3090 external linkage.
3091 (cilk_detect_and_unwrap): Corresponding changes.
3092 (extract_free_variables): Don't extract free variables from
3093 AGGR_INIT_EXPR slot.
3094 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
3095 (cilk_recognize_spawn): Likewise.
3096
c1e1f433
BS
30972016-04-27 Bernd Schmidt <bschmidt@redhat.com>
3098
3099 * c.opt (Wmemset-elt-size): New option.
3100 * c-common.c (warn_for_memset): New function.
3101 * c-common.h (warn_for_memset): Declare.
3102
d067e05f
JM
31032016-04-25 Jason Merrill <jason@redhat.com>
3104
3105 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
3106 No longer static.
3107 * c-common.h: Declare it.
3108 * c-lex.c (c_common_has_attribute): Add maybe_unused.
3109
9aa36ae5
JM
31102016-04-22 Jason Merrill <jason@redhat.com>
3111
3112 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
3113
477d4906
IV
31142016-04-20 Ilya Verbin <ilya.verbin@intel.com>
3115
3116 PR c++/69363
3117 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
3118 * c-common.h (c_finish_cilk_clauses): Remove declaration.
3119
fe37c7af
MM
31202016-04-18 Michael Matz <matz@suse.de>
3121
3122 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
3123 and SET_DECL_ALIGN.
3124
23f2660f
EB
31252016-04-17 Eric Botcazou <ebotcazou@adacore.com>
3126
3127 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
3128 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
3129 to incomplete types.
3130 (dump_nested_type): Remove redundant tests and tidy up.
3131 (print_ada_declaration): Also set TREE_VISITED on the declaration of
3132 a type which is the typedef of an original type.
3133
1e77281b
MP
31342016-04-15 Marek Polacek <polacek@redhat.com>
3135
3136 PR c/70651
3137 * c-common.c (build_va_arg): Change two asserts into errors and return
3138 error_mark_node.
3139
b3a77f21
MP
31402016-04-13 Marek Polacek <polacek@redhat.com>
3141
3142 PR c++/70639
3143 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
3144 for switch statements, too.
3145
322b8466
JM
31462016-03-28 Jason Merrill <jason@redhat.com>
3147
3148 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
3149
fbdb6baf
MP
31502016-03-23 Marek Polacek <polacek@redhat.com>
3151
3152 PR c++/69884
3153 * c.opt (Wignored-attributes): New option.
3154
5c240f4d
DM
31552016-03-22 David Malcolm <dmalcolm@redhat.com>
3156
3157 PR c/69993
3158 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
3159 diagnostic text, reversing the order of the warning and note so
3160 that they appear in source order.
3161
14ba7b28
MP
31622016-03-17 Marek Polacek <polacek@redhat.com>
3163
3164 PR c/69407
3165 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
3166 operations.
3167
08a1cadc
JM
31682016-03-14 Jason Merrill <jason@redhat.com>
3169
2aaeea19
JM
3170 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
3171
08a1cadc
JM
3172 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
3173
c06d25bb
RB
31742016-03-09 Richard Biener <rguenther@suse.de>
3175
3176 PR c/70143
3177 * c-common.c (strict_aliasing_warning): Add back
3178 alias_sets_conflict_p check.
3179
80aac5c8
JM
31802016-03-08 Jason Merrill <jason@redhat.com>
3181
3182 * c-opts.c (set_std_cxx1z): Don't enable concepts.
3183
64b23c13
DM
31842016-03-04 David Malcolm <dmalcolm@redhat.com>
3185
3186 PR c/68187
3187 * c-indentation.c (get_visual_column): Move code to determine next
3188 tab stop to...
3189 (next_tab_stop): ...this new function.
3190 (line_contains_hash_if): Delete function.
3191 (detect_preprocessor_logic): Delete function.
3192 (get_first_nws_vis_column): New function.
3193 (detect_intervening_unindent): New function.
3194 (should_warn_for_misleading_indentation): Replace call to
3195 detect_preprocessor_logic with a call to
3196 detect_intervening_unindent.
3197
729526f5
DM
31982016-03-04 David Malcolm <dmalcolm@redhat.com>
3199
3200 PR c/68187
3201 * c-indentation.c (should_warn_for_misleading_indentation): When
3202 suppressing warnings about cases where the guard and body are on
3203 the same column, only use the first non-whitespace column in place
3204 of the guard token column when dealing with "else" clauses.
3205 When rejecting aligned BODY and NEXT, loosen the requirement
3206 from equality with the first non-whitespace of guard to simply
3207 that they not be indented relative to it.
3208
e9a35493
RB
32092016-03-04 Richard Biener <rguenther@suse.de>
3210
3211 PR c++/70054
3212 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
3213 instead of alias_sets_conflict_p.
3214
1be56bc5
MP
32152016-03-01 Marek Polacek <polacek@redhat.com>
3216
3217 PR c++/69795
3218 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
3219 any DECL.
3220
35886f0b
MS
32212016-02-22 Martin Sebor <msebor@redhat.com>
3222
3223 PR middle-end/69780
3224 * c-common.c (check_builtin_function_arguments): Validate and
3225 reject invalid arguments to __builtin_alloca_with_align.
3226
4246c8da
MW
32272016-02-20 Mark Wielaard <mjw@redhat.com>
3228
3229 PR c/28901
3230 * c.opt (Wunused-const-variable): Turn into Alias for...
3231 (Wunused-const-variable=): New option.
3232
268be88c
BE
32332016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3234
3235 PR c++/69865
3236 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
3237 here...
3238 (c_common_init_options): ...to here.
3239 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
3240
871b3f47
JJ
32412016-02-19 Jakub Jelinek <jakub@redhat.com>
3242
3243 PR c++/69826
3244 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
3245 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
3246 flag_preprocess_only.
3247
bf14eba2
JJ
32482016-02-16 Jakub Jelinek <jakub@redhat.com>
3249
3250 PR c/69835
3251 * c.opt (Wnonnull-compare): Enable for -Wall.
3252
ba6b3795
JJ
32532016-02-15 Jakub Jelinek <jakub@redhat.com>
3254
3255 PR c++/69797
3256 * c-common.c (sync_resolve_size): Diagnose too few arguments
3257 even when params is non-NULL empty vector.
3258
a011cd92
BS
32592016-02-08 Bernd Schmidt <bschmidt@redhat.com>
3260
3261 PR target/60410
3262 * c.opt (fshort-double): Remove.
3263
46cb9332
MS
32642016-02-05 Martin Sebor <msebor@redhat.com>
3265
3266 PR c++/69662
3267 * c.opt (Warning options): Update -Wplacement-new to take
3268 an optional argument.
3269
e1b81f2b
JJ
32702016-02-01 Jakub Jelinek <jakub@redhat.com>
3271
3272 PR preprocessor/69543
3273 PR c/69558
3274 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
3275 instead of loc to control_warning_option.
3276
b6adbb9f
NS
32772016-02-01 Nathan Sidwell <nathan@codesourcery.com>
3278
3279 * c.opt (fopenacc-dim=): New option.
3280
5d70666e
RB
32812016-01-27 Ryan Burn <contact@rnburn.com>
3282
3283 PR cilkplus/69267
3284 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
3285 gimplify_arg. Removed superfluous post_p argument.
3286 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
3287 superfluous post_p argument.
3288 * c-gimplify.c (c_gimplify_expr): Likewise.
3289
01e1dea3
DM
32902016-01-26 David Malcolm <dmalcolm@redhat.com>
3291
3292 PR other/69006
3293 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
3294 pp_newline_and_flush with pp_flush.
3295
9f04a53e
MS
32962016-01-20 Martin Sebor <msebor@redhat.com>
3297
3298 PR c/69405
3299 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
3300 an incompatible argument when the argument isn't a valid tree node.
3301
7f26f7df
JM
33022016-01-18 Jason Merrill <jason@redhat.com>
3303
3304 PR c++/68767
3305 * c-common.c (check_function_arguments_recurse): Fold the whole
3306 COND_EXPR, not just the condition.
3307
f62bf092
TV
33082016-01-18 Tom de Vries <tom@codesourcery.com>
3309
3310 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
3311 classify as loop clause.
3312
e0a575ff
JJ
33132016-01-15 Jakub Jelinek <jakub@redhat.com>
3314
3315 PR bootstrap/68271
3316 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
3317 C++ FE no longer has limit on number of pragmas.
3318
33192015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
3320
3321 PR c++/69048
3322 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 3323 to add missing cleanup point.
b6e3db06 3324
c7df95d8
DM
33252016-01-14 David Malcolm <dmalcolm@redhat.com>
3326
3327 PR c++/68819
3328 * c-indentation.c (get_visual_column): Add location_t param.
3329 Handle the column number being zero by effectively disabling the
3330 warning, with an "inform".
3331 (should_warn_for_misleading_indentation): Add location_t argument
3332 for all uses of get_visual_column.
3333
21efdd80
PP
33342016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
3335
3336 PR c++/69029
3337 * c-indentation.c (should_warn_for_misleading_indentation):
3338 Don't warn about do-while statements.
3339
7a127fa7
MS
33402016-01-07 Martin Sebor <msebor@redhat.com>
3341
3342 PR c/68966
3343 * c-common.c (sync_resolve_size): Reject first argument when it's
3344 a pointer to _Bool.
3345
c589e975
DM
33462016-01-05 David Malcolm <dmalcolm@redhat.com>
3347
3348 PR c/69122
3349 * c-indentation.c (get_visual_column): Remove default argument.
3350 (should_warn_for_misleading_indentation): For the multiline case,
3351 update call to get_visual_column for next_stmt_exploc so that it
3352 captures the location of the first non-whitespace character in the
3353 relevant line. Don't issue warnings if there is non-whitespace
3354 before the next statement.
3355
818ab71a
JJ
33562016-01-04 Jakub Jelinek <jakub@redhat.com>
3357
3358 Update copyright years.
3359
745e411d
DM
33602015-12-21 David Malcolm <dmalcolm@redhat.com>
3361
3362 * c-common.c (binary_op_error): Convert first param from
3363 location_t to rich_location * and use it when emitting an error.
3364 * c-common.h (binary_op_error): Convert first param from
3365 location_t to rich_location *.
3366
de67c4c3
DM
33672015-12-16 David Malcolm <dmalcolm@redhat.com>
3368
3369 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
3370 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
3371
4a38b02b
IV
33722015-12-15 Ilya Verbin <ilya.verbin@intel.com>
3373
3374 * c-common.c (c_common_attribute_table): Handle "omp declare target
3375 link" attribute.
3376
54d62f51
JJ
33772015-12-14 Jakub Jelinek <jakub@redhat.com>
3378
3379 PR c/68833
3380 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
3381
8d4227c8
TB
33822014-12-12 Tobias Burnus <burnus@net-b.de>
3383
3384 PR fortran/68815
3385 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
3386 specifiers (%d, %i,%u and %c).
3387
f6069ccc
DM
33882015-12-10 David Malcolm <dmalcolm@redhat.com>
3389
3390 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
3391
63bbf46d
JJ
33922015-12-08 Jakub Jelinek <jakub@redhat.com>
3393
3394 PR c/48088
3395 PR c/68657
3396 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
3397 * c-pragma.c (handle_pragma_diagnostic): Adjust
3398 control_warning_option caller.
3399
f79520bb
DM
34002015-12-07 David Malcolm <dmalcolm@redhat.com>
3401
3402 * c-common.c (c_cpp_error): Update for change to
3403 rich_location::set_range.
3404
b3d5bc62
JJ
34052015-12-04 Paolo Bonzini <bonzini@gnu.org>
3406
3407 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
3408 shifting 1 out of the sign bit.
3409
34102015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
3411
3412 * c-common.c (c_common_attribute_table[]): Update max arguments
3413 count for "simd" attribute.
3414 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
3415
6eb4a537
JJ
34162015-12-03 Jakub Jelinek <jakub@redhat.com>
3417
3418 PR preprocessor/57580
3419 * c-ppoutput.c (print): Change printed field to bool.
3420 Move src_file last for smaller padding.
3421 (init_pp_output): Set print.printed to false instead of 0.
3422 (scan_translation_unit): Fix up formatting. Set print.printed
3423 to true after printing something other than newline.
3424 (scan_translation_unit_trad): Set print.printed to true instead of 1.
3425 (maybe_print_line_1): Set print.printed to false instead of 0.
3426 (print_line_1): Likewise.
3427 (do_line_change): Set print.printed to true instead of 1.
3428 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
3429 dump_macro): Set print.printed to false after printing newline.
3430
4250754e
JM
34312015-12-02 Jason Merrill <jason@redhat.com>
3432
f479b43d
JM
3433 * c-common.c (fold_for_warn): New.
3434 (warn_logical_operator, warn_tautological_cmp)
3435 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
3436
4250754e
JM
3437 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
3438 (c_fully_fold_internal, decl_constant_value_for_optimization):
3439 Move to c/c-fold.c.
3440 * c-common.h: Don't declare decl_constant_value_for_optimization.
3441
e9e32ee6
JM
34422015-12-02 Joseph Myers <joseph@codesourcery.com>
3443
3444 PR c/68162
3445 * c-common.h (c_build_qualified_type): Add extra default
3446 arguments.
3447
37d5ad46
JB
34482015-12-01 Julian Brown <julian@codesourcery.com>
3449 Cesar Philippidis <cesar@codesourcery.com>
3450 James Norris <James_Norris@mentor.com>
3451
3452 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
3453 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
3454 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
3455
f07862c7
EB
34562015-11-30 Eric Botcazou <ebotcazou@adacore.com>
3457
3458 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
3459 (decl_sloc_common): Delete and move bulk of processing to...
3460 (decl_sloc): ...here.
3461 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
3462 (dump_ada_double_name): Remove S parameter and compute the suffix.
3463 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
3464 element type and deal with an anonymous one.
3465 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
3466 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
3467 and remove reference to QUAL_UNION_TYPE.
3468 (dump_nested_types): Make 2 passes on the fields and move bulk to...
3469 (dump_nested_type): ...here. New function extracted from above.
3470 Generate a full declaration for anonymous element type of arrays.
3471 (print_ada_declaration): Really skip anonymous declarations. Remove
3472 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
3473 Clean up processing of declarations of array types and objects.
3474 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
3475 Remove obsolete code and tidy up.
3476
75c8aac3
JH
34772015-11-29 Jan Hubicka <hubicka@ucw.cz>
3478
3479 PR c/67581
3480 * c-common.c (handle_transparent_union_attribute): Update
3481 also type variants.
3482
b58d3df2
ML
34832015-11-27 Martin Liska <mliska@suse.cz>
3484
3485 PR c++/68312
3486 * array-notation-common.c (cilkplus_extract_an_triplets):
3487 Release vector of vectors.
3488 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
3489
89a01fcf
EB
34902015-11-26 Eric Botcazou <ebotcazou@adacore.com>
3491
3492 PR c++/68527
3493 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
3494 (print_ada_struct_decl): Likewise.
3495
cc5c5226
IZ
34962015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
3497
3498 PR c++/68001
3499 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
3500 * cilk.c (recognize_spawn): Determine location in a more precise
3501 way.
3502
269adb9d
JM
35032015-11-19 Jason Merrill <jason@redhat.com>
3504
3505 * c-common.c (shorten_compare): But look through macros from
3506 system headers.
3507
d0eccfcd
JM
35082015-11-18 Jason Merrill <jason@redhat.com>
3509
3510 * c-common.c (shorten_compare): Don't -Wtype-limits if the
3511 non-constant operand comes from a macro.
3512
3e44547c
JM
35132015-11-17 Jason Merrill <jason@redhat.com>
3514
3515 PR bootstrap/68346
3516 * c-common.c (warn_tautological_cmp): Fold before checking for
3517 constants.
3518
0f62c7a0
MP
35192015-11-16 Marek Polacek <polacek@redhat.com>
3520
3521 PR c++/68362
3522 * c-common.c (check_case_bounds): Fold low and high cases.
3523
a868811e
MP
35242015-11-16 Marek Polacek <polacek@redhat.com>
3525
3526 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
3527 * c-common.c (c_common_get_alias_set): Likewise.
3528 (handle_visibility_attribute): Likewise.
3529
fff77217
KY
35302015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
3531
3532 * c-common.c (handle_simd_attribute): New.
3533 (struct attribute_spec): Add entry for "simd".
3534 (handle_simd_attribute): New.
3535
269e63b7
KT
35362015-11-13 Kai Tietz <ktietz70@googlemail.com>
3537
3538 * c-lex.c (interpret_float): Use fold_convert.
3539
ebedc9a3
DM
35402015-11-13 David Malcolm <dmalcolm@redhat.com>
3541
3542 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
3543 and store it on the result.
3544 * c-opts.c (c_common_init_options): Set
3545 global_dc->colorize_source_p.
3546
6e232ba4
JN
35472015-11-12 James Norris <jnorris@codesourcery.com>
3548 Joseph Myers <joseph@codesourcery.com>
3549
7365279f 3550 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
3551 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
3552 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
3553 PRAGMA_OACC_CLAUSE_LINK.
3554
e78bede6
MP
35552015-11-11 Marek Polacek <polacek@redhat.com>
3556
3557 PR c/68107
3558 PR c++/68266
3559 * c-common.c (valid_array_size_p): New function.
3560 * c-common.h (valid_array_size_p): Declare.
3561
3f8257db 35622015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
3563
3564 PR bootstrap/68271
3565 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
3566
69f293c9
AM
35672015-11-11 Andrew MacLeod <amacleod@redhat.com>
3568
3569 * array-notation-common.c: Remove unused header files.
3570 * c-ada-spec.c: Likewise.
3571 * c-cilkplus.c: Likewise.
3572 * c-common.c: Likewise.
3573 * c-cppbuiltin.c: Likewise.
3574 * c-dump.c: Likewise.
3575 * c-format.c: Likewise.
3576 * c-gimplify.c: Likewise.
3577 * c-indentation.c: Likewise.
3578 * c-lex.c: Likewise.
3579 * c-omp.c: Likewise.
3580 * c-opts.c: Likewise.
3581 * c-pch.c: Likewise.
3582 * c-ppoutput.c: Likewise.
3583 * c-pragma.c: Likewise.
3584 * c-pretty-print.c: Likewise.
3585 * c-semantics.c: Likewise.
3586 * c-ubsan.c: Likewise.
3587 * cilk.c: Likewise.
3588 * stub-objc.c: Likewise.
3589
3a40d81d
NS
35902015-11-09 Thomas Schwinge <thomas@codesourcery.com>
3591 Cesar Philippidis <cesar@codesourcery.com>
3592 James Norris <jnorris@codesourcery.com>
3593 Julian Brown <julian@codesourcery.com>
3594 Nathan Sidwell <nathan@codesourcery.com>
3595
3596 * c-pragma.c (oacc_pragmas): Add "routine".
3597 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
3598
ee45a32d
EB
35992015-11-08 Eric Botcazou <ebotcazou@adacore.com>
3600
3601 * c-common.c (c_common_attributes): Add scalar_storage_order.
3602 (handle_scalar_storage_order_attribute): New function.
3603 * c-pragma.c (global_sso): New variable.
3604 (maybe_apply_pragma_scalar_storage_order): New function.
3605 (handle_pragma_scalar_storage_order): Likewise.
3606 (init_pragma): Register scalar_storage_order.
3607 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
3608 * c.opt (Wscalar-storage-order): New warning.
3609 (fsso-struct=): New option.
3610
eb11eb15
MS
36112015-11-08 Martin Sebor <msebor@redhat.com>
3612
3613 * c.opt (Wplacement-new): Add a period to the end of a sentence.
3614
0aad0198
RS
36152015-11-07 Richard Sandiford <richard.sandiford@arm.com>
3616
3617 * c-common.c: Don't undef DEF_BUILTIN.
3618
8a645150
DM
36192015-11-06 David Malcolm <dmalcolm@redhat.com>
3620
3621 * c-common.c (c_cpp_error): Convert parameter from location_t to
3622 rich_location *. Eliminate the "column_override" parameter and
3623 the call to diagnostic_override_column.
3624 Update the "done_lexing" clause to set range 0
3625 on the rich_location, rather than overwriting a location_t.
3626 * c-common.h (c_cpp_error): Convert parameter from location_t to
3627 rich_location *. Eliminate the "column_override" parameter.
3628
7a5e4956
CP
36292015-11-05 Cesar Philippidis <cesar@codesourcery.com>
3630 Thomas Schwinge <thomas@codesourcery.com>
3631 James Norris <jnorris@codesourcery.com>
3632
3633 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
3634 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
3635 clauses with parallel and kernels and loops.
3636 * c-pragma.h (enum pragma_omp_clause): Add entries for
3637 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
3638 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
3639 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
3640 INDEPENDENT,SEQ}.
3641 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
3642
e2f5cc96
MS
36432015-11-05 Martin Sebor <msebor@redhat.com>
3644
3645 PR c++/67942
3646 * c.opt (-Wplacement-new): New option.
3647
e01d41e5
JJ
36482015-11-05 Jakub Jelinek <jakub@redhat.com>
3649
3650 * c-common.h (c_finish_omp_atomic): Add TEST argument.
3651 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
3652 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
3653 save_expr or create_tmp_var* if TEST is true.
3654 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
3655 Don't call add_stmt here.
3656 (struct c_omp_check_loop_iv_data): New type.
3657 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
3658 c_omp_check_loop_iv_exprs): New functions.
3659 (c_omp_split_clauses): Adjust for lastprivate being allowed on
3660 distribute.
3661 (c_omp_declare_simd_clauses_to_numbers): Change
3662 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
3663 (c_omp_declare_simd_clauses_to_decls): Similarly change those
3664 from numbers to PARM_DECLs.
3665
595278be
MM
36662015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
3667
3668 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
3669 flag_checking.
3670
3f8257db 36712015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
3672
3673 PR c++-common/67882
b3d5bc62
JJ
3674 * c-common.h (fold_offsetof_1): Add argument.
3675 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
3676 offsetof expressions that reference elements past the end of
3677 an array.
3678
4bf9e5a8
TS
36792015-11-03 Thomas Schwinge <thomas@codesourcery.com>
3680 Chung-Lin Tang <cltang@codesourcery.com>
3681
3682 * c-pragma.c (oacc_pragmas): Add "atomic".
3683 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
3684
3b1661a9
ES
36852015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
3686
3687 * c-common.c (handle_target_clones_attribute): New.
3688 (c_common_attribute_table): Add handle_target_clones_attribute.
3689 (handle_always_inline_attribute): Add check on target_clones attribute.
3690 (handle_target_attribute): Ditto.
3691
2adfab87
AM
36922015-10-29 Andrew MacLeod <amacleod@redhat.com>
3693
3694 * array-notation-common.c: Reorder #include's and remove duplicates.
3695 * c-ada-spec.c: Likewise.
3696 * c-cilkplus.c: Likewise.
3697 * c-common.c: Likewise.
3698 * c-cppbuiltin.c: Likewise.
3699 * c-dump.c: Likewise.
3700 * c-format.c: Likewise.
3701 * c-gimplify.c: Likewise.
3702 * c-indentation.c: Likewise.
3703 * c-lex.c: Likewise.
3704 * c-omp.c: Likewise.
3705 * c-opts.c: Likewise.
3706 * c-pch.c: Likewise.
3707 * c-ppoutput.c: Likewise.
3708 * c-pragma.c: Likewise.
3709 * c-pretty-print.c: Likewise.
3710 * c-semantics.c: Likewise.
3711 * c-ubsan.c: Likewise.
3712 * cilk.c: Likewise.
3713 * stub-objc.c: Likewise.
3714
d90ec4f2
JM
37152015-10-28 Jason Merrill <jason@redhat.com>
3716
3717 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
3718
88bae6f4
TS
37192015-10-27 Thomas Schwinge <thomas@codesourcery.com>
3720 James Norris <jnorris@codesourcery.com>
3721 Cesar Philippidis <cesar@codesourcery.com>
3722
3723 PR c/64765
3724 PR c/64880
3725 * c-common.h (c_oacc_split_loop_clauses): Declare function.
3726 * c-omp.c (c_oacc_split_loop_clauses): New function.
3727
b1726d6c
MS
37282015-10-21 Martin Sebor <msebor@redhat.com>
3729
3730 PR driver/68043
3731 * c.opt: End each sentence that describes an option with a period.
3732
fa60eeb9
MP
37332015-10-20 Marek Polacek <polacek@redhat.com>
3734
3735 * array-notation-common.c (is_cilkplus_vector_p): Define.
3736 * c-common.h (is_cilkplus_vector_p): Declare.
3737
95979049
MP
37382015-10-20 Marek Polacek <polacek@redhat.com>
3739
3740 * c.opt (std=gnu++11): Do not describe as experimental.
3741 (std=gnu++14): Likewise.
3742
2a9fb712
JM
37432015-10-19 Jason Merrill <jason@redhat.com>
3744
3745 * c-cppbuiltin.c (c_cpp_builtins): Define
3746 __cpp_nontype_template_args.
3747
13b380a3
JM
37482015-10-19 Jason Merrill <jason@redhat.com>
3749
3750 * c-cppbuiltin.c (c_cpp_builtins): Define
3751 __cpp_enumerator_attributes, __cpp_fold_expressions,
3752 __cpp_unicode_characters.
3753
d9a6bd32
JJ
37542015-10-13 Jakub Jelinek <jakub@redhat.com>
3755 Aldy Hernandez <aldyh@redhat.com>
3756
3757 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
3758 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
3759 (c_define_builtins): Likewise.
3760 * c-common.h (enum c_omp_clause_split): Add
3761 C_OMP_CLAUSE_SPLIT_TASKLOOP.
3762 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
3763 (c_finish_omp_for): Add ORIG_DECLV argument.
3764 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
3765 201511 instead of 201307.
3766 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
3767 OMP_CRITICAL_CLAUSES to it.
3768 (c_finish_omp_ordered): Add CLAUSES argument, set
3769 OMP_ORDERED_CLAUSES to it.
3770 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
3771 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
3772 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
3773 constructs and new OpenMP 4.5 clauses. Clear
3774 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
3775 verification code.
3776 * c-pragma.c (omp_pragmas_simd): Add taskloop.
3777 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
3778 (enum pragma_omp_clause): Add
3779 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
3780 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
3781
624d31fe
RS
37822015-10-05 Richard Sandiford <richard.sandiford@arm.com>
3783
3784 * c-lex.c (interpret_float): Use real_equal instead of
3785 REAL_VALUES_EQUAL.
3786
b8fd7909
JM
37872015-10-04 Jason Merrill <jason@redhat.com>
3788
3789 Implement N4514, C++ Extensions for Transactional Memory.
3790 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
3791 (c_common_attribute_table): Add transaction_safe_dynamic.
3792 transaction_safe now affects type identity.
3793 (handle_tm_attribute): Handle transaction_safe_dynamic.
3794 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
3795 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
3796 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
3797 (D_TRANSMEM): New.
3798 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
3799 * c-pretty-print.c (pp_c_attributes_display): Don't print
3800 transaction_safe in C++.
3801
12651878
MP
38022015-10-02 Marek Polacek <polacek@redhat.com>
3803
3804 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
3805
3e3b8d63
MP
38062015-10-02 Marek Polacek <polacek@redhat.com>
3807
3808 PR c/64249
3809 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
3810 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
3811 * c.opt (Wduplicated-cond): New option.
3812
0d1a8f75
JM
38132015-10-01 Joseph Myers <joseph@codesourcery.com>
3814
3815 * c.opt (std=c11): Do not describe as experimental.
3816 (std=gnu11): Likewise.
3817 (std=iso9899:2011): Likewise.
3818
3e32ee19
NS
38192015-09-28 Nathan Sidwell <nathan@codesourcery.com>
3820
3821 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
3822 (DEF_FUNCTION_TYPE_VAR_11): Delete.
3823
974348ee
MP
38242015-09-25 Marek Polacek <polacek@redhat.com>
3825
3826 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
3827 (ubsan_instrument_shift): Likewise.
3828
15dbc1a6
MP
38292015-09-25 Marek Polacek <polacek@redhat.com>
3830
3831 PR sanitizer/64906
3832 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
3833
6b95d7cc
PP
38342015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
3835
3836 * c-indentation.c (should_warn_for_misleading_indentation):
3837 Compare next_stmt_vis_column with guard_line_first_nws instead
3838 of with guard_line_vis_column.
3839
c1822f9c
MLI
38402015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
3841
3842 PR c/49654
3843 PR c/49655
3844 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
3845 options and options not valid for the current language.
3846
d5398058
PP
38472015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
3848
3849 * c-indentation.c (should_warn_for_misleading_indentation):
3850 Float out and consolidate the calls to get_visual_column that
3851 are passed guard_exploc as an argument. Compare
3852 next_stmt_vis_column with guard_line_first_nws instead of with
3853 body_line_first_nws.
3854
6b333269
NS
38552015-09-22 Nathan Sidwell <nathan@codesourcery.com>
3856
3857 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
3858 Wnamespaces): New C++ warnings.
3859
a75f1574
JM
38602015-09-22 Jason Merrill <jason@redhat.com>
3861
3862 * c-common.h (abi_compat_version_crosses): New.
3863 (warn_abi_version): Declare.
3864 * c-common.c: Define it.
3865 * c-opts.c (c_common_post_options): Handle it.
3866 flag_abi_compat_version defaults to 8.
3867
bdaaa8b7
VV
38682015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
3869
3870 Complete the implementation of N4230, Nested namespace definition.
3871 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
3872 __cpp_nested_namespace_definitions.
3873
eaa797e8
MLI
38742015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
3875
3876 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
3877
c4914de6
MLI
38782015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
3879
3880 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
3881 when warning.
3882 * c-pragma.h (pragma_lex): Add optional loc argument.
3883
fcb87c50
MM
38842015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
3885
3886 * c-format.c (check_format_arg): Adjust to use common block size in all
3887 object pools.
3888
31bdd08a
DM
38892015-09-15 David Malcolm <dmalcolm@redhat.com>
3890
3891 * c-format.c (location_from_offset): Update for change in
3892 signature of location_get_source_line.
3893 * c-indentation.c (get_visual_column): Likewise.
3894 (line_contains_hash_if): Likewise.
3895
aa9f4b4c
MP
38962015-09-14 Marek Polacek <polacek@redhat.com>
3897
3898 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
3899 setting various warnings.
3900
aa256c4a
MP
39012015-09-14 Marek Polacek <polacek@redhat.com>
3902
3903 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
3904 a negative value.
3905
0f876f22
MW
39062015-09-11 Mark Wielaard <mjw@redhat.com>
3907
3908 PR c/28901
3909 * c.opt (Wunused-variable): Option from common.opt.
3910 (Wunused-const-variable): New option.
3911
273aa49e
PC
39122015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
3913
3914 PR c++/53184
3915 * c.opt ([Wsubobject-linkage]): Add.
3916
1807ffc1
MS
39172015-09-03 Martin Sebor <msebor@redhat.com>
3918
3919 PR c/66516
3920 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
3921 functions.
3922 * c-common.c (reject_gcc_builtin): Define.
3923
38942840
BI
39242015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
3925
3926 PR middle-end/60586
3927 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
3928 prototype.
3929 * c-gimplify.c (c_gimplify_expr): Added a call to the function
3930 cilk_gimplify_call_params_in_spawned_fn.
3931 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
3932 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
3933 unwrapping.
3934
c316b5e4
MP
39352015-08-25 Marek Polacek <polacek@redhat.com>
3936
3937 PR middle-end/67330
3938 * c-common.c (handle_weak_attribute): Don't check whether the
3939 visibility can be changed here.
3940
584a7c46
MLI
39412015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3942
3943 * c-lex.c (c_lex_with_flags): Use explicit locations.
3944
a79683d5
TS
39452015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
3946
3947 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
3948 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
3949
61717a45
FXC
39502015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3951
3952 PR middle-end/36757
3953 * c-common.c (check_builtin_function_arguments): Add check
3954 for BUILT_IN_SIGNBIT argument.
3955
329524f5
PC
39562015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
3957
3958 PR c++/67160
3959 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
3960 in c++1z mode.
3961
4ee55665
MP
39622015-08-17 Marek Polacek <polacek@redhat.com>
3963
3964 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
3965 with whitespaces before qualifier names.
3966
b893e375
MP
39672015-08-12 Marek Polacek <polacek@redhat.com>
3968
3969 PR c++/55095
3970 * c-common.c (maybe_warn_shift_overflow): Properly handle
3971 left-shifting 1 into the sign bit.
3972
c2d89095
MLI
39732015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3974
3975 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
3976
971e17ff
AS
39772015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
3978 Braden Obrzut <admin@maniacsvault.net>
3979 Jason Merrill <jason@redhat.com>
3980
3981 Add C++ Concepts TS support.
3982 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
3983 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
3984 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
3985 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
3986 * c-opts.c (set_std_cxx1z): Set flag_concepts.
3987 * c.opt (fconcepts): New.
3988
b3d5bc62
JJ
39892015-08-02 Martin Sebor <msebor@redhat.com>
3990
3991 * c.opt (-Wframe-address): New warning option.
3992
8ebca419
PP
39932015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
3994
3995 * c-indentation.c (should_warn_for_misleading_indentation):
3996 Improve heuristics.
3997
1a1e101f
PP
39982015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
3999
4000 * c-indentation.c (get_visual_column): Add parameter first_nws,
4001 use it. Update comment documenting the function.
4002 (is_first_nonwhitespace_on_line): Remove.
4003 (should_warn_for_misleading_indentation): Replace usage of
4004 of is_first_nonwhitespace_on_line with get_visual_column.
4005
992118a1
PP
40062015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4007
4008 * c-indentation.h (struct token_indent_info): Define.
4009 (get_token_indent_info): Define.
4010 (warn_for_misleading_information): Declare.
4011 * c-common.h (warn_for_misleading_information): Remove.
4012 * c-identation.c (warn_for_misleading_indentation):
4013 Change declaration to take three token_indent_infos. Adjust
4014 accordingly.
4015 * c-identation.c (should_warn_for_misleading_indentation):
4016 Likewise. Bail out early if the body is a compound statement.
4017 (guard_tinfo_to_string): Define.
4018
e8fa3817
JM
40192015-07-30 Jason Merrill <jason@redhat.com>
4020
4021 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
4022 '*' for reference decay.
4023
173864e8
MP
40242015-07-30 Marek Polacek <polacek@redhat.com>
4025
4026 * c-common.c (warn_tautological_cmp): Bail for float types.
4027
f2afe6dd
MP
40282015-07-27 Marek Polacek <polacek@redhat.com>
4029
4030 PR bootstrap/67030
4031 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
4032
05b28fd6
MP
40332015-07-27 Marek Polacek <polacek@redhat.com>
4034
4035 PR c++/66555
4036 PR c/54979
4037 * c-common.c (find_array_ref_with_const_idx_r): New function.
4038 (warn_tautological_cmp): New function.
4039 * c-common.h (warn_tautological_cmp): Declare.
4040 * c.opt (Wtautological-compare): New option.
4041
5a5062b8
MP
40422015-07-23 Marek Polacek <polacek@redhat.com>
4043
4044 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
4045 (ubsan_instrument_shift): Likewise.
4046
dc891fe7
MP
40472015-07-23 Marek Polacek <polacek@redhat.com>
4048
4049 PR sanitizer/66908
4050 * c-ubsan.c: Include gimplify.h.
4051 (ubsan_instrument_division): Unshare OP0 and OP1.
4052 (ubsan_instrument_shift): Likewise.
4053
451b5e48
MP
40542015-07-20 Marek Polacek <polacek@redhat.com>
4055 Richard Sandiford <richard.sandiford@arm.com>
4056
4057 PR c++/55095
4058 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
4059 Use EXPR_LOC_OR_LOC.
4060 (maybe_warn_shift_overflow): New function.
4061 * c-common.h (maybe_warn_shift_overflow): Declare.
4062 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
4063 * c.opt (Wshift-overflow): New option.
4064
fb0b2914
ML
40652015-07-16 Martin Liska <mliska@suse.cz>
4066
4067 * c-format.c (static void check_format_info_main): Use
4068 object_allocator instead of pool_allocator.
4069 (check_format_arg): Likewise.
4070 (check_format_info_main): Likewise.
4071
903f5c23
AM
40722015-07-15 Andrew MacLeod <amacleod@redhat.com>
4073
4074 * c-opts.c: Remove multiline #include comment.
4075
026c3cfd
AH
40762015-07-12 Aldy Hernandez <aldyh@redhat.com>
4077
4078 * c-common.c: Fix double word typos.
4079
bb49ee66
EB
40802015-07-10 Eric Botcazou <ebotcazou@adacore.com>
4081
4082 * c-ada-spec.h (cpp_operation): Revert latest change.
4083 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
4084 constructors and destructors.
4085
1916bcb5
AM
40862015-07-09 Andrew MacLeod <amacleod@redhat.com>
4087
4088 * c-common.h: Adjust includes for flags.h changes.
4089 * stub-objc.c: Likewise.
026c3cfd 4090
a9dcd529
EB
40912015-07-08 Eric Botcazou <ebotcazou@adacore.com>
4092
4093 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
4094 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
4095
b03b462f
JJ
40962015-07-08 Jakub Jelinek <jakub@redhat.com>
4097
4098 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
4099 are to be removed, return NULL rather than original clauses list.
4100
c7131fb2
AM
41012015-07-07 Andrew MacLeod <amacleod@redhat.com>
4102
4103 * array-notation-common.c: Adjust includes.
4104 * c-ada-spec.c: Likewise.
4105 * c-cilkplus.c: Likewise.
4106 * c-common.h: Likewise.
4107 * c-cppbuiltin.c: Likewise.
4108 * c-dump.c: Likewise.
4109 * c-format.c: Likewise.
4110 * c-gimplify.c: Likewise.
4111 * c-indentation.c: Likewise.
4112 * c-lex.c: Likewise.
4113 * c-omp.c: Likewise.
4114 * c-opts.c: Likewise.
4115 * c-pch.c: Likewise.
4116 * c-ppoutput.c: Likewise.
4117 * c-pragma.c: Likewise.
4118 * c-pretty-print.c: Likewise.
4119 * c-semantics.c: Likewise.
4120 * c-ubsan.c: Likewise.
4121 * cilk.c: Likewise.
4122 * stub-objc.c: Likewise.
4123
2a7fb83f
EB
41242015-07-07 Eric Botcazou <ebotcazou@adacore.com>
4125
4126 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
4127 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
4128
a03c9bf1
JM
41292015-07-01 Jason Merrill <jason@redhat.com>
4130
36a85135
JM
4131 * c-common.h (D_CXX11): Rename from D_CXX0X.
4132 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
4133 * c-common.c: Adjust.
4134
e7fa68d5
JM
4135 * c-opts.c (c_common_post_options): Default to C++14.
4136
a03c9bf1
JM
4137 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
4138
fe95b036
ESR
41392015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
4140
4141 Implement N4197 - Adding u8 character literals
b3d5bc62 4142 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 4143 CPP_CHAR.
b3d5bc62 4144 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 4145 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 4146 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
4147 and CPP_UTF8CHAR tokens.
4148 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 4149
da2e71c9
MLI
41502015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4151
4152 PR fortran/66605
4153 * c-common.c (do_warn_unused_parameter): Move here.
4154 * c-common.h (do_warn_unused_parameter): Declare.
4155
b155cfd9
MP
41562015-06-29 Marek Polacek <polacek@redhat.com>
4157
4158 PR c/66322
4159 * c-common.c (check_case_bounds): Add bool * parameter. Set
4160 OUTSIDE_RANGE_P.
4161 (c_add_case_label): Add bool * parameter. Pass it down to
4162 check_case_bounds.
4163 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
4164 warning here.
4165 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
4166 declarations.
4167
31521951
MP
41682015-06-27 Marek Polacek <polacek@redhat.com>
4169
4170 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
4171 or VECTOR_INTEGER_TYPE_P throughout.
4172 * c-gimplify.c: Likewise.
4173
22d03525
MP
41742015-06-26 Marek Polacek <polacek@redhat.com>
4175
4176 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
4177 * c-common.c (c_fully_fold_internal): Likewise.
4178 (c_alignof_expr): Likewise.
4179 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
4180 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 4181 * cilk.c (create_parm_list): Likewise.
22d03525 4182
af05e6e5
MP
41832015-06-26 Marek Polacek <polacek@redhat.com>
4184
4185 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
4186
f0889939
AM
41872015-06-25 Andrew MacLeod <amacleod@redhat.com>
4188
4189 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
4190 * c-gimplify.c: Likewise.
4191 * c-pragma.c: Likewise.
4192 * c-ubsan.c: Likewise.
4193 * cilk.c: Likewise.
4194
ca752f39
RS
41952015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4196
4197 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
4198 ggc_hasher.
4199
16a16ec7
AM
42002015-06-25 Andrew MacLeod <amacleod@redhat.com>
4201
4202 * cilk.c: Move calls.h after tm.h in the include chain.
4203
0ae9bd27
MP
42042015-06-25 Marek Polacek <polacek@redhat.com>
4205
4206 * array-notation-common.c: Use VAR_P throughout.
4207 * c-ada-spec.c: Likewise.
4208 * c-common.c: Likewise.
4209 * c-format.c: Likewise.
4210 * c-gimplify.c: Likewise.
4211 * c-omp.c: Likewise.
4212 * c-pragma.c: Likewise.
4213 * c-pretty-print.c: Likewise.
4214 * cilk.c: Likewise.
4215
62f9079a
MP
42162015-06-25 Marek Polacek <polacek@redhat.com>
4217
4218 * cilk.c (extract_free_variables): Use is_global_var.
4219
0fa16060
RS
42202015-06-23 Richard Sandiford <richard.sandiford@arm.com>
4221
4222 * c-common.c: Don't include target-def.h.
4223
a68ae2e1
MP
42242015-06-23 Marek Polacek <polacek@redhat.com>
4225
4226 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
4227 when comparing INTEGER_CSTs.
4228
c6a2f2d9
PMR
42292015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
4230
4231 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
4232 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
4233 (dump_ada_template): Skip partially specialized types.
4234
6b4db501
MM
42352015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
4236
4237 * c-common.c (scalar_to_vector): Use std::swap instead of manually
4238 swapping.
4239
abb226c9
AM
42402015-06-17 Andrew MacLeod <amacleod@redhat.com>
4241
4242 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
4243 * c-ada-spec.c: Likewise.
4244 * c-cilkplus.c: Likewise.
4245 * c-common.c: Likewise.
4246 * c-common.h: Likewise.
4247 * c-cppbuiltin.c: Likewise.
4248 * c-dump.c: Likewise.
4249 * c-format.c: Likewise.
4250 * c-gimplify.c: Likewise.
4251 * c-indentation.c: Likewise.
4252 * c-lex.c: Likewise.
4253 * c-omp.c: Likewise.
4254 * c-opts.c: Likewise.
4255 * c-pch.c: Likewise.
4256 * c-ppoutput.c: Likewise.
4257 * c-pragma.c: Likewise.
4258 * c-pretty-print.c: Likewise.
4259 * c-semantics.c: Likewise.
4260 * c-ubsan.c: Likewise.
4261 * cilk.c: Likewise.
4262 * stub-objc.c: Likewise.
4263
076fecad
PP
42642015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
4265
4266 PR c++/65168
4267 * c-common.c (c_common_truthvalue_conversion): Warn when
4268 converting an address of a reference to a truth value.
4269
13fdf2e2
AM
42702015-06-08 Andrew MacLeod <amacleod@redhat.com>
4271
4272 * array-notation-common.c : Adjust include files.
4273 * c-ada-spec.c : Likewise.
4274 * c-cilkplus.c : Likewise.
4275 * c-common.c : Likewise.
4276 * c-common.h : Likewise.
4277 * c-cppbuiltin.c : Likewise.
4278 * c-dump.c : Likewise.
4279 * c-format.c : Likewise.
4280 * c-gimplify.c : Likewise.
4281 * c-indentation.c : Likewise.
4282 * c-lex.c : Likewise.
4283 * c-omp.c : Likewise.
4284 * c-opts.c : Likewise.
4285 * c-pch.c : Likewise.
4286 * c-ppoutput.c : Likewise.
4287 * c-pragma.c : Likewise.
4288 * c-pretty-print.c : Likewise.
4289 * c-semantics.c : Likewise.
4290 * c-ubsan.c : Likewise.
4291 * cilk.c : Likewise.
4292 * stub-objc.c : Likewise.
4293
a1661b90
MP
42942015-06-08 Marek Polacek <polacek@redhat.com>
4295
4296 PR c/66415
4297 * c-format.c (location_from_offset): Return LOC if LINE is null.
4298
d7438551
AH
42992015-06-05 Aldy Hernandez <aldyh@redhat.com>
4300
4301 * c-common.h (c_parse_final_cleanups): New prototype.
4302 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
4303
b3d5bc62
JJ
43042015-06-04 Sriraman Tallam <tmsriram@google.com>
4305
4306 * c-common.c (noplt): New attribute.
4307 (handle_noplt_attribute): New handler.
4308
ecb9f223
AM
43092015-06-04 Andrew MacLeod <amacleod@redhat.com>
4310
4311 * array-notation-common.c: Adjust includes for restructured coretypes.h.
4312 * c-ada-spec.c: Likewise.
4313 * c-cilkplus.c: Likewise.
4314 * c-common.c: Likewise.
4315 * c-common.h: Likewise.
4316 * c-cppbuiltin.c: Likewise.
4317 * c-dump.c: Likewise.
4318 * c-format.c: Likewise.
4319 * c-gimplify.c: Likewise.
4320 * c-indentation.c: Likewise.
4321 * c-lex.c: Likewise.
4322 * c-omp.c: Likewise.
4323 * c-opts.c: Likewise.
4324 * c-pch.c: Likewise.
4325 * c-ppoutput.c: Likewise.
4326 * c-pragma.c: Likewise.
4327 * c-pretty-print.c: Likewise.
4328 * c-semantics.c: Likewise.
4329 * c-ubsan.c: Likewise.
4330 * cilk.c: Likewise.
4331 * stub-objc.c: Likewise.
4332
6ac48155
DM
43332015-06-02 David Malcolm <dmalcolm@redhat.com>
4334
4335 PR c/66220:
4336 * c-indentation.c (should_warn_for_misleading_indentation): Use
4337 expand_location rather than expand_location_to_spelling_point.
4338 Don't warn if the guarding statement is more indented than the
4339 next/body stmts.
4340
773ce42e
DM
43412015-06-02 David Malcolm <dmalcolm@redhat.com>
4342
4343 * c-indentation.c (warn_for_misleading_indentation): Bail out
4344 immediately if -Wmisleading-indentation isn't enabled.
4345
4fef8379
ML
43462015-06-01 Martin Liska <mliska@suse.cz>
4347
4348 * c-format.c (check_format_arg):Use new type-based pool allocator.
4349 (check_format_info_main) Likewise.
4350
1edfb384
EB
43512015-05-31 Eric Botcazou <ebotcazou@adacore.com>
4352
4353 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
4354 (has_nontrivial_methods): Likewise.
4355
9677ef52
MP
43562015-05-25 Marek Polacek <polacek@redhat.com>
4357
4358 * c-ubsan.c (ubsan_instrument_shift): Use type0.
4359
fd5c817a
MP
43602015-05-22 Marek Polacek <polacek@redhat.com>
4361
4362 PR c/47043
4363 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
4364
a2f45fe6 43652015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
4366
4367 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
4368 STACK_GROWS_DOWNWARD.
4369
a2f45fe6 43702015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
4371
4372 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
4373 STACK_GROWS_DOWNWARD rather than if it is defined.
4374
0fee2ac2 43752015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 4376
0fee2ac2
MLI
4377 PR c/52952
4378 * c-format.c (location_column_from_byte_offset): New.
4379 (location_from_offset): New.
4380 (struct format_wanted_type): Add offset_loc field.
4381 (check_format_info): Move handling of location for extra arguments
4382 closer to the point of warning.
4383 (check_format_info_main): Pass the result of location_from_offset
4384 to warning_at.
4385 (format_type_warning): Pass the result of location_from_offset
4386 to warning_at.
4387
cf4ef6f7
MP
43882015-05-20 Marek Polacek <polacek@redhat.com>
4389
4390 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
4391
3a65ee74
MP
43922015-05-20 Marek Polacek <polacek@redhat.com>
4393
4394 * c-ada-spec.c (dump_sloc): Use DECL_P.
4395
21b634ae
MP
43962015-05-20 Marek Polacek <polacek@redhat.com>
4397
4398 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
4399 * c-common.c: Likewise.
4400
0e50b624
DM
44012015-05-19 David Malcolm <dmalcolm@redhat.com>
4402
4403 * c-common.h (fe_file_change): Strengthen param from
4404 const line_map * to const line_map_ordinary *.
4405 (pp_file_change): Likewise.
4406 * c-lex.c (fe_file_change): Likewise.
4407 (cb_define): Use linemap_check_ordinary when invoking
4408 SOURCE_LINE.
4409 (cb_undef): Likewise.
4410 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
4411 invoking cb_file_change.
4412 (c_finish_options): Likewise.
4413 (push_command_line_include): Likewise.
4414 (cb_file_change): Strengthen param "new_map" from
4415 const line_map * to const line_map_ordinary *.
4416 * c-ppoutput.c (cb_define): Likewise for local "map".
4417 (pp_file_change): Likewise for param "map" and local "from".
4418
fab27f52
MM
44192015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
4420
4421 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
4422
2fe1d762
TV
44232015-05-18 Tom de Vries <tom@codesourcery.com>
4424
4425 * c-common.c (build_va_arg_1): New function.
4426 (build_va_arg): Add address operator to va_list operand if necessary.
4427
7a37fa90
MM
44282015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
4429
4430 PR c/48956
4431 * c-common.c (int_safely_convertible_to_real_p): Define.
4432 (unsafe_conversion_p): Check conversions involving complex types.
4433 (conversion_warning): Add new warning message for conversions which
4434 discard imaginary component.
4435 * c-common.h: (enum conversion_safety): Add new enumerator for such
4436 conversions.
4437
3aa3c9fc
MP
44382015-05-14 Marek Polacek <polacek@redhat.com>
4439
4440 PR c/66066
4441 PR c/66127
4442 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
4443 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
4444 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
4445 use it. If FOR_INT_CONST, require that all evaluated operands be
4446 INTEGER_CSTs.
4447
c3388e62
DM
44482015-05-12 David Malcolm <dmalcolm@redhat.com>
4449
4450 * c-common.h (warn_for_misleading_indentation): New prototype.
4451 * c-indentation.c: New file.
4452 * c.opt (Wmisleading-indentation): New option.
4453
c7b38fd5
TV
44542015-05-12 Tom de Vries <tom@codesourcery.com>
4455
4456 PR tree-optimization/66010
4457 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
4458
381bf11e
JM
44592015-05-09 Jason Merrill <jason@redhat.com>
4460
edff0c06
JM
4461 * c-opts.c (c_common_post_options): Also clear
4462 cpp_opts->cpp_warn_cxx11_compat.
4463
129211bc
JM
4464 * c-common.h (enum cxx_dialect): Add cxx_unset.
4465 * c-common.c (cxx_dialect): Initialize to cxx_unset.
4466 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
4467
381bf11e
JM
4468 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
4469 (std=gnu++0x): Mark as Undocumented.
4470 (std=gnu++1y): Add deprecated message.
4471
fe191308
JM
44722015-05-08 Jason Merrill <jason@redhat.com>
4473
765189ff
JM
4474 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
4475 * c-opts.c: Adjust.
4476
fe191308
JM
4477 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
4478
755e528f
MP
44792015-05-08 Marek Polacek <polacek@redhat.com>
4480
4481 PR c/64918
4482 * c.opt (Woverride-init-side-effects): New option.
4483
0173bd2a
MP
44842015-05-07 Marek Polacek <polacek@redhat.com>
4485
4486 PR c/65179
4487 * c-common.c (c_fully_fold_internal): Warn when left shifting a
4488 negative value.
4489 * c.opt (Wshift-negative-value): New option.
4490 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
4491 when -Wextra and C99/C++11 mode.
4492
e0f0d3b9
MP
44932015-05-07 Marek Polacek <polacek@redhat.com>
4494 Martin Uecker <uecker@eecs.berkeley.edu>
4495
4496 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
4497 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
4498
8243e2a9
JM
44992015-05-05 Jason Merrill <jason@redhat.com>
4500
4501 * c.opt (Wterminate): New.
4502
577cd070
MP
45032015-04-30 Marek Polacek <polacek@redhat.com>
4504
4505 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
4506 require that the non-constant be of a boolean type.
4507
0373796b
JT
45082015-04-29 Josh Triplett <josh@joshtriplett.org>
4509
e0f0d3b9
MP
4510 * c-common.c (handle_section_attribute): Refactor to reduce
4511 nesting and distinguish between error cases.
0373796b 4512
716c0ba6
MP
45132015-04-29 Marek Polacek <polacek@redhat.com>
4514
4515 PR c/64610
4516 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
4517 with 0/1.
4518
8848828b
JJ
45192015-04-29 Jakub Jelinek <jakub@redhat.com>
4520
4521 * c-common.h (omp_clause_mask): Unconditionally define as a class.
4522 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
4523 HOST_BITS_PER_WIDE_INT.
4524
ecd0e562
TV
45252015-04-28 Tom de Vries <tom@codesourcery.com>
4526
4527 PR tree-optimization/65887
4528 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
4529
2a877204 45302015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 4531 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
4532
4533 * c-ada-spec.c (in_function): Delete.
4534 (dump_generic_ada_node): Do not change in_function and remove the
4535 redundant code dealing with it.
4536 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
4537 (print_ada_methods): Output the static member functions in a nested
4538 package after the regular methods as well as associated renamings.
4539
4853031e
MP
45402015-04-24 Marek Polacek <polacek@redhat.com>
4541
4542 PR c/65830
4543 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
4544 and OPT_Wshift_count_overflow.
4545
8c2b7f79
MP
4546 PR c/63357
4547 * c-common.c (warn_logical_operator): Warn if the operands have the
4548 same expressions.
4549
b8787813
MP
45502015-04-24 Marek Polacek <polacek@redhat.com>
4551
4552 PR c/61534
4553 * c-common.c (warn_logical_operator): Bail if either operand comes
4554 from a macro expansion.
4555
8fba1830
BRF
45562015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
4557
4558 PR target/55143
4559 * c-common.c (c_default_pointer_mode): Add definition.
4560 * c-common.h (c_default_pointer_mode): Add declaration.
4561
17958621
JJ
45622015-03-11 Jakub Jelinek <jakub@redhat.com>
4563
4564 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
4565 on record_builtin_type argument.
4566
7ccb1a11
JJ
45672015-03-10 Jakub Jelinek <jakub@redhat.com>
4568
4569 PR c/65120
4570 * c-common.c (warn_logical_not_parentheses): Don't warn for
4571 !x == 0 or !x != 0.
4572
04fd785e
MP
45732015-03-07 Marek Polacek <polacek@redhat.com>
4574
4575 PR sanitizer/65280
4576 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
4577 before trying to figure out whether we have a flexible array member.
4578
a4e26206 45792015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 4580 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
4581
4582 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
4583
0d2489f4
EB
45842015-03-05 Eric Botcazou <ebotcazou@adacore.com>
4585
4586 PR ada/65319
4587 * c-ada-spec.c (print_destructor): Remove obsolete code.
4588
83ed54d7
EB
45892015-03-01 Eric Botcazou <ebotcazou@adacore.com>
4590
4591 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
4592 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
4593 DECL_TEMPLATE_RESULT emulations.
4594 (dump_ada_template)): Add guard for TYPE_METHODS.
4595
7631f0e2
MP
45962015-02-27 Marek Polacek <polacek@redhat.com>
4597
4598 PR c/65040
4599 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
4600
d1783ae5
KT
46012015-02-27 Kai Tietz <ktietz@redhat.com>
4602
4603 PR c/35330
4604 * c-pragma.c (handle_pragma_weak): Do not try to create
4605 weak/alias of declarations not being function, or variable
4606 declarations.
4607
56a9f6bc
TS
46082015-02-24 Thomas Schwinge <thomas@codesourcery.com>
4609
4610 PR libgomp/64625
4611 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
4612 Remove macros.
4613 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
4614
3d5cb23d
MP
46152015-02-16 Marek Polacek <polacek@redhat.com>
4616
4617 PR c/65066
4618 * c-format.c (check_format_types): Handle null param.
4619
fa008882
MP
46202015-02-13 Marek Polacek <polacek@redhat.com>
4621
4622 PR c/65040
4623 * c-format.c (check_format_types): Don't warn about different
4624 signedness if the original value is in the range of WANTED_TYPE.
4625
785f21af
JM
46262015-02-12 Jason Merrill <jason@redhat.com>
4627
4628 PR c++/64956
4629 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
4630 to the current highest version.
4631 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
4632
4886ec8e
JJ
46332015-02-04 Jakub Jelinek <jakub@redhat.com>
4634
4635 PR c/64824
4636 PR c/64868
4637 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
4638 instead of RDIV_EXPR. Use build_binary_op instead of
4639 build2_loc.
4640
40fecdd6
JM
46412015-01-30 Joseph Myers <joseph@codesourcery.com>
4642
4643 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
4644 to pass input_location as first argument.
4645
a0c88d06
TV
46462015-01-23 Tom de Vries <tom@codesourcery.com>
4647
4648 PR libgomp/64672
4649 * c.opt (fopenacc): Mark as LTO option.
4650
1506ae0e
TV
46512015-01-23 Tom de Vries <tom@codesourcery.com>
4652
4653 PR libgomp/64707
4654 * c.opt (fopenmp): Mark as LTO option.
4655
31be63ab
JJ
46562015-01-21 Jakub Jelinek <jakub@redhat.com>
4657
4658 PR c/63307
b1726d6c 4659 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
4660 (compare_decls): Fix up formatting.
4661
46622015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
4663
4664 PR c/63307
4665 * cilk.c: Include vec.h.
4666 (struct cilk_decls): New structure.
4667 (wrapper_parm_cb): Split this function to...
4668 (fill_decls_vec): ...this...
4669 (create_parm_list): ...and this.
4670 (compare_decls): New function.
4671 (for_local_cb): Remove.
4672 (wrapper_local_cb): Ditto.
4673 (build_wrapper_type): For now first traverse and fill vector of
4674 declarations then sort it and then deal with sorted vector.
4675 (cilk_outline): Ditto.
4676 (declare_one_free_variable): Ditto.
4677
6875457f
JM
46782015-01-21 Jason Merrill <jason@redhat.com>
4679
4680 PR c++/64629
4681 * c-format.c (check_format_arg): Call decl_constant_value.
4682
185c9e56
ML
46832015-01-19 Martin Liska <mliska@suse.cz>
4684
4685 * c-common.c (handle_noicf_attribute): New function.
4686
41dbbb37
TS
46872015-01-15 Thomas Schwinge <thomas@codesourcery.com>
4688 Bernd Schmidt <bernds@codesourcery.com>
4689 James Norris <jnorris@codesourcery.com>
4690 Cesar Philippidis <cesar@codesourcery.com>
4691 Ilmir Usmanov <i.usmanov@samsung.com>
4692 Jakub Jelinek <jakub@redhat.com>
4693
4694 * c.opt (fopenacc): New option.
4695 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
4696 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
4697 New macros.
4698 * c-common.h (c_finish_oacc_wait): New prototype.
4699 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
4700 (c_finish_oacc_wait): New function.
4701 * c-pragma.c (oacc_pragmas): New variable.
4702 (c_pp_lookup_pragma, init_pragma): Handle it.
4703 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
4704 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
4705 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
4706 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
4707 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
4708 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
4709 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
4710 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
4711 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
4712 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
4713 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
4714 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
4715 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
4716 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
4717 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
4718 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
4719 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
4720 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
4721 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
4722 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
4723 PRAGMA_OACC_CLAUSE_WORKER.
4724
3f8257db 47252015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
4726
4727 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
4728 for the new option fstack-protector_explicit.
4729 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
4730 (handle_stack_protect_attribute): New function.
4731
3f8257db 47322015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
4733
4734 * c.opt: New option -Warray-bounds=.
4735
adfac8df
JJ
47362015-01-09 Michael Collison <michael.collison@linaro.org>
4737
4738 * array-notation-common.c: Include hash-set.h, machmode.h,
4739 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4740 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
4741 * c-ada-spec.c: Ditto.
4742 * c-cilkplus.c: Ditto.
4743 * c-common.c: Include input.h due to flattening of tree.h.
4744 Define macro GCC_C_COMMON_C.
4745 * c-common.h: Flatten tree.h header files into c-common.h.
4746 Remove include of tree-core.h.
4747 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
4748 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4749 fold-const.h, wide-int.h, and inchash.h due to
4750 flattening of tree.h.
4751 * c-dump.c: Ditto.
4752 * c-format.c: Flatten tree.h header files into c-common.h.
4753 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
4754 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4755 fold-const.h, wide-int.h, and inchash.h due to
4756 flattening of tree.h.
4757 * c-dump.c: Include hash-set.h, machmode.h,
4758 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4759 fold-const.h, wide-int.h, and inchash.h due to
4760 flattening of tree.h.
4761 * c-format.c: Include hash-set.h, machmode.h,
4762 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4763 fold-const.h, wide-int.h, inchash.h and real.h due to
4764 flattening of tree.h.
4765 * c-gimplify.c: Include hash-set.h, machmode.h,
4766 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4767 fold-const.h, wide-int.h, and inchash.h due to
4768 flattening of tree.h.
4769 * cilk.c: Ditto.
4770 * c-lex.c: Ditto.
4771 * c-omp.c: Ditto.
4772 * c-opts.c: Ditto.
4773 * c-pch.c: Ditto.
4774 * c-ppoutput.c: Ditto.
4775 * c-pragma.c: Ditto.
4776 * c-pretty-print.c: Ditto.
4777 * c-semantics.c: Ditto.
4778 * c-ubsan.c: Ditto.
4779 * stub-objc.c: Ditto.
4780
f5481fc4
JM
47812015-01-08 Jason Merrill <jason@redhat.com>
4782
4783 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
4784 do_ubsan_in_current_function.
4785 (ubsan_maybe_instrument_reference_or_call): Likewise.
4786 * c-ubsan.h: Declare it.
4787
de35aa66
MS
47882015-01-08 Mike Stump <mikestump@comcast.net>
4789
4790 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
4791
4a9a42ab
MP
47922015-01-07 Marek Polacek <polacek@redhat.com>
4793
4794 PR c/64440
4795 * c-common.c (c_fully_fold_internal): Warn for division and modulo
4796 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
4797
2f42e5de
TS
47982015-01-05 Trevor Saunders <tsaunders@mozilla.com>
4799
4800 PR c++/31397
4801 * c.opt (Wsuggest-override): New option.
4802
5624e564
JJ
48032015-01-05 Jakub Jelinek <jakub@redhat.com>
4804
4805 Update copyright years.
4806
5bd012f8
MP
48072015-01-05 Marek Polacek <polacek@redhat.com>
4808
4809 PR c/64423
4810 * c-common.c (warn_array_subscript_with_type_char): Add location_t
4811 parameter. Use it.
4812 * c-common.h (warn_array_subscript_with_type_char): Update
4813 declaration.
4814
a7fa8d18
ESR
48152014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
4816
4817 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
4818 Control macro with flag_sized_deallocation.
4819
3f8257db 48202014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
4821
4822 * c.opt (Wdiscarded-array-qualifiers): New option.
4823
1f8d3e84
JJ
48242014-12-19 Jakub Jelinek <jakub@redhat.com>
4825
4826 PR preprocessor/63831
4827 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
4828 and __has_cpp_attribute here.
4829 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
4830 c_common_has_attribute.
4831 * c-common.h (c_common_has_attribute): New prototype.
4832 * c-lex.c (init_c_lex): Set cb->has_attribute to
4833 c_common_has_attribute instead of cb_has_attribute.
4834 (get_token_no_padding): New function.
4835 (cb_has_attribute): Renamed to ...
4836 (c_common_has_attribute): ... this. No longer static. Use
4837 get_token_no_padding, require ()s, don't build TREE_LIST
4838 unnecessarily, fix up formatting, adjust diagnostics, call
4839 init_attributes.
4840
20b06add
JM
48412014-12-15 Jason Merrill <jason@redhat.com>
4842
4843 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
4844 (-Wsized-deallocation): New.
4845 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
4846 to on in C++14 and up.
4847
94a073b2
JM
48482014-12-11 Jason Merrill <jason@redhat.com>
4849
acaa5911
JM
4850 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
4851
94a073b2
JM
4852 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
4853 we aren't complaining about VLAs.
4854
7fb66c15
MP
48552014-12-06 Marek Polacek <polacek@redhat.com>
4856
4857 PR tree-optimization/64183
4858 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
4859 shift-expression if it is integer_type_node. Use types_compatible_p.
4860
b731b390
JJ
48612014-11-29 Jakub Jelinek <jakub@redhat.com>
4862
4863 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
4864 last argument from create_tmp_var_raw and create_tmp_var calls.
4865 * cilk.c (gimplify_cilk_spawn): Likewise.
4866 * c-omp.c (c_finish_omp_atomic): Likewise.
4867
6a4da643
MP
48682014-11-28 Marek Polacek <polacek@redhat.com>
4869
4870 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
4871 instead of unsigned_type_node.
4872
541e35a6
MP
48732014-11-28 Marek Polacek <polacek@redhat.com>
4874
4875 PR c/63862
4876 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
4877 to op1_utype.
4878 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
4879 expression to unsigned_type_node.
4880
dcc97066
MW
48812014-11-20 Mark Wielaard <mjw@redhat.com>
4882
4883 PR debug/38757
4884 * c-opts.c (set_std_c89): Set lang_hooks.name.
4885 (set_std_c99): Likewise.
4886 (set_std_c11): Likewise.
4887 (set_std_cxx98): Likewise.
4888 (set_std_cxx11): Likewise.
4889 (set_std_cxx14): Likewise.
4890 (set_std_cxx1z): Likewise.
4891
aa7da51a
JJ
48922014-11-21 Jakub Jelinek <jakub@redhat.com>
4893
4894 PR target/63764
4895 * c-common.h (convert_vector_to_pointer_for_subscript): Change
4896 return type to bool.
009a3480 4897 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
4898 (convert_vector_to_pointer_for_subscript): Change return type to
4899 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
4900 and copy it into a TARGET_EXPR and use that instead of *vecp
4901 directly.
4902
538dd0b7
DM
49032014-11-19 David Malcolm <dmalcolm@redhat.com>
4904
4905 Merger of git branch "gimple-classes-v2-option-3".
4906 * ChangeLog.gimple-classes: New.
4907 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
4908 from being just a vec<gimple> to a vec<gbind *>.
4909
c39a5e99
JJ
49102014-11-18 Jakub Jelinek <jakub@redhat.com>
4911
4912 PR sanitizer/63813
4913 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
4914 argument to ptype, set type to TREE_TYPE (ptype). Don't call
4915 get_pointer_alignment for non-pointers. Use ptype, or if it is
4916 reference type, corresponding pointer type, as type of kind
4917 argument.
4918 (ubsan_maybe_instrument_reference,
4919 ubsan_maybe_instrument_member_call): Adjust callers.
4920
8537a4a9
MP
49212014-11-15 Marek Polacek <polacek@redhat.com>
4922
4923 PR middle-end/63884
4924 * array-notation-common.c (is_sec_implicit_index_fn): Return false
4925 for NULL fndecl.
4926 (extract_array_notation_exprs): Return for NULL node.
4927
2079956a
JM
49282014-11-12 Joseph Myers <joseph@codesourcery.com>
4929
4930 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
4931 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
4932
1304953e
JJ
49332014-11-12 Jakub Jelinek <jakub@redhat.com>
4934
4935 PR c/59708
4936 * c-common.c (check_builtin_function_arguments): Handle
4937 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
4938
e5e44252
AK
49392014-11-10 Andi Kleen <ak@linux.intel.com>
4940
4941 PR c/60804
4942 * c-common.h (check_no_cilk): Declare.
4943 * cilk.c (get_error_location): New function.
4944 (check_no_cilk): Dito.
4945
e64b984d
AK
49462014-11-10 Andi Kleen <ak@linux.intel.com>
4947
4948 * cilk.c (recognize_spawn): Use expression location
4949 for error message.
4950
13c21655
PC
49512014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
4952
4953 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
4954
42fd12b1
ESR
49552014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
4956
4957 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
4958 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
4959 (__cpp_range_based_for, __cpp_initializer_lists,
4960 __cpp_delegating_constructors, __cpp_nsdmi,
4961 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
4962 for C++11; (__cpp_attribute_deprecated): Remove in favor of
4963 __has_cpp_attribute.
4964 * c-lex.c (cb_has_attribute): New callback CPP function;
4965 (init_c_lex): Set has_attribute callback.
4966
6f450181
RB
49672014-11-04 Richard Biener <rguenther@suse.de>
4968
4969 * c-common.c (shorten_compare): Do not shorten mixed
4970 DFP and non-DFP compares.
4971
26f0e1d6
ESR
49722014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
4973
4974 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
4975 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
4976 Commentary and rearrangement of tests.
4977 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
4978 Commentary and rearrangement of tests.
4979 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
4980 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
4981
ef4bddc2
RS
49822014-10-29 Richard Sandiford <richard.sandiford@arm.com>
4983
4984 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
4985 enum from machine_mode.
4986
c582198b
AM
49872014-10-28 Andrew MacLeod <amacleod@redhat.com>
4988
adfac8df
JJ
4989 * c-common.c: Adjust include files.
4990 * c-gimplify.c: Ditto.
4991 * cilk.c: Ditto.
4992 * c-pragma.c: Ditto.
4993 * c-ubsan.c: Ditto.
c582198b 4994
60393bbc
AM
49952014-10-27 Andrew MacLeod <amacleod@redhat.com>
4996
4997 * c-gimplify.c: Adjust include files.
4998
d723bb7c
MLI
49992014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
5000
5001 PR c++/53061
5002 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
5003 c_common_initialize_diagnostics.
5004 * c-common.h: Likewise.
5005
90f3520e
MP
50062014-10-24 Marek Polacek <polacek@redhat.com>
5007
5008 PR c/56980
5009 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
5010 print "struct"/"union"/"enum" for typedefed names.
5011
59d7607a
MP
50122014-10-23 Marek Polacek <polacek@redhat.com>
5013
5014 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
5015 in unsigned type.
5016
d95a2703
JJ
50172014-10-22 Jakub Jelinek <jakub@redhat.com>
5018 Yury Gribov <y.gribov@samsung.com>
5019
5020 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5021 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
5022 instead of flag_sanitize_recover as bool flag.
5023
8e6ef852
KY
50242014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
5025
5026 * cilk.c: Revert previous change.
5027
948cf550
IZ
50282014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
5029
5030 PR c/63307
5031 * cilk.c: Include vec.h.
5032 (struct cilk_decls): New structure.
5033 (wrapper_parm_cb): Split this function to...
5034 (fill_decls_vec): ...this...
5035 (create_parm_list): ...and this.
5036 (compare_decls): New function.
5037 (for_local_cb): Remove.
5038 (wrapper_local_cb): Ditto.
5039 (build_wrapper_type): For now first traverse and fill vector of
5040 declarations then sort it and then deal with sorted vector.
5041 (cilk_outline): Ditto.
5042 (declare_one_free_variable): Ditto.
5043
92574c7c
MP
50442014-10-17 Marek Polacek <polacek@redhat.com>
5045
5046 * c-opts.c (c_common_post_options): Set warn_implicit_int.
5047 * c.opt (Wimplicit-int): Initialize to -1.
5048
83685514
AM
50492014-10-16 Andrew MacLeod <amacleod@redhat.com>
5050
5051 * c-pragma.c: Adjust include files.
5052 * c-semantics.c: Likewise.
5053
5b8300ea
DD
50542014-10-16 DJ Delorie <dj@redhat.com>
5055
5056 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
5057 multiples of bytes.
5058
5f83e90b
JM
50592014-10-14 Jason Merrill <jason@redhat.com>
5060
5061 PR c++/63455
5062 * c-common.h (CPP_PREPARSED_EXPR): New.
5063 (N_CP_TTYPES): Adjust.
5064
d73326ca
MP
50652014-10-15 Marek Polacek <polacek@redhat.com>
5066
5067 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
5068
78a7c317
DD
50692014-10-14 DJ Delorie <dj@redhat.com>
5070
5071 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
5072 types, not just __int128.
5073 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
5074 types, not just __int128.
5075 (cpp_atomic_builtins): Round pointer sizes up.
5076 (type_suffix): Use type precision, not specific types.
5077 * c-common.c (c_common_reswords): Remove __int128 special case.
5078 (c_common_type_for_size): Check for all __intN types, not just
5079 __int128.
5080 (c_common_type_for_mode): Likewise.
5081 (c_common_signed_or_unsigned_type): Likewise.
5082 (c_build_bitfield_integer_type): Likewise.
5083 (c_common_nodes_and_builtins): Likewise.
5084 (keyword_begins_type_specifier): Likewise.
5085 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
5086 __intN variants.
5087
2a22f99c
TS
50882014-10-12 Trevor Saunders <tsaunders@mozilla.com>
5089
5090 * c-common.c: Use hash_table instead of hashtab.
5091
2a8ef767
ESR
50922014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
5093
adfac8df 5094 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
5095 C++11 section.
5096
3c9aabbd
MG
50972014-10-03 Marc Glisse <marc.glisse@inria.fr>
5098
5099 PR c++/54427
5100 PR c++/57198
5101 PR c++/58845
5102 * c-common.c (warn_logical_operator): Punt for vectors.
5103
a15f7cb8
ESR
51042014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
5105
5106 Implement SD-6: SG10 Feature Test Recommendations
5107 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
5108 macros and the __has_header macro.
5109
8d0cf15e
JM
51102014-09-30 Jason Merrill <jason@redhat.com>
5111
dd5d5481
JM
5112 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
5113 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
5114 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5115
b752325e
JM
5116 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
5117 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5118
8d0cf15e
JM
5119 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
5120 * c-common.c (c_common_reswords): Remove __is_convertible_to.
5121
083e891e
MP
51222014-09-24 Marek Polacek <polacek@redhat.com>
5123
5124 PR c/61405
5125 PR c/53874
5126 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
5127
7861b648
AK
51282014-09-23 Andi Kleen <ak@linux.intel.com>
5129
5130 * c-common.c (handle_no_reorder_attribute): New function.
5131 (c_common_attribute_table): Add no_reorder attribute.
5132
9a79452d
JM
51332014-09-22 Joseph Myers <joseph@codesourcery.com>
5134
5135 * c-cppbuiltin.c (c_cpp_builtins): Define
5136 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
5137 modes.
5138
dd69f047
JM
51392014-09-18 Joseph Myers <joseph@codesourcery.com>
5140
5141 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
5142 for supported floating-point modes.
5143
737a4826
MLI
51442014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5145
5146 * c.opt (Wpsabi): Use LangEnabledBy.
5147 * c-opts.c (c_common_handle_option): Do not handle here.
5148
8cc4b7a2
JM
51492014-09-12 Joseph Myers <joseph@codesourcery.com>
5150
5151 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
5152 macros for floating-point modes.
5153
179b5a55
MG
51542014-09-11 Marc Glisse <marc.glisse@inria.fr>
5155
5156 PR target/58757
5157 * c-cppbuiltin.c (builtin_define_float_constants): Correct
5158 __*_DENORM_MIN__ without denormals.
5159
570a11fe
JJ
51602014-09-10 Jakub Jelinek <jakub@redhat.com>
5161
5162 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5163 ubsan_instrument_vla, ubsan_instrument_return): Adjust
5164 ubsan_create_data callers.
5165 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
5166 index is constant or BIT_AND_EXPR with constant mask and is
5167 small enough for the bound.
5168 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
5169 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
5170
b559c810
MLI
51712014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5172
5173 * c.opt: Add CppReason to various flags.
5174 (Wdate-time): Re-sort.
5175 * c-common.c: Include c-common.h earlier.
5176 (struct reason_option_codes_t): Delete.
5177 (c_option_controlling_cpp_error): Prefix global type and struct
5178 with cpp_.
5179
1ef33fd4
MLI
51802014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5181
5182 * c.opt (Wnormalized): New.
5183 (Wnormalized=): Use Enum and Reject Negative.
5184 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
5185
66bb34c0
JM
51862014-09-08 Joseph Myers <joseph@codesourcery.com>
5187
5188 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
5189 digits of floating-point modes if -fbuilding-libgcc.
5190
53d68b9f
JM
51912014-09-05 Joseph Myers <joseph@codesourcery.com>
5192
5193 * c-cppbuiltin.c (c_cpp_builtins): Also define
5194 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
5195 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
5196 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
5197 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
5198 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
5199 __LIBGCC_STACK_GROWS_DOWNWARD__,
5200 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
5201 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
5202 __LIBGCC_DWARF_FRAME_REGISTERS__,
5203 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
5204 __LIBGCC_STACK_POINTER_REGNUM__ and
5205 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
5206 (builtin_define_with_value): Handle backslash-escaping in string
5207 macro values.
5208
f65586dc
RB
52092014-09-05 Richard Biener <rguenther@suse.de>
5210
5211 PR middle-end/63148
5212 * c-format.c (check_format_arg): Properly handle
5213 effectively signed POINTER_PLUS_EXPR offset.
5214
2b71f4a4
MLI
52152014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5216
5217 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
5218 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
5219 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
5220 and Init.
5221 * c-opts.c (c_common_handle_option): Do not handle here.
5222 (sanitize_cpp_opts): Likewise.
5223 * c-common.c (struct reason_option_codes_t): Handle
5224 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
5225
d2e4feca
MP
52262014-09-03 Marek Polacek <polacek@redhat.com>
5227
5228 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
5229
9a771876
JJ
52302014-09-02 Jakub Jelinek <jakub@redhat.com>
5231 Balaji V. Iyer <balaji.v.iyer@intel.com>
5232 Igor Zamyatin <igor.zamyatin@intel.com>
5233
5234 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
5235 * c-common.c (c_common_reswords): Added _Cilk_for.
5236 * c-common.h (enum rid): Added RID_CILK_FOR.
5237 (cilk_for_number_of_iterations): Add declaration.
5238 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
5239 CILK_FOR.
5240 * c-pragma.c (init_pragma): Register "grainsize" pragma.
5241 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
5242
81b5d104
MLI
52432014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5244
5245 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
5246 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
5247 Wundef): Use CPP, Var and Init.
5248 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
5249
b753b37b
MLI
52502014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5251
5252 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
5253 * c-opts.c (c_common_handle_option): Do not handle here.
5254
028aee17
JM
52552014-08-25 Jason Merrill <jason@redhat.com>
5256
5257 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
5258 -std=c++14 and -std=gnu++14, rather than the reverse.
5259 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
5260 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
5261 * c-common.h (cxx_dialect): Remove cxx1y.
5262
e4276ba5
ESR
52632014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
5264
5265 * c-common.h (enum cxx_dialect): Add cxx14.
5266 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
5267 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
5268 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
5269
a545cacd
JM
52702014-08-22 Jason Merrill <jason@redhat.com>
5271
5272 * c.opt (std=gnu++17): Fix alias.
5273
59ea0364
MP
52742014-08-22 Marek Polacek <polacek@redhat.com>
5275
5276 PR c++/62199
5277 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
5278 check for vector types. Drop LHS argument.
5279 * c-common.h (warn_logical_not_parentheses): Adjust.
5280
596e808c
MLI
52812014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5282
5283 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
5284 (Wmultichar): Likewise.
5285 (Wdate-time): Use C-family languages instead of Common. Use CPP
5286 and Var.
5287 * c-opts.c (c_common_handle_option): Do not handle the above
5288 options here.
5289 (sanitize_cpp_opts): Likewise.
5290
18767f65
MLI
52912014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
5292
5293 PR fortran/44054
5294 * c-opts.c: Include tree-diagnostics.h.
5295 (c_diagnostic_finalizer): New.
5296 (c_common_initialize_diagnostics): Use it.
5297
b4413594
MLI
52982014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5299
5300 PR preprocessor/51303
5301 * c-common.c (struct reason_option_codes_t option_codes):
5302 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
5303
43f9a13c
MLI
53042014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5305
5306 PR c/60975
5307 PR c/53063
5308 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
5309 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
5310 (c_common_post_options): Call init_global_opts_from_cpp.
5311 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
5312
04159acf
MP
53132014-08-19 Marek Polacek <polacek@redhat.com>
5314
5315 PR c++/62153
5316 * c-common.c (maybe_warn_bool_compare): New function.
5317 * c-common.h (maybe_warn_bool_compare): Declare.
5318 * c.opt (Wbool-compare): New option.
5319
35aff4fb
MP
53202014-08-19 Marek Polacek <polacek@redhat.com>
5321
5322 * c.opt (Wc99-c11-compat): New option.
5323
177cce46
MP
53242014-08-19 Marek Polacek <polacek@redhat.com>
5325
5326 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
5327 to warn_c90_c99_compat.
5328 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
5329 to -1.
5330
6ae9194f
MLI
53312014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
5332 Steven Bosscher <steven@gcc.gnu.org>
5333
5334 PR c/52952
5335 * c-format.c: Add extra_arg_loc and format_string_loc to struct
5336 format_check_results.
5337 (check_function_format): Use true and add comment for boolean
5338 argument.
5339 (finish_dollar_format_checking): Use explicit location when warning.
5340 (check_format_info): Likewise.
5341 (check_format_arg): Set extra_arg_loc and format_string_loc.
5342 (check_format_info_main): Use explicit location when warning.
5343 (check_format_types): Pass explicit location.
5344 (format_type_warning): Likewise.
5345
8e54f6d3
MLI
53462014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5347
5348 PR fortran/44054
5349 * c-format.c: Handle Fortran flags.
5350
cd4e76fc
IZ
53512014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
5352
5353 PR other/61962
5354 * array-notation-common.c (find_rank): Added handling for other
5355 types of references.
5356
f3bede71
MP
53572014-08-10 Marek Polacek <polacek@redhat.com>
5358
5359 PR c/51849
5360 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
5361 * c.opt (Wc90-c99-compat): Add option.
5362
9f25a338
TS
53632014-08-07 Trevor Saunders <tsaunders@mozilla.com>
5364
5365 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
5366
62e4eb35
MP
53672014-08-03 Marek Polacek <polacek@redhat.com>
5368
5369 * c-common.c (check_case_value): Add location_t parameter. Use it.
5370 (c_add_case_label): Pass loc to check_case_value.
5371
b787e7a2
TS
53722014-08-02 Trevor Saunders <tsaunders@mozilla.com>
5373
5374 * cilk.c: Use hash_map instead of pointer_map.
5375
6e2830c3
TS
53762014-08-02 Trevor Saunders <tsaunders@mozilla.com>
5377
5378 * c-gimplify.c: Use hash_set instead of pointer_set.
5379
a7ee52fb
IZ
53802014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
5381
5382 PR middle-end/61455
5383 * array-notation-common.c (extract_array_notation_exprs): Handling
5384 of DECL_EXPR added.
5385
944fa280
JJ
53862014-08-01 Jakub Jelinek <jakub@redhat.com>
5387
5388 * c-common.h (min_align_of_type): Removed prototype.
5389 * c-common.c (min_align_of_type): Removed.
5390 * c-ubsan.h (ubsan_maybe_instrument_reference,
5391 ubsan_maybe_instrument_member_call): New prototypes.
5392 * c-ubsan.c: Include stor-layout.h and builtins.h.
5393 (ubsan_maybe_instrument_reference_or_call,
5394 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
5395 functions.
5396
b4dfdc11
MG
53972014-07-31 Marc Glisse <marc.glisse@inria.fr>
5398
5399 PR c++/60517
5400 * c.opt (-Wreturn-local-addr): Move to common.opt.
5401
a41844e5
JM
54022014-07-30 Jason Merrill <jason@redhat.com>
5403
5404 PR c++/61659
5405 PR c++/61687
5406 Revert:
5407 * c.opt (-fuse-all-virtuals): New.
5408
976d5a22
TT
54092014-07-30 Tom Tromey <tromey@redhat.com>
5410
5411 PR c/59855
5412 * c.opt (Wdesignated-init): New option.
5413 * c-common.c (c_common_attribute_table): Add "designated_init".
5414 (handle_designated_init): New function.
5415
cdc94aca
MP
54162014-07-24 Marek Polacek <polacek@redhat.com>
5417
5418 PR c/57653
5419 * c-opts.c (c_finish_options): If -imacros is in effect, return.
5420
f41373b6
DS
54212014-07-16 Dodji Seketeli <dodji@redhat.com>
5422
5423 PR preprocessor/60723 - missing system-ness marks for macro tokens
5424 * c-ppoutput.c (struct print::prev_was_system_token): New data
5425 member.
5426 (init_pp_output): Initialize it.
5427 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
5428 (do_line_change): Return a flag saying if a line marker was
5429 emitted or not.
5430 (scan_translation_unit): Detect if the system-ness of the token we
5431 are about to emit is different from the one of the previously
5432 emitted token. If so, emit a line marker. Avoid emitting useless
5433 adjacent line markers. Avoid emitting line markers for tokens
5434 originating from the expansion of built-in macros.
5435 (scan_translation_unit_directives_only): Adjust.
5436
4d661eaa
MP
54372014-07-15 Marek Polacek <polacek@redhat.com>
5438
5439 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
5440 TYPE_MAX_VALUE is NULL.
5441
b108f48f
JJ
54422014-07-14 Jakub Jelinek <jakub@redhat.com>
5443
5444 PR middle-end/61294
5445 * c.opt (Wmemset-transposed-args): New warning.
5446
c0221884
JM
54472014-07-10 Jason Merrill <jason@redhat.com>
5448
5449 PR c++/61659
5450 PR c++/61687
5451 * c.opt (-fuse-all-virtuals): New.
5452
63dfbb95
RB
54532014-07-09 Richard Biener <rguenther@suse.de>
5454
5455 PR c-family/61741
5456 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5457 using unsigned arithmetic if overflow does not wrap instead of
5458 if overflow is undefined.
5459
773ec47f
MP
54602014-07-06 Marek Polacek <polacek@redhat.com>
5461
5462 PR c/6940
5463 * c.opt (Wsizeof-array-argument): New option.
5464
00a7ba58
JJ
54652014-07-03 Jakub Jelinek <jakub@redhat.com>
5466
b1726d6c 5467 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
5468 comments->count <= 1, as comments->entries might be NULL.
5469
52ec0ea3
MP
54702014-07-01 Marek Polacek <polacek@redhat.com>
5471
5472 * c.opt (Wint-conversion): New option.
5473
d5c3d343
MP
54742014-07-01 Marek Polacek <polacek@redhat.com>
5475
5476 PR c/58286
5477 * c.opt (Wincompatible-pointer-types): New option.
5478
6e7ceb17
PC
54792014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
5480
5481 PR c++/51400
5482 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
5483 Do not discard TYPE_QUALS of type.
5484
da73100b
JM
54852014-06-26 Jason Merrill <jason@redhat.com>
5486
5487 * c-common.h (enum cxx_dialect): Add cxx1z.
5488 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
5489 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
5490
08eedf75
TJ
54912014-06-26 Teresa Johnson <tejohnson@google.com>
5492
5493 * c-common.h (get_dump_info): Declare.
5494 * c-gimplify.c (c_genericize): Use saved dump files.
5495 * c-opts.c (c_common_parse_file): Begin and end dumps
5496 once around parsing invocation.
5497 (get_dump_info): New function.
5498
7b56b2f8
MP
54992014-06-23 Marek Polacek <polacek@redhat.com>
5500 Andrew MacLeod <amacleod@redhat.com>
5501
5502 PR c/61553
5503 * c-common.c (get_atomic_generic_size): Don't segfault if the
5504 type doesn't have a size.
5505
0e37a2f3
MP
55062014-06-20 Marek Polacek <polacek@redhat.com>
5507
5508 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
5509 (ubsan_walk_array_refs_r): New function.
5510 (c_genericize): Instrument array bounds.
5511 * c-ubsan.c: Include "internal-fn.h".
5512 (ubsan_instrument_division): Mark instrumented arrays as having
5513 side effects. Adjust ubsan_type_descriptor call.
5514 (ubsan_instrument_shift): Likewise.
5515 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
5516 (ubsan_instrument_bounds): New function.
5517 (ubsan_array_ref_instrumented_p): New function.
5518 (ubsan_maybe_instrument_array_ref): New function.
5519 * c-ubsan.h (ubsan_instrument_bounds): Declare.
5520 (ubsan_array_ref_instrumented_p): Declare.
5521 (ubsan_maybe_instrument_array_ref): Declare.
5522
55232014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
5524
5525 PR lto/61123
5526 * c.opt (fshort-enums): Add to LTO.
5527 * c.opt (fshort-wchar): Likewise.
5528
5c3d09f7
MP
55292014-06-16 Marek Polacek <polacek@redhat.com>
5530
5531 PR c/60439
5532 * c.opt (Wswitch-bool): Add Var.
5533
9cf32741
JJ
55342014-06-12 Jakub Jelinek <jakub@redhat.com>
5535
5536 PR middle-end/61486
5537 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
5538 #pragma omp target teams or
5539 #pragma omp {,target }teams distribute simd.
5540
62984918
JM
55412014-06-12 Jason Merrill <jason@redhat.com>
5542
5543 * c.opt (Wabi=, fabi-compat-version): New.
5544 * c-opts.c (c_common_handle_option): Handle -Wabi=.
5545 (c_common_post_options): Handle flag_abi_compat_version default.
5546 Disallow -fabi-compat-version=1.
5547 * c-common.h (abi_version_crosses): New.
5548
f961457f
JH
55492014-06-11 Jan Hubicka <hubicka@ucw.cz>
5550
adfac8df 5551 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
5552 section names that are no longer trees.
5553
92d28cbb
JJ
55542014-06-10 Jakub Jelinek <jakub@redhat.com>
5555
5556 PR fortran/60928
5557 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
5558 (omp_pragmas): ... back here.
5559
742938c9
MP
55602014-06-05 Marek Polacek <polacek@redhat.com>
5561
5562 PR c/49706
5563 * c-common.c (warn_logical_not_parentheses): New function.
5564 * c-common.h (warn_logical_not_parentheses): Declare.
5565 * c.opt (Wlogical-not-parentheses): New option.
5566
9d548dfb
MP
55672014-06-04 Marek Polacek <polacek@redhat.com>
5568
5569 PR c/30020
5570 * c-common.c (check_case_bounds): Add location parameter.
5571 Use it.
5572 (c_add_case_label): Pass loc to check_case_bounds.
5573
fedfecef
MP
55742014-06-03 Marek Polacek <polacek@redhat.com>
5575
5576 PR c/60439
5577 * c.opt (Wswitch-bool): New option.
5578
f6a7cffc
TS
55792014-05-22 Thomas Schwinge <thomas@codesourcery.com>
5580
040d18b6
TS
5581 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
5582 Remove prototypes.
5583 (record_types_used_by_current_var_decl): Move prototype to where
5584 it belongs.
5585
f6a7cffc
TS
5586 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
5587 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
5588 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
5589
632f2871
RS
55902014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
5591
5592 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
5593 * c-common.c (c_common_nodes_and_builtins): Don't initialize
5594 void_zero_node.
5595 * c-pretty-print.c (pp_c_void_constant): New function.
5596 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
5597 (c_pretty_printer::expression): Handle VOID_CST.
5598 * cilk.c (extract_free_variables): Likewise.
5599 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
5600 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
5601
766090c2
TS
56022014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5603
5604 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
5605 * c-pragma.c (push_alignment): Adjust.
5606 (handle_pragma_push_options): Likewise.
5607
661a0813
MP
56082014-05-09 Marek Polacek <polacek@redhat.com>
5609
5610 PR c/50459
5611 * c-common.c (check_user_alignment): Return -1 if alignment is error
5612 node.
5613 (handle_aligned_attribute): Don't call default_conversion on
5614 FUNCTION_DECLs.
5615 (handle_vector_size_attribute): Likewise.
5616 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
5617 (handle_sentinel_attribute): Call default_conversion and allow even
5618 integral types as an argument.
5619
2793eeab
MP
56202014-05-08 Marek Polacek <polacek@redhat.com>
5621
5622 PR c/61053
5623 * c-common.c (min_align_of_type): New function factored out from...
5624 (c_sizeof_or_alignof_type): ...here.
5625 * c-common.h (min_align_of_type): Declare.
5626
f827930a
MP
56272014-05-08 Marek Polacek <polacek@redhat.com>
5628
5629 PR c/61077
5630 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
5631 parameter type of main.
5632
ca49b74e
DD
56332014-05-07 DJ Delorie <dj@redhat.com>
5634
5635 * c-cppbuiltin.c (print_bits_of_hex): New.
5636 (builtin_define_type_minmax): Print values using hex so as not to
5637 require a pre-computed list of string values.
5638
1d60af08
KZ
56392014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
5640 Mike Stump <mikestump@comcast.net>
5641 Richard Sandiford <rdsandiford@googlemail.com>
5642
5643 * c-ada-spec.c: Include wide-int.h.
5644 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
5645 (dump_generic_ada_node): Use wide-int interfaces.
5646 * c-common.c: Include wide-int-print.h.
5647 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
5648 (pointer_int_sum): Use wide-int interfaces.
5649 (c_common_nodes_and_builtins): Use make_int_cst.
5650 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
5651 (handle_alloc_size_attribute): Use wide-int interfaces.
5652 (get_nonnull_operand): Likewise.
5653 * c-format.c (get_constant): Use tree_fits_uhwi_p.
5654 * c-lex.c: Include wide-int.h.
5655 (narrowest_unsigned_type): Take a widest_int rather than two
5656 HOST_WIDE_INTs.
5657 (narrowest_signed_type): Likewise.
5658 (interpret_integer): Update accordingly. Use wide-int interfaces.
5659 (lex_charconst): Use wide-int interfaces.
5660 * c-pretty-print.c: Include wide-int.h.
5661 (pp_c_integer_constant): Use wide-int interfaces.
5662 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
5663 INT_CST_LT_UNSIGNED.
5664
b15458be
RB
56652014-05-06 Richard Biener <rguenther@suse.de>
5666
5667 * c-opts.c (c_common_post_options): For -freestanding,
5668 -fno-hosted and -fno-builtin disable pattern recognition
5669 if not enabled explicitely.
5670
6577374e
MP
56712014-05-02 Marek Polacek <polacek@redhat.com>
5672
5673 * c.opt (Wsizeof-pointer-memaccess): Describe option.
5674
d00887e8
MP
56752014-05-01 Marek Polacek <polacek@redhat.com>
5676
5677 PR c/43245
5678 * c.opt (Wdiscarded-qualifiers): Add.
5679
f8ed5150
MP
56802014-04-30 Marek Polacek <polacek@redhat.com>
5681
5682 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
5683 INT_MIN / -1 sanitization only for integer types.
5684
45484dcf
MP
56852014-04-25 Marek Polacek <polacek@redhat.com>
5686
5687 PR c/18079
5688 * c-common.c (handle_noinline_attribute): Warn if the attribute
5689 conflicts with always_inline attribute.
5690 (handle_always_inline_attribute): Warn if the attribute conflicts
5691 with noinline attribute.
5692
38e514c0
MP
56932014-04-25 Marek Polacek <polacek@redhat.com>
5694
5695 PR c/60156
5696 * c-common.c (check_main_parameter_types): Warn about variadic main.
5697
44875f92
MS
56982014-04-24 Mike Stump <mikestump@comcast.net>
5699
5700 * c.opt (Wshadow-ivar): Default to on.
5701
dcaaa5a0
DP
57022014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
5703
5704 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
5705
c07d7c02
MP
57062014-04-23 Marek Polacek <polacek@redhat.com>
5707
5708 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
5709
1c33c9b7
JJ
57102014-04-22 Jakub Jelinek <jakub@redhat.com>
5711
5712 PR sanitizer/60275
5713 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
5714 if flag_sanitize_undefined_trap_on_error.
5715 (ubsan_instrument_division, ubsan_instrument_shift,
5716 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
5717 if !flag_sanitize_recover.
5718
793c625f
MG
57192014-04-22 Marc Glisse <marc.glisse@inria.fr>
5720
5721 PR libstdc++/43622
5722 * c-common.c (registered_builtin_types): Make non-static.
5723 * c-common.h (registered_builtin_types): Declare.
5724
b0f1bf36
RB
57252014-04-14 Richard Biener <rguenther@suse.de>
5726 Marc Glisse <marc.glisse@inria.fr>
5727
5728 PR c/60819
5729 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
5730 apply may-alias the scalar pointer type when applicable.
5731
3b07fa4a
IZ
57322014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
5733
5734 PR middle-end/60467
5735 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
5736 as possible argument for Cilk_spawn.
5737
cbbd2b1c
TB
57382014-04-11 Tobias Burnus <burnus@net-b.de>
5739
5740 PR c/60194
5741 * c.opt (Wformat-signedness): Add
5742 * c-format.c(check_format_types): Use it.
5743
6415bd5d
JM
57442014-04-11 Jason Merrill <jason@redhat.com>
5745
5746 PR c++/57926
5747 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
5748 default_conversion for an array argument.
5749
6525783a
MP
57502014-04-08 Marek Polacek <polacek@redhat.com>
5751
5752 PR sanitizer/60745
5753 * c-ubsan.c: Include asan.h.
5754 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
5755
880a467b
NS
57562014-04-03 Nathan Sidwell <nathan@codesourcery.com>
5757
5758 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
5759
7b59ff2d
MP
57602014-04-02 Marek Polacek <polacek@redhat.com>
5761
5762 * c-common.h (c_expand_expr): Remove declaration.
5763
8edbfaa6
JJ
57642014-03-28 Jakub Jelinek <jakub@redhat.com>
5765
5766 PR c++/60689
5767 * c-common.c (add_atomic_size_parameter): When creating new
5768 params vector, push the size argument first.
5769
07d72e1d
JJ
57702014-03-26 Jakub Jelinek <jakub@redhat.com>
5771
5772 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5773 ubsan_instrument_vla, ubsan_instrument_return): Adjust
5774 ubsan_create_data callers.
5775
b35e0fa0
JJ
57762014-03-22 Jakub Jelinek <jakub@redhat.com>
5777
5778 PR debug/60603
5779 * c-opts.c (c_finish_options): Restore cb_file_change call to
5780 <built-in>.
5781
39a1ebb3
JJ
57822014-03-13 Jakub Jelinek <jakub@redhat.com>
5783
5784 PR middle-end/36282
5785 * c-pragma.c (apply_pragma_weak): Only look at
5786 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
5787 DECL_ASSEMBLER_NAME_SET_P (decl).
5788 (maybe_apply_pending_pragma_weaks): Exit early if
5789 vec_safe_is_empty (pending_weaks) rather than only when
5790 !pending_weaks.
5791 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
5792 set assembler name back to NULL afterwards.
5793
a07f6ed2
JM
57942014-03-11 Jason Merrill <jason@redhat.com>
5795
5796 * c.opt: Add -std=gnu++14.
5797
75b107f5
IB
57982014-03-11 Ian Bolton <ian.bolton@arm.com>
5799
5800 * c-opts.c (c_common_post_options): Don't override
5801 -ffp-contract=fast if unsafe-math-optimizations is on.
5802
f42c637e
PM
58032014-03-08 Paulo Matos <paulo@matos-sorge.com>
5804
22b15758 5805 * c.opt: Enable LTO FE for fshort-double.
f42c637e 5806
70e24808
JM
58072014-03-07 Jason Merrill <jason@redhat.com>
5808
5809 * c.opt: Add -std=c++14.
5810
3af9c5e9
MP
58112014-03-06 Marek Polacek <polacek@redhat.com>
5812
5813 PR c/60197
5814 * cilk.c (contains_cilk_spawn_stmt): New function.
5815 (contains_cilk_spawn_stmt_walker): Likewise.
5816 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
5817 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
5818
b3bdf019
JJ
58192014-03-03 Jakub Jelinek <jakub@redhat.com>
5820
5821 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
5822 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
5823 even when flag_preprocess_only.
5824
ca7e759d
JM
58252014-02-26 Jason Merrill <jason@redhat.com>
5826
5827 PR c++/59231
5828 PR c++/11586
5829 * c-common.c (shorten_compare): Don't check
5830 c_inhibit_evaluation_warnings.
5831
28e41874
JJ
58322014-02-19 Jakub Jelinek <jakub@redhat.com>
5833
cca615af
JJ
5834 PR c/37743
5835 * c-common.c (c_common_nodes_and_builtins): When initializing
5836 c_uint{16,32,64}_type_node, also set corresponding
5837 uint{16,32,64}_type_node to the same value.
5838
28e41874
JJ
5839 PR c++/60267
5840 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
5841 for PRAGMA_IVDEP if flag_preprocess_only.
5842
c2bf53a1
JJ
58432014-02-12 Jakub Jelinek <jakub@redhat.com>
5844
5845 PR c/60101
5846 * c-common.c (merge_tlist): If copy is true, call new_tlist,
5847 if false, add ADD itself, rather than vice versa.
5848 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
5849 copy. For SAVE_EXPR, only call merge_tlist once.
5850
8fcbce72
JJ
58512014-02-08 Jakub Jelinek <jakub@redhat.com>
5852
5853 PR middle-end/60092
5854 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
5855 and tree_to_uhwi.
5856 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
5857 functions.
5858 (c_common_attribute_table): Add alloc_align and assume_aligned
5859 attributes.
5860
0a756a3f
MP
58612014-02-06 Marek Polacek <polacek@redhat.com>
5862
5863 PR c/60087
5864 * c-common.c (warn_for_sign_compare): Call warning_at with location
5865 instead of warning.
5866
7ec4847a
MP
58672014-02-05 Marek Polacek <polacek@redhat.com>
5868
5869 PR c/53123
5870 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
5871 statement.
5872
66f20604
MP
58732014-02-04 Marek Polacek <polacek@redhat.com>
5874
5875 PR c/60036
5876 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
5877 SAVE_EXPR.
5878
5d77fb19
MG
58792014-02-03 Marc Glisse <marc.glisse@inria.fr>
5880
5881 PR c++/53017
5882 PR c++/59211
5883 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
5884 handle_vector_size_attribute, handle_nonnull_attribute): Call
5885 default_conversion on the attribute argument.
5886 (handle_nonnull_attribute): Increment the argument number.
5887
81e5eca8
MP
58882014-01-31 Marek Polacek <polacek@redhat.com>
5889
5890 PR c/59963
5891 * c-common.c (add_atomic_size_parameter): Pass vNULL to
5892 build_function_call_vec.
5893 (resolve_overloaded_builtin): Likewise.
5894 * c-common.h (build_function_call_vec): Adjust declaration.
5895
68fca595
MP
58962014-01-30 Marek Polacek <polacek@redhat.com>
5897
5898 PR c/59940
5899 * c-common.h (unsafe_conversion_p): Adjust declaration.
5900 (warnings_for_convert_and_check): Likewise.
5901 (convert_and_check): Likewise.
5902 * c-common.c (unsafe_conversion_p): Add location parameter. Call
5903 expansion_point_location_if_in_system_header on it.
5904 (warnings_for_convert_and_check): Add location parameter. Call
5905 expansion_point_location_if_in_system_header on it. Use it.
5906 (convert_and_check): Add location parameter. Use it.
5907 (conversion_warning): Likewise.
5908 (c_add_case_label): Adjust convert_and_check calls.
5909 (scalar_to_vector): Adjust unsafe_conversion_p calls.
5910
b72271b9
BI
59112014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
5912
5913 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
5914 flag_cilkplus.
5915 * c-pragma.c (init_pragma): Likewise.
5916 * c.opt: Likewise.
5917
393e8e8b
MP
59182014-01-23 Marek Polacek <polacek@redhat.com>
5919
5920 PR c/59846
5921 * c-common.c (shorten_compare): Add location_t parameter.
5922 * c-common.h (shorten_binary_op): Adjust declaration.
5923
f04dda30
MP
59242014-01-23 Marek Polacek <polacek@redhat.com>
5925
5926 PR c/58346
5927 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
5928 * c-common.h: Declare it.
5929
621955cb
EB
59302014-01-20 Eric Botcazou <ebotcazou@adacore.com>
5931
5932 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
5933 * c-ada-spec.c (dump_ads): Likewise.
5934 (cpp_check): Likewise.
5935 (dump_ada_specs): Likewise.
5936
59372014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
5938
5939 PR c++/49718
5940 * c-common.c (handle_no_instrument_function_attribute): Allow
5941 no_instrument_function attribute in class member
5942 definition/declaration.
5943
241f845a
JJ
59442014-01-15 Jakub Jelinek <jakub@redhat.com>
5945
5946 PR c/58943
5947 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
5948 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
5949 being COMPOUND_EXPR.
5950 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
5951 operand a SAVE_EXPR and second MODIFY_EXPR.
5952
e83b8e2e
JJ
59532014-01-09 Jakub Jelinek <jakub@redhat.com>
5954
5955 PR target/58115
5956 * c-pch.c (c_common_write_pch): Call
5957 prepare_target_option_nodes_for_pch.
5958
23a5b65a
RS
59592014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5960
5961 Update copyright years
5962
f9030485
RS
59632014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5964
5965 * array-notation-common.c, c-cilkplus.c: Use the standard form for
5966 the copyright notice.
5967
f2aa696b
EB
59682013-12-28 Eric Botcazou <ebotcazou@adacore.com>
5969
5970 * c-ada-spec.c (print_constructor): New function.
5971 (print_destructor): Retrieve the origin of the destructor.
5972 (print_ada_declaration): Revamp handling of constructors/destructors.
5973
3f8257db 59742013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
5975 Bill Maddox <maddox@google.com>
5976 Jason Merrill <jason@redhat.com>
5977
5978 * c.opt: Add -fdeclone-ctor-dtor.
5979 * c-opts.c (c_common_post_options): Default to on iff -Os.
5980
41958c28
BI
59812013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
5982
5983 * c-common.c (c_common_attribute_table): Added "cilk simd function"
5984 attribute.
5985 * c-pragma.h (enum pragma_cilk_clause): Remove.
5986 (enum pragma_omp_clause): Added the following fields:
5987 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
5988 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
5989 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
5990 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
5991 PRAGMA_CILK_CLAUSE_UNIFORM.
5992
b1726d6c 5993
12893402
BI
59942013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
5995
5996 * cilk.c (cilk_outline): Made this function non-static.
5997 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
5998 (create_cilk_wrapper): Added a new parameter: a function pointer.
5999 (c_install_body_w_frame_cleanup): Remove
6000 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
6001 * c-common.h (cilk_outline): New prototype.
6002 (gimplify_cilk_spawn): Removed two parameters.
6003 (cilk_install_body_with_frame_cleanup): New prototype.
6004 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
6005 CILK_SPAWN_STMT case.
6006
085b42ed
BS
60072013-12-11 Bernd Schmidt <bernds@codesourcery.com>
6008
2ce064c3
BS
6009 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
6010
085b42ed
BS
6011 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
6012 (int_array_type_node): Remove.
6013 * c-common.c (c_common_nodes_and_builtins): Don't build it.
6014
9e36c9ed
MP
60152013-12-05 Marek Polacek <polacek@redhat.com>
6016
6017 PR c/52023
6018 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
6019 [ADJUST_FIELD_ALIGN].
6020
296674db
JM
60212013-12-04 Joseph Myers <joseph@codesourcery.com>
6022
6023 PR c/52023
6024 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
6025 and check field alignment if set.
6026 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
6027 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
6028
b1726d6c 60292013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
6030 Marek Polacek <polacek@redhat.com>
6031
6032 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
6033 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
6034
d7947e19
L
60352013-11-29 H.J. Lu <hongjiu.lu@intel.com>
6036
6037 PR c/59309
6038 * cilk.c (gimplify_cilk_spawn): Properly handle function without
6039 arguments.
6040
fad7652e
JJ
60412013-11-29 Jakub Jelinek <jakub@redhat.com>
6042
6043 PR c/59280
6044 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
6045 goto invalid. If it is error_mark_node, don't issue further
6046 diagnostics.
6047
8b5e1202
SO
60482013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
6049
6050 * c.opt (Wopenmp-simd): New.
6051
0a508bb6
JJ
60522013-11-22 Jakub Jelinek <jakub@redhat.com>
6053
6054 * c-ubsan.h (ubsan_instrument_return): New prototype.
6055 * c-ubsan.c (ubsan_instrument_return): New function.
6056
2fb9a547
AM
60572013-11-22 Andrew MacLeod <amacleod@redhat.com>
6058
6059 * c-common.c: Add required include files from gimple.h.
6060 * c-gimplify.c: Likewise
6061 * cilk.c: Likewise
6062
8400e75e
DM
60632013-11-22 David Malcolm <dmalcolm@redhat.com>
6064
6065 * c-common.c (unsafe_conversion_p): Remove use of
6066 EXPR_LOC_OR_HERE macro.
6067 (conversion_warning): Likewise.
6068 (warnings_for_convert_and_check): Likewise.
6069 (warn_for_collisions_1): Likewise.
6070 (shorten_compare): Likewise, and remove use of in_system_header
6071 macro, using the location from the former.
6072 * c-lex.c (dump_one_header): Remove use of input_filename macro.
6073 (cb_def_pragma): Remove use of in_system_header macro.
6074 (lex_string): Likewise.
6075 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6076
eb1ce453
KZ
60772013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6078 Mike Stump <mikestump@comcast.net>
6079 Richard Sandiford <rdsandiford@googlemail.com>
6080
6081 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
6082 instead of TREE_INT_CST_LOW, in cases where there is a protecting
6083 tree_fits_shwi_p or tree_fits_uhwi_p.
6084 (dump_generic_ada_node): Likewise.
6085 * c-format.c (check_format_arg): Likewise.
6086 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6087
6b3b8c27
KZ
60882013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6089
6090 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
6091
49b0aa18
JC
60922013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
6093
6094 PR c/53001
6095 * c-common.c (unsafe_conversion_p): Make this function
6096 return an enumeration with more detail.
6097 (conversion_warning): Use the new return type of
6098 unsafe_conversion_p to separately warn either about conversions
6099 that lower floating point number precision or about the other
6100 kinds of conversions.
6101 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
6102 (unsafe_conversion_p): switching return type to
6103 conversion_safety enumeration.
49b0aa18
JC
6104 * c.opt: Adding new warning -Wfloat-conversion and
6105 enabling it with -Wconversion.
6106
b826515a
BS
61072013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
6108
8e745a17
JJ
6109 * c-opts.c: Include plugin.h.
6110 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 6111
b9a55b13
MP
61122013-11-19 Marek Polacek <polacek@redhat.com>
6113
6114 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
6115 call.
6116 (ubsan_instrument_shift): Likewise.
6117 (ubsan_instrument_vla): Likewise.
6118
7d362f6c
RS
61192013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6120
6121 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
6122 cast to unsigned type.
6123
386b1f1f
RS
61242013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6125
6126 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
6127 tree_low_cst.
6128 (complete_array_type): Update comment to refer to tree_to_[su]hwi
6129 rather than tree_low_cst.
6130
ae7e9ddd
RS
61312013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6132
6133 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
6134 tree_to_uhwi throughout.
6135
9439e9a1
RS
61362013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6137
6138 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
6139 tree_low_cst (..., 0) with tree_to_shwi throughout.
6140
cc269bb6
RS
61412013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6142
6143 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
6144 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
6145
9541ffee
RS
61462013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6147
6148 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
6149 host_integerp (..., 0) with tree_fits_shwi_p throughout.
6150
c02065fc
AH
61512013-11-15 Aldy Hernandez <aldyh@redhat.com>
6152
6153 * c-cilkplus.c: New file.
6154 * c-common.c (readonly_error): Add location argument.
6155 * c-common.h (readonly_error): Same.
6156 (c_finish_cilk_clauses): Protoize.
6157 (c_check_cilk_loop): Same.
6158 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
6159 Do not fail on error_mark_node.
6160 Abstract increment canonicalization to here...
6161 (c_omp_for_incr_canonicalize_ptr): New.
6162 c-pragma.c (init_pragma): Register "simd" pragma.
6163 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
6164 (enum pragma_cilk_clause): New.
6165
9cc65f15
RS
61662013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
6167
6168 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
6169 wchar_type and host_integerp checks.
6170
18f429e2
AM
61712013-11-14 Andrew MacLeod <amacleod@redhat.com>
6172
6173 * c-common.c: Likewise.
6174 * c-gimplify.c: Likewise.
6175 * cilk.c: Likewise.
6176
d8a2d370
DN
61772013-11-14 Diego Novillo <dnovillo@google.com>
6178
6179 * c-common.c: Include fold-const.h.
6180 Include stor-layout.h.
6181 Include calls.h.
6182 Include stringpool.h.
6183 Include attribs.h.
6184 Include varasm.h.
6185 Include trans-mem.h.
6186 * c-cppbuiltin.c: Include stor-layout.h.
6187 Include stringpool.h.
6188 * c-format.c: Include stringpool.h.
6189 * c-lex.c: Include stringpool.h.
6190 Include stor-layout.h.
6191 * c-pragma.c: Include stringpool.h.
6192 Include attribs.h.
6193 Include varasm.h.
6194 Include gcc-symtab.h.
6195 * c-pretty-print.c: Include stor-layout.h.
6196 Include attribs.h.
6197 * cilk.c: Include stringpool.h.
6198 Include calls.h.
6199
38b7bc7f
JM
62002013-11-13 Joseph Myers <joseph@codesourcery.com>
6201
6202 * c-common.h (enum rid): Add RID_AUTO_TYPE.
6203 * c-common.c (c_common_reswords): Add __auto_type.
6204 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
6205
45b0be94
AM
62062013-11-12 Andrew MacLeod <amacleod@redhat.com>
6207
18f429e2
AM
6208 * c-common.c: Include gimplify.h.
6209 * c-gimplify.c: Likewise.
6210 * cilk.c: Likewise.
6211 * c-omp.c: Include gimple-expr.h instead of gimple.h.
6212 * c-ubsan.c: Don't include gimple.h.
45b0be94 6213
582d9b50
JM
62142013-11-12 Joseph Myers <joseph@codesourcery.com>
6215
6216 * c-common.c (c_common_reswords): Add _Thread_local.
6217
6b28e197
JM
62182013-11-09 Joseph Myers <joseph@codesourcery.com>
6219
6220 * c-common.c (atomic_size_supported_p): New function.
6221 (resolve_overloaded_atomic_exchange)
6222 (resolve_overloaded_atomic_compare_exchange)
6223 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
6224 Use it instead of comparing size with a local list of sizes.
6225
267bac10
JM
62262013-11-07 Andrew MacLeod <amacleod@redhat.com>
6227 Joseph Myers <joseph@codesourcery.com>
6228
6229 * c-common.h (enum rid): Add RID_ATOMIC.
6230 * c-common.c (c_common_reswords): Add _Atomic.
6231 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
6232 (keyword_is_type_qualifier): Accept RID_ATOMIC.
6233 * c-format.c (check_format_types): Check for extra _Atomic
6234 qualifiers in format argument.
6235 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
6236 (pp_c_type_qualifier_list): Mention _Atomic in comment.
6237
5157b91e
TB
62382013-11-06 Tobias Burnus <burnus@net-b.de>
6239
6240 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
6241
6dbe0958
JM
62422013-11-06 Joseph Myers <joseph@codesourcery.com>
6243
6244 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
6245 standards modes.
6246 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
6247 to mean lack of IEEE 754 support.
6248
e8ff5196
TB
62492013-11-05 Tobias Burnus <burnus@net-b.de>
6250
6251 * c.opt (-Wdate-time): New option
6252 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
6253
254a0760
JM
62542013-11-05 Joseph Myers <joseph@codesourcery.com>
6255
6256 * c-cppbuiltin.c (cpp_iec_559_value): Test
6257 flag_excess_precision_cmdline not flag_excess_precision.
6258
6d7f7e0a
TB
62592013-11-05 Tobias Burnus <burnus@net-b.de>
6260
6261 * c.opt (fopenmp-simd): New option.
6262 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
6263 (omp_pragmas): ... this new struct.
6264 (c_pp_lookup_pragma): Also walk omp_pragmas.
6265 (init_pragma): Init pragmas for -fopenmp-simd.
6266
55a7f02f
MP
62672013-11-04 Marek Polacek <polacek@redhat.com>
6268
6269 PR c++/58979
6270 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
6271
9193fb05
JM
62722013-11-04 Joseph Myers <joseph@codesourcery.com>
6273
6274 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
6275 New functions.
6276 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
6277
94159ecf
EB
62782013-11-04 Eric Botcazou <ebotcazou@adacore.com>
6279
6280 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
6281 (dump_ada_specs): Adjust prototype of second callback.
6282 * c-ada-spec.c (cpp_check): New global variable.
6283 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
6284 (print_generic_ada_decl): Likewise.
6285 (has_static_fields): Change return type to bool and add guard.
6286 (has_nontrivial_methods): New predicate.
6287 (is_tagged_type): Change return type to bool.
6288 (separate_class_package): Call has_nontrivial_methods.
6289 (pp_ada_tree_identifier): Minor tweaks.
6290 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
6291 (dump_ada_array_domains): Likewise.
6292 (dump_ada_array_type): Likewise.
6293 (dump_template_types): Remove cpp_check parameter and do not pass it to
6294 dump_generic_ada_node.
6295 (dump_ada_template): Likewise.
6296 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
6297 recursively.
6298 (print_ada_methods): Change return type to integer. Remove cpp_check
6299 parameter and do not pass it down.
6300 (dump_nested_types): Remove cpp_check parameter and do not pass it to
6301 dump_generic_ada_node.
6302 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
6303 accessing methods.
6304 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
6305 down. Use has_nontrivial_methods to recognize C++ classes. Use return
6306 value of print_ada_methods.
6307 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
6308 Set cpp_check to it before invoking dump_ada_nodes.
6309 (dump_ada_specs): Likewise.
6310
b906f4ca
MP
63112013-11-03 Marek Polacek <polacek@redhat.com>
6312
6313 * c-ubsan.c: Don't include hash-table.h.
6314 (ubsan_instrument_vla): New function.
6315 * c-ubsan.h: Declare it.
6316
5e20cdc9
DM
63172013-10-31 David Malcolm <dmalcolm@redhat.com>
6318
6319 Automated part of renaming of symtab_node_base to symtab_node.
6320
6321 Patch autogenerated by rename_symtab.py from
6322 https://github.com/davidmalcolm/gcc-refactoring-scripts
6323 revision 58bb219cc090b2f4516a9297d868c245495ee622
6324
6325 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
6326 symtab_node_base to symtab_node.
6327
7057e645
ESR
63282013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
6329
8e745a17 6330 Implement C++14 digit separators.
7057e645
ESR
6331 * c-lex.c (interpret_float): Remove digit separators from scratch string
6332 before building real literal.
6333
193ea7bc
JJ
63342013-10-30 Jakub Jelinek <jakub@redhat.com>
6335
6336 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
6337
939b37da
BI
63382013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
6339
6340 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
6341 fields.
6342 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
6343 enabled.
6344 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
6345 (insert_cilk_frame): New prototype.
6346 (cilk_init_builtins): Likewise.
6347 (gimplify_cilk_spawn): Likewise.
6348 (c_cilk_install_body_w_frame_cleanup): Likewise.
6349 (cilk_detect_spawn_and_unwrap): Likewise.
6350 (cilk_set_spawn_marker): Likewise.
6351 (build_cilk_sync): Likewise.
6352 (build_cilk_spawn): Likewise.
6353 * cilk.c: New file.
6354
67348ccc
DM
63552013-10-29 David Malcolm <dmalcolm@redhat.com>
6356
6357 Patch autogenerated by refactor_symtab.py from
6358 https://github.com/davidmalcolm/gcc-refactoring-scripts
6359 revision 58bb219cc090b2f4516a9297d868c245495ee622
6360
6361 * c-gimplify.c (c_genericize): Update for conversion of symtab types
6362 to a true class hierarchy.
6363 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
6364
d570872d
RS
63652013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
6366
6367 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
6368
98906124
JL
63692013-10-26 Jeff Law <law@redhat.com>
6370
adfac8df
JJ
6371 * c-common.c (c_define_builtins): Remove mudflap support.
6372 * c.opt: Ignore and warn for mudflap options.
98906124 6373
d73749df 63742013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
6375
6376 PR other/33426
6377 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
6378 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
6379
3f04b1bb
JM
63802013-10-23 Jason Merrill <jason@redhat.com>
6381
6382 * c-format.c (gcc_cxxdiag_char_table): Add %X.
6383
acf0174b
JJ
63842013-10-11 Jakub Jelinek <jakub@redhat.com>
6385
acd15a28
JJ
6386 * c-common.h (omp_clause_mask::operator !=): New method.
6387 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
6388 instead of if (mask & something) tests everywhere.
6389
acf0174b
JJ
6390 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
6391 201307 instead of 201107.
6392 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
6393 (c_common_attribute_table): Add "omp declare target" and
6394 "omp declare simd" attributes.
6395 (handle_omp_declare_target_attribute,
6396 handle_omp_declare_simd_attribute): New functions.
6397 * c-omp.c: Include c-pragma.h.
6398 (c_finish_omp_taskgroup): New function.
6399 (c_finish_omp_atomic): Add swapped argument, if true,
6400 build the operation first with rhs, lhs arguments and use NOP_EXPR
6401 build_modify_expr.
6402 (c_finish_omp_for): Add code argument, pass it down to make_code.
6403 (c_omp_split_clauses): New function.
6404 (c_split_parallel_clauses): Removed.
6405 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
6406 c_omp_declare_simd_clauses_to_decls): New functions.
6407 * c-common.h (omp_clause_mask): New type.
6408 (OMP_CLAUSE_MASK_1): Define.
6409 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
6410 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
6411 omp_clause_mask::operator |, omp_clause_mask::operator &,
6412 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
6413 omp_clause_mask::operator ==): New methods.
6414 (enum c_omp_clause_split): New.
6415 (c_finish_omp_taskgroup): New prototype.
6416 (c_finish_omp_atomic): Add swapped argument.
6417 (c_finish_omp_for): Add code argument.
6418 (c_omp_split_clauses): New prototype.
6419 (c_split_parallel_clauses): Removed.
6420 (c_omp_declare_simd_clauses_to_numbers,
6421 c_omp_declare_simd_clauses_to_decls): New prototypes.
6422 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
6423 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
6424 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
6425 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
6426 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
6427 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
6428 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
6429 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
6430 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
6431 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
6432 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
6433 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
6434 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
6435 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
6436 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
6437 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
6438 PRAGMA_OMP_CLAUSE_UNIFORM.
6439
826cacfe
MG
64402013-10-09 Marc Glisse <marc.glisse@inria.fr>
6441
6442 PR tree-optimization/20318
6443 * c-common.c (handle_returns_nonnull_attribute): New function.
6444 (c_common_attribute_table): Add returns_nonnull.
6445
2284b034
MG
64462013-10-03 Marc Glisse <marc.glisse@inria.fr>
6447
6448 PR c++/19476
6449 * c.opt (fcheck-new): Move to common.opt.
6450
b56e9788
MP
64512013-09-25 Marek Polacek <polacek@redhat.com>
6452 Jakub Jelinek <jakub@redhat.com>
6453
6454 PR sanitizer/58413
6455 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
6456 an expression if we can prove it is correct.
6457 (ubsan_instrument_division): Likewise. Remove unnecessary
6458 check.
6459
ce6923c5
MP
64602013-09-18 Marek Polacek <polacek@redhat.com>
6461
6462 PR sanitizer/58411
6463 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
6464 Declare it.
6465 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
6466
fb5610fb
IS
64672013-09-14 Iain Sandoe <iain@codesourcery.com>
6468
6469 PR target/48094
6470 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
6471 fobjc-gc, freplace-objc-classes): Accept for LTO.
6472
88b0e79e
JC
64732013-09-13 Jacek Caban <jacek@codeweavers.com>
6474
6475 * c-target.def: New hook
6476
c9b0866a
PC
64772013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
6478
6479 PR c++/43452
6480 * c.opt (Wdelete-incomplete): Add.
6481
0af94e6f
JR
64822013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
6483
6484 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
6485 (vector_types_compatible_elements_p): New function.
6486 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
6487 declaration.
6488 (vector_types_compatible_elements_p): Declare.
6489
7c26172c
GDR
64902013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6491
6492 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
6493 a virtual member function.
6494 (pp_simple_type_specifier): Remove.
6495 (pp_c_type_specifier): Likewise.
6496 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
6497 Rename from pp_c_type_specifier. Adjust.
6498 (c_pretty_printer::c_pretty_printer): Do not assign to
6499 simple_type_specifier.
6500
20059c8b
GDR
65012013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6502
6503 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
6504 member function.
6505 (c_pretty_printer::storage_class_specifier): Likewise.
6506 (c_pretty_printer::initializer): Likewise.
6507 (pp_declaration): Remove.
6508 (pp_declaration_specifiers): Likewise.
6509 (pp_abstract_declarator): Likewise.
6510 (pp_declarator): Likewise.
6511 (pp_type_id): Likewise.
6512 (pp_statement): Likewise.
6513 (pp_constant): Likewise.
6514 (pp_id_expression): Likewise.
6515 (pp_primary_expression): Likewise.
6516 (pp_unary_expression): Likewise.
6517 (pp_multiplicative_expression): Likewise.
6518 (pp_conditional_expression): Likewise.
6519 (pp_assignment_expression): Likewise.
6520 (pp_expression): Likewise.
6521 (pp_c_type_id): Likewise.
6522 (pp_c_storage_class_specifier): Likewise.
6523 * c-pretty-print.c (pp_c_type_cast): Tidy.
6524 (pp_c_pointer): Likewise.
6525 (pp_c_type_specifier): Likewise.
6526 (pp_c_parameter_type_list): Likewise.
6527 (pp_c_function_definition): Likewise.
6528 (pp_c_init_declarator): Likewise.
6529 (pp_c_initializer_list): Likewise.
6530 (pp_c_constructor_elts): Likewise.
6531 (c_pretty_printer::direct_abstract_declarator): Likewise.
6532 (c_pretty_printer::declaration_specifiers): Likewise.
6533 (c_pretty_printer::primary_expression): Likewise.
6534 (c_pretty_printer::postfix_expression): Likewise.
6535 (c_pretty_printer::type_id): Rename from pp_c_type_id.
6536 (c_pretty_printer::storage_class_specifier): Rename from
6537 pp_c_storage_class_specifier.
6538 (c_pretty_printer::initializer): Rename from pp_c_initializer.
6539 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
6540 storage_class_specifier, initializer, offset_list, flags.
6541
de5a5fa1
MP
65422013-08-30 Marek Polacek <polacek@redhat.com>
6543
6544 * c-ubsan.c: New file.
6545 * c-ubsan.h: New file.
6546
8f0e4d72
GDR
65472013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
6548
6549 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
6550 member function.
6551 (c_pretty_printer::declaration_specifiers): Likewise.
6552 (c_pretty_printer::declarator): Likewise.
6553 (c_pretty_printer::abstract_declarator): Likewise.
6554 (c_pretty_printer::direct_abstract_declarator): Likewise.
6555 (c_pretty_printer::direct_declarator): Likewise.
6556 (c_pretty_printer::function_specifier): Likewise.
6557 (pp_declaration): Adjust.
6558 (pp_declaration_specifiers): Likewise.
6559 (pp_abstract_declarator): Likewise.
6560 (pp_direct_declarator): Likewise.
6561 (pp_function_specifier): Likewise.
6562 (pp_direct_abstract_declarator): Remove as unused.
6563 (pp_c_declaration): Remove.
6564 (pp_c_declaration_specifiers): Likewise.
6565 (pp_c_declarator): Likewise.
6566 (pp_c_direct_declarator): Likewise.
6567 (pp_c_function_specifier): Likewise.
6568 (pp_c_direct_abstract_declarator): Likewise.
6569 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
6570 from pp_c_abstract_declarator. Adjust.
6571 (c_pretty_printer::direct_abstract_declarator): Rename from
6572 pp_c_direct_abstract_declarator. Adjust.
6573 (c_pretty_printer::function_specifier): Rename from
6574 pp_c_function_specifier. Adjust.
6575 (c_pretty_printer::declaration_specifiers): Rename from
6576 pp_c_declaration_specifiers. Adjust.
6577 (c_pretty_printer::direct_declarator): Rename from
6578 pp_c_direct_declarator. Adjust.
6579 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
6580 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
6581 (c_pretty_printer::c_pretty_printer): Do not assign to
6582 declaration, declaration_specifiers, declarator,
6583 direct_declarator, direct_abstract_declarator, function_specifier.
6584
00d34d3a
GDR
65852013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
6586
6587 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
6588 virtual member function.
6589 (c_pretty_printer::multiplicative_expression): Likewise.
6590 (c_pretty_printer::conditional_expression): Likewise.
6591 (c_pretty_printer::assignment_expression): Likewise.
6592 (c_pretty_printer::expression): Likewise.
6593 (pp_unary_expression): Adjust.
6594 (pp_multiplicative_expression): Likewise.
6595 (pp_assignment_expression): Likewise.
6596 (pp_conditional_expression): Likewise.
6597 (pp_expression): Likewise.
6598 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
6599 from pp_c_unary_expression. Adjust.
6600 (c_pretty_printer::multiplicative_expression): Rename from
6601 pp_c_multiplicative_expression. Adjust.
6602 (c_pretty_printer::conditional_expression): Rename from
6603 pp_c_conditional_expression. Adjust.
6604 (c_pretty_printer::assignment_expression): Rename from
6605 pp_c_assignment_expression. Adjust.
6606 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
6607 (c_pretty_printer::c_pretty_printer): Do not assign to
6608 unary_expression, multiplicative_expression,
6609 conditional_expression, expression.
6610
fb22178f
GDR
66112013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
6612
6613 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
6614 virtual member function.
6615 (pp_postfix_expression): Adjust.
6616 (pp_c_postfix_expression): Remove.
6617 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
6618 from pp_c_postfix_expression. Adjust.
6619 (c_pretty_printer::c_pretty_printer): Do not assign to
6620 postfix_expression.
6621
7ecc2600
GDR
66222013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
6623
6624 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
6625 virtua member function.
6626 (pp_primary_expression): Adjust.
6627 (pp_c_primary_expression): Remove.
6628 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
6629 from pp_c_primary_expression. Adjust.
6630 (pp_c_initializer_list): Use pp_primary_expression.
6631 (c_pretty_printer::c_pretty_printer): Do not assign to
6632 primary_expression.
6633
0691175f
GDR
66342013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
6635
6636 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
6637 * c-pretty-print.c (M_): Remove.
6638 (c_pretty_printer::translate_string): Define.
6639 (pp_c_type_specifier): Use it.
6640 (pp_c_primary_expression): Likewise.
6641 (pp_c_expression): Likewise.
6642
66dfe4c4
GDR
66432013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
6644
6645 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
6646 virtual function.
6647 (pp_c_id_expression): Remove.
6648 (pp_id_expression): Adjust.
6649 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
6650 pp_c_id_expression. Adjust.
6651 (pp_c_postfix_expression): Use pp_id_expression.
6652 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
6653
ca43e9d5
GDR
66542013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
6655
6656 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
6657 member function.
6658 (pp_constant): Adjust.
6659 (pp_c_constant): Remove.
6660 * c-pretty-print.c (c_pretty_printer::constant): Rename from
6661 pp_c_constant. Adjust.
6662 (pp_c_constant)
6663 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
6664 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
6665
da6ca2b5
GDR
66662013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
6667
6668 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
6669 (c_pretty_printer::c_pretty_printer): Declare.
6670 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
6671 c_pretty_printer_init. Adjust.
6672 (print_c_tree): Do not call c_pretty_printer_init.
6673 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
6674
65a372f4
AC
66752013-08-09 Arnaud Charlet <charlet@adacore.com>
6676
6677 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
6678
fd9b0f32
PC
66792013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
6680
6681 PR c++/58080
6682 * c-common.c (pointer_int_sum): Add bool parameter.
6683 * c-common.h (pointer_int_sum): Adjust declaration.
6684
e0aec1e9
GDR
66852013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
6686
6687 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
6688 c_pretty_printer variable.
6689
b066401f
GDR
66902013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6691
6692 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
6693 (pp_base): Remove.
6694 (pp_c_base): Likewise. Adjust users.
6695 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
6696 (pp_c_whitespace): Do not call pp_base.
6697 (pp_c_left_paren): Likewise.
6698 (pp_c_right_paren): Likewise.
6699 (pp_c_left_brace): Likewise.
6700 (pp_c_right_brace): Likewise.
6701 (pp_c_left_bracket): Likewise.
6702 (pp_c_right_bracket): Likewise.
6703 (pp_c_dot): Likewise.
6704 (pp_c_ampersand): Likewise.
6705 (pp_c_star): Likewise.
6706 (pp_c_arrow): Likewise.
6707 (pp_c_semicolon): Likewise.
6708 (pp_c_complement): Likewise.
6709 (pp_c_exclamation): Likewise.
6710 (pp_c_direct_declarator): Likewise.
6711 (pp_c_ws_string): Likewise.
6712 (pp_c_identifier): Likewise.
6713 (pp_c_statement): Likewise.
6714 (print_c_tree): Likewise.
6715
65e5a578
ESR
67162013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
6717
6718 PR c++/58072
6719 * c-common.c (c_parse_error): Catch user-defined literal tokens and
6720 provide useful error strings.
6721
137a1a27
GDR
67222013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6723
6724 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
6725 printer functions instead of pp_string or operators and punctuators.
6726 (dump_generic_ada_node): Likewise.
6727 * c-pretty-print.c (pp_c_type_specifier): Likewise.
6728 (pp_c_relational_expression): Likewise.
6729 (pp_c_logical_or_expression): Likewise.
6730
07838b13
GDR
67312013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6732
6733 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
6734 functions instead of pp_character.
6735 (pp_ada_tree_identifier): Likewise.
6736 (dump_ada_double_name): Likewise.
6737 (dump_ada_function_declaration): Likewise.
6738 (dump_ada_array_domains): Likewise.
6739 (dump_template_types): Likewise.
6740 (dump_generic_ada_node): Likewise.
6741 (print_ada_declaration): Likewise.
6742 (print_ada_struct_decl): Likewise.
6743 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6744
433cc7b0
TT
67452013-07-23 Tom Tromey <tromey@redhat.com>
6746
6747 * c-common.h (enum rid) <RID_GENERIC>: New constant.
6748 * c-common.c (c_common_reswords): Add _Generic.
6749
688010ba
OB
67502013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
6751
6752 * c-common.c: Fix typos.
6753 * c-common.h: Likewise.
6754
2a99e5e6
LL
67552013-07-13 Lubos Lunak <l.lunak@suse.cz>
6756
6757 PR c++/55203
6758 * c-common.c (c_common_attribute_table): Add warn_unused.
6759 (handle_warn_unused_attribute): New.
6760
c26302d5
JJ
67612013-07-10 Jakub Jelinek <jakub@redhat.com>
6762
6763 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
6764 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
6765
dfeadaa0
PC
67662013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
6767
6768 PR c++/57869
6769 * c.opt: Add Wconditionally-supported.
6770
6a2fa4b2
GS
67712013-07-08 Graham Stott <graham.stott@btinternet.com>
6772
adfac8df 6773 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
6774 unused variables l_length and l_node.
6775
ecdbd01a 67762013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
6777
6778 PR c/57821
6779 * c-common.c (complete_array_type): Delay folding first index
6780 like other indices. When folding, check for index overflow.
6781
bedc293e
MG
67822013-06-27 Marc Glisse <marc.glisse@inria.fr>
6783
6784 PR c++/57509
6785 * c-common.h (c_build_vec_perm_expr): New complain argument.
6786 * c-common.c (c_build_vec_perm_expr): Likewise.
6787 Use save_expr also in C++.
6788
604b2bfc
GDR
67892013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
6790
6791 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
6792 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
6793 * c-opts.c (c_common_post_options): Likewise.
6794
dfeadaa0 67952013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
6796
6797 * array-notation-common.c (length_mismatch_in_expr): Changed the
6798 parameter type's from a dynamic array to a vec_tree. Also removed
6799 the size parameters.
6800 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
6801 the change above.
6802
2ce86d2e
BI
68032013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
6804
6805 * c-common.h (struct cilkplus_an_parts): New structure.
6806 (struct cilkplus_an_loop_parts): Likewise.
6807 (cilkplus_extract_an_triplets): New prototype.
6808 (fix_sec_implicit_args): Likewise.
6809 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
6810 (fix_sec_implicit_args): Likewise.
604b2bfc 6811
07a6825b
BI
68122013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
6813
6814 * array-notation-common.c (find_inv_trees): Removed an unwanted
6815 typecasting.
6816 * c-common.h (struct inv_list::additional_tcodes): Changed type from
6817 enum rid to enum tree_code.
6818
08346abd
JH
68192013-06-11 Jan Hubicka <jh@suse.cz>
6820
6821 * c-common.c (handle_alias_ifunc_attribute): Do not set
6822 DECL_EXTERNAL for weakref variables.
6823 * c-pragma.c (handle_pragma_weak): Make sure aliases
6824 are not declared as external.
6825
d60f1706
BI
68262013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
6827
6828 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
6829 function from c/c-array-notation.c.
6830 (is_cilkplus_reduce_builtin): Likewise.
6831 (find_rank): Likewise.
6832 (extract_array_notation_exprs): Likewise.
6833 (replace_array_notations): Likewise.
6834 (find_inv_trees): Likewise.
6835 (replace_inv_trees): Likewise.
6836 (contains_array_notation_expr): Likewise.
6837 (find_correct_array_notation_type): Likewise.
6838 * c-common.h (struct inv_list): Moved this struct from the file
6839 c/c-array-notation.c and added a new field called additional tcodes.
6840 (length_mismatch_in_expr_p): New prototype.
6841 (is_cilkplus_reduce_builtin): Likewise.
6842 (find_rank): Likewise.
6843 (extract_array_notation_exprs): Likewise.
6844 (replace_array_notation): Likewise.
6845 (find_inv_trees): Likewise.
6846 (replace_inv_trees): Likewise.
6847 (find_correct_array_notation_type): Likewise.
dfeadaa0 6848
36536d79
BI
68492013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
6850
6851 * c-common.c (c_define_builtins): When cilkplus is enabled, the
6852 function array_notation_init_builtins is called.
6853 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
6854 * c-common.def (ARRAY_NOTATION_REF): New tree.
6855 * c-common.h (build_array_notation_expr): New function declaration.
6856 (build_array_notation_ref): Likewise.
6857 (extract_sec_implicit_index_arg): New extern declaration.
6858 (is_sec_implicit_index_fn): Likewise.
6859 (ARRAY_NOTATION_CHECK): New define.
6860 (ARRAY_NOTATION_ARRAY): Likewise.
6861 (ARRAY_NOTATION_START): Likewise.
6862 (ARRAY_NOTATION_LENGTH): Likewise.
6863 (ARRAY_NOTATION_STRIDE): Likewise.
6864 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
6865 ARRAY_NOTATION_REF.
6866 (pp_c_expression): Likewise.
6867 * c.opt (flag_enable_cilkplus): New flag.
6868 * array-notation-common.c: New file.
6869
f7716d57
JJ
68702013-05-14 Jakub Jelinek <jakub@redhat.com>
6871
6872 PR c++/57274
6873 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
6874
a5e0cd1d
MG
68752013-05-10 Marc Glisse <marc.glisse@inria.fr>
6876
6877 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
6878 vectors.
6879
f6bc1c4a
HS
68802013-05-07 Han Shen <shenhan@google.com>
6881
6882 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
6883
3f12f6e9
SKS
68842013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
6885
6886 * c-common.c (check_user_alignment): Emit error for negative values.
6887
61949153
PC
68882013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6889
6890 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
6891
e93e18e9
PC
68922013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6893
6894 * c-cppbuiltin.c (c_cpp_builtins): Do not define
6895 __GXX_EXPERIMENTAL_CXX1Y__.
6896
44d90fe1 68972013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 6898 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
6899
6900 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
6901 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
6902 to simply use OPT_Wpointer_arith.
6903 (c_sizeof_or_alignof_type): Likewise.
6904
13f39b2e
PC
69052013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6906
6907 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
6908
4b84d650
JJ
69092013-04-12 Jakub Jelinek <jakub@redhat.com>
6910
6911 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
6912 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
6913 specifiers.
6914
fb037b5d
SB
69152013-04-07 Steven Bosscher <steven@gcc.gnu.org>
6916
6917 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
6918
4e856798
PC
69192013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
6920
6921 * c-common.c (pointer_int_sum): Remove dead code.
6922
4b1baac8
RS
69232013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
6924
6925 PR middle-end/56524
6926 * c-common.c (handle_optimize_attribute): Don't call
6927 save_optabs_if_changed.
6928
0b50e654
JJ
69292013-03-05 Jakub Jelinek <jakub@redhat.com>
6930
6931 PR middle-end/56461
6932 * c-pch.c (pch_init): Free target_validity at the end.
6933
48c41403
JJ
69342013-03-04 Jakub Jelinek <jakub@redhat.com>
6935
6936 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
6937
e664c61c
KS
69382013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
6939 Jakub Jelinek <jakub@redhat.com>
6940
6941 PR sanitizer/56454
6942 * c-common.c (handle_no_sanitize_address_attribute): New function.
6943 (c_common_attribute_table): Add no_sanitize_address attribute.
6944 (handle_no_address_safety_analysis_attribute): Add
6945 no_sanitize_address attribute, not no_address_safety_analysis
6946 attribute.
6947
a475fd3d 69482013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
6949
6950 PR target/52555
6951 * c-common.c (handle_optimize_attribute): Call
6952 save_optabs_if_changed.
6953
f6007d99
JJ
69542013-02-18 Jakub Jelinek <jakub@redhat.com>
6955 Steven Bosscher <steven@gcc.gnu.org>
6956
6957 PR pch/54117
6958 * c-opts.c (c_common_post_options): If debug info is enabled
6959 and non-dwarf*, refuse to load PCH files and when writing PCH
6960 file warn.
6961
cf35e2b1
JJ
69622013-02-05 Jakub Jelinek <jakub@redhat.com>
6963
6964 PR middle-end/56167
6965 * c-common.c (handle_error_attribute): Fix condition.
6966
32887460
JJ
69672013-01-30 Jakub Jelinek <jakub@redhat.com>
6968
6969 PR c++/55742
6970 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
6971
5af057d8
JM
69722013-01-18 Jason Merrill <jason@redhat.com>
6973
6974 PR target/54908
6975 * c.opt (-fextern-tls-init): New.
6976 * c-opts.c (c_common_post_options): Handle it.
6977
cc83c823
JJ
69782013-01-09 Jakub Jelinek <jakub@redhat.com>
6979
6980 PR c/48418
6981 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
6982 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
6983 and is either negative or bigger or equal to type precision
6984 of the first operand.
6985
a859517f
MP
69862012-12-03 Marek Polacek <polacek@redhat.com>
6987
6988 PR c/55570
6989 * c-common.c (check_user_alignment): Swap order of tests,
6990 check TREE_CODE first.
6991
2d7aa578
ESR
69922012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
6993
6994 PR c++/52654
6995 * c-common.h (overflow_type): New enum.
6996 (build_userdef_literal): Add overflow_type argument.
6997 (tree_userdef_literal): Add overflow_type.
6998 (USERDEF_LITERAL_OVERFLOW): New access macro.
6999 * c-common.c (build_userdef_literal): Add overflow_type
7000 argument.
7001 * c-lex.c (c_lex_with_flags): Add overflow_type to
7002 build_userdef_literal calls.
7003 (interpret_integer, interpret_float): Add overflow_type argument.
7004
cc3c4f62
RB
70052012-11-28 Richard Biener <rguenther@suse.de>
7006
7007 PR c/35634
7008 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7009 here and use a type with proper overflow behavior for types that would
7010 need to be promoted for the arithmetic.
7011
77bc5132
JJ
70122012-11-23 Jakub Jelinek <jakub@redhat.com>
7013
7014 PR sanitizer/55435
7015 * c-common.c (handle_no_address_safety_analysis_attribute): New
7016 function.
7017 (c_common_attribute_table): Add no_address_safety_analysis.
7018
5dc99c46
SB
70192012-11-16 Simon Baldwin <simonb@google.com>
7020
7021 * c.opt: Add f[no-]canonical-system-headers.
7022 * c-opts.c (c_common_handle_option): Handle
7023 OPT_fcanonical_system_headers.
7024
a4a0016d
ESR
70252012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
7026
7027 PR c++/54413
7028 * c-opts.c (c_common_handle_option): Set new flags.
7029 * c.opt: Describe new flags.
7030
7dbb85a7
JM
70312012-11-09 Jason Merrill <jason@redhat.com>
7032
7033 * c.opt (Wabi-tag): New.
7034
ad7bac31
AK
70352012-11-09 Andi Kleen <ak@linux.intel.com>
7036
7037 PR 55139
7038 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 7039 MEMMODEL_MASK
ad7bac31 7040
7332899a
MLI
70412012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7042
7043 PR c/53063
7044 * c.opt (Wformat): Make it Alias Wformat=1.
7045 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
7046 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
7047 LangEnabledBy.
7048 (Wformat=): RejectNegative. Use LangEnabledBy.
7049 (Wnonnull): Use LangEnabledBy.
7050 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
7051 * c-format.c (set_Wformat): Delete.
7052 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8e745a17
JJ
7053 (maybe_read_dollar_number): Likewise.
7054 (avoid_dollar_number): Likewise.
7055 (finish_dollar_format_checking): Likewise.
7056 (check_format_info): Likewise.
7057 (check_format_info_main): Likewise.
7058 (check_format_types): Likewise.
7059 (format_type_warning): Likewise.
7060 * c-common.c (int): Likewise.
7061 (check_function_sentinel): Likewise.
7062 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 7063
34a180a6
MLI
70642012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7065
7066 PR c/53063
7067 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
7068 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
7069 Use LangEnabledBy.
7070 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
7071 common.opt.
7072 (Wvariadic-macros): Init(1).
7073 * c-opts.c (c_common_handle_option): Do not handle them
7074 explicitly.
7075 (c_common_post_options): Likewise.
7076 (sanitize_cpp_opts): warn_unused_macros is now
7077 cpp_warn_unused_macros.
7078 (push_command_line_include): Likewise.
7079 * c-common.c (warn_unknown_pragmas): Do not define.
7080 * c-common.h (warn_unknown_pragmas): Do not declare.
7081
3f46d6a5
MLI
70822012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7083
7084 PR c/51294
7085 * c-common.c (conversion_warning): Handle conditional expressions.
7086
880661a4
JW
70872012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
7088
7089 PR c++/54930
7090 * c.opt (Wreturn_local_addr): Define new option.
7091
4514a96b
JM
70922012-10-25 Jason Merrill <jason@redhat.com>
7093
f14edc1a
JM
7094 * c.opt (Wvirtual-move-assign): New.
7095
4514a96b
JM
7096 * c.opt (Winherited-variadic-ctor): New.
7097
93100c6b
MG
70982012-10-25 Marc Glisse <marc.glisse@inria.fr>
7099
7100 PR c++/54427
7101 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
7102
1efcb8c6
JM
71032012-10-23 Joseph Myers <joseph@codesourcery.com>
7104
7105 * c-common.h (pch_cpp_save_state): Declare.
7106 * c-target.def (c_preinclude): New hook.
7107 * c-opts.c (done_preinclude): New.
7108 (push_command_line_include): Handle default preincluded header.
7109 (cb_file_change): Call pch_cpp_save_state when calling
7110 push_command_line_include.
7111 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
7112 (pch_cpp_save_state): New.
7113 (pch_init): Call pch_cpp_save_state conditionally, instead of
7114 calling cpp_save_state.
7115
4a0ae68e
MLI
71162012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7117
7118 PR c/53063
7119 PR c/40989
7120 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
7121 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
7122 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
7123 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
7124 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
7125 * c-opts.c (c_common_handle_option): Remove explicit handling from
7126 here.
7127 (c_common_post_options): Likewise.
7128
67e4210b
EB
71292012-10-18 Eric Botcazou <ebotcazou@adacore.com>
7130
7131 * c-ada-spec.c (LOCATION_COL): Delete.
7132 (compare_location): New function.
7133 (compare_node): Use it.
7134 (compare_comment): Likewise.
7135
65d4f2cd
MLI
71362012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
7137
7138 PR c/53063
7139 PR c/40989
7140 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
7141 * c-opts.c (c_common_handle_option): Do not set them here. Add
7142 comment.
7143 (c_common_post_options): Likewise.
7144
909881cb
EB
71452012-10-16 Eric Botcazou <ebotcazou@adacore.com>
7146
7147 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
7148 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
7149 Remove POINTER_TYPE handling, add large unsigned handling and use
7150 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
7151
3a785c97
JJ
71522012-10-12 Jakub Jelinek <jakub@redhat.com>
7153
7154 PR c/54381
7155 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
7156 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
7157 locs and array of 3 trees instead of just single loc and single
7158 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
7159 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
7160 For *cmp* builtins that take two sources strings report warnings
7161 about first and second source, not about destination and source.
7162
5e54f81d
MG
71632012-10-12 Marc Glisse <marc.glisse@inria.fr>
7164
7165 PR c++/53055
7166 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
7167
f5b02f1e
EB
71682012-10-11 Eric Botcazou <ebotcazou@adacore.com>
7169
7170 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
7171 declaring something coming from another file.
7172
b46dbc6c
AC
71732012-10-10 Arnaud Charlet <charlet@adacore.com>
7174
f5b02f1e 7175 PR ada/54845
b46dbc6c
AC
7176 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
7177
5d9de0d0
PC
71782012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
7179
7180 PR c++/54194
7181 * c-common.c (warn_about_parentheses): Add location_t parameter;
7182 use EXPR_LOC_OR_LOC.
7183 * c-common.h: Update declaration.
7184
a212e43f
MG
71852012-10-09 Marc Glisse <marc.glisse@inria.fr>
7186
7187 PR c++/54427
7188 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
7189 more operations. Make error messages optional.
7190 * c-common.h (enum stv_conv): Moved from c-typeck.c.
7191 (scalar_to_vector): Declare.
7192
b1db7f91
JM
71932012-10-08 Jason Merrill <jason@redhat.com>
7194
7195 * c-common.c (c_common_reswords): Add thread_local.
7196
e28d52cf
DS
71972012-10-08 Dodji Seketeli <dodji@redhat.com>
7198
7199 PR c++/53528 C++11 attribute support
7200 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
7201 new functions.
7202 * c-common.c (check_cxx_fundamental_alignment_constraints): New
7203 static function.
7204 (handle_aligned_attribute): In choose strictest alignment
7205 among many. Use new check_cxx_fundamental_alignment_constraints.
7206 (handle_transparent_union_attribute): In c++11 attribute syntax,
7207 don't look through typedefs.
7208
3b78de56
AC
72092012-10-04 Arnaud Charlet <charlet@adacore.com>
7210
7211 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
7212 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
7213 out of dumpfile.h.
7214
6040bb5f
DC
72152012-09-25 Dehao Chen <dehao@google.com>
7216
7217 PR middle-end/54645
3b78de56 7218 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
7219 map when read in the pch.
7220
3f8257db 72212012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
7222
7223 * c-ada-spec.c: Style fixes.
7224
3f8257db 72252012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
7226
7227 * c.opt (-fada-spec-parent): Define new command line switch.
7228 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
7229 is specified, generate binding spec as a child of the specified unit.
7230
0ccb505d
PC
72312012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
7232 Manuel López-Ibáñez <manu@gcc.gnu.org>
7233
7234 PR c++/53210
7235 * c.opt ([Winit-self]): Enabled by -Wall in C++.
7236
c583af79
AC
72372012-08-23 Arnaud Charlet <charlet@adacore.com>
7238
7239 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
7240 for pointers, and add missing Convention C pragma.
7241 (print_ada_struct_decl): Add missing aliased keyword.
7242 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
7243
1a4049e7
JJ
72442012-08-17 Jakub Jelinek <jakub@redhat.com>
7245
7246 * c-common.c (sizeof_pointer_memaccess_warning): New function.
7247 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
7248 * c-opts.c (c_common_handle_option): Enable it for -Wall.
7249 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
7250 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
7251
70b5e7dc
RG
72522012-08-10 Richard Guenther <rguenther@suse.de>
7253
7254 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
7255
f8923f7e
SB
72562012-08-07 Steven Bosscher <steven@gcc.gnu.org>
7257
7258 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
7259 instead of separate pp_newline and pp_flush.
7260 (print_c_tree): Likewise.
7261
e45abe1f
RH
72622012-07-26 Richard Henderson <rth@redhat.com>
7263
7264 * c-common.c (handle_hot_attribute): Allow labels.
7265 (handle_cold_attribute): Likewise.
7266
332f1d24
JJ
72672012-07-20 Jakub Jelinek <jakub@redhat.com>
7268
7269 PR c++/28656
7270 * c-common.c (check_function_nonnull): Handle multiple nonnull
7271 attributes properly.
7272
7ee2468b
SB
72732012-07-16 Steven Bosscher <steven@gcc.gnu.org>
7274
7275 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
7276 * c-ada-spec.c: Likewise.
7277 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
7278
ee7b28eb
SB
72792012-07-14 Steven Bosscher <steven@gcc.gnu.org>
7280
7281 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
7282 Remove code conditional on it.
7283
6bdf3519
SB
72842012-07-11 Steven Bosscher <steven@gcc.gnu.org>
7285
7286 * c-gimplify.c: Do not include basic-block.h.
7287 * c-common.c: Do not include linfuncs.h.
7288
532aafad
SB
72892012-07-08 Steven Bosscher <steven@gcc.gnu.org>
7290
7291 * c-common.h: Include tree.h.
7292
8d0d1915
JM
72932012-07-02 Jason Merrill <jason@redhat.com>
7294
7295 PR c++/53524
7296 * c-common.c (get_priority): Call default_conversion.
7297
fbc873ad
UB
72982012-07-01 Uros Bizjak <ubizjak@gmail.com>
7299
7300 * c-pch.c (c_common_write_pch): Remove unused variables.
7301
d4a10d0a
SB
73022012-06-29 Steven Bosscher <steven@gcc.gnu.org>
7303
7304 * cppspec.c: Moved from gcc/ to here.
7305
6f3a2e23
KT
73062012-06-27 Kai Tietz <ktietz@redhat.com>
7307
7308 PR preprocessor/37215
7309 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
7310
8ca92d04
SB
73112012-06-21 Steven Bosscher <steven@gcc.gnu.org>
7312
7313 * c-common.h (c_common_print_pch_checksum): Remove.
7314 * c-pch.c: Do not include output.h.
7315 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
7316 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
7317 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
7318 (struct c_pch_header): Remove.
7319 (get_ident): Update gpch version.
7320 (pch_init): Do not print executable_checksum to asm_out_file.
7321 Do not fail if there is no asm_out_file to read back from. Set
7322 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
7323 (c_common_write_pch): Verify that nothing was written to asm_out_file
7324 since pch_init was called. Do not write a c_pch_header, and do not
7325 copy from asm_out_file to the PCH.
7326 (c_common_read_pch): Do not read a c_pch_header, and do not restore
7327 the content of asm_out_file from the PCH.
7328 (c_common_print_pch_checksum): Remove.
7329 * c-opts.c (c_common_init): Print out executable_checksum directly.
7330
70f42967
SB
73312012-06-19 Steven Bosscher <steven@gcc.gnu.org>
7332
7333 * c-target.def (objc_declare_unresolved_class_reference,
7334 objc_declare_class_definition): Add new hooks.
7335
a8781821
SB
73362012-06-19 Steven Bosscher <steven@gcc.gnu.org>
7337
7338 * c-lex.c: Do not include output.h.
7339 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
7340 Remove uses of ASM_OUTPUT_IDENT.
7341
9e1a8dd1
RR
73422012-06-15 Marc Glisse <marc.glisse@inria.fr>
7343
7344 PR c++/51033
7345 * c-common.h (c_build_vec_perm_expr): Move decl here.
7346 * c-common.c (c_build_vec_perm_expr): Move definition
7347 here.
7348
6f07a821
SB
73492012-06-06 Steven Bosscher <steven@gcc.gnu.org>
7350
7351 * c.opt (fconserve-space): Turn into a no-op.
7352
9faeb493 73532012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
7354
7355 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
7356 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
7357 both the start and end of the function.
7358
a4b7d13c
SB
73592012-06-04 Steven Bosscher <steven@gcc.gnu.org>
7360
7361 * c-common.c: Do not include output.h.
7362 * c-pragma.c: Likewise.
7363
c265f413
SA
73642012-06-04 Steven Bosscher <steven@gcc.gnu.org>
7365
7366 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
7367 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
7368 (lang_decl_name): Handle namespace decls.
7369
be7a421e
SB
73702012-05-31 Steven Bosscher <steven@gcc.gnu.org>
7371
7372 * c-ada-spec.c: Do not include output.h.
7373 * c-semantics.c: Likewise.
7374
65de6659
JM
73752012-05-29 Joseph Myers <joseph@codesourcery.com>
7376
7377 * c-common.c: Fix typo.
7378
ca5f4331
MM
73792012-05-29 Michael Matz <matz@suse.de>
7380
7381 * c-common.h (c_expand_decl): Remove prototype.
7382
4f7f7aca
MLI
73832012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7384
7385 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
7386 * c-opts.c (c_common_handle_option): Remove code handling
7387 warn_missing_braces.
7388
4a792f9b
PC
73892012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
7390
7391 PR c++/25137
7392 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
7393 -Wmissing_braces.
7394
650dc14a
DS
73952012-05-22 Dodji Seketeli <dodji@redhat.com>
7396
7397 PR c++/53322
7398 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
7399
9b095bf1
MLI
74002012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
7401
7402 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
7403 * c-opts.c (c_common_handle_option): Do not handle explicitly
7404 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
7405
0b2c4be5
DS
74062012-05-16 Dodji Seketeli <dodji@redhat.com>
7407
7408 PR preprocessor/7263
7409 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
7410 to cpp_classify_number. For diagnostics, use the precise location
7411 instead of the global input_location.
7412
a1bde5af
PC
74132012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
7414
d02924ef 7415 PR c++/11856
a1bde5af
PC
7416 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
7417
d1ede5f4
BS
74182012-05-14 Bernd Schmidt <bernds@codesourcery.com>
7419
a1bde5af 7420 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 7421
f2bc201f
MLI
74222012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
7423
7424 PR 53063
7425 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
7426 Wreorder): Use LangEnabledBy.
7427 * c-opts.c (c_common_handle_option): Do not enable them
7428 explicitly. Call lang-specific generated functions.
7429 (c_common_post_options): Do not set them here.
7430
95744782
MLI
74312012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
7432
7433 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
7434 Wmissing-field-initializers,Wmissing-parameter-type,
7435 Wold-style-declaration,Woverride-init): Use EnabledBy.
7436 * c-opts.c (c_common_post_options): Do not set here explicitly.
7437
7d5a5747
MLI
74382012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7439
7440 PR 53063
7441 * c-opts.c (c_common_handle_option): Use handle_generated_option
7442 to enable sub-options.
7443
5a3c9cf2
PC
74442012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
7445
7446 PR c++/53158
7447 * c-common.c (warnings_for_convert_and_check): Use warning_at.
7448
3ac8781c
RG
74492012-05-10 Richard Guenther <rguenther@suse.de>
7450
7451 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
7452 adjust commentary about TYPE_IS_SIZETYPE types.
7453
1e537948
MLI
74542012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7455
7456 PR c++/53261
7457 * c-common.c (warn_logical_operator): Check that argument of
7458 integer_zerop is not NULL.
7459
f2c4a785
MLI
74602012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
7461
7462 PR c/43772
7463 * c-common.c (warn_logical_operator): Do not warn if either side
7464 is already true or false.
7465
50f305ca
MLI
74662012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
7467
7468 PR c/51712
7469 * c-common.c (expr_original_type): New.
7470 (shorten_compare): Do not warn for enumeration types.
7471
0c3641b0
MLI
74722012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7473
7474 * c.opt (fpermissive): Add Var(flag_permissive).
7475
7edaa4d2
MG
74762012-04-30 Marc Glisse <marc.glisse@inria.fr>
7477
7478 PR c++/51033
7479 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
7480 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
7481
b9c8da34
DS
74822012-04-30 Dodji Seketeli <dodji@redhat.com>
7483
7484 Add -Wvarargs option
7485 * c.opt (Wvarargs): Define new option.
7486
e6c69da0
MLI
74872012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7488
7489 * c-common.c (check_function_arguments): Replace
7490 Wmissing-format-attribute with Wsuggest-attribute=format.
7491
90137d8f
MLI
74922012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7493
7494 * c.opt (Wsuggest-attribute=format): New. Alias of
7495 Wmissing-format-attribute.
7496 * c-format.c (decode_format_type): Replace
7497 Wmissing-format-attribute with Wsuggest-attribute=format.
7498 (check_function_format): Likewise.
7499
9faeb493 75002012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
7501
7502 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
7503 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
7504 * c.opt: Add Wliteral-suffix.
7505
c1771a20
MLI
75062012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7507
7508 PR c/44774
7509 * c.opt (Wpedantic): New.
7510 (pedantic): Alias Wpedantic.
7511 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
7512 (c_common_post_options): Likewise.
7513 (sanitize_cpp_opts): Likewise.
7514 * c-lex.c (interpret_float): Likewise.
7515 * c-format.c (check_format_types): Likewise.
7516 * c-common.c (pointer_int_sum): Likewise.
7517 (c_sizeof_or_alignof_type): Likewise.
7518 (c_add_case_label): Likewise.
7519 (c_do_switch_warnings): Likewise.
7520 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
7521
04b391c1
JM
75222012-04-15 Jason Merrill <jason@redhat.com>
7523
7524 PR c++/52818
7525 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
7526 (C_STD_NAME): Distinguish between C++98 and C++11.
7527
ac868f29
EB
75282012-04-11 Eric Botcazou <ebotcazou@adacore.com>
7529
7530 PR target/52624
7531 * c-common.h (uint16_type_node): Rename into...
7532 (c_uint16_type_node): ...this.
7533 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
7534 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
7535
fd4116f4
MLI
75362012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
7537
7538 * c-common.c (warn_if_unused_value): Move definition to here.
7539 * c-common.h (warn_if_unused_value): Move declaration to here.
7540
573ac65e
WB
75412012-03-23 William Bader <williambader@hotmail.com>
7542
7543 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
7544
552b8185
JM
75452012-03-20 Jason Merrill <jason@redhat.com>
7546
7547 * c-common.h (enum cxx_dialect): Add cxx1y.
7548 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
7549 test.
7550 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
7551 * c-opts.c (c_common_post_options): Likewise.
7552 (set_std_cxx1y): New.
7553 (c_common_handle_option): Call it.
7554 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
7555
04398fa8
PC
75562012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
7557
7558 PR c++/14710
7559 * c.opt ([Wuseless-cast]): Add.
7560
d2a12ae7
RG
75612012-03-16 Richard Guenther <rguenther@suse.de>
7562
7563 * c-pretty-print.c (pp_c_initializer_list): Adjust.
7564
a12bf402
MLI
75652012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7566
7567 PR c++/44783
7568 * c.opt (ftemplate-backtrace-limit) Add.
7569
5c30094f
RO
75702012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7571
7572 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
7573 handling.
7574 * c-pragma.c (handle_pragma_extern_prefix): Remove.
7575 (init_pragma): Don't register extern_prefix.
7576
21fa2faf
RG
75772012-03-12 Richard Guenther <rguenther@suse.de>
7578
7579 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
7580 (builtin_type_for_size): Likewise.
7581
e3793c6f
JJ
75822012-02-13 Jakub Jelinek <jakub@redhat.com>
7583
7584 PR c++/52215
7585 * c-common.c (sync_resolve_params): Don't decide whether to convert
7586 or not based on TYPE_SIZE comparison, convert whenever arg_type
7587 is unsigned INTEGER_TYPE.
7588
93286335
PC
75892012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
7590
7591 PR c/52118
7592 * c.opt ([Wunused-local-typedefs]): Fix description.
7593
7a421706
MS
75942012-01-24 Mike Stump <mikestump@comcast.net>
7595
7596 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
7597 exactly.
7598
ba9b1f11
RG
75992012-01-18 Richard Guenther <rguenther@suse.de>
7600
7601 * c-opts.c (c_common_post_options): Reset LTO flags if
7602 we are about to generate a PCH.
7603
465406be
PC
76042012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
7605
7606 PR c++/51777
7607 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
7608 use pp_unsigned_wide_integer.
7609
aee15221
RG
76102012-01-10 Richard Guenther <rguenther@suse.de>
7611
7612 PR middle-end/51806
7613 * c-opts.c (c_common_handle_option): Move -Werror handling
7614 to language independent code.
7615
5720c0dc
RG
76162012-01-05 Richard Guenther <rguenther@suse.de>
7617
7618 PR middle-end/51764
7619 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
7620 from common.opt.
7621
73ac190a
PC
76222011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
7623
7624 PR c++/51316
7625 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
7626 of array types with an unknown bound.
7627
48b0b196
JM
76282011-12-20 Joseph Myers <joseph@codesourcery.com>
7629
7630 * c-common.c (flag_isoc99): Update comment to refer to C11.
7631 (flag_isoc1x): Change to flag_isoc11.
7632 * c-common.h (flag_isoc99): Update comment to refer to C11.
7633 (flag_isoc1x): Change to flag_isoc11.
7634 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
7635 C11.
7636 * c-opts.c (set_std_c1x): Change to set_std_c11.
7637 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
7638 Call set_std_c11.
7639 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
7640 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
7641 * c.opt (std=c1x): Change to std=c11. Document as non-draft
7642 standard.
7643 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
7644 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
7645 (std=gnu1x): Make alias of std=gnu11.
7646
d58d6eb5
JM
76472011-12-19 Jason Merrill <jason@redhat.com>
7648
7649 PR c++/51228
7650 * c-common.c (handle_transparent_union_attribute): Check the first
7651 field if the type is complete.
7652
b3908fcc
JW
76532011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
7654
7655 PR libstdc++/51365
7656 * c-common.c (RID_IS_FINAL): Add.
7657 * c-common.h (RID_IS_FINAL): Add.
7658
fea3ca91
IS
76592011-11-30 Iain Sandoe <iains@gcc.gnu.org>
7660
7661 * c.opt (fgnu-runtime): Provide full description.
7662 (fnext-runtime): Likewise.
7663 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
7664
62bad7cd
AM
76652011-11-28 Andrew MacLeod <amacleod@redhat.com>
7666
7667 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
7668 predefines in one place. Add LOCK_FREE predefines.
7669 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
7670 new func.
7671
c466c4ff
AM
76722011-11-24 Andrew MacLeod <amacleod@redhat.com>
7673
7674 PR c/51256
9faeb493 7675 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 7676 conditions
9faeb493
UB
7677 (resolve_overloaded_atomic_exchange,
7678 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
7679 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
7680 error_mark_node for error conditions.
9faeb493 7681
a5952633
RG
76822011-11-08 Richard Guenther <rguenther@suse.de>
7683
7684 PR middle-end/51010
7685 c-family/
7686
0a35513e
AH
76872011-11-07 Richard Henderson <rth@redhat.com>
7688 Aldy Hernandez <aldyh@redhat.com>
7689 Torvald Riegel <triegel@redhat.com>
7690
7691 Merged from transactional-memory.
7692
7693 * c-common.c (handle_tm_wrap_attribute,
7694 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
7695 (struct c_common_reswords): Added __transaction* keywords.
7696 (struct c_common_attribute_table): Added transaction* and tm_regparm
7697 attributes.
7698 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
7699 masks.
7700 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
7701 find_tm_attribute): Declare.
7702
6d87092d
JM
77032011-11-07 Jason Merrill <jason@redhat.com>
7704
7705 PR c++/35688
7706 * c-common.c, c-common.h: Revert yesterday's changes.
7707
8e7860a1
JM
77082011-11-06 Jason Merrill <jason@redhat.com>
7709
7710 PR c++/35688
7711 * c-common.c (decl_has_visibility_attr): Split out from...
7712 (c_determine_visibility): ...here.
7713 * c-common.h: Declare it.
7714
d19fa6b5
JM
77152011-11-06 Joseph Myers <joseph@codesourcery.com>
7716
7717 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
7718 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
7719 type.
7720 (check_user_alignment): New. Split out of
7721 handle_aligned_attribute. Disallow integer constants with
7722 noninteger types. Conditionally allow zero.
7723 (handle_aligned_attribute): Use check_user_alignment.
7724 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
7725
86951993
AM
77262011-11-06 Andrew MacLeod <amacleod@redhat.com>
7727 Richard Henderson <rth@redhat.com>
7728
7729 Merged from cxx-mem-model.
7730
7731 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 7732 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
7733 parameters that are the same type size.
7734 (get_atomic_generic_size): New. Find size of generic
7735 atomic function parameters and do typechecking.
7736 (add_atomic_size_parameter): New. Insert size into parameter list.
7737 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
7738 either __atomic_exchange_n or external library call.
9faeb493 7739 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 7740 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 7741 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
7742 __atomic_load_n or an external library call.
7743 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
7744 __atomic_store_n or an external library call.
7745 (resolve_overloaded_builtin): Handle new __atomic builtins.
7746
cf9e9959
EB
77472011-11-04 Eric Botcazou <ebotcazou@adacore.com>
7748
7749 PR c++/50608
7750 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
7751 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
7752 <INDIRECT_REF>: Return the argument.
7753 <ARRAY_REF>: Remove special code for negative offset.
7754 Call fold_build_pointer_plus instead of size_binop.
7755 (fold_offsetof): Remove STOP_REF argument and adjust.
7756 * c-common.h (fold_offsetof_1): Declare.
7757 (fold_offsetof): Remove STOP_REF argument.
7758
25339f10
JM
77592011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
7760
7761 PR c++/50810
7762 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
7763 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
7764 Wnarrowing for C++0x and C++98.
7765 * c.opt ([Wnarrowing]): Update.
7766
89401152
PC
77672011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
7768
7769 PR c++/44277
7770 * c.opt: Add Wzero-as-null-pointer-constant.
7771
97e3ad20
JM
77722011-10-31 Jason Merrill <jason@redhat.com>
7773
15694fdd
JM
7774 * c.opt (-fdeduce-init-list): Off by default.
7775
97e3ad20
JM
7776 PR c++/50920
7777 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
7778 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
7779 and -Wc++11-compat.
7780 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
7781
fb9120e3
RAV
77822011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
7783
7784 PR c++/30066
7785 * c.opt (fvisibility-inlines-hidden): Description change.
7786
3ce4f9e4
ESR
77872011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
7788
7789 Implement C++11 user-defined literals.
7790 * c-common.c (build_userdef_literal): New.
7791 * c-common.def: New tree code.
7792 * c-common.h (tree_userdef_literal): New tree struct and accessors.
7793 * c-lex.c (interpret_float): Add suffix parm.
7794 (c_lex_with_flags): Build literal tokens.
7795
5f53c243
PC
77962011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
7797
7798 PR c++/50841
7799 Revert:
7800 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
7801
7802 PR c++/50810
7803 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
7804 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
7805 Wnarrowing for C++0x and C++98.
7806 * c.opt ([Wnarrowing]): Update.
7807
263734e1
PC
78082011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
7809
7810 PR c++/50810
7811 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
7812 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
7813 Wnarrowing for C++0x and C++98.
7814 * c.opt ([Wnarrowing]): Update.
7815
d2e312d7
PC
78162011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
7817
7818 PR c++/45385
7819 * c-common.c (conversion_warning): Remove code looking for
7820 artificial operands.
7821
d17687f6
DS
78222011-10-18 Dodji Seketeli <dodji@redhat.com>
7823
7824 PR bootstrap/50760
7825 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 7826 !NO_IMPLICIT_EXTERN_C.
d17687f6 7827
fc8396e9
PC
78282011-10-17 Michael Spertus <mike_spertus@symantec.com>
7829
7830 * c-common.c (c_common_reswords): Add __bases,
7831 __direct_bases.
7832 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
7833
78342011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
7835
7836 PR c++/50757
7837 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
7838
847e697a
TT
78392011-10-15 Tom Tromey <tromey@redhat.com>
7840 Dodji Seketeli <dodji@redhat.com>
7841
7842 * c.opt (fdebug-cpp): New option.
7843 * c-opts.c (c_common_handle_option): Handle the option.
7844 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
7845 output stream in parameter. Factorized from ...
7846 (maybe_print_line): ... this. Dump location debug information when
7847 -fdebug-cpp is in effect.
7848 (print_line_1): New static function. Takes an output stream in
7849 parameter. Factorized from ...
7850 (print_line): ... here. Dump location information when -fdebug-cpp
7851 is in effect.
7852 (scan_translation_unit): Dump location information when
7853 -fdebug-cpp is in effect.
7854
92582b75
TT
78552011-10-15 Tom Tromey <tromey@redhat.com>
7856 Dodji Seketeli <dodji@redhat.com>
7857
7858 * c.opt (ftrack-macro-expansion): New option. Handle it with and
7859 without argument.
7860 * c-opts.c (c_common_handle_option)<case
7861 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
7862 cases. Handle -ftrack-macro-expansion with and without argument.
7863
46427374
TT
78642011-10-15 Tom Tromey <tromey@redhat.com>
7865 Dodji Seketeli <dodji@redhat.com>
7866
7867 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
7868 (print_line, cb_define, do_line_change): Adjust to avoid touching
7869 the internals of struct line_map. Use the public API instead.
7870 * c-pch.c (c_common_read_pch): Likewise.
7871 * c-lex.c (fe_file_change): Likewise.
7872
fc8396e9
PC
78732011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
7874
7875 PR c++/17212
7876 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
7877
78782011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
7879
7880 PR c++/33067
7881 * c-pretty-print.c (pp_c_floating_constant): Output
7882 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
7883
e79983f4
MM
78842011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
7885
7886 * c-common.c (def_builtin_1): Delete old interface with two
7887 parallel arrays to hold standard builtin declarations, and replace
7888 it with a function based interface that can support creating
7889 builtins on the fly in the future. Change all uses, and poison
7890 the old names. Make sure 0 is not a legitimate builtin index.
7891 * c-omp.c (c_finish_omp_barrier): Ditto.
7892 (c_finish_omp_taskwait): Ditto.
7893 (c_finish_omp_flush): Ditto.
7894
6637388f
TG
78952011-10-11 Tristan Gingold <gingold@adacore.com>
7896
7897 * c.opt: (fallow-parameterless-variadic-functions): New.
7898
3797cb21
DS
78992011-09-08 Dodji Seketeli <dodji@redhat.com>
7900
7901 PR c++/33255 - Support -Wunused-local-typedefs warning
7902 * c-common.h (struct c_language_function::local_typedefs): New
7903 field.
9faeb493
UB
7904 (record_locally_defined_typedef, maybe_record_typedef_use)
7905 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 7906 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
7907 (maybe_record_typedef_use)
7908 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
7909 * c.opt: Declare new -Wunused-local-typedefs flag.
7910
693ddb1b
EB
79112011-09-06 Eric Botcazou <ebotcazou@adacore.com>
7912
7913 PR middle-end/50266
7914 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
7915 computations.
7916
830c740f
RG
79172011-09-05 Richard Guenther <rguenther@suse.de>
7918
7919 * c-common.c (complete_array_type): Use ssize_int (-1) instead
7920 of integer_minus_one_node for empty array upper bounds.
7921
892a371f
DS
79222011-08-28 Dodji Seketeli <dodji@redhat.com>
7923
7924 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
7925 it's the first time it's being called on this main TU.
7926
0e3fdb48
RB
79272011-08-24 Richard Guenther <rguenther@suse.de>
7928
7929 PR c/49396
7930 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
7931
79322011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
7933
7934 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
7935 defined in cpp_init_builtins and c_cpp_builtins.
7936
d4a83c10
JM
79372011-08-19 Joseph Myers <joseph@codesourcery.com>
7938
7939 * c-common.c (c_common_reswords): Add __builtin_complex.
7940 * c-common.h (RID_BUILTIN_COMPLEX): New.
7941
bbceee64
JM
79422011-08-18 Joseph Myers <joseph@codesourcery.com>
7943
7944 * c-common.c (c_common_reswords): Add _Noreturn.
7945 (keyword_is_function_specifier): Handle RID_NORETURN.
7946 * c-common.h (RID_NORETURN): New.
7947
3f8257db 79482011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
7949
7950 * c-common.c (unsafe_conversion_p): New function. Check if it is
7951 unsafe to convert an expression to the type.
7952 (conversion_warning): Adjust, use unsafe_conversion_p.
7953 * c-common.h (unsafe_conversion_p): New function declaration.
7954
20906c66
JJ
79552011-08-02 Jakub Jelinek <jakub@redhat.com>
7956
7957 * c-common.h (c_finish_omp_atomic): Adjust prototype.
7958 (c_finish_omp_taskyield): New prototype.
7959 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
7960 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
7961 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
7962 or RHS1 have side-effects, evaluate those too in the right spot,
7963 if it is a decl and LHS is also a decl, error out if they
7964 aren't the same.
7965 (c_finish_omp_taskyield): New function.
7966 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
7967 * c-pragma.c (omp_pragmas): Add taskyield.
7968 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
7969 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
7970 PRAGMA_OMP_CLAUSE_MERGEABLE.
7971
770e5a2e
DS
79722011-07-25 Dodji Seketeli <dodji@redhat.com>
7973
7974 * c-common.h (set_underlying_type): Remove parm name from
7975 declaration.
7976
1baae426
RG
79772011-07-25 Romain Geissler <romain.geissler@gmail.com>
7978
7979 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 7980
fcb21722
JM
79812011-07-22 Jason Merrill <jason@redhat.com>
7982
76f86d00
JM
7983 PR c++/49793
7984 * c.opt (Wnarrowing): New.
7985
3a636414
JM
7986 PR c++/30112
7987 * c-common.h: Declare c_linkage_bindings.
7988 * c-pragma.c (handle_pragma_redefine_extname): Use it.
7989
fcb21722
JM
7990 PR c++/49813
7991 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
7992 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
7993 as flag_isoc99 for 'restrict'.
7994 (pp_c_specifier_qualifier_list): Likewise for _Complex.
7995
02614448
ILT
79962011-07-21 Ian Lance Taylor <iant@google.com>
7997
7998 PR middle-end/49705
7999 * c-common.c (c_disable_warnings): New static function.
8000 (c_enable_warnings): New static function.
8001 (c_fully_fold_internal): Change local unused_p to bool. Call
8002 c_disable_warnings and c_enable_warnings rather than change
8003 c_inhibit_evaluation_warnings.
8004
34429675
JM
80052011-07-20 Jason Merrill <jason@redhat.com>
8006
8007 PR c++/6709 (DR 743)
8008 PR c++/42603 (DR 950)
8009 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
8010 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
8011 (CPP_DECLTYPE): New.
8012 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
8013
5d49b6a7
RG
80142011-07-19 Richard Guenther <rguenther@suse.de>
8015
8016 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
8017 * c-omp.c (c_finish_omp_for): Likewise.
8018
e84a58ff
EB
80192011-07-12 Eric Botcazou <ebotcazou@adacore.com>
8020
8021 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
8022 body on the next line.
8023
329af3c7
JM
80242011-07-08 Jason Merrill <jason@redhat.com>
8025
4063e61b
JM
8026 PR c++/45437
8027 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
8028
329af3c7
JM
8029 PR c++/49673
8030 * c-common.c (c_apply_type_quals_to_decl): Don't check
8031 TYPE_NEEDS_CONSTRUCTING.
8032
1a072294
RG
80332011-07-06 Richard Guenther <rguenther@suse.de>
8034
8035 * c-common.c (c_common_nodes_and_builtins):
8036 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
8037
fce5dddd
RG
80382011-07-05 Richard Guenther <rguenther@suse.de>
8039
8040 * c-common.c (c_common_nodes_and_builtins): Build all common
8041 tree nodes first.
8042
45d439ac
JJ
80432011-06-27 Jakub Jelinek <jakub@redhat.com>
8044
56300785
JJ
8045 * c-common.h (c_tree_chain_next): New static inline function.
8046
45d439ac
JJ
8047 * c-common.c (check_builtin_function_arguments): Handle
8048 BUILT_IN_ASSUME_ALIGNED.
8049
e0a8ecf2
AM
80502011-06-21 Andrew MacLeod <amacleod@redhat.com>
8051
8052 * c-common.c: Add sync_ or SYNC__ to builtin names.
8053 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
8054
80552011-06-20 Pierre Vittet <piervit@pvittet.com>
8056
8057 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
8058 handler.
8059 (gen_pragma_handler): New union.
8060 (internal_pragma_handler): New type.
8061 (c_register_pragma_with_data)
8062 (c_register_pragma_with_expansion_and_data): New functions.
8063
8064 * c-pragma.c (registered_pragmas, c_register_pragma_1)
8065 (c_register_pragma, c_register_pragma_with_expansion)
8066 (c_invoke_pragma_handler): Changed to work with
8067 internal_pragma_handler.
8068 (c_register_pragma_with_data)
8069 (c_register_pragma_with_expansion_and_data): New functions.
8070
677f3fa8
JM
80712011-06-14 Joseph Myers <joseph@codesourcery.com>
8072
8073 * c-common.c: Include common/common-target.h.
8074 (handle_section_attribute): Use
8075 targetm_common.have_named_sections.
8076 * c-cppbuiltin.c: Include common/common-target.h.
8077 (c_cpp_builtins): Use targetm_common.except_unwind_info.
8078
d7fc8c14
RG
80792011-06-10 Richard Guenther <rguenther@suse.de>
8080
8081 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
8082 to print a IDENTIFIER_NODE.
8083
10e48e39
RO
80842011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8085 Joseph Myers <joseph@codesourcery.com>
8086
8087 * c.opt (fbuilding-libgcc): New option.
8088 * c-cppbuiltin.c (c_cpp_builtins): Define
8089 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
8090
6976ae51
JM
80912011-06-07 Jason Merrill <jason@redhat.com>
8092
3ff60975
JM
8093 * c-common.c (max_tinst_depth): Lower default to 900.
8094
6976ae51
JM
8095 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
8096
009db074
RG
80972011-06-07 Richard Guenther <rguenther@suse.de>
8098
8099 * c-common.c (c_common_nodes_and_builtins): Do not set
8100 size_type_node or call set_sizetype.
8101
b4592b92
DS
81022011-06-07 Dodji Seketeli <dodji@redhat.com>
8103
8104 PR debug/49130
8105 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 8106 type when using pointer comparison to compare types.
b4592b92 8107
014ab419
JW
81082011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
8109
8110 * c.opt: Add -Wdelete-non-virtual-dtor.
8111 * c-opts.c (c_common_handle_option): Include it in -Wall.
8112
4f60111f
NF
81132011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
8114
8115 PR bootstrap/49190
8116
8117 Revert:
8118 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8119
8120 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8121 not tree_common.
8122
4cc4f2f4
JJ
81232011-05-27 Jakub Jelinek <jakub@redhat.com>
8124
8125 PR c++/49165
8126 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
8127 C++ don't call c_common_truthvalue_conversion on void type arms.
8128
38e01f9e
NF
81292011-05-27 Nathan Froyd <froydnj@codesourcery.com>
8130
8131 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
8132 (stmt_list_stack): Define.
8133 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
8134 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
8135
92e948a8
NF
81362011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8137
8138 * c-common.c (warning_candidate_p): Check for BLOCKs.
8139
a2fc3e63
NF
81402011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8141
8142 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8143 not tree_common.
8144
0957c029
JJ
81452011-05-25 Jakub Jelinek <jakub@redhat.com>
8146
8147 * c-common.c (def_fn_type): Remove extra va_end.
8148
828fb3ba
JM
81492011-05-23 Jason Merrill <jason@redhat.com>
8150
8151 PR c++/48106
8152 * c-common.c (c_common_get_narrower): New.
8153 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
8154
dde05067
NF
81552011-05-23 Nathan Froyd <froydnj@codesourcery.com>
8156
8157 * c-common.h (check_function_arguments): Tweak prototype of
8158 check_function_arguments.
8159 * c-common.c (check_function_arguments): Likewise. Adjust
8160 calls to check_function_nonnull, check_function_format, and
8161 check_function_sentinel.
8162 (check_function_sentinel): Take a FUNCTION_TYPE rather than
8163 separate attributes and typelist arguments. Use
8164 FOREACH_FUNCTION_ARGS to iterate over argument types.
8165
3c0d13bf
PC
81662011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8167
8168 * c-common.c (c_common_reswords): Reorder.
8169 * c-common.h (rid): Likewise.
8170
8242dd04
NF
81712011-05-10 Nathan Froyd <froydnj@codesourcery.com>
8172
8173 * c-common.c (def_fn_type): Don't call build_function_type, call
8174 build_function_type_array or build_varargs_function_type_array
8175 instead.
8176 (c_common_nodes_and_builtins): Likewise.
8177
3d528853
NF
81782011-05-05 Nathan Froyd <froydnj@codesourcery.com>
8179
8180 * c-common.c (c_add_case_label): Omit the loc argument to
8181 build_case_label.
8182 * c-common.h (build_case_label): Remove.
8183 * c-semantics.c (build_case_label): Remove.
8184
a04a722b
JM
81852011-05-05 Joseph Myers <joseph@codesourcery.com>
8186
8187 * c-objc.h (objc_start_method_definition): Update prototype.
8188 * stub-objc.c (objc_start_method_definition): Add extra parameter.
8189
e19a18d4
NF
81902011-05-04 Nathan Froyd <froydnj@codesourcery.com>
8191
8192 * c-common.c (check_main_parameter_types): Reindent. Don't use
8193 TYPE_ARG_TYPES directly.
8194 (handle_nonnull_attribute): Likewise.
8195 (sync_resolve_params): Likewise.
8196 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
8197 to check_format_string.
8198 (handle_format_attribute): Likewise.
8199 (check_format_string): Take a function type to examine instead of
8200 a type list. Use a function_arg_iterator to step through argument
8201 types.
8202
c62c040f
RG
82032011-05-04 Richard Guenther <rguenther@suse.de>
8204
8205 * c-common.c (fix_string_type): Use size_int for index type bounds.
8206 (start_fname_decls): Do not pass NULL to build_int_cst.
8207 (c_init_attributes): Likewise.
8208 * c-lex.c (c_lex_with_flags): Likewise.
8209
c12ff9d8
JM
82102011-04-27 Jason Merrill <jason@redhat.com>
8211
8212 * c-common.c (make_tree_vector_from_list): New.
8213 * c-common.h: Declare it.
8214
304dfbe3
RG
82152011-04-26 Richard Guenther <rguenther@suse.de>
8216
8217 PR preprocessor/48248
8218 * c-ppoutput.c (maybe_print_line): Always optimize newlines
8219 for output size with -P.
8220
3c0d13bf
PC
82212011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
8222
8223 * c-common.c (struct c_common_resword): Add __underlying_type.
8224 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
8225
04695783
JM
82262011-04-20 Jim Meyering <meyering@redhat.com>
8227
8228 * c-format.c (init_dollar_format_checking): Remove useless
8229 if-before-free.
8230
0dc33c3c
NP
82312011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
8232
8233 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 8234 (objc_detect_field_duplicates): New.
0dc33c3c 8235 * stub-objc.c: Likewise.
3c0d13bf 8236
c59633d9
NP
82372011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8238
8239 * stub-objc.c (objc_declare_protocols): Renamed to
8240 objc_declare_protocol.
8241 * c-objc.h: Likewise.
3c0d13bf 8242
32dabdaf
NP
82432011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8244
8245 * stub-objc.c (objc_declare_class): Updated argument name.
8246
81f653d6
NF
82472011-04-12 Nathan Froyd <froydnj@codesourcery.com>
8248
8249 * c-common.h (c_common_init_ts): Declare.
8250 * c-common.c (c_common_init_ts): Define.
8251
eb345401
NP
82522011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
8253
8254 * c-objc.h (objc_build_message_expr): Updated prototype.
8255 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 8256
a358e188
MJ
82572011-04-12 Martin Jambor <mjambor@suse.cz>
8258
8259 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
8260 of cgraph_node.
8261
e6313a78
RG
82622011-04-11 Richard Guenther <rguenther@suse.de>
8263
8264 * c-common.c (complete_array_type): Build a range type of
8265 proper type.
8266
dcf0c47e
NF
82672011-04-08 Nathan Froyd <froydnj@codesourcery.com>
8268
8269 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
8270 (handle_type_generic_attribute): Likewise.
8271
1ee44b26
JM
82722011-04-07 Jason Merrill <jason@redhat.com>
8273
8274 PR c++/48450
8275 * c-common.c (c_common_truthvalue_conversion): Don't ignore
8276 conversion from C++0x scoped enum.
8277
acce4e77
JM
82782011-04-06 Joseph Myers <joseph@codesourcery.com>
8279
8280 * c-target-def.h: New file.
8281 * c-target.def: New file.
8282 * c-target.h: New file.
8283 * c-common.c (targetcm): Don't define here.
8284 * c-common.h (default_handle_c_option): Declare.
8285 * c-format.c: Include c-target.h instead of target.h.
8286 * c-opts.c: Include c-target.h instead of target.h. Explicitly
8287 include tm.h.
8288 (default_handle_c_option): Move from targhooks.c.
8289
e2eefb55
JJ
82902011-03-29 Jakub Jelinek <jakub@redhat.com>
8291
8292 PR preprocessor/48248
8293 * c-ppoutput.c (print): Add src_file field.
8294 (init_pp_output): Initialize it.
8295 (maybe_print_line): Don't optimize by adding up to 8 newlines
8296 if map->to_file and print.src_file are different file.
8297 (print_line): Update print.src_file.
8298
ba78087b
KT
82992011-03-25 Kai Tietz <ktietz@redhat.com>
8300
8301 * c-ada-spec.c (compare_comment): Use filename_cmp
8302 instead of strcmp for filename.
8303
0edf1bb2
JL
83042011-03-25 Jeff Law <law@redhat.com>
8305
adfac8df 8306 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 8307
c7dc8804
JM
83082011-03-25 Jason Merrill <jason@redhat.com>
8309
8310 * c.opt: Add -std=c++03.
8311
d1d879b1
EB
83122011-03-22 Eric Botcazou <ebotcazou@adacore.com>
8313
8314 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
8315
3f8257db 83162011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
8317
8318 PR target/12171
5050afdf
KT
8319 * c-pretty-print.c (pp_c_specifier_qualifier_list):
8320 Display allowed attributes for function pointer types.
8321 (pp_c_attributes_display): New function to display
8322 attributes having affects_type_identity flag set to true.
8323 * c-pretty-print.h (pp_c_attributes_display): New prototype.
8324
62d784f7
KT
8325 * c-common.c (c_common_attribute_table):
8326 Add new element.
8327 (c_common_format_attribute_table): Likewise.
8328
82d37118
JM
83292011-03-18 Jason Merrill <jason@redhat.com>
8330
49a000c3
JM
8331 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
8332 * c-common.h: Don't declare it here.
8333 * c-common.c: Or define it here.
8334 * c-opts.c (c_common_handle_option): Or set it here.
8335
82d37118
JM
8336 PR c++/35315
8337 * c-common.c (handle_transparent_union_attribute): Don't
8338 make a duplicate type in C++.
8339
17bc631c
JM
83402011-03-15 Jason Merrill <jason@redhat.com>
8341
8342 * c-common.c (max_constexpr_depth): New.
8343 * c-common.h: Declare it.
8344 * c-opts.c (c_common_handle_option): Set it.
8345 * c.opt (fconstexpr-depth): New option.
8346
1b9b91a6
JM
83472011-03-11 Jason Merrill <jason@redhat.com>
8348
f231b5ff
JM
8349 * c-common.c (attribute_takes_identifier_p): Add missing const.
8350
1b9b91a6
JM
8351 PR c++/46803
8352 * c-common.c (attribute_takes_identifier_p): Assume that an
8353 unknown attribute takes an identifier.
8354
a19e4d44
NF
83552011-03-07 Nathan Froyd <froydnj@codesourcery.com>
8356
8357 PR c/47786
8358 * c-common.c (c_type_hash): Call list_length instead of iterating
8359 through DECL_CHAIN. Rename 'i' to 'n_elements'.
8360
982d62f6
JJ
83612011-02-19 Jakub Jelinek <jakub@redhat.com>
8362
8363 PR c/47809
8364 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
8365
0a256240
NP
83662011-02-17 Iain Sandoe <iains@gcc.gnu.org>
8367
8368 * c.opt (fobjc-abi-version=) New.
8369 (fobjc-nilcheck): New.
8370
ba9e6dd5
NF
83712011-02-03 Nathan Froyd <froydnj@codesourcery.com>
8372
8373 PR c++/46890
8374 * c-common.h (keyword_is_decl_specifier): Declare.
8375 * c-common.c (keyword_is_decl_specifier): Define.
8376 (keyword_is_function_specifier): New function.
8377
7273813a
JJ
83782011-01-26 Jakub Jelinek <jakub@redhat.com>
8379
8380 PR c/47473
8381 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
8382 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
8383 REAL_TYPE.
8384
908ef79b
AC
83852011-01-26 Arnaud Charlet <charlet@adacore.com>
8386
8387 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
8388
237e9384
JJ
83892011-01-26 Jakub Jelinek <jakub@redhat.com>
8390
8391 PR pch/47430
8392 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
8393 after init_c_lex if pch_file is set.
8394
47ea1edf
DK
83952011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
8396
d4dba752 8397 PR c++/43601
47ea1edf
DK
8398 * c.opt (-fkeep-inline-dllexport): New switch.
8399
2aa9c6ae
RG
84002011-01-12 Richard Guenther <rguenther@suse.de>
8401
8402 PR middle-end/32511
8403 * c-common.c (handle_weak_attribute): Warn instead of error
8404 on declaring an inline function weak.
8405
7bd11157
TT
84062011-01-05 Tom Tromey <tromey@redhat.com>
8407
8408 * c-common.h (lvalue_error): Update.
8409 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
8410 not error.
8411
0e66e494 84122010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 8413
b4f588c4
NP
8414 PR objc/47075
8415 * c-objc.h (objc_finish_message_expr): Added argument to
8416 prototype.
8417
f4da8dce
NF
84182010-12-22 Nathan Froyd <froydnj@codesourcery.com>
8419
8420 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
8421 Use prototype_p.
8422
46270f14
NP
84232010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
8424
8425 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 8426 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 8427
4816c593
NF
84282010-12-10 Nathan Froyd <froydnj@codesourcery.com>
8429
8430 * c-common.h (readonly_error): Declare.
8431 * c-common.c (readonly_error): Define.
8432
7a6daeb0
NF
84332010-12-09 Nathan Froyd <froydnj@codesourcery.com>
8434
8435 * c-common.h (invalid_indirection_error): Declare.
8436 * c-common.c (invalid_indirection_error): Define.
8437
892f6119
RG
84382010-12-03 Richard Guenther <rguenther@suse.de>
8439
8440 PR c/46745
8441 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
8442 (pp_c_unary_expression): Likewise.
8443 (pp_c_expression): Likewise.
8444
6c39e757
NP
84452010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
8446
8447 * c-common.h (objc_finish_function): New.
8448 (objc_non_volatilized_type): Removed.
8449 (objc_type_quals_match): Removed.
8450 * stub-objc.c (objc_finish_function): New.
8451 (objc_non_volatilized_type): Removed.
8452 (objc_type_quals_match): Removed.
9faeb493 8453
7c475d11
JM
84542010-11-30 Joseph Myers <joseph@codesourcery.com>
8455
8456 * c-common.h (parse_optimize_options): Declare.
8457 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
8458 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
8459
71f3e391
JM
84602010-11-29 Joseph Myers <joseph@codesourcery.com>
8461
8462 * c-opts.c (check_deps_environment_vars): Use getenv instead of
8463 GET_ENVIRONMENT.
8464 * c-pch.c (O_BINARY): Don't define here.
8465 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
8466
d5fabb58
JM
84672010-11-25 Joseph Myers <joseph@codesourcery.com>
8468
8469 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
8470 targetm.except_unwind_info.
8471
299404a1
JM
84722010-11-23 Joseph Myers <joseph@codesourcery.com>
8473
8474 * c-opts.c (c_common_handle_option): Pass location to
8475 set_struct_debug_option.
8476
c98cd5bf
JM
84772010-11-23 Joseph Myers <joseph@codesourcery.com>
8478
8479 * c-common.c (visibility_options): Move from ../opts.c.
8480 * c-common.h (struct visibility_flags, visibility_options):
8481 Declare here.
8482 * c-opts.c (finish_options): Rename to c_finish_options.
8483 (c_common_init): Update call to finish_options.
8484
a9546771
NP
84852010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
8486
8487 PR objc/34033
8488 * c-lex.c (lex_string): Check that each string in an Objective-C
8489 string concat sequence starts with either one or zero '@', and
8490 that there are no spurious '@' signs at the end.
8491
24a57808
JM
84922010-11-20 Joseph Myers <joseph@codesourcery.com>
8493
8494 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
8495 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
8496 HANDLE_PRAGMA_VISIBILITY.
8497 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
8498 HANDLE_PRAGMA_VISIBILITY): Don't define.
8499 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
8500
a9aa2c3a
NF
85012010-11-20 Nathan Froyd <froydnj@codesourcery.com>
8502
8503 PR c++/16189
8504 PR c++/36888
8505 PR c++/45331
8506 * c-common.h (keyword_begins_type_specifier): Declare.
8507 (keyword_is_storage_class_specifier): Declare.
8508 (keyword_is_type_qualifier): Declare.
8509 * c-common.c (keyword_begins_type_specifier): New function.
8510 (keyword_is_storage_class_specifier): New function.
8511 (keyword_is_type_qualifier): Declare.
8512
5386338c
JM
85132010-11-19 Joseph Myers <joseph@codesourcery.com>
8514
8515 PR c/46547
8516 * c-common.c (in_late_binary_op): Define.
8517 (c_common_truthvalue_conversion): Check in_late_binary_op before
8518 calling c_save_expr.
8519 * c-common.h (in_late_binary_op): Declare.
8520
69ccdddb
JM
85212010-11-19 Joseph Myers <joseph@codesourcery.com>
8522
8523 * c-opts.c (c_common_handle_option): Update calls to
8524 set_struct_debug_option.
8525
6b192a09
NP
85262010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
8527
8528 * c-common.h (objc_declare_protocols): Added additional argument.
8529 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 8530
fb52b50a
NF
85312010-11-18 Nathan Froyd <froydnj@codesourcery.com>
8532
8533 PR c/33193
8534 * c-common.h (build_real_imag_expr): Declare.
8535 * c-semantics.c (build_real_imag_expr): Define.
8536
b37421c6
JM
85372010-11-17 Joseph Myers <joseph@codesourcery.com>
8538
8539 * c-opts.c (c_common_parse_file): Take no arguments.
8540 * c-common.h (c_common_parse_file): Update prototype.
8541
07078664
JJ
85422010-11-16 Jakub Jelinek <jakub@redhat.com>
8543
8544 PR c++/46401
8545 * c-common.c (warning_candidate_p): Don't track non-const calls
8546 or STRING_CSTs.
8547
c6a13190
ILT
85482010-11-15 Ian Lance Taylor <iant@google.com>
8549
8550 * c-lex.c (init_c_lex): Set macro debug callbacks if
8551 flag_dump_go_spec is set.
8552
925e8657
NP
85532010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
8554
8555 * c-common.h (objc_build_incr_expr_for_property_ref): New.
8556 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
8557
bb0a9581
NF
85582010-11-15 Nathan Froyd <froydnj@codesourcery.com>
8559
8560 PR preprocessor/45038
8561 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
8562 dialects.
8563
c5fa0890
JM
85642010-11-12 Joseph Myers <joseph@codesourcery.com>
8565
8566 * c-common.h (c_family_lang_mask): Declare.
8567 * c-opts.c (c_family_lang_mask): Make extern.
8568 * c-pragma.c (handle_pragma_diagnostic): Use
8569 control_warning_option.
8570
a4d8c676
JM
85712010-11-12 Joseph Myers <joseph@codesourcery.com>
8572
8573 * c-common.c (parse_optimize_options): Update call to
8574 decode_options.
8575 * c-common.h (c_common_handle_option): Update prototype.
8576 * c-opts.c (c_common_handle_option): Take location_t parameter and
8577 pass it to other functions.
8578
f954bd2c
JM
85792010-11-11 Joseph Myers <joseph@codesourcery.com>
8580
8581 * c-opts.c (warning_as_error_callback): Remove.
8582 (c_common_initialize_diagnostics): Don't call
8583 register_warning_as_error_callback.
8584 (c_common_handle_option): Handle -Werror=normalized= here.
8585
d8a07487
JM
85862010-11-10 Joseph Myers <joseph@codesourcery.com>
8587
8588 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
8589 in diagnostic.
8590 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
8591 letter.
8592 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
8593 Remove trailing '.' from diagnostics.
8594 * c.opt (Wwrite-strings_: Avoid '`' in help text.
8595
d5478783
JM
85962010-11-10 Joseph Myers <joseph@codesourcery.com>
8597
8598 * c-common.c (parse_optimize_options): Pass global_dc to
8599 decode_options.
8600 * c-opts.c (c_common_handle_option): Pass &global_options to
8601 set_Wstrict_aliasing.
8602 * c.opt (v): Don't mark Common or document here.
8603
91ebb981
IS
86042010-11-06 Iain Sandoe <iains@gcc.gnu.org>
8605
8606 PR target/44981
8607 * c-format.c (format_type): New type gcc_objc_string_format_type.
8608 (valid_stringptr_type_p): New.
8609 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 8610 (check_format_string): Pass expected type, use
91ebb981
IS
8611 valid_stringptr_type_p (), check that the format string types are
8612 consistent with the format specification.
8613 (decode_format_attr): Warn if NSString is used outside objective-c.
8614 (format_types_orig): Add NSString.
8615 (format_name): New.
8616 (format_flags): New.
8617 (check_format_arg): Handle format strings requiring an external parser.
8618 first_target_format_type: New variable.
8619 (handle_format_attribute): Set up first_target_format_type, pass the
8620 expected format arg string type to check_format_string().
8621 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
8622 * stub-objc.c (objc_string_ref_type_p): New.
8623 (objc_check_format_arg): New.
8624
bede2adc
NP
86252010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
8626
9faeb493 8627 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
8628 * c-common.h (objc_build_class_component_ref): New.
8629 * stub-objc.c (objc_build_class_component_ref): New.
8630
9a179d01
NP
86312010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
8632
8633 * c.opt (Wproperty-assign-default): New option.
8634
22d8d616
NP
86352010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
8636
8637 Implemented -fobjc-std=objc1 flag.
8638 * c.opt (fobjc-std=objc1): New option.
8639
2debdb4f
NP
86402010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
8641
8642 Implemented format and noreturn attributes for Objective-C methods.
8643 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
8644 attribute for Objective-C methods.
8645
ec52b111
JM
86462010-10-31 Jason Merrill <jason@redhat.com>
8647
8648 * c-common.c (conversion_warning, warn_for_collisions_1): Use
8649 EXPR_LOC_OR_HERE.
8650
46a88c12
NP
86512010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
8652
8653 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
8654 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
8655 (objc_add_property_declaration): Removed arguments for copies and
8656 ivar.
8657 (objc_build_getter_call): Renamed to
8658 objc_maybe_build_component_ref.
8659 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
8660 (objc_is_property_ref): New.
8661 * c-common.c (c_common_reswords): Removed copies and ivar.
8662 * stub-objc.c (objc_add_property_declaration): Removed arguments
8663 for copies and ivar.
8664 (objc_build_getter_call): Renamed to
8665 objc_maybe_build_component_ref.
8666 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
8667 (objc_is_property_ref): New.
9faeb493 8668
1e4bf85b
AC
86692010-10-29 Arnaud Charlet <charlet@adacore.com>
8670 Matthew Gingell <gingell@adacore.com>
8671
8672 * c-ada-spec.c (separate_class_package): New function.
8673 (pp_ada_tree_identifier): Prefix references to C++ classes with the
8674 name of their enclosing package.
8675 (print_ada_declaration): Use separate_class_package.
8676
81f0bab2
JM
86772010-10-27 Jason Merrill <jason@redhat.com>
8678
2b08f2c5
JM
8679 * c-common.c (c_common_reswords): Add __is_literal_type.
8680 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
8681
81f0bab2
JM
8682 * c-common.c (check_case_value): Remove special C++ code.
8683
200290f2
NP
86842010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
8685
8686 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
8687 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
8688 and RID_LAST_PATTR.
8689 (objc_add_property_declaration): Added additional arguments.
8690 (objc_property_attribute_kind): Removed.
8691 (objc_set_property_attr): Removed.
8692 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
8693 copy and nonatomic.
8694 * stub-objc.c (objc_add_property_declaration): Added additional
8695 arguments.
8696 (objc_set_property_attr): Removed.
9faeb493 8697
f614132b
NP
86982010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
8699
8700 * c-common.h (objc_add_property_variable): Renamed to
8701 objc_add_property_declaration. Added location argument.
8702 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 8703
b8a18805
NP
87042010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
8705
8706 * c-common.h (objc_maybe_printable_name): New.
8707 * stub-objc.c (objc_maybe_printable_name): New.
8708
3f8257db
JJ
87092010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
8710 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
8711
8712 * c-common.h (c_common_mark_addressable_vec): Declare.
8713 * c-common.c (c_common_mark_addressable_vec): New function.
8714
249a82c4
NP
87152010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
8716
8717 * c-common.h (objc_set_method_type): Removed.
8718 (objc_add_method_declaration): Added boolean argument.
8719 (objc_start_method_definition): Same change.
8720 (objc_build_method_signature): Same change.
8721 * stub-objc.c (objc_set_method_type): Removed.
8722 (objc_add_method_declaration): Added boolean argument.
8723 (objc_start_method_definition): Same change.
8724 (objc_build_method_signature): Same change.
8725
977e30bc
NP
87262010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
8727
8728 * c-common.h (finish_file): Removed.
8729 (objc_write_global_declarations): New.
8730 * c-opts.c (c_common_parse_file): Do not call finish_file.
8731 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 8732
da57d1b9
NP
87332010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8734
8735 Implemented parsing @synthesize and @dynamic for
8736 Objective-C/Objective-C++.
8737 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
8738 (objc_add_synthesize_declaration): New.
8739 (objc_add_dynamic_declaration): New.
8740 * c-common.c (c_common_reswords): Add synthesize and dynamic.
8741 * stub-objc.c (objc_add_synthesize_declaration): New.
8742 (objc_add_dynamic_declaration): New.
9faeb493 8743
0069111f
MM
87442010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
8745
8746 PR target/46041
8747 * c-cppbuiltin.c (mode_has_fma): Move function here from
8748 builtins.c. Don't use the fma optab, instead just use the
8749 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
8750 using -save-temps.
8751
e426b47b
NP
87522010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8753
8754 Merge from 'apple/trunk' branch on FSF servers.
0069111f 8755
3f8257db 8756 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 8757
9faeb493 8758 Radar 4330422
e426b47b
NP
8759 * c-common.h (objc_non_volatilized_type): New declaration
8760 * stub-objc.c (objc_non_volatilized_type): New stub.
8761
90fbfdc3
NP
87622010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
8763
e426b47b 8764 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 8765
3f8257db 8766 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 8767
9faeb493 8768 Radar 4133425
90fbfdc3 8769 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 8770 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 8771
c37d8c30
IS
87722010-10-17 Iain Sandoe <iains@gcc.gnu.org>
8773
8774 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
8775 * c-common.h (enum rid): Add RID_AT_PACKAGE.
8776 (objc_ivar_visibility_kind): New enum.
8777 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 8778 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
8779 visibility enum.
8780
1b1562a5
MM
87812010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
8782
8783 * c-cppbuiltin.c (builtin_define_float_constants): Emit
8784 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
8785 has the appropriate fma builtins.
8786 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
8787
668ea4b1
IS
87882010-10-14 Iain Sandoe <iains@gcc.gnu.org>
8789
1b1562a5 8790 merge from FSF apple 'trunk' branch.
3f8257db 8791 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 8792
668ea4b1
IS
8793 Radars 4436866, 4505126, 4506903, 4517826
8794 * c-common.c (c_common_resword): Define @property and its attributes.
8795 * c-common.h: Define property attribute enum entries.
8796 (OBJC_IS_PATTR_KEYWORD): New.
8797 (objc_property_attribute_kind): New enum.
8798 Declare objc_set_property_attr (), objc_add_property_variable (),
8799 objc_build_getter_call () and objc_build_setter_call ().
8800 * stub-objc.c (objc_set_property_attr): New stub.
8801 (objc_add_property_variable): Likewise.
8802 (objc_build_getter_call): Likewise.
8803 (objc_build_setter_call) Likewise.
1b1562a5 8804
a1178b30
IS
88052010-10-13 Iain Sandoe <iains@gcc.gnu.org>
8806
1b1562a5 8807 merge from FSF apple 'trunk' branch.
3f8257db 8808 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
8809
8810 Radar 3803157 (method attributes)
8811 * c-common.c (handle_deprecated_attribute): Recognize
8812 objc methods as valid declarations.
8813 * c-common.h: Declare objc_method_decl ().
1b1562a5 8814 * stub-objc.c (objc_method_decl): New stub.
a1178b30 8815
a75bfaa6
JM
88162010-10-08 Joseph Myers <joseph@codesourcery.com>
8817
8818 * c-common.c (parse_optimize_options): Call
8819 decode_cmdline_options_to_array_default_mask before
8820 decode_options. Update arguments to decode_options.
8821 * c-common.h (c_common_init_options_struct): Declare.
8822 * c-opts.c (c_common_init_options_struct): New. Split out from
8823 c_common_init_options.
8824
f05b9d93
NP
88252010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
8826
8827 Implemented fast enumeration for Objective-C.
8828 * c-common.h (objc_finish_foreach_loop): New.
8829 * stub-objc.c (objc_finish_foreach_loop): New.
8830
1ebe4b4f
JM
88312010-10-05 Joseph Myers <joseph@codesourcery.com>
8832
8833 * c-common.h (struct diagnostic_context): Don't declare here.
8834 (c_common_initialize_diagnostics): Declare using
8835 diagnostic_context typedef.
8836 * c-opts.c (c_common_handle_option): Pass global_dc to
8837 handle_generated_option.
8838
d4d24ba4
JM
88392010-10-04 Joseph Myers <joseph@codesourcery.com>
8840
8841 * c-opts.c (c_common_handle_option): Pass &global_options_set to
8842 handle_generated_option.
8843
478a1c5b
ILT
88442010-10-03 Ian Lance Taylor <iant@google.com>
8845
8846 * c.opt (-fplan9-extensions): New option.
8847
82a1c2fe
FXC
88482010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8849
8850 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
8851 Remove.
8852 (c_cpp_builtins): Call functions from cppbuiltin.c instead
8853 of duplicating code.
8854
92902b1b
IS
88552010-09-30 Iain Sandoe <iains@gcc.gnu.org>
8856
8857 * c-common.c: Add two new entries for @optional
8858 and @required keywords.
8859
8860 merge from FSF 'apple/trunk' branch.
3f8257db 8861 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
8862
8863 Radar 4386773
8864 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
8865 objective-c keywords.
8866 (objc_set_method_opt): New declaration.
8867 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 8868
46625112
JM
88692010-09-30 Joseph Myers <joseph@codesourcery.com>
8870
8871 * c-common.c (handle_optimize_attribute): Pass &global_options to
8872 cl_optimization_save and cl_optimization_restore.
8873 * c-opts.c (c_common_handle_option): Pass &global_options to
8874 handle_generated_option.
8875 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
8876 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
8877 &global_options to cl_optimization_restore.
8878
49b91f05
NP
88792010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
8880
8881 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
8882 Objective-C/Objective-C++ keywords.
8883
13ed556f 88842010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 8885
9faeb493
UB
8886 Merge from 'apple/trunk' branch on FSF servers.
8887
3f8257db 8888 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
8889
8890 Radar 4281748
8891 * c-common.h (objc_check_global_decl): New declaration.
8892 * stub-objc.c (objc_check_global_decl): New stub.
8893
f0036cca
JM
88942010-09-29 Joseph Myers <joseph@codesourcery.com>
8895
8896 * c.opt: Don't use VarExists.
8897
e3339d0f
JM
88982010-09-29 Joseph Myers <joseph@codesourcery.com>
8899
8900 * c-common.c (c_cpp_error): Update names of diagnostic_context
8901 members.
8902 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
8903 cl_optimization members.
8904 * c-opts.c (warning_as_error_callback, c_common_handle_option,
8905 sanitize_cpp_opts, finish_options): Update names of cpp_options
8906 members.
8907
1973201f
NP
89082010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
8909
8910 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
8911 (objc_is_reserved_word): Removed.
8912 * c-common.c: Updated comments.
8913 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
8914 objc_is_reserved_word.
8915 * stub-objc.c (objc_is_reserved_word): Removed.
8916
f7e71da5
IS
89172010-09-28 Iain Sandoe <iains@gcc.gnu.org>
8918
9faeb493 8919 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
8920 include attributes.
8921 (objc_start_method_definition): Likewise.
8922 (objc_build_keyword_decl): Likewise.
8923 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
8924 (objc_start_method_definition): Likewise.
8925 (objc_build_keyword_decl): Likewise.
8926
c165dca7
IS
89272010-09-28 Iain Sandoe <iains@gcc.gnu.org>
8928
8929 * c-common.h (objc_start_class_interface): Adjust prototype.
8930 (objc_start_category_interface): Likewise.
8931 (objc_start_protocol): Likewise.
8932 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
8933 (objc_start_class_interface): Likewise.
8934 (objc_start_category_interface): Likewise.
8935
7458026b
ILT
89362010-09-27 Ian Lance Taylor <iant@google.com>
8937
8938 * c-common.c (c_common_attribute_table): Add no_split_stack.
8939 (handle_no_split_stack_attribute): New static function.
8940
b581b85b
NP
89412010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
8942
9faeb493 8943 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 8944
3f8257db 8945 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 8946
9faeb493 8947 Radar 4229905
b581b85b
NP
8948 * c-common.h (objc_have_common_type): New declaration.
8949 * stub-objc.c (objc_have_common_type): New stub.
8950
8951 2005-06-22 Ziemowit Laski <zlaski@apple.com>
8952
8953 Radar 4154928
8954 * c-common.h (objc_common_type): New prototype.
9faeb493 8955 * stub-objc.c (objc_common_type): New stub.
b581b85b 8956
46a4da10
JH
89572010-09-24 Jan Hubicka <jh@suse.cz>
8958
8959 * c-common.c (handle_leaf_attribute): New function.
8960 (struct attribute_spec c_common_att): Add leaf.
8961
e200444e
JM
89622010-09-22 Joseph Myers <joseph@codesourcery.com>
8963
8964 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
8965 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
8966 -dump, -dump=, -imacros, -imacros=, -include, -include=,
8967 -include-barrier, -include-directory, -include-directory=,
8968 -include-directory-after, -include-directory-after=,
8969 -include-prefix, -include-prefix=, -include-with-prefix,
8970 -include-with-prefix=, -include-with-prefix-after,
8971 -include-with-prefix-after=, -include-with-prefix-before,
8972 -include-with-prefix-before=, -no-integrated-cpp,
8973 -no-line-commands, -no-standard-includes, -no-warnings, -output,
8974 -output=, -pedantic, -pedantic-errors, -preprocess,
8975 -print-missing-file-dependencies, -trace-includes, -traditional,
8976 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
8977 -user-dependencies, -verbose, -write-dependencies,
8978 -write-user-dependencies, no-integrated-cpp, traditional): New.
8979
29a80ea6
NP
89802010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
8981
8982 PR objc/23710
ac1fc2fc
NP
8983 * c-common.h (objc_start_method_definition): Return bool instead
8984 of void.
8985 * stub-objc.c (objc_start_method_definition): Return bool instead
8986 of void.
8987
89882010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
8989
8990 PR objc/25965
8991 * c-common.h (objc_get_interface_ivars): New declaration.
8992 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 8993
de621752
ILT
89942010-09-15 Ian Lance Taylor <iant@google.com>
8995
8996 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 8997 messages. Remove period at end of warning message.
de621752 8998
ba885ec5
NS
89992010-09-09 Nathan Sidwell <nathan@codesourcery.com>
9000
9001 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
9002 (handle_alias_attribute): ... here.
9003 (handle_ifunc_attribute): New.
9004
c5ee1358
MM
90052010-09-06 Mark Mitchell <mark@codesourcery.com>
9006
9007 * c-common.h (do_warn_double_promotion): Declare.
9008 * c-common.c (do_warn_double_promotion): Define.
9009
0a0b3574
MM
90102010-09-05 Mark Mitchell <mark@codesourcery.com>
9011
9012 * c.opt (Wdouble-promotion): New.
9013
d1779886
JM
90142010-09-02 Joseph Myers <joseph@codesourcery.com>
9015
9016 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
9017 fvtable-thunks, fxref): Mark no longer supported in help text.
9018
2d2bd949
JM
90192010-09-02 Joseph Myers <joseph@codesourcery.com>
9020
9021 * c.opt (Wimport, fall-virtual, falt-external-templates,
9022 fdefault-inline, fenum-int-equiv, fexternal-templates,
9023 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
9024 fname-mangling-version-, fnew-abi, fnonnull-objects,
9025 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
9026 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
9027 applicable.
9028 (fhandle-exceptions): Mark with Alias and Warn.
9029 * c-opts.c (c_common_handle_option): Don't handle options marked
9030 as ignored.
9031
5de8299c
JM
90322010-09-02 Joseph Myers <joseph@codesourcery.com>
9033
9034 * c.opt (Wcomments, Werror-implicit-function-declaration,
9035 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
9036 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
9037 aliases.
9038 * c-common.c (option_codes): Use OPT_Wcomment instead of
9039 OPT_Wcomments.
9040 * c-opts.c (warning_as_error_callback, c_common_handle_option):
9041 Don't handle options marked as aliases.
9042
0ceb0201
RG
90432010-08-25 Richard Guenther <rguenther@suse.de>
9044
9045 * c-common.c (c_common_get_alias_set): Remove special
9046 handling for pointers.
9047
ac47786e
NF
90482010-08-20 Nathan Froyd <froydnj@codesourcery.com>
9049
9050 * c-common.c: Use FOR_EACH_VEC_ELT.
9051 * c-gimplify.c: Likewise.
9052 * c-pragma.c: Likewise.
9053
c878765b
JM
90542010-08-16 Joseph Myers <joseph@codesourcery.com>
9055
9056 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
9057 RejectDriver.
9058 (MMDX): Change back to MMD. Mark NoDriverArg instead of
9059 RejectDriver.
9060 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
9061 instead of OPT_MDX and OPT_MMDX.
9062
603349bf
JM
90632010-08-16 Joseph Myers <joseph@codesourcery.com>
9064
9065 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
9066
644fa7ac
JM
90672010-08-12 Joseph Myers <joseph@codesourcery.com>
9068
9069 * c.opt (MD, MMD): Change to MDX and MMDX.
9070 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
9071
481e1176
JM
90722010-08-11 Joseph Myers <joseph@codesourcery.com>
9073
9074 * c-opts.c (c_common_handle_option): Call handle_generated_option
9075 instead of handle_option.
9076
ac8dc9f7
NF
90772010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9078
9079 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
9080 (maybe_apply_renaming_pragma): Delete unneeded declarations.
9081
4f8c876d
NF
90822010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9083
9084 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
9085 (pending_redefine_extname): Change type to a VEC.
9086 (add_to_renaming_pragma_list): Update for new type of
9087 pending_redefine_extname.
ac8dc9f7 9088 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 9089
3b0c690e
AC
90902010-08-04 Arnaud Charlet <charlet@adacore.com>
9091
9092 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
9093 visited.
9094 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
9095 decide whether a type has already been declared/seen.
9096 Do not go to the original type.
9097 (dump_nested_types): New parameter forward.
9098 Generate forward declaration if needed and mark type as visited.
9099 (print_ada_declaration): Call dump_nested_types if not already done.
9100 Mark types as visited.
9101
1890bccc
JM
91022010-08-03 Joseph Myers <joseph@codesourcery.com>
9103
9104 * c.opt (-print-pch-checksum): Remove option.
9105 * c-opts.c (c_common_handle_option): Don't handle
9106 OPT_print_pch_checksum.
9107
5f20c657
JM
91082010-07-27 Joseph Myers <joseph@codesourcery.com>
9109
9110 * c-common.h (c_common_handle_option): Update prototype and return
9111 value type.
9112 * c-opts.c (c_common_handle_option): Update prototype and return
9113 value type. Update calls to handle_option and
9114 enable_warning_as_error.
9115
f551f80c
JJ
91162010-07-27 Jakub Jelinek <jakub@redhat.com>
9117
9118 PR c/45079
9119 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
9120
61ff2bdc
JM
91212010-07-27 Joseph Myers <joseph@codesourcery.com>
9122
9123 * c-common.h (c_common_missing_argument): Remove.
9124 * c-opts.c (c_common_missing_argument): Remove.
9125 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
9126 idirafter, imacros, include, isysroot, isystem, iquote): Add
9127 MissingArgError.
9128 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
9129
7a9bf9a4
JM
91302010-07-27 Joseph Myers <joseph@codesourcery.com>
9131
9132 * c-common.h (c_common_option_lang_mask,
9133 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
9134 New.
9135 (c_common_init_options): Update prototype.
9136 * c-opts.c (c_common_option_lang_mask): New.
9137 (c_common_initialize_diagnostics): Split out of
9138 c_common_init_options.
9139 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
9140 New.
9141 (c_common_init_options): Update prototype. Use decoded options in
9142 search for -lang-asm.
9143
910ad8de
NF
91442010-07-15 Nathan Froyd <froydnj@codesourcery.com>
9145
9146 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
9147 * c-format.c: Likewise.
9148
718f9c0f
MLI
91492010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
9150
9151 * c-common.h: Include diagnostic-core.h. Error if already
9152 included.
9153 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
9154
4d451982
MLI
91552010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
9156
adfac8df 9157 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
9158 Do not include expr.h
9159 (vector_mode_valid_p): Move here.
9160
119fe915
SB
91612010-06-21 DJ Delorie <dj@redhat.com>
9162
9163 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
9164 allow these pragmas anywhere.
9165
91662010-06-14 Jakub Jelinek <jakub@redhat.com>
9167
9168 PR bootstrap/44509
9169 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
9170 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
9171 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
9172 ggc_strdup instead of xstrdup.
9173
91742010-06-10 Jakub Jelinek <jakub@redhat.com>
9175
9176 * c-cppbuiltin.c: Include cpp-id-data.h.
9177 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
9178 (lazy_hex_fp_value): New function.
9179 (builtin_define_with_hex_fp_value): Provide definitions lazily.
9180
6662d794
MLI
91812010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9182
9183 * c-gimplify.c: Do not include tree-flow.h
9184
38f8b050
JR
91852010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
9186
9187 PR other/44034
9188 * c-common.c: Rename targetm member:
9189 targetm.enum_va_list -> targetm.enum_va_list_p
9190
9589f23e
AS
91912010-06-28 Anatoly Sokolov <aesok@post.ru>
9192
9193 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
9194
3b06d379
SB
91952010-06-28 Steven Bosscher <steven@gcc.gnu.org>
9196
9197 * c-cppbuiltin.c: Do not include except.h.
9198
d166d4c3
AK
91992010-06-24 Andi Kleen <ak@linux.intel.com>
9200
9faeb493
UB
9201 * c-common.c (warn_for_omitted_condop): New.
9202 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 9203
70cb8be6
JM
92042010-06-21 Joseph Myers <joseph@codesourcery.com>
9205
9206 * c.opt (lang-objc): Remove.
9207 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
9208
a4c97feb
JR
92092010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
9210
9211 * c-opts.c: Include "tm_p.h".
9212
6e2f1956
JM
92132010-06-20 Joseph Myers <joseph@codesourcery.com>
9214
9215 * c-common.c (parse_optimize_options): Update call to
9216 decode_options.
9217
bc87224e
NF
92182010-06-18 Nathan Froyd <froydnj@codesourcery.com>
9219
9220 * c-common.c (record_types_used_by_current_var_decl): Adjust for
9221 new type of types_used_by_cur_var_decl.
9222
b49cf425
JR
92232010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
9224
9225 PR bootstrap/44512
9226 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
9227 for C++ standard compliance.
9228
59f9c2ed
JM
92292010-06-16 Jason Merrill <jason@redhat.com>
9230
9231 * c.opt: Add -Wnoexcept.
9232
33766b66
RG
92332010-06-16 Richard Guenther <rguenther@suse.de>
9234
9235 PR c/44555
9236 * c-common.c (c_common_truthvalue_conversion): Remove
9237 premature and wrong optimization concering ADDR_EXPRs.
9238
eff7e30c
AC
92392010-06-15 Arnaud Charlet <charlet@adacore.com>
9240
9241 * c-ada-spec.c (dump_sloc): Remove column info.
9242 (is_simple_enum): New function.
9243 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
9244 enum types when relevant.
9245
6312e84d
MLI
92462010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9247
9faeb493 9248 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
9249 location.
9250
1cb42611
JM
92512010-06-10 Joseph Myers <joseph@codesourcery.com>
9252
9253 * c-opts.c (c_common_handle_option): Don't handle
9254 OPT_fshow_column.
9255
a9429e29
LB
92562010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
9257
9258 * c-pragma.c (push_alignment): Use typed GC allocation.
9259 (handle_pragma_push_options): Likewise.
9260
9261 * c-common.c (parse_optimize_options): Likewise.
9262
9263 * c-common.h (struct sorted_fields_type): Add variable_size GTY
9264 option.
9265
5498f011
JM
92662010-06-07 Joseph Myers <joseph@codesourcery.com>
9267
9268 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
9269 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
9270 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
9271 flag_signed_bitfields, warn_strict_null_sentinel,
9272 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
9273 flag_gen_declaration, flag_no_gnu_keywords,
9274 flag_implement_inlines, flag_implicit_templates,
9275 flag_implicit_inline_templates, flag_optional_diags,
9276 flag_elide_constructors, flag_default_inline, flag_rtti,
9277 flag_conserve_space, flag_access_control, flag_check_new,
9278 flag_new_for_scope, flag_weak, flag_working_directory,
9279 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
9280 flag_enforce_eh_specs, flag_threadsafe_statics,
9281 flag_pretty_templates): Remove.
9282 * c-common.h (flag_preprocess_only, flag_nil_receivers,
9283 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
9284 flag_replace_objc_classes, flag_undef, flag_no_builtin,
9285 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
9286 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
9287 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
9288 flag_no_gnu_keywords, flag_implement_inlines,
9289 flag_implicit_templates, flag_implicit_inline_templates,
9290 flag_optional_diags, flag_elide_constructors, flag_default_inline,
9291 flag_rtti, flag_conserve_space, flag_access_control,
9292 flag_check_new, flag_new_for_scope, flag_weak,
9293 flag_working_directory, flag_use_cxa_atexit,
9294 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
9295 flag_threadsafe_statics, flag_pretty_templates,
9296 warn_strict_null_sentinel): Remove.
9297 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
9298 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
9299 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
9300 fimplicit-inline-templates, fimplicit-templates,
9301 flax-vector-conversions, fms-extensions, fnil-receivers,
9302 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
9303 frtti, fshort-double, fshort-enums, fshort-wchar,
9304 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
9305 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
9306 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
9307 gen-decls, undef): Use Var.
9308 (fdefault-inline, foptional-diags): Document as doing nothing.
9309 * c-opts.c (c_common_handle_option): Remove cases for options now
9310 using Var. Mark ignored options as such.
9311
39dabefd
SB
93122010-06-05 Steven Bosscher <steven@gcc.gnu.org>
9313
9faeb493 9314 * c-common.c: Moved to here from parent directory.
39dabefd
SB
9315 * c-common.def: Likewise.
9316 * c-common.h: Likewise.
9317 * c-cppbuiltin.c: Likewise.
9318 * c-dump.c: Likewise.
9319 * c-format.c: Likewise.
9320 * c-format.h : Likewise.
9321 * c-gimplify.c: Likewise.
9322 * c-lex.c: Likewise.
9323 * c-omp.c: Likewise.
9324 * c.opt: Likewise.
9325 * c-opts.c: Likewise.
9326 * c-pch.c: Likewise.
9327 * c-ppoutput.c: Likewise.
9328 * c-pragma.c: Likewise.
9329 * c-pragma.h: Likewise.
9330 * c-pretty-print.c: Likewise.
9331 * c-pretty-print.h: Likewise.
9332 * c-semantics.c: Likewise.
9333 * stub-objc.c: Likewise.
9334
9335 * c-common.c: Include gt-c-family-c-common.h.
9336 * c-pragma.c: Include gt-c-family-c-pragma.h.
9337\f
85ec4feb 9338Copyright (C) 2010-2018 Free Software Foundation, Inc.
39dabefd
SB
9339
9340Copying and distribution of this file, with or without modification,
9341are permitted in any medium without royalty provided the copyright
9342notice and this notice are preserved.