1 2024-04-13 Mark Wielaard <mark@klomp.org>
3 * c.opt.urls: Regenerate.
5 2024-04-12 Jason Merrill <jason@redhat.com>
6 Patrick Palka <ppalka@redhat.com>
9 * c.opt: Add -Wcast-user-defined.
11 2024-04-05 Marek Polacek <polacek@redhat.com>
13 * c-warn.cc (warn_about_parentheses): Remove an #undef.
15 2024-03-27 Jakub Jelinek <jakub@redhat.com>
17 PR tree-optimization/114469
18 * c-common.cc (resolve_overloaded_builtin): For _BitInt result
19 on !extended targets convert result to the _BitInt type before
20 using VIEW_CONVERT_EXPR.
22 2024-03-26 Jakub Jelinek <jakub@redhat.com>
25 * c-pretty-print.cc (pp_c_cast_expression,
26 c_pretty_printer::expression): Handle EXCESS_PRECISION_EXPR like
29 2024-03-19 Jakub Jelinek <jakub@redhat.com>
32 * c-omp.cc (enum check_loop_binding_expr_ctx): New type.
33 (check_loop_binding_expr): Remove context argument, add ctx
34 argument with check_loop_binding_expr_ctx type at the end. Don't
35 create diagnostic message from multiple pieces.
36 (c_omp_check_loop_binding_exprs): Adjust callers.
38 2024-03-08 Jakub Jelinek <jakub@redhat.com>
40 * c-common.cc (resolve_overloaded_atomic_exchange): Instead of setting
41 p1 to VIEW_CONVERT_EXPR<I_type> (*p1), set it to MEM_REF with p1 and
42 (typeof (p1)) 0 operands and I_type type.
43 (resolve_overloaded_atomic_compare_exchange): Similarly for p2.
45 2024-03-05 Mark Wielaard <mark@klomp.org>
47 * c.opt.urls: Regenerate.
49 2024-03-05 Patrick Palka <ppalka@redhat.com>
51 * c.opt (Wglobal-module): New warning.
53 2024-03-04 Mark Wielaard <mark@klomp.org>
55 * c.opt.urls: Regenerate.
57 2024-02-22 Jakub Jelinek <jakub@redhat.com>
60 * c-lex.cc (c_common_has_attribute): Parse 2 CPP_COLONs with
61 the first one with COLON_SCOPE flag the same as CPP_SCOPE.
63 2024-02-10 Marek Polacek <polacek@redhat.com>
68 * c-opts.cc (c_common_post_options): In C++20 or with -Wc++20-compat,
69 turn on -Wtemplate-id-cdtor.
70 * c.opt (Wtemplate-id-cdtor): New.
72 2024-02-10 Jakub Jelinek <jakub@redhat.com>
74 * c-format.cc (gcc_diag_length_specs): Add t and z modifiers.
75 (PP_FORMAT_CHAR_TABLE, gcc_gfc_char_table): Add entries for t and
78 2024-02-10 Jakub Jelinek <jakub@redhat.com>
80 * c-ada-spec.cc (dump_template_types): Use HOST_SIZE_T_PRINT_UNSIGNED
81 and casts to fmt_size_t instead of "%lu" and casts to unsigned long.
83 2024-02-01 Lewis Hyatt <lhyatt@gmail.com>
85 PR preprocessor/105608
86 * c-pch.cc (c_common_read_pch): Adjust line map so that libcpp
87 assigns a location to restored macros which is the same location
88 that triggered the PCH include.
90 2024-01-31 Marek Polacek <polacek@redhat.com>
92 * c-opts.cc (c_common_post_options): Add an inform saying that
93 -fconcepts-ts is deprecated and will be removed in GCC 15.
95 2024-01-27 Lewis Hyatt <lhyatt@gmail.com>
97 PR preprocessor/105608
98 * c-pch.cc (c_common_read_pch): Start a new line map before asking
99 libcpp to restore macros defined prior to reading the PCH, instead
102 2024-01-23 Jakub Jelinek <jakub@redhat.com>
105 * c-common.cc (atomic_bitint_fetch_using_cas_loop): Call c_fully_fold
106 on lhs_addr, val and model for C.
108 2024-01-23 Sandra Loosemore <sandra@codesourcery.com>
110 * c.opt: Improve sorting of warning options.
112 2024-01-16 Eric Botcazou <ebotcazou@adacore.com>
115 * c-ada-spec.cc (check_type_name_conflict): Add guard for the
116 presence of DECL_NAME on a TYPE_DECL.
118 2024-01-11 Julian Brown <julian@codesourcery.com>
120 * c-pretty-print.cc (c_pretty_printer::postfix_expression,
121 c_pretty_printer::expression): Add OMP_ARRAY_SECTION support.
123 2024-01-09 waffl3x <waffl3x@protonmail.com>
127 C++23 P0847R7 (deducing this) - diagnostics.
128 * c-cppbuiltin.cc (c_cpp_builtins): Define
129 __cpp_explicit_this_parameter=202110L feature test macro.
131 2024-01-09 Jakub Jelinek <jakub@redhat.com>
134 * c-attribs.cc (handle_copy_attribute): Don't use
135 DECL_SOURCE_LOCATION (decl) if decl is not DECL_P, use input_location
136 instead. Formatting fixes.
138 2024-01-09 Julian Brown <julian@codesourcery.com>
140 * c-common.h (c_omp_address_inspector): Remove static from get_origin
141 and maybe_unconvert_ref methods.
142 * c-omp.cc (c_omp_split_clauses): Support OMP_ARRAY_SECTION.
143 (c_omp_address_inspector::map_supported_p): Handle OMP_ARRAY_SECTION.
144 (c_omp_address_inspector::get_origin): Avoid dereferencing possibly
145 NULL type when processing template decls.
146 (c_omp_address_inspector::maybe_unconvert_ref): Likewise.
148 2024-01-04 David Malcolm <dmalcolm@redhat.com>
150 * c.opt.urls: New file, autogenerated by regenerate-opt-urls.py.
152 2023-12-21 Jakub Jelinek <jakub@redhat.com>
154 * c.opt (Walloc-size): Enable also for C++ and ObjC++.
156 2023-12-21 Jakub Jelinek <jakub@redhat.com>
159 * c-ubsan.cc (ubsan_instrument_shift): Workaround for missing
160 ubsan _BitInt support for the shift count.
162 2023-12-20 Florian Weimer <fweimer@redhat.com>
165 * c-common.cc (get_atomic_generic_size): Use
166 OPT_Wdiscarded_qualifiers instead of
167 OPT_Wincompatible_pointer_types.
169 2023-12-20 Jakub Jelinek <jakub@redhat.com>
171 * c.opt (Wcalloc-transposed-args): New warning.
172 * c-common.h (warn_for_calloc, warn_for_alloc_size): Declare.
173 * c-warn.cc (warn_for_calloc, warn_for_alloc_size): New functions.
175 2023-12-16 Andrew Carlotti <andrew.carlotti@arm.com>
177 * c-attribs.cc (attr_target_exclusions): Make
178 target/target_clones exclusion target-dependent.
179 (attr_target_clones_exclusions): Ditto, and add target_version.
180 (attr_target_version_exclusions): New.
181 (c_common_attribute_table): Add target_version.
182 (handle_target_version_attribute): New.
183 (handle_target_attribute): Amend comment.
184 (handle_target_clones_attribute): Ditto.
186 2023-12-16 Andrew Carlotti <andrew.carlotti@arm.com>
188 * c-attribs.cc (attr_always_inline_exclusions): New.
189 (attr_target_exclusions): Ditto.
190 (attr_target_clones_exclusions): Ditto.
191 (c_common_attribute_table): Add new exclusion lists.
192 (handle_noinline_attribute): Remove custom exclusion handling.
193 (handle_always_inline_attribute): Ditto.
194 (handle_target_attribute): Ditto.
195 (handle_target_clones_attribute): Ditto.
197 2023-12-13 Patrick Palka <ppalka@redhat.com>
199 * c.opt: Add -fdiagnostics-all-candidates.
201 2023-12-13 Jason Merrill <jason@redhat.com>
203 * c-warn.cc (check_address_or_pointer_of_packed_member):
204 Rename to check_address_of_packed_member.
205 (check_and_warn_address_or_pointer_of_packed_member):
206 Rename to check_and_warn_address_of_packed_member.
207 (warn_for_address_or_pointer_of_packed_member):
208 Rename to warn_for_address_of_packed_member.
209 * c-common.h: Adjust.
211 2023-12-13 Jason Merrill <jason@redhat.com>
213 * c-warn.cc (check_address_or_pointer_of_packed_member):
214 Remove warning based on TYPE_PACKED.
216 2023-12-13 Julian Brown <julian@codesourcery.com>
218 * c-common.h (c_omp_region_type): Add C_ORT_EXIT_DATA,
219 C_ORT_OMP_EXIT_DATA and C_ORT_ACC_TARGET.
220 (omp_addr_token): Add forward declaration.
221 (c_omp_address_inspector): New class.
222 * c-omp.cc (c_omp_adjust_map_clauses): Mark decls addressable here, but
223 do not change any mapping node types.
224 (c_omp_address_inspector::unconverted_ref_origin,
225 c_omp_address_inspector::component_access_p,
226 c_omp_address_inspector::check_clause,
227 c_omp_address_inspector::get_root_term,
228 c_omp_address_inspector::map_supported_p,
229 c_omp_address_inspector::get_origin,
230 c_omp_address_inspector::maybe_unconvert_ref,
231 c_omp_address_inspector::maybe_zero_length_array_section,
232 c_omp_address_inspector::expand_array_base,
233 c_omp_address_inspector::expand_component_selector,
234 c_omp_address_inspector::expand_map_clause): New methods.
235 (omp_expand_access_chain): New function.
237 2023-12-12 Richard Biener <rguenther@suse.de>
240 * c-attribs.cc (handle_noicf_attribute): Also allow the
241 attribute on global variables.
243 2023-12-10 Ken Matsui <kmatsui@gcc.gnu.org>
244 Patrick Palka <ppalka@redhat.com>
246 * c-common.cc (c_common_reswords): Remove all mappings of
248 * c-common.h (enum rid): Remove all RID values for built-in
251 2023-12-07 Andrew Pinski <pinskia@gmail.com>
252 Jakub Jelinek <jakub@redhat.com>
254 PR preprocessor/111965
255 * c-opts.cc (c_common_handle_option) <case OPT_fdebug_cpp>: Set
256 cpp_opts->debug to value rather than 1.
258 2023-12-06 David Malcolm <dmalcolm@redhat.com>
260 * c-opts.cc (c_diagnostic_finalizer): Make "diagnostic" param
263 2023-12-06 Alexandre Oliva <oliva@adacore.com>
265 * c-attribs.cc: Include ipa-strub.h.
266 (handle_strub_attribute): New.
267 (c_common_attribute_table): Add strub.
269 2023-12-05 Richard Sandiford <richard.sandiford@arm.com>
271 * c-attribs.cc (c_common_gnu_attribute_table): Add extra
272 braces to work around PR 16333 in older compilers.
274 2023-12-05 Richard Biener <rguenther@suse.de>
277 * c-common.cc (c_common_type_for_size): Consider
278 registered_builtin_types.
280 2023-12-05 Marek Polacek <polacek@redhat.com>
284 * c-cppbuiltin.cc (c_cpp_builtins): Update __cpp_consteval.
285 * c-opts.cc (c_common_post_options): Pre-C++20, unset
286 flag_immediate_escalation.
287 * c.opt (fimmediate-escalation): New option.
289 2023-12-02 Richard Sandiford <richard.sandiford@arm.com>
291 * c-common.h (c_common_attribute_table): Replace with...
292 (c_common_gnu_attribute_table): ...this.
293 (c_common_format_attribute_table): Change type to
294 scoped_attribute_specs.
295 * c-attribs.cc (c_common_attribute_table): Replace with...
296 (c_common_gnu_attributes, c_common_gnu_attribute_table): ...these
298 (c_common_format_attribute_table): Change type to
299 scoped_attribute_specs, using...
300 (c_common_format_attributes): ...this as the underlying array.
302 2023-12-01 Florian Weimer <fweimer@redhat.com>
304 * c.opt (Wdeclaration-missing-parameter-type): New.
306 2023-11-30 Jakub Jelinek <jakub@redhat.com>
309 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
310 __cpp_placeholder_variables=202306L for C++26.
312 2023-11-29 Alexandre Oliva <oliva@adacore.com>
314 * c-attribs.cc (c_common_attribute_table): Add hardbool.
315 (handle_hardbool_attribute): New.
316 (type_valid_for_vector_size): Reject hardbool.
317 * c-common.cc (convert_and_check): Skip warnings for convert
318 and check for hardbool.
319 (c_hardbool_type_attr_1): New.
320 * c-common.h (c_hardbool_type_attr): New.
322 2023-11-27 Alex Coplan <alex.coplan@arm.com>
323 Iain Sandoe <iain@sandoe.co.uk>
326 * c-common.cc (struct hf_feature_info): New.
327 (c_common_register_feature): New.
328 (init_has_feature): New.
329 (has_feature_p): New.
330 * c-common.h (c_common_has_feature): New.
331 (c_family_register_lang_features): New.
332 (c_common_register_feature): New.
333 (has_feature_p): New.
334 * c-lex.cc (init_c_lex): Plumb through has_feature callback.
335 (c_common_has_builtin): Generalize and move common part ...
336 (c_common_lex_availability_macro): ... here.
337 (c_common_has_feature): New.
338 * c-ppoutput.cc (init_pp_output): Plumb through has_feature.
340 2023-11-24 Lewis Hyatt <lhyatt@gmail.com>
343 * c-ppoutput.cc (cb_read_pch): Reinitialize the frontend parser
346 2023-11-24 Tobias Burnus <tobias@codesourcery.com>
348 * c.opt (-Wopenmp): Add missing tailing '.'.
350 2023-11-24 Tobias Burnus <tobias@codesourcery.com>
352 * c.opt (Wopenmp): Add, enable by default.
354 2023-11-23 Marek Polacek <polacek@redhat.com>
356 * c-opts.cc: Include "target.h".
357 (c_finish_options): Maybe cpp_define _FORTIFY_SOURCE
358 and _GLIBCXX_ASSERTIONS.
360 2023-11-23 Jakub Jelinek <jakub@redhat.com>
362 * c-common.h (enum rid): Add RID_BUILTIN_STDC: New.
363 * c-common.cc (c_common_reswords): Add __builtin_stdc_bit_ceil,
364 __builtin_stdc_bit_floor, __builtin_stdc_bit_width,
365 __builtin_stdc_count_ones, __builtin_stdc_count_zeros,
366 __builtin_stdc_first_leading_one, __builtin_stdc_first_leading_zero,
367 __builtin_stdc_first_trailing_one, __builtin_stdc_first_trailing_zero,
368 __builtin_stdc_has_single_bit, __builtin_stdc_leading_ones,
369 __builtin_stdc_leading_zeros, __builtin_stdc_trailing_ones and
370 __builtin_stdc_trailing_zeros. Move __builtin_assoc_barrier
371 alphabetically earlier.
373 2023-11-23 Jakub Jelinek <jakub@redhat.com>
376 * c.opt (Wc++26-extensions): New option.
377 * c-cppbuiltin.cc (c_cpp_builtins): For C++26 predefine
378 __cpp_static_assert to 202306L rather than 201411L.
380 2023-11-19 David Malcolm <dmalcolm@redhat.com>
382 * c-lex.cc: Include "rich-location.h".
384 2023-11-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
386 * c-cppbuiltin.cc (c_cpp_builtins): Define
387 __LIBGCC_HAVE_LIBATOMIC for libgcov.
389 2023-11-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
392 2021-08-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
394 * c-cppbuiltin.c (c_cpp_builtins): Define
395 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
397 2023-11-17 Jakub Jelinek <jakub@redhat.com>
400 * c-gimplify.cc (genericize_c_loop): For C++ mark IFN_FALLTHROUGH
401 call at the end of loop body as TREE_NOTHROW.
403 2023-11-14 Lewis Hyatt <lhyatt@gmail.com>
407 * c-opts.cc (c_common_post_options): Set cpp_opts->main_search
408 so libcpp knows it is compiling a header file separately.
410 2023-11-14 David Malcolm <dmalcolm@redhat.com>
412 * c-warn.cc (conversion_warning): Update call to
413 global_dc->m_option_enabled to use option_enabled_p.
415 2023-11-14 David Malcolm <dmalcolm@redhat.com>
417 * c-common.cc (c_get_substring_location): Use global_dc's
419 * c-format.cc (get_corrected_substring): Likewise.
420 * c-indentation.cc (get_visual_column): Add file_cache param.
421 (get_first_nws_vis_column): Likewise.
422 (detect_intervening_unindent): Likewise.
423 (should_warn_for_misleading_indentation): Use global_dc's
425 (assert_get_visual_column_succeeds): Add file_cache param.
426 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): Likewise.
427 (assert_get_visual_column_fails): Likewise.
428 (define ASSERT_GET_VISUAL_COLUMN_FAILS): Likewise.
429 (selftest::test_get_visual_column): Create and use a temporary
432 2023-11-14 Jakub Jelinek <jakub@redhat.com>
435 * c-common.cc (check_builtin_function_arguments): Handle
436 BUILT_IN_{CLZ,CTZ,CLRSB,FFS,PARITY,POPCOUNT}G.
437 * c-gimplify.cc (c_gimplify_expr): If __builtin_c[lt]zg second
438 argument hasn't been folded into constant yet, transform it to one
439 argument call inside of a COND_EXPR which for first argument 0
440 returns the second argument.
442 2023-11-11 Martin Uecker <uecker@tugraz.at>
446 * c-attribs.cc (build_attr_access_from_parms): Synthesize
447 nonnull attribute for parameters declared with `static`.
449 2023-11-09 Florian Weimer <fweimer@redhat.com>
451 * c.opt (Wreturn-mismatch): New.
453 2023-11-08 Florian Weimer <fweimer@redhat.com>
455 * c.opt (fpermissive): Enable for C and ObjC.
456 * c-opts.cc (c_common_post_options): Enable -fpermissive.
458 2023-11-07 Joseph Myers <joseph@codesourcery.com>
460 * c-format.h (T2X_UI): Rename to T23_UI.
461 (T2X_UL): Rename to T23_UL.
462 (T2X_ULL): Rename to T23_ULL.
463 (T2X_US): Rename to T23_US.
464 (T2X_UC): Rename to T23_UC.
465 (T2X_ST): Rename to T23_ST.
466 (T2X_UPD): Rename to T23_UPD.
467 (T2X_UIM): Rename to T23_UIM.
468 (T2X_D32): Rename to T23_D32.
469 (T2X_D64): Rename to T23_D64.
470 (T2X_D128): Rename to T23_D128.
471 (T2X_I8): Rename to T23_I8.
472 (T2X_I16): Rename to T23_I16.
473 (T2X_I32): Rename to T23_I32.
474 (T2X_I64): Rename to T23_I64.
475 (T2X_U8): Rename to T23_U8.
476 (T2X_U16): Rename to T23_U16.
477 (T2X_U32): Rename to T23_U32.
478 (T2X_U64): Rename to T23_U64.
479 (T2X_IF8): Rename to T23_IF8.
480 (T2X_IF16): Rename to T23_IF16.
481 (T2X_IF32): Rename to T23_IF32.
482 (T2X_IF64): Rename to T23_IF64.
483 (T2X_UF8): Rename to T23_UF8.
484 (T2X_UF16): Rename to T23_UF16.
485 (T2X_UF32): Rename to T23_UF32.
486 (T2X_UF64): Rename to T23_UF64.
487 * c-format.cc: Update all uses of T2X_* macros to use T23_*.
489 2023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
491 * c-attribs.cc (c_common_attribute_table): Add attribute for
493 * c-pragma.h (enum parma_omp_clause): Add entry for indirect clause.
495 2023-11-07 Joseph Myers <joseph@codesourcery.com>
497 * c-common.cc (flag_isoc2x): Rename to flag_isoc23.
498 (c_common_reswords): Use D_C23 instead of D_C2X.
499 * c-common.h: Refer throughout to C23 instead of C2X in comments.
500 (D_C2X): Rename to D_C23.
501 (flag_isoc2x): Rename to flag_isoc23.
502 * c-cppbuiltin.cc (builtin_define_float_constants): Use
503 flag_isoc23 instead of flag_isoc2x. Refer to C23 instead of C2x
505 * c-format.cc: Use STD_C23 instead of STD_C2X and flag_isoc23
506 instead of flag_isoc2x. Refer to C23 instead of C2X in comments.
507 * c-format.h: Use STD_C23 instead of STD_C2X.
508 * c-lex.cc: Use warn_c11_c23_compat instead of warn_c11_c2x_compat
509 and flag_isoc23 instead of flag_isoc2x. Refer to C23 instead of
511 * c-opts.cc: Use flag_isoc23 instead of flag_isoc2x. Refer to C23
512 instead of C2X in comments.
513 (set_std_c2x): Rename to set_std_c23.
514 * c.opt (Wc11-c23-compat): Use CPP(cpp_warn_c11_c23_compat)
515 CppReason(CPP_W_C11_C23_COMPAT) Var(warn_c11_c23_compat) instead
516 of CPP(cpp_warn_c11_c2x_compat) CppReason(CPP_W_C11_C2X_COMPAT)
517 Var(warn_c11_c2x_compat).
519 2023-11-06 Joseph Myers <joseph@codesourcery.com>
522 * c.opt (Wc11-c2x-compat): Rename to Wc11-c23-compat and make into
523 a deprecated alias of Wc11-c23-compat.
524 (std=c2x): Rename to std=c23 and make into a deprecated alias of
526 (std=gnu2x): Rename to std=gnu23 and make into a deprecated alias
528 (std=iso9899:2024): New option. Alias of std=c23.
529 * c-lex.cc (interpret_float): Use OPT_Wc11_c23_compat instead of
531 * c-opts.cc (c_common_handle_option): Use OPT_std_c23 instead of
532 OPT_std_c2x and OPT_std_gnu23 instead of OPT_std_gnu2x.
534 2023-11-05 Jakub Jelinek <jakub@redhat.com>
536 * c-lex.cc (c_common_has_attribute): Return 1 for omp::directive
537 and omp::sequence with -fopenmp or -fopenmp-simd also for C, not
538 just for C++. Return 1 for omp::decl with -fopenmp or -fopenmp-simd
541 2023-11-04 David Malcolm <dmalcolm@redhat.com>
543 * c-pragma.cc:: (handle_pragma_push_options): Fix missing "GCC" in
544 name of pragma in "junk" message.
545 (handle_pragma_pop_options): Likewise.
547 2023-11-04 David Malcolm <dmalcolm@redhat.com>
549 * c-common.cc: Update for changes to diagnostic_context.
550 * c-indentation.cc: Likewise.
551 * c-opts.cc: Likewise.
552 * c-warn.cc: Likewise.
554 2023-11-01 Martin Uecker <uecker@tugraz.at>
557 * c.opt (Walloc-size): New option.
559 2023-10-31 David Malcolm <dmalcolm@redhat.com>
561 * c-warn.cc (warn_for_multistatement_macros): Update for removal
562 of MACRO_MAP_EXPANSION_POINT_LOCATION.
564 2023-10-27 Lewis Hyatt <lhyatt@gmail.com>
566 PR preprocessor/87299
567 * c-pragma.cc (init_pragma): Register `#pragma GCC target' and
568 related pragmas in preprocess-only mode, and enable early handling.
569 (c_reset_target_pragmas): New function refactoring code from...
570 (handle_pragma_reset_options): ...here.
571 * c-pragma.h (c_reset_target_pragmas): Declare.
573 2023-10-26 David Malcolm <dmalcolm@redhat.com>
575 * c-attribs.cc (c_common_attribute_table): Add
576 "null_terminated_string_arg".
577 (handle_null_terminated_string_arg_attribute): New.
579 2023-10-23 Lewis Hyatt <lhyatt@gmail.com>
581 PR preprocessor/36887
582 * c-opts.cc (c_common_init_options): Pass new extra hash map
583 argument to cpp_create_reader().
585 2023-10-20 Marek Polacek <polacek@redhat.com>
588 * c-common.cc (c_common_get_alias_set): Return -1 for char8_t only
591 2023-10-20 Patrick Palka <ppalka@redhat.com>
593 * c-warn.cc (check_address_or_pointer_of_packed_member): Handle
594 type-dependent callee of CALL_EXPR.
596 2023-10-20 Alexandre Oliva <oliva@adacore.com>
598 * c-attribs.cc (handle_expected_throw_attribute): New.
599 (c_common_attribute_table): Add expected_throw.
601 2023-10-19 Lewis Hyatt <lhyatt@gmail.com>
604 * c-pragma.cc (handle_pragma_diagnostic_impl): Handle
605 -Wunknown-pragmas during early processing.
607 2023-10-15 Jakub Jelinek <jakub@redhat.com>
609 PR tree-optimization/111800
610 * c-warn.cc (match_case_to_enum_1): Assert w.get_precision ()
611 is smaller or equal to WIDE_INT_MAX_INL_PRECISION rather than
612 w.get_len () is smaller or equal to WIDE_INT_MAX_INL_ELTS.
614 2023-10-12 Jakub Jelinek <jakub@redhat.com>
617 * c-warn.cc (match_case_to_enum_1): Use wi::to_wide just once instead
618 of 3 times, assert get_len () is smaller than WIDE_INT_MAX_INL_ELTS.
620 2023-10-02 David Malcolm <dmalcolm@redhat.com>
622 * c-common.cc (maybe_add_include_fixit): Update for renaming of
623 diagnostic_context's show_caret to m_source_printing.enabled.
624 * c-opts.cc (c_common_init_options): Update for renaming of
625 diagnostic_context's colorize_source_p to
626 m_source_printing.colorize_source_p.
628 2023-09-20 Jakub Jelinek <jakub@redhat.com>
631 * c-omp.cc (c_omp_directives): Add commented out groupprivate
634 2023-09-19 Ben Boeckel <ben.boeckel@kitware.com>
636 * c-opts.cc (c_common_handle_option): Add fdeps_file variable and
637 -fdeps-format=, -fdeps-file=, and -fdeps-target= parsing.
638 * c.opt: Add -fdeps-format=, -fdeps-file=, and -fdeps-target=
641 2023-09-19 Javier Martinez <javier.martinez.bugzilla@gmail.com>
643 * c-attribs.cc (handle_hot_attribute): remove warning on
644 RECORD_TYPE and UNION_TYPE when in c_dialect_xx.
645 (handle_cold_attribute): Likewise.
647 2023-09-19 Jakub Jelinek <jakub@redhat.com>
649 * c-common.cc (c_common_signed_or_unsigned_type): Return INTEGER_TYPE
650 for signed variant of unsigned _BitInt(1).
652 2023-09-06 Jakub Jelinek <jakub@redhat.com>
655 * c-attribs.cc (type_valid_for_vector_size): Reject vector types
656 with BITINT_TYPE elements even if they have mode precision and
659 2023-09-06 Jakub Jelinek <jakub@redhat.com>
662 * c-common.cc (c_common_reswords): Add _BitInt as keyword.
663 (unsafe_conversion_p): Handle BITINT_TYPE like INTEGER_TYPE.
664 (c_common_signed_or_unsigned_type): Handle BITINT_TYPE.
665 (c_common_truthvalue_conversion, c_common_get_alias_set,
666 check_builtin_function_arguments): Handle BITINT_TYPE like
668 (sync_resolve_size): Add ORIG_FORMAT argument. If
669 FETCH && !ORIG_FORMAT, type is BITINT_TYPE, return -1 if size isn't
670 one of 1, 2, 4, 8 or 16 or if it is 16 but TImode is not supported.
671 (atomic_bitint_fetch_using_cas_loop): New function.
672 (resolve_overloaded_builtin): Adjust sync_resolve_size caller. If
673 -1 is returned, use atomic_bitint_fetch_using_cas_loop to lower it.
675 (keyword_begins_type_specifier): Handle RID_BITINT.
676 * c-common.h (enum rid): Add RID_BITINT enumerator.
677 * c-cppbuiltin.cc (c_cpp_builtins): For C call
678 targetm.c.bitint_type_info and predefine __BITINT_MAXWIDTH__
679 and for -fbuilding-libgcc also __LIBGCC_BITINT_LIMB_WIDTH__ and
680 __LIBGCC_BITINT_ORDER__ macros if _BitInt is supported.
681 * c-lex.cc (interpret_integer): Handle CPP_N_BITINT.
682 * c-pretty-print.cc (c_pretty_printer::simple_type_specifier,
683 c_pretty_printer::direct_abstract_declarator,
684 c_pretty_printer::direct_declarator, c_pretty_printer::declarator):
686 (pp_c_integer_constant): Handle printing of large precision wide_ints
687 which would buffer overflow digit_buffer.
688 * c-warn.cc (conversion_warning, warnings_for_convert_and_check,
689 warnings_for_convert_and_check): Handle BITINT_TYPE like
692 2023-09-06 Jakub Jelinek <jakub@redhat.com>
695 * c-ubsan.cc (ubsan_instrument_shift): Use UBSAN_PRINT_FORCE_INT
696 for type0 type descriptor.
698 2023-09-06 Jakub Jelinek <jakub@redhat.com>
700 * c-lex.cc (interpret_float): For C diagnostics on FN and FNx suffixes
701 append " before C2X" to diagnostics text and follow behavior of
704 2023-09-01 Jakub Jelinek <jakub@redhat.com>
707 * c-opts.cc (c_common_post_options): Change latest_abi_version to 19.
709 2023-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
711 * c.opt: Change spelling to macOS.
713 2023-08-31 Richard Biener <rguenther@suse.de>
716 * c-pretty-print.cc (c_pretty_printer::primary_expression):
717 Only dump gimple_assign_single_p SSA def RHS.
719 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
721 * c-common.h (c_omp_check_loop_binding_exprs): Declare.
722 * c-omp.cc: Include tree-iterator.h.
723 (find_binding_in_body): New.
724 (check_loop_binding_expr_r): New.
726 (check_looop_binding_expr): New.
727 (c_omp_check_loop_binding_exprs): New.
729 2023-08-25 Uros Bizjak <ubizjak@gmail.com>
731 * c-format.cc (read_any_format_width):
732 Rename TRUE/FALSE to true/false.
734 2023-08-20 Martin Uecker <uecker@tugraz.at>
736 * c-format.cc: Fix identation.
738 2023-08-20 Tomas Kalibera <tomas.kalibera@gmail.com>
741 * c-format.cc: skip default format for printf symbol if
742 explicitly declared by prototype.
744 2023-08-17 Jose E. Marchesi <jose.marchesi@oracle.com>
747 * c.opt (Wcompare-distinct-pointer-types): New option.
749 2023-08-14 Jason Merrill <jason@redhat.com>
751 * c-cppbuiltin.cc (c_cpp_builtins): Adjust __cpp_concepts.
753 2023-08-11 Jakub Jelinek <jakub@redhat.com>
755 * c-common.cc (c_common_reswords): Add __typeof_unqual
756 and __typeof_unqual__ spellings of typeof_unqual.
758 2023-08-11 Martin Uecker <uecker@tugraz.at>
761 * c.opt: Enable warning for C and ObjC.
763 2023-08-05 Martin Uecker <uecker@tugraz.at>
766 * c-warn.cc (warn_parm_array_mismatch): Do not warn if more
767 bounds are specified.
769 2023-08-04 Tamar Christina <tamar.christina@arm.com>
771 * c-pragma.h (enum pragma_kind): Add PRAGMA_NOVECTOR.
772 * c-pragma.cc (init_pragma): Use it.
774 2023-08-01 Lewis Hyatt <lhyatt@gmail.com>
776 * c-common.h (c_init_preprocess): Declare new function.
777 * c-opts.cc (c_common_init): Call it.
778 * c-lex.cc (cb_def_pragma): Add a comment.
779 (get_token): New function wrapping cpp_get_token.
780 (c_lex_with_flags): Use the new wrapper function to support
781 obtaining tokens in preprocess_only mode.
782 (lex_string): Likewise.
783 * c-pragma.cc (pragma_diagnostic_lex_normal): Rename to...
784 (pragma_diagnostic_lex): ...this.
785 (pragma_diagnostic_lex_pp): Remove.
786 (handle_pragma_diagnostic_impl): Call pragma_diagnostic_lex () in
788 (c_pp_invoke_early_pragma_handler): Adapt to support pragma_lex ()
790 * c-pragma.h (pragma_lex_discard_to_eol): Declare.
792 2023-07-31 Hamza Mahfooz <someguy@effective-light.com>
795 * c.opt (-Wmissing-variable-declarations): New option.
797 2023-07-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
800 * c-common.cc (check_builtin_function_arguments):
801 Handle BUILT_IN_ISEQSIG.
803 2023-07-05 Robin Dapp <rdapp@ventanamicro.com>
804 Juzhe-Zhong <juzhe.zhong@rivai.ai>
806 * c-common.cc (c_common_type_for_mode): Use GET_MODE_PRECISION.
808 2023-06-29 Qing Zhao <qing.zhao@oracle.com>
811 * c.opt: New option -Wflex-array-member-not-at-end.
813 2023-06-28 Jason Merrill <jason@redhat.com>
816 * c-cppbuiltin.cc (c_cpp_builtins): Update __cpp_constexpr.
818 2023-06-26 Richard Biener <rguenther@suse.de>
820 * c-common.cc (shorten_binary_op): Exit early for VECTOR_TYPE
823 2023-06-23 Marek Polacek <polacek@redhat.com>
825 * c-common.h (cxx_dialect): Add cxx26 as a dialect.
826 * c-opts.cc (set_std_cxx26): New.
827 (c_common_handle_option): Set options when -std={c,gnu}++2{c,6} is
829 (c_common_post_options): Adjust comments.
830 * c.opt: Add options for -std=c++26, std=c++2c, -std=gnu++26,
832 (std=c++2b): Mark as Undocumented.
833 (std=c++23): No longer Undocumented.
835 2023-06-21 Alexander Monakov <amonakov@ispras.ru>
837 * c-gimplify.cc (fma_supported_p): New helper.
838 (c_gimplify_expr) [PLUS_EXPR, MINUS_EXPR]: Implement FMA
841 2023-06-16 Alex Coplan <alex.coplan@arm.com>
843 * c.opt (Welaborated-enum-base): New.
845 2023-06-13 David Malcolm <dmalcolm@redhat.com>
849 (suggest_missing_header::~suggest_missing_header): Reword note to
850 avoid negative tone of "forgetting".
852 2023-06-07 Jason Merrill <jason@redhat.com>
857 2023-05-26 Martin Uecker <uecker@tugraz.at>
859 * c-attribs.cc (build_attr_access_from_parms): Split loop to first
860 record all parameters.
862 2023-05-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
864 * c-ada-spec.cc (has_static_fields): Use _P() defines from tree.h.
865 (dump_ada_declaration): Ditto.
866 (dump_ada_structure): Ditto.
867 * c-common.cc (unsafe_conversion_p): Ditto.
868 (shorten_compare): Ditto.
869 (pointer_int_sum): Ditto.
870 (c_common_truthvalue_conversion): Ditto.
871 (scalar_to_vector): Ditto.
872 * c-common.h (gnu_vector_type_p): Ditto.
873 * c-omp.cc (c_omp_depend_t_p): Ditto.
874 (c_omp_split_clauses): Ditto.
875 * c-ubsan.cc (ubsan_instrument_division): Ditto.
876 * c-warn.cc (conversion_warning): Ditto.
877 (warnings_for_convert_and_check): Ditto.
879 2023-05-18 Joseph Myers <joseph@codesourcery.com>
881 * c-format.cc (print_char_table): Handle %B like %b.
883 2023-05-15 Joseph Myers <joseph@codesourcery.com>
885 * c-lex.cc (c_common_has_attribute): Use 202311 as
886 __has_c_attribute return for all C2x attributes.
888 2023-05-15 Patrick Palka <ppalka@redhat.com>
890 * c-cppbuiltin.cc (c_cpp_builtins): Predefine __cpp_auto_cast
893 2023-05-01 Marek Polacek <polacek@redhat.com>
895 * c-ubsan.cc (ubsan_maybe_instrument_array_ref): Don't copy_node.
897 2023-03-28 David Malcolm <dmalcolm@redhat.com>
900 * c-common.h (check_for_xor_used_as_pow): Add "rhs_loc" param.
901 * c-warn.cc (check_for_xor_used_as_pow): Add "rhs_loc" param.
902 Reject cases where involving macro expansions.
904 2023-03-28 Jason Merrill <jason@redhat.com>
907 * c-common.cc (verify_tree): Don't use sequenced handling
910 2023-03-17 Jakub Jelinek <jakub@redhat.com>
913 * c-ubsan.cc (ubsan_instrument_division): Handle all scalar integral
914 types rather than just INTEGER_TYPE.
916 2023-03-10 Marek Polacek <polacek@redhat.com>
920 * c-gimplify.cc (ubsan_walk_array_refs_r): For a MODIFY_EXPR, instrument
921 the RHS before the LHS.
923 2023-03-04 Jakub Jelinek <jakub@redhat.com>
926 * c-warn.cc (warn_for_sign_compare): Don't warn for unset bits
927 above innermost zero extension of BIT_NOT_EXPR result.
929 2023-03-04 Jakub Jelinek <jakub@redhat.com>
932 * c-warn.cc (warn_for_sign_compare): If c_common_get_narrower
933 doesn't return a narrower result, use TYPE_UNSIGNED to set unsignedp0
934 and unsignedp1. For the one BIT_NOT_EXPR case vs. one without,
935 only check for constant in the non-BIT_NOT_EXPR operand, use std::swap
936 to simplify the code, only warn if BIT_NOT_EXPR operand is extended
937 from narrower unsigned, fix up computation of mask for the constant
938 cases and for unsigned other operand case handle differently
939 BIT_NOT_EXPR result being sign vs. zero extended.
941 2023-03-04 Jakub Jelinek <jakub@redhat.com>
944 * c-warn.cc: Include langhooks.h.
945 (maybe_warn_shift_overflow): Set type0 to what TREE_TYPE (op0)
946 promotes to rather than TREE_TYPE (op0) itself, if TREE_TYPE (op0)
947 is narrower than type0 and unsigned, use wi::min_precision with
948 UNSIGNED and fold_convert op0 to type0 before emitting the warning.
950 2023-03-03 Alexandre Oliva <oliva@adacore.com>
952 * c-common.cc (c_common_nodes_and_builtins): Take
953 wchar_type_node for wint_type_node when aliased.
954 (c_stddef_cpp_builtins): Define __WINT_TYPE__, when aliased to
955 wchar_t, to the underlying type rather than wchar_t in
957 * c-cppbuiltin.cc (type_suffix): Handle wchar_type_node.
959 2023-02-28 Marek Polacek <polacek@redhat.com>
962 * c-warn.cc (check_address_or_pointer_of_packed_member): Check
965 2023-02-28 Jakub Jelinek <jakub@redhat.com>
968 * c-common.h (c_strict_flex_array_level_of): Declare.
969 * c-common.cc (c_strict_flex_array_level_of): New function,
970 moved and renamed from c-decl.cc's strict_flex_array_level_of.
971 * c-ubsan.cc (ubsan_instrument_bounds): Fix comment typo. For
972 C check c_strict_flex_array_level_of whether a trailing array
973 should be treated as flexible member like. Handle C [0] arrays.
974 Add 1 + index_off_by_one rather than index_off_by_one to bounds
975 and use tree_int_cst_lt rather than tree_int_cst_le for idx vs.
978 2023-02-23 Jakub Jelinek <jakub@redhat.com>
980 PR translation/108890
981 * c.opt (fcontracts): Fix description.
983 2023-02-22 Marek Polacek <polacek@redhat.com>
986 * c-gimplify.cc (c_genericize_control_stmt) <case STATEMENT_LIST>: Pass
988 (c_genericize): Call walk_tree with an explicit pset.
990 2023-02-18 Martin Uecker <uecker@tugraz.at>
993 * c-attribs.cc (append_access_attr): Use order of arguments when
995 (append_access_attr_idxs): Rename and make static.
996 * c-warn.cc (warn_parm_array_mismatch): Add assertion.
998 2023-02-16 Patrick Palka <ppalka@redhat.com>
1000 * c-common.h: Mechanically drop static from static inline
1001 functions via s/^static inline/inline/g.
1003 2023-02-01 Jason Merrill <jason@redhat.com>
1005 * c.opt: Add -Wno-changes-meaning.
1007 2023-01-31 Marek Polacek <polacek@redhat.com>
1011 * c-common.h (instantiation_dependent_expression_p): Declare.
1012 * c-warn.cc (warn_duplicated_cond_add_or_warn): If the condition
1013 is dependent, invalidate the chain.
1015 2023-01-26 Marek Polacek <polacek@redhat.com>
1018 * c-pragma.cc (handle_pragma_message): Warn for CPP_STRING_USERDEF.
1020 2023-01-18 Marek Polacek <polacek@redhat.com>
1023 * c-common.cc (check_case_value): Check INTEGRAL_TYPE_P.
1025 2023-01-14 Jakub Jelinek <jakub@redhat.com>
1028 * c-common.h (may_shorten_divmod): New static inline function.
1030 2023-01-13 Eric Botcazou <ebotcazou@adacore.com>
1032 * c-ada-spec.cc (is_float32): New function.
1033 (is_float64): Likewise.
1034 (is_float128): Tweak.
1035 (dump_ada_node) <REAL_TYPE>: Call them to recognize more types.
1037 2023-01-12 Lewis Hyatt <lhyatt@gmail.com>
1039 PR preprocessor/108244
1040 * c-pragma.cc (c_register_pragma_1): Don't attempt to register any
1041 deferred pragmas if -fdirectives-only.
1042 (init_pragma): Likewise.
1044 2023-01-09 Martin Liska <mliska@suse.cz>
1047 * c-attribs.cc (handle_target_clones_attribute): Check for
1048 string constant for all target_clone attribute values.
1050 2023-01-03 Florian Weimer <fweimer@redhat.com>
1052 * c-cppbuiltin.cc (c_cpp_builtins): Define
1053 __LIBGCC_DWARF_CIE_DATA_ALIGNMENT__.
1055 2023-01-03 Florian Weimer <fweimer@redhat.com>
1058 2023-01-03 Florian Weimer <fweimer@redhat.com>
1060 * c-cppbuiltin.cc (__LIBGCC_DWARF_REG_SIZES_CONSTANT__):
1061 Define if constant is known.
1063 2023-01-03 Florian Weimer <fweimer@redhat.com>
1066 2023-01-02 Florian Weimer <fweimer@redhat.com>
1068 * c-cppbuiltin.cc (c_cpp_builtins): Define
1069 __LIBGCC_DWARF_CIE_DATA_ALIGNMENT__.
1071 2023-01-02 Florian Weimer <fweimer@redhat.com>
1073 * c-cppbuiltin.cc (c_cpp_builtins): Define
1074 __LIBGCC_DWARF_CIE_DATA_ALIGNMENT__.
1076 2023-01-02 Florian Weimer <fweimer@redhat.com>
1078 * c-cppbuiltin.cc (__LIBGCC_DWARF_REG_SIZES_CONSTANT__):
1079 Define if constant is known.
1081 2022-12-19 Marek Polacek <polacek@redhat.com>
1084 * c-format.cc (check_function_format): Use get_attribute_name.
1086 2022-12-16 Qing Zhao <qing.zhao@oracle.com>
1088 * c.opt (Wstrict-flex-arrays): New option.
1090 2022-12-02 Andrew MacLeod <amacleod@redhat.com>
1092 * c-attribs.cc (handle_deprecated_attribute): Use type when
1095 2022-12-02 Jakub Jelinek <jakub@redhat.com>
1098 * c-omp.cc (c_omp_is_loop_iterator): For range for with structured
1099 binding return TREE_VEC_LENGTH (d->declv) even if decl is equal
1100 to any of the structured binding decls.
1102 2022-11-30 Iskander Shakirzyanov <iskander@ispras.ru>
1103 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1106 * c-common.cc (fold_offsetof,
1107 convert_vector_to_array_for_subscript): Use OPT_Warray_bounds_
1108 instead of OPT_Warray_bounds.
1110 2022-11-24 Jakub Jelinek <jakub@redhat.com>
1112 * c.opt (fcontract-role=, fcontract-semantic=): Terminate descriptions
1115 2022-11-23 Andrew Pinski <apinski@marvell.com>
1116 Jakub Jelinek <jakub@redhat.com>
1119 * c-gimplify.cc (c_genericize): Use walk_tree_without_duplicates
1120 instead of walk_tree for c_genericize_control_r.
1122 2022-11-23 Jakub Jelinek <jakub@redhat.com>
1124 * c.opt (fcontract-assumption-mode=, fcontract-continuation-mode=,
1125 fcontract-role=, fcontract-semantic=): Add RejectNegative.
1126 (fcontract-build-level=): Terminate description with dot.
1128 2022-11-19 Jakub Jelinek <jakub@redhat.com>
1130 * c-cppbuiltin.cc (c_cpp_builtins): Bump __cpp_constexpr
1131 value from 202207L to 202211L.
1133 2022-11-19 Jeff Chapman II <jchapman@lock3software.com>
1134 Andrew Sutton <asutton@lock3software.com>
1135 Andrew Marmaduke <amarmaduke@lock3software.com>
1136 Michael Lopez <mlopez@lock3software.com>
1137 Jason Merrill <jason@redhat.com>
1139 * c.opt: Add contracts flags.
1140 * c-cppbuiltin.cc (c_cpp_builtins): Add contracts feature-test
1143 2022-11-16 Marek Polacek <polacek@redhat.com>
1146 * c-cppbuiltin.cc (c_cpp_builtins): Update value of __cpp_constexpr for
1148 * c-opts.cc (c_common_post_options): Set warn_invalid_constexpr
1149 depending on cxx_dialect.
1150 * c.opt (Winvalid-constexpr): New option.
1152 2022-11-16 Jakub Jelinek <jakub@redhat.com>
1154 * c-common.def (CONCEPT_DECL): New tree, moved here from
1156 * c-common.cc (c_common_init_ts): Handle CONCEPT_DECL.
1157 * c-attribs.cc (handle_deprecated_attribute): Allow deprecated
1158 attribute on CONCEPT_DECL.
1160 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
1162 * c-opts.cc (c_finish_options): Use special_fname_builtin () rather
1163 than a hard-coded string.
1165 2022-11-15 Jakub Jelinek <jakub@redhat.com>
1167 * c-cppbuiltin.cc (c_cpp_builtins): Bump C++23
1168 __cpp_multidimensional_subscript macro value to 202211L.
1170 2022-11-15 Patrick Palka <ppalka@redhat.com>
1173 * c-lex.cc (c_common_has_attribute): Return 1 for init_priority
1174 iff SUPPORTS_INIT_PRIORITY.
1176 2022-11-14 Martin Liska <mliska@suse.cz>
1179 2022-11-09 Martin Liska <mliska@suse.cz>
1181 * c-target.def: Port to RST.
1183 2022-11-12 Joseph Myers <joseph@codesourcery.com>
1185 * c-common.cc (c_common_reswords): Use D_C2X instead of D_CXXONLY.
1187 2022-11-11 Jonathan Wakely <jwakely@redhat.com>
1190 * c-pragma.cc (handle_pragma_ignore): New function.
1191 (init_pragma): Register region and endregion pragmas.
1193 2022-11-09 Martin Liska <mliska@suse.cz>
1195 * c-target.def: Port to RST.
1197 2022-11-05 Lewis Hyatt <lhyatt@gmail.com>
1199 PR preprocessor/55971
1200 * c-ppoutput.cc (adjust_for_newlines): Update comment.
1202 2022-11-03 Jason Merrill <jason@redhat.com>
1204 * c-opts.cc (c_common_post_options): -fconcepts no longer implies
1205 -fconcepts-ts before C++20.
1207 2022-10-28 Joseph Myers <joseph@codesourcery.com>
1209 * c-common.cc (def_fn_type): Call build_function_type for
1210 zero-argument variable-argument function.
1211 (c_common_nodes_and_builtins): Build default_function_type with
1212 build_function_type.
1213 * c.opt (fallow-parameterless-variadic-functions): Mark as ignored
1216 2022-10-28 Joseph Myers <joseph@codesourcery.com>
1219 * c-common.h (ENUM_UNDERLYING_TYPE, ENUM_FIXED_UNDERLYING_TYPE_P):
1220 New. Moved from cp/cp-tree.h.
1221 * c-warn.cc (warnings_for_convert_and_check): Do not consider
1222 conversions to enum with underlying type bool to overflow.
1224 2022-10-26 Marek Polacek <polacek@redhat.com>
1227 * c.opt (Wdangling-reference): New.
1229 2022-10-19 Joseph Myers <joseph@codesourcery.com>
1231 * c-format.h (enum format_lengths): Add FMT_LEN_w8, FMT_LEN_w16,
1232 FMT_LEN_w32, FMT_LEN_w64, FMT_LEN_wf8, FMT_LEN_wf16, FMT_LEN_wf32
1234 (NOARGUMENTS, NOLENGTHS): Update definitions.
1235 (T_I8, T2X_I8, T_I16, T2X_I16, T_I32, T2X_I32, T_I64, T2X_I64)
1236 (T_U8, T2X_U8, T_U16, T2X_U16, T_U32, T2X_U32, T_U64, T2X_U64)
1237 (T_IF8, T2X_IF8, T_IF16, T2X_IF16, T_IF32, T2X_IF32, T_IF64)
1238 (T2X_IF64, T_UF8, T2X_UF8, T_UF16, T2X_UF16, T_UF32, T2X_UF32)
1239 (T_UF64, T2X_UF64): New macros.
1240 * c-format.cc (printf_length_specs, scanf_length_specs): Add wN
1241 and wfN length modifiers.
1242 (print_char_table, scan_char_table): Add entries using wN and wfN
1245 2022-10-18 Joseph Myers <joseph@codesourcery.com>
1248 * c-common.cc (c_common_type_for_size): Add fallback to
1249 widest_unsigned_literal_type_node or
1250 widest_integer_literal_type_node for precision that may not
1251 exactly match the precision of those types.
1253 2022-10-14 Jakub Jelinek <jakub@redhat.com>
1255 * c-cppbuiltin.cc (c_cpp_builtins): If bfloat16_type_node,
1256 predefine __BFLT16_*__ macros and for C++23 also
1257 __STDCPP_BFLOAT16_T__. Predefine bfloat16_type_node related
1258 macros for -fbuilding-libgcc.
1259 * c-lex.cc (interpret_float): Handle CPP_N_BFLOAT16.
1261 2022-10-14 Jakub Jelinek <jakub@redhat.com>
1265 * c-common.def (EXCESS_PRECISION_EXPR): Remove comment part about
1266 the tree being specific to C/ObjC.
1267 * c-opts.cc (c_common_post_options): Handle flag_excess_precision
1268 in C++ the same as in C.
1269 * c-lex.cc (interpret_float): Set const_type to excess_precision ()
1272 2022-10-13 Joseph Myers <joseph@codesourcery.com>
1274 * c-cppbuiltin.cc (builtin_define_float_constants): Do not use
1275 value 2 for *_IS_IEC_60559.
1277 2022-10-12 Lewis Hyatt <lhyatt@gmail.com>
1279 PR preprocessor/60014
1280 PR preprocessor/60723
1281 * c-ppoutput.cc (class token_streamer): Remove member
1282 line_marker_emitted to...
1283 (token_streamer::stream): ...a local variable here. Set
1284 print.prev_was_system_token on all code paths.
1286 2022-10-10 Nathan Sidwell <nathan@acm.org>
1288 * c-opts.cc (c_common_post_options): Bump abi to 18.
1290 2022-10-10 Marek Polacek <polacek@redhat.com>
1293 * c-pretty-print.cc (pp_c_specifier_qualifier_list): Print only GNU
1295 (c_pretty_printer::direct_abstract_declarator): Print the standard [[]]
1297 (pp_c_attributes): Remove.
1298 (pp_c_attributes_display): Print the [[]] form if appropriate. Use
1299 get_attribute_name. Don't print a trailing space when printing the
1301 * c-pretty-print.h (pp_c_attributes): Remove.
1303 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
1305 * c-attribs.cc (handle_strict_flex_array_attribute): New function.
1306 (c_common_attribute_table): New item for strict_flex_array.
1307 * c.opt: (fstrict-flex-arrays): New option.
1308 (fstrict-flex-arrays=): New option.
1310 2022-10-07 Martin Liska <mliska@suse.cz>
1312 * name-hint.h: Use std::move.
1314 2022-10-07 Jakub Jelinek <jakub@redhat.com>
1316 * c-common.cc (attribute_fallthrough_p): Lookup fallthrough attribute
1317 only in gnu namespace or as standard attribute, treat fallthrough
1318 attributes in other namespaces like any other unknown attribute.
1320 2022-10-06 Joseph Myers <joseph@codesourcery.com>
1322 * c-common.cc (c_common_reswords): Mark typeof as D_EXT11. Add
1324 * c-common.h (enum rid): Add RID_TYPEOF_UNQUAL.
1325 (D_EXT11): New macro. Values of subsequent macros updated.
1327 2022-10-06 Jakub Jelinek <jakub@redhat.com>
1330 * c-attribs.cc (handle_assume_attribute): New function.
1331 (c_common_attribute_table): Add entry for assume attribute.
1332 * c-lex.cc (c_common_has_attribute): Handle
1333 __have_cpp_attribute (assume).
1335 2022-10-04 Jakub Jelinek <jakub@redhat.com>
1337 * c-omp.cc (c_omp_directives): Uncomment begin declare target
1340 2022-10-03 Patrick Palka <ppalka@redhat.com>
1342 * c-common.cc (c_common_reswords): Use RID_IS_SAME instead of
1345 2022-10-03 Joseph Myers <joseph@codesourcery.com>
1347 * c-cppbuiltin.cc (builtin_define_float_constants): Do not
1348 special-case __*_EPSILON__ setting for IBM long double for C2x.
1350 2022-09-30 Patrick Palka <ppalka@redhat.com>
1352 * c-common.cc (c_common_reswords): Use cp/cp-trait.def to handle
1354 * c-common.h (enum rid): Likewise.
1356 2022-09-29 Joseph Myers <joseph@codesourcery.com>
1358 * c-lex.cc (c_common_has_attribute): Handle noreturn attribute for
1361 2022-09-29 Patrick Palka <ppalka@redhat.com>
1363 * c-common.cc (c_common_reswords): Add __remove_cv,
1364 __remove_reference and __remove_cvref.
1365 * c-common.h (enum rid): Add RID_REMOVE_CV, RID_REMOVE_REFERENCE
1366 and RID_REMOVE_CVREF.
1368 2022-09-27 Marek Polacek <polacek@redhat.com>
1372 * c-cppbuiltin.cc (c_cpp_builtins): Define __cpp_implicit_move.
1374 2022-09-27 Marek Polacek <polacek@redhat.com>
1376 * c-format.cc (c_keywords): Drop nothrow.
1378 2022-09-27 Jakub Jelinek <jakub@redhat.com>
1381 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
1382 __cpp_static_call_operator=202207L for C++23.
1384 2022-09-27 Jakub Jelinek <jakub@redhat.com>
1386 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ASSUME,
1387 PRAGMA_OMP_ASSUMES and PRAGMA_OMP_BEGIN. Rename
1388 PRAGMA_OMP_END_DECLARE_TARGET to PRAGMA_OMP_END.
1389 * c-pragma.cc (omp_pragmas): Add assumes and begin.
1390 For end rename PRAGMA_OMP_END_DECLARE_TARGET to PRAGMA_OMP_END.
1391 (omp_pragmas_simd): Add assume.
1392 * c-common.h (c_omp_directives): Declare.
1393 * c-omp.cc (omp_directives): Rename to ...
1394 (c_omp_directives): ... this. No longer static. Uncomment
1395 assume, assumes, begin assumes and end assumes entries.
1396 In end declare target entry rename PRAGMA_OMP_END_DECLARE_TARGET
1398 (c_omp_categorize_directive): Adjust for omp_directives to
1399 c_omp_directives renaming.
1401 2022-09-27 Jakub Jelinek <jakub@redhat.com>
1405 * c-common.cc (c_common_reswords): Change _Float{16,32,64,128} and
1406 _Float{32,64,128}x flags from D_CONLY to 0.
1407 (shorten_binary_op): Punt if common_type returns error_mark_node.
1408 (shorten_compare): Likewise.
1409 (c_common_nodes_and_builtins): For C++ record _Float{16,32,64,128}
1410 and _Float{32,64,128}x builtin types if available. For C++
1411 clear float128t_type_node.
1412 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
1413 __STDCPP_FLOAT{16,32,64,128}_T__ for C++23 if supported.
1414 * c-lex.cc (interpret_float): For q/Q suffixes prefer
1415 float128t_type_node over float128_type_node. Allow
1416 {f,F}{16,32,64,128} suffixes for C++ if supported with pedwarn
1417 for C++20 and older. Allow {f,F}{32,64,128}x suffixes for C++
1418 with pedwarn. Don't call excess_precision_type for C++.
1420 2022-09-26 Marek Polacek <polacek@redhat.com>
1423 * c-cppbuiltin.cc (c_cpp_builtins): Update value of __cpp_char8_t
1426 2022-09-23 Marek Polacek <polacek@redhat.com>
1429 * c-common.cc (c_common_reswords): Add __is_convertible and
1430 __is_nothrow_convertible.
1431 * c-common.h (enum rid): Add RID_IS_CONVERTIBLE and
1432 RID_IS_NOTHROW_CONVERTIBLE.
1434 2022-09-22 David Malcolm <dmalcolm@redhat.com>
1437 * c-warn.cc (check_for_xor_used_as_pow): Don't try checking
1438 values that don't fit in uhwi.
1440 2022-09-15 Richard Biener <rguenther@suse.de>
1442 * c-common.h (build_void_list_node): Remove.
1443 * c-common.cc (c_common_nodes_and_builtins): Do not initialize
1446 2022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
1448 * c-format.cc (convert_format_name_to_system_name): Fix warning.
1450 2022-09-07 Joseph Myers <joseph@codesourcery.com>
1452 * c-common.cc (c_common_reswords): Use D_C2X instead of D_CXXONLY
1453 for alignas, alignof, bool, false, static_assert, thread_local and
1456 2022-09-07 Jakub Jelinek <jakub@redhat.com>
1458 * c.opt (Winvalid-utf8): Use ObjC instead of objC. Remove
1459 " in comments" from description.
1460 (Wunicode): New option.
1462 2022-09-06 Jakub Jelinek <jakub@redhat.com>
1465 * c-omp.cc (c_omp_split_clauses): Handle OMP_CLAUSE_DOACROSS.
1467 2022-09-03 Jakub Jelinek <jakub@redhat.com>
1469 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DOACROSS.
1470 * c-omp.cc (c_finish_omp_depobj): Check also for OMP_CLAUSE_DOACROSS
1471 clause and diagnose it. Don't handle OMP_CLAUSE_DEPEND_SOURCE and
1472 OMP_CLAUSE_DEPEND_SINK. Assert kind is not OMP_CLAUSE_DEPEND_INVALID.
1474 2022-09-02 David Malcolm <dmalcolm@redhat.com>
1477 * c-common.h (check_for_xor_used_as_pow): New decl.
1478 * c-lex.cc (c_lex_with_flags): Add DECIMAL_INT to flags as appropriate.
1479 * c-warn.cc (check_for_xor_used_as_pow): New.
1480 * c.opt (Wxor-used-as-pow): New.
1482 2022-09-01 Jason Merrill <jason@redhat.com>
1484 * c-common.cc (c_common_nodes_and_builtins): Set TREE_STRING_FLAG on
1486 (braced_list_to_string): Check for char-sized elements.
1488 2022-09-01 Jakub Jelinek <jakub@redhat.com>
1491 * c.opt (-Winvalid-utf8): New warning.
1492 * c-opts.cc (c_common_handle_option) <case OPT_finput_charset_>:
1493 Set cpp_opts->cpp_input_charset_explicit.
1494 (c_common_post_options): If -finput-charset=UTF-8 is explicit
1495 in C++23, enable -Winvalid-utf8 by default and if -pedantic
1496 or -pedantic-errors, make it a pedwarn.
1498 2022-08-31 Joseph Myers <joseph@codesourcery.com>
1500 * c-attribs.cc (handle_deprecated_attribute): Check and pedwarn
1502 * c-common.cc (c_add_case_label): Add argument ATTRS. Call
1504 * c-common.h (do_case, c_add_case_label): Update declarations.
1505 * c-lex.cc (c_common_has_attribute): For C, produce a result of
1506 201910 for fallthrough and 202106 for maybe_unused.
1508 2022-08-26 Marek Polacek <polacek@redhat.com>
1511 * c.opt (Wself-move): New option.
1513 2022-08-26 Jakub Jelinek <jakub@redhat.com>
1515 * c-common.cc (check_builtin_function_arguments): Handle
1516 BUILT_IN_ISSIGNALING.
1518 2022-08-26 Jakub Jelinek <jakub@redhat.com>
1521 * c-cppbuiltin.cc (c_cpp_builtins): Predefine
1522 __cpp_named_character_escapes to 202207L.
1524 2022-08-25 Marek Polacek <polacek@redhat.com>
1526 * c-common.cc (c_common_reswords): Enable nullptr in C2X.
1527 (c_common_nodes_and_builtins): Create the built-in node for nullptr.
1528 * c-common.h (enum c_tree_index): Add CTI_NULLPTR, CTI_NULLPTR_TYPE.
1529 (struct c_common_resword): Resize the disable member.
1531 (nullptr_node): Define.
1532 (nullptr_type_node): Define.
1533 (NULLPTR_TYPE_P): Define.
1534 * c-pretty-print.cc (c_pretty_printer::simple_type_specifier): Handle
1536 (c_pretty_printer::direct_abstract_declarator): Likewise.
1537 (c_pretty_printer::constant): Likewise.
1539 2022-08-16 Tom Honermann <tom@honermann.net>
1542 * c-opts.cc (c_common_post_options): Disable -Wc++20-compat
1543 diagnostics in C++20 and later.
1544 * c.opt (Wc++20-compat): Enable hooks for the preprocessor.
1546 2022-08-11 Marek Polacek <polacek@redhat.com>
1548 PR middle-end/102633
1549 * c-gimplify.cc (c_gimplify_expr) <case DECL_EXPR>: Don't call
1550 suppress_warning here.
1552 2022-08-08 Tom Honermann <tom@honermann.net>
1554 PR preprocessor/106426
1555 * c-opts.cc (c_common_post_options): Assign cpp_opts->unsigned_utf8char
1556 subject to -fchar8_t, -fsigned-char, and/or -funsigned-char.
1558 2022-08-08 Tom Honermann <tom@honermann.net>
1560 * c-lex.cc (lex_string, lex_charconst): Use char8_t as the type
1561 of CPP_UTF8CHAR and CPP_UTF8STRING when char8_t support is
1563 * c-opts.cc (c_common_post_options): Set flag_char8_t if
1566 2022-07-31 Lewis Hyatt <lhyatt@gmail.com>
1569 * c-common.h: Rename global done_lexing to
1570 override_libcpp_locations.
1571 * c-common.cc (c_cpp_diagnostic): Likewise.
1572 * c-opts.cc (c_common_finish): Set override_libcpp_locations
1573 (formerly done_lexing) immediately prior to calling cpp_finish ().
1575 2022-07-27 Lewis Hyatt <lhyatt@gmail.com>
1577 * c-ppoutput.cc (token_streamer::stream): Update input_location
1578 prior to streaming each token.
1580 2022-07-23 Immad Mir <mirimmad@outlook.com>
1582 * c-attribs.cc: (c_common_attribute_table): add three new attributes
1583 namely: fd_arg, fd_arg_read and fd_arg_write.
1584 (handle_fd_arg_attribute): New.
1586 2022-07-15 Marek Polacek <polacek@redhat.com>
1589 * c-common.cc (c_common_reswords): Add
1590 __reference_constructs_from_temporary and
1591 __reference_converts_from_temporary.
1592 * c-common.h (enum rid): Add RID_REF_CONSTRUCTS_FROM_TEMPORARY and
1593 RID_REF_CONVERTS_FROM_TEMPORARY.
1595 2022-07-15 Jonathan Wakely <jwakely@redhat.com>
1597 * c-format.cc (class range_label_for_format_type_mismatch):
1598 Adjust to new label_text API.
1600 2022-07-11 Lewis Hyatt <lhyatt@gmail.com>
1602 PR preprocessor/106252
1603 * c-pragma.cc (handle_pragma_diagnostic_impl): Don't look up the
1604 option argument prior to verifying the option was found.
1606 2022-07-07 David Malcolm <dmalcolm@redhat.com>
1608 * c-format.cc (range_label_for_format_type_mismatch::get_text):
1609 Update for removal of label_text::maybe_free in favor of automatic
1612 2022-07-06 Lewis Hyatt <lhyatt@gmail.com>
1614 PR preprocessor/53920
1616 * c-common.cc (c_option_is_from_cpp_diagnostics): New function.
1617 * c-common.h (c_option_is_from_cpp_diagnostics): Declare.
1618 (c_pp_stream_token): Declare.
1619 * c-ppoutput.cc (init_pp_output): Refactor logic about skipping
1621 (should_output_pragmas): ...here. New function.
1622 (token_streamer::stream): Support handling early pragmas.
1623 (do_line_change): Likewise.
1624 (c_pp_stream_token): New function.
1625 * c-pragma.cc (struct pragma_diagnostic_data): New helper class.
1626 (pragma_diagnostic_lex_normal): New function. Moved logic for
1627 interpreting GCC diagnostic pragmas here.
1628 (pragma_diagnostic_lex_pp): New function for parsing diagnostic pragmas
1629 directly from libcpp.
1630 (handle_pragma_diagnostic): Refactor into helper function...
1631 (handle_pragma_diagnostic_impl): ...here. New function.
1632 (handle_pragma_diagnostic_early): New function.
1633 (handle_pragma_diagnostic_early_pp): New function.
1634 (struct pragma_ns_name): Renamed to...
1635 (struct pragma_pp_data): ...this. Add new "early_handler" member.
1636 (c_register_pragma_1): Support early pragmas in the preprocessor.
1637 (c_register_pragma_with_early_handler): New function.
1638 (c_register_pragma): Support the new early handlers in struct
1639 internal_pragma_handler.
1640 (c_register_pragma_with_data): Likewise.
1641 (c_register_pragma_with_expansion): Likewise.
1642 (c_register_pragma_with_expansion_and_data): Likewise.
1643 (c_invoke_early_pragma_handler): New function.
1644 (c_pp_invoke_early_pragma_handler): New function.
1645 (init_pragma): Add early pragma support for diagnostic pragmas.
1646 * c-pragma.h (struct internal_pragma_handler): Add new early handler
1648 (c_register_pragma_with_early_handler): Declare.
1649 (c_invoke_early_pragma_handler): Declare.
1650 (c_pp_invoke_early_pragma_handler): Declare.
1652 2022-07-05 Marek Polacek <polacek@redhat.com>
1655 * c-format.cc (check_format_arg): Don't emit -Wformat warnings with
1658 2022-07-01 Marek Polacek <polacek@redhat.com>
1661 * c-common.h (enum rid): Update RID_LAST_CXX20.
1663 2022-06-30 Jonathan Wakely <jwakely@redhat.com>
1665 * known-headers.cc (get_stdlib_header_for_name): Add <time.h>
1668 2022-06-24 Jason Merrill <jason@redhat.com>
1672 * c.opt (Woverloaded-virtual): Add levels, include in -Wall.
1674 2022-06-18 Jakub Jelinek <jakub@redhat.com>
1676 * c-ubsan.cc (ubsan_instrument_division, ubsan_instrument_shift):
1677 Use flag_sanitize_trap & SANITIZE_??? instead of
1678 flag_sanitize_undefined_trap_on_error. If 2 sanitizers are involved
1679 and flag_sanitize_trap differs for them, emit __builtin_trap only
1680 for the comparison where trap is requested.
1681 (ubsan_instrument_vla, ubsan_instrument_return): Use
1682 lag_sanitize_trap & SANITIZE_??? instead of
1683 flag_sanitize_undefined_trap_on_error.
1685 2022-06-13 Jason Merrill <jason@redhat.com>
1687 * c-ubsan.cc (ubsan_instrument_return): Use BUILTINS_LOCATION.
1689 2022-05-27 Marek Polacek <polacek@redhat.com>
1692 * c-attribs.cc (get_priority): Check FUNCTION_DECL.
1694 2022-05-27 Jakub Jelinek <jakub@redhat.com>
1696 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ENTER.
1698 2022-05-20 David Malcolm <dmalcolm@redhat.com>
1700 * c-format.cc: Replace uses of "FINAL" and "OVERRIDE" with "final"
1702 * c-pretty-print.h: Likewise.
1704 2022-05-18 Marek Polacek <polacek@redhat.com>
1707 * c.opt (Wenum-int-mismatch): New.
1709 2022-05-18 Marek Polacek <polacek@redhat.com>
1712 * c-warn.cc (c_do_switch_warnings): Don't warn about unhandled
1713 enumerator when it was marked with attribute unused.
1715 2022-05-18 Eric Botcazou <ebotcazou@adacore.com>
1717 * c-ada-spec.cc (dump_ada_node) <COMPLEX_TYPE>: Deal with usual
1718 floating-point complex types.
1719 <POINTER_TYPE>: Do not use limited_with clause if the designated
1720 type is a scalar type.
1722 2022-05-17 Jakub Jelinek <jakub@redhat.com>
1724 * c-omp.cc (c_finish_omp_depobj): Handle
1725 OMP_CLAUSE_DEPEND_INOUTSET.
1727 2022-05-16 Jason Merrill <jason@redhat.com>
1730 * c-attribs.cc (handle_mode_attribute): Don't fix broken typedefs
1733 2022-05-16 Martin Liska <mliska@suse.cz>
1735 * c-common.cc (ARRAY_SIZE): Use ARRAY_SIZE.
1736 (c_common_nodes_and_builtins): Likewise.
1737 * c-format.cc (check_tokens): Likewise.
1738 (check_plain): Likewise.
1739 * c-pragma.cc (c_pp_lookup_pragma): Likewise.
1740 (init_pragma): Likewise.
1741 * known-headers.cc (get_string_macro_hint): Likewise.
1742 (get_stdlib_header_for_name): Likewise.
1743 * c-attribs.cc: Likewise.
1745 2022-05-13 Richard Biener <rguenther@suse.de>
1747 * c-omp.cc: Remove gimple-fold.h include.
1749 2022-05-12 Jakub Jelinek <jakub@redhat.com>
1751 * c-common.h (enum rid): Add RID_OMP_ALL_MEMORY.
1752 * c-omp.cc (c_finish_omp_depobj): Don't build_fold_addr_expr
1753 if null_pointer_node.
1755 2022-05-11 Martin Liska <mliska@suse.cz>
1758 * c-opts.cc (c_common_handle_option): Change option name.
1759 * c.opt: Remove Joined and use Separate option.
1761 2022-05-09 Alex Coplan <alex.coplan@arm.com>
1763 * c-common.h (get_dump_info): Delete.
1764 * c-gimplify.cc (c_genericize): Get TDI_original dump file info
1765 from the global dump_manager instead of the (now obsolete)
1767 * c-opts.cc (original_dump_file): Delete.
1768 (original_dump_flags): Delete.
1769 (c_common_parse_file): Switch to using global dump_manager to
1770 manage the original dump file; fix leak of dump file.
1771 (get_dump_info): Delete.
1773 2022-05-07 Marek Polacek <polacek@redhat.com>
1777 * c-attribs.cc (positional_argument): Pass POS by reference. Deal
1778 with FN being either a function declaration or function type. Use
1779 maybe_adjust_arg_pos_for_attribute.
1780 * c-common.cc (check_function_arguments): Maybe pass FNDECL down to
1781 check_function_format.
1782 * c-common.h (maybe_adjust_arg_pos_for_attribute): Declare.
1783 (positional_argument): Adjust.
1784 * c-format.cc (get_constant): Rename to ...
1785 (validate_constant): ... this. Take EXPR by reference. Return bool
1787 (handle_format_arg_attribute): Don't overwrite FORMAT_NUM_EXPR by the
1788 return value of validate_constant.
1789 (decode_format_attr): Don't overwrite FORMAT_NUM_EXPR and
1790 FIRST_ARG_NUM_EXPR by the return value of validate_constant.
1791 (check_function_format): Adjust a parameter name.
1792 (handle_format_attribute): Maybe pass FNDECL down to decode_format_attr.
1794 2022-05-04 Marek Polacek <polacek@redhat.com>
1796 * c-warn.cc (warnings_for_convert_and_check): Convert constants of type
1799 2022-04-30 Jason Merrill <jason@redhat.com>
1802 * c-attribs.cc (handle_mode_attribute): Copy attributes, aligned,
1804 * c-common.cc (set_underlying_type): Add assert.
1806 2022-04-26 Patrick Palka <ppalka@redhat.com>
1809 * c-common.cc (verify_tree) [restart]: Move up to before the
1812 2022-04-11 Jakub Jelinek <jakub@redhat.com>
1815 * c-common.cc (c_common_nodes_and_builtins): After registering __int%d
1816 and __int%d__ builtin types, initialize corresponding ridpointers
1819 2022-03-30 Marek Polacek <polacek@redhat.com>
1822 * c-warn.cc (conversion_warning) <case COND_EXPR>: Don't call
1823 conversion_warning when OP1 is null.
1825 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
1827 * c.opt (Wc++11-extensions, Wc++14-extensions, Wc++17-extensions)
1828 (Wc++20-extensions, Wc++23-extensions): Remove 'LangEnabledBy'
1831 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
1833 * c.opt (Wuse-after-free): Remove.
1835 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
1837 * c.opt (Warray-bounds): Remove.
1839 2022-03-26 Thomas Schwinge <thomas@codesourcery.com>
1841 * c.opt: Properly quote comment.
1843 2022-03-25 Eric Botcazou <ebotcazou@adacore.com>
1845 * c-ada-spec.cc (dump_ada_import): Deal with the "section" attribute
1846 (dump_ada_node) <POINTER_TYPE>: Do not modify and pass the name, but
1847 the referenced type instead. Deal with the anonymous original type
1848 of a typedef'ed type. In the actual access case, follow the chain
1849 of external subtypes.
1850 <TYPE_DECL>: Tidy up control flow.
1852 2022-03-21 Qian Jianhua <qianjh@cn.fujitsu.com>
1854 * c-ada-spec.cc: Change array length
1856 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
1858 * c-common.cc (c_family_tests): Call the new tests.
1859 * c-common.h (c_diagnostic_tests): Declare.
1860 (c_opt_problem_cc_tests): Likewise.
1862 2022-03-19 Jakub Jelinek <jakub@redhat.com>
1865 * c-pretty-print.cc (c_fold_indirect_ref_for_warn): For C++ don't
1866 return COMPONENT_REFs with FIELD_DECLs whose containing scope can't
1869 2022-03-16 Christophe Lyon <christophe.lyon@arm.com>
1870 Roger Sayle <roger@nextmovesoftware.com>
1873 * c-attribs.cc (decl_or_type_attrs): Add error_mark_node check.
1875 2022-03-16 Patrick Palka <ppalka@redhat.com>
1878 * c.opt: Add -ffold-simple-inlines.
1880 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
1882 * c-target.def (check_string_object_format_arg): Fix description typo.
1884 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
1887 * c-common.h (c_omp_map_clause_name): Remove.
1888 * c-omp.cc (c_omp_map_clause_name): Remove.
1890 2022-03-09 Jakub Jelinek <jakub@redhat.com>
1893 * c-opts.cc (c_common_post_options): Don't enable
1894 -Wshift-negative-value from -Wextra for C++20 or later.
1895 * c-ubsan.cc (ubsan_instrument_shift): Adjust comments.
1896 * c-warn.cc (maybe_warn_shift_overflow): Use TYPE_OVERFLOW_WRAPS
1897 instead of TYPE_UNSIGNED.
1899 2022-03-07 Jakub Jelinek <jakub@redhat.com>
1901 * c-attribs.cc: Fix up duplicated word issue in a comment.
1903 2022-03-01 Martin Liska <mliska@suse.cz>
1906 * c-attribs.cc (handle_target_clones_attribute): Use
1907 get_target_clone_attr_len and report warning soon.
1909 2022-02-17 Jonathan Wakely <jwakely@redhat.com>
1911 * c-pragma.cc (handle_pragma_pack): Remove parameter name.
1912 (handle_pragma_weak): Likewise.
1913 (handle_pragma_scalar_storage_order): Likewise.
1914 (handle_pragma_redefine_extname): Likewise.
1915 (handle_pragma_visibility): Likewise.
1916 (handle_pragma_diagnostic): Likewise.
1917 (handle_pragma_target): Likewise.
1918 (handle_pragma_optimize): Likewise.
1919 (handle_pragma_push_options): Likewise.
1920 (handle_pragma_pop_options): Likewise.
1921 (handle_pragma_reset_options): Likewise.
1922 (handle_pragma_message): Likewise.
1923 (handle_pragma_float_const_decimal64): Likewise.
1925 2022-02-16 Jakub Jelinek <jakub@redhat.com>
1928 * c-omp.cc (c_finish_omp_atomic): For MIN_EXPR/MAX_EXPR, try first
1929 build_binary_op with LT_EXPR and only if that doesn't return
1930 error_mark_node call build_modify_expr.
1932 2022-02-16 Jakub Jelinek <jakub@redhat.com>
1935 * c-common.cc (shorten_compare): Convert original arguments to
1936 the original *restype_ptr when mixing binary and decimal float.
1938 2022-02-14 Richard Biener <rguenther@suse.de>
1941 * c-pretty-print.cc (c_pretty_printer::postfix_expression): Handle
1942 internal function calls.
1944 2022-02-11 Richard Biener <rguenther@suse.de>
1946 * c-attribs.cc (c_common_attribute_table): Add entry for
1948 (handle_vector_mask_attribute): New.
1950 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
1952 * c-omp.cc (c_omp_split_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
1953 * c-pragma.h (enum pragma_kind): Added 5.1 in comment.
1954 (enum pragma_omp_clause): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR.
1956 2022-02-09 Jason Merrill <jason@redhat.com>
1958 * c-cppbuiltin.cc (c_cpp_builtins): Update values
1959 of __cpp_constexpr and __cpp_concepts for C++20.
1961 2022-01-24 Marek Polacek <polacek@redhat.com>
1963 PR preprocessor/104030
1964 * c.opt (Wbidi-chars): Mark as EnumSet. Also accept =ucn.
1966 2022-01-21 Jakub Jelinek <jakub@redhat.com>
1969 * c-common.h (check_function_arguments_recurse): Add for_format
1971 * c-common.cc (check_function_nonnull): Pass false to
1972 check_function_arguments_recurse's last argument.
1973 (check_function_arguments_recurse): Add for_format argument,
1974 if true, don't stop on warning_suppressed_p.
1975 * c-format.cc (check_format_info): Pass true to
1976 check_function_arguments_recurse's last argument.
1978 2022-01-19 David Malcolm <dmalcolm@redhat.com>
1980 * c-common.cc (c_common_c_tests): Rename to...
1981 (c_common_cc_tests): ...this.
1982 (c_family_tests): Update calls for .c to .cc renaming.
1983 * c-common.h (c_format_c_tests): Rename to...
1984 (c_format_cc_tests): ...this.
1985 (c_indentation_c_tests): Rename to...
1986 (c_indentation_cc_tests): ...this.
1987 (c_pretty_print_c_tests): Rename to...
1988 (c_pretty_print_cc_tests): ...this.
1989 * c-format.cc (c_format_c_tests): Rename to...
1990 (c_format_cc_tests): ...this.
1991 * c-indentation.cc (c_indentation_c_tests): Rename to...
1992 (c_indentation_cc_tests): ...this.
1993 * c-pretty-print.cc (c_pretty_print_c_tests): Rename to...
1994 (c_pretty_print_cc_tests): ...this.
1996 2022-01-17 Martin Liska <mliska@suse.cz>
1998 * c-ada-spec.cc: Rename .c names to .cc.
1999 * c-ada-spec.h: Likewise.
2000 * c-common.cc (c_build_vec_convert): Likewise.
2001 (warning_candidate_p): Likewise.
2002 * c-common.h (enum rid): Likewise.
2003 (build_real_imag_expr): Likewise.
2004 (finish_label_address_expr): Likewise.
2005 (c_get_substring_location): Likewise.
2006 (c_build_bind_expr): Likewise.
2007 (conflict_marker_get_final_tok_kind): Likewise.
2008 (c_parse_error): Likewise.
2009 (check_missing_format_attribute): Likewise.
2010 (invalid_array_size_error): Likewise.
2011 (warn_for_multistatement_macros): Likewise.
2012 (build_attr_access_from_parms): Likewise.
2013 * c-cppbuiltin.cc (c_cpp_builtins): Likewise.
2014 * c-format.cc: Likewise.
2015 * c-gimplify.cc (c_gimplify_expr): Likewise.
2016 * c-indentation.h: Likewise.
2017 * c-objc.h (objc_prop_attr_kind_for_rid): Likewise.
2018 * c-omp.cc (c_omp_predetermined_mapping): Likewise.
2019 * c-opts.cc (c_common_post_options): Likewise.
2020 (set_std_cxx23): Likewise.
2021 * c-pragma.cc (handle_pragma_redefine_extname): Likewise.
2022 * c-pretty-print.h: Likewise.
2024 2022-01-17 Martin Liska <mliska@suse.cz>
2026 * c-ada-spec.c: Moved to...
2027 * c-ada-spec.cc: ...here.
2028 * c-attribs.c: Moved to...
2029 * c-attribs.cc: ...here.
2030 * c-common.c: Moved to...
2031 * c-common.cc: ...here.
2032 * c-cppbuiltin.c: Moved to...
2033 * c-cppbuiltin.cc: ...here.
2034 * c-dump.c: Moved to...
2035 * c-dump.cc: ...here.
2036 * c-format.c: Moved to...
2037 * c-format.cc: ...here.
2038 * c-gimplify.c: Moved to...
2039 * c-gimplify.cc: ...here.
2040 * c-indentation.c: Moved to...
2041 * c-indentation.cc: ...here.
2042 * c-lex.c: Moved to...
2043 * c-lex.cc: ...here.
2044 * c-omp.c: Moved to...
2045 * c-omp.cc: ...here.
2046 * c-opts.c: Moved to...
2047 * c-opts.cc: ...here.
2048 * c-pch.c: Moved to...
2049 * c-pch.cc: ...here.
2050 * c-ppoutput.c: Moved to...
2051 * c-ppoutput.cc: ...here.
2052 * c-pragma.c: Moved to...
2053 * c-pragma.cc: ...here.
2054 * c-pretty-print.c: Moved to...
2055 * c-pretty-print.cc: ...here.
2056 * c-semantics.c: Moved to...
2057 * c-semantics.cc: ...here.
2058 * c-ubsan.c: Moved to...
2059 * c-ubsan.cc: ...here.
2060 * c-warn.c: Moved to...
2061 * c-warn.cc: ...here.
2062 * cppspec.c: Moved to...
2063 * cppspec.cc: ...here.
2064 * stub-objc.c: Moved to...
2065 * stub-objc.cc: ...here.
2067 2022-01-15 Martin Sebor <msebor@redhat.com>
2070 * c.opt (-Wdangling-pointer): New option.
2072 2022-01-15 Martin Sebor <msebor@redhat.com>
2074 PR tree-optimization/80532
2075 * c.opt (-Wuse-after-free): New options.
2077 2022-01-14 David Malcolm <dmalcolm@redhat.com>
2079 * c-attribs.c (c_common_attribute_table): Add "tainted_args".
2080 (handle_tainted_args_attribute): New.
2082 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
2083 Jason Merrill <jason@redhat.com>
2086 * c.opt: Added -Wmissing-template-keyword.
2088 2022-01-13 Richard Biener <rguenther@suse.de>
2091 * c-common.c (c_common_mark_addressable_vec): Handle TARGET_EXPR.
2093 2022-01-12 Martin Liska <mliska@suse.cz>
2096 * c-attribs.c (handle_optimize_attribute): Do not call
2097 cl_optimization_compare if we seen an error.
2099 2022-01-11 Jakub Jelinek <jakub@redhat.com>
2103 * c-warn.c (conversion_warning): Handle BIT_AND_EXPR, BIT_IOR_EXPR
2106 2022-01-10 Richard Biener <rguenther@suse.de>
2108 PR middle-end/101530
2109 * c-common.c (c_build_shufflevector): Wrap the BIT_FIELD_REF
2110 in a TARGET_EXPR to force a temporary.
2112 2022-01-06 Marek Polacek <polacek@redhat.com>
2115 * c-pragma.c (handle_pragma_scalar_storage_order): Use %< %> in
2116 diagnostic messages.
2117 (handle_pragma_diagnostic): Likewise.
2119 2022-01-03 Marek Polacek <polacek@redhat.com>
2122 * c-format.c (check_tokens): Accept "decl-specifier*".
2124 2022-01-03 Jakub Jelinek <jakub@redhat.com>
2127 * c-attribs.c (handle_non_overlapping_attribute): New function.
2128 (c_common_attribute_table): Add "non overlapping" attribute.
2130 2021-12-30 Jakub Jelinek <jakub@redhat.com>
2133 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Perform
2134 cpp_define_unused/cpp_undef calls with forced token locations
2137 2021-12-27 Patrick Palka <ppalka@redhat.com>
2140 * c-common.c (pointer_int_sum): When quiet, return
2141 error_mark_node for an incomplete pointed-to type and don't
2142 call size_in_bytes_loc.
2144 2021-12-17 Jason Merrill <jason@redhat.com>
2147 * c-opts.c (c_common_post_options): Update defaults.
2149 2021-12-16 Martin Liska <mliska@suse.cz>
2152 * c-pragma.c (handle_pragma_pop_options): Do not check
2153 global options modification when an error is seen in parsing
2154 of options (pragmas or attributes).
2156 2021-12-12 Jonathan Wakely <jwakely@redhat.com>
2158 * known-headers.cc: Define INCLUDE_MEMORY instead of
2160 * name-hint.h: Likewise.
2161 (class name_hint): Use std::unique_ptr instead of gnu::unique_ptr.
2163 2021-12-09 Jakub Jelinek <jakub@redhat.com>
2166 * c-pch.c (c_common_no_more_pch): Pass a temporary void * var
2167 with NULL value instead of NULL to host_hooks.gt_pch_use_address.
2169 2021-12-03 Jakub Jelinek <jakub@redhat.com>
2172 * c-pch.c (struct c_pch_validity): Remove pch_init member.
2173 (pch_init): Don't initialize v.pch_init.
2174 (c_common_valid_pch): Don't warn and punt if .text addresses change.
2176 2021-12-01 Jason Merrill <jason@redhat.com>
2179 * c.opt: Add -fconstexpr-fp-except.
2181 2021-11-29 Richard Biener <rguenther@suse.de>
2183 * c-format.c (check_format_string): Remove spurious
2186 2021-11-29 Richard Biener <rguenther@suse.de>
2188 * c-opts.c (c_common_post_options): Remove unreachable return.
2189 * c-pragma.c (handle_pragma_target): Likewise.
2190 (handle_pragma_optimize): Likewise.
2192 2021-11-25 Jakub Jelinek <jakub@redhat.com>
2195 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
2196 default for C++23 regardless of warn_deprecated.
2197 * c-cppbuiltin.c (c_cpp_builtins): Predefine
2198 __cpp_multidimensional_subscript=202110L for C++23.
2200 2021-11-23 Martin Sebor <msebor@redhat.com>
2203 * c.opt: Add -Winfinite-recursion.
2205 2021-11-19 Martin Sebor <msebor@redhat.com>
2209 * c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address
2210 and improve handling tof defined symbols.
2212 2021-11-19 Martin Liska <mliska@suse.cz>
2215 2021-11-18 Martin Liska <mliska@suse.cz>
2217 * c-gimplify.c (genericize_c_loop): Use option directly.
2219 2021-11-18 Matthias Kretz <m.kretz@gsi.de>
2221 * c-common.c (c_common_reswords): Add __builtin_assoc_barrier.
2222 * c-common.h (enum rid): Add RID_BUILTIN_ASSOC_BARRIER.
2224 2021-11-18 Martin Liska <mliska@suse.cz>
2226 * c-gimplify.c (genericize_c_loop): Use option directly.
2228 2021-11-17 Martin Uecker <uecker@gcc.gnu.org>
2232 * c-common.c (pointer_int_sum): Make sure pointer expressions
2233 are evaluated first when the size expression depends on for
2234 variably-modified types.
2236 2021-11-17 Marek Polacek <polacek@redhat.com>
2238 PR preprocessor/103026
2239 * c.opt (Wbidi-chars, Wbidi-chars=): New option.
2241 2021-11-16 Jason Merrill <jason@redhat.com>
2243 * c-common.c (release_tree_vector): Only cache vecs smaller than
2246 2021-11-15 Jason Merrill <jason@redhat.com>
2248 * c.opt: Add -fimplicit-constexpr.
2249 * c-cppbuiltin.c: Define __cpp_implicit_constexpr.
2250 * c-opts.c (c_common_post_options): Disable below C++14.
2252 2021-11-15 Jakub Jelinek <jakub@redhat.com>
2254 * c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_THREAD_LIMIT>:
2255 Duplicate to both OMP_TARGET and OMP_TEAMS.
2257 2021-11-10 Marek Polacek <polacek@redhat.com>
2260 * c-pragma.c (handle_pragma_diagnostic): Handle #pragma GCC diagnostic
2263 2021-11-09 David Malcolm <dmalcolm@redhat.com>
2265 * c-pragma.c (GCC_BAD_AT): New macro.
2266 (GCC_BAD2_AT): New macro.
2267 (handle_pragma_pack): Use the location of the pertinent token when
2268 issuing diagnostics about invalid constants/actions, and trailing
2270 (handle_pragma_target): Likewise for non-string "GCC option".
2271 (handle_pragma_message): Likewise for trailing junk.
2273 2021-11-03 Joseph Myers <joseph@codesourcery.com>
2276 * c-common.c (convert_and_check): Add argument init_const. Call
2277 convert_init if init_const.
2278 * c-common.h (convert_and_check): Update prototype.
2279 (convert_init): New prototype.
2281 2021-11-01 David Malcolm <dmalcolm@redhat.com>
2283 * c-lex.c (c_lex_with_flags): When complaining about non-printable
2284 CPP_OTHER tokens, set the "escape on output" flag.
2286 2021-10-27 Jakub Jelinek <jakub@redhat.com>
2288 * c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for
2290 (c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR.
2291 (c_omp_check_loop_iv): Set kind even if the iterator is non-integral.
2293 2021-10-27 Jakub Jelinek <jakub@redhat.com>
2296 * c-common.h (c_omp_check_loop_iv_exprs): Add enum tree_code argument.
2297 * c-omp.c (c_omp_check_loop_iv_r): For trees other than decls,
2298 TREE_VEC, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, POINTER_PLUS_EXPR or
2299 conversions temporarily clear the 3rd bit from d->kind while walking
2301 (c_omp_check_loop_iv_exprs): Add CODE argument. Or in 4 into data.kind
2302 if possibly non-rectangular.
2304 2021-10-21 Jakub Jelinek <jakub@redhat.com>
2307 * c-omp.c (c_omp_predefined_variable): Return true also for
2308 ubsan_create_data created artificial variables.
2310 2021-10-14 Joseph Myers <joseph@codesourcery.com>
2312 * c-format.c (printf_length_specs, scanf_length_specs)
2313 (print_char_table, scan_char_table): Support DFP formats for C2X.
2314 * c-format.h (TEX_D32, TEX_D64, TEX_D128): Remove.
2315 (T2X_D32, T2X_D64, T2X_D128): New macros.
2317 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
2319 * c-omp.c (c_omp_check_context_selector): Rename to
2320 omp_check_context_selector and move to omp-general.c.
2321 (c_omp_mark_declare_variant): Rename to omp_mark_declare_variant and
2322 move to omp-general.c.
2324 2021-10-12 Joseph Myers <joseph@codesourcery.com>
2326 * c-format.c (print_char_table): Add %b and %B formats.
2327 (scan_char_table): Add %b format.
2328 * c-format.h (T2X_UI, T2X_UL, T2X_ULL, T2X_US, T2X_UC, T2X_ST)
2329 (T2X_UPD, T2X_UIM): New macros.
2331 2021-10-12 Jakub Jelinek <jakub@redhat.com>
2333 * c-omp.c (c_finish_omp_atomic): Use
2334 clear_padding_type_may_have_padding_p.
2336 2021-10-08 Martin Liska <mliska@suse.cz>
2338 * c-opts.c (c_common_post_options): Use new macro
2341 2021-10-07 Martin Liska <mliska@suse.cz>
2343 * c-common.c (parse_optimize_options): Make
2344 save_opt_decoded_options a pointer type.
2346 2021-10-06 Jakub Jelinek <jakub@redhat.com>
2348 PR tree-optimization/102571
2349 * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
2350 padding, but the non-padding bits are contiguous set of bytes
2351 by adjusting the memcmp call arguments instead of emitting
2352 __builtin_clear_padding and then comparing all the type's bytes.
2354 2021-10-06 Jakub Jelinek <jakub@redhat.com>
2357 * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
2358 __cpp_constexpr to 202110L rather than 201907L.
2360 2021-10-04 Marek Polacek <polacek@redhat.com>
2363 * c-common.h (do_warn_array_compare): Declare.
2364 * c-warn.c (do_warn_array_compare): New.
2365 * c.opt (Warray-compare): New option.
2367 2021-10-02 Iain Sandoe <iain@sandoe.co.uk>
2369 * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
2370 NULL, this is not needed.
2372 2021-10-01 Martin Sebor <msebor@redhat.com>
2375 * c-common.c (decl_with_nonnull_addr_p): Handle members.
2376 Check and perform warning suppression.
2377 (c_common_truthvalue_conversion): Enhance warning suppression.
2379 2021-10-01 Martin Liska <mliska@suse.cz>
2382 * c-common.c (parse_optimize_options): decoded_options[0] is
2383 used for program name, so merged_decoded_options should also
2386 2021-10-01 Jakub Jelinek <jakub@redhat.com>
2387 Richard Biener <rguenther@suse.de>
2390 * c-ubsan.c (ubsan_instrument_division): Check the right
2391 flag_sanitize_recover bit, depending on which sanitization
2392 is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
2393 rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW
2394 and SANITIZE_DIVIDE is enabled, neither check is known
2395 to be false and flag_sanitize_recover bits for those two
2396 aren't the same, emit both __ubsan_handle_divrem_overflow
2397 and __ubsan_handle_divrem_overflow_abort calls.
2399 2021-10-01 Martin Liska <mliska@suse.cz>
2401 * c-common.c (parse_optimize_options): Combine optimize
2402 options with what was provided on the command line.
2404 2021-10-01 Jakub Jelinek <jakub@redhat.com>
2406 * c-omp.c (c_omp_split_clauses): Also copy
2407 OMP_CLAUSE_ORDER_REPRODUCIBLE.
2409 2021-09-27 Martin Liska <mliska@suse.cz>
2411 * c-opts.c (c_common_init_options_struct): Set also
2412 x_flag_default_complex_method.
2414 2021-09-22 Jakub Jelinek <jakub@redhat.com>
2416 * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
2418 2021-09-20 Matthias Kretz <m.kretz@gsi.de>
2420 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or
2421 undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__,
2422 __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and
2423 __ROUNDING_MATH__ according to the new optimization flags.
2425 2021-09-18 Jakub Jelinek <jakub@redhat.com>
2427 * c-omp.c (c_omp_split_clauses): Split order clause also to
2428 distribute construct. Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED.
2430 2021-09-17 Jakub Jelinek <jakub@redhat.com>
2432 * c-omp.c (c_finish_omp_atomic): Avoid creating
2433 TARGET_EXPR if test is true, use create_tmp_var_raw instead of
2434 create_tmp_var and add a zero initializer to TARGET_EXPRs that
2435 had NULL initializer. When omitting operands after v = x,
2436 use type of v rather than type of x. Fix type of vtmp
2439 2021-09-13 Jason Merrill <jason@redhat.com>
2441 * c.opt: Add -Winterference-size.
2442 * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE
2443 and __GCC_CONSTRUCTIVE_SIZE.
2445 2021-09-10 Jakub Jelinek <jakub@redhat.com>
2447 * c-common.h (c_finish_omp_atomic): Add r and weak arguments.
2448 * c-omp.c: Include gimple-fold.h.
2449 (c_finish_omp_atomic): Add r and weak arguments. Add support for
2452 2021-09-09 qing zhao <qing.zhao@oracle.com>
2454 * c-attribs.c (handle_uninitialized_attribute): New function.
2455 (c_common_attribute_table): Add "uninitialized" attribute.
2457 2021-09-08 liuhongt <hongtao.liu@intel.com>
2459 * c-common.c (excess_precision_mode_join): Update below comments.
2460 (c_ts18661_flt_eval_method): Set excess_precision_type to
2461 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
2462 * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments.
2463 (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to
2464 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16.
2466 2021-09-07 Marcel Vollweiler <marcel@codesourcery.com>
2468 * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST.
2470 2021-09-03 Eric Botcazou <ebotcazou@adacore.com>
2472 * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks
2473 and -gnatwu warning for the package specification.
2475 2021-09-01 Iain Sandoe <iain@sandoe.co.uk>
2477 * c-attribs.c (handle_unavailable_attribute): New.
2479 2021-08-30 Jason Merrill <jason@redhat.com>
2481 * c.opt: Add -Wmissing-requires.
2483 2021-08-25 Lewis Hyatt <lhyatt@gmail.com>
2486 * c-opts.c (c_common_input_charset_cb): New function.
2487 (c_common_post_options): Call new function
2488 diagnostic_initialize_input_context().
2490 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
2492 * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'.
2493 (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to
2494 "di" and "u", respecitively; fill with BADLEN to match
2496 (get_init_dynamic_hwi): Split off from ...
2497 (init_dynamic_diag_info): ... here. Call it.
2498 (init_dynamic_gfc_info): Call it.
2500 2021-08-20 Jakub Jelinek <jakub@redhat.com>
2502 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR.
2503 * c-pragma.c (omp_pragmas): Add error directive.
2504 * c-omp.c (omp_directives): Uncomment error directive entry.
2506 2021-08-18 Jakub Jelinek <jakub@redhat.com>
2508 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING.
2509 * c-pragma.c (omp_pragmas): Add nothing directive.
2510 * c-omp.c (omp_directives): Uncomment nothing directive entry.
2512 2021-08-17 Jakub Jelinek <jakub@redhat.com>
2515 * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE.
2516 * c-common.c (c_common_reswords): Add __is_layout_compatible.
2518 2021-08-17 Matt Jacobson <mhjacobson@me.com>
2520 * c-opts.c (c_common_post_options): Default to
2521 flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2.
2523 2021-08-17 Jakub Jelinek <jakub@redhat.com>
2525 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE.
2526 * c-pragma.c (omp_pragmas): Add scope construct.
2527 * c-omp.c (omp_directives): Uncomment scope directive entry.
2529 2021-08-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
2531 * c-cppbuiltin.c (c_cpp_builtins): Define
2532 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true.
2534 2021-08-12 Jakub Jelinek <jakub@redhat.com>
2536 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED.
2537 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER.
2538 * c-pragma.c (omp_pragmas_simd): Add masked construct.
2539 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED
2541 (c_finish_omp_masked): Declare.
2542 * c-omp.c (c_finish_omp_masked): New function.
2543 (c_omp_split_clauses): Handle combined masked constructs.
2545 2021-07-30 Jakub Jelinek <jakub@redhat.com>
2548 * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF.
2549 * c-common.c (c_common_reswords): Add
2550 __is_pointer_interconvertible_base_of.
2552 2021-07-29 Richard Biener <rguenther@suse.de>
2555 * c-common.c (c_common_mark_addressable_vec): Look through
2556 C_MAYBE_CONST_EXPR even if not at the toplevel.
2558 2021-07-27 Martin Sebor <msebor@redhat.com>
2561 * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME.
2563 2021-07-23 Jakub Jelinek <jakub@redhat.com>
2565 * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also
2566 on attr_id. Return 1 for omp::directive or omp::sequence in C++11
2569 2021-07-23 Jakub Jelinek <jakub@redhat.com>
2571 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and
2572 PRAGMA_OMP__LAST_ enumerators.
2574 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
2575 Joseph Myers <joseph@codesourcery.com>
2576 Cesar Philippidis <cesar@codesourcery.com>
2578 * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'.
2580 2021-07-20 Martin Sebor <msebor@redhat.com>
2582 * c-common.c (c_build_shufflevector): Adjust by-value argument to
2584 * c-common.h (c_build_shufflevector): Same.
2586 2021-07-16 Andrew Pinski <apinski@marvell.com>
2589 * c-common.c (parse_optimize_options): Use the correct
2592 2021-07-15 Martin Sebor <msebor@redhat.com>
2596 * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME.
2598 2021-07-14 Jason Merrill <jason@redhat.com>
2600 * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions.
2602 2021-07-06 Martin Sebor <msebor@redhat.com>
2604 * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K.
2605 (gcc_cdiag_char_table): Same.
2606 (gcc_cxxdiag_char_table): Same.
2608 2021-07-02 Jakub Jelinek <jakub@redhat.com>
2610 * c-common.h (enum c_omp_directive_kind): New enum.
2611 (struct c_omp_directive): New type.
2612 (c_omp_categorize_directive): Declare.
2613 * c-omp.c (omp_directives): New variable.
2614 (c_omp_categorize_directive): New function.
2616 2021-07-01 Eric Botcazou <ebotcazou@adacore.com>
2618 * c-ada-spec.c (packed_layout): New global variable.
2619 (dump_ada_declaration): Set it upon seeing a packed record type.
2620 Do not put the "aliased" keyword if it is set.
2621 (dump_ada_structure): Add Pack aspect if it is set and clear it.
2623 2021-07-01 Eric Botcazou <ebotcazou@adacore.com>
2625 * c-ada-spec.c (check_name): Rename into...
2626 (check_type_name_conflict): ...this. Minor tweak.
2627 (dump_ada_function_declaration): Adjust to above renaming.
2628 (dump_ada_array_domains): Fix oversight.
2629 (dump_ada_declaration): Call check_type_name_conflict for variables.
2631 2021-06-25 Martin Sebor <msebor@redhat.com>
2633 * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING.
2634 (c_common_truthvalue_conversion): Replace direct uses of
2635 TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and
2637 (check_function_arguments_recurse): Same.
2638 * c-gimplify.c (c_gimplify_expr): Same.
2639 * c-warn.c (overflow_warning): Same.
2640 (warn_logical_operator): Same.
2641 (warn_if_unused_value): Same.
2642 (do_warn_unused_parameter): Same.
2644 2021-06-24 Jakub Jelinek <jakub@redhat.com>
2646 * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and
2648 * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on
2649 combined target constructs also add map (always, tofrom:) clause.
2651 2021-06-15 Robin Dapp <rdapp@linux.ibm.com>
2653 * c-attribs.c (common_handle_aligned_attribute): Remove short
2654 circuit and dead code.
2656 2021-06-14 Jonathan Wakely <jwakely@redhat.com>
2659 * known-headers.cc (get_stdlib_header_for_name): Add known
2660 headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc,
2663 2021-06-12 Jason Merrill <jason@redhat.com>
2665 * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL.
2667 2021-06-11 Jakub Jelinek <jakub@redhat.com>
2670 * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for
2671 -std=c++2b for P1938R3 consteval if support.
2673 2021-06-09 Jason Merrill <jason@redhat.com>
2676 * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch
2679 2021-06-07 Martin Liska <mliska@suse.cz>
2681 * c-target.def: Split long lines and replace them
2684 2021-06-04 Martin Sebor <msebor@redhat.com>
2687 * c-attribs.c (positional_argument): Bail on erroneous types.
2689 2021-06-04 Martin Sebor <msebor@redhat.com>
2691 * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test
2692 for element presence.
2694 2021-06-03 Eric Botcazou <ebotcazou@adacore.com>
2696 * c-ada-spec.c (dump_ada_macros): Minor tweaks.
2697 (dump_ada_decl_name): Likewise.
2698 (dump_anonymous_type_name): Remove parent parameter and adjust.
2699 (dump_sloc): Minor tweak.
2700 (dump_ada_array_type): Remove type parameter and adjust.
2701 (dump_ada_enum_type): Remove parent parameter and adjust.
2702 (dump_ada_node): Adjust calls to above functions.
2703 (dumped_anonymous_types): New global variable.
2704 (dump_nested_types_1): Rename into...
2705 (dump_nested_types): ...this.
2706 (dump_nested_type): Remove parent and dumped_types parameters.
2707 <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types.
2708 Adjust calls to dump_anonymous_type_name and dump_ada_array_type.
2709 (dump_ada_specs): Initialize and free dumped_anonymous_types.
2711 2021-06-03 Eric Botcazou <ebotcazou@adacore.com>
2713 * c-ada-spec.c (pp_ada_tree_identifier): Tidy up.
2714 (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes.
2716 2021-06-03 Eric Botcazou <ebotcazou@adacore.com>
2718 * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants.
2719 (htable_t): New typedef.
2720 (overloaded_names): Use it.
2721 (add_name): New function.
2722 (init_overloaded_names): Use add_name to populate the table and add
2723 special cases for sigaction and stat.
2724 (overloaded_name_p): Rename into...
2725 (overloading_index): ...this. Do not initialize overloaded_names table
2726 here. Return the index or zero.
2727 (dump_ada_declaration): Minor tweaks. Do not skip overloaded functions
2728 but add an overloading suffix instead.
2729 (dump_ada_specs): Initialize overloaded_names tables here.
2731 2021-06-01 Martin Liska <mliska@suse.cz>
2734 * c-attribs.c (handle_optimize_attribute): Limit sanity check
2735 to a situation where we are not in processing of an optimize
2737 * c-pragma.c (handle_pragma_pop_options): Restore target
2740 2021-05-31 Indu Bhagat <indu.bhagat@oracle.com>
2743 * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names.
2745 2021-05-31 Richard Biener <rguenther@suse.de>
2748 * c-common.c: Include tree-vector-builder.h and
2750 (c_common_reswords): Add __builtin_shufflevector.
2751 (c_build_shufflevector): New funtion.
2752 * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR.
2753 (c_build_shufflevector): Declare.
2755 2021-05-28 Jakub Jelinek <jakub@redhat.com>
2758 * c-omp.c (c_omp_split_clauses): For reduction clause if combined with
2759 target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT.
2761 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
2763 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY.
2765 2021-05-25 Martin Liska <mliska@suse.cz>
2767 PR tree-optimization/92860
2769 * c-attribs.c (handle_optimize_attribute): Save target node
2770 before calling parse_optimize_options and save it in case
2772 * c-pragma.c (handle_pragma_target): Similarly for pragma.
2773 (handle_pragma_pop_options): Likewise here.
2775 2021-05-25 Martin Liska <mliska@suse.cz>
2777 * c-attribs.c (handle_no_sanitize_coverage_attribute): New.
2779 2021-05-25 Jakub Jelinek <jakub@redhat.com>
2782 * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is
2783 combined with simd and not with taskloop or for.
2785 2021-05-21 Jakub Jelinek <jakub@redhat.com>
2788 * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT
2789 on firstprivate clause copy going to target construct, and for
2790 target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit.
2792 2021-05-20 Jonathan Wakely <jwakely@redhat.com>
2794 * c.opt (Wc++11-extensions, Wc++14-extensions)
2795 (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New
2798 2021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
2800 * c-lex.c (init_c_lex): Use dwarf_debuginfo_p.
2802 2021-05-20 Indu Bhagat <indu.bhagat@oracle.com>
2804 * c-opts.c (c_common_post_options): Adjust access to debug_type_names.
2805 * c-pch.c (struct c_pch_validity): Use type uint32_t.
2806 (pch_init): Renamed member.
2807 (c_common_valid_pch): Adjust access to debug_type_names.
2809 2021-05-19 Martin Sebor <msebor@redhat.com>
2812 * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many
2815 2021-05-18 Richard Biener <rguenther@suse.de>
2818 * c-attribs.c (type_valid_for_vector_size): Reject too large nunits.
2819 Reword existing nunit diagnostic.
2821 2021-05-17 Joern Rennecke <joern.rennecke@embecosm.com>
2823 * c-common.c (braced_list_to_string): Return CTOR unchanged
2824 if host and target character sizes don't match.
2826 2021-05-14 Martin Liska <mliska@suse.cz>
2828 * c.opt: Add Warning keyword for 2 options.
2830 2021-05-13 Martin Liska <mliska@suse.cz>
2832 PR middle-end/100504
2833 * c-attribs.c (handle_target_clones_attribute): Expect a string
2834 argument to target_clone argument.
2836 2021-05-11 Joseph Myers <joseph@codesourcery.com>
2838 * c-lex.c (interpret_float): Handle digit separators for C2X.
2840 2021-05-10 Martin Liska <mliska@suse.cz>
2842 * c-ada-spec.c (print_destructor): Use startswith
2843 function instead of strncmp.
2844 (dump_ada_declaration): Likewise.
2845 * c-common.c (disable_builtin_function): Likewise.
2846 (def_builtin_1): Likewise.
2847 * c-format.c (check_tokens): Likewise.
2848 (check_plain): Likewise.
2849 (convert_format_name_to_system_name): Likewise.
2851 2021-04-28 Patrick McGehearty <patrick.mcgehearty@oracle.com>
2853 * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new
2856 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
2857 Nathan Sidwell <nathan@codesourcery.com>
2858 Tom de Vries <vries@codesourcery.com>
2859 Julian Brown <julian@codesourcery.com>
2860 Kwok Cheung Yeung <kcy@codesourcery.com>
2862 * c.opt (Wopenacc-parallelism): New.
2864 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
2866 * c.opt (fopenacc-kernels=): Remove.
2868 2021-04-08 Jakub Jelinek <jakub@redhat.com>
2870 * c-warn.c (do_warn_double_promotion): Fix comment typo,
2871 occured -> occurred.
2872 (check_alignment_of_packed_member): Fix a comment typo,
2874 (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of
2875 and onless -> unless.
2876 (warn_parm_array_mismatch): Fix comment typos, declaratation
2877 -> declaration and woud -> would. Fix up comment indentation.
2879 2021-04-08 Martin Sebor <msebor@redhat.com>
2882 * c.opt (Wmismatched-new-delete): Correct spelling.
2884 2021-04-05 Eric Botcazou <ebotcazou@adacore.com>
2886 * c-ada-spec.c (is_simple_enum): Minor tweaks.
2887 (dump_ada_enum_type): Add TYPE and PARENT parameters. For non-simple
2888 enumeral types use again the type name for the enumeration constants.
2889 (dump_ada_node): Adjust call to dump_ada_enum_type.
2890 (dump_nested_type): Likewise.
2892 2021-04-01 Jason Merrill <jason@redhat.com>
2895 * c-opts.c (c_common_post_options): Bump latest_abi_version.
2897 2021-03-25 Jakub Jelinek <jakub@redhat.com>
2900 * c-warn.c (do_warn_duplicated_branches): Pass also
2901 OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p.
2903 2021-03-20 Jakub Jelinek <jakub@redhat.com>
2906 * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST.
2908 2021-03-05 Eric Botcazou <ebotcazou@adacore.com>
2910 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types
2911 after entering the separate class package, if any.
2913 2021-03-04 Richard Biener <rguenther@suse.de>
2915 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator):
2918 2021-03-04 Jakub Jelinek <jakub@redhat.com>
2921 * c-ppoutput.c (print): Change src_line type from int to unsigned.
2922 (token_streamer::stream) Likewise.
2923 (maybe_print_line_1): Likewise. Don't strcmp src_file if src_loc is
2926 2021-03-03 Jakub Jelinek <jakub@redhat.com>
2929 * c-common.c (build_va_arg): Call c_common_mark_addressable_vec
2930 instead of mark_addressable. Fix a comment typo -
2931 neutrallly -> neutrally.
2933 2021-02-28 Jakub Jelinek <jakub@redhat.com>
2936 * c-attribs.c (handle_malloc_attribute): Fix a typo in inform
2937 message - refernced -> referenced. Remove superfluous space before
2938 closing paren of function calls.
2940 2021-02-25 Nathan Sidwell <nathan@acm.org>
2943 * c.opt (-flang-info-module-cmi): Renamed option.
2945 2021-02-19 Nathan Sidwell <nathan@acm.org>
2947 * c.opt (flang-info-module-read, flang-info-module-read=): New.
2949 2021-02-18 H.J. Lu <hjl.tools@gmail.com>
2952 * c-attribs.c (c_common_attribute_table): Add the "retain"
2954 (handle_retain_attribute): New function.
2956 2021-02-16 Marek Polacek <polacek@redhat.com>
2959 * c-attribs.c (handle_assume_aligned_attribute): Check that the
2960 alignment argument is non-negative. Tweak a warning message.
2962 2021-02-12 Martin Sebor <msebor@redhat.com>
2965 * c-warn.c (warn_parm_array_mismatch): Free strings returned from
2966 print_generic_expr_to_str.
2968 2021-02-10 Richard Biener <rguenther@suse.de>
2970 * c-common.c (parse_optimize_options): Free decoded_options.
2972 2021-02-04 emsr <3dw4rd@verizon.net>
2974 * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L.
2976 2021-02-03 Ed Smith-Rowland <3dw4rd@verizon.net>
2978 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix.
2979 * c-lex.c (interpret_integer): Set node type for size literal.
2981 2021-01-28 Jakub Jelinek <jakub@redhat.com>
2983 * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove
2984 draft from description.
2985 (-std=c++2b): Fix a pasto, 2020 -> 2023.
2987 2021-01-26 Paul Fee <paul.f.fee@gmail.com>
2989 * c-common.h (cxx_dialect): Add cxx23 as a dialect.
2990 * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23
2992 * c-opts.c (set_std_cxx23): New.
2993 (c_common_handle_option): Set options when -std=c++23 is enabled.
2994 (c_common_post_options): Adjust comments.
2995 (set_std_cxx20): Likewise.
2997 2021-01-25 Martin Sebor <msebor@redhat.com>
3000 * c-common.c (check_nonnull_arg): Adjust warning text.
3002 2021-01-17 Martin Sebor <msebor@redhat.com>
3004 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
3005 assume SSA_NAME_IDENTIFIER evaluates to nonzero.
3007 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
3009 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
3010 Redefine PRAGMA_OACC_CLAUSE_DETACH.
3012 2021-01-15 Jakub Jelinek <jakub@redhat.com>
3014 PR tree-optimization/98597
3015 * c-pretty-print.c: Include options.h.
3016 (c_fold_indirect_ref_for_warn): New function.
3017 (print_mem_ref): Use it. If it returns something that has compatible
3018 type and is TBAA compatible with zero offset, print it and return,
3019 otherwise print it using offsetof syntax or array ref syntax. Fix up
3020 printing if MEM_REFs first operand is ADDR_EXPR, or when the first
3021 argument has pointer to array type. Print pointers using the standard
3024 2021-01-12 Martin Sebor <msebor@redhat.com>
3028 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand
3029 has pointer type. Remove redundant code. Avoid calling
3030 gimple_canonical_types_compatible_p.
3032 2021-01-07 Martin Sebor <msebor@redhat.com>
3035 * c-pretty-print.c (print_mem_ref): Strip array from access type.
3036 Avoid assuming acces type's size is constant. Correct condition
3037 guarding the printing of a parenthesis.
3039 2021-01-06 Martin Sebor <msebor@redhat.com>
3042 * c-pretty-print.c (c_pretty_printer::primary_expression): For
3043 SSA_NAMEs print VLA names and GIMPLE defining statements.
3044 (print_mem_ref): New function.
3045 (c_pretty_printer::unary_expression): Call it.
3047 2021-01-06 Richard Biener <rguenther@suse.de>
3049 PR tree-optimization/95582
3050 * c-attribs.c (c_common_attribute_table): Add entry for
3051 signed_bool_precision.
3052 (handle_signed_bool_precision_attribute): New.
3054 2020-12-24 Iain Sandoe <iain@sandoe.co.uk>
3056 * c.opt: Add -stdlib= option and enumerations for
3057 libstdc++ and libc++.
3059 2020-12-16 Martin Liska <mliska@suse.cz>
3061 * c.opt: Remove usage of Report.
3063 2020-12-14 Martin Sebor <msebor@redhat.com>
3068 * c-attribs.c (maybe_add_noinline): New function.
3069 (handle_malloc_attribute): Call it. Use ATTR_FLAG_INTERNAL.
3070 Implicitly add attribute noinline to functions not declared inline
3073 2020-12-09 Tobias Burnus <tobias@codesourcery.com>
3075 * c-pragma.c (omp_pragmas): Add 'allocate'.
3076 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE.
3078 2020-12-08 Jakub Jelinek <jakub@redhat.com>
3081 * c-pragma.c (omp_pragmas): Remove "master".
3082 (omp_pragmas_simd): Add "master".
3084 2020-12-07 Marek Polacek <polacek@redhat.com>
3087 * c-common.c (verify_tree_lim_r): New function.
3088 (verify_sequence_points): Use it. Use nullptr instead of 0.
3090 2020-12-03 Martin Sebor <msebor@redhat.com>
3094 * c-attribs.c (handle_dealloc_attribute): New function.
3095 (handle_malloc_attribute): Handle argument forms of attribute.
3096 * c.opt (-Wmismatched-dealloc): New option.
3097 (-Wmismatched-new-delete): New option.
3099 2020-12-03 Jakub Jelinek <jakub@redhat.com>
3102 * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
3103 * c-common.c (c_common_reswords): Add __builtin_bit_cast.
3105 2020-12-01 JeanHeyd Meneide <phdofthehouse@gmail.com>
3107 * c-cppbuiltin.c (c_cpp_builtins): Add predefined
3108 {__GNUC_EXECUTION_CHARSET_NAME} and
3109 _WIDE_EXECUTION_CHARSET_NAME} macros.
3111 2020-12-01 Nathan Sidwell <nathan@acm.org>
3113 * c-common.c (module, import, export): New internal tokens (with
3115 * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate
3117 (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them.
3118 * c-cppbuiltin.c (c_cpp_builtins): Feature macro.
3120 2020-12-01 Nathan Sidwell <nathan@acm.org>
3122 * c-opts.c (c_common_init_options): Ask for module dependencies.
3123 (c_common_handle_option): Handle -Mmodules -Mno-modules.
3124 * c-pch.c (c_common_valid_pch): ... does not play with C++
3126 * c.opt (Mmodules, Mno-modules): New preprocessor dependency
3128 (fmodules-ts, fmodule-header, fmodule-implicit-inline)
3129 (fmodule-only, fmodule-mapper, fmodule-lazy)
3130 (fmodule-version-ignore, Winvalid-imported-macros)
3131 (flang-info-include-translate, flang-info-include-translate-not):
3134 2020-11-28 Eric Botcazou <ebotcazou@adacore.com>
3136 * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code.
3137 (dump_ada_structure): Also deal with convention, unchecked union and
3138 bit-field for nested types. In the latter case, print an Alignment
3139 aspect along with the Pack aspect.
3141 2020-11-25 Martin Sebor <msebor@redhat.com>
3144 * c-attribs.c (handle_patchable_function_entry_attribute): Avoid
3147 2020-11-24 Martin Sebor <msebor@redhat.com>
3149 * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations.
3151 2020-11-23 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3153 * c-attribs.c (handle_special_var_sec_attribute): New.
3154 (handle_noinit_attribute): Remove.
3155 (attr_noinit_exclusions): Rename to...
3156 (attr_section_exclusions): ...this, and add "persistent" attribute
3158 (c_common_attribute_table): Add "persistent" attribute.
3160 2020-11-21 Aaron Sawdey <acsawdey@linux.ibm.com>
3162 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
3163 Treat opaque types like other types.
3164 (c_pretty_printer::direct_abstract_declarator): Opaque types are
3167 2020-11-20 Martin Sebor <msebor@redhat.com>
3169 * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations
3170 with fewer arguments.
3172 2020-11-20 Martin Sebor <msebor@redhat.com>
3175 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL.
3176 Error out on invalid modes.
3178 2020-11-20 Jakub Jelinek <jakub@redhat.com>
3181 * c-common.c (check_builtin_function_arguments): Handle
3182 BUILT_IN_CLEAR_PADDING.
3184 2020-11-18 Nathan Sidwell <nathan@acm.org>
3186 * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen.
3188 2020-11-17 Nathan Sidwell <nathan@acm.org>
3190 * c-common.h (enum c_tree_index): Reorder to place lazy fields
3191 after newly-added CTI_MODULE_HWM.
3193 2020-11-17 Joseph Myers <joseph@codesourcery.com>
3195 * c-cppbuiltin.c (builtin_define_float_constants): Define
3196 "*_IS_IEC_60559__" macros.
3198 2020-11-17 Nathan Sidwell <nathan@acm.org>
3200 * c-lex.c: #include "langhooks.h".
3201 (cb_undef): Maybe call preprocess_undef lang hook.
3202 * c-opts.c (c_common_post_options): Maybe call preprocess_options
3204 (push_command_line_include): Maybe call preprocess_main_file lang
3206 (cb_file_change): Likewise.
3207 * c-ppoutput.c: #include "langhooks.h.
3208 (scan_translation_unit): Maybe call preprocess_token lang hook.
3209 (class do_streamer): New, derive from token_streamer.
3210 (directives_only_cb): Data pointer is do_streamer, call
3211 preprocess_token lang hook.
3212 (scan_translation_unit_directives_only): Use do_streamer.
3213 (print_line_1): Move src_line recording to after string output.
3214 (cb_undef): Maybe call preprocess_undef lang hook.
3216 2020-11-17 Nathan Sidwell <nathan@acm.org>
3218 * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove
3219 code duplicating that functionality.
3221 2020-11-17 Jakub Jelinek <jakub@redhat.com>
3224 * c-common.c (check_builtin_function_arguments)
3225 <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer
3226 to _Atomic. For the TYPE_READONLY case, adjust message to be usable
3227 for more builtins and argument positions.
3229 2020-11-16 Iain Sandoe <iain@sandoe.co.uk>
3232 * stub-objc.c: Include c-common.h to declare enum rid.
3234 2020-11-13 Jakub Jelinek <jakub@redhat.com>
3237 * c-cppbuiltin.c: Include configargs.h.
3238 (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not
3239 defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is
3242 2020-11-13 Gergö Barany <gergo@codesourcery.com>
3243 Thomas Schwinge <thomas@codesourcery.com>
3245 * c.opt (fopenacc-kernels): Add.
3247 2020-11-13 Jason Merrill <jason@redhat.com>
3249 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum.
3251 2020-11-13 Piotr H. Dabrowski <phd@phd.re>
3254 * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused()
3256 2020-11-13 Martin Liska <mliska@suse.cz>
3258 * c-attribs.c (build_attr_access_from_parms): Format properly.
3260 2020-11-13 Iain Sandoe <iain@sandoe.co.uk>
3263 * c-common.c (c_common_reswords): null_unspecified, nullable,
3264 nonnull, null_resettable: New keywords.
3265 * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE,
3266 RID_NONNULL, RID_NULL_RESETTABLE: New.
3267 (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the
3268 ranges accepted for property attributes.
3269 * c-attribs.c (handle_objc_nullability_attribute): New.
3270 * c-objc.h (enum objc_property_attribute_group): Add
3271 OBJC_PROPATTR_GROUP_NULLABLE.
3272 (enum objc_property_attribute_kind):Add
3273 OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE,
3274 OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE.
3276 2020-11-13 Iain Sandoe <iain@sandoe.co.uk>
3279 * c-attribs.c (handle_objc_root_class_attribute): New
3280 * c-objc.h (objc_start_class_interface): Add a location
3281 value for the position of the class name.
3282 * c.opt: Add Wobjc-root-class.
3283 * stub-objc.c (objc_start_class_interface): Add a location
3284 value for the position of the class name.
3286 2020-11-12 Joseph Myers <joseph@codesourcery.com>
3288 * c-lex.c (c_common_has_attribute): Take argument std_syntax.
3289 Allow scope for C. Handle standard attributes for C. Do not
3290 accept unscoped attributes if std_syntax and not handled as
3291 standard attributes.
3292 * c-common.h (c_common_has_attribute): Update prototype.
3294 2020-11-12 Nicholas Guriev <guriev-ns@ya.ru>
3297 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
3298 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
3300 2020-11-11 Patrick Palka <ppalka@redhat.com>
3303 * c-opts.c (c_common_post_options): Update latest_abi_version.
3305 2020-11-10 Jakub Jelinek <jakub@redhat.com>
3308 * c-common.h (warn_if_unused_value): Add quiet argument defaulted
3310 * c-warn.c (warn_if_unused_value): Likewise. Pass it down
3311 recursively and just return true instead of warning if it is true.
3312 Handle COMPLEX_EXPR.
3314 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
3316 * c-common.h (c_omp_adjust_map_clauses): New declaration.
3317 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
3318 (c_omp_adjust_map_clauses): New function.
3320 2020-11-09 Marek Polacek <polacek@redhat.com>
3323 * c-common.c (attribute_fallthrough_p): Tweak the warning
3326 2020-11-09 Patrick Palka <ppalka@redhat.com>
3328 * c-pragma.c (handle_pragma_diagnostic): Split the
3329 unknown-option -Wpragmas diagnostic into a warning and a
3330 subsequent note containing a spelling suggestion. Avoid
3331 computing the suggestion if -Wpragmas warnings are being
3334 2020-11-09 Patrick Palka <ppalka@redhat.com>
3337 * c-indentation.c (get_visual_column): Remove location_t
3338 parameter. Move the column-tracking diagnostic code from here
3340 (should_warn_for_misleading_indentation): ... here, before the
3341 early exit for when the loci are not all distinct. Don't pass a
3342 location_t argument to get_visual_column.
3343 (assert_get_visual_column_succeeds): Don't pass a location_t
3344 argument to get_visual_column.
3345 (assert_get_visual_column_fails): Likewise.
3347 2020-11-08 Iain Sandoe <iain@sandoe.co.uk>
3349 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
3350 of keywords accepted in @property attribute contexts.
3351 * c-objc.h (enum objc_property_attribute_group): Add
3352 OBJC_PROPATTR_GROUP_CLASS.
3353 (enum objc_property_attribute_kind): Add
3354 OBJC_PROPERTY_ATTR_CLASS.
3356 2020-11-07 Iain Sandoe <iain@sandoe.co.uk>
3358 * c-common.c (c_common_reswords): Add 'atomic' property
3360 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
3361 property attributes.
3363 2020-11-07 Iain Sandoe <iain@sandoe.co.uk>
3365 * c-attribs.c (handle_nsobject_attribute): New.
3366 * c.opt: Add WNSObject-attribute.
3368 2020-11-06 Iain Sandoe <iain@sandoe.co.uk>
3370 * c-objc.h (enum objc_property_attribute_group): New
3371 (enum objc_property_attribute_kind): New.
3372 (OBJC_PROPATTR_GROUP_MASK): New.
3373 (struct property_attribute_info): Small class encapsulating
3374 parser output from property attributes.
3375 (objc_prop_attr_kind_for_rid): New
3376 (objc_add_property_declaration): Simplify interface.
3377 * stub-objc.c (enum rid): Dummy type.
3378 (objc_add_property_declaration): Simplify interface.
3379 (objc_prop_attr_kind_for_rid): New.
3381 2020-11-06 Nathan Sidwell <nathan@acm.org>
3383 * c-ada-spec.c (collect_ada_nodes): Rename
3384 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
3385 (collect_ada_node): Likewise.
3386 (dump_forward_type): Likewise.
3387 * c-common.c (set_underlying_type): Rename
3388 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
3389 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
3391 2020-11-06 Jakub Jelinek <jakub@redhat.com>
3393 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
3395 2020-11-05 Marek Polacek <polacek@redhat.com>
3398 * c.opt (Wexceptions): New option.
3400 2020-11-05 Marek Polacek <polacek@redhat.com>
3403 * c.opt (Wvexing-parse): New option.
3405 2020-11-04 Jakub Jelinek <jakub@redhat.com>
3408 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
3409 underlying decl to clear in the allocate_head bitmap.
3411 2020-11-04 Iain Sandoe <iain@sandoe.co.uk>
3413 * c-objc.h (objc_non_constant_expr_p): New.
3414 * stub-objc.c (objc_non_constant_expr_p): New.
3416 2020-11-03 Nathan Sidwell <nathan@acm.org>
3418 * c.opt (MQ,MT): Reword description to be make-agnostic.
3420 2020-11-02 Nathan Sidwell <nathan@acm.org>
3422 * c-opts.c (c_common_post_options): Move var decl to its
3423 initialization point.
3425 2020-11-01 Iain Sandoe <iain@sandoe.co.uk>
3427 * c-lex.c (c_lex_with_flags): When combining '@' with a
3428 keyword for Objective-C, combine the location ranges too.
3430 2020-10-30 Qing Zhao <qing.zhao@oracle.com>
3431 H.J.Lu <hjl.tools@gmail.com>
3433 * c-attribs.c (c_common_attribute_table): Add new attribute
3434 zero_call_used_regs.
3435 (handle_zero_call_used_regs_attribute): New function.
3437 2020-10-28 Marek Polacek <polacek@redhat.com>
3440 * c-opts.c (c_common_post_options): In C++20, turn on
3441 -Wdeprecated-enum-enum-conversion and
3442 -Wdeprecated-enum-float-conversion.
3443 * c.opt (Wdeprecated-enum-enum-conversion,
3444 Wdeprecated-enum-float-conversion): New options.
3445 (Wenum-conversion): Allow for C++ too.
3447 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3449 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
3450 * c-omp.c: Include bitmap.h.
3451 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
3453 2020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
3455 * c-common.c (__is_nothrow_assignable): New.
3456 (__is_nothrow_constructible): Likewise.
3457 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
3458 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
3460 2020-10-23 Jan Hubicka <hubicka@ucw.cz>
3462 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
3464 2020-10-23 Marek Polacek <polacek@redhat.com>
3467 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
3468 (c_common_init_ts): Likewise.
3469 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
3470 * c-common.h (maybe_warn_sizeof_array_div): Declare.
3471 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
3472 (maybe_warn_sizeof_array_div): New function.
3473 * c.opt (Wsizeof-array-div): New option.
3475 2020-10-23 Martin Sebor <msebor@redhat.com>
3478 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
3480 2020-10-22 Martin Liska <mliska@suse.cz>
3483 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
3484 (handle_stack_protect_attribute): Add error message for a
3485 no_stack_protector function.
3487 2020-10-22 Martin Liska <mliska@suse.cz>
3489 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
3491 2020-10-22 Jan Hubicka <hubicka@ucw.cz>
3493 * c-gimplify.c: Include tree-nested.h
3494 (c_genericize): Update for new nested function info.
3496 2020-10-14 Martin Sebor <msebor@redhat.com>
3499 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
3500 bounds in an extra list.
3502 2020-10-05 Richard Biener <rguenther@suse.de>
3503 Jakub Jelinek <jakub@redhat.com>
3506 * c-pretty-print.c: Include langhooks.h.
3507 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
3509 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
3511 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
3513 2020-09-30 Martin Sebor <msebor@redhat.com>
3516 * c-attribs.c (append_access_attr): Use the function declaration
3517 location for a warning about an attribute access argument.
3519 2020-09-29 Marek Polacek <polacek@redhat.com>
3522 * c.opt (Wrange-loop-construct): New option.
3524 2020-09-23 Martin Sebor <msebor@redhat.com>
3527 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
3529 2020-09-23 Marek Polacek <polacek@redhat.com>
3532 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
3533 after loops and other structured control constructs have been lowered.
3535 2020-09-22 Jakub Jelinek <jakub@redhat.com>
3537 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
3538 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
3540 2020-09-21 Marek Polacek <polacek@redhat.com>
3542 * c.opt (Wctad-maybe-unsupported): New option.
3544 2020-09-19 Martin Sebor <msebor@redhat.com>
3547 * c-common.h (warn_parm_array_mismatch): Declare new function.
3548 (has_attribute): Move declaration of an existing function.
3549 (build_attr_access_from_parms): Declare new function.
3550 * c-warn.c (parm_array_as_string): Define new function.
3551 (plus_one): Define new function.
3552 (warn_parm_ptrarray_mismatch): Define new function.
3553 (warn_parm_array_mismatch): Define new function.
3554 (vla_bound_parm_decl): New function.
3555 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
3556 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
3558 (c_pretty_printer::direct_abstract_declarator): ...but instead print
3559 them in brackets here. Also print [static]. Strip extraneous
3560 expressions from VLA bounds.
3562 2020-09-19 Martin Sebor <msebor@redhat.com>
3565 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
3566 (handle_argspec_attribute): New function.
3567 (get_argument, get_argument_type): New functions.
3568 (append_access_attrs): Add overload. Handle internal attribute
3569 representation in addition to external.
3570 (handle_access_attribute): Handle internal attribute representation
3571 in addition to external.
3572 (build_attr_access_from_parms): New function.
3574 2020-09-19 Sandra Loosemore <sandra@codesourcery.com>
3576 * c-gimplify.c (genericize_c_loop): Rewrite to match
3577 c_finish_loop in c-typeck.c.
3579 2020-09-19 Sandra Loosemore <sandra@codesourcery.com>
3581 * c-common.c (c_block_may_fallthrough): New, split from
3582 cxx_block_may_fallthrough in the cp front end.
3583 (c_common_init_ts): Move handling of loop and switch-related
3584 statements here from the cp front end.
3585 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
3587 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
3588 * c-common.h (c_block_may_fallthru): Declare.
3589 (bc_state_t): Move here from cp front end.
3590 (save_bc_state, restore_bc_state): Declare.
3591 (c_genericize_control_stmt): Declare.
3592 (WHILE_COND, WHILE_BODY): Likewise.
3593 (DO_COND, DO_BODY): Likewise.
3594 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
3595 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
3596 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
3597 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
3598 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
3599 * c-dump.c (dump_stmt): Copy from cp front end.
3600 (c_dump_tree): Move code to handle structured loop and switch
3601 tree nodes here from cp front end.
3602 * c-gimplify.c: Adjust includes.
3603 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
3605 (save_bc_state, restore_bc_state): New functions using old code
3607 (get_bc_label, expr_loc_or_loc): Move from cp front end.
3608 (genericize_c_loop): Move from cp front end.
3609 (genericize_for_stmt, genericize_while_stmt): Likewise.
3610 (genericize_do_stmt, genericize_switch_stmt): Likewise.
3611 (genericize_continue_stmt, genericize_break_stmt): Likewise.
3612 (genericize_omp_for_stmt): Likewise.
3613 (c_genericize_control_stmt): New function using code split from
3615 (c_genericize_control_r): New.
3616 (c_genericize): Call walk_tree with c_genericize_control_r.
3617 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
3618 structured loop and switch tree nodes here from cp front end.
3620 2020-09-17 Patrick Palka <ppalka@redhat.com>
3623 * c-indentation.c (should_warn_for_misleading_indentation): Move
3624 declarations of local variables closer to their first use.
3625 Handle virtual token locations by resolving them to their
3626 respective macro expansion points. If all three tokens are
3627 produced from the same macro expansion, then instead use their
3628 loci within the macro definition.
3630 2020-09-16 Martin Sebor <msebor@redhat.com>
3634 * c-attribs.c (validate_attr_args): New function.
3635 (validate_attr_arg): Same.
3636 (handle_section_attribute): Call it. Introduce a local variable.
3637 (handle_alloc_size_attribute): Same.
3638 (handle_alloc_align_attribute): Same.
3640 2020-09-14 Jakub Jelinek <jakub@redhat.com>
3642 * c-attribs.c (handle_optimize_attribute): Adjust
3643 cl_optimization_save, cl_optimization_restore and
3644 build_optimization_node callers.
3645 * c-pragma.c (handle_pragma_optimize): Adjust
3646 build_optimization_node caller.
3647 (handle_pragma_push_options): Adjust
3648 build_optimization_node and build_target_option_node callers.
3649 (handle_pragma_pop_options, handle_pragma_reset_options):
3650 Adjust cl_optimization_restore callers.
3652 2020-08-28 Martin Sebor <msebor@redhat.com>
3654 * c.opt (Wstringop-overread): New option.
3656 2020-08-11 Jakub Jelinek <jakub@redhat.com>
3659 * c-common.c (get_atomic_generic_size): Require that first argument's
3660 type points to a complete type and use tree_fits_uhwi_p instead of
3661 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
3663 2020-07-31 Martin Sebor <msebor@redhat.com>
3666 * c-common.c (check_function_arguments_recurse): Return early when
3667 no-warning bit is set.
3669 2020-07-31 Richard Biener <rguenther@suse.de>
3672 * c-common.h (c_common_finalize_early_debug): Declare.
3673 * c-common.c: Include debug.h.
3674 (c_common_finalize_early_debug): finalize_early_debug langhook
3675 implementation generating debug for extern declarations.
3677 2020-07-27 Nathan Sidwell <nathan@acm.org>
3679 * c-common.c (try_to_locate_new_include_insertion_point): Use
3680 strcmp, not pointer equality.
3682 2020-07-25 Martin Sebor <msebor@redhat.com>
3685 * c-common.c (check_nonnull_arg): Print note only when warning was
3688 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
3690 * c-omp.c (c_finish_omp_critical): Check for no name but
3691 nonzero hint provided.
3693 2020-07-20 Jason Merrill <jason@redhat.com>
3695 * c-cppbuiltin.c (c_cpp_builtins): Update
3696 __cpp_nontype_template_args for C++20.
3698 2020-07-20 Martin Sebor <msebor@redhat.com>
3701 * c.opt: Remove stray text.
3703 2020-07-14 Lewis Hyatt <lhyatt@gmail.com>
3706 * c-indentation.c (should_warn_for_misleading_indentation): Get
3707 global tabstop from the new source.
3708 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
3709 is now a common option.
3712 2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
3714 * c.opt (Wscalar-storage-order): Add explicit variable.
3716 2020-07-07 Nathan Sidwell <nathan@acm.org>
3718 * c-opts.c (c_common_post_options): Add 'injecting' arg to
3720 (c_finish_options): Add linemap_line_start calls for builtin and cmd
3721 maps. Force token position to line_table's highest line.
3722 * c-ppoutput.c (print_line_1): Refactor, print line zero.
3723 (cb_define): Always increment source line.
3725 2020-07-06 Martin Sebor <msebor@redhat.com>
3728 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
3729 to stub lambda objects with null this pointer.
3730 (check_nonnull_arg): Handle C++ nullptr.
3732 2020-07-02 Jason Merrill <jason@redhat.com>
3733 Jakub Jelinek <jakub@redhat.com>
3735 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
3737 2020-06-30 Jakub Jelinek <jakub@redhat.com>
3740 * c-common.c (check_function_arguments_recurse): Don't crash on
3741 calls to internal functions.
3743 2020-06-28 Martin Sebor <msebor@redhat.com>
3746 * c-common.c (struct nonnull_arg_ctx): Add members.
3747 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
3748 C++ member functions specially. Consider the this pointer implicitly
3750 (check_nonnull_arg): Use location of argument when available.
3751 (check_function_arguments): Use nonnull_arg_ctx as argument.
3753 2020-06-27 Jakub Jelinek <jakub@redhat.com>
3756 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
3757 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
3758 smaller precision intop operands separately.
3760 2020-06-26 Marek Polacek <polacek@redhat.com>
3762 * c-opts.c (c_common_init_options): Default to gnu++17.
3764 2020-06-17 Jonathan Wakely <jwakely@redhat.com>
3767 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
3770 2020-06-16 Jakub Jelinek <jakub@redhat.com>
3772 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
3773 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
3775 (c_omp_is_loop_iterator): New function.
3776 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
3777 if outer loop iterator is present. Perform duplicate checking through
3778 hash_set in the function rather than expecting caller to do that.
3779 Pass NULL instead of d->ppset to walk_tree_1.
3780 (c_omp_check_nonrect_loop_iv): New function.
3781 (c_omp_check_loop_iv): Use it. Fill in new members, allow
3782 non-rectangular loop forms, diagnose multiple associated loops with
3783 the same iterator. Pass NULL instead of &pset to walk_tree_1.
3784 (c_omp_check_loop_iv_exprs): Likewise.
3786 2020-06-10 Martin Liska <mliska@suse.cz>
3788 PR tree-optimization/92860
3789 * c-attribs.c (handle_optimize_attribute):
3790 Save global options and compare it after parsing of function
3792 * c-pragma.c (opt_stack::saved_global_options): New field.
3793 (handle_pragma_push_options): Save global_options.
3794 (handle_pragma_pop_options): Compare them after pop.
3796 2020-06-09 Jakub Jelinek <jakub@redhat.com>
3799 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
3800 case when MEM_REF's first argument has type pointer to incomplete type.
3802 2020-06-05 Jason Merrill <jason@redhat.com>
3804 * c-pretty-print.c (pp_c_additive_expression): Handle negative
3805 operand to POINTER_PLUS_EXPR.
3807 2020-06-04 Martin Sebor <msebor@redhat.com>
3811 * c-attribs.c (append_access_attrs): Handle attr_access::none.
3812 (handle_access_attribute): Same.
3814 2020-06-03 Mark Wielaard <mark@klomp.org>
3816 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
3818 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
3819 New function declaration.
3821 2020-06-03 Mark Wielaard <mark@klomp.org>
3823 * known-headers.cc (get_string_macro_hint): New function.
3824 (get_stdlib_header_for_name): Use get_string_macro_hint.
3825 (get_c_stdlib_header_for_string_macro_name): New function.
3826 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
3827 New function declaration.
3829 2020-06-03 Tobias Burnus <tobias@codesourcery.com>
3831 * c-common.h (c_omp_predetermined_mapping): Declare.
3832 * c-omp.c (c_omp_predetermined_mapping): New.
3834 2020-05-22 Mark Wielaard <mark@klomp.org>
3836 * known-headers.cc (get_stdlib_header_for_name): Add a new
3837 stdlib_hint array for stdbool and stdint.
3839 2020-05-22 Mark Wielaard <mark@klomp.org>
3841 * known-headers.cc (get_stdlib_header_for_name): Return
3842 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
3845 2020-05-20 Nathan Sidwell <nathan@acm.org>
3847 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
3849 * c-common.c (try_to_locate_new_include_insertion_point): Use
3850 strcmp to compare filenames.
3851 * c-lex.c (init_c_lex): Move declaration to initialization.
3852 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
3853 deferred count loop.
3855 2020-05-15 Jason Merrill <jason@redhat.com>
3857 * c-opts.c (set_std_cxx20): Set flag_coroutines.
3859 2020-05-13 Jason Merrill <jason@redhat.com>
3861 * c.opt (std=c++20): Make c++2a the alias.
3862 (std=gnu++20): Likewise.
3863 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
3865 * c-cppbuiltin.c: Adjust.
3866 * c-ubsan.c: Adjust.
3869 2020-05-12 Eric Botcazou <ebotcazou@adacore.com>
3871 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
3873 2020-05-08 Nathan Sidwell <nathan@acm.org>
3875 Reimplement directives only processing.
3876 * c-ppoutput.c (token_streamer): Ne.
3877 (directives_only_cb): New. Swallow ...
3878 (print_lines_directives_only): ... this.
3879 (scan_translation_unit_directives_only): Reimplment using the
3880 published interface.
3882 2020-05-07 Marek Polacek <polacek@redhat.com>
3884 * c-format.c (badwords): Add "nonstatic".
3886 202-05-07 Jakub Jelinek <jakub@redhat.com>
3889 * c-common.c (speculation_safe_value_resolve_params): Return false if
3890 error_operand_p (val2).
3891 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
3892 Remove extraneous semicolon.
3894 2020-05-06 qing zhao <qing.zhao@oracle.com>
3897 * c-indentation.c (get_visual_column): Add a hint to use the new
3898 -flarge-source-files option.
3900 2020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
3902 * c-attribs.c (handle_vector_size_attribute): Add attribute
3903 nonnull for argument args in order to silence warning of
3904 uninitialized variable usage. Since this is local to the
3905 compilation unit and thus cannot be checked at call sides by the
3906 compiler, added an assert statement in order to verify this.
3908 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
3911 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
3912 value to USHRT_MAX (65535).
3914 2020-04-29 Jakub Jelinek <jakub@redhat.com>
3916 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
3918 2020-04-27 Jakub Jelinek <jakub@redhat.com>
3921 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
3922 fncode == BUILT_IN_NONE before initialization of first_param.
3924 2020-04-23 Marek Polacek <polacek@redhat.com>
3927 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
3930 2020-04-14 Patrick Palka <ppalka@redhat.com>
3933 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
3934 ampersand if it's an rvalue reference type.
3936 2020-04-13 Martin Sebor <msebor@redhat.com>
3939 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
3940 printing array bound for flexible array members.
3942 2020-04-13 Iain Sandoe <iain@sandoe.co.uk>
3944 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
3947 2020-04-02 Richard Biener <rguenther@suse.de>
3950 * c-opts.c (c_common_post_options): Enable -ffinite-loops
3951 for -O2 and C++11 or newer.
3953 2020-03-28 Patrick Palka <ppalka@redhat.com>
3955 * c.opt: Add -fconcepts-diagnostics-depth.
3957 2020-03-27 Martin Sebor <msebor@redhat.com>
3960 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
3961 to decl_attributes. Make handling of different kinds of entities
3964 2020-03-27 Martin Sebor <msebor@redhat.com>
3967 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
3970 2020-03-23 Jakub Jelinek <jakub@redhat.com>
3973 * c-warn.c (warnings_for_convert_and_check): For expr and/or
3974 result being COMPOUND_EXPRs, skip to ultimate rhs.
3976 2020-03-20 Richard Sandiford <richard.sandiford@arm.com>
3979 * c-common.c (c_common_type_for_mode): Before using a registered
3980 built-in type, check that the vectorness of the type matches
3981 the vectorness of the mode.
3983 2020-03-17 Jakub Jelinek <jakub@redhat.com>
3985 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
3986 issue in a diagnostic message.
3988 2020-03-15 Lewis Hyatt <lhyatt@gmail.com>
3990 * c.opt: Avoid redundancy in the help text.
3992 2020-03-02 Marek Polacek <polacek@redhat.com>
3994 PR c++/93958 - add missing -std=gnu++20.
3995 * c.opt: Add -std=gnu++20.
3997 2020-03-01 Martin Sebor <msebor@redhat.com>
4000 * c-attribs.c (append_access_attrs): Correctly handle attribute.
4001 (handle_access_attribute): Same.
4003 2020-02-25 Jakub Jelinek <jakub@redhat.com>
4006 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
4007 "did you mean" hint in diagnostics.
4009 2020-02-15 Jason Merrill <jason@redhat.com>
4011 * c.opt: Add -std=c++20.
4013 2020-02-14 Eric Botcazou <ebotcazou@adacore.com>
4015 * c-ada-spec.c: Include bitmap.h.
4016 (dump_ada_double_name): Rename into...
4017 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
4018 (dump_ada_array_type): Adjust to above renaming. Robustify.
4019 (dump_nested_types_1): New function copied from... Add dumped_types
4020 parameter and pass it down to dump_nested_type.
4021 (dump_nested_types): ...this. Remove parent parameter. Just call
4022 dump_nested_types_1 on an automatic bitmap.
4023 (dump_nested_type): Add dumped_types parameter.
4024 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
4025 Adjust recursive calls and adjust to above renaming.
4026 (dump_ada_declaration): Adjust call to dump_nested_types.
4027 Tidy up and adjust to above renaming.
4028 (dump_ada_specs): Initialize and release bitmap obstack.
4030 2020-02-10 Martin Sebor <msebor@redhat.com>
4033 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
4035 2020-02-10 Jakub Jelinek <jakub@redhat.com>
4038 * c-format.c (check_plain): Fix up last argument of strncasecmp.
4039 Remove useless extra test.
4041 2020-02-03 Julian Brown <julian@codesourcery.com>
4042 Tobias Burnus <tobias@codesourcery.com>
4044 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
4046 2020-01-29 Jason Merrill <jason@redhat.com>
4049 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
4051 2020-01-23 Jason Merrill <jason@redhat.com>
4053 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
4055 2020-01-23 Martin Sebor <msebor@redhat.com>
4058 * c-common.c (check_function_arguments): Avoid overlap checking
4059 of sprintf functions.
4061 2020-01-22 Jason Merrill <jason@redhat.com>
4063 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
4065 * c-warn.c (conversion_warning): Check operands only after checking
4066 the whole expression. Don't check second operand of + for sign.
4068 2020-01-21 Jason Merrill <jason@redhat.com>
4069 Manuel López-Ibáñez <manu@gcc.gnu.org>
4071 PR c++/40752 - useless -Wconversion with short +=.
4072 * c.opt (-Warith-conversion): New.
4073 * c-warn.c (conversion_warning): Recurse for operands of
4074 operators. Only warn about the whole expression with
4077 2020-01-21 Jason Merrill <jason@redhat.com>
4079 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
4080 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
4082 2020-01-20 Nathan Sidwell <nathan@acm.org>
4084 PR preprocessor/80005
4085 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
4087 2020-01-18 Iain Sandoe <iain@sandoe.co.uk>
4089 * c-common.c (co_await, co_yield, co_return): New.
4090 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
4091 RID_CO_RETURN): New enumeration values.
4092 (D_CXX_COROUTINES): Bit to identify coroutines are active.
4093 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
4094 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
4095 * c.opt (fcoroutines): New command-line switch.
4097 2020-01-10 David Malcolm <dmalcolm@redhat.com>
4099 * c-format.c (local_event_ptr_node): New.
4100 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
4101 (init_dynamic_diag_info): Initialize local_event_ptr_node.
4102 * c-format.h (T_EVENT_PTR): New define.
4104 2020-01-10 Martin Sebor <msebor@redhat.com>
4107 * c-attribs.c (append_access_attrs): Validate against the translated
4108 access string rather than the human-readable representation.
4110 2020-01-01 Jakub Jelinek <jakub@redhat.com>
4112 Update copyright years.
4114 2019-12-20 Eric Botcazou <ebotcazou@adacore.com>
4116 * c-ada-spec.h (decl_sloc): Delete.
4117 * c-ada-spec.c (decl_sloc): Make static.
4119 2019-12-19 Julian Brown <julian@codesourcery.com>
4121 * c-common.h (c_omp_map_clause_name): Add prototype.
4122 * c-omp.c (c_omp_map_clause_name): New function.
4123 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
4124 PRAGMA_OACC_CLAUSE_DETACH.
4126 2019-12-19 Julian Brown <julian@codesourcery.com>
4127 Maciej W. Rozycki <macro@codesourcery.com>
4128 Tobias Burnus <tobias@codesourcery.com>
4129 Thomas Schwinge <thomas@codesourcery.com>
4131 * c-pragma.h (pragma_omp_clause): Add
4132 PRAGMA_OACC_CLAUSE_NO_CREATE.
4134 2019-12-17 Martin Sebor <msebor@redhat.com>
4137 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
4139 2019-12-11 David Malcolm <dmalcolm@redhat.com>
4141 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
4143 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
4145 2019-12-09 David Malcolm <dmalcolm@redhat.com>
4147 * c-format.c (range_label_for_format_type_mismatch::get_text):
4148 Replace label_text ctor called with true with label_text::take.
4150 2019-12-09 David Malcolm <dmalcolm@redhat.com>
4152 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
4153 initial newline from expected outputs.
4154 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
4155 call to diagnostic_show_locus.
4157 2019-12-06 Jakub Jelinek <jakub@redhat.com>
4159 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
4162 2019-12-05 Marek Polacek <polacek@redhat.com>
4163 Jakub Jelinek <jakub@redhat.com>
4165 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
4166 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
4168 2019-12-05 Marek Polacek <polacek@redhat.com>
4170 PR c++/92271 - make __is_same alias for __is_same_as.
4171 * c-common.c: Add __is_same, an alias for __is_same_as.
4173 2019-12-03 Marek Polacek <polacek@redhat.com>
4175 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
4176 * c-cppbuiltin.c (c_cpp_builtins): Predefine
4177 __cpp_aggregate_paren_init=201902 for -std=c++2a.
4179 2019-11-30 Jan Hubicka <hubicka@ucw.cz>
4181 * c-attribs.c (handle_symver_attribute): New function
4182 (c_common_attributes): Add symver.
4184 2019-11-30 Richard Sandiford <richard.sandiford@arm.com>
4186 * c-common.c (pointer_int_sum): Use verify_type_context to check
4187 whether the target allows pointer arithmetic for the types involved.
4188 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
4189 to check whether the target allows sizeof and alignof operations
4190 for the types involved.
4192 2019-11-27 Jason Merrill <jason@redhat.com>
4194 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
4196 2019-11-26 Jakub Jelinek <jakub@redhat.com>
4199 * c-attribs.c (handle_mode_attribute): Add mode attribute to
4202 2019-11-25 Joseph Myers <joseph@codesourcery.com>
4205 * c-common.c (c_common_type_for_mode): Handle decimal
4206 floating-point types being NULL_TREE.
4207 * c-format.c (get_format_for_type_1): Handle specified types being
4209 * c-lex.c (interpret_float): Give an error for decimal
4210 floating-point constants when decimal floating-point not
4213 2019-11-23 Jakub Jelinek <jakub@redhat.com>
4216 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
4217 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
4218 group warning with inform together.
4219 (handle_access_attribute): Formatting fix.
4221 2019-11-22 Jakub Jelinek <jakub@redhat.com>
4224 * c-common.h (identifier_global_tag): Declare.
4225 * c-format.c (get_pointer_to_named_type): Renamed to ...
4226 (get_named_type): ... this. Use identifier_global_tag instead of
4227 identifier_global_value, handle the return value being a TYPE_P.
4228 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
4229 to call get_named_type instead. Formatting fixes.
4231 Implement P1902R1, Missing feature-test macros 2017-2019.
4232 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
4233 and __cpp_generic_lambdas for -std=c++2a. Define
4234 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
4235 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
4236 __cpp_concepts for -std=c++2a.
4238 2019-11-22 Martin Sebor <msebor@redhat.com>
4241 * c-attribs.c (handle_access_attribute): New function.
4242 (c_common_attribute_table): Add new attribute.
4243 (get_argument_type): New function.
4244 (append_access_attrs): New function.
4245 (get_nonnull_operand): Rename...
4246 (get_attribute_operand): ...to this.
4247 * c-common.c (get_nonnull_operand): Rename...
4248 (get_attribute_operand): ...to this.
4250 2019-11-21 Joseph Myers <joseph@codesourcery.com>
4252 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
4255 2019-11-19 Joseph Myers <joseph@codesourcery.com>
4257 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
4258 warning for standard attributes mixed with fallthrough attributes.
4260 2019-11-15 Joseph Myers <joseph@codesourcery.com>
4262 * c-attribs.c (handle_fallthrough_attribute): Remove static.
4263 * c-common.h (handle_fallthrough_attribute): Declare.
4265 2019-11-15 Joseph Myers <joseph@codesourcery.com>
4267 * c-attribs.c (handle_deprecated_attribute): Remove static.
4268 * c-common.h (handle_deprecated_attribute): Declare.
4270 2019-11-14 Joseph Myers <joseph@codesourcery.com>
4272 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
4275 2019-11-14 Jakub Jelinek <jakub@redhat.com>
4277 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
4280 * c-omp.c (c_omp_check_context_selector): Handle name lists
4281 containing string literals. Don't diagnose atomic_default_mem_order
4282 with multiple props.
4284 2019-11-13 Joseph Myers <joseph@codesourcery.com>
4286 * c-cppbuiltin.c (builtin_define_float_constants): Also define
4287 NORM_MAX constants. Update call to get_max_float.
4288 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
4291 2019-11-13 Eric Botcazou <ebotcazou@adacore.com>
4293 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
4294 (dump_forward_type): Do not generate a declaration for function types.
4295 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
4296 of the component type if it is declared in another file.
4298 2019-11-12 Martin Liska <mliska@suse.cz>
4300 * c-opts.c (c_common_post_options):
4301 Use SET_OPTION_IF_UNSET.
4303 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
4304 Frederik Harwath <frederik@codesourcery.com>
4307 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
4309 * c-pragma.c (oacc_pragmas): Add "serial" entry.
4311 2019-11-08 Richard Sandiford <richard.sandiford@arm.com>
4313 * c-common.h (gnu_vector_type_p): New function.
4314 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
4315 vectors to satisfy gnu_vector_type_p.
4316 (c_build_vec_convert): Likewise __builtin_convertvector.
4317 (convert_vector_to_array_for_subscript): Likewise when applying
4318 implicit vector to array conversion.
4319 (scalar_to_vector): Likewise when converting vector-scalar
4320 operations to vector-vector operations.
4322 2019-11-08 Joseph Myers <joseph@codesourcery.com>
4324 * c.opt (Wold-style-definition): Initialize to -1.
4325 * c-opts.c (c_common_post_options): Set warn_old_style_definition
4326 to flag_isoc2x if not set explicitly.
4328 2019-11-07 Joseph Myers <joseph@codesourcery.com>
4330 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
4332 2019-11-05 Jason Merrill <jason@redhat.com>
4334 * c-opts.c (c_common_post_options): -fconcepts-ts implies
4337 2019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
4339 * c-opts.c (c_common_post_options): Update
4342 2019-11-02 Jakub Jelinek <jakub@redhat.com>
4344 * c-common.h (c_omp_get_context_selector): Remove.
4345 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
4346 and renamed to omp_get_context_selector.
4348 * c-omp.c (c_omp_mark_declare_variant): Use
4349 omp_context_selector_set_compare.
4351 PR c++/88335 - Implement P1073R3: Immediate functions
4352 * c-common.h (enum rid): Add RID_CONSTEVAL.
4353 * c-common.c (c_common_reswords): Add consteval.
4355 2019-11-01 Martin Sebor <msebor@redhat.com>
4361 * c-pretty-print.c (direct_abstract_declarator): Print
4362 bound in zero-length arrays.
4363 * c.opt (-Wzero-length-bounds): New option.
4365 2019-10-30 Nathan Sidwell <nathan@acm.org>
4367 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
4370 2019-10-28 Martin Sebor <msebor@redhat.com>
4373 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
4374 even when only preprocessing.
4375 * c-common.h (names_builtin_p): Declare new function.
4376 * c-lex.c (init_c_lex): Set has_builtin.
4377 (c_common_has_builtin): Define a new function.
4378 * c-ppoutput.c (init_pp_output): Set has_builtin.
4380 2019-10-24 Jakub Jelinek <jakub@redhat.com>
4382 * c-common.h (c_omp_context_selector_matches): Remove.
4383 * c-omp.c (c_omp_context_selector_matches): Remove.
4384 * c-attribs.c (c_common_attribute_table): Add
4385 "omp declare target {host,nohost,block}" attributes.
4387 2019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
4389 * c-lex.c (c_common_has_attribute): Update nodiscard value.
4391 2019-10-14 Richard Sandiford <richard.sandiford@arm.com>
4393 * c-common.h (user_facing_original_type_p): Declare.
4394 * c-common.c: Include c-spellcheck.h.
4395 (user_facing_original_type_p): New function.
4397 2019-10-12 Jakub Jelinek <jakub@redhat.com>
4399 * c-common.h (c_omp_mark_declare_variant,
4400 c_omp_context_selector_matches): Declare.
4401 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
4403 (c_omp_get_context_selector): Support second argument NULL.
4404 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
4406 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
4407 attribute, add "omp declare variant base" and
4408 "omp declare variant variant" attributes.
4410 2019-10-11 Joseph Myers <joseph@codesourcery.com>
4412 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
4413 CppReason(CPP_W_C11_C2X_COMPAT).
4415 2019-10-11 Joseph Myers <joseph@codesourcery.com>
4417 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
4418 _Decimal64 and _Decimal128.
4420 2019-10-10 Joseph Myers <joseph@codesourcery.com>
4422 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
4423 types if DFP not supported.
4425 2019-10-10 Jakub Jelinek <jakub@redhat.com>
4427 * c-common.h (c_omp_check_context_selector,
4428 c_omp_get_context_selector): Declare.
4429 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
4430 in diagnostic message.
4431 (c_omp_check_context_selector, c_omp_get_context_selector): New
4433 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
4435 (handle_omp_declare_variant_attribute): New function.
4437 2019-10-09 Martin Sebor <msebor@redhat.com>
4439 PR tree-optimization/90879
4440 * c.opt (-Wstring-compare): New option.
4442 2019-10-08 Andrew Sutton <asutton@lock3software.com>
4443 Jason Merrill <jason@redhat.com>
4445 Update the concepts implementation to conform to the C++20
4446 specification, improve compile times, and generally clean up
4449 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
4450 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
4451 * c.opt: Add -Wconcepts-ts.
4452 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
4453 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
4454 (set_std_cxx2a): Enable concepts by default.
4456 2019-10-08 Joseph Myers <joseph@codesourcery.com>
4458 * c-opts.c (c_common_post_options): Set
4459 -fno-fp-int-builtin-inexact for C2X.
4461 2019-10-05 Jakub Jelinek <jakub@redhat.com>
4463 PR c++/91369 - Implement P0784R7: constexpr new
4464 * c-cppbuiltin.c (c_cpp_builtins): Predefine
4465 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
4467 2019-10-04 Joseph Myers <joseph@codesourcery.com>
4470 * c-format.c (C_STD_VER): Handle C2x.
4471 (C_STD_NAME): Likewise.
4472 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
4473 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
4474 modifier allowed and 'p' flag.
4475 * c-format.h (enum format_std_version): Add STD_C2X.
4476 (struct format_char_info): Mention 'p' in comment on flags2.
4478 2019-10-01 David Malcolm <dmalcolm@redhat.com>
4480 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
4481 calling diagnostic_show_locus, rather than destroying it afterwards.
4483 2019-10-01 Jakub Jelinek <jakub@redhat.com>
4486 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
4487 with NULL DECL_FIELD_OFFSET.
4489 2019-10-01 Richard Sandiford <richard.sandiford@arm.com>
4491 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
4492 has a type name, use it in preference to the __vector syntax.
4494 2019-09-30 Richard Sandiford <richard.sandiford@arm.com>
4496 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
4497 two spaces between a comma and "...".
4499 2019-09-27 Jakub Jelinek <jakub@redhat.com>
4502 * c-common.h (c_omp_predefined_variable): Declare.
4503 * c-omp.c (c_omp_predefined_variable): New function.
4504 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
4505 for predefined variables.
4507 2019-09-27 Richard Sandiford <richard.sandiford@arm.com>
4509 * c-common.h (build_function_call_vec): Take the original
4510 function decl as an optional final parameter.
4511 (check_builtin_function_arguments): Take the original function decl.
4512 * c-common.c (check_builtin_function_arguments): Likewise.
4513 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
4514 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
4516 2019-09-15 Jason Merrill <jason@redhat.com>
4518 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
4519 fold_for_warn in "|| mask" warning.
4521 2019-09-10 Martin Liska <mliska@suse.cz>
4523 * c.opt: Use newly added WarnRemoved.
4525 2019-09-09 Martin Liska <mliska@suse.cz>
4527 * c.opt: Update comment of removed
4528 options that are preserved only for backward
4531 2019-09-06 Martin Liska <mliska@suse.cz>
4534 * c-common.c: Remove definition of flag_use_repository.
4535 * c-common.h: Likewise.
4536 * c-opts.c (c_common_handle_option):
4537 Do not handle OPT_frepo option.
4538 * c.opt: Mark the option with Deprecated.
4540 2019-09-04 Marek Polacek <polacek@redhat.com>
4542 * c.opt (fdeduce-init-list): Ignored.
4544 2019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4547 * c.opt (Wenum-conversion): New option.
4549 2019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
4551 * c-attribs.c (handle_section_attribute): Call the
4552 handle_generic_attribute target hook after performing target
4553 independent processing.
4554 (handle_noinit_attribute): Likewise.
4556 2019-09-03 Ian Lance Taylor <iant@golang.org>
4558 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
4559 when using -fgo-dump-spec.
4561 2019-09-02 Martin Liska <mliska@suse.cz>
4564 * c-common.c (fname_as_string): Use cxx_printable_name for
4565 __PRETTY_FUNCTION__ same as was used before r265711.
4567 2019-08-28 Marek Polacek <polacek@redhat.com>
4569 Implement P1152R4: Deprecating some uses of volatile.
4571 * c-opts.c (c_common_post_options): Enable -Wvolatile by
4572 default for C++2a, unless -Wno-deprecated.
4573 * c.opt (Wvolatile): New warning.
4575 2019-08-28 Marek Polacek <polacek@redhat.com>
4577 PR c++/91360 - Implement C++20 P1143R2: constinit.
4578 * c-common.c (c_common_reswords): Add constinit and __constinit.
4579 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
4580 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
4583 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
4584 * c-format.c (cxx_keywords): Add "constinit".
4585 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
4587 2019-08-27 Jakub Jelinek <jakub@redhat.com>
4590 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
4591 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
4592 like COMPOUND_EXPR rather than normal expression.
4594 2019-08-23 Iain Sandoe <iain@sandoe.co.uk>
4597 * c-lex.c (c_lex_with_flags): Don't call
4598 c_common_no_more_pch () from here.
4600 2019-08-23 Jakub Jelinek <jakub@redhat.com>
4603 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
4604 instead of flag_excess_precision_cmdline.
4605 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
4606 * c-opts.c (c_common_post_options): Likewise.
4608 2019-08-22 Martin Sebor <msebor@redhat.com>
4611 * c-common.c (braced_list_to_string): Add argument and overload.
4612 Handle flexible length arrays and unions.
4614 2019-08-21 Eric Botcazou <ebotcazou@adacore.com>
4616 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
4617 function declarations where arguments are missing. Rename variables.
4619 2019-08-15 Richard Biener <rguenther@suse.de>
4621 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
4622 enabled, define __SIZETYPE__.
4624 2019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
4626 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
4627 exclusion with "section" attribute.
4628 (attr_noinit_exclusions): New table.
4629 (handle_noinit_attribute): New function.
4631 2019-08-13 Richard Sandiford <richard.sandiford@arm.com>
4634 * c-common.c (resolve_overloaded_builtin): Use
4635 copy_decl_built_in_function.
4637 2019-08-13 Martin Sebor <msebor@redhat.com>
4640 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
4641 (asm_fprintf_length_spec): Same.
4642 * c-format.h (format_lengths): Add FMT_LEN_w.
4644 2019-08-10 Jakub Jelinek <jakub@redhat.com>
4646 * c-pragma.h (enum pragma_omp_clause): Add
4647 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
4649 2019-08-07 Jakub Jelinek <jakub@redhat.com>
4651 * c-pragma.h (enum pragma_omp_clause): Add
4652 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
4653 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
4656 2019-08-05 Marek Polacek <polacek@redhat.com>
4658 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
4659 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
4660 default for C++2a, unless -Wno-deprecated.
4661 * c.opt (Wcomma-subscript): New warning.
4663 2019-07-20 Jakub Jelinek <jakub@redhat.com>
4665 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
4666 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
4667 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
4668 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
4669 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
4670 constructs with the loop construct.
4672 2019-07-13 Jakub Jelinek <jakub@redhat.com>
4675 * c-omp.c (c_omp_split_clauses): Fix a pasto in
4676 OMP_CLAUSE_REDUCTION_TASK handling.
4678 2019-07-12 Jakub Jelinek <jakub@redhat.com>
4680 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
4681 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
4683 2019-07-09 Martin Sebor <msebor@redhat.com>
4686 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
4687 and others to class.
4688 * c-pretty-print.h: Same.
4690 2019-07-09 Martin Sebor <msebor@redhat.com>
4693 * c-format.c (check_argument_type): Change class-key from class to
4694 struct and vice versa to match convention and avoid -Wclass-is-pod
4695 and -Wstruct-no-pod.
4696 * c-pretty-print.h: Same.
4698 2019-07-03 Martin Liska <mliska@suse.cz>
4700 * c-common.c (try_to_locate_new_include_insertion_point): Remove
4703 2019-07-03 Jakub Jelinek <jakub@redhat.com>
4705 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
4706 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
4709 2019-07-02 qing zhao <qing.zhao@oracle.com>
4711 PR preprocessor/90581
4712 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
4713 * c.opt: Add new option -fmax-include-depth.
4715 2019-06-26 Jason Merrill <jason@redhat.com>
4717 PR c++/55442 - memory-hog with highly recursive constexpr.
4718 * c.opt (fconstexpr-loop-limit): New.
4720 2019-06-25 Jakub Jelinek <jakub@redhat.com>
4723 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
4724 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
4726 2019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
4728 * c-common.c (c_common_nodes_and_builtins): Define
4729 alternate "__intN__" name for "__intN" types.
4731 2019-06-24 Jan Hubicka <jh@suse.cz>
4733 * c-common.c (braced_lists_to_strings): Check that
4734 type is array or integer prior checking string flag.
4736 2019-06-21 Matthew Beliveau <mbelivea@redhat.com>
4738 PR c++/90875 - added -Wswitch-outside-range option
4739 * c.opt (Wswitch-outside-range): Added new option.
4740 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
4742 2019-06-21 Marek Polacek <polacek@redhat.com>
4744 PR c++/90953 - ICE with -Wmissing-format-attribute.
4745 * c-common.c (check_function_arguments_recurse): Use
4747 (check_missing_format_attribute): Likewise.
4749 2019-06-19 Marek Polacek <polacek@redhat.com>
4751 PR c++/60364 - noreturn after first decl not diagnosed.
4752 * c-attribs.c (handle_noreturn_attribute): No longer static.
4753 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
4755 * c-format.c (check_function_format): Use get_attribute_name.
4757 2019-06-19 Martin Sebor <msebor@redhat.com>
4759 PR translation/90156
4760 * c-format.c (function_format_info::format_type): Adjust type.
4761 (function_format_info::is_raw): New member.
4762 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
4763 (decode_format_attr): Adjust call to decode_format_type.
4764 Avoid a redundant call to convert_format_name_to_system_name.
4765 Avoid abbreviating the word "arguments" in a diagnostic.
4766 (format_warning_substr): New function.
4767 (avoid_dollar_number): Quote dollar sign in a diagnostic.
4768 (finish_dollar_format_checking): Same.
4769 (check_format_info): Same.
4770 (struct baltoks_t): New.
4771 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
4772 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
4774 (check_format_info_main): Call check_plain. Use baltoks_t. Call
4775 maybe_diag_unbalanced_tokens.
4776 (handle_format_attribute): Spell out the word "arguments" in
4779 2019-06-11 Matthew Beliveau <mbelivea@redhat.com>
4781 PR c++/90449 - add -Winaccessible-base option.
4782 * c.opt (Winaccessible-base): New option.
4784 2019-06-10 Jakub Jelinek <jakub@redhat.com>
4786 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
4787 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
4788 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
4789 combined/composite constructs where it is not allowed. Copy over
4790 OMP_CLAUSE_REDUCTION_INSCAN.
4792 2019-06-05 Martin Sebor <msebor@redhat.com>
4794 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
4795 (handle_alias_ifunc_attribute): Same.
4796 (handle_copy_attribute): Same.
4797 (handle_weakref_attribute): Same.
4798 (handle_nonnull_attribute): Same.
4799 * c-warn.c (warn_for_sign_compare): Same.
4800 (warn_for_restrict): Same.
4803 2019-06-05 Martin Sebor <msebor@redhat.com>
4805 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
4806 * c.opt (-Wformat-diag): Remove a spurious period.
4808 2019-05-29 Jakub Jelinek <jakub@redhat.com>
4811 * c-common.c (check_builtin_function_arguments)
4812 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
4815 2019-05-23 Eric Botcazou <ebotcazou@adacore.com>
4817 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
4819 2019-05-22 Martin Liska <mliska@suse.cz>
4822 * c-attribs.c (handle_copy_attribute): Do not copy
4823 target_clones attribute.
4825 2019-05-21 Eric Botcazou <ebotcazou@adacore.com>
4827 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
4828 * c-ada-spec.c (print_assignment_operator): New function.
4829 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
4830 assignment operators declared as methods and filter out the others.
4832 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
4835 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
4836 "omp declare target".
4838 2019-05-16 Martin Sebor <msebor@redhat.com>
4840 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
4841 keywords, operators, and types in diagnostics.
4842 (handle_scalar_storage_order_attribute): Same.
4843 (handle_mode_attribute): Same.
4844 (handle_visibility_attribute): Same.
4845 (handle_assume_aligned_attribute): Same.
4846 (handle_no_split_stack_attribute): Same.
4847 * c-common.c (shorten_compare): Same.
4848 (c_common_truthvalue_conversion): Same.
4849 (cb_get_source_date_epoch): Same.
4850 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
4852 (interpret_float): Same.
4853 * c-omp.c (c_finish_omp_for): Same.
4854 * c-opts.c (c_common_post_options): Same.
4855 * c-pch.c (c_common_pch_pragma): Same.
4856 * c-pragma.c (pop_alignment): Same.
4857 (handle_pragma_pack): Same.
4858 (apply_pragma_weak): Same.
4859 (handle_pragma_weak): Same.
4860 (handle_pragma_scalar_storage_order): Same.
4861 (handle_pragma_redefine_extname): Same.
4862 (add_to_renaming_pragma_list): Same.
4863 (maybe_apply_renaming_pragma): Same.
4864 (push_visibility): Same.
4865 (handle_pragma_visibility): Same.
4866 (handle_pragma_optimize): Same.
4867 (handle_pragma_message): Same.
4868 * c-warn.c (warn_for_omitted_condop): Same.
4869 (lvalue_error): Same.
4871 2019-05-15 Richard Biener <rguenther@suse.de>
4874 * c-common.c (c_common_mark_addressable_vec): Also mark
4875 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
4878 2019-05-06 Nathan Sidwell <nathan@acm.org>
4880 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
4882 2019-04-30 Nathan Sidwell <nathan@acm.org>
4884 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
4886 2019-04-30 Martin Liska <mliska@suse.cz>
4888 * c-pragma.c (handle_pragma_diagnostic): Provide hints
4889 for unknown options.
4891 2019-04-26 Richard Sandiford <richard.sandiford@arm.com>
4893 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
4894 the pointer target rather than the pointer itself.
4896 2019-04-19 Jakub Jelinek <jakub@redhat.com>
4899 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
4901 (c_do_switch_warnings): Remove outside_range_p argument.
4902 * c-common.c (check_case_bounds): Removed.
4903 (c_add_case_label): Remove orig_type and outside_range_p arguments.
4904 Don't call check_case_bounds. Fold low_value as well as high_value.
4905 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
4906 Check for case labels outside of range of original type here and
4909 2019-04-12 Jakub Jelinek <jakub@redhat.com>
4911 PR translation/90041
4912 * c.opt (-fhandle-exceptions): Use %< and %> around option names
4913 in the Warn diagnostics.
4916 * c-attribs.c (handle_patchable_function_entry_attribute): Add
4917 function comment. Warn if arguments of the attribute are not positive
4920 2019-04-09 Eric Botcazou <ebotcazou@adacore.com>
4922 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
4923 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
4925 2019-04-07 Eric Botcazou <ebotcazou@adacore.com>
4927 * c-ada-spec.c (is_float128): New predicate extracted from...
4928 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
4929 <REAL_TYPE>: ...here. Call it.
4931 2019-04-05 David Malcolm <dmalcolm@redhat.com>
4934 * c-warn.c (check_address_or_pointer_of_packed_member): Add
4935 auto_diagnostic_group. Guard inform calls by result of
4938 2019-04-05 Marek Polacek <polacek@redhat.com>
4940 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
4941 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
4944 2019-04-03 Jason Merrill <jason@redhat.com>
4946 PR c++/86586 - -fcompare-debug=-Wsign-compare.
4947 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
4949 2019-04-01 Martin Sebor <msebor@redhat.com>
4952 * c-attribs.c (handle_copy_attribute): Handle references and
4953 non-constant expressions.
4955 2019-03-22 Jakub Jelinek <jakub@redhat.com>
4958 * c.opt (-fconstexpr-ops-limit=): New option.
4960 2019-03-21 Jakub Jelinek <jakub@redhat.com>
4962 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
4965 2019-03-19 Martin Sebor <msebor@redhat.com>
4967 PR tree-optimization/89688
4968 * c-common.c (braced_list_to_string): Make static.
4969 (braced_lists_to_strings): Define new function.
4970 * c-common.h (braced_list_to_string): Remove.
4971 (braced_lists_to_strings): Declare.
4973 2019-03-12 Martin Liska <mliska@suse.cz>
4975 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
4977 2019-03-11 Martin Liska <mliska@suse.cz>
4979 * c-opts.c (c_common_post_options): Wrap apostrophes
4980 in gcc internal format with %'.
4982 2019-03-11 Martin Liska <mliska@suse.cz>
4984 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
4985 in a string format message and fix GNU coding style.
4986 * c-common.c (vector_types_convertible_p): Likewise.
4987 (c_build_vec_perm_expr): Likewise.
4988 * c-indentation.c (get_visual_column): Likewise.
4989 * c-opts.c (c_common_handle_option): Likewise.
4990 (c_common_post_options): Likewise.
4991 (sanitize_cpp_opts): Likewise.
4992 * c-pch.c (c_common_pch_pragma): Likewise.
4993 * c-pragma.c (handle_pragma_pack): Likewise.
4995 2019-03-08 Jakub Jelinek <jakub@redhat.com>
4997 PR tree-optimization/89550
4998 * c-common.c (c_common_truthvalue_conversion): Only set
4999 TREE_NO_WARNING if warning_at returned true.
5000 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
5002 2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
5003 Martin Sebor <msebor@gmail.com>
5005 * c.opt (Wmissing-attributes): Clean up doc string.
5007 2019-02-25 Jakub Jelinek <jakub@redhat.com>
5010 * c-format.c (maybe_read_dollar_number): Compute nargnum in
5011 HOST_WIDE_INT type to avoid overflows and change overflow_flag
5014 2019-02-22 Richard Biener <rguenther@suse.de>
5016 * c-pch.c (no_checksum): Remove.
5017 (pch_init): Remove assertion that executable_checksum is not
5019 (c_common_valid_pch): Likewise.
5021 2019-02-18 Martin Sebor <msebor@redhat.com>
5024 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
5026 2019-02-16 David Malcolm <dmalcolm@redhat.com>
5029 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
5030 implementing -Wtype-limits.
5032 2019-02-11 Martin Sebor <msebor@redhat.com>
5035 * c-common.c (invalid_array_size_error): New function.
5036 (valid_array_size_p): Call it. Handle size as well as type.
5037 * c-common.h (valid_constant_size_p): New function.
5038 (enum cst_size_error): New type.
5040 2019-01-31 David Malcolm <dmalcolm@redhat.com>
5043 * known-headers.cc (get_stdlib_header_for_name): Add
5044 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
5046 2019-01-31 Jakub Jelinek <jakub@redhat.com>
5049 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
5050 a C cast in pp_c_flag_gnu_v3 mode.
5052 2019-01-29 Jakub Jelinek <jakub@redhat.com>
5055 * c-common.c (c_common_nodes_and_builtins): Build type variants for
5056 builtin_structptr_types types even for C.
5058 2019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
5060 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
5061 when rhs is of array type correctly. Fix handling of nested structures.
5062 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
5063 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
5064 type casts within nested compound expressions.
5066 2019-01-22 Jakub Jelinek <jakub@redhat.com>
5069 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
5070 variable after using BIT_FIELD_REF.
5072 2019-01-18 H.J. Lu <hongjiu.lu@intel.com>
5076 * c-common.h (warn_for_address_or_pointer_of_packed_member):
5077 Remove the boolean argument.
5078 * c-warn.c (check_address_of_packed_member): Renamed to ...
5079 (check_address_or_pointer_of_packed_member): This. Also
5080 warn pointer conversion.
5081 (check_and_warn_address_of_packed_member): Renamed to ...
5082 (check_and_warn_address_or_pointer_of_packed_member): This.
5083 Also warn pointer conversion.
5084 (warn_for_address_or_pointer_of_packed_member): Remove the
5085 boolean argument. Don't check pointer conversion here.
5087 2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
5090 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
5092 2019-01-14 Jakub Jelinek <jakub@redhat.com>
5094 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
5095 and __cpp_nontype_template_parameter_auto. Add a comment that
5096 __cpp_template_auto is deprecated.
5098 2019-01-14 Tom Honermann <tom@honermann.net>
5100 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
5101 * c-common.c (c_common_reswords): Add char8_t.
5102 (fix_string_type): Use char8_t for the type of u8 string literals.
5103 (c_common_get_alias_set): char8_t doesn't alias.
5104 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
5106 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
5107 (keyword_begins_type_specifier): Add RID_CHAR8.
5108 * c-common.h (rid): Add RID_CHAR8.
5109 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
5110 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
5111 Define char8_type_node and char8_array_type_node.
5112 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
5113 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
5114 (c_cpp_builtins): Predefine __cpp_char8_t.
5115 * c-lex.c (lex_string): Use char8_array_type_node as the type of
5117 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
5118 * c-opts.c: If not otherwise specified, enable -fchar8_t when
5120 * c.opt: Add the -fchar8_t command line option.
5122 2019-01-14 Martin Sebor <msebor@redhat.com>
5125 * c-attribs.c (positional_argument): Call valid_format_string_type_p
5126 and issue errors if it fails.
5127 * c-common.h (valid_format_string_type_p): Declare.
5128 * c-format.c (valid_stringptr_type_p): Rename...
5129 (valid_format_string_type_p): ...to this and make extern.
5130 (handle_format_arg_attribute): Adjust to new name.
5131 (check_format_string): Same.
5133 2019-01-13 H.J. Lu <hongjiu.lu@intel.com>
5135 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
5136 Replace "may may" with "may" in warning message.
5138 2019-01-07 Jakub Jelinek <jakub@redhat.com>
5141 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
5142 (c_build_vec_convert): Declare.
5143 * c-common.c (c_build_vec_convert): New function.
5145 2019-01-04 Martin Sebor <msebor@redhat.com>
5148 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
5149 Handle C++ empty throw specification and C11 _Noreturn.
5150 (has_attribute): Also handle C11 _Noreturn.
5152 2019-01-04 Martin Sebor <msebor@redhat.com>
5155 * c-attribs.c (positional_argument): Also accept enumerated types.
5157 2019-01-01 Jakub Jelinek <jakub@redhat.com>
5159 Update copyright years.
5161 2018-12-20 H.J. Lu <hongjiu.lu@intel.com>
5164 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
5165 * c-warn.c (check_alignment_of_packed_member): New function.
5166 (check_address_of_packed_member): Likewise.
5167 (check_and_warn_address_of_packed_member): Likewise.
5168 (warn_for_address_or_pointer_of_packed_member): Likewise.
5169 * c.opt: Add -Wno-address-of-packed-member.
5171 2018-12-20 David Malcolm <dmalcolm@redhat.com>
5174 * c-warn.c (get_outermost_macro_expansion): New function.
5175 (spelled_the_same_p): Use it to unwind the macro expansions, and
5176 compare the outermost macro in each nested expansion, rather than
5179 2018-12-19 David Malcolm <dmalcolm@redhat.com>
5182 * c-common.h (warn_tautological_cmp): Convert 1st param from
5183 location_t to const op_location_t &.
5184 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
5185 when testing for INTEGER_CST.
5186 (warn_tautological_bitwise_comparison): Convert 1st param from
5187 location_t to const op_location_t &; use it to build a
5188 binary_op_rich_location, and use this.
5189 (spelled_the_same_p): New function.
5190 (warn_tautological_cmp): Convert 1st param from location_t to
5191 const op_location_t &. Warn for macro expansions if
5192 spelled_the_same_p. Use binary_op_rich_location.
5194 2018-12-19 David Malcolm <dmalcolm@redhat.com>
5198 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
5199 (verify_tree): Handle location wrappers.
5200 (c_common_truthvalue_conversion): Strip any location wrapper.
5202 (fold_offsetof): Strip any location wrapper.
5203 (complete_array_type): Likewise for initial_value.
5204 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
5205 index before checking for INTEGER_CST.
5206 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
5207 print parentheses around location wrappers.
5208 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
5209 before checking for INTEGER_CST.
5210 (warn_tautological_bitwise_comparison): Call
5211 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
5212 before checking for INTEGER_CST.
5213 (readonly_error): Strip any location wrapper.
5214 (warn_array_subscript_with_type_char): Strip location wrappers
5215 before checking for INTEGER_CST. Use the location of the index if
5218 2018-12-06 Jason Merrill <jason@redhat.com>
5220 PR c++/88136 - -Wdeprecated-copy false positives
5221 * c.opt (Wdeprecated-copy-dtor): New.
5222 (Wdeprecated-copy): Move to -Wextra.
5224 2018-11-29 Martin Sebor <msebor@redhat.com>
5228 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
5229 alignments to values less than the target requires.
5230 (has_attribute): For attribute aligned consider both the attribute
5231 and the alignment bits.
5232 * c-common.c (c_init_attributes): Optionally issue a warning for
5235 2018-11-28 Martin Sebor <msebor@redhat.com>
5239 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
5240 or destination is an error.
5242 2018-11-28 Jakub Jelinek <jakub@redhat.com>
5245 * c-ubsan.c: Include langhooks.h.
5246 (ubsan_instrument_division): Change gcc_assert that main variants
5247 of op0 and op1 types are equal to gcc_checking_assert that the
5248 main variants are compatible types.
5250 2018-11-27 Eric Botcazou <ebotcazou@adacore.com>
5252 * c-ada-spec.c: Include stringpool.h.
5253 (has_static_fields): Return false for incomplete types.
5254 (is_tagged_type): Likewise.
5255 (has_nontrivial_methods): Likewise.
5256 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
5257 (struct overloaded_name_hash): New structure.
5258 (struct overloaded_name_hasher): Likewise.
5259 (overloaded_names): New global variable.
5260 (init_overloaded_names): New static function.
5261 (overloaded_name_p): New predicate.
5262 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
5263 on the TYPE_STUB_DECL of the original type of a typedef, if any.
5264 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
5265 Remove always-true condition and dump forward types.
5266 (dump_ada_specs): Delete overloaded_names.
5268 2018-11-20 Martin Sebor <msebor@redhat.com>
5270 * c-attribs.c (type_for_vector_size): New function.
5271 (type_valid_for_vector_size): Same.
5272 (handle_vector_size_attribute): Move code to the functions above
5274 (validate_attribute, has_attribute): New functions.
5275 * c-common.h (has_attribute): Declare.
5276 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
5277 * c-common.c (c_common_resword): Same.
5279 2018-11-16 Jason Merrill <jason@redhat.com>
5281 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
5282 * c-attribs.c (attr_cold_hot_exclusions): Make public.
5284 2018-11-16 Jakub Jelinek <jakub@redhat.com>
5287 * c-common.c (fix_string_type): Reject string literals larger than
5288 TYPE_MAX_VALUE (ssizetype) bytes.
5290 2018-11-15 Martin Sebor <msebor@redhat.com>
5294 * c-attribs.c (positional_argument): New function.
5295 (handle_alloc_size_attribute): Use it and simplify.
5296 (handle_alloc_align_attribute): Same.
5297 (handle_assume_aligned_attribute): Same.
5298 (handle_nonnull_attribute): Same.
5299 * c-common.c (check_function_arguments): Pass fntype to
5300 check_function_format.
5301 * c-common.h (check_function_format): Add an argument.
5302 (PosArgFlags, positional_argument): Declare new type and function.
5303 * c-format.c (decode_format_attr): Add arguments.
5304 (check_format_string, get_constant): Same.
5305 (convert_format_name_to_system_name): Adjust.
5307 2018-11-15 David Malcolm <dmalcolm@redhat.com>
5310 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
5312 2018-11-14 Jakub Jelinek <jakub@redhat.com>
5314 P1236R1 - Signed integers are two's complement
5315 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
5316 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
5317 with in-range second operand well defined for -std=c++2a.
5320 * c-common.c (parse_optimize_options): Allocate option string from
5321 opts_obstack rather than as GC memory. Move the allocation after
5322 warning for invalid option.
5324 2018-11-13 David Malcolm <dmalcolm@redhat.com>
5326 * c-common.c (c_get_substring_location): Update for renaming of
5327 get_source_location_for_substring to get_location_within_string.
5328 * c-lex.c: Replace "source_location" with "location_t".
5329 * c-opts.c: Likewise.
5330 * c-ppoutput.c: Likewise.
5332 2018-11-13 Martin Sebor <msebor@redhat.com>
5335 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
5336 (handle_tls_model_attribute): Improve diagnostics.
5338 2018-11-12 Jason Merrill <jason@redhat.com>
5340 * c-cppbuiltin.c (c_cpp_builtins): Define
5341 __cpp_impl_destroying_delete.
5343 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
5344 __cpp_conditional_explicit.
5346 2018-11-09 Martin Sebor <msebor@redhat.com>
5349 * c-attribs.c (handle_copy_attribute): New function.
5351 2018-11-09 Martin Sebor <msebor@redhat.com>
5354 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
5356 2018-11-08 Jakub Jelinek <jakub@redhat.com>
5358 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
5359 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
5360 enum omp_memory_order MEMORY_ORDER.
5361 (c_finish_omp_flush): Add MO argument.
5362 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
5363 (c_finish_omp_for): Add FINAL_P argument.
5364 * c-omp.c: Include memmodel.h.
5365 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
5366 OMP_TASKGROUP_CLAUSES to it.
5367 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
5368 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
5369 instead of OMP_ATOMIC_SEQ_CST.
5370 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
5371 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
5372 __atomic_thread_fence call with the given value.
5373 (check_omp_for_incr_expr): Formatting fixes.
5374 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
5375 even in OpenMP loops, diagnose if NE_EXPR and incr expression
5376 is not constant expression 1 or -1. Transform NE_EXPR loops
5377 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
5378 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
5380 (c_omp_split_clauses): Add support for combined
5381 #pragma omp parallel master and
5382 #pragma omp {,parallel }master taskloop{, simd} constructs.
5383 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
5384 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
5385 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
5386 (c_omp_predetermined_sharing): Don't return
5387 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
5388 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
5389 PRAGMA_OMP_REQUIRES.
5390 * c-pragma.h (enum pragma_kind): Likewise.
5391 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
5392 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
5394 2018-11-08 David Malcolm <dmalcolm@redhat.com>
5396 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
5398 2018-11-08 David Malcolm <dmalcolm@redhat.com>
5400 * c-format.c (local_cgraph_node_ptr_node): New variable.
5401 (gcc_dump_printf_char_table): Add entry for %C.
5402 (get_pointer_to_named_type): New function, taken from the handling
5403 code for "gimple *" from...
5404 (init_dynamic_diag_info): ...here. Add handling for
5406 * c-format.h (T_CGRAPH_NODE): New.
5408 2018-10-19 Jason Merrill <jason@redhat.com>
5410 * c-cppbuiltin.c (c_cpp_builtins): Add
5411 __cpp_nontype_template_parameter_class.
5413 2018-10-31 Nathan Sidwell <nathan@acm.org>
5415 * c-opts.c (c_finish_options): Force command line macro
5416 location. Refactor to avoid repeating main debug hook.
5417 (push_command_line_include): Clarify comment.
5419 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
5421 2018-10-30 Martin Sebor <msebor@redhat.com>
5424 * c-format.c (check_format_types): Avoid diagnosing null pointer
5425 arguments to printf-family of functions.
5427 2018-10-30 Marek Polacek <polacek@redhat.com>
5429 Implement P0892R2, explicit(bool).
5430 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
5432 2018-10-29 David Malcolm <dmalcolm@redhat.com>
5434 * name-hint.h (name_hint::take_deferred): New member function.
5436 2018-10-29 David Malcolm <dmalcolm@redhat.com>
5439 * c-common.c (check_function_sentinel): Call fold_for_warn on the
5441 (check_function_restrict): Rename param "argarray" to
5442 "unfolded_argarray", and make a copy named "argarray", calling
5443 fold_for_warn on each argument.
5444 (check_function_arguments): Add note about responsibility for
5445 folding the arguments.
5447 2018-10-17 Joseph Myers <joseph@codesourcery.com>
5449 * c-common.c (flag_isoc2x): New variable.
5450 * c-common.h (clk_c): Update comment to reference C2X.
5451 (flag_isoc99, flag_isoc11): Update comments to reference future
5452 standard versions in general.
5453 (flag_isoc2x): Declare.
5454 * c-opts.c (set_std_c2x): New function.
5455 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
5456 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
5458 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
5460 2018-10-17 Joseph Myers <joseph@codesourcery.com>
5462 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
5463 (std=iso9899:2018): Document C17 as published in 2018.
5465 2018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
5468 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
5470 2018-10-11 Will Wray <wjwray@gmail.com>
5473 * c-pretty-print.h (pp_c_type_cast): Prototype.
5474 (pp_c_integer_constant): Likewise.
5475 * c-pretty-print.c (pp_c_type_cast): No longer static.
5476 (pp_c_integer_constant): Likewise.
5477 (pp_c_enumeration_constant): Fix loop termination when finding
5478 name of constant. No longer returns a value. Call
5479 pp_c_integer_constant.
5480 (c_pretty_printer::constant): Update for changes to
5481 pp_c_enumeration_constant.
5483 2018-10-11 Jakub Jelinek <jakub@redhat.com>
5485 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
5486 for no_unique_address.
5488 2018-10-09 David Malcolm <dmalcolm@redhat.com>
5490 * c-common.c (c_option_controlling_cpp_error): Rename to...
5491 (c_option_controlling_cpp_diagnostic): ...this, and convert
5492 "reason" from int to enum.
5493 (c_cpp_error): Rename to...
5494 (c_cpp_diagnostic): ...this, converting level and reason to enums.
5495 * c-common.h (c_cpp_error): Rename to...
5496 (c_cpp_diagnostic): ...this, converting level and reason to enums.
5497 * c-opts.c (c_common_init_options): Update for renaming.
5499 2018-10-08 Richard Sandiford <richard.sandiford@arm.com>
5502 * c-common.c (vector_types_compatible_elements_p): Use
5503 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
5505 2018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
5507 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
5508 to generate constructor destructor priority warning.
5509 * c.opt (-Wprio-ctor-dtor): New option.
5511 2018-10-01 Jason Merrill <jason@redhat.com>
5513 * c-lex.c (c_common_has_attribute): Add no_unique_address.
5515 2018-10-01 Eric Botcazou <ebotcazou@adacore.com>
5517 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
5518 (dump_ada_node): Add const keyword.
5520 2018-09-25 Martin Liska <mliska@suse.cz>
5522 * c-common.c (c_common_truthvalue_conversion):
5523 Remove Pascal from documentation.
5525 2018-09-21 Eric Botcazou <ebotcazou@adacore.com>
5527 * c-ada-spec.c: Include diagnostic.h.
5528 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
5530 2018-09-19 Marek Polacek <polacek@redhat.com>
5532 * c.opt (Wclass-conversion): New.
5534 2018-09-17 David Malcolm <dmalcolm@redhat.com>
5536 * c-format.c (range_label_for_format_type_mismatch::get_text):
5537 Update for new param.
5539 2018-09-17 David Malcolm <dmalcolm@redhat.com>
5541 * c-format.c (format_warning_at_char): Update for introduction of
5542 format_string_diagnostic_t.
5543 (format_type_warning): Likewise.
5545 2018-09-17 Martin Jambor <mjambor@suse.cz>
5548 * c.opt (Wabsolute-value): New.
5550 2018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
5552 * c-common.c (complete_flexible_array_elts): New helper function.
5553 * c-common.h (complete_flexible_array_elts): Declare.
5555 2018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5557 * c-common.c (braced_list_to_string): Remove eval parameter.
5558 Add some more checks. Always create zero-terminated STRING_CST.
5559 * c-common.h (braced_list_to_string): Adjust prototype.
5561 2018-08-27 David Malcolm <dmalcolm@redhat.com>
5564 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
5566 (maybe_suggest_missing_token_insertion): Likewise.
5567 (maybe_add_include_fixit): Add param "override_location". If set,
5568 and source-printing is enabled, then override the rich_location's
5569 primary location with that of the insertion point for the fix-it
5570 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
5571 * c-common.h (extern void maybe_add_include_fixit): Add bool
5573 * c-format.c (selftest::test_type_mismatch_range_labels): Update
5574 for conversion of show_caret_p to a tri-state.
5575 * c-warn.c (warn_for_restrict): Likewise.
5577 (suggest_missing_header::~suggest_missing_header): Update call to
5578 maybe_add_include_fixit to suggest overriding the location, as it
5581 2018-08-27 Martin Liska <mliska@suse.cz>
5583 * c-common.c (check_function_restrict): Use new function
5584 fndecl_built_in_p and remove check for FUNCTION_DECL if
5586 (check_builtin_function_arguments): Likewise.
5587 (reject_gcc_builtin): Likewise.
5588 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
5590 2018-08-26 Marek Polacek <polacek@redhat.com>
5592 PR c++/87029, Implement -Wredundant-move.
5593 * c.opt (Wredundant-move): New option.
5595 2018-08-21 Marek Polacek <polacek@redhat.com>
5597 PR c++/86981, Implement -Wpessimizing-move.
5598 * c.opt (Wpessimizing-move): New option.
5600 2018-08-20 David Malcolm <dmalcolm@redhat.com>
5603 * c-attribs.c (common_handle_aligned_attribute): Add
5604 auto_diagnostic_group instance.
5605 * c-indentation.c (warn_for_misleading_indentation): Likewise.
5606 * c-opts.c (c_common_post_options): Likewise.
5607 * c-warn.c (warn_logical_not_parentheses): Likewise.
5608 (warn_duplicated_cond_add_or_warn): Likewise.
5609 (warn_for_multistatement_macros): Likewise.
5611 2018-08-20 Nathan Sidwell <nathan@acm.org>
5613 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
5616 2018-08-17 Nathan Sidwell <nathan@acm.org>
5618 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
5620 (laxy_hex_fp_value_count): Make unsigned.
5621 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
5622 manipulate the macro.
5623 (builtin_defin_with_hex_fp_value): Adjust callback name, use
5626 2018-08-17 David Malcolm <dmalcolm@redhat.com>
5628 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
5629 (gcc_dump_printf_length_specs): New.
5630 (gcc_dump_printf_flag_pairs): New.
5631 (gcc_dump_printf_flag_specs): New.
5632 (gcc_dump_printf_char_table): New.
5633 (format_types_orig): Add entry for "gcc_dump_printf".
5634 (init_dynamic_diag_info): Set up length_char_specs and
5635 conversion_specs for gcc_dump_printf_format_type.
5636 (handle_format_attribute): Handle gcc_dump_printf_format_type.
5638 2018-08-17 Nathan Sidwell <nathan@acm.org>
5640 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
5642 * c-ada-spec.c: Don't #include "cpp-id-data.h"
5643 * c-cppbuiltin.c: Likewise.
5645 2018-08-17 Martin Liska <mliska@suse.cz>
5647 * c.opt: Remove Warn, Init and Report for options with
5648 Ignore/Deprecated flag. Warning is done automatically for
5651 2018-08-16 David Malcolm <dmalcolm@redhat.com>
5654 * c-common.c (selftest::c_family_tests): Call
5655 selftest::c_indentation_c_tests.
5656 * c-common.h (selftest::c_indentation_c_tests): New decl.
5657 * c-indentation.c: Include "selftest.h".
5658 (next_tab_stop): Add "tab_width" param, rather than accessing
5660 (get_visual_column): Likewise. Clarify comment. Bulletproof
5661 against reading past the end of the line.
5662 (get_first_nws_vis_column): Add "tab_width" param.
5663 (detect_intervening_unindent): Likewise.
5664 (should_warn_for_misleading_indentation): Read tab width from
5665 cpp_opts and pass around.
5666 (selftest::test_next_tab_stop): New test.
5667 (selftest::assert_get_visual_column_succeeds): New function.
5668 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
5669 (selftest::assert_get_visual_column_fails): New function.
5670 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
5671 (selftest::test_get_visual_column): New test.
5672 (selftest::c_indentation_c_tests): New function.
5674 2018-08-16 Nathan Sidwell <nathan@acm.org>
5676 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
5677 (store_ada_macro): Likewise.
5678 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
5679 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
5681 2018-08-15 David Malcolm <dmalcolm@redhat.com>
5683 * c-format.c: Include "selftest-diagnostic.h" and
5684 "gcc-rich-location.h".
5685 (format_warning_at_char): Pass NULL for new label params of
5687 (class indirection_suffix): New class.
5688 (class range_label_for_format_type_mismatch): New class.
5689 (format_type_warning): Move logic for generating "*" suffix to
5690 class indirection_suffix. Create "fmt_label" and "param_label"
5691 to show their types, and pass them to the
5692 format_warning_at_substring calls.
5693 (selftest::test_type_mismatch_range_labels): New test.
5694 (selftest::c_format_c_tests): Call it.
5696 2018-08-13 Martin Sebor <msebor@redhat.com>
5698 PR tree-optimization/71625
5699 * c-common.c (braced_list_to_string): New function.
5700 * c-common.h (braced_list_to_string): Declare it.
5702 2018-08-08 Nathan Sidwell <nathan@acm.org>
5704 * c-common.c (try_to_locate_new_include_inertion_point): Use
5705 linemap_included_from_linemap.
5706 * c-lex.c (fe_file_change): Use linemap_included_from.
5707 * c-ppoutput.c (pp_file_change): Likewise.
5709 2018-08-01 Martin Sebor <msebor@redhat.com>
5711 PR tree-optimization/86650
5712 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
5713 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
5714 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
5715 * c-format.h (T89_G): Update to be "gimple *" rather than
5717 (local_gcall_ptr_node): Rename...
5718 (local_gimple_ptr_node): ...to this.
5720 2018-07-31 David Malcolm <dmalcolm@redhat.com>
5722 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
5723 table entries for gcc_diag_char_table, and the 'Z' entry from
5724 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
5725 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
5726 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
5727 adding missing "Z" for this table. Remove erroneous "G" and "K"
5729 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
5730 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
5731 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
5733 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
5735 * c-common.c (speculation_safe_resolve_call): New function.
5736 (speculation_safe_resolve_params): New function.
5737 (speculation_safe_resolve_return): New function.
5738 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
5739 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
5740 __HAVE_SPECULATION_SAFE_VALUE.
5742 2018-07-20 David Malcolm <dmalcolm@redhat.com>
5744 * c-common.c (c_cpp_error): Remove redundant "line_table"
5745 parameter from call to rich_location::set_range.
5746 (maybe_suggest_missing_token_insertion): Likewise.
5748 2018-07-20 Martin Sebor <msebor@redhat.com>
5751 * c.opt (-Warray-bounds): Remove redundant -Wall.
5753 2018-07-20 Martin Sebor <msebor@redhat.com>
5756 * c-common.h (c_common_handle_option): Change function argument
5758 * c-opts.c (c_common_init_options): Same.
5759 (c_common_handle_option): Same. Remove special handling of
5760 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
5761 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
5762 options to take a HOST_WIDE_INT argument and accept a byte-size
5764 (-Wvla-larger-than): Same.
5765 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
5766 (-Wno-vla-larger-than): Same.
5768 2018-07-12 Jakub Jelinek <jakub@redhat.com>
5770 * c-attribs.c (c_common_attribute_table): Add
5771 "omp declare target implicit" attribute.
5773 2018-07-12 Richard Biener <rguenther@suse.de>
5776 * c-attribs.c (handle_packed_attribute): Do not build a variant
5777 type with TYPE_PACKED, instead ignore the attribute if we may
5778 not apply to the original type.
5780 2018-07-10 Jakub Jelinek <jakub@redhat.com>
5783 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
5784 to contain TREE_LIST for both the original class iterator and the
5787 2018-07-07 Eric Botcazou <ebotcazou@adacore.com>
5789 * c-ada-spec.c (to_ada_name): Remove index parameter.
5790 (pp_ada_tree_identifier): Likewise.
5791 (dump_ada_macros): Adjust call to to_ada_name.
5792 (struct overloaded_name_hash): Delete.
5793 (struct overloaded_name_hasher): Likewise.
5794 (overloaded_names): Likewise.
5795 (compute_overloading_index): Likewise.
5796 (dump_ada_decl_name): Do not call compute_overloading_index and
5797 adjust calls to pp_ada_tree_identifier.
5798 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
5799 (dump_ada_import): Add spc parameter and switch to aspect syntax.
5800 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
5801 (dump_ada_enum_type): Remove type and display_convention parameters.
5802 Adjust calls to pp_ada_tree_identifier.
5803 (dump_ada_node): Likewise and for dump_ada_structure.
5804 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
5806 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
5808 (print_constructor): Adjust call to pp_ada_tree_identifier.
5809 (print_destructor): Likewise.
5810 (dump_ada_declaration): Switch to aspect syntax.
5811 (dump_ada_structure): Likewise and tidy up. Replace display_convention
5812 parameter with nested parameter.
5813 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
5814 (dump_ada_specs): Do not delete overloaded_names table.
5816 2018-07-06 Peter Bergner <bergner@linux.ibm.com>
5819 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
5822 2018-07-05 Nathan Sidwell <nathan@acm.org>
5824 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
5825 NO_IMPLICIT_EXTERN_C.
5827 2018-06-28 Martin Liska <mliska@suse.cz>
5829 * cppspec.c: Include opt-suggestions.h.
5831 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
5832 Thomas Schwinge <thomas@codesourcery.com>
5833 Cesar Philippidis <cesar@codesourcery.com>
5835 * c-pragma.h (enum pragma_omp_clause): Add
5836 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
5837 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
5839 2018-06-20 Jakub Jelinek <jakub@redhat.com>
5842 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
5845 2018-06-18 Martin Sebor <msebor@redhat.com>
5848 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
5851 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
5853 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
5855 2018-06-13 Jason Merrill <jason@redhat.com>
5857 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
5858 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
5861 PR c++/86094 - wrong code with defaulted move ctor.
5862 * c-opts.c (c_common_post_options): Bump the current ABI version to
5863 13. Set warn_abi_version and flag_abi_compat_version to the current
5864 version rather than 0. Fix defaulting flag_abi_compat_version from
5867 2018-06-12 Martin Sebor <msebor@redhat.com>
5870 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
5871 sizeof source and destination yields the same value.
5873 2018-06-12 Martin Liska <mliska@suse.cz>
5875 * c.opt: Make MPX-related options as Deprecated.
5877 2018-06-08 David Malcolm <dmalcolm@redhat.com>
5879 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
5882 2018-06-08 Martin Liska <mliska@suse.cz>
5884 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
5885 for MPX (macros, related functions, fields in cgraph_node, ...).
5886 (handle_bnd_legacy): Likewise.
5887 (handle_bnd_instrument): Likewise.
5890 2018-06-06 Jakub Jelinek <jakub@redhat.com>
5893 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
5894 __cpp_transactional_memory to 201500 instead of 210500.
5896 2018-06-06 Jason Merrill <jason@redhat.com>
5898 PR c++/85710 - ICE with -Wmemset-elt-size.
5899 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
5901 2018-06-01 Jason Merrill <jason@redhat.com>
5903 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
5906 2018-06-01 Eric Botcazou <ebotcazou@adacore.com>
5908 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
5909 declaration for a typedef independently of whether the declaration of
5910 the subtype is generated.
5912 2018-05-31 Martin Sebor <msebor@redhat.com>
5915 * c.opt (-Wno-alloc-size-larger-than): New option.
5917 2018-04-22 David Pagan <dave.pagan@oracle.com>
5920 * c-opts.c (c_common_post_options): Set default for warn_return_type
5921 for C++/C++ with ObjC extensions only. For C, makes it possible to
5922 differentiate between default (no option), -Wreturn-type, and
5925 2018-05-29 Jason Merrill <jason@redhat.com>
5927 * c.opt (Winit-list-lifetime): New flag.
5929 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
5931 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
5932 splay_tree_delete_pointers.
5934 2018-05-26 Jakub Jelinek <jakub@redhat.com>
5937 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
5938 noinline variable to workaround broken kernel headers.
5940 2018-05-18 Jason Merrill <jason@redhat.com>
5942 * c.opt (Wdeprecated-copy): New flag.
5944 2018-05-17 Martin Liska <mliska@suse.cz>
5946 * c-warn.c (overflow_warning): Do not use
5947 space in between 'G_' and '('.
5949 2018-05-09 Jason Merrill <jason@redhat.com>
5951 * c-common.c (valid_array_size_p): Add complain parameter.
5952 * c-common.h: ...which defaults to true.
5954 2018-05-11 Jakub Jelinek <jakub@redhat.com>
5957 * c-omp.c (c_omp_predetermined_sharing): Return
5958 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
5960 2018-05-11 Martin Liska <mliska@suse.cz>
5963 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
5966 2018-05-10 Jakub Jelinek <jakub@redhat.com>
5969 * c-common.h (fold_offsetof_1): Removed.
5970 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
5971 CTX argument defaulted to ERROR_MARK.
5972 * c-common.c (fold_offsetof_1): Renamed to ...
5973 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
5974 argument, convert the pointer constant to TYPE and use size_binop
5975 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
5976 a pointer type. Adjust recursive calls.
5978 2018-05-10 Eric Botcazou <ebotcazou@adacore.com>
5981 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
5983 2018-05-07 Nathan Sidwell <nathan@acm.org>
5985 * c.opt (ffor-scope): Remove functionality, issue warning.
5987 2018-05-03 Nathan Sidwell <nathan@acm.org>
5989 * c.opt (ffriend-injection): Remove functionality, issue warning.
5991 2018-05-01 David Malcolm <dmalcolm@redhat.com>
5994 * c-format.c (struct format_check_results): Add field
5996 (check_format_info): Initialize it, and warn if encountered.
5997 (check_format_arg): Distinguish between wide char and
5998 everything else when detecting arrays of non-char.
6000 2018-04-30 David Malcolm <dmalcolm@redhat.com>
6002 * c-format.c (get_corrected_substring): Update for
6003 location_get_source_line returning a char_span. Use a char_span
6004 when handling the prefix of the correction.
6005 * c-indentation.c (get_visual_column): Update for
6006 location_get_source_line returning a char_span.
6007 (get_first_nws_vis_column): Likewise.
6009 2018-03-29 David Malcolm <dmalcolm@redhat.com>
6012 * known-headers.cc (get_stdlib_header_for_name): Add various names
6013 from <assert.h>, <string.h>, and <memory.h>; add more names from
6016 2018-03-27 Jakub Jelinek <jakub@redhat.com>
6019 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
6020 get_base_address of the second operand is a VAR_P, rather than the
6021 operand itself, and use gcc_checking_assert instead of gcc_assert.
6023 2018-03-23 Marek Polacek <polacek@redhat.com>
6026 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
6027 <case RDIV_EXPR>: Tweak condition.
6029 2018-03-20 Eric Botcazou <ebotcazou@adacore.com>
6031 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
6033 2018-03-16 Jakub Jelinek <jakub@redhat.com>
6036 * c-warn.c (conversion_warning): Replace "to to" with "to" in
6040 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
6043 2018-03-16 Richard Biener <rguenther@suse.de>
6046 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
6047 unshare the possibly folded expression.
6049 2018-03-15 Richard Biener <rguenther@suse.de>
6052 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
6054 2018-03-13 Martin Sebor <msebor@redhat.com>
6056 PR tree-optimization/84725
6057 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
6058 with all three narrow character types, including their qualified forms.
6060 2018-03-12 Martin Sebor <msebor@redhat.com>
6062 PR tree-optimization/83456
6063 * c-common.c (check_function_restrict): Return bool.
6064 Restore checking of bounded built-in functions.
6065 (check_function_arguments): Also return the result
6066 of warn_for_restrict.
6067 * c-common.c (check_function_restrict): Return bool.
6068 * c-warn.c (warn_for_restrict): Return bool.
6070 2018-03-02 Marek Polacek <polacek@redhat.com>
6073 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
6076 2018-03-02 Thomas Schwinge <thomas@codesourcery.com>
6078 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
6081 2018-03-01 Marek Polacek <polacek@redhat.com>
6084 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
6085 alignment in computation.
6087 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
6089 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
6090 <REAL_TYPE>: Deal specifically with _Float128/__float128.
6092 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
6094 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
6095 (is_char_array): Take a type instead of a declaration.
6096 (dump_ada_array_type): Likewise.
6097 (is_simple_enum): Minor tweak.
6098 (dump_ada_enum_type): New function extracted from...
6099 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
6100 <INTEGER_TYPE>: Remove unreachable code.
6101 <RECORD_TYPE>: Likewise. Minor tweaks.
6102 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
6103 <ENUMERAL_TYPE>: New case.
6104 <RECORD_TYPE>: Factor out common code.
6105 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
6106 Minor tweaks. Deal with enumeral types.
6107 (dump_ada_structure): Minor tweaks.
6109 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
6111 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
6112 address for incomplete structures.
6113 (dump_forward_type): Do not bail out for incomplete structures.
6114 (dump_ada_declaration): Do not special-case incomplete structures
6115 for subtypes. Dump them as null records for types.
6117 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
6119 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
6120 (is_char_array): Fix formatting.
6121 (dump_template_types): Likewise.
6122 (dump_generic_ada_node): Rename into...
6123 (dump_ada_node): ...this.
6124 <POINTER_TYPE>: Remove superfluous space. Use generic address for
6125 incomplete structures and not for empty structures. Do not use it
6126 when forward declarations are needed.
6127 (dump_forward_type): New function.
6128 (dump_nested_types): Remove FORWARD parameter. Do not consider
6129 TREE_VISITED and do not generate a forward declaration. Only dump
6130 original nested types for nested declaration.
6131 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
6132 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
6133 <RECORD_TYPE>: Do not consider TREE_VISITED.
6134 (dump_ada_declaration): Use booleans and fix formatting throughout.
6135 <TYPE_DECL>: Skip incomplete structures and not empty structures.
6136 Call dump_forward_type instead of dump_nested_types for a typedef.
6137 Remove superfluous check and adjust call to dump_nested_types.
6138 <POINTER_TYPE>: Call dump_forward_type and fall through.
6139 (dump_ada_struct_decl): Rename into...
6140 (dump_ada_structure): ...this. Do not special-case empty structures.
6142 2018-02-27 Martin Sebor <msebor@redhat.com>
6145 * c.opt (-Wmissing-attributes): New option.
6147 2018-02-21 Martin Liska <mliska@suse.cz>
6149 * c.opt (Wcatch-value=): Add IntegerRange.
6151 2018-02-15 Jason Merrill <jason@redhat.com>
6153 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
6155 2018-02-09 Nathan Sidwell <nathan@acm.org>
6158 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
6160 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
6163 2018-02-09 Martin Sebor <msebor@redhat.com>
6166 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
6167 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
6168 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
6169 (-Wstrict-overflow, -Wsuggest-attribute): Same.
6170 (-Wuninitialized): Same.
6172 2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
6174 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
6175 keyword for components.
6177 2018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
6179 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
6181 2018-02-02 Julia Koval <julia.koval@intel.com>
6183 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
6185 2018-01-29 Marek Polacek <polacek@redhat.com>
6188 * c-format.c (check_function_format): Check current_function_decl.
6190 2018-01-27 Jakub Jelinek <jakub@redhat.com>
6192 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
6194 (LAZY_HEX_FP_VALUES_CNT): Define.
6195 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
6196 values rather than just 12.
6197 (builtin_define_with_hex_fp_value): Likewise.
6199 2018-01-18 Boris Kolpackov <boris@codesynthesis.com>
6202 * c.opt (-fmacro-prefix-map): New option.
6203 * c-opts.c (c_common_handle_option): Handle it.
6204 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
6205 * c-ppoutput.c (init_pp_output): Likewise.
6207 2018-01-17 David Malcolm <dmalcolm@redhat.com>
6210 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
6212 2018-01-10 Eric Botcazou <ebotcazou@adacore.com>
6214 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
6215 Skip 'f' and 'F' characters if it is true.
6216 (store_ada_macro): Minor tweak.
6217 (dump_ada_macros) <CPP_COMMENT>: Likewise.
6218 <CPP_WSTRING>: Likewise.
6219 <CPP_STRING>: Output '&' in the buffer if not the first string.
6220 <CPP_NUMBER>: Adjust calls to dump_number.
6222 2018-01-10 David Malcolm <dmalcolm@redhat.com>
6225 * c-common.c: Include "selftest.h".
6226 (get_atomic_generic_size): Perform the test for integral type
6227 before the range test for any integer constant, fixing indentation
6228 of braces. Call fold_for_warn before testing for an INTEGER_CST.
6229 (reject_gcc_builtin): Strip any location wrapper from EXPR.
6230 (selftest::test_fold_for_warn): New function.
6231 (selftest::c_common_c_tests): New function.
6232 (selftest::c_family_tests): Call it, and
6233 selftest::c_pretty_print_c_tests.
6234 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
6235 * c-format.c (check_format_arg): Convert VAR_P check to a
6237 * c-pretty-print.c: Include "selftest.h".
6238 (pp_c_cast_expression): Don't print casts for location wrappers.
6239 (selftest::assert_c_pretty_printer_output): New function.
6240 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
6241 (selftest::test_location_wrappers): New function.
6242 (selftest::c_pretty_print_c_tests): New function.
6243 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
6245 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
6246 Alan Hayward <alan.hayward@arm.com>
6247 David Sherwood <david.sherwood@arm.com>
6249 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
6251 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
6252 Alan Hayward <alan.hayward@arm.com>
6253 David Sherwood <david.sherwood@arm.com>
6255 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
6258 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
6259 Alan Hayward <alan.hayward@arm.com>
6260 David Sherwood <david.sherwood@arm.com>
6262 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
6263 (convert_vector_to_array_for_subscript): Handle polynomial
6264 TYPE_VECTOR_SUBPARTS.
6265 (c_common_type_for_mode): Check valid_vector_subparts_p.
6266 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
6269 2018-01-03 Jakub Jelinek <jakub@redhat.com>
6271 Update copyright years.
6273 2017-12-22 Mike Stump <mikestump@comcast.net>
6274 Eric Botcazou <ebotcazou@adacore.com>
6276 * c-pragma.c (init_pragma): Register pragma GCC unroll.
6277 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
6279 2017-12-22 Alexandre Oliva <aoliva@redhat.com>
6283 * c-semantics.c (only_debug_stmts_after_p): New.
6284 (pop_stmt_list): Clear side effects in debug-only stmt list.
6285 Check for single nondebug stmt followed by debug stmts only.
6287 2017-12-21 Alexandre Oliva <aoliva@redhat.com>
6290 * c-semantics.c (pop_stmt_list): Propagate side effects from
6291 single nondebug stmt to container list.
6293 2017-12-19 Jakub Jelinek <jakub@redhat.com>
6295 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
6296 conditions with typical order conditions.
6298 2017-12-18 Marek Polacek <polacek@redhat.com>
6300 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
6303 2017-12-17 Martin Sebor <msebor@redhat.com>
6305 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
6306 an error for attribute warn_if_not_aligned.
6308 2017-12-16 Martin Sebor <msebor@redhat.com>
6310 PR tree-optimization/78918
6311 * c-common.c (check_function_restrict): Avoid checking built-ins.
6312 * c.opt (-Wrestrict): Include in -Wall.
6314 2017-12-15 Jakub Jelinek <jakub@redhat.com>
6316 * c-attribs.c (c_common_attribute_table,
6317 c_common_format_attribute_table): Swap affects_type_identity
6318 and handler fields, adjust comments.
6320 2017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
6322 * c.opt (Wcast-function-type): New warning option.
6323 * c-lex.c (get_fileinfo): Avoid warning.
6324 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
6326 2017-12-14 Qing Zhao <qing.zhao@oracle.com>
6329 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
6330 Adjust the size of buf1 and buf2, add a new buf to avoid
6331 format-overflow warning.
6333 2017-12-12 Alexandre Oliva <aoliva@redhat.com>
6335 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
6336 subsequent statement list.
6338 2017-12-07 Martin Sebor <msebor@redhat.com>
6342 * c-attribs.c (attr_aligned_exclusions): New array.
6343 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
6344 (attr_common_exclusions, attr_const_pure_exclusions): Same.
6345 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
6346 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
6347 (attr_warn_unused_result_exclusions): Same.
6348 (handle_hot_attribute, handle_cold_attribute): Simplify.
6349 (handle_const_attribute): Warn on function returning void.
6350 (handle_pure_attribute): Same.
6351 (handle_aligned_attribute): Diagnose conflicting attribute
6353 * c-warn.c (diagnose_mismatched_attributes): Simplify.
6355 2017-12-06 David Malcolm <dmalcolm@redhat.com>
6358 * c-common.c (selftest::c_family_tests): Call
6359 selftest::c_spellcheck_cc_tests.
6360 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
6361 * c-spellcheck.cc: Include "selftest.h".
6362 (name_reserved_for_implementation_p): New function.
6363 (should_suggest_as_macro_p): New function.
6364 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
6365 should_suggest_as_macro_p and call it.
6366 (selftest::test_name_reserved_for_implementation_p): New function.
6367 (selftest::c_spellcheck_cc_tests): New function.
6368 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
6370 2017-12-06 David Malcolm <dmalcolm@redhat.com>
6372 * c-spellcheck.cc: New file, taken from macro-handling code in
6374 * c-spellcheck.h: New file, taken from macro-handling code in
6377 2017-12-01 Jakub Jelinek <jakub@redhat.com>
6379 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
6381 (handle_simd_attribute): Don't check for "cilk simd function"
6382 attribute. Reindent, formatting changes.
6384 2017-11-30 Julia Koval <julia.koval@intel.com>
6386 * c-common.h (inv_list): Remove.
6388 2017-11-28 Jakub Jelinek <jakub@redhat.com>
6391 * c-common.c (c_switch_covers_all_cases_p_1,
6392 c_switch_covers_all_cases_p): New functions.
6393 * c-common.h (c_switch_covers_all_cases_p): Declare.
6395 2017-11-28 Julia Koval <julia.koval@intel.com>
6396 Sebastian Peryt <sebastian.peryt@intel.com>
6398 * array-notation-common.c: Delete.
6399 * c-cilkplus.c: Ditto.
6400 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
6401 * c-common.def (ARRAY_NOTATION_REF): Remove.
6402 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
6403 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
6404 c_validate_cilk_plus_loop, cilkplus_an_parts,
6405 cilk_ignorable_spawn_rhs_op,
6406 cilk_recognize_spawn): Remove.
6407 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
6408 * c-omp.c: Remove CILK_SIMD check.
6409 * c-pragma.c: Ditto.
6410 * c-pragma.h: Remove CILK related pragmas.
6411 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
6412 ARRAY_NOTATION_REF condition.
6413 (c_pretty_printer::expression): Ditto.
6414 * c.opt (fcilkplus): Remove.
6417 2017-11-21 Marc Glisse <marc.glisse@inria.fr>
6419 * c-pretty-print.c (pp_c_additive_expression,
6420 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
6422 2017-11-21 Jakub Jelinek <jakub@redhat.com>
6424 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
6427 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
6428 instead of tree_to_uhwi, formatting fix.
6430 2017-11-20 David Malcolm <dmalcolm@redhat.com>
6433 * known-headers.cc: New file, based on material from c/c-decl.c.
6434 (suggest_missing_header): Copied as-is.
6435 (get_stdlib_header_for_name): New, based on get_c_name_hint but
6436 heavily edited to add C++ support. Add some knowledge about
6437 <limits.h>, <stdint.h>, and <wchar.h>.
6438 * known-headers.h: Likewise.
6440 2017-11-20 David Malcolm <dmalcolm@redhat.com>
6442 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
6443 (lookup_name_fuzzy): Likewise. Convert return type from
6444 const char * to name_hint. Add location_t param.
6445 * name-hint.h: New header.
6447 2017-11-19 Jakub Jelinek <jakub@redhat.com>
6451 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
6453 2017-11-16 Joseph Myers <joseph@codesourcery.com>
6455 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
6456 expected publication date of C17.
6457 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
6459 2017-11-15 Joseph Myers <joseph@codesourcery.com>
6462 * c-common.c (c_common_reswords): Add __builtin_tgmath.
6463 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
6465 2017-11-10 Martin Sebor <msebor@redhat.com>
6468 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
6469 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
6470 * c.opt (-Wstringop-truncation): New option.
6472 2017-11-06 Martin Liska <mliska@suse.cz>
6475 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
6477 * c.opt: Set default value of warn_return_type.
6479 2017-10-31 David Malcolm <dmalcolm@redhat.com>
6481 * c-common.c (binary_op_error): Update for renaming of
6483 (c_parse_error): Likewise.
6484 * c-warn.c (warn_logical_not_parentheses): Likewise for
6485 renaming of inform_at_rich_loc.
6486 (warn_for_restrict): Likewise for renaming of
6487 warning_at_rich_loc_n.
6489 2017-10-30 Joseph Myers <joseph@codesourcery.com>
6491 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
6492 * c-opts.c (set_std_c17): New function.
6493 (c_common_init_options): Use gnu17 as default C version.
6494 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
6496 2017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
6498 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
6499 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
6500 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
6503 2017-10-23 Marek Polacek <polacek@redhat.com>
6506 * c-warn.c (warnings_for_convert_and_check): Fix typos.
6508 2017-10-19 Eric Botcazou <ebotcazou@adacore.com>
6510 * c-common.c (check_builtin_function_arguments): Also check arguments
6511 of __builtin_alloca_with_align_and_max.
6513 2017-10-17 David Malcolm <dmalcolm@redhat.com>
6515 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
6516 rather than NULL to format_warning_va.
6517 (check_format_types): Likewise when calling format_type_warning.
6518 Remove code to extract source_ranges and source_range * in favor
6519 of just a location_t.
6520 (format_type_warning): Convert source_range * param to a
6523 2017-10-13 Jakub Jelinek <jakub@redhat.com>
6525 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
6528 2017-10-12 David Malcolm <dmalcolm@redhat.com>
6530 * c-common.c (enum missing_token_insertion_kind): New enum.
6531 (get_missing_token_insertion_kind): New function.
6532 (maybe_suggest_missing_token_insertion): New function.
6533 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
6535 2017-10-11 Nathan Sidwell <nathan@acm.org>
6537 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
6538 (c_common_handle_option): Update incpath_kind names.
6540 2017-10-11 Martin Liska <mliska@suse.cz>
6543 * c-attribs.c (handle_no_sanitize_attribute): Report directly
6544 Wattributes warning.
6546 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
6548 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
6549 operating on trees as wide_ints.
6550 * c-common.c (pointer_int_sum): Likewise.
6551 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6552 * c-warn.c (match_case_to_enum_1): Likewise.
6553 (c_do_switch_warnings): Likewise.
6554 (maybe_warn_shift_overflow): Likewise.
6556 2017-10-10 Jakub Jelinek <jakub@redhat.com>
6559 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
6560 instead of wide_int::from.
6562 2017-10-06 Jakub Jelinek <jakub@redhat.com>
6565 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
6566 using to_widest use wide_int with the larger of the two precisions.
6568 2017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
6570 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
6573 2017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
6575 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
6576 when combining the original unconverted comparison operands.
6578 2017-09-29 Jakub Jelinek <jakub@redhat.com>
6580 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
6583 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
6585 * c-ada-spec.c (to_ada_name): Add index parameter.
6586 (pp_ada_tree_identifier): Likewise.
6587 (dump_ada_macros): Adjust call to to_ada_name.
6588 (struct overloaded_name_hash): New type.
6589 (struct overloaded_name_hasher): Likewise.
6590 (overloaded_names): New hash table.
6591 (compute_overloading_index): New function.
6592 (dump_ada_decl_name): Call it and pass the result to
6593 pp_ada_tree_identifier.
6594 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
6595 (dump_ada_function_declaration): Likewise.
6596 (dump_generic_ada_node): Likewise.
6597 (print_constructor): Likewise.
6598 (print_destructor): Likewise.
6599 (dump_ada_specs): Delete overloaded_names table.
6601 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
6603 * c-ada-spec.c (max_ada_macros): Move around.
6604 (store_ada_macro_index): Likewise.
6605 (source_file): Rename into...
6606 (macro_source_file): ...this.
6607 (count_ada_macro): Move around.
6608 (store_ada_macro): Likewise.
6609 (compare_macro): Likewise.
6610 (print_ada_macros): Merge in...
6611 (dump_ada_macros): ...this.
6612 (source_file_base): Rename into...
6613 (current_source_file): ...this.
6614 (print_comment): Move around.
6615 (dump_ada_nodes): Call dump_ada_declaration directly.
6616 (struct with): Change type of limited field to bool.
6617 (append_withs): Change type of limited_access parameter to bool.
6618 (pp_ada_tree_identifie): Likewise.
6619 (dump_ada_decl_nam): Likewise.
6620 (dump_generic_ada_node): Likewise. Do not print the return type.
6621 (to_ada_name): Change type of space_found parameter to bool.
6622 (dump_ada_function_declaration): Return void and change type of
6623 parameters to bool. Also print the return type for a function.
6624 (print_ada_methods): Rename into...
6625 (dump_ada_methods): ...this.
6626 (print_ada_declaration): Rename into ...
6627 (dump_ada_declaration): ...this. Do not print the return type.
6628 (print_ada_struct_decl): Rename into...
6629 (dump_ada_struct_decl): ...this.
6631 2017-09-29 Jakub Jelinek <jakub@redhat.com>
6633 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
6634 rather than DECL_INITIAL.
6635 (common_handle_aligned_attribute): Likewise.
6637 2017-09-20 Alexandre Oliva <aoliva@redhat.com>
6639 * c.opt (gen-decls): Add RejectNegative.
6641 2017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
6642 Jakub Jelinek <jakub@redhat.com>
6644 Add support for -std=c++2a.
6645 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
6646 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
6647 * c-opts.c (set_std_cxx2a): New.
6648 (c_common_handle_option): Set options when -std=c++2a is enabled.
6649 (c_common_post_options): Adjust comments.
6650 (set_std_cxx14, set_std_cxx17): Likewise.
6652 2017-09-15 Eric Botcazou <ebotcazou@adacore.com>
6654 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
6655 message for non-uniform endianness and issue a warning in C++.
6657 2017-09-15 Jakub Jelinek <jakub@redhat.com>
6659 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
6660 (Wc++17-compat): Change from undocumented alias to option.
6661 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
6662 change C++1z to C++17 in description.
6663 (std=c++1z, std=gnu++1z): Change from option to undocumented
6665 (std=c++17, std=gnu++17): Change from undocumented alias to option.
6667 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
6668 * c-opts.c (set_std_cxx1z): Rename to ...
6669 (set_std_cxx17): ... this.
6670 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
6671 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
6673 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
6676 2017-09-12 H.J. Lu <hongjiu.lu@intel.com>
6678 * c-attribs.c (common_handle_aligned_attribute): Don't warn
6679 function alignment if warn_if_not_aligned_p is true.
6681 2017-09-12 Nathan Sidwell <nathan@acm.org>
6683 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
6684 resort_sorted_fields): Move to c/c-decl.c.
6685 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
6686 (struct sorted_fields_type): Move to c/c-lang.h.
6688 2017-09-09 Jonathan Wakely <jwakely@redhat.com>
6691 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
6693 2017-09-04 Marek Polacek <polacek@redhat.com>
6696 * c-warn.c (warn_tautological_bitwise_comparison): New function.
6697 (warn_tautological_cmp): Call it.
6699 2017-09-01 Boris Kolpackov <boris@codesynthesis.com>
6701 * c-opts.c (c_common_finish): Write dependency information even if
6704 2017-09-01 Jakub Jelinek <jakub@redhat.com>
6707 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
6708 (omp_pragmas_simd): ... here.
6709 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
6710 create new clauses list containing just simd clause.
6712 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
6713 Alan Hayward <alan.hayward@arm.com>
6714 David Sherwood <david.sherwood@arm.com>
6716 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
6717 into scalar_mode_supported_p call.
6718 (handle_mode_attribute): Update call to scalar_mode_supported_p.
6720 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
6721 Alan Hayward <alan.hayward@arm.com>
6722 David Sherwood <david.sherwood@arm.com>
6724 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
6725 for the mode iterator.
6727 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
6728 Alan Hayward <alan.hayward@arm.com>
6729 David Sherwood <david.sherwood@arm.com>
6731 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
6732 * c-common.c (c_build_vec_perm_expr): Likewise.
6734 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
6735 Alan Hayward <alan.hayward@arm.com>
6736 David Sherwood <david.sherwood@arm.com>
6738 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
6740 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
6741 Alan Hayward <alan.hayward@arm.com>
6742 David Sherwood <david.sherwood@arm.com>
6744 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
6745 before calling targetm.addr_space.valid_pointer_mode.
6747 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
6748 Alan Hayward <alan.hayward@arm.com>
6749 David Sherwood <david.sherwood@arm.com>
6751 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
6753 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
6754 Alan Hayward <alan.hayward@arm.com>
6755 David Sherwood <david.sherwood@arm.com>
6757 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
6759 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
6761 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
6762 Alan Hayward <alan.hayward@arm.com>
6763 David Sherwood <david.sherwood@arm.com>
6765 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
6768 2017-08-29 Martin Liska <mliska@suse.cz>
6771 * c-common.c (parse_optimize_options): Add argument to function
6773 * c-pragma.c (handle_pragma_diagnostic): Likewise.
6775 2017-08-24 David Malcolm <dmalcolm@redhat.com>
6777 * c-lex.c (interpret_float): Use token location
6778 when building an EXCESS_PRECISION_EXPR.
6780 2017-08-21 David Malcolm <dmalcolm@redhat.com>
6782 * c-common.c (check_function_arguments): Add "arglogs" param; pass
6783 it to check_function_format.
6784 * c-common.h (check_function_arguments): Add vec<location_t> *
6786 (check_function_format): Likewise.
6787 * c-format.c (struct format_check_context): Add field "arglocs".
6788 (check_function_format): Add param "arglocs"; pass it to
6790 (check_format_info): Add param "arglocs"; use it to initialize
6791 new field of format_ctx.
6792 (check_format_arg): Pass format_ctx->arglocs to new param of
6793 check_format_info_main.
6794 (class argument_parser): New field "arglocs".
6795 (argument_parser::argument_parser): Add "arglocs_" param and use
6796 it to initialize new field.
6797 (argument_parser::check_argument_type): Pass new arglocs field to
6799 (check_format_info_main): Add param "arglocs", and use it when
6800 constructing arg_parser.
6801 (check_format_types): Add param "arglocs"; use it if non-NULL when
6802 !EXPR_HAS_LOCATION (cur_param) to get at location information.
6804 2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
6807 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
6808 (c_common_attribute_table): Add warn_if_not_aligned.
6809 (handle_aligned_attribute): Renamed to ...
6810 (common_handle_aligned_attribute): Remove argument, name, and add
6811 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
6812 (handle_aligned_attribute): New.
6813 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
6815 2017-08-14 Martin Sebor <msebor@redhat.com>
6818 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
6819 (handle_nonstring_attribute): New function.
6821 2017-08-14 Martin Sebor <msebor@redhat.com>
6824 * c-format.h (T89_G): New macro.
6825 * c-format.c (local_gcall_ptr_node): New variable.
6826 (init_dynamic_diag_info): Initialize it.
6828 2017-08-11 Martin Liska <mliska@suse.cz>
6830 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
6831 TARGET_SUPPORTS_ALIASES.
6833 2017-08-10 David Malcolm <dmalcolm@redhat.com>
6835 * c-common.c (c_parse_error): Add rich_location * param, using it
6836 rather implicitly using input_location.
6837 * c-common.h (c_parse_error): Add rich_location * param.
6839 2017-08-09 Marek Polacek <polacek@redhat.com>
6841 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
6842 (c_common_truthvalue_conversion): Likewise.
6843 * c-omp.c (c_finish_omp_atomic): Likewise.
6844 * c-common.h (build_binary_op): Update declaration.
6846 2017-08-08 Martin Liska <mliska@suse.cz>
6848 * c-ada-spec.c: Include header files.
6849 * c-ubsan.c: Likewise.
6850 * c-warn.c: Likewise.
6852 2017-08-07 Jakub Jelinek <jakub@redhat.com>
6855 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
6857 2017-08-07 Eric Botcazou <ebotcazou@adacore.com>
6859 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
6860 (print_ada_methods): Likewise.
6861 (print_ada_declaration): Likewise.
6863 2017-08-07 Martin Liska <mliska@suse.cz>
6865 * array-notation-common.c: Add new includes.
6866 * c-format.c( handle_format_attribute): Canonicalize a format
6868 * c-lex.c (c_common_has_attribute): Canonicalize name of an
6870 * c-pretty-print.c: Add new include.
6872 2017-08-05 Eric Botcazou <ebotcazou@adacore.com>
6874 * c-ada-spec.c (has_static_fields): Look only into variables.
6875 (print_constructor): Add TYPE parameter and use it for the name.
6876 (print_destructor): Likewise.
6877 (print_ada_declaration): Adjust to new constructor/destructor names.
6878 Adjust calls to print_constructor and print_destructor.
6879 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
6880 Look only into variables in the final loop.
6882 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
6884 * c-ada-spec.c (has_static_fields): Look only into fields.
6885 (dump_generic_ada_node): Small tweak.
6886 (dump_nested_types): Look only into fields.
6887 (print_ada_declaration): Look only into methods. Small tweak.
6888 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
6890 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
6892 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
6893 (dump_ada_function_declaration): Likewise.
6894 (dump_generic_ada_node): Likewise.
6895 (print_ada_declaration): Add support for const-qualified variables.
6897 2017-07-31 Martin Liska <mliska@suse.cz>
6900 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
6901 Guard condition with flag_sanitize_p also with current_function_decl
6903 (ubsan_maybe_instrument_reference_or_call): Likewise.
6905 2017-07-30 Uros Bizjak <ubizjak@gmail.com>
6907 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
6909 2017-07-29 Eric Botcazou <ebotcazou@adacore.com>
6911 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
6913 (print_ada_declaration): Add missing guard for record types.
6915 2017-07-27 Jakub Jelinek <jakub@redhat.com>
6918 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
6919 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
6920 new COMPOUND_EXPRs around the rhs of the comparison.
6922 2017-07-27 Marek Polacek <polacek@redhat.com>
6925 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
6928 2017-07-27 Jakub Jelinek <jakub@redhat.com>
6930 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
6931 (handle_noipa_attribute): New function.
6933 2017-07-07 Torsten Duwe <duwe@suse.de>
6935 * c-attribs.c (c_common_attribute_table): Add entry for
6936 "patchable_function_entry".
6938 2017-07-20 Nathan Sidwell <nathan@acm.org>
6940 Remove TYPE_METHODS.
6941 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
6942 dump_ada_template, print_ada_methods,
6943 print_ada_declaration): Member fns are on TYPE_FIELDS.
6945 2017-07-18 Nathan Sidwell <nathan@acm.org>
6947 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
6949 2017-07-14 David Malcolm <dmalcolm@redhat.com>
6951 * c-common.c (try_to_locate_new_include_insertion_point): New
6953 (per_file_includes_t): New typedef.
6954 (added_includes_t): New typedef.
6955 (added_includes): New variable.
6956 (maybe_add_include_fixit): New function.
6957 * c-common.h (maybe_add_include_fixit): New decl.
6959 2017-07-10 Martin Sebor <msebor@redhat.com>
6962 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
6964 2017-07-06 David Malcolm <dmalcolm@redhat.com>
6966 * c-common.c (selftest::c_family_tests): New.
6967 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
6968 (selftest::c_family_tests): New decl.
6970 2017-07-04 Marek Polacek <polacek@redhat.com>
6973 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
6976 2017-07-04 Marek Polacek <polacek@redhat.com>
6978 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
6980 2017-06-28 Martin Liska <mliska@suse.cz>
6983 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
6984 to a function declaration.
6986 2017-06-28 Martin Liska <mliska@suse.cz>
6989 * c.opt: Add IntegerRange to various options.
6991 2017-06-26 Marek Polacek <polacek@redhat.com>
6994 * c-common.h (warn_for_multistatement_macros): Declare.
6995 * c-warn.c: Include "c-family/c-indentation.h".
6996 (warn_for_multistatement_macros): New function.
6997 * c.opt (Wmultistatement-macros): New option.
6998 * c-indentation.c (guard_tinfo_to_string): No longer static.
6999 Change the parameter type to "enum rid". Handle RID_SWITCH.
7000 * c-indentation.h (guard_tinfo_to_string): Declare.
7002 2017-06-23 Marc Glisse <marc.glisse@inria.fr>
7004 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
7006 2017-06-15 Martin Sebor <msebor@redhat.com>
7009 * c.opt (-Wclass-memaccess): New option.
7011 2017-06-14 Boris Kolpackov <boris@codesynthesis.com>
7013 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
7015 2017-06-13 Marek Polacek <polacek@redhat.com>
7018 * c-warn.c (do_warn_duplicated_branches): Return if any of the
7021 2017-06-13 Martin Liska <mliska@suse.cz>
7024 * c-attribs.c (add_no_sanitize_value): New function.
7025 (handle_no_sanitize_attribute): Likewise.
7026 (handle_no_sanitize_address_attribute): Use the function.
7027 (handle_no_sanitize_thread_attribute): New function.
7028 (handle_no_address_safety_analysis_attribute): Use
7029 add_no_sanitize_value.
7030 (handle_no_sanitize_undefined_attribute): Likewise.
7031 * c-common.h: Declare new functions.
7032 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
7033 (ubsan_instrument_shift): Likewise.
7034 (ubsan_instrument_bounds): Likewise.
7035 (ubsan_maybe_instrument_array_ref): Likewise.
7036 (ubsan_maybe_instrument_reference_or_call): Likewise.
7038 2017-06-11 Jason Merrill <jason@redhat.com>
7040 * c-ada-spec.c, c-pragma.c: Use id_equal.
7042 2017-06-04 Marek Polacek <polacek@redhat.com>
7045 * c-format.c (matching_type_p): Return false if any of the types
7046 requires structural equality.
7048 2017-06-02 Martin Sebor <msebor@redhat.com>
7051 * c-warn.c (conversion_warning): Use -Wconversion for integer
7052 conversion and -Wfloat-conversion for floating one.
7054 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
7056 * c.opt (Wsizeof-pointer-div): New warning option.
7058 2017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
7060 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
7061 (Wcatch-value=1): Enable by -Wall.
7063 2017-05-30 David Malcolm <dmalcolm@redhat.com>
7065 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
7067 * c.opt (fdiagnostics-show-template-tree): New option.
7068 (felide-type): New option.
7070 2017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
7072 * c.opt (Wcatch-value=): New C++ warning flag.
7074 2017-05-24 Nathan Sidwell <nathan@acm.org>
7076 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
7077 const casts to avoid warning.
7079 2017-05-24 Martin Sebor <msebor@redhat.com>
7082 * c-common.h (unsafe_conversion_p): Add a function argument.
7083 * c-common.c (unsafe_conversion_p): Same.
7084 Add type names and values to diagnostics.
7085 (scalar_to_vector): Adjust.
7086 * c-warn.c (constant_expression_error): Add a function argument.
7087 Add type names and values to diagnostics.
7088 (conversion_warning): Add a function argument.
7089 Add type names and values to diagnostics.
7090 (warnings_for_convert_and_check): Same.
7092 2017-05-19 Jason Merrill <jason@redhat.com>
7094 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
7097 2017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
7099 * c-format.c (locus): Move out of function scope,
7102 2017-05-19 Nathan Sidwell <nathan@acm.org>
7104 * c-opts.c (class_dump_file, class_dump_flags): Delete.
7105 (c_common_parse_file): Remove class dump handling.
7106 (get_dump_info): Likewise.
7108 2017-05-19 Richard Biener <rguenther@suse.de>
7111 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
7112 to alias-set zero memory.
7114 2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
7116 * c-format.c (local_tree_type_node): Add GTY attribute.
7118 2017-05-18 Marek Polacek <polacek@redhat.com>
7120 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
7121 (c_common_fixed_point_type_for_size): Likewise.
7122 (c_common_type_for_mode): Likewise.
7123 (shorten_compare): Likewise.
7124 (c_promoting_integer_type_p): Use false/true instead of 0/1.
7125 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
7127 2017-05-18 Marek Polacek <polacek@redhat.com>
7129 * c-common.c (self_promoting_args_p): Change the return type to bool.
7130 Use false/true instead of 0/1.
7131 * c-common.h (self_promoting_args_p): Update.
7133 2017-05-17 Marek Polacek <polacek@redhat.com>
7135 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
7136 * c-warn.c: Likewise.
7138 2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
7140 Implement new C++ intrinsics __is_assignable and __is_constructible.
7141 * c-common.c (__is_assignable, __is_constructible): New.
7142 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
7144 2017-05-17 Martin Liska <mliska@suse.cz>
7146 * c-common.h: Introduce dump_flags_t type and
7147 use it instead of int type.
7148 * c-gimplify.c (c_genericize): Likewise.
7149 * c-opts.c: Likewise.
7151 2017-05-17 Marek Polacek <polacek@redhat.com>
7153 * c-common.c (c_save_expr): Remove.
7154 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
7155 * c-common.h (c_save_expr): Remove declaration.
7157 2017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
7160 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
7161 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
7162 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
7163 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
7165 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
7167 2017-05-09 Marek Polacek <polacek@redhat.com>
7170 * c-warn.c (unwrap_c_maybe_const): New.
7171 (warn_logical_operator): Call it.
7173 2017-05-09 Nathan Sidwell <nathan@acm.org>
7175 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
7176 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
7178 2017-05-08 Martin Sebor <msebor@redhat.com>
7180 PR translation/80280
7181 * c-format.h (struct format_flag_spec): Add new member.
7183 * c-format.c (local_tree_type_node): New global.
7184 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
7185 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
7186 (strfmon_flag_specs): Likewise.
7187 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
7188 with distinct quoting properties.
7189 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
7190 (flag_chars_t::validate): Add argument and handle bad quoting.
7191 (check_format_info_main): Handle quoting problems.
7192 (init_dynamic_diag_info): Simplify.
7194 2017-05-08 Jason Merrill <jason@redhat.com>
7196 * c-opts.c (c_common_post_options): Update defaults for
7197 flag_abi_version and flag_abi_compat_version.
7199 2017-05-05 David Malcolm <dmalcolm@redhat.com>
7201 * c-common.c (c_cpp_error): Replace report_diagnostic
7202 with diagnostic_report_diagnostic.
7204 2017-05-04 Martin Sebor <msebor@redhat.com>
7206 PR translation/80280
7207 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
7208 (handle_weakref_attribute): Same.
7210 2017-05-03 Nathan Sidwell <nathan@acm.org>
7212 Canonicalize canonical type hashing
7213 * c-common.c (complete_array_type): Use type_hash_canon.
7215 2017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
7218 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
7220 (cilk_install_body_pedigree_operations): Likewise.
7221 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
7223 (cilk_gimplify_call_params_in_spawned_fn): Remove.
7224 (cilk_install_body_pedigree_operations): Likewise.
7225 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
7228 2017-04-27 Jakub Jelinek <jakub@redhat.com>
7231 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
7232 flag on non-aggregate element types.
7234 2017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
7236 * c-common.c (c_type_hasher, type_hash_table): Remove.
7237 (c_common_get_alias_set): Remove unreachable code.
7238 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
7240 2017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
7242 * c.opt (Wextra-semi): New C++ warning flag.
7244 2017-04-20 Jakub Jelinek <jakub@redhat.com>
7247 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
7249 2017-04-18 Jakub Jelinek <jakub@redhat.com>
7253 * c-common.c (c_common_type_for_mode): Don't handle
7254 widest_*_literal_type_node here.
7255 c_common_signed_or_unsigned_type): Likewise.
7256 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
7257 to *intTI_type_node or *intDI_type_node depending on whether
7258 TImode is supported by the target or not.
7260 2017-04-10 Martin Liska <mliska@suse.cz>
7263 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
7264 doing an UBSAN check.
7266 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
7268 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
7270 2017-03-31 Jakub Jelinek <jakub@redhat.com>
7273 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
7275 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
7276 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
7279 2017-03-31 David Malcolm <dmalcolm@redhat.com>
7281 PR documentation/78732
7282 * c.opt (Wendif-labels): Fix description to refer to
7283 #else rather than #elif.
7285 2017-03-31 Jakub Jelinek <jakub@redhat.com>
7288 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
7289 * c-common.c (c_common_reswords): Add __is_aggregate trait.
7291 2017-03-27 Jakub Jelinek <jakub@redhat.com>
7294 * c-common.c (c_common_mark_addressable_vec): Don't set
7295 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
7297 2017-03-21 Martin Sebor <msebor@redhat.com>
7300 * c-common.c (set_underlying_type): Mark type used only when
7301 original del is declared unused.
7303 2017-03-10 David Malcolm <dmalcolm@redhat.com>
7305 PR translation/79848
7306 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
7309 2017-03-10 David Malcolm <dmalcolm@redhat.com>
7312 * c-indentation.c (warn_for_misleading_indentation): Remove parens
7313 from inform's message, so that xgettext can locate it.
7315 2017-03-09 Marek Polacek <polacek@redhat.com>
7319 * c-attribs.c (handle_nonnull_attribute): Save the result of default
7320 conversion to the attribute list.
7322 2017-03-09 Martin Liska <mliska@suse.cz>
7324 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
7326 2017-03-03 Jason Merrill <jason@redhat.com>
7328 * c.opt (Wnoexcept-type): New.
7330 2017-03-02 Richard Biener <rguenther@suse.de>
7333 * c-common.c (c_common_mark_addressable_vec): Look through
7336 2017-02-28 Martin Liska <mliska@suse.cz>
7338 * c.opt: Replace space with tabular for options of <number>
7341 2017-02-28 Martin Liska <mliska@suse.cz>
7343 * c.opt: Fix --help=option -Q for options which are of
7346 2017-02-24 Jakub Jelinek <jakub@redhat.com>
7349 * c-common.c (check_function_restrict): New function.
7350 (check_function_arguments): Add FNDECL argument. Call
7351 check_function_restrict if -Wrestrict.
7352 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
7353 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
7354 * c-common.h (check_function_arguments): Add FNDECL argument.
7355 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
7357 2017-02-24 Eric Botcazou <ebotcazou@adacore.com>
7359 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
7360 treatment of parameters with pointer-to-tagged type and tidy up.
7361 (print_ada_methods): Remove the special treatment of C++ static member
7364 2017-02-22 Martin Liska <mliska@suse.cz>
7366 * c.opt: Replace inequality signs with square brackets
7369 2017-02-21 Jakub Jelinek <jakub@redhat.com>
7372 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
7375 2017-02-17 Joseph Myers <joseph@codesourcery.com>
7377 * c-cppbuiltin.c (builtin_define_float_constants): Define
7378 __DECIMAL_DIG__ to the value for long double.
7380 2017-02-15 Marek Polacek <polacek@redhat.com>
7383 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
7384 conversion has occured.
7386 2017-01-24 David Malcolm <dmalcolm@redhat.com>
7388 * c-common.c (c_common_reswords): Add "__RTL".
7389 * c-common.h (enum rid): Add RID_RTL.
7391 2017-01-20 Marek Polacek <polacek@redhat.com>
7394 * c-common.h (do_warn_duplicated_branches_r): Declare.
7395 * c-gimplify.c (c_genericize): Walk the function tree calling
7396 do_warn_duplicated_branches_r.
7397 * c-warn.c (expr_from_macro_expansion_r): New.
7398 (do_warn_duplicated_branches): New.
7399 (do_warn_duplicated_branches_r): New.
7400 * c.opt (Wduplicated-branches): New option.
7402 2017-01-17 David Malcolm <dmalcolm@redhat.com>
7405 * c-indentation.c (warn_for_misleading_indentation): Use the past
7406 subjunctive in the note.
7408 2017-01-17 Aldy Hernandez <aldyh@redhat.com>
7411 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
7412 start type to integer_type.
7414 2017-01-16 Jakub Jelinek <jakub@redhat.com>
7417 * c.opt (gen-decls): Add Driver flag.
7419 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
7422 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
7425 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
7427 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
7430 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
7432 2017-01-12 Martin Sebor <msebor@redhat.com>
7434 (-Wformat-overflow): ...to this.
7436 2017-01-11 Martin Sebor <msebor@redhat.com>
7439 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
7440 Also enable for LTO.
7442 2017-01-10 Jason Merrill <jason@redhat.com>
7444 Implement P0195R2, C++17 variadic using.
7445 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
7447 2017-01-09 Jakub Jelinek <jakub@redhat.com>
7449 PR translation/79019
7450 PR translation/79020
7451 * c.opt (Wnormalized=): Fix typo in description.
7453 2017-01-08 Martin Sebor <msebor@redhat.com>
7456 * c.opt (-Wformat-truncation): New option.
7458 2017-01-06 Alexandre Oliva <aoliva@redhat.com>
7460 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
7461 value to unsigned short to fit in 4 hex digits without
7464 2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
7466 * c.opt (fsso-struct): Add 'native' value.
7468 2017-01-05 Martin Liska <mliska@suse.cz>
7471 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
7474 2017-01-04 Marek Polacek <polacek@redhat.com>
7477 * c.opt (Wpointer-compare): New option.
7479 2017-01-04 Jakub Jelinek <jakub@redhat.com>
7482 * c.opt (fsso-struct=): Add RejectNegative.
7484 2017-01-01 Jakub Jelinek <jakub@redhat.com>
7486 Update copyright years.
7488 2016-12-29 Martin Liska <mliska@suse.cz>
7491 * c.opt (strong-eval-order): Add RejectNegative keyword.
7493 2016-12-22 Jason Merrill <jason@redhat.com>
7495 Implement P0522R0, matching of template template arguments.
7496 * c-cppbuiltin.c (c_cpp_builtins): Define
7497 __cpp_template_template_args.
7499 2016-12-21 Jakub Jelinek <jakub@redhat.com>
7502 * c-common.c (struct nonnull_arg_ctx): New type.
7503 (check_function_nonnull): Return bool instead of void. Use
7504 nonnull_arg_ctx as context rather than just location_t.
7505 (check_nonnull_arg): Adjust for the new context type, set
7506 warned_p to true if a warning has been diagnosed.
7507 (check_function_arguments): Return bool instead of void.
7508 * c-common.h (check_function_arguments): Adjust prototype.
7510 2016-12-21 Jason Merrill <jason@redhat.com>
7512 * c.opt (-fnew-ttp-matching): New flag.
7513 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
7515 2016-12-14 Martin Jambor <mjambor@suse.cz>
7517 * c-omp.c: Include omp-general.h instead of omp-low.h.
7518 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
7521 2016-12-14 Martin Sebor <msebor@redhat.com>
7524 * c-common.c (check_nonnull_arg): Disable when optimization
7527 2016-12-12 Marek Polacek <polacek@redhat.com>
7530 * c-common.c (attribute_fallthrough_p): Return false for
7533 2016-12-08 Martin Sebor <msebor@redhat.com>
7536 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
7538 2016-12-08 Martin Sebor <msebor@redhat.com>
7541 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
7544 2016-12-07 Martin Sebor <msebor@redhat.com>
7550 * c.opt (-Wstringop-overflow): New option.
7552 2016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
7554 * c-attribs.c (asan odr indicator): New attribute.
7555 (handle_asan_odr_indicator_attribute): New function.
7557 2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
7559 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
7562 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
7564 * c-common.c (excess_precision_mode_join): New.
7565 (c_ts18661_flt_eval_method): New.
7566 (c_c11_flt_eval_method): Likewise.
7567 (c_flt_eval_method): Likewise.
7568 * c-common.h (excess_precision_mode_join): New.
7569 (c_flt_eval_method): Likewise.
7570 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
7571 (cpp_iec_559_value): Call it.
7572 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
7573 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
7574 __FLT_EVAL_METHOD_TS_18661_3__.
7576 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
7578 * c-opts.c (c_common_post_options): Add logic to handle the default
7579 case for -fpermitted-flt-eval-methods.
7581 2016-11-23 Paolo Bonzini <bonzini@gnu.org>
7583 * c.opt (Wexpansion-to-defined): New.
7585 2016-11-23 Jakub Jelinek <jakub@redhat.com>
7588 * c-pragma.c (handle_pragma_target): Don't replace
7589 current_target_pragma, but chainon the new args to the current one.
7591 2016-11-22 Nathan Sidwell <nathan@acm.org>
7593 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
7594 indentation and formatting.
7596 2016-11-21 Martin Sebor <msebor@redhat.com>
7598 * c.opt (-fprintf-return-value): Enable by default.
7600 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
7603 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
7604 * c-common.c (c_common_nodes_and_builtins): Initialize
7605 const_tm_ptr_type_node.
7607 2016-11-16 Marek Polacek <polacek@redhat.com>
7610 * c-common.c (c_add_case_label): Turn error_at calls into inform.
7612 2016-11-14 Jakub Jelinek <jakub@redhat.com>
7614 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
7616 2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
7617 Richard Biener <rguenther@suse.de>
7619 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
7620 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
7621 * c.opt (fgimple): New option.
7623 2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
7626 * c-common.h (warn_for_restrict): Declare.
7627 * c-warn.c: Include gcc-rich-location.h.
7628 (warn_for_restrict): New function.
7629 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
7630 (gcc_cdiag_char_table): Likewise.
7631 (gcc_cxxdiag_char_table): Likewise.
7632 * c.opt (Wrestrict): New option.
7634 2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
7636 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
7637 for nested types only if the type is a record or union and dump SLOC.
7639 2016-11-09 Jason Merrill <jason@redhat.com>
7641 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
7643 2016-11-09 Jakub Jelinek <jakub@redhat.com>
7645 * c-ubsan.c (ubsan_instrument_shift): Handle split
7646 -fsanitize=shift-base and -fsanitize=shift-exponent.
7648 2016-11-07 Jason Merrill <jason@redhat.com>
7650 * c.opt (Wc++1z-compat): New.
7651 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
7653 2016-11-07 Martin Liska <mliska@suse.cz>
7655 * c-warn.c (warn_for_unused_label): Save all labels used
7656 in goto or in &label.
7658 2016-11-03 Jason Merrill <jason@redhat.com>
7660 * c-cppbuiltin.c (c_cpp_builtins): Correct
7661 __cpp_inheriting_constructors.
7663 2016-11-01 Jason Merrill <jason@redhat.com>
7665 * c-cppbuiltin.c (c_cpp_builtins): Update
7666 __cpp_inheriting_constructors.
7668 * c.opt (-fnew-inheriting-ctors): New.
7669 * c-opts.c: Default to on for ABI 11+.
7671 2016-10-31 Jakub Jelinek <jakub@redhat.com>
7674 * c.opt (fext-numeric-literals): Add Var and Init.
7675 * c-opts.c (c_common_handle_option): Don't clear
7676 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
7677 (c_common_post_options): Clear it here if not set
7680 2016-10-28 Aldy Hernandez <aldyh@redhat.com>
7683 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
7686 2016-10-25 Jakub Jelinek <jakub@redhat.com>
7688 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
7689 * c-common.c (c_common_reswords): Add __builtin_launder.
7691 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
7693 * c-common.c (c_common_truthvalue_conversion): Warn for
7694 multiplications in boolean context. Fix the quoting of '<<' and '<'
7695 in the shift warning.
7697 2016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
7699 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
7701 2016-10-20 Jason Merrill <jason@redhat.com>
7703 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
7705 2016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
7707 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
7708 integer shift ops in boolean context.
7710 2016-10-18 Aldy Hernandez <aldyh@redhat.com>
7712 * c.opt (Walloca): New.
7713 (Walloca-larger-than=): New.
7714 (Wvla-larger-than=): New.
7716 2016-10-17 Marek Polacek <polacek@redhat.com>
7718 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
7719 Return immediately when finding a match.
7720 (warn_tautological_cmp): Remove a boolean variable that is no longer
7723 2016-10-17 Marek Polacek <polacek@redhat.com>
7725 * c-attribs.c: New file.
7726 * c-common.c: Move attributes handling to c-attribs.c.
7727 (get_nonnull_operand): No longer static.
7728 * c-common.h: Move the declarations from c-attribs.c to its own section.
7730 2016-10-14 Jason Merrill <jason@redhat.com>
7732 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
7733 and __cpp_deduction_guides.
7735 2016-10-13 Jason Merrill <jason@redhat.com>
7737 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
7739 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
7741 * c-cppbuiltin.c: Include memmodel.h.
7742 * c-opts.c: Likewise.
7743 * c-pragma.c: Likewise.
7744 * c-warn.c: Likewise.
7746 2016-10-12 Jakub Jelinek <jakub@redhat.com>
7748 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
7749 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
7750 * c-opts.c (sanitize_cpp_opts): Initialize
7751 cpp_opts->cpp_warn_implicit_fallthrough.
7753 2016-10-11 Marek Polacek <polacek@redhat.com>
7755 * c-common.c (warning_candidate_p): Change the return type to bool
7756 and return true/false instead of 1/0.
7757 (vector_mode_valid_p): Likewise.
7759 2016-10-11 Marek Polacek <polacek@redhat.com>
7761 * c-common.c (fold_for_warn): No longer static.
7762 (bool_promoted_to_int_p): Likewise.
7763 (c_common_get_narrower): Likewise.
7764 (constant_expression_warning): Move to c-warn.c.
7765 (constant_expression_error): Likewise.
7766 (overflow_warning): Likewise.
7767 (warn_logical_operator): Likewise.
7768 (find_array_ref_with_const_idx_r): Likewise.
7769 (warn_tautological_cmp): Likewise.
7770 (expr_has_boolean_operands_p): Likewise.
7771 (warn_logical_not_parentheses): Likewise.
7772 (warn_if_unused_value): Likewise.
7773 (strict_aliasing_warning): Likewise.
7774 (sizeof_pointer_memaccess_warning): Likewise.
7775 (check_main_parameter_types): Likewise.
7776 (conversion_warning): Likewise.
7777 (warnings_for_convert_and_check): Likewise.
7778 (match_case_to_enum_1): Likewise.
7779 (match_case_to_enum): Likewise.
7780 (c_do_switch_warnings): Likewise.
7781 (warn_for_omitted_condop): Likewise.
7782 (readonly_error): Likewise.
7783 (lvalue_error): Likewise.
7784 (invalid_indirection_error): Likewise.
7785 (warn_array_subscript_with_type_char): Likewise.
7786 (warn_about_parentheses): Likewise.
7787 (warn_for_unused_label): Likewise.
7788 (warn_for_div_by_zero): Likewise.
7789 (warn_for_memset): Likewise.
7790 (warn_for_sign_compare): Likewise.
7791 (do_warn_double_promotion): Likewise.
7792 (do_warn_unused_parameter): Likewise.
7793 (record_locally_defined_typedef): Likewise.
7794 (maybe_record_typedef_use): Likewise.
7795 (maybe_warn_unused_local_typedefs): Likewise.
7796 (maybe_warn_bool_compare): Likewise.
7797 (maybe_warn_shift_overflow): Likewise.
7798 (warn_duplicated_cond_add_or_warn): Likewise.
7799 (diagnose_mismatched_attributes): Likewise.
7800 * c-common.h: Move the declarations from c-warn.c to its own section.
7801 * c-warn.c: New file.
7803 2016-10-08 Jason Merrill <jason@redhat.com>
7805 * c-common.c (c_common_truthvalue_conversion): Don't distribute
7806 into COND_EXPR in C++.
7808 2016-10-08 Jakub Jelinek <jakub@redhat.com>
7810 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
7811 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
7812 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
7814 2016-10-07 Jakub Jelinek <jakub@redhat.com>
7816 Implement LWG2296 helper intrinsic
7817 * c-common.h (enum rid): Add RID_ADDRESSOF.
7818 * c-common.c (c_common_reswords): Add __builtin_addressof.
7820 2016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
7823 * c-common.c (c_common_truthvalue_conversion): Warn also for
7824 suspicious enum values in boolean context.
7826 2016-10-06 Jakub Jelinek <jakub@redhat.com>
7828 Implement P0258R2 - helper for C++17
7829 std::has_unique_object_representations trait
7830 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
7831 * c-common.c (c_common_reswords): Add
7832 __has_unique_object_representations.
7834 2016-10-05 Jakub Jelinek <jakub@redhat.com>
7837 * c-ubsan.c (ubsan_instrument_return): Don't call
7838 initialize_sanitizer_builtins here.
7840 2016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
7842 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
7843 conditional expression in boolean context when only one arm is
7846 2016-10-05 Jakub Jelinek <jakub@redhat.com>
7849 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
7852 * c-common.c (c_common_reswords): Update comment for C++11.
7854 2016-10-04 Jason Merrill <jason@redhat.com>
7856 * c-common.c (make_tree_vector_from_ctor): New.
7857 * c-common.h: Declare it.
7859 2016-10-04 Jakub Jelinek <jakub@redhat.com>
7861 * c-cppbuiltin.c (c_cpp_builtins): Don't define
7862 __LIBGCC_JCR_SECTION_NAME__.
7864 2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
7866 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
7867 left shift in boolean context.
7869 2016-09-29 Jakub Jelinek <jakub@redhat.com>
7871 Implement P0001R1 - C++17 removal of register storage class specifier
7872 * c.opt (Wregister): New warning.
7873 * c-opts.c (c_common_post_options): Enable -Wregister by
7876 2016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
7878 * c-opts.c (c_common_post_options): Remove special case for
7879 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
7882 2016-09-27 Jakub Jelinek <jakub@redhat.com>
7884 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
7887 * c-ada-spec.c (print_ada_declaration): Remove break after return.
7889 2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
7891 * c-common.c: Include memmodel.h.
7893 2016-09-26 Marek Polacek <polacek@redhat.com>
7895 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
7897 2016-09-26 Marek Polacek <polacek@redhat.com>
7900 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
7901 (handle_fallthrough_attribute): New function.
7902 (attribute_fallthrough_p): New function.
7903 * c-common.h (attribute_fallthrough_p): Declare.
7905 2016-09-24 Marek Polacek <polacek@redhat.com>
7908 * c.opt (Wbool-operation): New.
7910 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
7912 * c-common.c (c_common_truthvalue_conversion): Inhibit
7913 Wint-in-bool-context warning with from_macro_definition_at.
7914 Mention the expression will always evaluate to true.
7916 2016-09-21 Martin Sebor <msebor@redhat.com>
7919 * c.opt (fprintf-return-value): Temporarily initialize to zero
7920 to unblock bootstrap failures.
7922 2016-09-21 Jakub Jelinek <jakub@redhat.com>
7925 * c.opt (Waligned-new=): Add RejectNegative.
7926 (faligned-new=): Likewise. Spelling fix - change
7927 aligned_new_threshhold to aligned_new_threshold.
7928 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
7929 to aligned_new_threshold.
7931 2016-09-20 Martin Sebor <msebor@redhat.com>
7934 * c.opt: Add -Wformat-length and -fprintf-return-value.
7936 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
7939 * c.opt (Wint-in-bool-context): New warning.
7940 * c-common.c (c_common_truthvalue_conversion): Warn on integer
7941 constants in boolean context.
7943 2016-09-19 Joseph Myers <joseph@codesourcery.com>
7945 * c-common.c (max_align_t_align): Also consider alignment of
7948 2016-09-15 Jason Merrill <jason@redhat.com>
7950 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
7953 2016-09-14 Jason Merrill <jason@redhat.com>
7955 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
7956 limit FIELD_DECL, either.
7958 2016-09-14 Marek Polacek <polacek@redhat.com>
7960 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
7961 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
7962 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
7964 2016-09-13 David Malcolm <dmalcolm@redhat.com>
7966 * c-common.c (warn_logical_not_parentheses): Replace
7967 rich_location::add_fixit_insert calls with add_fixit_insert_before
7968 and add_fixit_insert_after, eliminating the "next_loc" calculation.
7970 2016-09-13 Jason Merrill <jason@redhat.com>
7971 Tom de Vries <tom@codesourcery.com>
7974 * c-common.c (set_underlying_type): Don't treat array as builtin type.
7976 2016-09-13 Jason Merrill <jason@redhat.com>
7978 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
7981 2016-09-12 Jason Merrill <jason@redhat.com>
7983 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
7984 bit/byte confusion, allow large alignment for types.
7986 2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
7989 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
7991 2016-09-12 David Malcolm <dmalcolm@redhat.com>
7994 * c-format.c (argument_parser::check_argument_type): Add params
7995 "type_start" and "conversion_char". Use the former to generate
7996 offset_to_type_start and pass it and conversion_char to
7998 (check_format_info_main): Capture the start of the type
7999 information as "type_start", and pass it an format_char
8000 to arg_parser.check_argument_type.
8001 (check_format_types): Provide an example in the leading comment.
8002 Add params "offset_to_type_start" and "conversion_char"; pass
8003 them to format_type_warning calls.
8004 (test_get_modifier_for_format_len): Likewise.
8005 (matching_type_p): New function.
8006 (get_format_for_type): Add param "conversion_char" and move
8007 implementation into...
8008 (get_format_for_type_1): ...new function, called twice.
8009 Use new function matching_type_p rather than checking for
8010 TYPE_CANONICAL equality.
8011 (get_corrected_substring): New function.
8012 (format_type_warning): Provide an example in the leading comment.
8013 Add params "offset_to_type_start" and "conversion_char". Replace
8014 call to get_format_for_type with call to get_corrected_substring
8015 and move rejection of hints for widths/precisions there.
8016 (assert_format_for_type_streq): Add param "conversion_char".
8017 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
8018 (test_get_format_for_type_printf): Add conversion chars to the
8019 tests, adding coverage for various combinations of integer
8020 vs double conversions, and for preserving octal and hexadecimal
8022 (test_get_format_for_type_scanf): Add conversion chars to the
8025 2016-09-10 Tom de Vries <tom@codesourcery.com>
8028 * c-common.c (build_va_arg): Handle more strict
8029 targetm.canonical_va_list_type. Replace first argument type error with
8032 2016-09-09 Martin Sebor <msebor@redhat.com>
8036 * c-format.c (argument_parser::find_format_char_info): Use %qc
8037 format directive unconditionally.
8039 2016-09-09 Jason Merrill <jason@redhat.com>
8041 Implement C++17 new of over-aligned types.
8042 * c.opt: Add -faligned-new and -Waligned-new.
8043 * c-common.c (max_align_t_align): Split out from...
8044 (cxx_fundamental_alignment_p): ...here.
8045 * c-common.h: Declare it.
8046 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
8048 2016-09-09 Joseph Myers <joseph@codesourcery.com>
8050 * c-cppbuiltin.c (builtin_define_type_width): New function.
8051 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
8054 2016-09-07 David Malcolm <dmalcolm@redhat.com>
8056 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
8058 (substring_loc::get_location): Move to substring-locations.c,
8059 keeping implementation as...
8060 (c_get_substring_location): New function, from the above, reworked
8061 to use accessors rather than member lookup.
8062 * c-common.h (class substring_loc): Move to substring-locations.h,
8063 replacing with a forward decl.
8064 (c_get_substring_location): New decl.
8065 * c-format.c: Include "substring-locations.h".
8066 (format_warning_va): Move to substring-locations.c.
8067 (format_warning_at_substring): Likewise.
8069 2016-09-06 Martin Sebor <msebor@redhat.com>
8072 * c-format.c (check_function_format): Avoid issuing warnings for
8073 functions unless they call format functions with non-constant
8076 2016-09-06 Richard Biener <rguenther@suse.de>
8079 * c-common.c (c_common_mark_addressable_vec): Handle
8080 COMPOUND_LITERAL_EXPR.
8082 2016-09-05 Marek Polacek <polacek@redhat.com>
8085 * c-common.c (bool_promoted_to_int_p): New function.
8086 (expr_has_boolean_operands_p): New function.
8087 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
8088 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
8090 2016-09-04 Tom de Vries <tom@codesourcery.com>
8093 2016-08-29 Tom de Vries <tom@codesourcery.com>
8095 * c-common.c (build_va_arg): Replace first argument type error
8098 2016-09-02 Jakub Jelinek <jakub@redhat.com>
8101 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
8102 (c_finish_omp_for): Reject _Atomic qualified iterators.
8104 2016-09-01 Martin Sebor <msebor@redhat.com>
8106 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
8107 size to guarantee it fits the output of the formatted function
8108 regardless of its arguments.
8110 2016-09-01 Marek Polacek <polacek@redhat.com>
8113 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
8116 2016-08-29 Marek Polacek <polacek@redhat.com>
8119 * c-common.c (warn_logical_not_parentheses): Don't warn for
8120 a comparison or a logical operator.
8122 2016-08-29 Tom de Vries <tom@codesourcery.com>
8124 * c-common.c (build_va_arg): Fix type comparison assert.
8126 2016-08-29 Tom de Vries <tom@codesourcery.com>
8128 * c-common.c (build_va_arg): Replace first argument type error
8131 2016-08-29 Tom de Vries <tom@codesourcery.com>
8134 * c-common.c (build_va_arg): Add first argument error. Build va_arg
8135 with error_mark_node as va_list instead of with illegal va_list.
8137 2016-08-25 Marek Polacek <polacek@redhat.com>
8138 David Malcolm <dmalcolm@redhat.com>
8140 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
8141 * c-common.h (warn_logical_not_parentheses): Update declaration.
8143 2016-08-22 Marek Polacek <polacek@redhat.com>
8146 * c-common.c (warn_for_memset): Check type for null.
8148 2016-08-22 Joseph Myers <joseph@codesourcery.com>
8150 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
8151 _FloatNx types for suffixes for built-in functions.
8153 2016-08-19 Joseph Myers <joseph@codesourcery.com>
8156 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
8157 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
8158 (RID_FLOAT128X): New enum rid values.
8159 (CASE_RID_FLOATN_NX): New macro.
8160 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
8162 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
8163 corresponding complex types.
8164 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
8165 _FloatNx and corresponding complex types.
8166 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
8167 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
8168 and _FloatNx types for the widest type for determining
8169 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
8170 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
8171 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
8173 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
8175 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
8178 2016-08-18 David Malcolm <dmalcolm@redhat.com>
8180 * c-opts.c (c_diagnostic_finalizer): Update for change to
8181 diagnostic_show_locus.
8183 2016-08-18 David Malcolm <dmalcolm@redhat.com>
8185 * c-common.c: Include "spellcheck.h".
8186 (cb_get_suggestion): New function.
8187 * c-common.h (cb_get_suggestion): New decl.
8188 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
8191 2016-08-18 Marek Polacek <polacek@redhat.com>
8194 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
8197 2016-08-16 David Malcolm <dmalcolm@redhat.com>
8200 * c-common.c (substring_loc::get_range): Rename to...
8201 (substring_loc::get_location): ...this, converting param from a
8202 source_range * to a location_t *. Call
8203 get_source_location_for_substring rather than
8204 get_source_range_for_substring, and pass in m_caret_idx.
8205 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
8206 (substring_loc::get_range): Replace with...
8207 (substring_loc::get_location): ...this.
8208 (substring_loc::set_caret_index): New method.
8209 (substring_loc): Add field m_caret_idx.
8210 * c-format.c (format_warning_va): Update for above changes.
8211 Rename local "substring_loc" to "fmt_substring_loc" to avoid
8212 clashing with type name.
8213 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
8214 (check_argument_type): Likewise.
8215 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
8216 Use a copy when emitting warnings, setting the caret index from TYPE.
8218 2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8219 Arnaud Charlet <charlet@adacore.com>
8221 * c-ada-spec.c (dump_number): New function.
8222 (handle_escape_character): Likewise.
8223 (print_ada_macros): Add handling of constant integers and strings.
8225 2016-08-12 Marek Polacek <polacek@redhat.com>
8228 * c-common.c (scalar_to_vector): Adjust fall through comment.
8229 * c-opts.c (c_common_handle_option): Likewise.
8230 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
8231 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
8232 fall through comment.
8233 * cilk.c (extract_free_variables): Add FALLTHRU.
8235 2016-08-10 Jason Merrill <jason@redhat.com>
8237 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
8239 2016-08-09 Jason Merrill <jason@redhat.com>
8241 * c-common.c (c_common_attribute_table): vector_size affects type
8244 2016-08-09 Marek Polacek <polacek@redhat.com>
8247 * c-ada-spec.c (dump_generic_ada_node): Add return.
8249 2016-08-09 Jason Merrill <jason@redhat.com>
8251 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
8252 C++17 constexpr lambdas.
8254 2016-08-08 David Malcolm <dmalcolm@redhat.com>
8257 * c-common.h (selftest::c_format_c_tests): New declaration.
8258 (selftest::run_c_tests): New declaration.
8259 * c-format.c: Include "selftest.h.
8260 (format_warning_va): Add param "corrected_substring" and use
8261 it to add a replacement fix-it hint.
8262 (format_warning_at_substring): Likewise.
8263 (format_warning_at_char): Update for new param of
8265 (argument_parser::check_argument_type): Pass "fki" to
8267 (check_format_types): Add param "fki" and pass it to
8268 format_type_warning.
8269 (deref_n_times): New function.
8270 (get_modifier_for_format_len): New function.
8271 (selftest::test_get_modifier_for_format_len): New function.
8272 (get_format_for_type): New function.
8273 (format_type_warning): Add param "fki" and use it to attempt
8274 to provide hints for argument types when calling
8275 format_warning_at_substring.
8276 (selftest::get_info): New function.
8277 (selftest::assert_format_for_type_streq): New function.
8278 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
8279 (selftest::test_get_format_for_type_printf): New function.
8280 (selftest::test_get_format_for_type_scanf): New function.
8281 (selftest::c_format_c_tests): New function.
8283 2016-08-08 David Malcolm <dmalcolm@redhat.com>
8286 * c-format.c: Include "diagnostic.h".
8287 (location_column_from_byte_offset): Delete.
8288 (location_from_offset): Delete.
8289 (format_warning_va): New function.
8290 (format_warning_at_substring): New function.
8291 (format_warning_at_char): New function.
8292 (check_format_arg): Capture location of format_tree and pass to
8293 check_format_info_main.
8294 (argument_parser): Add fields "start_of_this_format" and
8295 "format_string_cst".
8296 (flag_chars_t::validate): Add param "format_string_cst". Convert
8297 warning_at call using location_from_offset to call to
8298 format_warning_at_char.
8299 (argument_parser::argument_parser): Add param "format_string_cst_"
8300 and use use it to initialize field "format_string_cst".
8301 Initialize new field "start_of_this_format".
8302 (argument_parser::read_format_flags): Convert warning_at call
8303 using location_from_offset to a call to format_warning_at_char.
8304 (argument_parser::read_any_format_left_precision): Likewise.
8305 (argument_parser::read_any_format_precision): Likewise.
8306 (argument_parser::read_any_other_modifier): Likewise.
8307 (argument_parser::find_format_char_info): Likewise, in three places.
8308 (argument_parser::parse_any_scan_set): Likewise, in one place.
8309 (argument_parser::handle_conversions): Likewise, in two places.
8310 (argument_parser::check_argument_type): Add param "fmt_param_loc"
8311 and use it to make a substring_loc. Pass the latter to
8313 (check_format_info_main): Add params "fmt_param_loc" and
8314 "format_string_cst". Convert warning_at calls using
8315 location_from_offset to calls to format_warning_at_char. Pass the
8316 new params to the arg_parser ctor. Pass "format_string_cst" to
8317 flag_chars.validate. Pass "fmt_param_loc" to
8318 arg_parser.check_argument_type.
8319 (check_format_types): Convert first param from a location_t
8320 to a const substring_loc & and rename to "fmt_loc". Attempt
8321 to extract the range of the relevant parameter and pass it
8322 to format_type_warning.
8323 (format_type_warning): Convert first param from a location_t
8324 to a const substring_loc & and rename to "fmt_loc". Add
8325 params "param_range" and "type". Replace calls to warning_at
8326 with calls to format_warning_at_substring.
8328 2016-08-08 David Malcolm <dmalcolm@redhat.com>
8330 * c-format.c (class flag_chars_t): New class.
8331 (struct length_modifier): New struct.
8332 (class argument_parser): New class.
8333 (flag_chars_t::flag_chars_t): New ctor.
8334 (flag_chars_t::has_char_p): New method.
8335 (flag_chars_t::add_char): New method.
8336 (flag_chars_t::validate): New method.
8337 (flag_chars_t::get_alloc_flag): New method.
8338 (flag_chars_t::assignment_suppression_p): New method.
8339 (argument_parser::argument_parser): New ctor.
8340 (argument_parser::read_any_dollar): New method.
8341 (argument_parser::read_format_flags): New method.
8342 (argument_parser::read_any_format_width): New method.
8343 (argument_parser::read_any_format_left_precision): New method.
8344 (argument_parser::read_any_format_precision): New method.
8345 (argument_parser::handle_alloc_chars): New method.
8346 (argument_parser::read_any_length_modifier): New method.
8347 (argument_parser::read_any_other_modifier): New method.
8348 (argument_parser::find_format_char_info): New method.
8349 (argument_parser::validate_flag_pairs): New method.
8350 (argument_parser::give_y2k_warnings): New method.
8351 (argument_parser::parse_any_scan_set): New method.
8352 (argument_parser::handle_conversions): New method.
8353 (argument_parser::check_argument_type): New method.
8354 (check_format_info_main): Introduce classes argument_parser
8355 and flag_chars_t, moving the code within the loop into methods
8356 of these classes. Make various locals "const".
8358 2016-08-05 David Malcolm <dmalcolm@redhat.com>
8360 * c-common.c: Include "substring-locations.h".
8361 (get_cpp_ttype_from_string_type): New function.
8362 (g_string_concat_db): New global.
8363 (substring_loc::get_range): New method.
8364 * c-common.h (g_string_concat_db): New declaration.
8365 (class substring_loc): New class.
8366 * c-lex.c (lex_string): When concatenating strings, capture the
8367 locations of all tokens using a new obstack, and record the
8368 concatenation locations within g_string_concat_db.
8369 * c-opts.c (c_common_init_options): Construct g_string_concat_db
8372 2016-07-29 Marek Polacek <polacek@redhat.com>
8375 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
8376 parentheses warning.
8379 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
8381 2016-07-28 Martin Liska <mliska@suse.cz>
8383 PR gcov-profile/68025
8384 * c-common.c (handle_no_profile_instrument_function_attribute):
8386 2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
8388 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
8391 2016-07-25 Jason Merrill <jason@redhat.com>
8394 * c.opt (fconstexpr-loop-limit): New.
8396 2016-07-22 Martin Sebor <msebor@redhat.com>
8399 * c-common.c (resolve_overloaded_builtin): Avoid converting
8400 __atomic_compare_exchange_n return type to that of what its
8401 first argument points to.
8403 2016-07-22 Uros Bizjak <ubizjak@gmail.com>
8405 * c-common.c: Use HOST_WIDE_INT_M1U instead of
8406 ~(unsigned HOST_WIDE_INT) 0.
8408 2016-07-22 Martin Liska <mliska@suse.cz>
8410 PR gcov-profile/69028
8411 PR gcov-profile/62047
8412 * cilk.c (create_cilk_helper_decl): Set location of a new decl
8413 to the current_function_decl.
8415 2016-07-21 Jason Merrill <jason@redhat.com>
8418 * c-common.c (c_common_truthvalue_conversion): Check
8419 c_inhibit_evaluation_warnings for warning about address of
8422 2016-07-20 David Malcolm <dmalcolm@redhat.com>
8424 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
8427 2016-07-15 Jason Merrill <jason@redhat.com>
8429 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
8431 2016-07-15 Jakub Jelinek <jakub@redhat.com>
8434 * c-common.h (enum lookup_name_fuzzy_kind): Add
8435 FUZZY_LOOKUP_FUNCTION_NAME.
8437 2016-07-08 Jason Merrill <jason@redhat.com>
8439 P0145: Refining Expression Order for C++.
8440 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
8443 2016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
8446 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
8448 2016-06-29 Thomas Schwinge <thomas@codesourcery.com>
8450 * c-pragma.h (enum pragma_kind): Rename
8451 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
8454 2016-06-29 Richard Biener <rguenther@suse.de>
8457 * c-common.c (c_common_get_alias_set): Remove union type punning case.
8459 2016-06-24 Jason Merrill <jason@redhat.com>
8461 P0145R2: Refining Expression Order for C++.
8462 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
8465 2016-06-24 Jakub Jelinek <jakub@redhat.com>
8467 * c-common.c (check_builtin_function_arguments): Require last
8468 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
8469 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
8470 if the last argument is pointer to enumerated or boolean type.
8472 2016-06-22 David Malcolm <dmalcolm@redhat.com>
8475 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
8476 (lookup_name_fuzzy): New prototype.
8478 2016-06-21 John David Anglin <danglin@gcc.gnu.org>
8480 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
8482 2016-06-14 Jason Merrill <jason@redhat.com>
8484 P0145R2: Refining Expression Order for C++.
8485 * c.opt (fargs-in-order): New.
8486 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
8488 2016-06-13 Jakub Jelinek <jakub@redhat.com>
8491 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
8492 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
8494 PR preprocessor/71183
8495 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
8496 to cb_get_source_date_epoch.
8498 2016-06-10 Jakub Jelinek <jakub@redhat.com>
8501 * c.opt (Wpsabi): Add Warning flag.
8503 2016-06-10 Martin Sebor <msebor@redhat.com>
8506 * c-common.c (handle_nonnull_attribute): Accept
8507 the nonnull attribute in type-generic builtins.
8509 2016-06-09 Martin Sebor <msebor@redhat.com>
8512 * c-common.c (builtin_function_validate_nargs): Make text of error
8513 message consistent with others like it.
8515 2016-06-08 Martin Sebor <msebor@redhat.com>
8516 Jakub Jelinek <jakub@redhat.com>
8520 * c-common.c (check_builtin_function_arguments): Handle
8521 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
8523 2016-06-08 Richard Biener <rguenther@suse.de>
8525 * c-common.c (parse_optimize_options): Improve diagnostic messages.
8527 2016-06-07 Richard Biener <rguenther@suse.de>
8530 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
8531 options and warn about others.
8533 2016-06-01 Eduard Sanou <dhole@openmailbox.org>
8535 * c-common.c (get_source_date_epoch): Rename to
8536 cb_get_source_date_epoch.
8537 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
8538 message when the parsing fails. Use error_at instead of fatal_error.
8539 * c-common.h (get_source_date_epoch): Rename to
8540 cb_get_source_date_epoch.
8541 * c-common.h (cb_get_source_date_epoch): Prototype.
8542 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
8543 * c-common.h (c_omp_region_type): Remove trailing comma.
8544 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
8545 * c-lex.c (c_lex_with_flags): Remove initialization of
8546 pfile->source_date_epoch.
8548 2016-05-30 Jakub Jelinek <jakub@redhat.com>
8551 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
8552 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
8553 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
8554 instead of C_OMP_CLAUSE_SPLIT_FOR.
8556 2016-05-24 Richard Biener <rguenther@suse.de>
8560 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
8561 (convert_vector_to_array_for_subscript): ... this.
8562 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
8563 VIEW_CONVERT_EXPR to an array type. Rename to ...
8564 (convert_vector_to_array_for_subscript): ... this.
8566 2016-05-12 Marek Polacek <polacek@redhat.com>
8569 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
8570 size_in_bytes and pass LOC to it.
8572 2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
8575 * c.opt (Wduplicate-decl-specifier): New option.
8577 2016-05-11 Marek Polacek <polacek@redhat.com>
8580 * c-common.c (diagnose_mismatched_attributes): New function.
8581 * c-common.h (diagnose_mismatched_attributes): Declare.
8583 2016-05-04 Marek Polacek <polacek@redhat.com>
8585 * c.opt (Wdangling-else): New option.
8587 2016-05-03 Marek Polacek <polacek@redhat.com>
8590 * c-common.c (builtin_function_validate_nargs): Add location
8592 (check_builtin_function_arguments): Add location and arguments
8593 parameters. Use them.
8594 * c-common.h (check_builtin_function_arguments): Update declaration.
8596 2016-05-03 Richard Biener <rguenther@suse.de>
8598 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
8599 allow call args to gimplify to SSA names.
8601 2016-05-03 Marek Polacek <polacek@redhat.com>
8603 * c-common.h (enum c_omp_region_type): Remove stray comma.
8605 2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
8607 * c-common.h (enum c_omp_region_type): Define.
8609 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
8611 * c-common.c (shorten_compare): Use wi::to_wide.
8613 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
8616 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
8617 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
8618 reduction clauses in acc parallel loops.
8620 2016-04-29 Marek Polacek <polacek@redhat.com>
8623 * c-common.c (warn_for_memset): Check domain before accessing it.
8625 2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
8628 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
8629 "aligned" attribute.
8631 2016-04-28 Jason Merrill <jason@redhat.com>
8633 * c-lex.c (c_common_has_attribute): Handle nodiscard.
8635 2016-04-28 Eduard Sanou <dhole@openmailbox.org>
8636 Matthias Klose <doko@debian.org>
8638 * c-common.c (get_source_date_epoch): New function, gets the environment
8639 variable SOURCE_DATE_EPOCH and parses it as long long with error
8641 * c-common.h (get_source_date_epoch): Prototype.
8642 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
8644 2015-04-27 Ryan Burn <contact@rnburn.com>
8648 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
8649 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
8651 (cilk_detect_and_unwrap): Corresponding changes.
8652 (extract_free_variables): Don't extract free variables from
8653 AGGR_INIT_EXPR slot.
8654 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
8655 (cilk_recognize_spawn): Likewise.
8657 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
8659 * c.opt (Wmemset-elt-size): New option.
8660 * c-common.c (warn_for_memset): New function.
8661 * c-common.h (warn_for_memset): Declare.
8663 2016-04-25 Jason Merrill <jason@redhat.com>
8665 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
8667 * c-common.h: Declare it.
8668 * c-lex.c (c_common_has_attribute): Add maybe_unused.
8670 2016-04-22 Jason Merrill <jason@redhat.com>
8672 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
8674 2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
8677 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
8678 * c-common.h (c_finish_cilk_clauses): Remove declaration.
8680 2016-04-18 Michael Matz <matz@suse.de>
8682 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
8685 2016-04-17 Eric Botcazou <ebotcazou@adacore.com>
8687 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
8688 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
8689 to incomplete types.
8690 (dump_nested_type): Remove redundant tests and tidy up.
8691 (print_ada_declaration): Also set TREE_VISITED on the declaration of
8692 a type which is the typedef of an original type.
8694 2016-04-15 Marek Polacek <polacek@redhat.com>
8697 * c-common.c (build_va_arg): Change two asserts into errors and return
8700 2016-04-13 Marek Polacek <polacek@redhat.com>
8703 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
8704 for switch statements, too.
8706 2016-03-28 Jason Merrill <jason@redhat.com>
8708 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
8710 2016-03-23 Marek Polacek <polacek@redhat.com>
8713 * c.opt (Wignored-attributes): New option.
8715 2016-03-22 David Malcolm <dmalcolm@redhat.com>
8718 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
8719 diagnostic text, reversing the order of the warning and note so
8720 that they appear in source order.
8722 2016-03-17 Marek Polacek <polacek@redhat.com>
8725 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
8728 2016-03-14 Jason Merrill <jason@redhat.com>
8730 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
8732 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
8734 2016-03-09 Richard Biener <rguenther@suse.de>
8737 * c-common.c (strict_aliasing_warning): Add back
8738 alias_sets_conflict_p check.
8740 2016-03-08 Jason Merrill <jason@redhat.com>
8742 * c-opts.c (set_std_cxx1z): Don't enable concepts.
8744 2016-03-04 David Malcolm <dmalcolm@redhat.com>
8747 * c-indentation.c (get_visual_column): Move code to determine next
8749 (next_tab_stop): ...this new function.
8750 (line_contains_hash_if): Delete function.
8751 (detect_preprocessor_logic): Delete function.
8752 (get_first_nws_vis_column): New function.
8753 (detect_intervening_unindent): New function.
8754 (should_warn_for_misleading_indentation): Replace call to
8755 detect_preprocessor_logic with a call to
8756 detect_intervening_unindent.
8758 2016-03-04 David Malcolm <dmalcolm@redhat.com>
8761 * c-indentation.c (should_warn_for_misleading_indentation): When
8762 suppressing warnings about cases where the guard and body are on
8763 the same column, only use the first non-whitespace column in place
8764 of the guard token column when dealing with "else" clauses.
8765 When rejecting aligned BODY and NEXT, loosen the requirement
8766 from equality with the first non-whitespace of guard to simply
8767 that they not be indented relative to it.
8769 2016-03-04 Richard Biener <rguenther@suse.de>
8772 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
8773 instead of alias_sets_conflict_p.
8775 2016-03-01 Marek Polacek <polacek@redhat.com>
8778 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
8781 2016-02-22 Martin Sebor <msebor@redhat.com>
8784 * c-common.c (check_builtin_function_arguments): Validate and
8785 reject invalid arguments to __builtin_alloca_with_align.
8787 2016-02-20 Mark Wielaard <mjw@redhat.com>
8790 * c.opt (Wunused-const-variable): Turn into Alias for...
8791 (Wunused-const-variable=): New option.
8793 2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
8796 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
8798 (c_common_init_options): ...to here.
8799 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
8801 2016-02-19 Jakub Jelinek <jakub@redhat.com>
8804 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
8805 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
8806 flag_preprocess_only.
8808 2016-02-16 Jakub Jelinek <jakub@redhat.com>
8811 * c.opt (Wnonnull-compare): Enable for -Wall.
8813 2016-02-15 Jakub Jelinek <jakub@redhat.com>
8816 * c-common.c (sync_resolve_size): Diagnose too few arguments
8817 even when params is non-NULL empty vector.
8819 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
8822 * c.opt (fshort-double): Remove.
8824 2016-02-05 Martin Sebor <msebor@redhat.com>
8827 * c.opt (Warning options): Update -Wplacement-new to take
8828 an optional argument.
8830 2016-02-01 Jakub Jelinek <jakub@redhat.com>
8832 PR preprocessor/69543
8834 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
8835 instead of loc to control_warning_option.
8837 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
8839 * c.opt (fopenacc-dim=): New option.
8841 2016-01-27 Ryan Burn <contact@rnburn.com>
8844 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
8845 gimplify_arg. Removed superfluous post_p argument.
8846 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
8847 superfluous post_p argument.
8848 * c-gimplify.c (c_gimplify_expr): Likewise.
8850 2016-01-26 David Malcolm <dmalcolm@redhat.com>
8853 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
8854 pp_newline_and_flush with pp_flush.
8856 2016-01-20 Martin Sebor <msebor@redhat.com>
8859 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
8860 an incompatible argument when the argument isn't a valid tree node.
8862 2016-01-18 Jason Merrill <jason@redhat.com>
8865 * c-common.c (check_function_arguments_recurse): Fold the whole
8866 COND_EXPR, not just the condition.
8868 2016-01-18 Tom de Vries <tom@codesourcery.com>
8870 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
8871 classify as loop clause.
8873 2016-01-15 Jakub Jelinek <jakub@redhat.com>
8876 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
8877 C++ FE no longer has limit on number of pragmas.
8879 2015-01-14 Ryan Burn <contact@rnburn.com>
8882 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
8883 to add missing cleanup point.
8885 2016-01-14 David Malcolm <dmalcolm@redhat.com>
8888 * c-indentation.c (get_visual_column): Add location_t param.
8889 Handle the column number being zero by effectively disabling the
8890 warning, with an "inform".
8891 (should_warn_for_misleading_indentation): Add location_t argument
8892 for all uses of get_visual_column.
8894 2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
8897 * c-indentation.c (should_warn_for_misleading_indentation):
8898 Don't warn about do-while statements.
8900 2016-01-07 Martin Sebor <msebor@redhat.com>
8903 * c-common.c (sync_resolve_size): Reject first argument when it's
8906 2016-01-05 David Malcolm <dmalcolm@redhat.com>
8909 * c-indentation.c (get_visual_column): Remove default argument.
8910 (should_warn_for_misleading_indentation): For the multiline case,
8911 update call to get_visual_column for next_stmt_exploc so that it
8912 captures the location of the first non-whitespace character in the
8913 relevant line. Don't issue warnings if there is non-whitespace
8914 before the next statement.
8916 2016-01-04 Jakub Jelinek <jakub@redhat.com>
8918 Update copyright years.
8920 2015-12-21 David Malcolm <dmalcolm@redhat.com>
8922 * c-common.c (binary_op_error): Convert first param from
8923 location_t to rich_location * and use it when emitting an error.
8924 * c-common.h (binary_op_error): Convert first param from
8925 location_t to rich_location *.
8927 2015-12-16 David Malcolm <dmalcolm@redhat.com>
8929 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
8930 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
8932 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
8934 * c-common.c (c_common_attribute_table): Handle "omp declare target
8937 2015-12-14 Jakub Jelinek <jakub@redhat.com>
8940 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
8942 2014-12-12 Tobias Burnus <burnus@net-b.de>
8945 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
8946 specifiers (%d, %i,%u and %c).
8948 2015-12-10 David Malcolm <dmalcolm@redhat.com>
8950 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
8952 2015-12-08 Jakub Jelinek <jakub@redhat.com>
8956 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
8957 * c-pragma.c (handle_pragma_diagnostic): Adjust
8958 control_warning_option caller.
8960 2015-12-07 David Malcolm <dmalcolm@redhat.com>
8962 * c-common.c (c_cpp_error): Update for change to
8963 rich_location::set_range.
8965 2015-12-04 Paolo Bonzini <bonzini@gnu.org>
8967 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
8968 shifting 1 out of the sign bit.
8970 2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
8972 * c-common.c (c_common_attribute_table[]): Update max arguments
8973 count for "simd" attribute.
8974 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
8976 2015-12-03 Jakub Jelinek <jakub@redhat.com>
8978 PR preprocessor/57580
8979 * c-ppoutput.c (print): Change printed field to bool.
8980 Move src_file last for smaller padding.
8981 (init_pp_output): Set print.printed to false instead of 0.
8982 (scan_translation_unit): Fix up formatting. Set print.printed
8983 to true after printing something other than newline.
8984 (scan_translation_unit_trad): Set print.printed to true instead of 1.
8985 (maybe_print_line_1): Set print.printed to false instead of 0.
8986 (print_line_1): Likewise.
8987 (do_line_change): Set print.printed to true instead of 1.
8988 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
8989 dump_macro): Set print.printed to false after printing newline.
8991 2015-12-02 Jason Merrill <jason@redhat.com>
8993 * c-common.c (fold_for_warn): New.
8994 (warn_logical_operator, warn_tautological_cmp)
8995 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
8997 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
8998 (c_fully_fold_internal, decl_constant_value_for_optimization):
9000 * c-common.h: Don't declare decl_constant_value_for_optimization.
9002 2015-12-02 Joseph Myers <joseph@codesourcery.com>
9005 * c-common.h (c_build_qualified_type): Add extra default
9008 2015-12-01 Julian Brown <julian@codesourcery.com>
9009 Cesar Philippidis <cesar@codesourcery.com>
9010 James Norris <James_Norris@mentor.com>
9012 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
9013 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
9014 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
9016 2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
9018 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
9019 (decl_sloc_common): Delete and move bulk of processing to...
9020 (decl_sloc): ...here.
9021 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
9022 (dump_ada_double_name): Remove S parameter and compute the suffix.
9023 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
9024 element type and deal with an anonymous one.
9025 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
9026 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
9027 and remove reference to QUAL_UNION_TYPE.
9028 (dump_nested_types): Make 2 passes on the fields and move bulk to...
9029 (dump_nested_type): ...here. New function extracted from above.
9030 Generate a full declaration for anonymous element type of arrays.
9031 (print_ada_declaration): Really skip anonymous declarations. Remove
9032 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
9033 Clean up processing of declarations of array types and objects.
9034 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
9035 Remove obsolete code and tidy up.
9037 2015-11-29 Jan Hubicka <hubicka@ucw.cz>
9040 * c-common.c (handle_transparent_union_attribute): Update
9043 2015-11-27 Martin Liska <mliska@suse.cz>
9046 * array-notation-common.c (cilkplus_extract_an_triplets):
9047 Release vector of vectors.
9048 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
9050 2015-11-26 Eric Botcazou <ebotcazou@adacore.com>
9053 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
9054 (print_ada_struct_decl): Likewise.
9056 2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
9059 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
9060 * cilk.c (recognize_spawn): Determine location in a more precise
9063 2015-11-19 Jason Merrill <jason@redhat.com>
9065 * c-common.c (shorten_compare): But look through macros from
9068 2015-11-18 Jason Merrill <jason@redhat.com>
9070 * c-common.c (shorten_compare): Don't -Wtype-limits if the
9071 non-constant operand comes from a macro.
9073 2015-11-17 Jason Merrill <jason@redhat.com>
9076 * c-common.c (warn_tautological_cmp): Fold before checking for
9079 2015-11-16 Marek Polacek <polacek@redhat.com>
9082 * c-common.c (check_case_bounds): Fold low and high cases.
9084 2015-11-16 Marek Polacek <polacek@redhat.com>
9086 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
9087 * c-common.c (c_common_get_alias_set): Likewise.
9088 (handle_visibility_attribute): Likewise.
9090 2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
9092 * c-common.c (handle_simd_attribute): New.
9093 (struct attribute_spec): Add entry for "simd".
9094 (handle_simd_attribute): New.
9096 2015-11-13 Kai Tietz <ktietz70@googlemail.com>
9098 * c-lex.c (interpret_float): Use fold_convert.
9100 2015-11-13 David Malcolm <dmalcolm@redhat.com>
9102 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
9103 and store it on the result.
9104 * c-opts.c (c_common_init_options): Set
9105 global_dc->colorize_source_p.
9107 2015-11-12 James Norris <jnorris@codesourcery.com>
9108 Joseph Myers <joseph@codesourcery.com>
9110 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
9111 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
9112 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
9113 PRAGMA_OACC_CLAUSE_LINK.
9115 2015-11-11 Marek Polacek <polacek@redhat.com>
9119 * c-common.c (valid_array_size_p): New function.
9120 * c-common.h (valid_array_size_p): Declare.
9122 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
9125 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
9127 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
9129 * array-notation-common.c: Remove unused header files.
9130 * c-ada-spec.c: Likewise.
9131 * c-cilkplus.c: Likewise.
9132 * c-common.c: Likewise.
9133 * c-cppbuiltin.c: Likewise.
9134 * c-dump.c: Likewise.
9135 * c-format.c: Likewise.
9136 * c-gimplify.c: Likewise.
9137 * c-indentation.c: Likewise.
9138 * c-lex.c: Likewise.
9139 * c-omp.c: Likewise.
9140 * c-opts.c: Likewise.
9141 * c-pch.c: Likewise.
9142 * c-ppoutput.c: Likewise.
9143 * c-pragma.c: Likewise.
9144 * c-pretty-print.c: Likewise.
9145 * c-semantics.c: Likewise.
9146 * c-ubsan.c: Likewise.
9148 * stub-objc.c: Likewise.
9150 2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
9151 Cesar Philippidis <cesar@codesourcery.com>
9152 James Norris <jnorris@codesourcery.com>
9153 Julian Brown <julian@codesourcery.com>
9154 Nathan Sidwell <nathan@codesourcery.com>
9156 * c-pragma.c (oacc_pragmas): Add "routine".
9157 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
9159 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
9161 * c-common.c (c_common_attributes): Add scalar_storage_order.
9162 (handle_scalar_storage_order_attribute): New function.
9163 * c-pragma.c (global_sso): New variable.
9164 (maybe_apply_pragma_scalar_storage_order): New function.
9165 (handle_pragma_scalar_storage_order): Likewise.
9166 (init_pragma): Register scalar_storage_order.
9167 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
9168 * c.opt (Wscalar-storage-order): New warning.
9169 (fsso-struct=): New option.
9171 2015-11-08 Martin Sebor <msebor@redhat.com>
9173 * c.opt (Wplacement-new): Add a period to the end of a sentence.
9175 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
9177 * c-common.c: Don't undef DEF_BUILTIN.
9179 2015-11-06 David Malcolm <dmalcolm@redhat.com>
9181 * c-common.c (c_cpp_error): Convert parameter from location_t to
9182 rich_location *. Eliminate the "column_override" parameter and
9183 the call to diagnostic_override_column.
9184 Update the "done_lexing" clause to set range 0
9185 on the rich_location, rather than overwriting a location_t.
9186 * c-common.h (c_cpp_error): Convert parameter from location_t to
9187 rich_location *. Eliminate the "column_override" parameter.
9189 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
9190 Thomas Schwinge <thomas@codesourcery.com>
9191 James Norris <jnorris@codesourcery.com>
9193 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
9194 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
9195 clauses with parallel and kernels and loops.
9196 * c-pragma.h (enum pragma_omp_clause): Add entries for
9197 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
9198 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
9199 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
9201 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
9203 2015-11-05 Martin Sebor <msebor@redhat.com>
9206 * c.opt (-Wplacement-new): New option.
9208 2015-11-05 Jakub Jelinek <jakub@redhat.com>
9210 * c-common.h (c_finish_omp_atomic): Add TEST argument.
9211 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
9212 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
9213 save_expr or create_tmp_var* if TEST is true.
9214 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
9215 Don't call add_stmt here.
9216 (struct c_omp_check_loop_iv_data): New type.
9217 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
9218 c_omp_check_loop_iv_exprs): New functions.
9219 (c_omp_split_clauses): Adjust for lastprivate being allowed on
9221 (c_omp_declare_simd_clauses_to_numbers): Change
9222 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
9223 (c_omp_declare_simd_clauses_to_decls): Similarly change those
9224 from numbers to PARM_DECLs.
9226 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
9228 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
9231 2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
9234 * c-common.h (fold_offsetof_1): Add argument.
9235 * c-common.c (fold_offsetof_1): Diagnose more invalid
9236 offsetof expressions that reference elements past the end of
9239 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
9240 Chung-Lin Tang <cltang@codesourcery.com>
9242 * c-pragma.c (oacc_pragmas): Add "atomic".
9243 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
9245 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
9247 * c-common.c (handle_target_clones_attribute): New.
9248 (c_common_attribute_table): Add handle_target_clones_attribute.
9249 (handle_always_inline_attribute): Add check on target_clones attribute.
9250 (handle_target_attribute): Ditto.
9252 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
9254 * array-notation-common.c: Reorder #include's and remove duplicates.
9255 * c-ada-spec.c: Likewise.
9256 * c-cilkplus.c: Likewise.
9257 * c-common.c: Likewise.
9258 * c-cppbuiltin.c: Likewise.
9259 * c-dump.c: Likewise.
9260 * c-format.c: Likewise.
9261 * c-gimplify.c: Likewise.
9262 * c-indentation.c: Likewise.
9263 * c-lex.c: Likewise.
9264 * c-omp.c: Likewise.
9265 * c-opts.c: Likewise.
9266 * c-pch.c: Likewise.
9267 * c-ppoutput.c: Likewise.
9268 * c-pragma.c: Likewise.
9269 * c-pretty-print.c: Likewise.
9270 * c-semantics.c: Likewise.
9271 * c-ubsan.c: Likewise.
9273 * stub-objc.c: Likewise.
9275 2015-10-28 Jason Merrill <jason@redhat.com>
9277 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
9279 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
9280 James Norris <jnorris@codesourcery.com>
9281 Cesar Philippidis <cesar@codesourcery.com>
9285 * c-common.h (c_oacc_split_loop_clauses): Declare function.
9286 * c-omp.c (c_oacc_split_loop_clauses): New function.
9288 2015-10-21 Martin Sebor <msebor@redhat.com>
9291 * c.opt: End each sentence that describes an option with a period.
9293 2015-10-20 Marek Polacek <polacek@redhat.com>
9295 * array-notation-common.c (is_cilkplus_vector_p): Define.
9296 * c-common.h (is_cilkplus_vector_p): Declare.
9298 2015-10-20 Marek Polacek <polacek@redhat.com>
9300 * c.opt (std=gnu++11): Do not describe as experimental.
9301 (std=gnu++14): Likewise.
9303 2015-10-19 Jason Merrill <jason@redhat.com>
9305 * c-cppbuiltin.c (c_cpp_builtins): Define
9306 __cpp_nontype_template_args.
9308 2015-10-19 Jason Merrill <jason@redhat.com>
9310 * c-cppbuiltin.c (c_cpp_builtins): Define
9311 __cpp_enumerator_attributes, __cpp_fold_expressions,
9312 __cpp_unicode_characters.
9314 2015-10-13 Jakub Jelinek <jakub@redhat.com>
9315 Aldy Hernandez <aldyh@redhat.com>
9317 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
9318 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
9319 (c_define_builtins): Likewise.
9320 * c-common.h (enum c_omp_clause_split): Add
9321 C_OMP_CLAUSE_SPLIT_TASKLOOP.
9322 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
9323 (c_finish_omp_for): Add ORIG_DECLV argument.
9324 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
9325 201511 instead of 201307.
9326 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
9327 OMP_CRITICAL_CLAUSES to it.
9328 (c_finish_omp_ordered): Add CLAUSES argument, set
9329 OMP_ORDERED_CLAUSES to it.
9330 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
9331 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
9332 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
9333 constructs and new OpenMP 4.5 clauses. Clear
9334 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
9336 * c-pragma.c (omp_pragmas_simd): Add taskloop.
9337 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
9338 (enum pragma_omp_clause): Add
9339 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
9340 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
9342 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
9344 * c-lex.c (interpret_float): Use real_equal instead of
9347 2015-10-04 Jason Merrill <jason@redhat.com>
9349 Implement N4514, C++ Extensions for Transactional Memory.
9350 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
9351 (c_common_attribute_table): Add transaction_safe_dynamic.
9352 transaction_safe now affects type identity.
9353 (handle_tm_attribute): Handle transaction_safe_dynamic.
9354 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
9355 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
9356 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
9358 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
9359 * c-pretty-print.c (pp_c_attributes_display): Don't print
9360 transaction_safe in C++.
9362 2015-10-02 Marek Polacek <polacek@redhat.com>
9364 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
9366 2015-10-02 Marek Polacek <polacek@redhat.com>
9369 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
9370 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
9371 * c.opt (Wduplicated-cond): New option.
9373 2015-10-01 Joseph Myers <joseph@codesourcery.com>
9375 * c.opt (std=c11): Do not describe as experimental.
9376 (std=gnu11): Likewise.
9377 (std=iso9899:2011): Likewise.
9379 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
9381 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
9382 (DEF_FUNCTION_TYPE_VAR_11): Delete.
9384 2015-09-25 Marek Polacek <polacek@redhat.com>
9386 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
9387 (ubsan_instrument_shift): Likewise.
9389 2015-09-25 Marek Polacek <polacek@redhat.com>
9392 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
9394 2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
9396 * c-indentation.c (should_warn_for_misleading_indentation):
9397 Compare next_stmt_vis_column with guard_line_first_nws instead
9398 of with guard_line_vis_column.
9400 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
9404 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
9405 options and options not valid for the current language.
9407 2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
9409 * c-indentation.c (should_warn_for_misleading_indentation):
9410 Float out and consolidate the calls to get_visual_column that
9411 are passed guard_exploc as an argument. Compare
9412 next_stmt_vis_column with guard_line_first_nws instead of with
9413 body_line_first_nws.
9415 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
9417 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
9418 Wnamespaces): New C++ warnings.
9420 2015-09-22 Jason Merrill <jason@redhat.com>
9422 * c-common.h (abi_compat_version_crosses): New.
9423 (warn_abi_version): Declare.
9424 * c-common.c: Define it.
9425 * c-opts.c (c_common_post_options): Handle it.
9426 flag_abi_compat_version defaults to 8.
9428 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
9430 Complete the implementation of N4230, Nested namespace definition.
9431 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
9432 __cpp_nested_namespace_definitions.
9434 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
9436 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
9438 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
9440 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
9442 * c-pragma.h (pragma_lex): Add optional loc argument.
9444 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
9446 * c-format.c (check_format_arg): Adjust to use common block size in all
9449 2015-09-15 David Malcolm <dmalcolm@redhat.com>
9451 * c-format.c (location_from_offset): Update for change in
9452 signature of location_get_source_line.
9453 * c-indentation.c (get_visual_column): Likewise.
9454 (line_contains_hash_if): Likewise.
9456 2015-09-14 Marek Polacek <polacek@redhat.com>
9458 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
9459 setting various warnings.
9461 2015-09-14 Marek Polacek <polacek@redhat.com>
9463 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
9466 2015-09-11 Mark Wielaard <mjw@redhat.com>
9469 * c.opt (Wunused-variable): Option from common.opt.
9470 (Wunused-const-variable): New option.
9472 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
9475 * c.opt ([Wsubobject-linkage]): Add.
9477 2015-09-03 Martin Sebor <msebor@redhat.com>
9480 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
9482 * c-common.c (reject_gcc_builtin): Define.
9484 2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
9487 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
9489 * c-gimplify.c (c_gimplify_expr): Added a call to the function
9490 cilk_gimplify_call_params_in_spawned_fn.
9491 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
9492 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
9495 2015-08-25 Marek Polacek <polacek@redhat.com>
9498 * c-common.c (handle_weak_attribute): Don't check whether the
9499 visibility can be changed here.
9501 2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9503 * c-lex.c (c_lex_with_flags): Use explicit locations.
9505 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
9507 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
9508 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
9510 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9513 * c-common.c (check_builtin_function_arguments): Add check
9514 for BUILT_IN_SIGNBIT argument.
9516 2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
9519 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
9522 2015-08-17 Marek Polacek <polacek@redhat.com>
9524 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
9525 with whitespaces before qualifier names.
9527 2015-08-12 Marek Polacek <polacek@redhat.com>
9530 * c-common.c (maybe_warn_shift_overflow): Properly handle
9531 left-shifting 1 into the sign bit.
9533 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9535 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
9537 2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
9538 Braden Obrzut <admin@maniacsvault.net>
9539 Jason Merrill <jason@redhat.com>
9541 Add C++ Concepts TS support.
9542 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
9543 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
9544 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
9545 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
9546 * c-opts.c (set_std_cxx1z): Set flag_concepts.
9547 * c.opt (fconcepts): New.
9549 2015-08-02 Martin Sebor <msebor@redhat.com>
9551 * c.opt (-Wframe-address): New warning option.
9553 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
9555 * c-indentation.c (should_warn_for_misleading_indentation):
9558 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
9560 * c-indentation.c (get_visual_column): Add parameter first_nws,
9561 use it. Update comment documenting the function.
9562 (is_first_nonwhitespace_on_line): Remove.
9563 (should_warn_for_misleading_indentation): Replace usage of
9564 of is_first_nonwhitespace_on_line with get_visual_column.
9566 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
9568 * c-indentation.h (struct token_indent_info): Define.
9569 (get_token_indent_info): Define.
9570 (warn_for_misleading_information): Declare.
9571 * c-common.h (warn_for_misleading_information): Remove.
9572 * c-identation.c (warn_for_misleading_indentation):
9573 Change declaration to take three token_indent_infos. Adjust
9575 * c-identation.c (should_warn_for_misleading_indentation):
9576 Likewise. Bail out early if the body is a compound statement.
9577 (guard_tinfo_to_string): Define.
9579 2015-07-30 Jason Merrill <jason@redhat.com>
9581 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
9582 '*' for reference decay.
9584 2015-07-30 Marek Polacek <polacek@redhat.com>
9586 * c-common.c (warn_tautological_cmp): Bail for float types.
9588 2015-07-27 Marek Polacek <polacek@redhat.com>
9591 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
9593 2015-07-27 Marek Polacek <polacek@redhat.com>
9597 * c-common.c (find_array_ref_with_const_idx_r): New function.
9598 (warn_tautological_cmp): New function.
9599 * c-common.h (warn_tautological_cmp): Declare.
9600 * c.opt (Wtautological-compare): New option.
9602 2015-07-23 Marek Polacek <polacek@redhat.com>
9604 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
9605 (ubsan_instrument_shift): Likewise.
9607 2015-07-23 Marek Polacek <polacek@redhat.com>
9610 * c-ubsan.c: Include gimplify.h.
9611 (ubsan_instrument_division): Unshare OP0 and OP1.
9612 (ubsan_instrument_shift): Likewise.
9614 2015-07-20 Marek Polacek <polacek@redhat.com>
9615 Richard Sandiford <richard.sandiford@arm.com>
9618 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
9619 Use EXPR_LOC_OR_LOC.
9620 (maybe_warn_shift_overflow): New function.
9621 * c-common.h (maybe_warn_shift_overflow): Declare.
9622 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
9623 * c.opt (Wshift-overflow): New option.
9625 2015-07-16 Martin Liska <mliska@suse.cz>
9627 * c-format.c (static void check_format_info_main): Use
9628 object_allocator instead of pool_allocator.
9629 (check_format_arg): Likewise.
9630 (check_format_info_main): Likewise.
9632 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
9634 * c-opts.c: Remove multiline #include comment.
9636 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
9638 * c-common.c: Fix double word typos.
9640 2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
9642 * c-ada-spec.h (cpp_operation): Revert latest change.
9643 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
9644 constructors and destructors.
9646 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
9648 * c-common.h: Adjust includes for flags.h changes.
9649 * stub-objc.c: Likewise.
9651 2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
9653 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
9654 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
9656 2015-07-08 Jakub Jelinek <jakub@redhat.com>
9658 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
9659 are to be removed, return NULL rather than original clauses list.
9661 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
9663 * array-notation-common.c: Adjust includes.
9664 * c-ada-spec.c: Likewise.
9665 * c-cilkplus.c: Likewise.
9666 * c-common.h: Likewise.
9667 * c-cppbuiltin.c: Likewise.
9668 * c-dump.c: Likewise.
9669 * c-format.c: Likewise.
9670 * c-gimplify.c: Likewise.
9671 * c-indentation.c: Likewise.
9672 * c-lex.c: Likewise.
9673 * c-omp.c: Likewise.
9674 * c-opts.c: Likewise.
9675 * c-pch.c: Likewise.
9676 * c-ppoutput.c: Likewise.
9677 * c-pragma.c: Likewise.
9678 * c-pretty-print.c: Likewise.
9679 * c-semantics.c: Likewise.
9680 * c-ubsan.c: Likewise.
9682 * stub-objc.c: Likewise.
9684 2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
9686 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
9687 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
9689 2015-07-01 Jason Merrill <jason@redhat.com>
9691 * c-common.h (D_CXX11): Rename from D_CXX0X.
9692 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
9693 * c-common.c: Adjust.
9695 * c-opts.c (c_common_post_options): Default to C++14.
9697 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
9699 2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
9701 Implement N4197 - Adding u8 character literals
9702 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
9704 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
9705 CPP_UTF8CHAR_USERDEF tokens.
9706 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
9707 and CPP_UTF8CHAR tokens.
9708 (lex_charconst): Treat CPP_UTF8CHAR token.
9710 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9713 * c-common.c (do_warn_unused_parameter): Move here.
9714 * c-common.h (do_warn_unused_parameter): Declare.
9716 2015-06-29 Marek Polacek <polacek@redhat.com>
9719 * c-common.c (check_case_bounds): Add bool * parameter. Set
9721 (c_add_case_label): Add bool * parameter. Pass it down to
9723 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
9725 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
9728 2015-06-27 Marek Polacek <polacek@redhat.com>
9730 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
9731 or VECTOR_INTEGER_TYPE_P throughout.
9732 * c-gimplify.c: Likewise.
9734 2015-06-26 Marek Polacek <polacek@redhat.com>
9736 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
9737 * c-common.c (c_fully_fold_internal): Likewise.
9738 (c_alignof_expr): Likewise.
9739 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
9740 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
9741 * cilk.c (create_parm_list): Likewise.
9743 2015-06-26 Marek Polacek <polacek@redhat.com>
9745 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
9747 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
9749 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
9750 * c-gimplify.c: Likewise.
9751 * c-pragma.c: Likewise.
9752 * c-ubsan.c: Likewise.
9755 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
9757 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
9760 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
9762 * cilk.c: Move calls.h after tm.h in the include chain.
9764 2015-06-25 Marek Polacek <polacek@redhat.com>
9766 * array-notation-common.c: Use VAR_P throughout.
9767 * c-ada-spec.c: Likewise.
9768 * c-common.c: Likewise.
9769 * c-format.c: Likewise.
9770 * c-gimplify.c: Likewise.
9771 * c-omp.c: Likewise.
9772 * c-pragma.c: Likewise.
9773 * c-pretty-print.c: Likewise.
9776 2015-06-25 Marek Polacek <polacek@redhat.com>
9778 * cilk.c (extract_free_variables): Use is_global_var.
9780 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
9782 * c-common.c: Don't include target-def.h.
9784 2015-06-23 Marek Polacek <polacek@redhat.com>
9786 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
9787 when comparing INTEGER_CSTs.
9789 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
9791 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
9792 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
9793 (dump_ada_template): Skip partially specialized types.
9795 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
9797 * c-common.c (scalar_to_vector): Use std::swap instead of manually
9800 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
9802 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
9803 * c-ada-spec.c: Likewise.
9804 * c-cilkplus.c: Likewise.
9805 * c-common.c: Likewise.
9806 * c-common.h: Likewise.
9807 * c-cppbuiltin.c: Likewise.
9808 * c-dump.c: Likewise.
9809 * c-format.c: Likewise.
9810 * c-gimplify.c: Likewise.
9811 * c-indentation.c: Likewise.
9812 * c-lex.c: Likewise.
9813 * c-omp.c: Likewise.
9814 * c-opts.c: Likewise.
9815 * c-pch.c: Likewise.
9816 * c-ppoutput.c: Likewise.
9817 * c-pragma.c: Likewise.
9818 * c-pretty-print.c: Likewise.
9819 * c-semantics.c: Likewise.
9820 * c-ubsan.c: Likewise.
9822 * stub-objc.c: Likewise.
9824 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
9827 * c-common.c (c_common_truthvalue_conversion): Warn when
9828 converting an address of a reference to a truth value.
9830 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
9832 * array-notation-common.c : Adjust include files.
9833 * c-ada-spec.c : Likewise.
9834 * c-cilkplus.c : Likewise.
9835 * c-common.c : Likewise.
9836 * c-common.h : Likewise.
9837 * c-cppbuiltin.c : Likewise.
9838 * c-dump.c : Likewise.
9839 * c-format.c : Likewise.
9840 * c-gimplify.c : Likewise.
9841 * c-indentation.c : Likewise.
9842 * c-lex.c : Likewise.
9843 * c-omp.c : Likewise.
9844 * c-opts.c : Likewise.
9845 * c-pch.c : Likewise.
9846 * c-ppoutput.c : Likewise.
9847 * c-pragma.c : Likewise.
9848 * c-pretty-print.c : Likewise.
9849 * c-semantics.c : Likewise.
9850 * c-ubsan.c : Likewise.
9851 * cilk.c : Likewise.
9852 * stub-objc.c : Likewise.
9854 2015-06-08 Marek Polacek <polacek@redhat.com>
9857 * c-format.c (location_from_offset): Return LOC if LINE is null.
9859 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
9861 * c-common.h (c_parse_final_cleanups): New prototype.
9862 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
9864 2015-06-04 Sriraman Tallam <tmsriram@google.com>
9866 * c-common.c (noplt): New attribute.
9867 (handle_noplt_attribute): New handler.
9869 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
9871 * array-notation-common.c: Adjust includes for restructured coretypes.h.
9872 * c-ada-spec.c: Likewise.
9873 * c-cilkplus.c: Likewise.
9874 * c-common.c: Likewise.
9875 * c-common.h: Likewise.
9876 * c-cppbuiltin.c: Likewise.
9877 * c-dump.c: Likewise.
9878 * c-format.c: Likewise.
9879 * c-gimplify.c: Likewise.
9880 * c-indentation.c: Likewise.
9881 * c-lex.c: Likewise.
9882 * c-omp.c: Likewise.
9883 * c-opts.c: Likewise.
9884 * c-pch.c: Likewise.
9885 * c-ppoutput.c: Likewise.
9886 * c-pragma.c: Likewise.
9887 * c-pretty-print.c: Likewise.
9888 * c-semantics.c: Likewise.
9889 * c-ubsan.c: Likewise.
9891 * stub-objc.c: Likewise.
9893 2015-06-02 David Malcolm <dmalcolm@redhat.com>
9896 * c-indentation.c (should_warn_for_misleading_indentation): Use
9897 expand_location rather than expand_location_to_spelling_point.
9898 Don't warn if the guarding statement is more indented than the
9901 2015-06-02 David Malcolm <dmalcolm@redhat.com>
9903 * c-indentation.c (warn_for_misleading_indentation): Bail out
9904 immediately if -Wmisleading-indentation isn't enabled.
9906 2015-06-01 Martin Liska <mliska@suse.cz>
9908 * c-format.c (check_format_arg):Use new type-based pool allocator.
9909 (check_format_info_main) Likewise.
9911 2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
9913 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
9914 (has_nontrivial_methods): Likewise.
9916 2015-05-25 Marek Polacek <polacek@redhat.com>
9918 * c-ubsan.c (ubsan_instrument_shift): Use type0.
9920 2015-05-22 Marek Polacek <polacek@redhat.com>
9923 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
9925 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9927 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
9928 STACK_GROWS_DOWNWARD.
9930 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9932 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
9933 STACK_GROWS_DOWNWARD rather than if it is defined.
9935 2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
9938 * c-format.c (location_column_from_byte_offset): New.
9939 (location_from_offset): New.
9940 (struct format_wanted_type): Add offset_loc field.
9941 (check_format_info): Move handling of location for extra arguments
9942 closer to the point of warning.
9943 (check_format_info_main): Pass the result of location_from_offset
9945 (format_type_warning): Pass the result of location_from_offset
9948 2015-05-20 Marek Polacek <polacek@redhat.com>
9950 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
9952 2015-05-20 Marek Polacek <polacek@redhat.com>
9954 * c-ada-spec.c (dump_sloc): Use DECL_P.
9956 2015-05-20 Marek Polacek <polacek@redhat.com>
9958 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
9959 * c-common.c: Likewise.
9961 2015-05-19 David Malcolm <dmalcolm@redhat.com>
9963 * c-common.h (fe_file_change): Strengthen param from
9964 const line_map * to const line_map_ordinary *.
9965 (pp_file_change): Likewise.
9966 * c-lex.c (fe_file_change): Likewise.
9967 (cb_define): Use linemap_check_ordinary when invoking
9969 (cb_undef): Likewise.
9970 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
9971 invoking cb_file_change.
9972 (c_finish_options): Likewise.
9973 (push_command_line_include): Likewise.
9974 (cb_file_change): Strengthen param "new_map" from
9975 const line_map * to const line_map_ordinary *.
9976 * c-ppoutput.c (cb_define): Likewise for local "map".
9977 (pp_file_change): Likewise for param "map" and local "from".
9979 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
9981 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
9983 2015-05-18 Tom de Vries <tom@codesourcery.com>
9985 * c-common.c (build_va_arg_1): New function.
9986 (build_va_arg): Add address operator to va_list operand if necessary.
9988 2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
9991 * c-common.c (int_safely_convertible_to_real_p): Define.
9992 (unsafe_conversion_p): Check conversions involving complex types.
9993 (conversion_warning): Add new warning message for conversions which
9994 discard imaginary component.
9995 * c-common.h: (enum conversion_safety): Add new enumerator for such
9998 2015-05-14 Marek Polacek <polacek@redhat.com>
10002 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
10003 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
10004 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
10005 use it. If FOR_INT_CONST, require that all evaluated operands be
10008 2015-05-12 David Malcolm <dmalcolm@redhat.com>
10010 * c-common.h (warn_for_misleading_indentation): New prototype.
10011 * c-indentation.c: New file.
10012 * c.opt (Wmisleading-indentation): New option.
10014 2015-05-12 Tom de Vries <tom@codesourcery.com>
10016 PR tree-optimization/66010
10017 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
10019 2015-05-09 Jason Merrill <jason@redhat.com>
10021 * c-opts.c (c_common_post_options): Also clear
10022 cpp_opts->cpp_warn_cxx11_compat.
10024 * c-common.h (enum cxx_dialect): Add cxx_unset.
10025 * c-common.c (cxx_dialect): Initialize to cxx_unset.
10026 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
10028 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
10029 (std=gnu++0x): Mark as Undocumented.
10030 (std=gnu++1y): Add deprecated message.
10032 2015-05-08 Jason Merrill <jason@redhat.com>
10034 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
10035 * c-opts.c: Adjust.
10037 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
10039 2015-05-08 Marek Polacek <polacek@redhat.com>
10042 * c.opt (Woverride-init-side-effects): New option.
10044 2015-05-07 Marek Polacek <polacek@redhat.com>
10047 * c-common.c (c_fully_fold_internal): Warn when left shifting a
10049 * c.opt (Wshift-negative-value): New option.
10050 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
10051 when -Wextra and C99/C++11 mode.
10053 2015-05-07 Marek Polacek <polacek@redhat.com>
10054 Martin Uecker <uecker@eecs.berkeley.edu>
10056 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
10057 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
10059 2015-05-05 Jason Merrill <jason@redhat.com>
10061 * c.opt (Wterminate): New.
10063 2015-04-30 Marek Polacek <polacek@redhat.com>
10065 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
10066 require that the non-constant be of a boolean type.
10068 2015-04-29 Josh Triplett <josh@joshtriplett.org>
10070 * c-common.c (handle_section_attribute): Refactor to reduce
10071 nesting and distinguish between error cases.
10073 2015-04-29 Marek Polacek <polacek@redhat.com>
10076 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
10079 2015-04-29 Jakub Jelinek <jakub@redhat.com>
10081 * c-common.h (omp_clause_mask): Unconditionally define as a class.
10082 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
10083 HOST_BITS_PER_WIDE_INT.
10085 2015-04-28 Tom de Vries <tom@codesourcery.com>
10087 PR tree-optimization/65887
10088 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
10090 2015-04-28 Eric Botcazou <ebotcazou@adacore.com>
10091 Pierre-Marie de Rodat <derodat@adacore.com>
10093 * c-ada-spec.c (in_function): Delete.
10094 (dump_generic_ada_node): Do not change in_function and remove the
10095 redundant code dealing with it.
10096 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
10097 (print_ada_methods): Output the static member functions in a nested
10098 package after the regular methods as well as associated renamings.
10100 2015-04-24 Marek Polacek <polacek@redhat.com>
10103 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
10104 and OPT_Wshift_count_overflow.
10107 * c-common.c (warn_logical_operator): Warn if the operands have the
10110 2015-04-24 Marek Polacek <polacek@redhat.com>
10113 * c-common.c (warn_logical_operator): Bail if either operand comes
10114 from a macro expansion.
10116 2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10119 * c-common.c (c_default_pointer_mode): Add definition.
10120 * c-common.h (c_default_pointer_mode): Add declaration.
10122 2015-03-11 Jakub Jelinek <jakub@redhat.com>
10124 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
10125 on record_builtin_type argument.
10127 2015-03-10 Jakub Jelinek <jakub@redhat.com>
10130 * c-common.c (warn_logical_not_parentheses): Don't warn for
10131 !x == 0 or !x != 0.
10133 2015-03-07 Marek Polacek <polacek@redhat.com>
10136 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
10137 before trying to figure out whether we have a flexible array member.
10139 2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
10140 Jonathan Wakely <jwakely.gcc@gmail.com>
10142 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
10144 2015-03-05 Eric Botcazou <ebotcazou@adacore.com>
10147 * c-ada-spec.c (print_destructor): Remove obsolete code.
10149 2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
10151 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
10152 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
10153 DECL_TEMPLATE_RESULT emulations.
10154 (dump_ada_template)): Add guard for TYPE_METHODS.
10156 2015-02-27 Marek Polacek <polacek@redhat.com>
10159 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
10161 2015-02-27 Kai Tietz <ktietz@redhat.com>
10164 * c-pragma.c (handle_pragma_weak): Do not try to create
10165 weak/alias of declarations not being function, or variable
10168 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
10171 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
10173 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
10175 2015-02-16 Marek Polacek <polacek@redhat.com>
10178 * c-format.c (check_format_types): Handle null param.
10180 2015-02-13 Marek Polacek <polacek@redhat.com>
10183 * c-format.c (check_format_types): Don't warn about different
10184 signedness if the original value is in the range of WANTED_TYPE.
10186 2015-02-12 Jason Merrill <jason@redhat.com>
10189 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
10190 to the current highest version.
10191 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
10193 2015-02-04 Jakub Jelinek <jakub@redhat.com>
10197 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
10198 instead of RDIV_EXPR. Use build_binary_op instead of
10201 2015-01-30 Joseph Myers <joseph@codesourcery.com>
10203 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
10204 to pass input_location as first argument.
10206 2015-01-23 Tom de Vries <tom@codesourcery.com>
10209 * c.opt (fopenacc): Mark as LTO option.
10211 2015-01-23 Tom de Vries <tom@codesourcery.com>
10214 * c.opt (fopenmp): Mark as LTO option.
10216 2015-01-21 Jakub Jelinek <jakub@redhat.com>
10219 * cilk.c (fill_decls_vec): Only put decls into vector v.
10220 (compare_decls): Fix up formatting.
10222 2015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
10225 * cilk.c: Include vec.h.
10226 (struct cilk_decls): New structure.
10227 (wrapper_parm_cb): Split this function to...
10228 (fill_decls_vec): ...this...
10229 (create_parm_list): ...and this.
10230 (compare_decls): New function.
10231 (for_local_cb): Remove.
10232 (wrapper_local_cb): Ditto.
10233 (build_wrapper_type): For now first traverse and fill vector of
10234 declarations then sort it and then deal with sorted vector.
10235 (cilk_outline): Ditto.
10236 (declare_one_free_variable): Ditto.
10238 2015-01-21 Jason Merrill <jason@redhat.com>
10241 * c-format.c (check_format_arg): Call decl_constant_value.
10243 2015-01-19 Martin Liska <mliska@suse.cz>
10245 * c-common.c (handle_noicf_attribute): New function.
10247 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
10248 Bernd Schmidt <bernds@codesourcery.com>
10249 James Norris <jnorris@codesourcery.com>
10250 Cesar Philippidis <cesar@codesourcery.com>
10251 Ilmir Usmanov <i.usmanov@samsung.com>
10252 Jakub Jelinek <jakub@redhat.com>
10254 * c.opt (fopenacc): New option.
10255 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
10256 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
10258 * c-common.h (c_finish_oacc_wait): New prototype.
10259 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
10260 (c_finish_oacc_wait): New function.
10261 * c-pragma.c (oacc_pragmas): New variable.
10262 (c_pp_lookup_pragma, init_pragma): Handle it.
10263 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
10264 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
10265 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
10266 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
10267 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
10268 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
10269 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
10270 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
10271 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
10272 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
10273 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
10274 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
10275 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
10276 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
10277 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
10278 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
10279 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
10280 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
10281 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
10282 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
10283 PRAGMA_OACC_CLAUSE_WORKER.
10285 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
10287 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
10288 for the new option fstack-protector_explicit.
10289 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
10290 (handle_stack_protect_attribute): New function.
10292 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
10294 * c.opt: New option -Warray-bounds=.
10296 2015-01-09 Michael Collison <michael.collison@linaro.org>
10298 * array-notation-common.c: Include hash-set.h, machmode.h,
10299 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
10300 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
10301 * c-ada-spec.c: Ditto.
10302 * c-cilkplus.c: Ditto.
10303 * c-common.c: Include input.h due to flattening of tree.h.
10304 Define macro GCC_C_COMMON_C.
10305 * c-common.h: Flatten tree.h header files into c-common.h.
10306 Remove include of tree-core.h.
10307 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
10308 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
10309 fold-const.h, wide-int.h, and inchash.h due to
10310 flattening of tree.h.
10312 * c-format.c: Flatten tree.h header files into c-common.h.
10313 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
10314 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
10315 fold-const.h, wide-int.h, and inchash.h due to
10316 flattening of tree.h.
10317 * c-dump.c: Include hash-set.h, machmode.h,
10318 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
10319 fold-const.h, wide-int.h, and inchash.h due to
10320 flattening of tree.h.
10321 * c-format.c: Include hash-set.h, machmode.h,
10322 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
10323 fold-const.h, wide-int.h, inchash.h and real.h due to
10324 flattening of tree.h.
10325 * c-gimplify.c: Include hash-set.h, machmode.h,
10326 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
10327 fold-const.h, wide-int.h, and inchash.h due to
10328 flattening of tree.h.
10334 * c-ppoutput.c: Ditto.
10335 * c-pragma.c: Ditto.
10336 * c-pretty-print.c: Ditto.
10337 * c-semantics.c: Ditto.
10338 * c-ubsan.c: Ditto.
10339 * stub-objc.c: Ditto.
10341 2015-01-08 Jason Merrill <jason@redhat.com>
10343 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
10344 do_ubsan_in_current_function.
10345 (ubsan_maybe_instrument_reference_or_call): Likewise.
10346 * c-ubsan.h: Declare it.
10348 2015-01-08 Mike Stump <mikestump@comcast.net>
10350 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
10352 2015-01-07 Marek Polacek <polacek@redhat.com>
10355 * c-common.c (c_fully_fold_internal): Warn for division and modulo
10356 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
10358 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
10361 * c.opt (Wsuggest-override): New option.
10363 2015-01-05 Jakub Jelinek <jakub@redhat.com>
10365 Update copyright years.
10367 2015-01-05 Marek Polacek <polacek@redhat.com>
10370 * c-common.c (warn_array_subscript_with_type_char): Add location_t
10372 * c-common.h (warn_array_subscript_with_type_char): Update
10375 2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
10377 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
10378 Control macro with flag_sized_deallocation.
10380 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
10382 * c.opt (Wdiscarded-array-qualifiers): New option.
10384 2014-12-19 Jakub Jelinek <jakub@redhat.com>
10386 PR preprocessor/63831
10387 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
10388 and __has_cpp_attribute here.
10389 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
10390 c_common_has_attribute.
10391 * c-common.h (c_common_has_attribute): New prototype.
10392 * c-lex.c (init_c_lex): Set cb->has_attribute to
10393 c_common_has_attribute instead of cb_has_attribute.
10394 (get_token_no_padding): New function.
10395 (cb_has_attribute): Renamed to ...
10396 (c_common_has_attribute): ... this. No longer static. Use
10397 get_token_no_padding, require ()s, don't build TREE_LIST
10398 unnecessarily, fix up formatting, adjust diagnostics, call
10401 2014-12-15 Jason Merrill <jason@redhat.com>
10403 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
10404 (-Wsized-deallocation): New.
10405 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
10406 to on in C++14 and up.
10408 2014-12-11 Jason Merrill <jason@redhat.com>
10410 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
10412 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
10413 we aren't complaining about VLAs.
10415 2014-12-06 Marek Polacek <polacek@redhat.com>
10417 PR tree-optimization/64183
10418 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
10419 shift-expression if it is integer_type_node. Use types_compatible_p.
10421 2014-11-29 Jakub Jelinek <jakub@redhat.com>
10423 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
10424 last argument from create_tmp_var_raw and create_tmp_var calls.
10425 * cilk.c (gimplify_cilk_spawn): Likewise.
10426 * c-omp.c (c_finish_omp_atomic): Likewise.
10428 2014-11-28 Marek Polacek <polacek@redhat.com>
10430 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
10431 instead of unsigned_type_node.
10433 2014-11-28 Marek Polacek <polacek@redhat.com>
10436 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
10438 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
10439 expression to unsigned_type_node.
10441 2014-11-20 Mark Wielaard <mjw@redhat.com>
10444 * c-opts.c (set_std_c89): Set lang_hooks.name.
10445 (set_std_c99): Likewise.
10446 (set_std_c11): Likewise.
10447 (set_std_cxx98): Likewise.
10448 (set_std_cxx11): Likewise.
10449 (set_std_cxx14): Likewise.
10450 (set_std_cxx1z): Likewise.
10452 2014-11-21 Jakub Jelinek <jakub@redhat.com>
10455 * c-common.h (convert_vector_to_pointer_for_subscript): Change
10456 return type to bool.
10457 * c-common.c: Include gimple-expr.h.
10458 (convert_vector_to_pointer_for_subscript): Change return type to
10459 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
10460 and copy it into a TARGET_EXPR and use that instead of *vecp
10463 2014-11-19 David Malcolm <dmalcolm@redhat.com>
10465 Merger of git branch "gimple-classes-v2-option-3".
10466 * ChangeLog.gimple-classes: New.
10467 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
10468 from being just a vec<gimple> to a vec<gbind *>.
10470 2014-11-18 Jakub Jelinek <jakub@redhat.com>
10473 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
10474 argument to ptype, set type to TREE_TYPE (ptype). Don't call
10475 get_pointer_alignment for non-pointers. Use ptype, or if it is
10476 reference type, corresponding pointer type, as type of kind
10478 (ubsan_maybe_instrument_reference,
10479 ubsan_maybe_instrument_member_call): Adjust callers.
10481 2014-11-15 Marek Polacek <polacek@redhat.com>
10483 PR middle-end/63884
10484 * array-notation-common.c (is_sec_implicit_index_fn): Return false
10486 (extract_array_notation_exprs): Return for NULL node.
10488 2014-11-12 Joseph Myers <joseph@codesourcery.com>
10490 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
10491 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
10493 2014-11-12 Jakub Jelinek <jakub@redhat.com>
10496 * c-common.c (check_builtin_function_arguments): Handle
10497 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
10499 2014-11-10 Andi Kleen <ak@linux.intel.com>
10502 * c-common.h (check_no_cilk): Declare.
10503 * cilk.c (get_error_location): New function.
10504 (check_no_cilk): Dito.
10506 2014-11-10 Andi Kleen <ak@linux.intel.com>
10508 * cilk.c (recognize_spawn): Use expression location
10511 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
10513 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
10515 2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
10517 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
10518 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
10519 (__cpp_range_based_for, __cpp_initializer_lists,
10520 __cpp_delegating_constructors, __cpp_nsdmi,
10521 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
10522 for C++11; (__cpp_attribute_deprecated): Remove in favor of
10523 __has_cpp_attribute.
10524 * c-lex.c (cb_has_attribute): New callback CPP function;
10525 (init_c_lex): Set has_attribute callback.
10527 2014-11-04 Richard Biener <rguenther@suse.de>
10529 * c-common.c (shorten_compare): Do not shorten mixed
10530 DFP and non-DFP compares.
10532 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
10534 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
10535 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
10536 Commentary and rearrangement of tests.
10537 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
10538 Commentary and rearrangement of tests.
10539 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
10540 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
10542 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
10544 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
10545 enum from machine_mode.
10547 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
10549 * c-common.c: Adjust include files.
10550 * c-gimplify.c: Ditto.
10552 * c-pragma.c: Ditto.
10553 * c-ubsan.c: Ditto.
10555 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
10557 * c-gimplify.c: Adjust include files.
10559 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
10562 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
10563 c_common_initialize_diagnostics.
10564 * c-common.h: Likewise.
10566 2014-10-24 Marek Polacek <polacek@redhat.com>
10569 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
10570 print "struct"/"union"/"enum" for typedefed names.
10572 2014-10-23 Marek Polacek <polacek@redhat.com>
10574 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
10577 2014-10-22 Jakub Jelinek <jakub@redhat.com>
10578 Yury Gribov <y.gribov@samsung.com>
10580 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
10581 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
10582 instead of flag_sanitize_recover as bool flag.
10584 2014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
10586 * cilk.c: Revert previous change.
10588 2014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
10591 * cilk.c: Include vec.h.
10592 (struct cilk_decls): New structure.
10593 (wrapper_parm_cb): Split this function to...
10594 (fill_decls_vec): ...this...
10595 (create_parm_list): ...and this.
10596 (compare_decls): New function.
10597 (for_local_cb): Remove.
10598 (wrapper_local_cb): Ditto.
10599 (build_wrapper_type): For now first traverse and fill vector of
10600 declarations then sort it and then deal with sorted vector.
10601 (cilk_outline): Ditto.
10602 (declare_one_free_variable): Ditto.
10604 2014-10-17 Marek Polacek <polacek@redhat.com>
10606 * c-opts.c (c_common_post_options): Set warn_implicit_int.
10607 * c.opt (Wimplicit-int): Initialize to -1.
10609 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
10611 * c-pragma.c: Adjust include files.
10612 * c-semantics.c: Likewise.
10614 2014-10-16 DJ Delorie <dj@redhat.com>
10616 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
10617 multiples of bytes.
10619 2014-10-14 Jason Merrill <jason@redhat.com>
10622 * c-common.h (CPP_PREPARSED_EXPR): New.
10623 (N_CP_TTYPES): Adjust.
10625 2014-10-15 Marek Polacek <polacek@redhat.com>
10627 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
10629 2014-10-14 DJ Delorie <dj@redhat.com>
10631 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
10632 types, not just __int128.
10633 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
10634 types, not just __int128.
10635 (cpp_atomic_builtins): Round pointer sizes up.
10636 (type_suffix): Use type precision, not specific types.
10637 * c-common.c (c_common_reswords): Remove __int128 special case.
10638 (c_common_type_for_size): Check for all __intN types, not just
10640 (c_common_type_for_mode): Likewise.
10641 (c_common_signed_or_unsigned_type): Likewise.
10642 (c_build_bitfield_integer_type): Likewise.
10643 (c_common_nodes_and_builtins): Likewise.
10644 (keyword_begins_type_specifier): Likewise.
10645 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
10648 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
10650 * c-common.c: Use hash_table instead of hashtab.
10652 2014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
10654 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
10657 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
10662 * c-common.c (warn_logical_operator): Punt for vectors.
10664 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
10666 Implement SD-6: SG10 Feature Test Recommendations
10667 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
10668 macros and the __has_header macro.
10670 2014-09-30 Jason Merrill <jason@redhat.com>
10672 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
10673 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
10674 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
10676 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
10677 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
10679 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
10680 * c-common.c (c_common_reswords): Remove __is_convertible_to.
10682 2014-09-24 Marek Polacek <polacek@redhat.com>
10686 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
10688 2014-09-23 Andi Kleen <ak@linux.intel.com>
10690 * c-common.c (handle_no_reorder_attribute): New function.
10691 (c_common_attribute_table): Add no_reorder attribute.
10693 2014-09-22 Joseph Myers <joseph@codesourcery.com>
10695 * c-cppbuiltin.c (c_cpp_builtins): Define
10696 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
10699 2014-09-18 Joseph Myers <joseph@codesourcery.com>
10701 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
10702 for supported floating-point modes.
10704 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
10706 * c.opt (Wpsabi): Use LangEnabledBy.
10707 * c-opts.c (c_common_handle_option): Do not handle here.
10709 2014-09-12 Joseph Myers <joseph@codesourcery.com>
10711 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
10712 macros for floating-point modes.
10714 2014-09-11 Marc Glisse <marc.glisse@inria.fr>
10717 * c-cppbuiltin.c (builtin_define_float_constants): Correct
10718 __*_DENORM_MIN__ without denormals.
10720 2014-09-10 Jakub Jelinek <jakub@redhat.com>
10722 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
10723 ubsan_instrument_vla, ubsan_instrument_return): Adjust
10724 ubsan_create_data callers.
10725 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
10726 index is constant or BIT_AND_EXPR with constant mask and is
10727 small enough for the bound.
10728 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
10729 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
10731 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
10733 * c.opt: Add CppReason to various flags.
10734 (Wdate-time): Re-sort.
10735 * c-common.c: Include c-common.h earlier.
10736 (struct reason_option_codes_t): Delete.
10737 (c_option_controlling_cpp_error): Prefix global type and struct
10740 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
10742 * c.opt (Wnormalized): New.
10743 (Wnormalized=): Use Enum and Reject Negative.
10744 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
10746 2014-09-08 Joseph Myers <joseph@codesourcery.com>
10748 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
10749 digits of floating-point modes if -fbuilding-libgcc.
10751 2014-09-05 Joseph Myers <joseph@codesourcery.com>
10753 * c-cppbuiltin.c (c_cpp_builtins): Also define
10754 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
10755 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
10756 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
10757 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
10758 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
10759 __LIBGCC_STACK_GROWS_DOWNWARD__,
10760 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
10761 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
10762 __LIBGCC_DWARF_FRAME_REGISTERS__,
10763 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
10764 __LIBGCC_STACK_POINTER_REGNUM__ and
10765 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
10766 (builtin_define_with_value): Handle backslash-escaping in string
10769 2014-09-05 Richard Biener <rguenther@suse.de>
10771 PR middle-end/63148
10772 * c-format.c (check_format_arg): Properly handle
10773 effectively signed POINTER_PLUS_EXPR offset.
10775 2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
10777 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
10778 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
10779 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
10781 * c-opts.c (c_common_handle_option): Do not handle here.
10782 (sanitize_cpp_opts): Likewise.
10783 * c-common.c (struct reason_option_codes_t): Handle
10784 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
10786 2014-09-03 Marek Polacek <polacek@redhat.com>
10788 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
10790 2014-09-02 Jakub Jelinek <jakub@redhat.com>
10791 Balaji V. Iyer <balaji.v.iyer@intel.com>
10792 Igor Zamyatin <igor.zamyatin@intel.com>
10794 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
10795 * c-common.c (c_common_reswords): Added _Cilk_for.
10796 * c-common.h (enum rid): Added RID_CILK_FOR.
10797 (cilk_for_number_of_iterations): Add declaration.
10798 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
10800 * c-pragma.c (init_pragma): Register "grainsize" pragma.
10801 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
10803 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
10805 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
10806 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
10807 Wundef): Use CPP, Var and Init.
10808 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
10810 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
10812 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
10813 * c-opts.c (c_common_handle_option): Do not handle here.
10815 2014-08-25 Jason Merrill <jason@redhat.com>
10817 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
10818 -std=c++14 and -std=gnu++14, rather than the reverse.
10819 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
10820 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
10821 * c-common.h (cxx_dialect): Remove cxx1y.
10823 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
10825 * c-common.h (enum cxx_dialect): Add cxx14.
10826 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
10827 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
10828 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
10830 2014-08-22 Jason Merrill <jason@redhat.com>
10832 * c.opt (std=gnu++17): Fix alias.
10834 2014-08-22 Marek Polacek <polacek@redhat.com>
10837 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
10838 check for vector types. Drop LHS argument.
10839 * c-common.h (warn_logical_not_parentheses): Adjust.
10841 2014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
10843 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
10844 (Wmultichar): Likewise.
10845 (Wdate-time): Use C-family languages instead of Common. Use CPP
10847 * c-opts.c (c_common_handle_option): Do not handle the above
10849 (sanitize_cpp_opts): Likewise.
10851 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
10854 * c-opts.c: Include tree-diagnostics.h.
10855 (c_diagnostic_finalizer): New.
10856 (c_common_initialize_diagnostics): Use it.
10858 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
10860 PR preprocessor/51303
10861 * c-common.c (struct reason_option_codes_t option_codes):
10862 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
10864 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
10868 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
10869 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
10870 (c_common_post_options): Call init_global_opts_from_cpp.
10871 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
10873 2014-08-19 Marek Polacek <polacek@redhat.com>
10876 * c-common.c (maybe_warn_bool_compare): New function.
10877 * c-common.h (maybe_warn_bool_compare): Declare.
10878 * c.opt (Wbool-compare): New option.
10880 2014-08-19 Marek Polacek <polacek@redhat.com>
10882 * c.opt (Wc99-c11-compat): New option.
10884 2014-08-19 Marek Polacek <polacek@redhat.com>
10886 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
10887 to warn_c90_c99_compat.
10888 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
10891 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
10892 Steven Bosscher <steven@gcc.gnu.org>
10895 * c-format.c: Add extra_arg_loc and format_string_loc to struct
10896 format_check_results.
10897 (check_function_format): Use true and add comment for boolean
10899 (finish_dollar_format_checking): Use explicit location when warning.
10900 (check_format_info): Likewise.
10901 (check_format_arg): Set extra_arg_loc and format_string_loc.
10902 (check_format_info_main): Use explicit location when warning.
10903 (check_format_types): Pass explicit location.
10904 (format_type_warning): Likewise.
10906 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
10909 * c-format.c: Handle Fortran flags.
10911 2014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
10914 * array-notation-common.c (find_rank): Added handling for other
10915 types of references.
10917 2014-08-10 Marek Polacek <polacek@redhat.com>
10920 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
10921 * c.opt (Wc90-c99-compat): Add option.
10923 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
10925 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
10927 2014-08-03 Marek Polacek <polacek@redhat.com>
10929 * c-common.c (check_case_value): Add location_t parameter. Use it.
10930 (c_add_case_label): Pass loc to check_case_value.
10932 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
10934 * cilk.c: Use hash_map instead of pointer_map.
10936 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
10938 * c-gimplify.c: Use hash_set instead of pointer_set.
10940 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
10942 PR middle-end/61455
10943 * array-notation-common.c (extract_array_notation_exprs): Handling
10944 of DECL_EXPR added.
10946 2014-08-01 Jakub Jelinek <jakub@redhat.com>
10948 * c-common.h (min_align_of_type): Removed prototype.
10949 * c-common.c (min_align_of_type): Removed.
10950 * c-ubsan.h (ubsan_maybe_instrument_reference,
10951 ubsan_maybe_instrument_member_call): New prototypes.
10952 * c-ubsan.c: Include stor-layout.h and builtins.h.
10953 (ubsan_maybe_instrument_reference_or_call,
10954 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
10957 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
10960 * c.opt (-Wreturn-local-addr): Move to common.opt.
10962 2014-07-30 Jason Merrill <jason@redhat.com>
10967 * c.opt (-fuse-all-virtuals): New.
10969 2014-07-30 Tom Tromey <tromey@redhat.com>
10972 * c.opt (Wdesignated-init): New option.
10973 * c-common.c (c_common_attribute_table): Add "designated_init".
10974 (handle_designated_init): New function.
10976 2014-07-24 Marek Polacek <polacek@redhat.com>
10979 * c-opts.c (c_finish_options): If -imacros is in effect, return.
10981 2014-07-16 Dodji Seketeli <dodji@redhat.com>
10983 PR preprocessor/60723 - missing system-ness marks for macro tokens
10984 * c-ppoutput.c (struct print::prev_was_system_token): New data
10986 (init_pp_output): Initialize it.
10987 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
10988 (do_line_change): Return a flag saying if a line marker was
10990 (scan_translation_unit): Detect if the system-ness of the token we
10991 are about to emit is different from the one of the previously
10992 emitted token. If so, emit a line marker. Avoid emitting useless
10993 adjacent line markers. Avoid emitting line markers for tokens
10994 originating from the expansion of built-in macros.
10995 (scan_translation_unit_directives_only): Adjust.
10997 2014-07-15 Marek Polacek <polacek@redhat.com>
10999 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
11000 TYPE_MAX_VALUE is NULL.
11002 2014-07-14 Jakub Jelinek <jakub@redhat.com>
11004 PR middle-end/61294
11005 * c.opt (Wmemset-transposed-args): New warning.
11007 2014-07-10 Jason Merrill <jason@redhat.com>
11011 * c.opt (-fuse-all-virtuals): New.
11013 2014-07-09 Richard Biener <rguenther@suse.de>
11016 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
11017 using unsigned arithmetic if overflow does not wrap instead of
11018 if overflow is undefined.
11020 2014-07-06 Marek Polacek <polacek@redhat.com>
11023 * c.opt (Wsizeof-array-argument): New option.
11025 2014-07-03 Jakub Jelinek <jakub@redhat.com>
11027 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
11028 comments->count <= 1, as comments->entries might be NULL.
11030 2014-07-01 Marek Polacek <polacek@redhat.com>
11032 * c.opt (Wint-conversion): New option.
11034 2014-07-01 Marek Polacek <polacek@redhat.com>
11037 * c.opt (Wincompatible-pointer-types): New option.
11039 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
11042 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
11043 Do not discard TYPE_QUALS of type.
11045 2014-06-26 Jason Merrill <jason@redhat.com>
11047 * c-common.h (enum cxx_dialect): Add cxx1z.
11048 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
11049 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
11051 2014-06-26 Teresa Johnson <tejohnson@google.com>
11053 * c-common.h (get_dump_info): Declare.
11054 * c-gimplify.c (c_genericize): Use saved dump files.
11055 * c-opts.c (c_common_parse_file): Begin and end dumps
11056 once around parsing invocation.
11057 (get_dump_info): New function.
11059 2014-06-23 Marek Polacek <polacek@redhat.com>
11060 Andrew MacLeod <amacleod@redhat.com>
11063 * c-common.c (get_atomic_generic_size): Don't segfault if the
11064 type doesn't have a size.
11066 2014-06-20 Marek Polacek <polacek@redhat.com>
11068 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
11069 (ubsan_walk_array_refs_r): New function.
11070 (c_genericize): Instrument array bounds.
11071 * c-ubsan.c: Include "internal-fn.h".
11072 (ubsan_instrument_division): Mark instrumented arrays as having
11073 side effects. Adjust ubsan_type_descriptor call.
11074 (ubsan_instrument_shift): Likewise.
11075 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
11076 (ubsan_instrument_bounds): New function.
11077 (ubsan_array_ref_instrumented_p): New function.
11078 (ubsan_maybe_instrument_array_ref): New function.
11079 * c-ubsan.h (ubsan_instrument_bounds): Declare.
11080 (ubsan_array_ref_instrumented_p): Declare.
11081 (ubsan_maybe_instrument_array_ref): Declare.
11083 2014-06-20 Hale Wang <hale.wang@arm.com>
11086 * c.opt (fshort-enums): Add to LTO.
11087 * c.opt (fshort-wchar): Likewise.
11089 2014-06-16 Marek Polacek <polacek@redhat.com>
11092 * c.opt (Wswitch-bool): Add Var.
11094 2014-06-12 Jakub Jelinek <jakub@redhat.com>
11096 PR middle-end/61486
11097 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
11098 #pragma omp target teams or
11099 #pragma omp {,target }teams distribute simd.
11101 2014-06-12 Jason Merrill <jason@redhat.com>
11103 * c.opt (Wabi=, fabi-compat-version): New.
11104 * c-opts.c (c_common_handle_option): Handle -Wabi=.
11105 (c_common_post_options): Handle flag_abi_compat_version default.
11106 Disallow -fabi-compat-version=1.
11107 * c-common.h (abi_version_crosses): New.
11109 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
11111 * c-common.c (handle_section_attribute): Update handling for
11112 section names that are no longer trees.
11114 2014-06-10 Jakub Jelinek <jakub@redhat.com>
11117 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
11118 (omp_pragmas): ... back here.
11120 2014-06-05 Marek Polacek <polacek@redhat.com>
11123 * c-common.c (warn_logical_not_parentheses): New function.
11124 * c-common.h (warn_logical_not_parentheses): Declare.
11125 * c.opt (Wlogical-not-parentheses): New option.
11127 2014-06-04 Marek Polacek <polacek@redhat.com>
11130 * c-common.c (check_case_bounds): Add location parameter.
11132 (c_add_case_label): Pass loc to check_case_bounds.
11134 2014-06-03 Marek Polacek <polacek@redhat.com>
11137 * c.opt (Wswitch-bool): New option.
11139 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
11141 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
11143 (record_types_used_by_current_var_decl): Move prototype to where
11146 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
11147 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
11148 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
11150 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
11152 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
11153 * c-common.c (c_common_nodes_and_builtins): Don't initialize
11155 * c-pretty-print.c (pp_c_void_constant): New function.
11156 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
11157 (c_pretty_printer::expression): Handle VOID_CST.
11158 * cilk.c (extract_free_variables): Likewise.
11159 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
11160 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
11162 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
11164 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
11165 * c-pragma.c (push_alignment): Adjust.
11166 (handle_pragma_push_options): Likewise.
11168 2014-05-09 Marek Polacek <polacek@redhat.com>
11171 * c-common.c (check_user_alignment): Return -1 if alignment is error
11173 (handle_aligned_attribute): Don't call default_conversion on
11175 (handle_vector_size_attribute): Likewise.
11176 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
11177 (handle_sentinel_attribute): Call default_conversion and allow even
11178 integral types as an argument.
11180 2014-05-08 Marek Polacek <polacek@redhat.com>
11183 * c-common.c (min_align_of_type): New function factored out from...
11184 (c_sizeof_or_alignof_type): ...here.
11185 * c-common.h (min_align_of_type): Declare.
11187 2014-05-08 Marek Polacek <polacek@redhat.com>
11190 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
11191 parameter type of main.
11193 2014-05-07 DJ Delorie <dj@redhat.com>
11195 * c-cppbuiltin.c (print_bits_of_hex): New.
11196 (builtin_define_type_minmax): Print values using hex so as not to
11197 require a pre-computed list of string values.
11199 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
11200 Mike Stump <mikestump@comcast.net>
11201 Richard Sandiford <rdsandiford@googlemail.com>
11203 * c-ada-spec.c: Include wide-int.h.
11204 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
11205 (dump_generic_ada_node): Use wide-int interfaces.
11206 * c-common.c: Include wide-int-print.h.
11207 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
11208 (pointer_int_sum): Use wide-int interfaces.
11209 (c_common_nodes_and_builtins): Use make_int_cst.
11210 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
11211 (handle_alloc_size_attribute): Use wide-int interfaces.
11212 (get_nonnull_operand): Likewise.
11213 * c-format.c (get_constant): Use tree_fits_uhwi_p.
11214 * c-lex.c: Include wide-int.h.
11215 (narrowest_unsigned_type): Take a widest_int rather than two
11217 (narrowest_signed_type): Likewise.
11218 (interpret_integer): Update accordingly. Use wide-int interfaces.
11219 (lex_charconst): Use wide-int interfaces.
11220 * c-pretty-print.c: Include wide-int.h.
11221 (pp_c_integer_constant): Use wide-int interfaces.
11222 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
11223 INT_CST_LT_UNSIGNED.
11225 2014-05-06 Richard Biener <rguenther@suse.de>
11227 * c-opts.c (c_common_post_options): For -freestanding,
11228 -fno-hosted and -fno-builtin disable pattern recognition
11229 if not enabled explicitely.
11231 2014-05-02 Marek Polacek <polacek@redhat.com>
11233 * c.opt (Wsizeof-pointer-memaccess): Describe option.
11235 2014-05-01 Marek Polacek <polacek@redhat.com>
11238 * c.opt (Wdiscarded-qualifiers): Add.
11240 2014-04-30 Marek Polacek <polacek@redhat.com>
11242 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
11243 INT_MIN / -1 sanitization only for integer types.
11245 2014-04-25 Marek Polacek <polacek@redhat.com>
11248 * c-common.c (handle_noinline_attribute): Warn if the attribute
11249 conflicts with always_inline attribute.
11250 (handle_always_inline_attribute): Warn if the attribute conflicts
11251 with noinline attribute.
11253 2014-04-25 Marek Polacek <polacek@redhat.com>
11256 * c-common.c (check_main_parameter_types): Warn about variadic main.
11258 2014-04-24 Mike Stump <mikestump@comcast.net>
11260 * c.opt (Wshadow-ivar): Default to on.
11262 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
11264 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
11266 2014-04-23 Marek Polacek <polacek@redhat.com>
11268 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
11270 2014-04-22 Jakub Jelinek <jakub@redhat.com>
11273 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
11274 if flag_sanitize_undefined_trap_on_error.
11275 (ubsan_instrument_division, ubsan_instrument_shift,
11276 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
11277 if !flag_sanitize_recover.
11279 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
11282 * c-common.c (registered_builtin_types): Make non-static.
11283 * c-common.h (registered_builtin_types): Declare.
11285 2014-04-14 Richard Biener <rguenther@suse.de>
11286 Marc Glisse <marc.glisse@inria.fr>
11289 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
11290 apply may-alias the scalar pointer type when applicable.
11292 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
11294 PR middle-end/60467
11295 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
11296 as possible argument for Cilk_spawn.
11298 2014-04-11 Tobias Burnus <burnus@net-b.de>
11301 * c.opt (Wformat-signedness): Add
11302 * c-format.c(check_format_types): Use it.
11304 2014-04-11 Jason Merrill <jason@redhat.com>
11307 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
11308 default_conversion for an array argument.
11310 2014-04-08 Marek Polacek <polacek@redhat.com>
11313 * c-ubsan.c: Include asan.h.
11314 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
11316 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
11318 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
11320 2014-04-02 Marek Polacek <polacek@redhat.com>
11322 * c-common.h (c_expand_expr): Remove declaration.
11324 2014-03-28 Jakub Jelinek <jakub@redhat.com>
11327 * c-common.c (add_atomic_size_parameter): When creating new
11328 params vector, push the size argument first.
11330 2014-03-26 Jakub Jelinek <jakub@redhat.com>
11332 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
11333 ubsan_instrument_vla, ubsan_instrument_return): Adjust
11334 ubsan_create_data callers.
11336 2014-03-22 Jakub Jelinek <jakub@redhat.com>
11339 * c-opts.c (c_finish_options): Restore cb_file_change call to
11342 2014-03-13 Jakub Jelinek <jakub@redhat.com>
11344 PR middle-end/36282
11345 * c-pragma.c (apply_pragma_weak): Only look at
11346 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
11347 DECL_ASSEMBLER_NAME_SET_P (decl).
11348 (maybe_apply_pending_pragma_weaks): Exit early if
11349 vec_safe_is_empty (pending_weaks) rather than only when
11351 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
11352 set assembler name back to NULL afterwards.
11354 2014-03-11 Jason Merrill <jason@redhat.com>
11356 * c.opt: Add -std=gnu++14.
11358 2014-03-11 Ian Bolton <ian.bolton@arm.com>
11360 * c-opts.c (c_common_post_options): Don't override
11361 -ffp-contract=fast if unsafe-math-optimizations is on.
11363 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
11365 * c.opt: Enable LTO FE for fshort-double.
11367 2014-03-07 Jason Merrill <jason@redhat.com>
11369 * c.opt: Add -std=c++14.
11371 2014-03-06 Marek Polacek <polacek@redhat.com>
11374 * cilk.c (contains_cilk_spawn_stmt): New function.
11375 (contains_cilk_spawn_stmt_walker): Likewise.
11376 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
11377 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
11379 2014-03-03 Jakub Jelinek <jakub@redhat.com>
11381 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
11382 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
11383 even when flag_preprocess_only.
11385 2014-02-26 Jason Merrill <jason@redhat.com>
11389 * c-common.c (shorten_compare): Don't check
11390 c_inhibit_evaluation_warnings.
11392 2014-02-19 Jakub Jelinek <jakub@redhat.com>
11395 * c-common.c (c_common_nodes_and_builtins): When initializing
11396 c_uint{16,32,64}_type_node, also set corresponding
11397 uint{16,32,64}_type_node to the same value.
11400 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
11401 for PRAGMA_IVDEP if flag_preprocess_only.
11403 2014-02-12 Jakub Jelinek <jakub@redhat.com>
11406 * c-common.c (merge_tlist): If copy is true, call new_tlist,
11407 if false, add ADD itself, rather than vice versa.
11408 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
11409 copy. For SAVE_EXPR, only call merge_tlist once.
11411 2014-02-08 Jakub Jelinek <jakub@redhat.com>
11413 PR middle-end/60092
11414 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
11416 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
11418 (c_common_attribute_table): Add alloc_align and assume_aligned
11421 2014-02-06 Marek Polacek <polacek@redhat.com>
11424 * c-common.c (warn_for_sign_compare): Call warning_at with location
11425 instead of warning.
11427 2014-02-05 Marek Polacek <polacek@redhat.com>
11430 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
11433 2014-02-04 Marek Polacek <polacek@redhat.com>
11436 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
11439 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
11443 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
11444 handle_vector_size_attribute, handle_nonnull_attribute): Call
11445 default_conversion on the attribute argument.
11446 (handle_nonnull_attribute): Increment the argument number.
11448 2014-01-31 Marek Polacek <polacek@redhat.com>
11451 * c-common.c (add_atomic_size_parameter): Pass vNULL to
11452 build_function_call_vec.
11453 (resolve_overloaded_builtin): Likewise.
11454 * c-common.h (build_function_call_vec): Adjust declaration.
11456 2014-01-30 Marek Polacek <polacek@redhat.com>
11459 * c-common.h (unsafe_conversion_p): Adjust declaration.
11460 (warnings_for_convert_and_check): Likewise.
11461 (convert_and_check): Likewise.
11462 * c-common.c (unsafe_conversion_p): Add location parameter. Call
11463 expansion_point_location_if_in_system_header on it.
11464 (warnings_for_convert_and_check): Add location parameter. Call
11465 expansion_point_location_if_in_system_header on it. Use it.
11466 (convert_and_check): Add location parameter. Use it.
11467 (conversion_warning): Likewise.
11468 (c_add_case_label): Adjust convert_and_check calls.
11469 (scalar_to_vector): Adjust unsafe_conversion_p calls.
11471 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
11473 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
11475 * c-pragma.c (init_pragma): Likewise.
11478 2014-01-23 Marek Polacek <polacek@redhat.com>
11481 * c-common.c (shorten_compare): Add location_t parameter.
11482 * c-common.h (shorten_binary_op): Adjust declaration.
11484 2014-01-23 Marek Polacek <polacek@redhat.com>
11487 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
11488 * c-common.h: Declare it.
11490 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
11492 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
11493 * c-ada-spec.c (dump_ads): Likewise.
11494 (cpp_check): Likewise.
11495 (dump_ada_specs): Likewise.
11497 2014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
11500 * c-common.c (handle_no_instrument_function_attribute): Allow
11501 no_instrument_function attribute in class member
11502 definition/declaration.
11504 2014-01-15 Jakub Jelinek <jakub@redhat.com>
11507 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
11508 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
11509 being COMPOUND_EXPR.
11510 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
11511 operand a SAVE_EXPR and second MODIFY_EXPR.
11513 2014-01-09 Jakub Jelinek <jakub@redhat.com>
11516 * c-pch.c (c_common_write_pch): Call
11517 prepare_target_option_nodes_for_pch.
11519 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
11521 Update copyright years
11523 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
11525 * array-notation-common.c, c-cilkplus.c: Use the standard form for
11526 the copyright notice.
11528 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
11530 * c-ada-spec.c (print_constructor): New function.
11531 (print_destructor): Retrieve the origin of the destructor.
11532 (print_ada_declaration): Revamp handling of constructors/destructors.
11534 2013-12-23 Stuart Hastings <stuart@apple.com>
11535 Bill Maddox <maddox@google.com>
11536 Jason Merrill <jason@redhat.com>
11538 * c.opt: Add -fdeclone-ctor-dtor.
11539 * c-opts.c (c_common_post_options): Default to on iff -Os.
11541 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
11543 * c-common.c (c_common_attribute_table): Added "cilk simd function"
11545 * c-pragma.h (enum pragma_cilk_clause): Remove.
11546 (enum pragma_omp_clause): Added the following fields:
11547 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
11548 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
11549 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
11550 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
11551 PRAGMA_CILK_CLAUSE_UNIFORM.
11554 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
11556 * cilk.c (cilk_outline): Made this function non-static.
11557 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
11558 (create_cilk_wrapper): Added a new parameter: a function pointer.
11559 (c_install_body_w_frame_cleanup): Remove
11560 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
11561 * c-common.h (cilk_outline): New prototype.
11562 (gimplify_cilk_spawn): Removed two parameters.
11563 (cilk_install_body_with_frame_cleanup): New prototype.
11564 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
11565 CILK_SPAWN_STMT case.
11567 2013-12-11 Bernd Schmidt <bernds@codesourcery.com>
11569 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
11571 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
11572 (int_array_type_node): Remove.
11573 * c-common.c (c_common_nodes_and_builtins): Don't build it.
11575 2013-12-05 Marek Polacek <polacek@redhat.com>
11578 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
11579 [ADJUST_FIELD_ALIGN].
11581 2013-12-04 Joseph Myers <joseph@codesourcery.com>
11584 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
11585 and check field alignment if set.
11586 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
11587 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
11589 2013-12-04 Jakub Jelinek <jakub@redhat.com>
11590 Marek Polacek <polacek@redhat.com>
11592 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
11593 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
11595 2013-11-29 H.J. Lu <hongjiu.lu@intel.com>
11598 * cilk.c (gimplify_cilk_spawn): Properly handle function without
11601 2013-11-29 Jakub Jelinek <jakub@redhat.com>
11604 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
11605 goto invalid. If it is error_mark_node, don't issue further
11608 2013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
11610 * c.opt (Wopenmp-simd): New.
11612 2013-11-22 Jakub Jelinek <jakub@redhat.com>
11614 * c-ubsan.h (ubsan_instrument_return): New prototype.
11615 * c-ubsan.c (ubsan_instrument_return): New function.
11617 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
11619 * c-common.c: Add required include files from gimple.h.
11620 * c-gimplify.c: Likewise.
11621 * cilk.c: Likewise.
11623 2013-11-22 David Malcolm <dmalcolm@redhat.com>
11625 * c-common.c (unsafe_conversion_p): Remove use of
11626 EXPR_LOC_OR_HERE macro.
11627 (conversion_warning): Likewise.
11628 (warnings_for_convert_and_check): Likewise.
11629 (warn_for_collisions_1): Likewise.
11630 (shorten_compare): Likewise, and remove use of in_system_header
11631 macro, using the location from the former.
11632 * c-lex.c (dump_one_header): Remove use of input_filename macro.
11633 (cb_def_pragma): Remove use of in_system_header macro.
11634 (lex_string): Likewise.
11635 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
11637 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
11638 Mike Stump <mikestump@comcast.net>
11639 Richard Sandiford <rdsandiford@googlemail.com>
11641 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
11642 instead of TREE_INT_CST_LOW, in cases where there is a protecting
11643 tree_fits_shwi_p or tree_fits_uhwi_p.
11644 (dump_generic_ada_node): Likewise.
11645 * c-format.c (check_format_arg): Likewise.
11646 * c-pretty-print.c (pp_c_integer_constant): Likewise.
11648 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
11650 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
11652 2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
11655 * c-common.c (unsafe_conversion_p): Make this function
11656 return an enumeration with more detail.
11657 (conversion_warning): Use the new return type of
11658 unsafe_conversion_p to separately warn either about conversions
11659 that lower floating point number precision or about the other
11660 kinds of conversions.
11661 * c-common.h (enum conversion_safety): New enumeration.
11662 (unsafe_conversion_p): switching return type to
11663 conversion_safety enumeration.
11664 * c.opt: Adding new warning -Wfloat-conversion and
11665 enabling it with -Wconversion.
11667 2013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
11669 * c-opts.c: Include plugin.h.
11670 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
11672 2013-11-19 Marek Polacek <polacek@redhat.com>
11674 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
11676 (ubsan_instrument_shift): Likewise.
11677 (ubsan_instrument_vla): Likewise.
11679 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
11681 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
11682 cast to unsigned type.
11684 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
11686 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
11688 (complete_array_type): Update comment to refer to tree_to_[su]hwi
11689 rather than tree_low_cst.
11691 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
11693 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
11694 tree_to_uhwi throughout.
11696 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
11698 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
11699 tree_low_cst (..., 0) with tree_to_shwi throughout.
11701 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
11703 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
11704 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
11706 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
11708 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
11709 host_integerp (..., 0) with tree_fits_shwi_p throughout.
11711 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
11713 * c-cilkplus.c: New file.
11714 * c-common.c (readonly_error): Add location argument.
11715 * c-common.h (readonly_error): Same.
11716 (c_finish_cilk_clauses): Protoize.
11717 (c_check_cilk_loop): Same.
11718 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
11719 Do not fail on error_mark_node.
11720 Abstract increment canonicalization to here...
11721 (c_omp_for_incr_canonicalize_ptr): New.
11722 c-pragma.c (init_pragma): Register "simd" pragma.
11723 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
11724 (enum pragma_cilk_clause): New.
11726 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
11728 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
11729 wchar_type and host_integerp checks.
11731 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
11733 * c-common.c: Likewise.
11734 * c-gimplify.c: Likewise.
11735 * cilk.c: Likewise.
11737 2013-11-14 Diego Novillo <dnovillo@google.com>
11739 * c-common.c: Include fold-const.h.
11740 Include stor-layout.h.
11742 Include stringpool.h.
11745 Include trans-mem.h.
11746 * c-cppbuiltin.c: Include stor-layout.h.
11747 Include stringpool.h.
11748 * c-format.c: Include stringpool.h.
11749 * c-lex.c: Include stringpool.h.
11750 Include stor-layout.h.
11751 * c-pragma.c: Include stringpool.h.
11754 Include gcc-symtab.h.
11755 * c-pretty-print.c: Include stor-layout.h.
11757 * cilk.c: Include stringpool.h.
11760 2013-11-13 Joseph Myers <joseph@codesourcery.com>
11762 * c-common.h (enum rid): Add RID_AUTO_TYPE.
11763 * c-common.c (c_common_reswords): Add __auto_type.
11764 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
11766 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
11768 * c-common.c: Include gimplify.h.
11769 * c-gimplify.c: Likewise.
11770 * cilk.c: Likewise.
11771 * c-omp.c: Include gimple-expr.h instead of gimple.h.
11772 * c-ubsan.c: Don't include gimple.h.
11774 2013-11-12 Joseph Myers <joseph@codesourcery.com>
11776 * c-common.c (c_common_reswords): Add _Thread_local.
11778 2013-11-09 Joseph Myers <joseph@codesourcery.com>
11780 * c-common.c (atomic_size_supported_p): New function.
11781 (resolve_overloaded_atomic_exchange)
11782 (resolve_overloaded_atomic_compare_exchange)
11783 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
11784 Use it instead of comparing size with a local list of sizes.
11786 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
11787 Joseph Myers <joseph@codesourcery.com>
11789 * c-common.h (enum rid): Add RID_ATOMIC.
11790 * c-common.c (c_common_reswords): Add _Atomic.
11791 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
11792 (keyword_is_type_qualifier): Accept RID_ATOMIC.
11793 * c-format.c (check_format_types): Check for extra _Atomic
11794 qualifiers in format argument.
11795 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
11796 (pp_c_type_qualifier_list): Mention _Atomic in comment.
11798 2013-11-06 Tobias Burnus <burnus@net-b.de>
11800 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
11802 2013-11-06 Joseph Myers <joseph@codesourcery.com>
11804 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
11806 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
11807 to mean lack of IEEE 754 support.
11809 2013-11-05 Tobias Burnus <burnus@net-b.de>
11811 * c.opt (-Wdate-time): New option
11812 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
11814 2013-11-05 Joseph Myers <joseph@codesourcery.com>
11816 * c-cppbuiltin.c (cpp_iec_559_value): Test
11817 flag_excess_precision_cmdline not flag_excess_precision.
11819 2013-11-05 Tobias Burnus <burnus@net-b.de>
11821 * c.opt (fopenmp-simd): New option.
11822 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
11823 (omp_pragmas): ... this new struct.
11824 (c_pp_lookup_pragma): Also walk omp_pragmas.
11825 (init_pragma): Init pragmas for -fopenmp-simd.
11827 2013-11-04 Marek Polacek <polacek@redhat.com>
11830 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
11832 2013-11-04 Joseph Myers <joseph@codesourcery.com>
11834 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
11836 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
11838 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
11840 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
11841 (dump_ada_specs): Adjust prototype of second callback.
11842 * c-ada-spec.c (cpp_check): New global variable.
11843 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
11844 (print_generic_ada_decl): Likewise.
11845 (has_static_fields): Change return type to bool and add guard.
11846 (has_nontrivial_methods): New predicate.
11847 (is_tagged_type): Change return type to bool.
11848 (separate_class_package): Call has_nontrivial_methods.
11849 (pp_ada_tree_identifier): Minor tweaks.
11850 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
11851 (dump_ada_array_domains): Likewise.
11852 (dump_ada_array_type): Likewise.
11853 (dump_template_types): Remove cpp_check parameter and do not pass it to
11854 dump_generic_ada_node.
11855 (dump_ada_template): Likewise.
11856 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
11858 (print_ada_methods): Change return type to integer. Remove cpp_check
11859 parameter and do not pass it down.
11860 (dump_nested_types): Remove cpp_check parameter and do not pass it to
11861 dump_generic_ada_node.
11862 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
11864 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
11865 down. Use has_nontrivial_methods to recognize C++ classes. Use return
11866 value of print_ada_methods.
11867 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
11868 Set cpp_check to it before invoking dump_ada_nodes.
11869 (dump_ada_specs): Likewise.
11871 2013-11-03 Marek Polacek <polacek@redhat.com>
11873 * c-ubsan.c: Don't include hash-table.h.
11874 (ubsan_instrument_vla): New function.
11875 * c-ubsan.h: Declare it.
11877 2013-10-31 David Malcolm <dmalcolm@redhat.com>
11879 Automated part of renaming of symtab_node_base to symtab_node.
11881 Patch autogenerated by rename_symtab.py from
11882 https://github.com/davidmalcolm/gcc-refactoring-scripts
11883 revision 58bb219cc090b2f4516a9297d868c245495ee622
11885 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
11886 symtab_node_base to symtab_node.
11888 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
11890 Implement C++14 digit separators.
11891 * c-lex.c (interpret_float): Remove digit separators from scratch string
11892 before building real literal.
11894 2013-10-30 Jakub Jelinek <jakub@redhat.com>
11896 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
11898 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
11900 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
11902 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
11904 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
11905 (insert_cilk_frame): New prototype.
11906 (cilk_init_builtins): Likewise.
11907 (gimplify_cilk_spawn): Likewise.
11908 (c_cilk_install_body_w_frame_cleanup): Likewise.
11909 (cilk_detect_spawn_and_unwrap): Likewise.
11910 (cilk_set_spawn_marker): Likewise.
11911 (build_cilk_sync): Likewise.
11912 (build_cilk_spawn): Likewise.
11913 * cilk.c: New file.
11915 2013-10-29 David Malcolm <dmalcolm@redhat.com>
11917 Patch autogenerated by refactor_symtab.py from
11918 https://github.com/davidmalcolm/gcc-refactoring-scripts
11919 revision 58bb219cc090b2f4516a9297d868c245495ee622
11921 * c-gimplify.c (c_genericize): Update for conversion of symtab types
11922 to a true class hierarchy.
11923 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
11925 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
11927 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
11929 2013-10-26 Jeff Law <law@redhat.com>
11931 * c-common.c (c_define_builtins): Remove mudflap support.
11932 * c.opt: Ignore and warn for mudflap options.
11934 2013-10-24 Tobias Burnus <burnus@net-b.de>
11937 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
11938 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
11940 2013-10-23 Jason Merrill <jason@redhat.com>
11942 * c-format.c (gcc_cxxdiag_char_table): Add %X.
11944 2013-10-11 Jakub Jelinek <jakub@redhat.com>
11946 * c-common.h (omp_clause_mask::operator !=): New method.
11947 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
11948 instead of if (mask & something) tests everywhere.
11950 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
11951 201307 instead of 201107.
11952 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
11953 (c_common_attribute_table): Add "omp declare target" and
11954 "omp declare simd" attributes.
11955 (handle_omp_declare_target_attribute,
11956 handle_omp_declare_simd_attribute): New functions.
11957 * c-omp.c: Include c-pragma.h.
11958 (c_finish_omp_taskgroup): New function.
11959 (c_finish_omp_atomic): Add swapped argument, if true,
11960 build the operation first with rhs, lhs arguments and use NOP_EXPR
11962 (c_finish_omp_for): Add code argument, pass it down to make_code.
11963 (c_omp_split_clauses): New function.
11964 (c_split_parallel_clauses): Removed.
11965 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
11966 c_omp_declare_simd_clauses_to_decls): New functions.
11967 * c-common.h (omp_clause_mask): New type.
11968 (OMP_CLAUSE_MASK_1): Define.
11969 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
11970 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
11971 omp_clause_mask::operator |, omp_clause_mask::operator &,
11972 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
11973 omp_clause_mask::operator ==): New methods.
11974 (enum c_omp_clause_split): New.
11975 (c_finish_omp_taskgroup): New prototype.
11976 (c_finish_omp_atomic): Add swapped argument.
11977 (c_finish_omp_for): Add code argument.
11978 (c_omp_split_clauses): New prototype.
11979 (c_split_parallel_clauses): Removed.
11980 (c_omp_declare_simd_clauses_to_numbers,
11981 c_omp_declare_simd_clauses_to_decls): New prototypes.
11982 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
11983 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
11984 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
11985 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
11986 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
11987 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
11988 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
11989 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
11990 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
11991 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
11992 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
11993 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
11994 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
11995 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
11996 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
11997 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
11998 PRAGMA_OMP_CLAUSE_UNIFORM.
12000 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
12002 PR tree-optimization/20318
12003 * c-common.c (handle_returns_nonnull_attribute): New function.
12004 (c_common_attribute_table): Add returns_nonnull.
12006 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
12009 * c.opt (fcheck-new): Move to common.opt.
12011 2013-09-25 Marek Polacek <polacek@redhat.com>
12012 Jakub Jelinek <jakub@redhat.com>
12015 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
12016 an expression if we can prove it is correct.
12017 (ubsan_instrument_division): Likewise. Remove unnecessary
12020 2013-09-18 Marek Polacek <polacek@redhat.com>
12023 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
12025 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
12027 2013-09-14 Iain Sandoe <iain@codesourcery.com>
12030 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
12031 fobjc-gc, freplace-objc-classes): Accept for LTO.
12033 2013-09-13 Jacek Caban <jacek@codeweavers.com>
12035 * c-target.def: New hook
12037 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
12040 * c.opt (Wdelete-incomplete): Add.
12042 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
12044 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
12045 (vector_types_compatible_elements_p): New function.
12046 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
12048 (vector_types_compatible_elements_p): Declare.
12050 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
12052 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
12053 a virtual member function.
12054 (pp_simple_type_specifier): Remove.
12055 (pp_c_type_specifier): Likewise.
12056 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
12057 Rename from pp_c_type_specifier. Adjust.
12058 (c_pretty_printer::c_pretty_printer): Do not assign to
12059 simple_type_specifier.
12061 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
12063 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
12065 (c_pretty_printer::storage_class_specifier): Likewise.
12066 (c_pretty_printer::initializer): Likewise.
12067 (pp_declaration): Remove.
12068 (pp_declaration_specifiers): Likewise.
12069 (pp_abstract_declarator): Likewise.
12070 (pp_declarator): Likewise.
12071 (pp_type_id): Likewise.
12072 (pp_statement): Likewise.
12073 (pp_constant): Likewise.
12074 (pp_id_expression): Likewise.
12075 (pp_primary_expression): Likewise.
12076 (pp_unary_expression): Likewise.
12077 (pp_multiplicative_expression): Likewise.
12078 (pp_conditional_expression): Likewise.
12079 (pp_assignment_expression): Likewise.
12080 (pp_expression): Likewise.
12081 (pp_c_type_id): Likewise.
12082 (pp_c_storage_class_specifier): Likewise.
12083 * c-pretty-print.c (pp_c_type_cast): Tidy.
12084 (pp_c_pointer): Likewise.
12085 (pp_c_type_specifier): Likewise.
12086 (pp_c_parameter_type_list): Likewise.
12087 (pp_c_function_definition): Likewise.
12088 (pp_c_init_declarator): Likewise.
12089 (pp_c_initializer_list): Likewise.
12090 (pp_c_constructor_elts): Likewise.
12091 (c_pretty_printer::direct_abstract_declarator): Likewise.
12092 (c_pretty_printer::declaration_specifiers): Likewise.
12093 (c_pretty_printer::primary_expression): Likewise.
12094 (c_pretty_printer::postfix_expression): Likewise.
12095 (c_pretty_printer::type_id): Rename from pp_c_type_id.
12096 (c_pretty_printer::storage_class_specifier): Rename from
12097 pp_c_storage_class_specifier.
12098 (c_pretty_printer::initializer): Rename from pp_c_initializer.
12099 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
12100 storage_class_specifier, initializer, offset_list, flags.
12102 2013-08-30 Marek Polacek <polacek@redhat.com>
12104 * c-ubsan.c: New file.
12105 * c-ubsan.h: New file.
12107 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
12109 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
12111 (c_pretty_printer::declaration_specifiers): Likewise.
12112 (c_pretty_printer::declarator): Likewise.
12113 (c_pretty_printer::abstract_declarator): Likewise.
12114 (c_pretty_printer::direct_abstract_declarator): Likewise.
12115 (c_pretty_printer::direct_declarator): Likewise.
12116 (c_pretty_printer::function_specifier): Likewise.
12117 (pp_declaration): Adjust.
12118 (pp_declaration_specifiers): Likewise.
12119 (pp_abstract_declarator): Likewise.
12120 (pp_direct_declarator): Likewise.
12121 (pp_function_specifier): Likewise.
12122 (pp_direct_abstract_declarator): Remove as unused.
12123 (pp_c_declaration): Remove.
12124 (pp_c_declaration_specifiers): Likewise.
12125 (pp_c_declarator): Likewise.
12126 (pp_c_direct_declarator): Likewise.
12127 (pp_c_function_specifier): Likewise.
12128 (pp_c_direct_abstract_declarator): Likewise.
12129 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
12130 from pp_c_abstract_declarator. Adjust.
12131 (c_pretty_printer::direct_abstract_declarator): Rename from
12132 pp_c_direct_abstract_declarator. Adjust.
12133 (c_pretty_printer::function_specifier): Rename from
12134 pp_c_function_specifier. Adjust.
12135 (c_pretty_printer::declaration_specifiers): Rename from
12136 pp_c_declaration_specifiers. Adjust.
12137 (c_pretty_printer::direct_declarator): Rename from
12138 pp_c_direct_declarator. Adjust.
12139 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
12140 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
12141 (c_pretty_printer::c_pretty_printer): Do not assign to
12142 declaration, declaration_specifiers, declarator,
12143 direct_declarator, direct_abstract_declarator, function_specifier.
12145 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
12147 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
12148 virtual member function.
12149 (c_pretty_printer::multiplicative_expression): Likewise.
12150 (c_pretty_printer::conditional_expression): Likewise.
12151 (c_pretty_printer::assignment_expression): Likewise.
12152 (c_pretty_printer::expression): Likewise.
12153 (pp_unary_expression): Adjust.
12154 (pp_multiplicative_expression): Likewise.
12155 (pp_assignment_expression): Likewise.
12156 (pp_conditional_expression): Likewise.
12157 (pp_expression): Likewise.
12158 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
12159 from pp_c_unary_expression. Adjust.
12160 (c_pretty_printer::multiplicative_expression): Rename from
12161 pp_c_multiplicative_expression. Adjust.
12162 (c_pretty_printer::conditional_expression): Rename from
12163 pp_c_conditional_expression. Adjust.
12164 (c_pretty_printer::assignment_expression): Rename from
12165 pp_c_assignment_expression. Adjust.
12166 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
12167 (c_pretty_printer::c_pretty_printer): Do not assign to
12168 unary_expression, multiplicative_expression,
12169 conditional_expression, expression.
12171 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
12173 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
12174 virtual member function.
12175 (pp_postfix_expression): Adjust.
12176 (pp_c_postfix_expression): Remove.
12177 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
12178 from pp_c_postfix_expression. Adjust.
12179 (c_pretty_printer::c_pretty_printer): Do not assign to
12180 postfix_expression.
12182 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
12184 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
12185 virtua member function.
12186 (pp_primary_expression): Adjust.
12187 (pp_c_primary_expression): Remove.
12188 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
12189 from pp_c_primary_expression. Adjust.
12190 (pp_c_initializer_list): Use pp_primary_expression.
12191 (c_pretty_printer::c_pretty_printer): Do not assign to
12192 primary_expression.
12194 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
12196 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
12197 * c-pretty-print.c (M_): Remove.
12198 (c_pretty_printer::translate_string): Define.
12199 (pp_c_type_specifier): Use it.
12200 (pp_c_primary_expression): Likewise.
12201 (pp_c_expression): Likewise.
12203 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
12205 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
12207 (pp_c_id_expression): Remove.
12208 (pp_id_expression): Adjust.
12209 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
12210 pp_c_id_expression. Adjust.
12211 (pp_c_postfix_expression): Use pp_id_expression.
12212 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
12214 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
12216 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
12218 (pp_constant): Adjust.
12219 (pp_c_constant): Remove.
12220 * c-pretty-print.c (c_pretty_printer::constant): Rename from
12221 pp_c_constant. Adjust.
12223 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
12224 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
12226 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
12228 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
12229 (c_pretty_printer::c_pretty_printer): Declare.
12230 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
12231 c_pretty_printer_init. Adjust.
12232 (print_c_tree): Do not call c_pretty_printer_init.
12233 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
12235 2013-08-09 Arnaud Charlet <charlet@adacore.com>
12237 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
12239 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
12242 * c-common.c (pointer_int_sum): Add bool parameter.
12243 * c-common.h (pointer_int_sum): Adjust declaration.
12245 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
12247 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
12248 c_pretty_printer variable.
12250 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
12252 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
12254 (pp_c_base): Likewise. Adjust users.
12255 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
12256 (pp_c_whitespace): Do not call pp_base.
12257 (pp_c_left_paren): Likewise.
12258 (pp_c_right_paren): Likewise.
12259 (pp_c_left_brace): Likewise.
12260 (pp_c_right_brace): Likewise.
12261 (pp_c_left_bracket): Likewise.
12262 (pp_c_right_bracket): Likewise.
12263 (pp_c_dot): Likewise.
12264 (pp_c_ampersand): Likewise.
12265 (pp_c_star): Likewise.
12266 (pp_c_arrow): Likewise.
12267 (pp_c_semicolon): Likewise.
12268 (pp_c_complement): Likewise.
12269 (pp_c_exclamation): Likewise.
12270 (pp_c_direct_declarator): Likewise.
12271 (pp_c_ws_string): Likewise.
12272 (pp_c_identifier): Likewise.
12273 (pp_c_statement): Likewise.
12274 (print_c_tree): Likewise.
12276 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
12279 * c-common.c (c_parse_error): Catch user-defined literal tokens and
12280 provide useful error strings.
12282 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
12284 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
12285 printer functions instead of pp_string or operators and punctuators.
12286 (dump_generic_ada_node): Likewise.
12287 * c-pretty-print.c (pp_c_type_specifier): Likewise.
12288 (pp_c_relational_expression): Likewise.
12289 (pp_c_logical_or_expression): Likewise.
12291 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
12293 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
12294 functions instead of pp_character.
12295 (pp_ada_tree_identifier): Likewise.
12296 (dump_ada_double_name): Likewise.
12297 (dump_ada_function_declaration): Likewise.
12298 (dump_ada_array_domains): Likewise.
12299 (dump_template_types): Likewise.
12300 (dump_generic_ada_node): Likewise.
12301 (print_ada_declaration): Likewise.
12302 (print_ada_struct_decl): Likewise.
12303 * c-pretty-print.c (pp_c_integer_constant): Likewise.
12305 2013-07-23 Tom Tromey <tromey@redhat.com>
12307 * c-common.h (enum rid) <RID_GENERIC>: New constant.
12308 * c-common.c (c_common_reswords): Add _Generic.
12310 2013-07-21 OndÅej BÃlka <neleai@seznam.cz>
12312 * c-common.c: Fix typos.
12313 * c-common.h: Likewise.
12315 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
12318 * c-common.c (c_common_attribute_table): Add warn_unused.
12319 (handle_warn_unused_attribute): New.
12321 2013-07-10 Jakub Jelinek <jakub@redhat.com>
12323 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
12324 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
12326 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
12329 * c.opt: Add Wconditionally-supported.
12331 2013-07-08 Graham Stott <graham.stott@btinternet.com>
12333 * array-notation-common.c (length_mismatch_in_expr_p): Delete
12334 unused variables l_length and l_node.
12336 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
12339 * c-common.c (complete_array_type): Delay folding first index
12340 like other indices. When folding, check for index overflow.
12342 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
12345 * c-common.h (c_build_vec_perm_expr): New complain argument.
12346 * c-common.c (c_build_vec_perm_expr): Likewise.
12347 Use save_expr also in C++.
12349 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
12351 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
12352 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
12353 * c-opts.c (c_common_post_options): Likewise.
12355 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
12357 * array-notation-common.c (length_mismatch_in_expr): Changed the
12358 parameter type's from a dynamic array to a vec_tree. Also removed
12359 the size parameters.
12360 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
12363 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
12365 * c-common.h (struct cilkplus_an_parts): New structure.
12366 (struct cilkplus_an_loop_parts): Likewise.
12367 (cilkplus_extract_an_triplets): New prototype.
12368 (fix_sec_implicit_args): Likewise.
12369 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
12370 (fix_sec_implicit_args): Likewise.
12372 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
12374 * array-notation-common.c (find_inv_trees): Removed an unwanted
12376 * c-common.h (struct inv_list::additional_tcodes): Changed type from
12377 enum rid to enum tree_code.
12379 2013-06-11 Jan Hubicka <jh@suse.cz>
12381 * c-common.c (handle_alias_ifunc_attribute): Do not set
12382 DECL_EXTERNAL for weakref variables.
12383 * c-pragma.c (handle_pragma_weak): Make sure aliases
12384 are not declared as external.
12386 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
12388 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
12389 function from c/c-array-notation.c.
12390 (is_cilkplus_reduce_builtin): Likewise.
12391 (find_rank): Likewise.
12392 (extract_array_notation_exprs): Likewise.
12393 (replace_array_notations): Likewise.
12394 (find_inv_trees): Likewise.
12395 (replace_inv_trees): Likewise.
12396 (contains_array_notation_expr): Likewise.
12397 (find_correct_array_notation_type): Likewise.
12398 * c-common.h (struct inv_list): Moved this struct from the file
12399 c/c-array-notation.c and added a new field called additional tcodes.
12400 (length_mismatch_in_expr_p): New prototype.
12401 (is_cilkplus_reduce_builtin): Likewise.
12402 (find_rank): Likewise.
12403 (extract_array_notation_exprs): Likewise.
12404 (replace_array_notation): Likewise.
12405 (find_inv_trees): Likewise.
12406 (replace_inv_trees): Likewise.
12407 (find_correct_array_notation_type): Likewise.
12409 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
12411 * c-common.c (c_define_builtins): When cilkplus is enabled, the
12412 function array_notation_init_builtins is called.
12413 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
12414 * c-common.def (ARRAY_NOTATION_REF): New tree.
12415 * c-common.h (build_array_notation_expr): New function declaration.
12416 (build_array_notation_ref): Likewise.
12417 (extract_sec_implicit_index_arg): New extern declaration.
12418 (is_sec_implicit_index_fn): Likewise.
12419 (ARRAY_NOTATION_CHECK): New define.
12420 (ARRAY_NOTATION_ARRAY): Likewise.
12421 (ARRAY_NOTATION_START): Likewise.
12422 (ARRAY_NOTATION_LENGTH): Likewise.
12423 (ARRAY_NOTATION_STRIDE): Likewise.
12424 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
12425 ARRAY_NOTATION_REF.
12426 (pp_c_expression): Likewise.
12427 * c.opt (flag_enable_cilkplus): New flag.
12428 * array-notation-common.c: New file.
12430 2013-05-14 Jakub Jelinek <jakub@redhat.com>
12433 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
12435 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
12437 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
12440 2013-05-07 Han Shen <shenhan@google.com>
12442 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
12444 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
12446 * c-common.c (check_user_alignment): Emit error for negative values.
12448 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
12450 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
12452 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
12454 * c-cppbuiltin.c (c_cpp_builtins): Do not define
12455 __GXX_EXPERIMENTAL_CXX1Y__.
12457 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
12458 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
12460 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
12461 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
12462 to simply use OPT_Wpointer_arith.
12463 (c_sizeof_or_alignof_type): Likewise.
12465 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
12467 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
12469 2013-04-12 Jakub Jelinek <jakub@redhat.com>
12471 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
12472 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
12475 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
12477 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
12479 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
12481 * c-common.c (pointer_int_sum): Remove dead code.
12483 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
12485 PR middle-end/56524
12486 * c-common.c (handle_optimize_attribute): Don't call
12487 save_optabs_if_changed.
12489 2013-03-05 Jakub Jelinek <jakub@redhat.com>
12491 PR middle-end/56461
12492 * c-pch.c (pch_init): Free target_validity at the end.
12494 2013-03-04 Jakub Jelinek <jakub@redhat.com>
12496 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
12498 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
12499 Jakub Jelinek <jakub@redhat.com>
12502 * c-common.c (handle_no_sanitize_address_attribute): New function.
12503 (c_common_attribute_table): Add no_sanitize_address attribute.
12504 (handle_no_address_safety_analysis_attribute): Add
12505 no_sanitize_address attribute, not no_address_safety_analysis
12508 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
12511 * c-common.c (handle_optimize_attribute): Call
12512 save_optabs_if_changed.
12514 2013-02-18 Jakub Jelinek <jakub@redhat.com>
12515 Steven Bosscher <steven@gcc.gnu.org>
12518 * c-opts.c (c_common_post_options): If debug info is enabled
12519 and non-dwarf*, refuse to load PCH files and when writing PCH
12522 2013-02-05 Jakub Jelinek <jakub@redhat.com>
12524 PR middle-end/56167
12525 * c-common.c (handle_error_attribute): Fix condition.
12527 2013-01-30 Jakub Jelinek <jakub@redhat.com>
12530 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
12532 2013-01-18 Jason Merrill <jason@redhat.com>
12535 * c.opt (-fextern-tls-init): New.
12536 * c-opts.c (c_common_post_options): Handle it.
12538 2013-01-09 Jakub Jelinek <jakub@redhat.com>
12541 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
12542 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
12543 and is either negative or bigger or equal to type precision
12544 of the first operand.
12546 2012-12-03 Marek Polacek <polacek@redhat.com>
12549 * c-common.c (check_user_alignment): Swap order of tests,
12550 check TREE_CODE first.
12552 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
12555 * c-common.h (overflow_type): New enum.
12556 (build_userdef_literal): Add overflow_type argument.
12557 (tree_userdef_literal): Add overflow_type.
12558 (USERDEF_LITERAL_OVERFLOW): New access macro.
12559 * c-common.c (build_userdef_literal): Add overflow_type
12561 * c-lex.c (c_lex_with_flags): Add overflow_type to
12562 build_userdef_literal calls.
12563 (interpret_integer, interpret_float): Add overflow_type argument.
12565 2012-11-28 Richard Biener <rguenther@suse.de>
12568 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
12569 here and use a type with proper overflow behavior for types that would
12570 need to be promoted for the arithmetic.
12572 2012-11-23 Jakub Jelinek <jakub@redhat.com>
12575 * c-common.c (handle_no_address_safety_analysis_attribute): New
12577 (c_common_attribute_table): Add no_address_safety_analysis.
12579 2012-11-16 Simon Baldwin <simonb@google.com>
12581 * c.opt: Add f[no-]canonical-system-headers.
12582 * c-opts.c (c_common_handle_option): Handle
12583 OPT_fcanonical_system_headers.
12585 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
12588 * c-opts.c (c_common_handle_option): Set new flags.
12589 * c.opt: Describe new flags.
12591 2012-11-09 Jason Merrill <jason@redhat.com>
12593 * c.opt (Wabi-tag): New.
12595 2012-11-09 Andi Kleen <ak@linux.intel.com>
12598 * c-common.c (get_atomic_generic_size): Mask with
12601 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
12604 * c.opt (Wformat): Make it Alias Wformat=1.
12605 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
12606 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
12608 (Wformat=): RejectNegative. Use LangEnabledBy.
12609 (Wnonnull): Use LangEnabledBy.
12610 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
12611 * c-format.c (set_Wformat): Delete.
12612 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
12613 (maybe_read_dollar_number): Likewise.
12614 (avoid_dollar_number): Likewise.
12615 (finish_dollar_format_checking): Likewise.
12616 (check_format_info): Likewise.
12617 (check_format_info_main): Likewise.
12618 (check_format_types): Likewise.
12619 (format_type_warning): Likewise.
12620 * c-common.c (int): Likewise.
12621 (check_function_sentinel): Likewise.
12622 * c-common.h (warn_format,set_Wformat): Do not declare here.
12624 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
12627 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
12628 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
12630 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
12632 (Wvariadic-macros): Init(1).
12633 * c-opts.c (c_common_handle_option): Do not handle them
12635 (c_common_post_options): Likewise.
12636 (sanitize_cpp_opts): warn_unused_macros is now
12637 cpp_warn_unused_macros.
12638 (push_command_line_include): Likewise.
12639 * c-common.c (warn_unknown_pragmas): Do not define.
12640 * c-common.h (warn_unknown_pragmas): Do not declare.
12642 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
12645 * c-common.c (conversion_warning): Handle conditional expressions.
12647 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
12650 * c.opt (Wreturn_local_addr): Define new option.
12652 2012-10-25 Jason Merrill <jason@redhat.com>
12654 * c.opt (Wvirtual-move-assign): New.
12656 * c.opt (Winherited-variadic-ctor): New.
12658 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
12661 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
12663 2012-10-23 Joseph Myers <joseph@codesourcery.com>
12665 * c-common.h (pch_cpp_save_state): Declare.
12666 * c-target.def (c_preinclude): New hook.
12667 * c-opts.c (done_preinclude): New.
12668 (push_command_line_include): Handle default preincluded header.
12669 (cb_file_change): Call pch_cpp_save_state when calling
12670 push_command_line_include.
12671 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
12672 (pch_cpp_save_state): New.
12673 (pch_init): Call pch_cpp_save_state conditionally, instead of
12674 calling cpp_save_state.
12676 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
12680 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
12681 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
12682 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
12683 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
12684 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
12685 * c-opts.c (c_common_handle_option): Remove explicit handling from
12687 (c_common_post_options): Likewise.
12689 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
12691 * c-ada-spec.c (LOCATION_COL): Delete.
12692 (compare_location): New function.
12693 (compare_node): Use it.
12694 (compare_comment): Likewise.
12696 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
12700 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
12701 * c-opts.c (c_common_handle_option): Do not set them here. Add
12703 (c_common_post_options): Likewise.
12705 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
12707 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
12708 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
12709 Remove POINTER_TYPE handling, add large unsigned handling and use
12710 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
12712 2012-10-12 Jakub Jelinek <jakub@redhat.com>
12715 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
12716 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
12717 locs and array of 3 trees instead of just single loc and single
12718 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
12719 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
12720 For *cmp* builtins that take two sources strings report warnings
12721 about first and second source, not about destination and source.
12723 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
12726 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
12728 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
12730 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
12731 declaring something coming from another file.
12733 2012-10-10 Arnaud Charlet <charlet@adacore.com>
12736 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
12738 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
12741 * c-common.c (warn_about_parentheses): Add location_t parameter;
12742 use EXPR_LOC_OR_LOC.
12743 * c-common.h: Update declaration.
12745 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
12748 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
12749 more operations. Make error messages optional.
12750 * c-common.h (enum stv_conv): Moved from c-typeck.c.
12751 (scalar_to_vector): Declare.
12753 2012-10-08 Jason Merrill <jason@redhat.com>
12755 * c-common.c (c_common_reswords): Add thread_local.
12757 2012-10-08 Dodji Seketeli <dodji@redhat.com>
12759 PR c++/53528 C++11 attribute support
12760 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
12762 * c-common.c (check_cxx_fundamental_alignment_constraints): New
12764 (handle_aligned_attribute): In choose strictest alignment
12765 among many. Use new check_cxx_fundamental_alignment_constraints.
12766 (handle_transparent_union_attribute): In c++11 attribute syntax,
12767 don't look through typedefs.
12769 2012-10-04 Arnaud Charlet <charlet@adacore.com>
12771 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
12772 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
12775 2012-09-25 Dehao Chen <dehao@google.com>
12777 PR middle-end/54645
12778 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
12779 map when read in the pch.
12781 2012-09-18 Arnaud Charlet <charlet@adacore.com>
12783 * c-ada-spec.c: Style fixes.
12785 2012-09-18 Thomas Quinot <quinot@adacore.com>
12787 * c.opt (-fada-spec-parent): Define new command line switch.
12788 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
12789 is specified, generate binding spec as a child of the specified unit.
12791 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
12792 Manuel López-Ibáñez <manu@gcc.gnu.org>
12795 * c.opt ([Winit-self]): Enabled by -Wall in C++.
12797 2012-08-23 Arnaud Charlet <charlet@adacore.com>
12799 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
12800 for pointers, and add missing Convention C pragma.
12801 (print_ada_struct_decl): Add missing aliased keyword.
12802 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
12804 2012-08-17 Jakub Jelinek <jakub@redhat.com>
12806 * c-common.c (sizeof_pointer_memaccess_warning): New function.
12807 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
12808 * c-opts.c (c_common_handle_option): Enable it for -Wall.
12809 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
12810 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
12812 2012-08-10 Richard Guenther <rguenther@suse.de>
12814 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
12816 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
12818 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
12819 instead of separate pp_newline and pp_flush.
12820 (print_c_tree): Likewise.
12822 2012-07-26 Richard Henderson <rth@redhat.com>
12824 * c-common.c (handle_hot_attribute): Allow labels.
12825 (handle_cold_attribute): Likewise.
12827 2012-07-20 Jakub Jelinek <jakub@redhat.com>
12830 * c-common.c (check_function_nonnull): Handle multiple nonnull
12831 attributes properly.
12833 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
12835 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
12836 * c-ada-spec.c: Likewise.
12837 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
12839 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
12841 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
12842 Remove code conditional on it.
12844 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
12846 * c-gimplify.c: Do not include basic-block.h.
12847 * c-common.c: Do not include linfuncs.h.
12849 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
12851 * c-common.h: Include tree.h.
12853 2012-07-02 Jason Merrill <jason@redhat.com>
12856 * c-common.c (get_priority): Call default_conversion.
12858 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
12860 * c-pch.c (c_common_write_pch): Remove unused variables.
12862 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
12864 * cppspec.c: Moved from gcc/ to here.
12866 2012-06-27 Kai Tietz <ktietz@redhat.com>
12868 PR preprocessor/37215
12869 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
12871 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
12873 * c-common.h (c_common_print_pch_checksum): Remove.
12874 * c-pch.c: Do not include output.h.
12875 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
12876 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
12877 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
12878 (struct c_pch_header): Remove.
12879 (get_ident): Update gpch version.
12880 (pch_init): Do not print executable_checksum to asm_out_file.
12881 Do not fail if there is no asm_out_file to read back from. Set
12882 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
12883 (c_common_write_pch): Verify that nothing was written to asm_out_file
12884 since pch_init was called. Do not write a c_pch_header, and do not
12885 copy from asm_out_file to the PCH.
12886 (c_common_read_pch): Do not read a c_pch_header, and do not restore
12887 the content of asm_out_file from the PCH.
12888 (c_common_print_pch_checksum): Remove.
12889 * c-opts.c (c_common_init): Print out executable_checksum directly.
12891 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
12893 * c-target.def (objc_declare_unresolved_class_reference,
12894 objc_declare_class_definition): Add new hooks.
12896 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
12898 * c-lex.c: Do not include output.h.
12899 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
12900 Remove uses of ASM_OUTPUT_IDENT.
12902 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
12905 * c-common.h (c_build_vec_perm_expr): Move decl here.
12906 * c-common.c (c_build_vec_perm_expr): Move definition
12909 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
12911 * c.opt (fconserve-space): Turn into a no-op.
12913 2012-06-04 Sterling Augustine <saugustine@google.com>
12915 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
12916 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
12917 both the start and end of the function.
12919 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
12921 * c-common.c: Do not include output.h.
12922 * c-pragma.c: Likewise.
12924 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
12926 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
12927 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
12928 (lang_decl_name): Handle namespace decls.
12930 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
12932 * c-ada-spec.c: Do not include output.h.
12933 * c-semantics.c: Likewise.
12935 2012-05-29 Joseph Myers <joseph@codesourcery.com>
12937 * c-common.c: Fix typo.
12939 2012-05-29 Michael Matz <matz@suse.de>
12941 * c-common.h (c_expand_decl): Remove prototype.
12943 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
12945 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
12946 * c-opts.c (c_common_handle_option): Remove code handling
12947 warn_missing_braces.
12949 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
12952 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
12955 2012-05-22 Dodji Seketeli <dodji@redhat.com>
12958 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
12960 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
12962 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
12963 * c-opts.c (c_common_handle_option): Do not handle explicitly
12964 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
12966 2012-05-16 Dodji Seketeli <dodji@redhat.com>
12968 PR preprocessor/7263
12969 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
12970 to cpp_classify_number. For diagnostics, use the precise location
12971 instead of the global input_location.
12973 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
12976 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
12978 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
12980 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
12982 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
12985 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
12986 Wreorder): Use LangEnabledBy.
12987 * c-opts.c (c_common_handle_option): Do not enable them
12988 explicitly. Call lang-specific generated functions.
12989 (c_common_post_options): Do not set them here.
12991 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
12993 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
12994 Wmissing-field-initializers,Wmissing-parameter-type,
12995 Wold-style-declaration,Woverride-init): Use EnabledBy.
12996 * c-opts.c (c_common_post_options): Do not set here explicitly.
12998 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13001 * c-opts.c (c_common_handle_option): Use handle_generated_option
13002 to enable sub-options.
13004 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
13007 * c-common.c (warnings_for_convert_and_check): Use warning_at.
13009 2012-05-10 Richard Guenther <rguenther@suse.de>
13011 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
13012 adjust commentary about TYPE_IS_SIZETYPE types.
13014 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
13017 * c-common.c (warn_logical_operator): Check that argument of
13018 integer_zerop is not NULL.
13020 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
13023 * c-common.c (warn_logical_operator): Do not warn if either side
13024 is already true or false.
13026 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
13029 * c-common.c (expr_original_type): New.
13030 (shorten_compare): Do not warn for enumeration types.
13032 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
13034 * c.opt (fpermissive): Add Var(flag_permissive).
13036 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
13039 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
13040 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
13042 2012-04-30 Dodji Seketeli <dodji@redhat.com>
13044 Add -Wvarargs option
13045 * c.opt (Wvarargs): Define new option.
13047 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
13049 * c-common.c (check_function_arguments): Replace
13050 Wmissing-format-attribute with Wsuggest-attribute=format.
13052 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
13054 * c.opt (Wsuggest-attribute=format): New. Alias of
13055 Wmissing-format-attribute.
13056 * c-format.c (decode_format_type): Replace
13057 Wmissing-format-attribute with Wsuggest-attribute=format.
13058 (check_function_format): Likewise.
13060 2012-04-27 Ollie Wild <aaw@google.com>
13062 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
13063 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
13064 * c.opt: Add Wliteral-suffix.
13066 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
13069 * c.opt (Wpedantic): New.
13070 (pedantic): Alias Wpedantic.
13071 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
13072 (c_common_post_options): Likewise.
13073 (sanitize_cpp_opts): Likewise.
13074 * c-lex.c (interpret_float): Likewise.
13075 * c-format.c (check_format_types): Likewise.
13076 * c-common.c (pointer_int_sum): Likewise.
13077 (c_sizeof_or_alignof_type): Likewise.
13078 (c_add_case_label): Likewise.
13079 (c_do_switch_warnings): Likewise.
13080 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
13082 2012-04-15 Jason Merrill <jason@redhat.com>
13085 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
13086 (C_STD_NAME): Distinguish between C++98 and C++11.
13088 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
13091 * c-common.h (uint16_type_node): Rename into...
13092 (c_uint16_type_node): ...this.
13093 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
13094 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
13096 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
13098 * c-common.c (warn_if_unused_value): Move definition to here.
13099 * c-common.h (warn_if_unused_value): Move declaration to here.
13101 2012-03-23 William Bader <williambader@hotmail.com>
13103 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
13105 2012-03-20 Jason Merrill <jason@redhat.com>
13107 * c-common.h (enum cxx_dialect): Add cxx1y.
13108 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
13110 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
13111 * c-opts.c (c_common_post_options): Likewise.
13112 (set_std_cxx1y): New.
13113 (c_common_handle_option): Call it.
13114 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
13116 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
13119 * c.opt ([Wuseless-cast]): Add.
13121 2012-03-16 Richard Guenther <rguenther@suse.de>
13123 * c-pretty-print.c (pp_c_initializer_list): Adjust.
13125 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
13128 * c.opt (ftemplate-backtrace-limit) Add.
13130 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13132 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
13134 * c-pragma.c (handle_pragma_extern_prefix): Remove.
13135 (init_pragma): Don't register extern_prefix.
13137 2012-03-12 Richard Guenther <rguenther@suse.de>
13139 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
13140 (builtin_type_for_size): Likewise.
13142 2012-02-13 Jakub Jelinek <jakub@redhat.com>
13145 * c-common.c (sync_resolve_params): Don't decide whether to convert
13146 or not based on TYPE_SIZE comparison, convert whenever arg_type
13147 is unsigned INTEGER_TYPE.
13149 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
13152 * c.opt ([Wunused-local-typedefs]): Fix description.
13154 2012-01-24 Mike Stump <mikestump@comcast.net>
13156 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
13159 2012-01-18 Richard Guenther <rguenther@suse.de>
13161 * c-opts.c (c_common_post_options): Reset LTO flags if
13162 we are about to generate a PCH.
13164 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
13167 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
13168 use pp_unsigned_wide_integer.
13170 2012-01-10 Richard Guenther <rguenther@suse.de>
13172 PR middle-end/51806
13173 * c-opts.c (c_common_handle_option): Move -Werror handling
13174 to language independent code.
13176 2012-01-05 Richard Guenther <rguenther@suse.de>
13178 PR middle-end/51764
13179 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
13182 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
13185 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
13186 of array types with an unknown bound.
13188 2011-12-20 Joseph Myers <joseph@codesourcery.com>
13190 * c-common.c (flag_isoc99): Update comment to refer to C11.
13191 (flag_isoc1x): Change to flag_isoc11.
13192 * c-common.h (flag_isoc99): Update comment to refer to C11.
13193 (flag_isoc1x): Change to flag_isoc11.
13194 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
13196 * c-opts.c (set_std_c1x): Change to set_std_c11.
13197 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
13199 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
13200 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
13201 * c.opt (std=c1x): Change to std=c11. Document as non-draft
13203 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
13204 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
13205 (std=gnu1x): Make alias of std=gnu11.
13207 2011-12-19 Jason Merrill <jason@redhat.com>
13210 * c-common.c (handle_transparent_union_attribute): Check the first
13211 field if the type is complete.
13213 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
13216 * c-common.c (RID_IS_FINAL): Add.
13217 * c-common.h (RID_IS_FINAL): Add.
13219 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
13221 * c.opt (fgnu-runtime): Provide full description.
13222 (fnext-runtime): Likewise.
13223 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
13225 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
13227 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
13228 predefines in one place. Add LOCK_FREE predefines.
13229 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
13232 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
13235 * c-common.c (get_atomic_generic_size): Check for various error
13237 (resolve_overloaded_atomic_exchange,
13238 resolve_overloaded_atomic_compare_exchange,
13239 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
13240 error_mark_node for error conditions.
13242 2011-11-08 Richard Guenther <rguenther@suse.de>
13244 PR middle-end/51010
13245 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
13247 2011-11-07 Richard Henderson <rth@redhat.com>
13248 Aldy Hernandez <aldyh@redhat.com>
13249 Torvald Riegel <triegel@redhat.com>
13251 Merged from transactional-memory.
13253 * c-common.c (handle_tm_wrap_attribute,
13254 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
13255 (struct c_common_reswords): Added __transaction* keywords.
13256 (struct c_common_attribute_table): Added transaction* and tm_regparm
13258 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
13260 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
13261 find_tm_attribute): Declare.
13263 2011-11-07 Jason Merrill <jason@redhat.com>
13266 * c-common.c, c-common.h: Revert yesterday's changes.
13268 2011-11-06 Jason Merrill <jason@redhat.com>
13271 * c-common.c (decl_has_visibility_attr): Split out from...
13272 (c_determine_visibility): ...here.
13273 * c-common.h: Declare it.
13275 2011-11-06 Joseph Myers <joseph@codesourcery.com>
13277 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
13278 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
13280 (check_user_alignment): New. Split out of
13281 handle_aligned_attribute. Disallow integer constants with
13282 noninteger types. Conditionally allow zero.
13283 (handle_aligned_attribute): Use check_user_alignment.
13284 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
13286 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
13287 Richard Henderson <rth@redhat.com>
13289 Merged from cxx-mem-model.
13291 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
13292 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
13293 parameters that are the same type size.
13294 (get_atomic_generic_size): New. Find size of generic
13295 atomic function parameters and do typechecking.
13296 (add_atomic_size_parameter): New. Insert size into parameter list.
13297 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
13298 either __atomic_exchange_n or external library call.
13299 (resolve_overloaded_atomic_compare_exchange): Restructure
13300 __atomic_compare_exchange to either _n variant or external library call.
13301 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
13302 __atomic_load_n or an external library call.
13303 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
13304 __atomic_store_n or an external library call.
13305 (resolve_overloaded_builtin): Handle new __atomic builtins.
13307 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
13310 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
13311 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
13312 <INDIRECT_REF>: Return the argument.
13313 <ARRAY_REF>: Remove special code for negative offset.
13314 Call fold_build_pointer_plus instead of size_binop.
13315 (fold_offsetof): Remove STOP_REF argument and adjust.
13316 * c-common.h (fold_offsetof_1): Declare.
13317 (fold_offsetof): Remove STOP_REF argument.
13319 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
13322 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
13323 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
13324 Wnarrowing for C++0x and C++98.
13325 * c.opt ([Wnarrowing]): Update.
13327 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
13330 * c.opt: Add Wzero-as-null-pointer-constant.
13332 2011-10-31 Jason Merrill <jason@redhat.com>
13334 * c.opt (-fdeduce-init-list): Off by default.
13337 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
13338 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
13339 and -Wc++11-compat.
13340 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
13342 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
13345 * c.opt (fvisibility-inlines-hidden): Description change.
13347 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
13349 Implement C++11 user-defined literals.
13350 * c-common.c (build_userdef_literal): New.
13351 * c-common.def: New tree code.
13352 * c-common.h (tree_userdef_literal): New tree struct and accessors.
13353 * c-lex.c (interpret_float): Add suffix parm.
13354 (c_lex_with_flags): Build literal tokens.
13356 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
13360 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
13363 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
13364 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
13365 Wnarrowing for C++0x and C++98.
13366 * c.opt ([Wnarrowing]): Update.
13368 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
13371 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
13372 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
13373 Wnarrowing for C++0x and C++98.
13374 * c.opt ([Wnarrowing]): Update.
13376 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
13379 * c-common.c (conversion_warning): Remove code looking for
13380 artificial operands.
13382 2011-10-18 Dodji Seketeli <dodji@redhat.com>
13385 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
13386 !NO_IMPLICIT_EXTERN_C.
13388 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
13390 * c-common.c (c_common_reswords): Add __bases,
13392 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
13394 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
13397 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
13399 2011-10-15 Tom Tromey <tromey@redhat.com>
13400 Dodji Seketeli <dodji@redhat.com>
13402 * c.opt (fdebug-cpp): New option.
13403 * c-opts.c (c_common_handle_option): Handle the option.
13404 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
13405 output stream in parameter. Factorized from ...
13406 (maybe_print_line): ... this. Dump location debug information when
13407 -fdebug-cpp is in effect.
13408 (print_line_1): New static function. Takes an output stream in
13409 parameter. Factorized from ...
13410 (print_line): ... here. Dump location information when -fdebug-cpp
13412 (scan_translation_unit): Dump location information when
13413 -fdebug-cpp is in effect.
13415 2011-10-15 Tom Tromey <tromey@redhat.com>
13416 Dodji Seketeli <dodji@redhat.com>
13418 * c.opt (ftrack-macro-expansion): New option. Handle it with and
13420 * c-opts.c (c_common_handle_option)<case
13421 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
13422 cases. Handle -ftrack-macro-expansion with and without argument.
13424 2011-10-15 Tom Tromey <tromey@redhat.com>
13425 Dodji Seketeli <dodji@redhat.com>
13427 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
13428 (print_line, cb_define, do_line_change): Adjust to avoid touching
13429 the internals of struct line_map. Use the public API instead.
13430 * c-pch.c (c_common_read_pch): Likewise.
13431 * c-lex.c (fe_file_change): Likewise.
13433 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
13436 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
13438 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
13441 * c-pretty-print.c (pp_c_floating_constant): Output
13442 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
13444 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
13446 * c-common.c (def_builtin_1): Delete old interface with two
13447 parallel arrays to hold standard builtin declarations, and replace
13448 it with a function based interface that can support creating
13449 builtins on the fly in the future. Change all uses, and poison
13450 the old names. Make sure 0 is not a legitimate builtin index.
13451 * c-omp.c (c_finish_omp_barrier): Ditto.
13452 (c_finish_omp_taskwait): Ditto.
13453 (c_finish_omp_flush): Ditto.
13455 2011-10-11 Tristan Gingold <gingold@adacore.com>
13457 * c.opt: (fallow-parameterless-variadic-functions): New.
13459 2011-09-08 Dodji Seketeli <dodji@redhat.com>
13461 PR c++/33255 - Support -Wunused-local-typedefs warning
13462 * c-common.h (struct c_language_function::local_typedefs): New
13464 (record_locally_defined_typedef, maybe_record_typedef_use)
13465 (maybe_warn_unused_local_typedefs): Declare new functions.
13466 * c-common.c (record_locally_defined_typedef)
13467 (maybe_record_typedef_use)
13468 (maybe_warn_unused_local_typedefs): Define new functions.
13469 * c.opt: Declare new -Wunused-local-typedefs flag.
13471 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
13473 PR middle-end/50266
13474 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
13477 2011-09-05 Richard Guenther <rguenther@suse.de>
13479 * c-common.c (complete_array_type): Use ssize_int (-1) instead
13480 of integer_minus_one_node for empty array upper bounds.
13482 2011-08-28 Dodji Seketeli <dodji@redhat.com>
13484 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
13485 it's the first time it's being called on this main TU.
13487 2011-08-24 Richard Guenther <rguenther@suse.de>
13490 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
13492 2011-08-22 Gabriel Charette <gchare@google.com>
13494 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
13495 defined in cpp_init_builtins and c_cpp_builtins.
13497 2011-08-19 Joseph Myers <joseph@codesourcery.com>
13499 * c-common.c (c_common_reswords): Add __builtin_complex.
13500 * c-common.h (RID_BUILTIN_COMPLEX): New.
13502 2011-08-18 Joseph Myers <joseph@codesourcery.com>
13504 * c-common.c (c_common_reswords): Add _Noreturn.
13505 (keyword_is_function_specifier): Handle RID_NORETURN.
13506 * c-common.h (RID_NORETURN): New.
13508 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
13510 * c-common.c (unsafe_conversion_p): New function. Check if it is
13511 unsafe to convert an expression to the type.
13512 (conversion_warning): Adjust, use unsafe_conversion_p.
13513 * c-common.h (unsafe_conversion_p): New function declaration.
13515 2011-08-02 Jakub Jelinek <jakub@redhat.com>
13517 * c-common.h (c_finish_omp_atomic): Adjust prototype.
13518 (c_finish_omp_taskyield): New prototype.
13519 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
13520 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
13521 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
13522 or RHS1 have side-effects, evaluate those too in the right spot,
13523 if it is a decl and LHS is also a decl, error out if they
13525 (c_finish_omp_taskyield): New function.
13526 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
13527 * c-pragma.c (omp_pragmas): Add taskyield.
13528 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
13529 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
13530 PRAGMA_OMP_CLAUSE_MERGEABLE.
13532 2011-07-25 Dodji Seketeli <dodji@redhat.com>
13534 * c-common.h (set_underlying_type): Remove parm name from
13537 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
13539 * c-pretty-print.h: Search c-common.h in c-family.
13541 2011-07-22 Jason Merrill <jason@redhat.com>
13544 * c.opt (Wnarrowing): New.
13547 * c-common.h: Declare c_linkage_bindings.
13548 * c-pragma.c (handle_pragma_redefine_extname): Use it.
13551 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
13552 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
13553 as flag_isoc99 for 'restrict'.
13554 (pp_c_specifier_qualifier_list): Likewise for _Complex.
13556 2011-07-21 Ian Lance Taylor <iant@google.com>
13558 PR middle-end/49705
13559 * c-common.c (c_disable_warnings): New static function.
13560 (c_enable_warnings): New static function.
13561 (c_fully_fold_internal): Change local unused_p to bool. Call
13562 c_disable_warnings and c_enable_warnings rather than change
13563 c_inhibit_evaluation_warnings.
13565 2011-07-20 Jason Merrill <jason@redhat.com>
13567 PR c++/6709 (DR 743)
13568 PR c++/42603 (DR 950)
13569 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
13570 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
13571 (CPP_DECLTYPE): New.
13572 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
13574 2011-07-19 Richard Guenther <rguenther@suse.de>
13576 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
13577 * c-omp.c (c_finish_omp_for): Likewise.
13579 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
13581 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
13582 body on the next line.
13584 2011-07-08 Jason Merrill <jason@redhat.com>
13587 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
13590 * c-common.c (c_apply_type_quals_to_decl): Don't check
13591 TYPE_NEEDS_CONSTRUCTING.
13593 2011-07-06 Richard Guenther <rguenther@suse.de>
13595 * c-common.c (c_common_nodes_and_builtins):
13596 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
13598 2011-07-05 Richard Guenther <rguenther@suse.de>
13600 * c-common.c (c_common_nodes_and_builtins): Build all common
13603 2011-06-27 Jakub Jelinek <jakub@redhat.com>
13605 * c-common.h (c_tree_chain_next): New static inline function.
13607 * c-common.c (check_builtin_function_arguments): Handle
13608 BUILT_IN_ASSUME_ALIGNED.
13610 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
13612 * c-common.c: Add sync_ or SYNC__ to builtin names.
13613 * c-omp.c: Add sync_ or SYNC__ to builtin names.
13615 2011-06-20 Pierre Vittet <piervit@pvittet.com>
13617 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
13619 (gen_pragma_handler): New union.
13620 (internal_pragma_handler): New type.
13621 (c_register_pragma_with_data)
13622 (c_register_pragma_with_expansion_and_data): New functions.
13624 * c-pragma.c (registered_pragmas, c_register_pragma_1)
13625 (c_register_pragma, c_register_pragma_with_expansion)
13626 (c_invoke_pragma_handler): Changed to work with
13627 internal_pragma_handler.
13628 (c_register_pragma_with_data)
13629 (c_register_pragma_with_expansion_and_data): New functions.
13631 2011-06-14 Joseph Myers <joseph@codesourcery.com>
13633 * c-common.c: Include common/common-target.h.
13634 (handle_section_attribute): Use
13635 targetm_common.have_named_sections.
13636 * c-cppbuiltin.c: Include common/common-target.h.
13637 (c_cpp_builtins): Use targetm_common.except_unwind_info.
13639 2011-06-10 Richard Guenther <rguenther@suse.de>
13641 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
13642 to print a IDENTIFIER_NODE.
13644 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13645 Joseph Myers <joseph@codesourcery.com>
13647 * c.opt (fbuilding-libgcc): New option.
13648 * c-cppbuiltin.c (c_cpp_builtins): Define
13649 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
13651 2011-06-07 Jason Merrill <jason@redhat.com>
13653 * c-common.c (max_tinst_depth): Lower default to 900.
13655 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
13657 2011-06-07 Richard Guenther <rguenther@suse.de>
13659 * c-common.c (c_common_nodes_and_builtins): Do not set
13660 size_type_node or call set_sizetype.
13662 2011-06-07 Dodji Seketeli <dodji@redhat.com>
13665 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
13666 type when using pointer comparison to compare types.
13668 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
13670 * c.opt: Add -Wdelete-non-virtual-dtor.
13671 * c-opts.c (c_common_handle_option): Include it in -Wall.
13673 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
13678 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
13680 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
13683 2011-05-27 Jakub Jelinek <jakub@redhat.com>
13686 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
13687 C++ don't call c_common_truthvalue_conversion on void type arms.
13689 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
13691 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
13692 (stmt_list_stack): Define.
13693 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
13694 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
13696 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
13698 * c-common.c (warning_candidate_p): Check for BLOCKs.
13700 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
13702 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
13705 2011-05-25 Jakub Jelinek <jakub@redhat.com>
13707 * c-common.c (def_fn_type): Remove extra va_end.
13709 2011-05-23 Jason Merrill <jason@redhat.com>
13712 * c-common.c (c_common_get_narrower): New.
13713 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
13715 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
13717 * c-common.h (check_function_arguments): Tweak prototype of
13718 check_function_arguments.
13719 * c-common.c (check_function_arguments): Likewise. Adjust
13720 calls to check_function_nonnull, check_function_format, and
13721 check_function_sentinel.
13722 (check_function_sentinel): Take a FUNCTION_TYPE rather than
13723 separate attributes and typelist arguments. Use
13724 FOREACH_FUNCTION_ARGS to iterate over argument types.
13726 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
13728 * c-common.c (c_common_reswords): Reorder.
13729 * c-common.h (rid): Likewise.
13731 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
13733 * c-common.c (def_fn_type): Don't call build_function_type, call
13734 build_function_type_array or build_varargs_function_type_array
13736 (c_common_nodes_and_builtins): Likewise.
13738 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
13740 * c-common.c (c_add_case_label): Omit the loc argument to
13742 * c-common.h (build_case_label): Remove.
13743 * c-semantics.c (build_case_label): Remove.
13745 2011-05-05 Joseph Myers <joseph@codesourcery.com>
13747 * c-objc.h (objc_start_method_definition): Update prototype.
13748 * stub-objc.c (objc_start_method_definition): Add extra parameter.
13750 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
13752 * c-common.c (check_main_parameter_types): Reindent. Don't use
13753 TYPE_ARG_TYPES directly.
13754 (handle_nonnull_attribute): Likewise.
13755 (sync_resolve_params): Likewise.
13756 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
13757 to check_format_string.
13758 (handle_format_attribute): Likewise.
13759 (check_format_string): Take a function type to examine instead of
13760 a type list. Use a function_arg_iterator to step through argument
13763 2011-05-04 Richard Guenther <rguenther@suse.de>
13765 * c-common.c (fix_string_type): Use size_int for index type bounds.
13766 (start_fname_decls): Do not pass NULL to build_int_cst.
13767 (c_init_attributes): Likewise.
13768 * c-lex.c (c_lex_with_flags): Likewise.
13770 2011-04-27 Jason Merrill <jason@redhat.com>
13772 * c-common.c (make_tree_vector_from_list): New.
13773 * c-common.h: Declare it.
13775 2011-04-26 Richard Guenther <rguenther@suse.de>
13777 PR preprocessor/48248
13778 * c-ppoutput.c (maybe_print_line): Always optimize newlines
13779 for output size with -P.
13781 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
13783 * c-common.c (struct c_common_resword): Add __underlying_type.
13784 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
13786 2011-04-20 Jim Meyering <meyering@redhat.com>
13788 * c-format.c (init_dollar_format_checking): Remove useless
13791 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
13793 * c-objc.h (objc_get_interface_ivars): Removed.
13794 (objc_detect_field_duplicates): New.
13795 * stub-objc.c: Likewise.
13797 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
13799 * stub-objc.c (objc_declare_protocols): Renamed to
13800 objc_declare_protocol.
13801 * c-objc.h: Likewise.
13803 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
13805 * stub-objc.c (objc_declare_class): Updated argument name.
13807 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
13809 * c-common.h (c_common_init_ts): Declare.
13810 * c-common.c (c_common_init_ts): Define.
13812 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
13814 * c-objc.h (objc_build_message_expr): Updated prototype.
13815 * stub-objc.c (objc_build_message_expr): Likewise.
13817 2011-04-12 Martin Jambor <mjambor@suse.cz>
13819 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
13822 2011-04-11 Richard Guenther <rguenther@suse.de>
13824 * c-common.c (complete_array_type): Build a range type of
13827 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
13829 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
13830 (handle_type_generic_attribute): Likewise.
13832 2011-04-07 Jason Merrill <jason@redhat.com>
13835 * c-common.c (c_common_truthvalue_conversion): Don't ignore
13836 conversion from C++0x scoped enum.
13838 2011-04-06 Joseph Myers <joseph@codesourcery.com>
13840 * c-target-def.h: New file.
13841 * c-target.def: New file.
13842 * c-target.h: New file.
13843 * c-common.c (targetcm): Don't define here.
13844 * c-common.h (default_handle_c_option): Declare.
13845 * c-format.c: Include c-target.h instead of target.h.
13846 * c-opts.c: Include c-target.h instead of target.h. Explicitly
13848 (default_handle_c_option): Move from targhooks.c.
13850 2011-03-29 Jakub Jelinek <jakub@redhat.com>
13852 PR preprocessor/48248
13853 * c-ppoutput.c (print): Add src_file field.
13854 (init_pp_output): Initialize it.
13855 (maybe_print_line): Don't optimize by adding up to 8 newlines
13856 if map->to_file and print.src_file are different file.
13857 (print_line): Update print.src_file.
13859 2011-03-25 Kai Tietz <ktietz@redhat.com>
13861 * c-ada-spec.c (compare_comment): Use filename_cmp
13862 instead of strcmp for filename.
13864 2011-03-25 Jeff Law <law@redhat.com>
13866 * c-common.c (def_fn_type): Add missing va_end.
13868 2011-03-25 Jason Merrill <jason@redhat.com>
13870 * c.opt: Add -std=c++03.
13872 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
13874 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
13876 2011-03-17 Kai Tietz <ktietz@redhat.com>
13879 * c-pretty-print.c (pp_c_specifier_qualifier_list):
13880 Display allowed attributes for function pointer types.
13881 (pp_c_attributes_display): New function to display
13882 attributes having affects_type_identity flag set to true.
13883 * c-pretty-print.h (pp_c_attributes_display): New prototype.
13885 * c-common.c (c_common_attribute_table):
13887 (c_common_format_attribute_table): Likewise.
13889 2011-03-18 Jason Merrill <jason@redhat.com>
13891 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
13892 * c-common.h: Don't declare it here.
13893 * c-common.c: Or define it here.
13894 * c-opts.c (c_common_handle_option): Or set it here.
13897 * c-common.c (handle_transparent_union_attribute): Don't
13898 make a duplicate type in C++.
13900 2011-03-15 Jason Merrill <jason@redhat.com>
13902 * c-common.c (max_constexpr_depth): New.
13903 * c-common.h: Declare it.
13904 * c-opts.c (c_common_handle_option): Set it.
13905 * c.opt (fconstexpr-depth): New option.
13907 2011-03-11 Jason Merrill <jason@redhat.com>
13909 * c-common.c (attribute_takes_identifier_p): Add missing const.
13912 * c-common.c (attribute_takes_identifier_p): Assume that an
13913 unknown attribute takes an identifier.
13915 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
13918 * c-common.c (c_type_hash): Call list_length instead of iterating
13919 through DECL_CHAIN. Rename 'i' to 'n_elements'.
13921 2011-02-19 Jakub Jelinek <jakub@redhat.com>
13924 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
13926 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
13928 * c.opt (fobjc-abi-version=) New.
13929 (fobjc-nilcheck): New.
13931 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
13934 * c-common.h (keyword_is_decl_specifier): Declare.
13935 * c-common.c (keyword_is_decl_specifier): Define.
13936 (keyword_is_function_specifier): New function.
13938 2011-01-26 Jakub Jelinek <jakub@redhat.com>
13941 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
13942 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
13945 2011-01-26 Arnaud Charlet <charlet@adacore.com>
13947 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
13949 2011-01-26 Jakub Jelinek <jakub@redhat.com>
13952 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
13953 after init_c_lex if pch_file is set.
13955 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
13958 * c.opt (-fkeep-inline-dllexport): New switch.
13960 2011-01-12 Richard Guenther <rguenther@suse.de>
13962 PR middle-end/32511
13963 * c-common.c (handle_weak_attribute): Warn instead of error
13964 on declaring an inline function weak.
13966 2011-01-05 Tom Tromey <tromey@redhat.com>
13968 * c-common.h (lvalue_error): Update.
13969 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
13972 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
13975 * c-objc.h (objc_finish_message_expr): Added argument to
13978 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
13980 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
13983 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
13985 * c-objc.h (objc_maybe_warn_exceptions): New.
13986 * stub-objc.c (objc_maybe_warn_exceptions): New.
13988 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
13990 * c-common.h (readonly_error): Declare.
13991 * c-common.c (readonly_error): Define.
13993 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
13995 * c-common.h (invalid_indirection_error): Declare.
13996 * c-common.c (invalid_indirection_error): Define.
13998 2010-12-03 Richard Guenther <rguenther@suse.de>
14001 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
14002 (pp_c_unary_expression): Likewise.
14003 (pp_c_expression): Likewise.
14005 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
14007 * c-common.h (objc_finish_function): New.
14008 (objc_non_volatilized_type): Removed.
14009 (objc_type_quals_match): Removed.
14010 * stub-objc.c (objc_finish_function): New.
14011 (objc_non_volatilized_type): Removed.
14012 (objc_type_quals_match): Removed.
14014 2010-11-30 Joseph Myers <joseph@codesourcery.com>
14016 * c-common.h (parse_optimize_options): Declare.
14017 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
14018 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
14020 2010-11-29 Joseph Myers <joseph@codesourcery.com>
14022 * c-opts.c (check_deps_environment_vars): Use getenv instead of
14024 * c-pch.c (O_BINARY): Don't define here.
14025 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
14027 2010-11-25 Joseph Myers <joseph@codesourcery.com>
14029 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
14030 targetm.except_unwind_info.
14032 2010-11-23 Joseph Myers <joseph@codesourcery.com>
14034 * c-opts.c (c_common_handle_option): Pass location to
14035 set_struct_debug_option.
14037 2010-11-23 Joseph Myers <joseph@codesourcery.com>
14039 * c-common.c (visibility_options): Move from ../opts.c.
14040 * c-common.h (struct visibility_flags, visibility_options):
14042 * c-opts.c (finish_options): Rename to c_finish_options.
14043 (c_common_init): Update call to finish_options.
14045 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
14048 * c-lex.c (lex_string): Check that each string in an Objective-C
14049 string concat sequence starts with either one or zero '@', and
14050 that there are no spurious '@' signs at the end.
14052 2010-11-20 Joseph Myers <joseph@codesourcery.com>
14054 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
14055 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
14056 HANDLE_PRAGMA_VISIBILITY.
14057 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
14058 HANDLE_PRAGMA_VISIBILITY): Don't define.
14059 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
14061 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
14066 * c-common.h (keyword_begins_type_specifier): Declare.
14067 (keyword_is_storage_class_specifier): Declare.
14068 (keyword_is_type_qualifier): Declare.
14069 * c-common.c (keyword_begins_type_specifier): New function.
14070 (keyword_is_storage_class_specifier): New function.
14071 (keyword_is_type_qualifier): Declare.
14073 2010-11-19 Joseph Myers <joseph@codesourcery.com>
14076 * c-common.c (in_late_binary_op): Define.
14077 (c_common_truthvalue_conversion): Check in_late_binary_op before
14078 calling c_save_expr.
14079 * c-common.h (in_late_binary_op): Declare.
14081 2010-11-19 Joseph Myers <joseph@codesourcery.com>
14083 * c-opts.c (c_common_handle_option): Update calls to
14084 set_struct_debug_option.
14086 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
14088 * c-common.h (objc_declare_protocols): Added additional argument.
14089 * stub-objc.c (objc_declare_protocol): Same change.
14091 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
14094 * c-common.h (build_real_imag_expr): Declare.
14095 * c-semantics.c (build_real_imag_expr): Define.
14097 2010-11-17 Joseph Myers <joseph@codesourcery.com>
14099 * c-opts.c (c_common_parse_file): Take no arguments.
14100 * c-common.h (c_common_parse_file): Update prototype.
14102 2010-11-16 Jakub Jelinek <jakub@redhat.com>
14105 * c-common.c (warning_candidate_p): Don't track non-const calls
14108 2010-11-15 Ian Lance Taylor <iant@google.com>
14110 * c-lex.c (init_c_lex): Set macro debug callbacks if
14111 flag_dump_go_spec is set.
14113 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
14115 * c-common.h (objc_build_incr_expr_for_property_ref): New.
14116 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
14118 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
14120 PR preprocessor/45038
14121 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
14124 2010-11-12 Joseph Myers <joseph@codesourcery.com>
14126 * c-common.h (c_family_lang_mask): Declare.
14127 * c-opts.c (c_family_lang_mask): Make extern.
14128 * c-pragma.c (handle_pragma_diagnostic): Use
14129 control_warning_option.
14131 2010-11-12 Joseph Myers <joseph@codesourcery.com>
14133 * c-common.c (parse_optimize_options): Update call to
14135 * c-common.h (c_common_handle_option): Update prototype.
14136 * c-opts.c (c_common_handle_option): Take location_t parameter and
14137 pass it to other functions.
14139 2010-11-11 Joseph Myers <joseph@codesourcery.com>
14141 * c-opts.c (warning_as_error_callback): Remove.
14142 (c_common_initialize_diagnostics): Don't call
14143 register_warning_as_error_callback.
14144 (c_common_handle_option): Handle -Werror=normalized= here.
14146 2010-11-10 Joseph Myers <joseph@codesourcery.com>
14148 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
14150 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
14152 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
14153 Remove trailing '.' from diagnostics.
14154 * c.opt (Wwrite-strings_: Avoid '`' in help text.
14156 2010-11-10 Joseph Myers <joseph@codesourcery.com>
14158 * c-common.c (parse_optimize_options): Pass global_dc to
14160 * c-opts.c (c_common_handle_option): Pass &global_options to
14161 set_Wstrict_aliasing.
14162 * c.opt (v): Don't mark Common or document here.
14164 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
14167 * c-format.c (format_type): New type gcc_objc_string_format_type.
14168 (valid_stringptr_type_p): New.
14169 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
14170 (check_format_string): Pass expected type, use
14171 valid_stringptr_type_p (), check that the format string types are
14172 consistent with the format specification.
14173 (decode_format_attr): Warn if NSString is used outside objective-c.
14174 (format_types_orig): Add NSString.
14175 (format_name): New.
14176 (format_flags): New.
14177 (check_format_arg): Handle format strings requiring an external parser.
14178 first_target_format_type: New variable.
14179 (handle_format_attribute): Set up first_target_format_type, pass the
14180 expected format arg string type to check_format_string().
14181 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
14182 * stub-objc.c (objc_string_ref_type_p): New.
14183 (objc_check_format_arg): New.
14185 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
14187 Fixed using the Objective-C 2.0 dot-syntax with class names.
14188 * c-common.h (objc_build_class_component_ref): New.
14189 * stub-objc.c (objc_build_class_component_ref): New.
14191 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
14193 * c.opt (Wproperty-assign-default): New option.
14195 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
14197 Implemented -fobjc-std=objc1 flag.
14198 * c.opt (fobjc-std=objc1): New option.
14200 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
14202 Implemented format and noreturn attributes for Objective-C methods.
14203 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
14204 attribute for Objective-C methods.
14206 2010-10-31 Jason Merrill <jason@redhat.com>
14208 * c-common.c (conversion_warning, warn_for_collisions_1): Use
14211 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
14213 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
14214 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
14215 (objc_add_property_declaration): Removed arguments for copies and
14217 (objc_build_getter_call): Renamed to
14218 objc_maybe_build_component_ref.
14219 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
14220 (objc_is_property_ref): New.
14221 * c-common.c (c_common_reswords): Removed copies and ivar.
14222 * stub-objc.c (objc_add_property_declaration): Removed arguments
14223 for copies and ivar.
14224 (objc_build_getter_call): Renamed to
14225 objc_maybe_build_component_ref.
14226 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
14227 (objc_is_property_ref): New.
14229 2010-10-29 Arnaud Charlet <charlet@adacore.com>
14230 Matthew Gingell <gingell@adacore.com>
14232 * c-ada-spec.c (separate_class_package): New function.
14233 (pp_ada_tree_identifier): Prefix references to C++ classes with the
14234 name of their enclosing package.
14235 (print_ada_declaration): Use separate_class_package.
14237 2010-10-27 Jason Merrill <jason@redhat.com>
14239 * c-common.c (c_common_reswords): Add __is_literal_type.
14240 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
14242 * c-common.c (check_case_value): Remove special C++ code.
14244 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
14246 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
14247 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
14248 and RID_LAST_PATTR.
14249 (objc_add_property_declaration): Added additional arguments.
14250 (objc_property_attribute_kind): Removed.
14251 (objc_set_property_attr): Removed.
14252 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
14253 copy and nonatomic.
14254 * stub-objc.c (objc_add_property_declaration): Added additional
14256 (objc_set_property_attr): Removed.
14258 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
14260 * c-common.h (objc_add_property_variable): Renamed to
14261 objc_add_property_declaration. Added location argument.
14262 * stub-objc.c (objc_add_property_variable): Same change.
14264 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
14266 * c-common.h (objc_maybe_printable_name): New.
14267 * stub-objc.c (objc_maybe_printable_name): New.
14269 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
14270 Andrew Pinski <pinskia@gmail.com>
14272 * c-common.h (c_common_mark_addressable_vec): Declare.
14273 * c-common.c (c_common_mark_addressable_vec): New function.
14275 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
14277 * c-common.h (objc_set_method_type): Removed.
14278 (objc_add_method_declaration): Added boolean argument.
14279 (objc_start_method_definition): Same change.
14280 (objc_build_method_signature): Same change.
14281 * stub-objc.c (objc_set_method_type): Removed.
14282 (objc_add_method_declaration): Added boolean argument.
14283 (objc_start_method_definition): Same change.
14284 (objc_build_method_signature): Same change.
14286 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
14288 * c-common.h (finish_file): Removed.
14289 (objc_write_global_declarations): New.
14290 * c-opts.c (c_common_parse_file): Do not call finish_file.
14291 * stub-objc.c (objc_write_global_declarations): New.
14293 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
14295 Implemented parsing @synthesize and @dynamic for
14296 Objective-C/Objective-C++.
14297 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
14298 (objc_add_synthesize_declaration): New.
14299 (objc_add_dynamic_declaration): New.
14300 * c-common.c (c_common_reswords): Add synthesize and dynamic.
14301 * stub-objc.c (objc_add_synthesize_declaration): New.
14302 (objc_add_dynamic_declaration): New.
14304 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
14307 * c-cppbuiltin.c (mode_has_fma): Move function here from
14308 builtins.c. Don't use the fma optab, instead just use the
14309 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
14312 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
14314 Merge from 'apple/trunk' branch on FSF servers.
14316 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
14319 * c-common.h (objc_non_volatilized_type): New declaration
14320 * stub-objc.c (objc_non_volatilized_type): New stub.
14322 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
14324 Merge from 'apple/trunk' branch on FSF servers.
14326 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
14329 * c-common.h (objc_diagnose_private_ivar): New decl.
14330 * stub-objc.c (objc_diagnose_private_ivar): New stub.
14332 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
14334 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
14335 * c-common.h (enum rid): Add RID_AT_PACKAGE.
14336 (objc_ivar_visibility_kind): New enum.
14337 (objc_set_visibility): Adjust prototype to use visibility enum.
14338 * stub-objc.c (objc_set_visibility): Adjust stub to use
14341 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
14343 * c-cppbuiltin.c (builtin_define_float_constants): Emit
14344 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
14345 has the appropriate fma builtins.
14346 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
14348 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
14350 merge from FSF apple 'trunk' branch.
14351 2006 Fariborz Jahanian <fjahanian@apple.com>
14353 Radars 4436866, 4505126, 4506903, 4517826
14354 * c-common.c (c_common_resword): Define @property and its attributes.
14355 * c-common.h: Define property attribute enum entries.
14356 (OBJC_IS_PATTR_KEYWORD): New.
14357 (objc_property_attribute_kind): New enum.
14358 Declare objc_set_property_attr (), objc_add_property_variable (),
14359 objc_build_getter_call () and objc_build_setter_call ().
14360 * stub-objc.c (objc_set_property_attr): New stub.
14361 (objc_add_property_variable): Likewise.
14362 (objc_build_getter_call): Likewise.
14363 (objc_build_setter_call) Likewise.
14365 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
14367 merge from FSF apple 'trunk' branch.
14368 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
14370 Radar 3803157 (method attributes)
14371 * c-common.c (handle_deprecated_attribute): Recognize
14372 objc methods as valid declarations.
14373 * c-common.h: Declare objc_method_decl ().
14374 * stub-objc.c (objc_method_decl): New stub.
14376 2010-10-08 Joseph Myers <joseph@codesourcery.com>
14378 * c-common.c (parse_optimize_options): Call
14379 decode_cmdline_options_to_array_default_mask before
14380 decode_options. Update arguments to decode_options.
14381 * c-common.h (c_common_init_options_struct): Declare.
14382 * c-opts.c (c_common_init_options_struct): New. Split out from
14383 c_common_init_options.
14385 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
14387 Implemented fast enumeration for Objective-C.
14388 * c-common.h (objc_finish_foreach_loop): New.
14389 * stub-objc.c (objc_finish_foreach_loop): New.
14391 2010-10-05 Joseph Myers <joseph@codesourcery.com>
14393 * c-common.h (struct diagnostic_context): Don't declare here.
14394 (c_common_initialize_diagnostics): Declare using
14395 diagnostic_context typedef.
14396 * c-opts.c (c_common_handle_option): Pass global_dc to
14397 handle_generated_option.
14399 2010-10-04 Joseph Myers <joseph@codesourcery.com>
14401 * c-opts.c (c_common_handle_option): Pass &global_options_set to
14402 handle_generated_option.
14404 2010-10-03 Ian Lance Taylor <iant@google.com>
14406 * c.opt (-fplan9-extensions): New option.
14408 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14410 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
14412 (c_cpp_builtins): Call functions from cppbuiltin.c instead
14413 of duplicating code.
14415 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
14417 * c-common.c: Add two new entries for @optional
14418 and @required keywords.
14420 merge from FSF 'apple/trunk' branch.
14421 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
14424 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
14425 objective-c keywords.
14426 (objc_set_method_opt): New declaration.
14427 * stub-objc.c (objc_set_method_opt): New stub.
14429 2010-09-30 Joseph Myers <joseph@codesourcery.com>
14431 * c-common.c (handle_optimize_attribute): Pass &global_options to
14432 cl_optimization_save and cl_optimization_restore.
14433 * c-opts.c (c_common_handle_option): Pass &global_options to
14434 handle_generated_option.
14435 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
14436 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
14437 &global_options to cl_optimization_restore.
14439 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
14441 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
14442 Objective-C/Objective-C++ keywords.
14444 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
14446 Merge from 'apple/trunk' branch on FSF servers.
14448 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
14451 * c-common.h (objc_check_global_decl): New declaration.
14452 * stub-objc.c (objc_check_global_decl): New stub.
14454 2010-09-29 Joseph Myers <joseph@codesourcery.com>
14456 * c.opt: Don't use VarExists.
14458 2010-09-29 Joseph Myers <joseph@codesourcery.com>
14460 * c-common.c (c_cpp_error): Update names of diagnostic_context
14462 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
14463 cl_optimization members.
14464 * c-opts.c (warning_as_error_callback, c_common_handle_option,
14465 sanitize_cpp_opts, finish_options): Update names of cpp_options
14468 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
14470 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
14471 (objc_is_reserved_word): Removed.
14472 * c-common.c: Updated comments.
14473 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
14474 objc_is_reserved_word.
14475 * stub-objc.c (objc_is_reserved_word): Removed.
14477 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
14479 * c-common.h (objc_add_method_declaration): Adjust prototype to
14480 include attributes.
14481 (objc_start_method_definition): Likewise.
14482 (objc_build_keyword_decl): Likewise.
14483 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
14484 (objc_start_method_definition): Likewise.
14485 (objc_build_keyword_decl): Likewise.
14487 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
14489 * c-common.h (objc_start_class_interface): Adjust prototype.
14490 (objc_start_category_interface): Likewise.
14491 (objc_start_protocol): Likewise.
14492 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
14493 (objc_start_class_interface): Likewise.
14494 (objc_start_category_interface): Likewise.
14496 2010-09-27 Ian Lance Taylor <iant@google.com>
14498 * c-common.c (c_common_attribute_table): Add no_split_stack.
14499 (handle_no_split_stack_attribute): New static function.
14501 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
14503 Merge from 'apple/trunk' branch on FSF servers.
14505 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
14508 * c-common.h (objc_have_common_type): New declaration.
14509 * stub-objc.c (objc_have_common_type): New stub.
14511 2005-06-22 Ziemowit Laski <zlaski@apple.com>
14514 * c-common.h (objc_common_type): New prototype.
14515 * stub-objc.c (objc_common_type): New stub.
14517 2010-09-24 Jan Hubicka <jh@suse.cz>
14519 * c-common.c (handle_leaf_attribute): New function.
14520 (struct attribute_spec c_common_att): Add leaf.
14522 2010-09-22 Joseph Myers <joseph@codesourcery.com>
14524 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
14525 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
14526 -dump, -dump=, -imacros, -imacros=, -include, -include=,
14527 -include-barrier, -include-directory, -include-directory=,
14528 -include-directory-after, -include-directory-after=,
14529 -include-prefix, -include-prefix=, -include-with-prefix,
14530 -include-with-prefix=, -include-with-prefix-after,
14531 -include-with-prefix-after=, -include-with-prefix-before,
14532 -include-with-prefix-before=, -no-integrated-cpp,
14533 -no-line-commands, -no-standard-includes, -no-warnings, -output,
14534 -output=, -pedantic, -pedantic-errors, -preprocess,
14535 -print-missing-file-dependencies, -trace-includes, -traditional,
14536 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
14537 -user-dependencies, -verbose, -write-dependencies,
14538 -write-user-dependencies, no-integrated-cpp, traditional): New.
14540 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
14543 * c-common.h (objc_start_method_definition): Return bool instead
14545 * stub-objc.c (objc_start_method_definition): Return bool instead
14548 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
14551 * c-common.h (objc_get_interface_ivars): New declaration.
14552 * stub-objc.c (objc_get_interface_ivars): New stub.
14554 2010-09-15 Ian Lance Taylor <iant@google.com>
14556 * c-common.c (parse_optimize_options): Do not capitalize warning
14557 messages. Remove period at end of warning message.
14559 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
14561 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
14562 (handle_alias_attribute): ... here.
14563 (handle_ifunc_attribute): New.
14565 2010-09-06 Mark Mitchell <mark@codesourcery.com>
14567 * c-common.h (do_warn_double_promotion): Declare.
14568 * c-common.c (do_warn_double_promotion): Define.
14570 2010-09-05 Mark Mitchell <mark@codesourcery.com>
14572 * c.opt (Wdouble-promotion): New.
14574 2010-09-02 Joseph Myers <joseph@codesourcery.com>
14576 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
14577 fvtable-thunks, fxref): Mark no longer supported in help text.
14579 2010-09-02 Joseph Myers <joseph@codesourcery.com>
14581 * c.opt (Wimport, fall-virtual, falt-external-templates,
14582 fdefault-inline, fenum-int-equiv, fexternal-templates,
14583 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
14584 fname-mangling-version-, fnew-abi, fnonnull-objects,
14585 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
14586 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
14588 (fhandle-exceptions): Mark with Alias and Warn.
14589 * c-opts.c (c_common_handle_option): Don't handle options marked
14592 2010-09-02 Joseph Myers <joseph@codesourcery.com>
14594 * c.opt (Wcomments, Werror-implicit-function-declaration,
14595 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
14596 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
14598 * c-common.c (option_codes): Use OPT_Wcomment instead of
14600 * c-opts.c (warning_as_error_callback, c_common_handle_option):
14601 Don't handle options marked as aliases.
14603 2010-08-25 Richard Guenther <rguenther@suse.de>
14605 * c-common.c (c_common_get_alias_set): Remove special
14606 handling for pointers.
14608 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
14610 * c-common.c: Use FOR_EACH_VEC_ELT.
14611 * c-gimplify.c: Likewise.
14612 * c-pragma.c: Likewise.
14614 2010-08-16 Joseph Myers <joseph@codesourcery.com>
14616 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
14618 (MMDX): Change back to MMD. Mark NoDriverArg instead of
14620 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
14621 instead of OPT_MDX and OPT_MMDX.
14623 2010-08-16 Joseph Myers <joseph@codesourcery.com>
14625 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
14627 2010-08-12 Joseph Myers <joseph@codesourcery.com>
14629 * c.opt (MD, MMD): Change to MDX and MMDX.
14630 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
14632 2010-08-11 Joseph Myers <joseph@codesourcery.com>
14634 * c-opts.c (c_common_handle_option): Call handle_generated_option
14635 instead of handle_option.
14637 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
14639 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
14640 (maybe_apply_renaming_pragma): Delete unneeded declarations.
14642 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
14644 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
14645 (pending_redefine_extname): Change type to a VEC.
14646 (add_to_renaming_pragma_list): Update for new type of
14647 pending_redefine_extname.
14648 (maybe_apply_renaming_pragma): Likewise.
14650 2010-08-04 Arnaud Charlet <charlet@adacore.com>
14652 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
14654 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
14655 decide whether a type has already been declared/seen.
14656 Do not go to the original type.
14657 (dump_nested_types): New parameter forward.
14658 Generate forward declaration if needed and mark type as visited.
14659 (print_ada_declaration): Call dump_nested_types if not already done.
14660 Mark types as visited.
14662 2010-08-03 Joseph Myers <joseph@codesourcery.com>
14664 * c.opt (-print-pch-checksum): Remove option.
14665 * c-opts.c (c_common_handle_option): Don't handle
14666 OPT_print_pch_checksum.
14668 2010-07-27 Joseph Myers <joseph@codesourcery.com>
14670 * c-common.h (c_common_handle_option): Update prototype and return
14672 * c-opts.c (c_common_handle_option): Update prototype and return
14673 value type. Update calls to handle_option and
14674 enable_warning_as_error.
14676 2010-07-27 Jakub Jelinek <jakub@redhat.com>
14679 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
14681 2010-07-27 Joseph Myers <joseph@codesourcery.com>
14683 * c-common.h (c_common_missing_argument): Remove.
14684 * c-opts.c (c_common_missing_argument): Remove.
14685 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
14686 idirafter, imacros, include, isysroot, isystem, iquote): Add
14688 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
14690 2010-07-27 Joseph Myers <joseph@codesourcery.com>
14692 * c-common.h (c_common_option_lang_mask,
14693 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
14695 (c_common_init_options): Update prototype.
14696 * c-opts.c (c_common_option_lang_mask): New.
14697 (c_common_initialize_diagnostics): Split out of
14698 c_common_init_options.
14699 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
14701 (c_common_init_options): Update prototype. Use decoded options in
14702 search for -lang-asm.
14704 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
14706 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
14707 * c-format.c: Likewise.
14709 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
14711 * c-common.h: Include diagnostic-core.h. Error if already
14713 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
14715 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
14717 * c-common.c (IN_GCC_FRONTEND): Do not undef.
14718 Do not include expr.h
14719 (vector_mode_valid_p): Move here.
14721 2010-06-21 DJ Delorie <dj@redhat.com>
14723 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
14724 allow these pragmas anywhere.
14726 2010-06-14 Jakub Jelinek <jakub@redhat.com>
14729 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
14730 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
14731 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
14732 ggc_strdup instead of xstrdup.
14734 2010-06-10 Jakub Jelinek <jakub@redhat.com>
14736 * c-cppbuiltin.c: Include cpp-id-data.h.
14737 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
14738 (lazy_hex_fp_value): New function.
14739 (builtin_define_with_hex_fp_value): Provide definitions lazily.
14741 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
14743 * c-gimplify.c: Do not include tree-flow.h
14745 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
14748 * c-common.c: Rename targetm member:
14749 targetm.enum_va_list -> targetm.enum_va_list_p
14751 2010-06-28 Anatoly Sokolov <aesok@post.ru>
14753 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
14755 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
14757 * c-cppbuiltin.c: Do not include except.h.
14759 2010-06-24 Andi Kleen <ak@linux.intel.com>
14761 * c-common.c (warn_for_omitted_condop): New.
14762 * c-common.h (warn_for_omitted_condop): Add prototype.
14764 2010-06-21 Joseph Myers <joseph@codesourcery.com>
14766 * c.opt (lang-objc): Remove.
14767 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
14769 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
14771 * c-opts.c: Include "tm_p.h".
14773 2010-06-20 Joseph Myers <joseph@codesourcery.com>
14775 * c-common.c (parse_optimize_options): Update call to
14778 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
14780 * c-common.c (record_types_used_by_current_var_decl): Adjust for
14781 new type of types_used_by_cur_var_decl.
14783 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
14786 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
14787 for C++ standard compliance.
14789 2010-06-16 Jason Merrill <jason@redhat.com>
14791 * c.opt: Add -Wnoexcept.
14793 2010-06-16 Richard Guenther <rguenther@suse.de>
14796 * c-common.c (c_common_truthvalue_conversion): Remove
14797 premature and wrong optimization concering ADDR_EXPRs.
14799 2010-06-15 Arnaud Charlet <charlet@adacore.com>
14801 * c-ada-spec.c (dump_sloc): Remove column info.
14802 (is_simple_enum): New function.
14803 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
14804 enum types when relevant.
14806 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
14808 * c-common.c (conversion_warning): Warn at expression
14811 2010-06-10 Joseph Myers <joseph@codesourcery.com>
14813 * c-opts.c (c_common_handle_option): Don't handle
14816 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
14818 * c-pragma.c (push_alignment): Use typed GC allocation.
14819 (handle_pragma_push_options): Likewise.
14821 * c-common.c (parse_optimize_options): Likewise.
14823 * c-common.h (struct sorted_fields_type): Add variable_size GTY
14826 2010-06-07 Joseph Myers <joseph@codesourcery.com>
14828 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
14829 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
14830 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
14831 flag_signed_bitfields, warn_strict_null_sentinel,
14832 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
14833 flag_gen_declaration, flag_no_gnu_keywords,
14834 flag_implement_inlines, flag_implicit_templates,
14835 flag_implicit_inline_templates, flag_optional_diags,
14836 flag_elide_constructors, flag_default_inline, flag_rtti,
14837 flag_conserve_space, flag_access_control, flag_check_new,
14838 flag_new_for_scope, flag_weak, flag_working_directory,
14839 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
14840 flag_enforce_eh_specs, flag_threadsafe_statics,
14841 flag_pretty_templates): Remove.
14842 * c-common.h (flag_preprocess_only, flag_nil_receivers,
14843 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
14844 flag_replace_objc_classes, flag_undef, flag_no_builtin,
14845 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
14846 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
14847 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
14848 flag_no_gnu_keywords, flag_implement_inlines,
14849 flag_implicit_templates, flag_implicit_inline_templates,
14850 flag_optional_diags, flag_elide_constructors, flag_default_inline,
14851 flag_rtti, flag_conserve_space, flag_access_control,
14852 flag_check_new, flag_new_for_scope, flag_weak,
14853 flag_working_directory, flag_use_cxa_atexit,
14854 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
14855 flag_threadsafe_statics, flag_pretty_templates,
14856 warn_strict_null_sentinel): Remove.
14857 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
14858 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
14859 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
14860 fimplicit-inline-templates, fimplicit-templates,
14861 flax-vector-conversions, fms-extensions, fnil-receivers,
14862 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
14863 frtti, fshort-double, fshort-enums, fshort-wchar,
14864 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
14865 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
14866 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
14867 gen-decls, undef): Use Var.
14868 (fdefault-inline, foptional-diags): Document as doing nothing.
14869 * c-opts.c (c_common_handle_option): Remove cases for options now
14870 using Var. Mark ignored options as such.
14872 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
14874 * c-common.c: Moved to here from parent directory.
14875 * c-common.def: Likewise.
14876 * c-common.h: Likewise.
14877 * c-cppbuiltin.c: Likewise.
14878 * c-dump.c: Likewise.
14879 * c-format.c: Likewise.
14880 * c-format.h : Likewise.
14881 * c-gimplify.c: Likewise.
14882 * c-lex.c: Likewise.
14883 * c-omp.c: Likewise.
14885 * c-opts.c: Likewise.
14886 * c-pch.c: Likewise.
14887 * c-ppoutput.c: Likewise.
14888 * c-pragma.c: Likewise.
14889 * c-pragma.h: Likewise.
14890 * c-pretty-print.c: Likewise.
14891 * c-pretty-print.h: Likewise.
14892 * c-semantics.c: Likewise.
14893 * stub-objc.c: Likewise.
14895 * c-common.c: Include gt-c-family-c-common.h.
14896 * c-pragma.c: Include gt-c-family-c-pragma.h.
14898 Copyright (C) 2010-2024 Free Software Foundation, Inc.
14900 Copying and distribution of this file, with or without modification,
14901 are permitted in any medium without royalty provided the copyright
14902 notice and this notice are preserved.