PR c++/86205 - ICE with ?: of throw and template-id.
[gcc.git] / gcc / cp / ChangeLog
index 5d0ef1217bb105bed26428fae53d8ed245b5b23f..3fb1a895b5ac9f18102a8cebb8bd47a84cf19a04 100644 (file)
@@ -1,3 +1,88 @@
+2019-01-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/86205 - ICE with ?: of throw and template-id.
+       * pt.c (resolve_nondeduced_context_or_error): Split out from...
+       * typeck.c (decay_conversion): ...here.
+       * call.c (build_conditional_expr_1): Use it.
+
+       PR c++/86740, ICE with constexpr if and nested generic lambdas.
+       * tree.c (cp_walk_subtrees): Handle LAMBDA_EXPR.
+
+2019-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * decl.c (grokdeclarator): Use typespec_loc in error messages
+       about 'auto' and trailing return type.
+
+2019-01-17  David Malcolm  <dmalcolm@redhat.com>
+
+       PR c++/88699
+       * class.c (add_method): Don't use DECL_DESTRUCTOR_P on
+       USING_DECLs.
+
+2019-01-17  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/86610
+       * semantics.c (process_outer_var_ref): Only skip dependent types
+       in templates.
+
+2019-01-17  Alexandre Oliva <aoliva@redhat.com>
+
+       PR c++/87768
+       * cp-tree.h (saved_scope): Add suppress_location_wrappers.
+       * name-lookup.c (do_push_to_top_level): Save and reset it.
+       (do_pop_from_top_level): Restore it.
+
+       PR c++/86648
+       * pt.c (make_template_placeholder): Use auto_identifier.
+       (is_auto): Drop CLASS_PLACEHOLDER_TEMPLATE test.
+       * error.c (dump_type): Handle template placeholders.
+       * cxx-pretty-print.c (pp_cx_unqualified_id): Likewise.
+
+       PR c++/88146
+       * cvt.c (convert_to_void): Handle all cdtor calls as if
+       returning void.
+
+2019-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * decl.c (grokdeclarator): Use locations[ds_storage_class] in
+       error messages about ill-formed uses of mutable.
+
+2019-01-16  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/78244 - narrowing conversion in template not detected.
+       * call.c (perform_implicit_conversion_flags): Set
+       IMPLICIT_CONV_EXPR_BRACED_INIT.
+       * cp-tree.h (IMPLICIT_CONV_EXPR_BRACED_INIT): New.
+       * pt.c (tsubst_copy_and_build): Use it.
+
+2019-01-15  David Malcolm  <dmalcolm@redhat.com>
+
+       PR c++/88795
+       * pt.c (build_deduction_guide): Bail out if tsubst_arg_types
+       fails.
+
+2019-01-15  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * decl.c (start_decl): Improve error location.
+       * decl2.c (grokfield): Likewise.
+
+2019-01-15  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * decl.c (grokdeclarator): Move further up the location_t loc
+       declaration and use the location when building a TYPE_DECL for
+       a typedef name.
+       * decl2.c (grokbitfield): Use DECL_SOURCE_LOCATION in the error
+       about an ill-formed bit-field as typedef.
+
+2019-01-14  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/88830 - ICE with abstract class.
+       * decl2.c (maybe_emit_vtables): Check CLASSTYPE_LAZY_DESTRUCTOR.
+       Fix formatting.
+
+       PR c++/88825 - ICE with bogus function return type deduction.
+       * typeck.c (can_do_nrvo_p): Check error_mark_node.
+
 2019-01-14  Tom Honermann  <tom@honermann.net>
 
        Implement P0482R5, char8_t: A type for UTF-8 characters and strings