+2016-11-07 Jason Merrill <jason@redhat.com>
+
+ * c.opt (Wc++1z-compat): New.
+ * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
+
+2016-11-07 Martin Liska <mliska@suse.cz>
+
+ * c-warn.c (warn_for_unused_label): Save all labels used
+ in goto or in &label.
+
+2016-11-03 Jason Merrill <jason@redhat.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Correct
+ __cpp_inheriting_constructors.
+
+2016-11-01 Jason Merrill <jason@redhat.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Update
+ __cpp_inheriting_constructors.
+
+ * c.opt (-fnew-inheriting-ctors): New.
+ * c-opts.c: Default to on for ABI 11+.
+
+2016-10-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/77948
+ * c.opt (fext-numeric-literals): Add Var and Init.
+ * c-opts.c (c_common_handle_option): Don't clear
+ cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
+ (c_common_post_options): Clear it here if not set
+ explicitly.
+
+2016-10-28 Aldy Hernandez <aldyh@redhat.com>
+
+ PR debug/77773
+ * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
+ if NULL.
+
+2016-10-25 Jakub Jelinek <jakub@redhat.com>
+
+ * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
+ * c-common.c (c_common_reswords): Add __builtin_launder.
+
+2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * c-common.c (c_common_truthvalue_conversion): Warn for
+ multiplications in boolean context. Fix the quoting of '<<' and '<'
+ in the shift warning.
+
+2016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * c-common.c (c_common_truthvalue_conversion): Fix the comment.
+
+2016-10-20 Jason Merrill <jason@redhat.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
+
+2016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * c-common.c (c_common_truthvalue_conversion): Warn only for signed
+ integer shift ops in boolean context.
+
+2016-10-18 Aldy Hernandez <aldyh@redhat.com>
+
+ * c.opt (Walloca): New.
+ (Walloca-larger-than=): New.
+ (Wvla-larger-than=): New.
+
+2016-10-17 Marek Polacek <polacek@redhat.com>
+
+ * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
+ Return immediately when finding a match.
+ (warn_tautological_cmp): Remove a boolean variable that is no longer
+ needed.
+
+2016-10-17 Marek Polacek <polacek@redhat.com>
+
+ * c-attribs.c: New file.
+ * c-common.c: Move attributes handling to c-attribs.c.
+ (get_nonnull_operand): No longer static.
+ * c-common.h: Move the declarations from c-attribs.c to its own section.
+
+2016-10-14 Jason Merrill <jason@redhat.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
+ and __cpp_deduction_guides.
+
+2016-10-13 Jason Merrill <jason@redhat.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
+
+2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * c-cppbuiltin.c: Include memmodel.h.
+ * c-opts.c: Likewise.
+ * c-pragma.c: Likewise.
+ * c-warn.c: Likewise.
+
+2016-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
+ (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
+ * c-opts.c (sanitize_cpp_opts): Initialize
+ cpp_opts->cpp_warn_implicit_fallthrough.
+
+2016-10-11 Marek Polacek <polacek@redhat.com>
+
+ * c-common.c (warning_candidate_p): Change the return type to bool
+ and return true/false instead of 1/0.
+ (vector_mode_valid_p): Likewise.
+
+2016-10-11 Marek Polacek <polacek@redhat.com>
+
+ * c-common.c (fold_for_warn): No longer static.
+ (bool_promoted_to_int_p): Likewise.
+ (c_common_get_narrower): Likewise.
+ (constant_expression_warning): Move to c-warn.c.
+ (constant_expression_error): Likewise.
+ (overflow_warning): Likewise.
+ (warn_logical_operator): Likewise.
+ (find_array_ref_with_const_idx_r): Likewise.
+ (warn_tautological_cmp): Likewise.
+ (expr_has_boolean_operands_p): Likewise.
+ (warn_logical_not_parentheses): Likewise.
+ (warn_if_unused_value): Likewise.
+ (strict_aliasing_warning): Likewise.
+ (sizeof_pointer_memaccess_warning): Likewise.
+ (check_main_parameter_types): Likewise.
+ (conversion_warning): Likewise.
+ (warnings_for_convert_and_check): Likewise.
+ (match_case_to_enum_1): Likewise.
+ (match_case_to_enum): Likewise.
+ (c_do_switch_warnings): Likewise.
+ (warn_for_omitted_condop): Likewise.
+ (readonly_error): Likewise.
+ (lvalue_error): Likewise.
+ (invalid_indirection_error): Likewise.
+ (warn_array_subscript_with_type_char): Likewise.
+ (warn_about_parentheses): Likewise.
+ (warn_for_unused_label): Likewise.
+ (warn_for_div_by_zero): Likewise.
+ (warn_for_memset): Likewise.
+ (warn_for_sign_compare): Likewise.
+ (do_warn_double_promotion): Likewise.
+ (do_warn_unused_parameter): Likewise.
+ (record_locally_defined_typedef): Likewise.
+ (maybe_record_typedef_use): Likewise.
+ (maybe_warn_unused_local_typedefs): Likewise.
+ (maybe_warn_bool_compare): Likewise.
+ (maybe_warn_shift_overflow): Likewise.
+ (warn_duplicated_cond_add_or_warn): Likewise.
+ (diagnose_mismatched_attributes): Likewise.
+ * c-common.h: Move the declarations from c-warn.c to its own section.
+ * c-warn.c: New file.
+
+2016-10-08 Jason Merrill <jason@redhat.com>
+
+ * c-common.c (c_common_truthvalue_conversion): Don't distribute
+ into COND_EXPR in C++.
+
+2016-10-08 Jakub Jelinek <jakub@redhat.com>
+
+ * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
+ token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
+ CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
+
+2016-10-07 Jakub Jelinek <jakub@redhat.com>
+
+ Implement LWG2296 helper intrinsic
+ * c-common.h (enum rid): Add RID_ADDRESSOF.
+ * c-common.c (c_common_reswords): Add __builtin_addressof.
+
+2016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR c++/77700
+ * c-common.c (c_common_truthvalue_conversion): Warn also for
+ suspicious enum values in boolean context.
+
+2016-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ Implement P0258R2 - helper for C++17
+ std::has_unique_object_representations trait
+ * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
+ * c-common.c (c_common_reswords): Add
+ __has_unique_object_representations.
+
+2016-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/66343
+ * c-ubsan.c (ubsan_instrument_return): Don't call
+ initialize_sanitizer_builtins here.
+
+2016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
+ conditional expression in boolean context when only one arm is
+ non-boolean.
+
+2016-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/77823
+ * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
+ is not integral.
+
+ * c-common.c (c_common_reswords): Update comment for C++11.
+
+2016-10-04 Jason Merrill <jason@redhat.com>
+
+ * c-common.c (make_tree_vector_from_ctor): New.
+ * c-common.h: Declare it.
+
+2016-10-04 Jakub Jelinek <jakub@redhat.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Don't define
+ __LIBGCC_JCR_SECTION_NAME__.
+
+2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
+ left shift in boolean context.
+
+2016-09-29 Jakub Jelinek <jakub@redhat.com>
+
+ Implement P0001R1 - C++17 removal of register storage class specifier
+ * c.opt (Wregister): New warning.
+ * c-opts.c (c_common_post_options): Enable -Wregister by
+ default for C++17.
+
+2016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * c-opts.c (c_common_post_options): Remove special case for
+ TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
+ in C++.
+
+2016-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
+ -std=c++1z.
+
+ * c-ada-spec.c (print_ada_declaration): Remove break after return.
+
+2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * c-common.c: Include memmodel.h.
+
+2016-09-26 Marek Polacek <polacek@redhat.com>
+
+ * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
+
+2016-09-26 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * c-common.c (c_common_attribute_table): Add fallthrough attribute.
+ (handle_fallthrough_attribute): New function.
+ (attribute_fallthrough_p): New function.
+ * c-common.h (attribute_fallthrough_p): Declare.
+
+2016-09-24 Marek Polacek <polacek@redhat.com>
+
+ PR c/77490
+ * c.opt (Wbool-operation): New.
+
+2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * c-common.c (c_common_truthvalue_conversion): Inhibit
+ Wint-in-bool-context warning with from_macro_definition_at.
+ Mention the expression will always evaluate to true.
+
+2016-09-21 Martin Sebor <msebor@redhat.com>
+
+ PR bootstrap/77676
+ * c.opt (fprintf-return-value): Temporarily initialize to zero
+ to unblock bootstrap failures.
+
+2016-09-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/77651
+ * c.opt (Waligned-new=): Add RejectNegative.
+ (faligned-new=): Likewise. Spelling fix - change
+ aligned_new_threshhold to aligned_new_threshold.
+ * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
+ to aligned_new_threshold.
+
+2016-09-20 Martin Sebor <msebor@redhat.com>
+
+ PR middle-end/49905
+ * c.opt: Add -Wformat-length and -fprintf-return-value.
+
+2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR c++/77434
+ * c.opt (Wint-in-bool-context): New warning.
+ * c-common.c (c_common_truthvalue_conversion): Warn on integer
+ constants in boolean context.
+
+2016-09-19 Joseph Myers <joseph@codesourcery.com>
+
+ * c-common.c (max_align_t_align): Also consider alignment of
+ float128_type_node.
+
+2016-09-15 Jason Merrill <jason@redhat.com>
+
+ * c-common.c (check_cxx_fundamental_alignment_constraints): Check
+ DECL_EXTERNAL.
+
+2016-09-14 Jason Merrill <jason@redhat.com>
+
+ * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
+ limit FIELD_DECL, either.
+
+2016-09-14 Marek Polacek <polacek@redhat.com>
+
+ * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
+ * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
+ * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
+
+2016-09-13 David Malcolm <dmalcolm@redhat.com>
+
+ * c-common.c (warn_logical_not_parentheses): Replace
+ rich_location::add_fixit_insert calls with add_fixit_insert_before
+ and add_fixit_insert_after, eliminating the "next_loc" calculation.
+
+2016-09-13 Jason Merrill <jason@redhat.com>
+ Tom de Vries <tom@codesourcery.com>
+
+ PR c++/77427
+ * c-common.c (set_underlying_type): Don't treat array as builtin type.
+
+2016-09-13 Jason Merrill <jason@redhat.com>
+
+ * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
+ limit types at all.
+
+2016-09-12 Jason Merrill <jason@redhat.com>
+
+ * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
+ bit/byte confusion, allow large alignment for types.
+
+2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR c++/77496
+ * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
+
+2016-09-12 David Malcolm <dmalcolm@redhat.com>
+
+ PR c/72858
+ * c-format.c (argument_parser::check_argument_type): Add params
+ "type_start" and "conversion_char". Use the former to generate
+ offset_to_type_start and pass it and conversion_char to
+ check_format_types.
+ (check_format_info_main): Capture the start of the type
+ information as "type_start", and pass it an format_char
+ to arg_parser.check_argument_type.
+ (check_format_types): Provide an example in the leading comment.
+ Add params "offset_to_type_start" and "conversion_char"; pass
+ them to format_type_warning calls.
+ (test_get_modifier_for_format_len): Likewise.
+ (matching_type_p): New function.
+ (get_format_for_type): Add param "conversion_char" and move
+ implementation into...
+ (get_format_for_type_1): ...new function, called twice.
+ Use new function matching_type_p rather than checking for
+ TYPE_CANONICAL equality.
+ (get_corrected_substring): New function.
+ (format_type_warning): Provide an example in the leading comment.
+ Add params "offset_to_type_start" and "conversion_char". Replace
+ call to get_format_for_type with call to get_corrected_substring
+ and move rejection of hints for widths/precisions there.
+ (assert_format_for_type_streq): Add param "conversion_char".
+ (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
+ (test_get_format_for_type_printf): Add conversion chars to the
+ tests, adding coverage for various combinations of integer
+ vs double conversions, and for preserving octal and hexadecimal
+ conversions.
+ (test_get_format_for_type_scanf): Add conversion chars to the
+ tests.
+
+2016-09-10 Tom de Vries <tom@codesourcery.com>
+
+ PR C/71602
+ * c-common.c (build_va_arg): Handle more strict
+ targetm.canonical_va_list_type. Replace first argument type error with
+ assert.
+
+2016-09-09 Martin Sebor <msebor@redhat.com>
+
+ PR c/77520
+ PR c/77521
+ * c-format.c (argument_parser::find_format_char_info): Use %qc
+ format directive unconditionally.
+
+2016-09-09 Jason Merrill <jason@redhat.com>
+
+ Implement C++17 new of over-aligned types.
+ * c.opt: Add -faligned-new and -Waligned-new.
+ * c-common.c (max_align_t_align): Split out from...
+ (cxx_fundamental_alignment_p): ...here.
+ * c-common.h: Declare it.
+ * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
+
+2016-09-09 Joseph Myers <joseph@codesourcery.com>
+
+ * c-cppbuiltin.c (builtin_define_type_width): New function.
+ (builtin_define_stdint_macros, c_cpp_builtins): Define type width
+ macros.
+
+2016-09-07 David Malcolm <dmalcolm@redhat.com>
+
+ * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
+ a POINTER_TYPE.
+ (substring_loc::get_location): Move to substring-locations.c,
+ keeping implementation as...
+ (c_get_substring_location): New function, from the above, reworked
+ to use accessors rather than member lookup.
+ * c-common.h (class substring_loc): Move to substring-locations.h,
+ replacing with a forward decl.
+ (c_get_substring_location): New decl.
+ * c-format.c: Include "substring-locations.h".
+ (format_warning_va): Move to substring-locations.c.
+ (format_warning_at_substring): Likewise.
+
+2016-09-06 Martin Sebor <msebor@redhat.com>
+
+ PR c/77336
+ * c-format.c (check_function_format): Avoid issuing warnings for
+ functions unless they call format functions with non-constant
+ format strings.
+
+2016-09-06 Richard Biener <rguenther@suse.de>
+
+ PR c/77450
+ * c-common.c (c_common_mark_addressable_vec): Handle
+ COMPOUND_LITERAL_EXPR.
+
+2016-09-05 Marek Polacek <polacek@redhat.com>
+
+ PR c/77423
+ * c-common.c (bool_promoted_to_int_p): New function.
+ (expr_has_boolean_operands_p): New function.
+ (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
+ (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
+
+2016-09-04 Tom de Vries <tom@codesourcery.com>
+
+ revert:
+ 2016-08-29 Tom de Vries <tom@codesourcery.com>
+
+ * c-common.c (build_va_arg): Replace first argument type error
+ with assert.
+
+2016-09-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/65467
+ * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
+ (c_finish_omp_for): Reject _Atomic qualified iterators.
+
+2016-09-01 Martin Sebor <msebor@redhat.com>
+
+ * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
+ size to guarantee it fits the output of the formatted function
+ regardless of its arguments.
+
+2016-09-01 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
+ FALLTHRU comments.
+
+2016-08-29 Marek Polacek <polacek@redhat.com>
+
+ PR c/77292
+ * c-common.c (warn_logical_not_parentheses): Don't warn for
+ a comparison or a logical operator.
+
+2016-08-29 Tom de Vries <tom@codesourcery.com>
+
+ * c-common.c (build_va_arg): Fix type comparison assert.
+
+2016-08-29 Tom de Vries <tom@codesourcery.com>
+
+ * c-common.c (build_va_arg): Replace first argument type error
+ with assert.
+
+2016-08-29 Tom de Vries <tom@codesourcery.com>
+
+ PR c/77398
+ * c-common.c (build_va_arg): Add first argument error. Build va_arg
+ with error_mark_node as va_list instead of with illegal va_list.
+
+2016-08-25 Marek Polacek <polacek@redhat.com>
+ David Malcolm <dmalcolm@redhat.com>
+
+ * c-common.c (warn_logical_not_parentheses): Print fixit hints.
+ * c-common.h (warn_logical_not_parentheses): Update declaration.
+
+2016-08-22 Marek Polacek <polacek@redhat.com>
+
+ PR c++/77321
+ * c-common.c (warn_for_memset): Check type for null.
+
+2016-08-22 Joseph Myers <joseph@codesourcery.com>
+
+ * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
+ _FloatNx types for suffixes for built-in functions.
+
+2016-08-19 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/32187
+ * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
+ (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
+ (RID_FLOAT128X): New enum rid values.
+ (CASE_RID_FLOATN_NX): New macro.
+ * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
+ keywords.
+ (c_common_type_for_mode): Check for _FloatN and _FloatNx and
+ corresponding complex types.
+ (c_common_nodes_and_builtins): For non-C++, register _FloatN and
+ _FloatNx and corresponding complex types.
+ (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
+ * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
+ and _FloatNx types for the widest type for determining
+ DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
+ __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
+ (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
+ and _FloatNx types.
+ * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
+ constants.
+ * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
+ _FloatNx types.
+
+2016-08-18 David Malcolm <dmalcolm@redhat.com>
+
+ * c-opts.c (c_diagnostic_finalizer): Update for change to
+ diagnostic_show_locus.
+
+2016-08-18 David Malcolm <dmalcolm@redhat.com>
+
+ * c-common.c: Include "spellcheck.h".
+ (cb_get_suggestion): New function.
+ * c-common.h (cb_get_suggestion): New decl.
+ * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
+ cb_get_suggestion.
+
+2016-08-18 Marek Polacek <polacek@redhat.com>
+
+ PR c/71514
+ * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
+ and pointer-to-VLA.
+
+2016-08-16 David Malcolm <dmalcolm@redhat.com>
+
+ PR c/72857
+ * c-common.c (substring_loc::get_range): Rename to...
+ (substring_loc::get_location): ...this, converting param from a
+ source_range * to a location_t *. Call
+ get_source_location_for_substring rather than
+ get_source_range_for_substring, and pass in m_caret_idx.
+ * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
+ (substring_loc::get_range): Replace with...
+ (substring_loc::get_location): ...this.
+ (substring_loc::set_caret_index): New method.
+ (substring_loc): Add field m_caret_idx.
+ * c-format.c (format_warning_va): Update for above changes.
+ Rename local "substring_loc" to "fmt_substring_loc" to avoid
+ clashing with type name.
+ (format_warning_at_char): Add caret_idx param to substring_loc ctor.
+ (check_argument_type): Likewise.
+ (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
+ Use a copy when emitting warnings, setting the caret index from TYPE.
+
+2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
+ Arnaud Charlet <charlet@adacore.com>
+
+ * c-ada-spec.c (dump_number): New function.
+ (handle_escape_character): Likewise.
+ (print_ada_macros): Add handling of constant integers and strings.
+
+2016-08-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * c-common.c (scalar_to_vector): Adjust fall through comment.
+ * c-opts.c (c_common_handle_option): Likewise.
+ * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
+ * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
+ fall through comment.
+ * cilk.c (extract_free_variables): Add FALLTHRU.
+
+2016-08-10 Jason Merrill <jason@redhat.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
+
+2016-08-09 Jason Merrill <jason@redhat.com>
+
+ * c-common.c (c_common_attribute_table): vector_size affects type
+ identity.
+
+2016-08-09 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * c-ada-spec.c (dump_generic_ada_node): Add return.
+
+2016-08-09 Jason Merrill <jason@redhat.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
+ C++17 constexpr lambdas.
+
+2016-08-08 David Malcolm <dmalcolm@redhat.com>
+
+ PR c/64955
+ * c-common.h (selftest::c_format_c_tests): New declaration.
+ (selftest::run_c_tests): New declaration.
+ * c-format.c: Include "selftest.h.
+ (format_warning_va): Add param "corrected_substring" and use
+ it to add a replacement fix-it hint.
+ (format_warning_at_substring): Likewise.
+ (format_warning_at_char): Update for new param of
+ format_warning_va.
+ (argument_parser::check_argument_type): Pass "fki" to
+ check_format_types.
+ (check_format_types): Add param "fki" and pass it to
+ format_type_warning.
+ (deref_n_times): New function.
+ (get_modifier_for_format_len): New function.
+ (selftest::test_get_modifier_for_format_len): New function.
+ (get_format_for_type): New function.
+ (format_type_warning): Add param "fki" and use it to attempt
+ to provide hints for argument types when calling
+ format_warning_at_substring.
+ (selftest::get_info): New function.
+ (selftest::assert_format_for_type_streq): New function.
+ (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
+ (selftest::test_get_format_for_type_printf): New function.
+ (selftest::test_get_format_for_type_scanf): New function.
+ (selftest::c_format_c_tests): New function.
+
+2016-08-08 David Malcolm <dmalcolm@redhat.com>
+
+ PR c/52952
+ * c-format.c: Include "diagnostic.h".
+ (location_column_from_byte_offset): Delete.
+ (location_from_offset): Delete.
+ (format_warning_va): New function.
+ (format_warning_at_substring): New function.
+ (format_warning_at_char): New function.
+ (check_format_arg): Capture location of format_tree and pass to
+ check_format_info_main.
+ (argument_parser): Add fields "start_of_this_format" and
+ "format_string_cst".
+ (flag_chars_t::validate): Add param "format_string_cst". Convert
+ warning_at call using location_from_offset to call to
+ format_warning_at_char.
+ (argument_parser::argument_parser): Add param "format_string_cst_"
+ and use use it to initialize field "format_string_cst".
+ Initialize new field "start_of_this_format".
+ (argument_parser::read_format_flags): Convert warning_at call
+ using location_from_offset to a call to format_warning_at_char.
+ (argument_parser::read_any_format_left_precision): Likewise.
+ (argument_parser::read_any_format_precision): Likewise.
+ (argument_parser::read_any_other_modifier): Likewise.
+ (argument_parser::find_format_char_info): Likewise, in three places.
+ (argument_parser::parse_any_scan_set): Likewise, in one place.
+ (argument_parser::handle_conversions): Likewise, in two places.
+ (argument_parser::check_argument_type): Add param "fmt_param_loc"
+ and use it to make a substring_loc. Pass the latter to
+ check_format_types.
+ (check_format_info_main): Add params "fmt_param_loc" and
+ "format_string_cst". Convert warning_at calls using
+ location_from_offset to calls to format_warning_at_char. Pass the
+ new params to the arg_parser ctor. Pass "format_string_cst" to
+ flag_chars.validate. Pass "fmt_param_loc" to
+ arg_parser.check_argument_type.
+ (check_format_types): Convert first param from a location_t
+ to a const substring_loc & and rename to "fmt_loc". Attempt
+ to extract the range of the relevant parameter and pass it
+ to format_type_warning.
+ (format_type_warning): Convert first param from a location_t
+ to a const substring_loc & and rename to "fmt_loc". Add
+ params "param_range" and "type". Replace calls to warning_at
+ with calls to format_warning_at_substring.
+
+2016-08-08 David Malcolm <dmalcolm@redhat.com>
+
+ * c-format.c (class flag_chars_t): New class.
+ (struct length_modifier): New struct.
+ (class argument_parser): New class.
+ (flag_chars_t::flag_chars_t): New ctor.
+ (flag_chars_t::has_char_p): New method.
+ (flag_chars_t::add_char): New method.
+ (flag_chars_t::validate): New method.
+ (flag_chars_t::get_alloc_flag): New method.
+ (flag_chars_t::assignment_suppression_p): New method.
+ (argument_parser::argument_parser): New ctor.
+ (argument_parser::read_any_dollar): New method.
+ (argument_parser::read_format_flags): New method.
+ (argument_parser::read_any_format_width): New method.
+ (argument_parser::read_any_format_left_precision): New method.
+ (argument_parser::read_any_format_precision): New method.
+ (argument_parser::handle_alloc_chars): New method.
+ (argument_parser::read_any_length_modifier): New method.
+ (argument_parser::read_any_other_modifier): New method.
+ (argument_parser::find_format_char_info): New method.
+ (argument_parser::validate_flag_pairs): New method.
+ (argument_parser::give_y2k_warnings): New method.
+ (argument_parser::parse_any_scan_set): New method.
+ (argument_parser::handle_conversions): New method.
+ (argument_parser::check_argument_type): New method.
+ (check_format_info_main): Introduce classes argument_parser
+ and flag_chars_t, moving the code within the loop into methods
+ of these classes. Make various locals "const".
+
+2016-08-05 David Malcolm <dmalcolm@redhat.com>
+
+ * c-common.c: Include "substring-locations.h".
+ (get_cpp_ttype_from_string_type): New function.
+ (g_string_concat_db): New global.
+ (substring_loc::get_range): New method.
+ * c-common.h (g_string_concat_db): New declaration.
+ (class substring_loc): New class.
+ * c-lex.c (lex_string): When concatenating strings, capture the
+ locations of all tokens using a new obstack, and record the
+ concatenation locations within g_string_concat_db.
+ * c-opts.c (c_common_init_options): Construct g_string_concat_db
+ on the ggc-heap.
+
2016-07-29 Marek Polacek <polacek@redhat.com>
PR c/71926
PR c++/65970
* c.opt (fconstexpr-loop-limit): New.
-2016-07-22 Martin Sebor <msebor@redhat.com>
+2016-07-22 Martin Sebor <msebor@redhat.com>
PR c++/71675
* c-common.c (resolve_overloaded_builtin): Avoid converting
* c-common.c (valid_array_size_p): New function.
* c-common.h (valid_array_size_p): Declare.
-2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
+2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
PR bootstrap/68271
* c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
* c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
flag_checking.
-2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
+2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
PR c++-common/67882
* c-common.h (fold_offsetof_1): Add argument.
PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
PRAGMA_OACC_CLAUSE_WORKER.
-2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
+2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
* c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
for the new option fstack-protector_explicit.
* c-common.c (c_common_attribute_table): Add stack_protect attribute.
(handle_stack_protect_attribute): New function.
-2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
+2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
* c.opt: New option -Warray-bounds=.
* c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
Control macro with flag_sized_deallocation.
-2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
+2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
* c.opt (Wdiscarded-array-qualifiers): New option.
(print_destructor): Retrieve the origin of the destructor.
(print_ada_declaration): Revamp handling of constructors/destructors.
-2013-12-23 Stuart Hastings <stuart@apple.com>
+2013-12-23 Stuart Hastings <stuart@apple.com>
Bill Maddox <maddox@google.com>
Jason Merrill <jason@redhat.com>
* c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
map when read in the pch.
-2012-09-18 Arnaud Charlet <charlet@adacore.com>
+2012-09-18 Arnaud Charlet <charlet@adacore.com>
* c-ada-spec.c: Style fixes.
-2012-09-18 Thomas Quinot <quinot@adacore.com>
+2012-09-18 Thomas Quinot <quinot@adacore.com>
* c.opt (-fada-spec-parent): Define new command line switch.
* c-ada-spec.c (get_ada_package): When -fada-spec-parent
(keyword_is_function_specifier): Handle RID_NORETURN.
* c-common.h (RID_NORETURN): New.
-2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
+2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
* c-common.c (unsafe_conversion_p): New function. Check if it is
unsafe to convert an expression to the type.
* c-ada-spec.c (dump_ada_template): Skip non-class instances.
-2011-03-17 Kai Tietz
+2011-03-17 Kai Tietz <ktietz@redhat.com>
PR target/12171
* c-pretty-print.c (pp_c_specifier_qualifier_list):
* c-common.h (objc_maybe_printable_name): New.
* stub-objc.c (objc_maybe_printable_name): New.
-2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
- Andrew Pinski <pinskia@gmail.com>
+2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
+ Andrew Pinski <pinskia@gmail.com>
* c-common.h (c_common_mark_addressable_vec): Declare.
* c-common.c (c_common_mark_addressable_vec): New function.
Merge from 'apple/trunk' branch on FSF servers.
- 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
+ 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
Radar 4330422
* c-common.h (objc_non_volatilized_type): New declaration
Merge from 'apple/trunk' branch on FSF servers.
- 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
+ 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
Radar 4133425
* c-common.h (objc_diagnose_private_ivar): New decl.
2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
merge from FSF apple 'trunk' branch.
- 2006 Fariborz Jahanian <fjahanian@apple.com>
+ 2006 Fariborz Jahanian <fjahanian@apple.com>
Radars 4436866, 4505126, 4506903, 4517826
* c-common.c (c_common_resword): Define @property and its attributes.
2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
merge from FSF apple 'trunk' branch.
- 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
+ 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
Radar 3803157 (method attributes)
* c-common.c (handle_deprecated_attribute): Recognize
and @required keywords.
merge from FSF 'apple/trunk' branch.
- 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
+ 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
Radar 4386773
* c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
Merge from 'apple/trunk' branch on FSF servers.
- 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
+ 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
Radar 4281748
* c-common.h (objc_check_global_decl): New declaration.
Merge from 'apple/trunk' branch on FSF servers.
- 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
+ 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
Radar 4229905
* c-common.h (objc_have_common_type): New declaration.