re PR c/88701 (Internal compiler error for valid program using compound literal with...
[gcc.git] / gcc / c / ChangeLog
index be39deea77b54d482f15fd65357fc2f35aa7a5fb..7cffd900c274ecedf103a7f4132ad8752ad6bbe2 100644 (file)
@@ -1,5 +1,162 @@
+2019-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/88701
+       * c-decl.c (build_compound_literal): If not TREE_STATIC, only pushdecl
+       if current_function_decl is non-NULL.
+
+2019-01-07  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/88720
+       PR c/88726
+       * c-decl.c (pop_scope): Use TREE_PUBLIC and b->nested to determine
+       whether a function is nested, not DECL_EXTERNAL.  Diagnose inline
+       functions declared but never defined only for external scope, not
+       for other scopes.
+
+2019-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/85052
+       * c-parser.c (c_parser_postfix_expression): Parse
+       __builtin_convertvector.
+
+2019-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Update copyright years.
+
+2018-12-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR c/51628
+       * c-typeck.c (convert_for_assignment): Call
+       warn_for_address_or_pointer_of_packed_member.
+
+2018-12-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * c-parser.c (c_parser_asm_statement) <RID_CONST, RID_RESTRICT>: Give
+       a more specific error message (instead of just falling through).
+
+2018-12-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * c-parser.c (c_parser_asm_statement): Keep track of the location each
+       asm qualifier is first seen; use that to give nicer "duplicate asm
+       qualifier" messages.  Delete 'quals" variable, instead pass the
+       "is_volatile_ flag to build_asm_stmt directly.
+       * c-tree.h (build_asm_stmt): Make the first arg bool instead of tree.
+       * c-typeck.c (build_asm_stmt): Ditto; adjust.
+
+2018-12-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * c-parser.c (c_parser_asm_statement): Rewrite the loop to work without
+       "done" boolean variable.
+
+2018-12-19  David Malcolm  <dmalcolm@redhat.com>
+
+       PR c++/87504
+       * c-typeck.c (class maybe_range_label_for_tree_type_mismatch):
+       Move from here to gcc-rich-location.h and gcc-rich-location.c.
+       (build_binary_op): Use struct op_location_t and
+       class binary_op_rich_location.
+
+2018-12-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/88426
+       * c-convert.c (convert): Call c_fully_fold before calling
+       ubsan_instrument_float_cast.
+
+2018-12-08  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * c-parser (c_parser_asm_statement) [RID_INLINE]: Delete stray line
+       setting "quals".
+
+2018-12-06  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * c-parser.c (c_parser_asm_statement): Detect the inline keyword
+       after asm.  Pass a flag for it to build_asm_expr.
+       * c-tree.h (build_asm_expr): Update declaration.
+       * c-typeck.c (build_asm_stmt): Add is_inline parameter.  Use it to
+       set ASM_INLINE_P.
+
+2018-12-06  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR inline-asm/55681
+       * c-parser.c (c_parser_asm_statement): Update grammar.  Allow any
+       combination of volatile and goto, in any order, without repetitions.
+
+2018-12-04  James Norris  <jnorris@codesourcery.com>
+           Cesar Philippidis  <cesar@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * c-parser.c (c_parser_oacc_wait_list): Remove dead diagnostic
+       code.
+
+2018-11-30  Richard Biener  <rguenther@suse.de>
+
+       * gimple-parser.c (c_parser_gimple_postfix_expression): Parse
+       _Literal (type) { ... } as empty aggregate or vector constructor.
+
+2018-11-29  Martin Sebor  <msebor@redhat.com>
+
+       PR c/88091
+       * c-typeck.c (convert_argument): Add a parameter.  Adjust indentation.
+       (convert_arguments): Add comments.  Pass additional argument to
+       the function above.
+
+2018-11-29  Martin Sebor  <msebor@redhat.com>
+
+       PR c/88172
+       PR testsuite/88208
+       * c-decl.c (declspec_add_alignas): Adjust call to check_user_alignment.
+
+2018-11-23  Martin Sebor  <msebor@redhat.com>
+
+       PR testsuite/88098
+       * c-typeck.c (convert_arguments): Call builtin_decl_explicit instead.
+       (maybe_warn_builtin_no_proto_arg): Handle short enum to int promotion.
+
+2018-11-20  Martin Sebor  <msebor@redhat.com>
+
+       * c-parser.c (c_parser_has_attribute_expression): New function.
+       (c_parser_attribute): New function.
+       (c_parser_attributes): Move code into c_parser_attribute.
+       (c_parser_unary_expression): Handle RID_HAS_ATTRIBUTE_EXPRESSION.
+
+2018-11-15  Martin Sebor  <msebor@redhat.com>
+
+       PR c/83656
+       * c-decl.c (header_for_builtin_fn): Declare.
+       (diagnose_mismatched_decls): Diagnose declarations of built-in
+       functions without a prototype.
+       * c-typeck.c (maybe_warn_builtin_no_proto_arg): New function.
+       (convert_argument): Same.
+       (convert_arguments): Factor code out into convert_argument.
+       Detect mismatches between built-in formal arguments in calls
+       to built-in without prototype.
+       (build_conditional_expr): Same.
+       (type_or_builtin_type): New function.
+       (convert_for_assignment): Add argument.  Conditionally issue
+       warnings instead of errors for mismatches.
+
+2018-11-13  David Malcolm  <dmalcolm@redhat.com>
+
+       * c-decl.c: Replace "source_location" with "location_t".
+       * c-tree.h: Likewise.
+       * c-typeck.c: Likewise.
+       * gimple-parser.c: Likewise.
+
 2018-11-09  Jakub Jelinek  <jakub@redhat.com>
 
+       * c-parser.c (c_parser_omp_clause_final): Use
+       c_parser_expr_no_commas, convert_lvalue_to_rvalue,
+       c_objc_common_truthvalue_conversion, c_fully_fold and parentheses
+       parsing instead of c_parser_paren_condition.
+       (c_parser_omp_clause_if): Use c_parser_expr_no_commas,
+       convert_lvalue_to_rvalue, c_objc_common_truthvalue_conversion and
+       c_fully_fold instead of c_parser_condition.
+       (c_parser_omp_clause_num_threads, c_parser_omp_clause_num_tasks,
+       c_parser_omp_clause_grainsize, c_parser_omp_clause_priority,
+       c_parser_omp_clause_hint, c_parser_omp_clause_num_teams,
+       c_parser_omp_clause_thread_limit, c_parser_omp_clause_linear): Use
+       c_parser_expr_no_commas instead of c_parser_expression.
+
        * c-parser.c (c_parser_omp_clause_reduction): Call sorry_at on
        reduction clause with inscan modifier.
 
        * c-decl.c: Likewise.  Include gt-c-c-decl.h, not gt-c-decl.h.
        * c-parser.c: Likewise.  Include gt-c-c-parser.h, not gt-c-parser.h.
 \f
-Copyright (C) 2012-2018 Free Software Foundation, Inc.
+Copyright (C) 2012-2019 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright