diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2019-11-25 13:49:50 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2019-11-25 13:49:50 +0000 |
commit | 3554d8ffc5a55f4173feb30619fab4131ba46032 (patch) | |
tree | 79354a0db21e81c61cc65750b8bcd25d5a9cc10b /gcc/cp/call.c | |
parent | 5b8d9367684f266c30c280b4d3c98830a88c70ab (diff) | |
download | gcc-3554d8ffc5a55f4173feb30619fab4131ba46032.zip gcc-3554d8ffc5a55f4173feb30619fab4131ba46032.tar.gz gcc-3554d8ffc5a55f4173feb30619fab4131ba46032.tar.bz2 |
typeck.c (cp_build_indirect_ref_1): Add location_t parameter and use it in error messages.
/gcc
2019-11-25 Paolo Carlini <paolo.carlini@oracle.com>
* typeck.c (cp_build_indirect_ref_1): Add location_t parameter
and use it in error messages.
(build_x_indirect_ref): Adjust call.
(build_indirect_ref): Likewise.
(cp_build_fold_indirect_ref): Likewise.
(cp_build_array_ref): Likewise.
* call.c (build_new_op_1): Likewise.
* semantics.c (finish_omp_clauses): Likewise.
(finish_omp_depobj): Likewise.
* typeck2.c (build_x_arrow): Likewise.
* cp-tree.h (cp_build_indirect_ref): Update declaration.
* call.c (build_new_op_1): Use location argument in warning_at.
* typeck.c (cp_build_modify_expr): Consistently use the
location_t argument.
/libcc1
2019-11-25 Paolo Carlini <paolo.carlini@oracle.com>
* libcp1plugin.cc (plugin_pragma_push_user_expression): Update
cp_build_indirect_ref call.
/gcc/testsuite
2019-11-25 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/diagnostic/base-operand-non-pointer-1.C: New.
* g++.dg/pr53055.C: Check location too.
* g++.old-deja/g++.bugs/900213_02.C: Likewise.
* g++.old-deja/g++.bugs/900215_02.C: Likewise.
* g++.old-deja/g++.other/badarrow.C: Likewise.
* g++.old-deja/g++.other/deref1.C: Likewise.
* g++.dg/warn/Wenum-compare.C: Check location too.
* g++.dg/cpp0x/initlist26.C: Check location too.
* g++.dg/cpp0x/initlist28.C: Likewise.
* g++.dg/cpp0x/initlist29.C: Likewise.
* g++.dg/cpp0x/initlist33.C: Likewise.
* g++.dg/expr/string-2.C: Likewise.
* g++.dg/other/ptrmem5.C: Likewise.
* g++.old-deja/g++.benjamin/14664-1.C: Likewise.
* g++.old-deja/g++.benjamin/14664-2.C: Likewise.
* g++.old-deja/g++.brendan/init12.C: Likewise.
* g++.old-deja/g++.bugs/900324_04.C: Likewise.
* g++.old-deja/g++.ext/array1.C: Likewise.
* g++.old-deja/g++.jason/rfg17.C: Likewise.
From-SVN: r278685
Diffstat (limited to 'gcc/cp/call.c')
-rw-r--r-- | gcc/cp/call.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c index cccb90f..8bfe336 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -6354,11 +6354,9 @@ build_new_op_1 (const op_location_t &loc, enum tree_code code, int flags, && (TYPE_MAIN_VARIANT (arg1_type) != TYPE_MAIN_VARIANT (arg2_type)) && (complain & tf_warning)) - { - warning (OPT_Wenum_compare, - "comparison between %q#T and %q#T", - arg1_type, arg2_type); - } + warning_at (loc, OPT_Wenum_compare, + "comparison between %q#T and %q#T", + arg1_type, arg2_type); break; default: break; @@ -6416,7 +6414,7 @@ build_new_op_1 (const op_location_t &loc, enum tree_code code, int flags, return cp_build_modify_expr (loc, arg1, code2, arg2, complain); case INDIRECT_REF: - return cp_build_indirect_ref (arg1, RO_UNARY_STAR, complain); + return cp_build_indirect_ref (loc, arg1, RO_UNARY_STAR, complain); case TRUTH_ANDIF_EXPR: case TRUTH_ORIF_EXPR: @@ -6472,8 +6470,9 @@ build_new_op_1 (const op_location_t &loc, enum tree_code code, int flags, return cp_build_array_ref (input_location, arg1, arg2, complain); case MEMBER_REF: - return build_m_component_ref (cp_build_indirect_ref (arg1, RO_ARROW_STAR, - complain), + return build_m_component_ref (cp_build_indirect_ref (loc, arg1, + RO_ARROW_STAR, + complain), arg2, complain); /* The caller will deal with these. */ |