From 917d611c56a58c38f2b6a7ba808d7a7ae7ed145c Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Wed, 14 Aug 2019 08:56:58 +0000 Subject: decl.c (grokdeclarator): Use id_loc and EXPR_LOCATION in a few error messages. /cp 2019-08-08 Paolo Carlini * decl.c (grokdeclarator): Use id_loc and EXPR_LOCATION in a few error messages. /testsuite 2019-08-08 Paolo Carlini * g++.dg/cpp0x/enum20.C: Test location(s) too. * g++.dg/other/friend3.C: Likewise. * g++.dg/parse/dtor5.C: Likewise. * g++.dg/parse/friend7.C: Likewise. * g++.dg/template/error22.C: Likewise. * g++.old-deja/g++.brendan/err-msg5.C: Likewise. From-SVN: r274435 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/decl2.c | 4 ++-- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/g++.dg/conversion/simd4.C | 12 ++++++------ 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 3ae8e53..c3b91b0 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,10 @@ 2019-08-14 Paolo Carlini + * decl2.c (grok_array_decl): Use the location of the open square + bracket in error message about invalid types. + +2019-08-14 Paolo Carlini + * decl.c (grokdeclarator): Check here for typedef a function definition or a member function definition. (start_function): Adjust. diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index ad24592..a32108f 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -434,8 +434,8 @@ grok_array_decl (location_t loc, tree array_expr, tree index_exp, array_expr = p2, index_exp = i1; else { - error ("invalid types %<%T[%T]%> for array subscript", - type, TREE_TYPE (index_exp)); + error_at (loc, "invalid types %<%T[%T]%> for array subscript", + type, TREE_TYPE (index_exp)); return error_mark_node; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index db38df3..7820207 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2019-08-14 Paolo Carlini + + * g++.dg/conversion/simd4.C: Test locations. + 2019-08-14 Richard Sandiford * gcc.target/aarch64/sve/peel_ind_1.c: Look for an inverted .B VL1. diff --git a/gcc/testsuite/g++.dg/conversion/simd4.C b/gcc/testsuite/g++.dg/conversion/simd4.C index f8f7f2e..22274a1 100644 --- a/gcc/testsuite/g++.dg/conversion/simd4.C +++ b/gcc/testsuite/g++.dg/conversion/simd4.C @@ -12,13 +12,13 @@ void foo () { b[t]; - b[u]; // { dg-error "invalid types" } - b[v]; // { dg-error "invalid types" } - b[w]; // { dg-error "invalid types" } + b[u]; // { dg-error "4:invalid types" } + b[v]; // { dg-error "4:invalid types" } + b[w]; // { dg-error "4:invalid types" } t[b]; - u[b]; // { dg-error "invalid types" } - v[b]; // { dg-error "invalid types" } - w[b]; // { dg-error "invalid types" } + u[b]; // { dg-error "4:invalid types" } + v[b]; // { dg-error "4:invalid types" } + w[b]; // { dg-error "4:invalid types" } new int[t]; new int[u]; // { dg-error "new-declarator must have integral" } new int[v]; // { dg-error "new-declarator must have integral" } -- cgit v1.1