aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/ChangeLog')
-rw-r--r--gcc/cp/ChangeLog185
1 files changed, 185 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index c40efcfc2cf..9618a28dadd 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,188 @@
+2016-05-20 Nathan Sidwell <nathan@acm.org>
+
+ * constexpr.c (cxx_bind_parameters_in_call): Avoid gratuitous if
+ ... goto.
+ (cxx_eval_call_expression): Fix comment grammar.
+
+2016-05-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/70572
+ * decl.c (cp_finish_decl): Check do_auto_deduction return value
+ and return immediately in case of erroneous code.
+
+2016-05-19 Marek Polacek <polacek@redhat.com>
+
+ PR c++/71075
+ * pt.c (unify_template_argument_mismatch): Use %qE instead of %qD.
+
+2016-05-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/10200
+ * pt.c (fn_type_unification): Add outer template args if needed.
+ (type_unification_real): Handle getting full args.
+
+2016-05-19 David Malcolm <dmalcolm@redhat.com>
+
+ PR c++/71184
+ * parser.c (cp_parser_operator): For array new/delete, check that
+ cp_parser_require returned a non-NULL token before dereferencing
+ it.
+
+2016-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * decl.c (finish_enum_value_list): Use the specified mode.
+
+2016-05-18 Jason Merrill <jason@redhat.com>
+
+ * pt.c (value_dependent_expression_p): Tweak new cases to better
+ match the wording in the standard.
+
+2016-05-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/69793
+ * parser.c (cp_parser_template_id): Don't call cp_lexer_peek_nth_token
+ when the previous cp_lexer_peek_token returns CPP_EOF.
+
+2016-05-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/70466
+ * call.c (convert_like_real): Check that we are actually converting
+ from an init list.
+
+2016-05-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ * decl.c (grokdeclarator): Remove errmsg and use of
+ targetm.invalid_return_type.
+ (grokparms): Remove errmsg and use of
+ targetm.invalid_parameter_type.
+
+2016-05-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/10200
+ PR c++/69753
+ * pt.c (tsubst_decl): Use uses_template_parms.
+ (instantiate_template_1): Handle non-dependent calls in templates.
+ (value_dependent_expression_p): Handle BASELINK, FUNCTION_DECL.
+ (type_dependent_expression_p): Only consider innermost template args.
+ (dependent_template_arg_p): Check enclosing class of a template here.
+ (dependent_template_p): Not here.
+ (type_dependent_object_expression_p): New.
+ * typeck.c (finish_class_member_access_expr): Use it.
+ * parser.c (cp_parser_postfix_expression): Use it.
+ (cp_parser_postfix_dot_deref_expression): Use it. Use comptypes
+ to detect the current instantiation.
+ (cp_parser_lookup_name): Really implement DR 141.
+ * search.c (lookup_field_r): Prefer a dependent using-declaration.
+ (any_dependent_bases_p): Split out from...
+ * name-lookup.c (do_class_using_decl): ...here.
+ * call.c (build_new_method_call_1): Use it.
+ * semantics.c (finish_call_expr): 'this' doesn't make a call dependent.
+ * tree.c (non_static_member_function_p): Remove.
+ * typeck2.c (build_x_arrow): Use dependent_scope_p.
+
+ * parser.c (cp_parser_postfix_dot_deref_expression): Use
+ complete_type_or_else for unknown_type_node, too.
+
+2016-05-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/70756
+ * call.c (build_new_op_1): Pass LOC to cp_build_modify_expr.
+ * cp-tree.h (cp_build_modify_expr): Update declaration.
+ (cxx_incomplete_type_error, cxx_incomplete_type_diagnostic): New inline
+ overloads.
+ * cp-ubsan.c (cp_ubsan_dfs_initialize_vtbl_ptrs): Pass INPUT_LOCATION to
+ cp_build_modify_expr.
+ * decl2.c (set_guard): Likewise.
+ (handle_tls_init): Likewise.
+ * init.c (perform_member_init): Likewise.
+ (expand_virtual_init): Likewise.
+ (build_new_1): Likewise.
+ (build_vec_delete_1): Likewise.
+ (get_temp_regvar): Likewise.
+ (build_vec_init): Likewise.
+ * method.c (do_build_copy_assign): Likewise.
+ (assignable_expr): Likewise.
+ * semantics.c (finish_omp_for): Likewise.
+ * typeck.c (cp_build_binary_op): Pass LOCATION to pointer_diff and
+ cp_pointer_int_sum.
+ (cp_pointer_int_sum): Add location parameter. Pass it down to
+ pointer_int_sum.
+ (pointer_diff): Add location parameter. Use it.
+ (build_modify_expr): Pass location down to cp_build_modify_expr.
+ (cp_build_modify_expr): Add location parameter. Use it.
+ (build_x_modify_expr): Pass location down to cp_build_modify_expr.
+ * typeck2.c (cxx_incomplete_type_diagnostic,
+ cxx_incomplete_type_error): Add location parameter.
+
+2016-05-11 Marek Polacek <polacek@redhat.com>
+
+ PR c++/71024
+ * decl.c (duplicate_decls): Call diagnose_mismatched_decls.
+
+2016-05-05 Jakub Jelinek <jakub@redhat.com>
+
+ * parser.c (cp_parser_selection_statement): For RID_SWITCH,
+ pass if_p instead of NULL to cp_parser_implicitly_scoped_statement.
+
+2016-05-04 Marek Polacek <polacek@redhat.com>
+
+ * parser.c (cp_parser_selection_statement): Replace OPT_Wparentheses
+ with OPT_Wdangling_else.
+
+2016-05-03 Martin Sebor <msebor@redhat.com>
+
+ PR c++/66561
+ * tree.c (builtin_valid_in_constant_expr_p): Treat BUILT_IN_FILE,
+ BUILT_IN_FUNCTION, and BUILT_IN_LINE as constant expressions.
+
+2016-05-03 Marek Polacek <polacek@redhat.com>
+
+ PR c/70859
+ * call.c (build_cxx_call): Pass location and vNULL down to
+ check_builtin_function_arguments.
+
+2016-05-03 Richard Biener <rguenther@suse.de>
+
+ * Make-lang.in (cc1plus-checksum.c): For stage-final re-use
+ the checksum from the previous stage.
+
+2016-05-02 David Malcolm <dmalcolm@redhat.com>
+
+ PR c++/62314
+ * typeck.c (finish_class_member_access_expr): When
+ giving a hint about a possibly-misspelled member name,
+ add a fix-it replacement hint.
+
+2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
+
+ * cp-tree.h (finish_omp_clauses): Update prototype.
+ * parser.c (cp_parser_oacc_all_clauses): Update call to
+ finish_omp_clauses.
+ (cp_parser_omp_all_clauses): Likewise.
+ (cp_parser_omp_for_loop): Likewise.
+ (cp_omp_split_clauses): Likewise.
+ (cp_parser_oacc_cache): Likewise.
+ (cp_parser_oacc_loop): Likewise.
+ (cp_parser_omp_declare_target):
+ (cp_parser_cilk_simd_all_clauses): Likewise.
+ (cp_parser_cilk_for): Likewise.
+ * pt.c (tsubst_omp_clauses): Replace allow_fields and declare_simd
+ arguments with enum c_omp_region_type ort.
+ (tsubst_omp_clauses): Update calls to finish_omp_clauses.
+ (tsubst_omp_attribute): Update calls to tsubst_omp_clauses.
+ (tsubst_omp_for_iterator): Update calls to finish_omp_clauses.
+ (tsubst_expr): Update calls to tsubst_omp_clauses.
+ * semantics.c (finish_omp_clauses): Replace bool arguments
+ allow_fields, declare_simd, and is_cilk with bitmask ort.
+ (finish_omp_for): Update call to finish_omp_clauses.
+
+2016-05-02 David Malcolm <dmalcolm@redhat.com>
+
+ PR c++/62314
+ * parser.c (cp_parser_class_head): Capture the start location;
+ use it to emit a fix-it insertion hint when complaining
+ about missing "template <> " in explicit specializations.
+
2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
* init.c (build_new_1): Use shift operators instead of wi:: shifts.