diff options
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/call.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b1e7f23..78d2b5b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2018-10-29 David Malcolm <dmalcolm@redhat.com> + + PR c++/56856 + * call.c (build_over_call): Eliminate the "arglocs" array, and the + call to maybe_constant_value when building "fargs". + 2018-10-29 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (create_array_type_for_decl): Add location_t parameter diff --git a/gcc/cp/call.c b/gcc/cp/call.c index cd0c0f6..a7dce2e 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -8198,7 +8198,6 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain) { tree *fargs = (!nargs ? argarray : (tree *) alloca (nargs * sizeof (tree))); - auto_vec<location_t> arglocs (nargs); for (j = 0; j < nargs; j++) { /* For -Wformat undo the implicit passing by hidden reference @@ -8207,12 +8206,11 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain) && TYPE_REF_P (TREE_TYPE (argarray[j]))) fargs[j] = TREE_OPERAND (argarray[j], 0); else - fargs[j] = maybe_constant_value (argarray[j]); - arglocs.quick_push (EXPR_LOC_OR_LOC (argarray[j], input_location)); + fargs[j] = argarray[j]; } warned_p = check_function_arguments (input_location, fn, TREE_TYPE (fn), - nargs, fargs, &arglocs); + nargs, fargs, NULL); } if (DECL_INHERITED_CTOR (fn)) |